Tag Archives: developer

Lightning Talk Kì 13 – Năm hiểu lầm phổ biến về ngành lập trình

Kì này, mình sẽ nói về năm hiểu lầm phổ biến về ngành lập trình mà nhiều người hay gặp phải nhé!

1. Phải cực kì giỏi Toán mới có thể học lập trình
2. Lập trình viên phải cực kì thông minh
3. Lập trình viên biết cách cài Win và sửa máy tính
4. Ngành lập trình có mức lương cao chót vót
5. Lập trình viên dành phần lớn thời gian để … code??

 

Channel Tôi Đi Code Dạo là nơi mình chia sẻ những kiến thức, kinh nghiệm về ngành lập trình mà mình đạt được trong quá trình làm việc.

Những kiến thức này sẽ biến các bạn từ một coder trở thành developer – lập trình viên thứ thiệt.

Nhớ ghé thăm và subscrible channel để xem clip mới vào tối t3 và t6 hàng tuần nha: bit.ly/codedaotube

Developer phải làm sao khi làm việc với code … rởm?

Ở bài “Tại sao code của dự án hiện tại nó … tởm quá vậy” trong kì trước, mình đã nói lý do mà code của các dự án càng để lâu sẽ càng loằng ngoằng, rối rắm.

Đây là chuyện bất khả kháng, và chúng ta ít khi có quyền lựa chọn project mình tham gia!

Thay vì than trời, trách đất, chửi mấy lão developer trước kia, bạn hãy cùng mình tìm hiểu một số cách “sống chung với lũ” – tức sống và làm việc chung với code bựa.

Ở cuối bài, mình cũng sẽ chia sẻ một số phương pháp để nâng cao chất lượng code trong dự án, giúp code đỡ “tởm dần đều” qua thời gian nhé!

Continue reading Developer phải làm sao khi làm việc với code … rởm?

Lightning Talk Kì 12 – Lập trình viên thì kiếm tiền kiểu gì?

Lâu lâu Code Dạo đổi style Lightning Talk cho đỡ nhàm chán nha. Quý vị thích style này hơn hay style bình thường hơn nào.

Bốn con đường kiếm tiền từ nghề lập trình:

  1. Làm freelance
  2. Tạo sản phẩm để bán
  3. Đi làm và lãnh lương
  4. Mở công ty hoặc khởi nghiệp

Channel Tôi Đi Code Dạo là nơi mình chia sẻ những kiến thức, kinh nghiệm về ngành lập trình mà mình đạt được trong quá trình làm việc.

Những kiến thức này sẽ biến các bạn từ một coder trở thành developer – lập trình viên thứ thiệt.

Nhớ ghé thăm và subscrible channel để xem clip mới vào tối t3 và t6 hàng tuần nha: https://www.youtube.com/c/toidicodedaoblog

Bài viết gốc: https://toidicodedao.com/2017/07/11/kiem-tien-tu-lap-trinh

Tại sao code hiện tại của dự án lại … “tởm” quá vậy?

Khi đi học hoặc mới đi làm, chúng ta được dạy về việc viết code rõ ràng, mạch lạc, chất lượng:

  • Code phải được chia tách thành các class/module rõ ràng.
  • Mỗi module phải làm một nhiệm vụ duy nhất, ít lệ thuộc lẫn nhau (high cohension/low coupling)
  • Code được thiết kế theo architecture phù hợp (3-tier hoặc MVC) tùy vào dự án. Có sử dụng design pattern tùy vào vấn đề.

Khi tham gia dự án đầu tiên, hẳn ai cũng mong rằng mình sẽ được tiếp xúc với những dòng code mạch lạc, chất lượng như vậy.

Thế nhưng, đời sẽ cho bạn một gáo nước lạnh ngay lập tức! Khi tham gia một dự án, nhiều khả năng các bạn sẽ được đọc một đống code vừa khổng lồ, vừa tởm vừa rối như canh hẹ.

Có những đống code đọc vào chỉ muốn chửi WTF

Thật đấy, 96.69% code của các dự án lớn đều như vậy cả. Có thể dự án hiện tại bạn đang làm cũng vậy đấy!

Vì sao thế? Cùng đọc bài viết này để biết nhé!

Continue reading Tại sao code hiện tại của dự án lại … “tởm” quá vậy?

Hiệu ứng Dunning Kruger và sự ảo tưởng sức mạnh mà lập trình viên nên tránh

Đã có bao giờ bạn cảm thấy mình giỏi hơn hẳn đồng nghiệp hoặc bạn bè cùng trang lứa chưa?

Đã bao giờ bạn cảm thấy cái ngôn ngữ/framework này “dễ òm”, mình học một tí là được chưa?

Đã bao giờ bạn cảm thấy mình đã “nắm chắc 100%” một ngôn ngữ lập trình nào đó chưa?

Nếu đã từng có lần cảm thấy những điều trên, xin chúc mừng bạn! Bạn đã mắc phải hiệu ứng Dunning Kruger rồi đấy!

Trong bài này, chúng ta cùng mổ xẻ về nguyên nhân, triệu chứng, hậu quả của thứ này nhe. Bạn nào bị thì nhớ đọc kĩ để phòng tránh nhé!

Continue reading Hiệu ứng Dunning Kruger và sự ảo tưởng sức mạnh mà lập trình viên nên tránh

Lightning Talk Kì 11 – Học thuật toán để làm cái vẹo gì??

Mình thường nghe các bạn sinh viên hỏi về tầm quan trọng của việc học thuật toán. Ý kiến của các bạn được chia làm hai luồng trái chiều là:

  1. Thần thánh hoá thuật toán
  2. Coi thường thuật toán

Vlog này sẽ giúp các bạn trả lời câu hỏi “Học thuật toán để làm cái vẹo gì?”, cũng như có cái nhìn khách quan hơn về thuật toán và những kinh nghiệm học nhé!

Các link liên quan:
– Sách Cracking the Coding Interview: https://toidicodedao.com/2015/07/14/mot-so-cau-phong-van-thu-vi-ve-lap-trinh/
– Học thuật toán để làm gì: https://toidicodedao.com/2016/10/06/hoc-thuat-toan-de-lam-gi/

Các bạn nhớ ghé thăm và subscribe channel của Tôi Đi Code Dạo để xem nhiều clip thú vị hơn nhé: bit.ly/codedaotube

Gắn râu Yua Mikami – Phần 3: Kết hợp Face Detection + Image Processing và… Toán Học

Series này gồm 3 phần:

  1. Cơ chế hoạt động của các filter Snapchat và Facebook Messenger
  2. Làm quen với các thư viện và API cần sử dụng
  3. Gắn râu bằng cách kết hợp Face Detection + Image Processing và… Toán Học

 

Sau 2 phần trước, chúng ta đã tìm hiểu về cơ chế các filter hoạt động, cũng như cách dùng thư viện để gắn râu vào ảnh.

Tuy nhiên, kết quả vẫn chưa được như mong muốn, chúng ta được tấm hình dị hợm như sau.

Để ghép râu cho khớp và đẹp, chúng ta cần phải:

  1. Xác định được độ dài hàm râu
  2. Tìm vị trí đặt râu cho phù hợp

Đây là lúc chúng ta sử dụng lại công nghệ Face Detection ở phần 1 để xác định những điều trên. Cùng bắt đầu thôi nào!

Continue reading Gắn râu Yua Mikami – Phần 3: Kết hợp Face Detection + Image Processing và… Toán Học

Gắn râu JAV Idol – Phần 2: Làm quen với các thư viện và API cần sử dụng

Series này gồm 3 phần:

  1. Cơ chế hoạt động của các filter Snapchat và Facebook Messenger
  2. Làm quen với các thư viện và API cần sử dụng
  3. Gắn râu bằng cách kết hợp Face Detection + Image Processing và… Toán Học

Ở phần trước, chúng ta đã tìm hiểu về cơ chế hoạt động của các filter trên Snapchat và Facebook. Sau đó, chúng ta đã setup code gọi API để nhận diện các đặc điểm của khuôn mặt.

Trong phần này, chúng ta sẽ đi sâu vào việc sử dụng kĩ thuật xử lý hình ảnh để… gắn râu vào khuôn mặt nhé!

Continue reading Gắn râu JAV Idol – Phần 2: Làm quen với các thư viện và API cần sử dụng

Gắn râu Sơn Tùng – Phần 1 : Bắt chước tính năng cực hay của Snapchat và Facebook

Hôm trước, mình có nhận được một câu hỏi tưởng chừng đơn giản nhưng lại rất hóc búa từ một bạn đọc:

Anh ơi, tại sao Facebook Messenger và Snapchat có thể làm các filter ngầu lòi, có thể gắn râu, gắn tai thỏ, đội mũ cho người dùng qua camera vậy.

Đằng sau một tính năng vui vui, đơn giản như vậy lại là một nền tảng các công nghệ cực kì phức tạp từ facial recognition cho đến image processing, hoàn toàn… không dễ một xíu nào.

Vì thế, trong bài này, chúng ta cùng tìm hiểu cơ chế hoạt động của chúng, sau đó làm một ứng dụng tương tự mang tên … gắn râu Sơn Tùng nhé.

Series này gồm 3 phần:

  1. Cơ chế hoạt động của các filter Snapchat và Facebook Messenger
  2. Làm quen với các thư viện và API cần sử dụng
  3. Gắn râu bằng cách kết hợp Face Detection + Image Processing và… Toán Học

 

Đây là ảnh gốc Sơn Tùng trước khi được gắn râu:

https://gph.is/2H2Gn4U

Còn đây là ảnh Sơn Tùng sau khi đã gắn râu nhờ ứng dụng:

https://gph.is/2IWr6mK

Thú vị chưa nào? Chúng ta cùng bắt đầu nhé!

Continue reading Gắn râu Sơn Tùng – Phần 1 : Bắt chước tính năng cực hay của Snapchat và Facebook

Thế nào mới là một coder có tâm?

Hôm nay, chúng ta tạm gác chuyện technical qua một bên để chém gió đôi chút về chuyện đạo đức nghề nghiệp nhé!

Bài viết này là những thứ mình tự ngộ ra, tự đúc kết được qua trải nghiệm của các bậc đàn anh đã trải bao thăng trầm trong nghề.

Chúng có thể đúng, có thể sai, nhưng rất đáng để các bạn sinh viên/lập trình viên mới ra trường đọc, chiêm nghiệm và tự rút ra lẽ sống.

Continue reading Thế nào mới là một coder có tâm?