Làm sao để không cảm thấy “ngộp” khi học cái mới?

Trong ngành IT chúng mình, học cũng là một phần của công việc.

  • Để làm mới những skill của bản thân, để theo kịp thời đại, không bị thụt lùi so với thế giới, chúng ta phải tự học.
  • Đôi khi vì yêu cầu của dự án, vì nhu cầu tìm việc, chúng ta phải học và tìm hiểu những ngôn ngữ/công nghệ mới.

Thế nhưng, khi bắt đầu học một thứ gì đó, bạn sẽ dễ dàng thấy ngộp, thấy bối rối, vì có quá nhiều kiến thức cần phải học.

Vậy làm sao để học dễ vào hơn, làm sao để không còn “ngộp” khi học kiến thức mới?

Hãy xem những kinh nghiệm mình chia sẻ qua bài viết này nha. Bài này sẽ rất có ích cho các bạn sinh viên, cho những bạn vừa ra trường hoặc đang đi làm đấy.

Continue reading Làm sao để không cảm thấy “ngộp” khi học cái mới?

CDN là cái gì? CDN tăng tốc độ tải của hệ thống như thế nào?

Hôm nay, chúng ta quay lại tìm hiểu các khái niệm technical hay ho tiếp nhé!

Trong bài này, chúng ta nói về một thiết kế rất đơn giản nhưng lại vô cùng hệ quả. Thiết kế này được rất nhiều ông lớn sử dụng để đảm bảo hệ thống hoạt động nhanh, ổn định cho toàn bộ người dùng trên thế giới.

Thứ mà chúng ta sẽ nói đến trong bài được gọi là hệ thống CDN (Content Delivery Network).

Continue reading CDN là cái gì? CDN tăng tốc độ tải của hệ thống như thế nào?

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

Linter – Giúp bạn viết code tốt hơn, xịn hơn, không cần senior hay giáo viên chỉ dạy

Hôm nay, Code Dạo sẽ giới thiệu với các bạn một công cụ đơn giản, miễn phí mà lại rất mạnh mẽ mang tên … linter.

Công cụ này có thể review, tìm những lỗi lặt vặt trong cách viết code của bạn, đưa ra đề xuất cải tiến (hoặc tự sửa code luôn).

Thật đấy! Sử dụng linter, bạn sẽ thấy như có thêm một người anh, người thầy ngồi cạnh mình khi code, nhắc nhở mình mỗi khi mình viết code lô, code đểu và nhắc sửa.

Linter chỉ ra tè le những chỗ mình code nhầm

Trong phạm vi bài viết, mình sẽ giới thiệu về linter, cũng như hướng dẫn cách cài đặt ESLint cho JavaScript trên VSCode nhé.

Continue reading Linter – Giúp bạn viết code tốt hơn, xịn hơn, không cần senior hay giáo viên chỉ dạy

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

Tại sao đa phần các công ty thích dùng công nghệ “lỗi thời”

Ở kì trước, mình có khuyên các bạn Nên đặt câu hỏi vì sao (why) thay vì làm sao (how). Việc này sẽ giúp các bạn học sâu hơn, nhìn nhận vấn đề tốt hơn!

Ngay sau đó, mình lại nhận được một câu hỏi “Vì sao” khá hay từ vài bạn độc giả:

Anh ơi, tại sao các công ty họ lại thích dùng công nghệ cũ vậy ạ?
Em tự học, tự tìm hiểu Spring/Struts với Angular đồ; vào cty F lại dùng toàn đồ cũ, làm dự án toàn VB.NET rồi JSP rồi jQuery là sao anh?

Hẳn nhiều bạn sinh viên mới ra trường cũng có suy nghĩ tương tự nhỉ!

Bài viết này sẽ cho bạn một góc nhìn khác về các công nghệ mới, cũng như trả lời câu hỏi: Tại sao đa phần các công ty thích dùng công nghệ cũ??

Continue reading Tại sao đa phần các công ty thích dùng công nghệ “lỗi thời”

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