Khi code mà bí thì phải làm sao? 5 kinh nghiệm siêu hay để giải quyết vấn đề

Với những bạn đang bắt đầu học lập trình hoặc vừa mới đi làm, đôi khi các bạn sẽ bị… bí, không biết code hoặc giải quyết vấn đề như thế nào (Thật ra mình đi làm lâu rồi nhiều khi cũng bị).

Cảm giác … không biết code như thế nào, không biết giải quyết vấn đề ra sao rất là khó chịu. Gặp nhiều bạn sẽ dễ nản, chán code, chán ngành.

Do vậy, hôm nay mình chia sẻ 5 kinh nghiệm hay ho trị bệnh … bí code, các bạn có thể áp dụng thử nhé! Theo kinh nghiệm của mình thì 96.69% các trường hợp đều áp dụng được và có hiệu quả nha!

Continue reading Khi code mà bí thì phải làm sao? 5 kinh nghiệm siêu hay để giải quyết vấn đề

Các Anti-Pattern nên tránh để code không biến thành đống rác

Cách đây không lâu, mình có giới thiệu về Design Pattern, những mẫu thiết kế code giúp giải quyết vấn đề, giúp code dễ bảo trì, dễ mở rộng hơn.

Kì này, ta sẽ nói về anti-pattern. Khác với design pattern, anti pattern cũng là những cách thiết kế để giải quyết vấn đề, nhưng sử dụng nó lại… gây ra nhiều vấn đề hơn.

Một anti-pattern được nhiều người biết đó là hút thuốc lào thay cho thuốc lá, cách này cai được thuốc lá nhưng sẽ gây ra nhiều vấn đề vệ sinh và môi trường hơn.

Trong bài này, mình sẽ chia sẻ những anti-pattern chúng ta hay .. lỡ để nhầm vào code, hậu quả và cách giải quyết nó nhé!

Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá
Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá

Continue reading Các Anti-Pattern nên tránh để code không biến thành đống rác

8 cuốn sách hay nhất mình đã đọc trong năm 2020 – Phần 1

2020 vừa qua, 2021 đã đến. Hi vọng năm nay sẽ không có con Cô Vi Cô Víd nào làm cuộc sống chúng ta mệt mỏi thêm nữa.

Qua năm mới, anh em có thể tập thêm 1 thói quen mới là đọc sách, vừa giải trí, vừa tăng thêm kiến thức. Như thường lệ, mình sẽ viết một bài review tổng hợp ngắn những cuốn sách hay nhất mình đã đọc trong năm vừa rồi.

Năm nay mình đọc không nhiều lắm, mỗi tháng chỉ tầm 2-4 cuốn sách. Do đó, mình sẽ không review sách hay nhất theo tháng, mà chọn 8 cuốn mình thấy hay nhất để review nhé.

Năm 2015-2019 mình cũng có bài review tương tự, các bạn có thể xem ở đây:

Continue reading 8 cuốn sách hay nhất mình đã đọc trong năm 2020 – Phần 1

Tới một trình độ nào đó, các bạn đừng nên đọc blog của Code Dạo nữa

Dạo gần đây, mình hay trò chuyện với nhiều bạn đọc blog. Có bạn đang là sinh viên năm 2 năm 3, có bạn sắp ra trường, có bạn đã đi làm được 1,2 năm.

Nhiều bạn đi làm được 2, 3 năm có tâm sự với mình thế này: Em nói anh Code Dạo đừng buồn; hồi trước em hay đọc blog của anh Code Dạo lắm. Đi làm một thời gian, em cũng đọc ít lại, tại có cái em biết rồi, có cái không hữu ích với em nữa!

Nghe nói vậy, mình không buồn mà còn rất vui =)). Thật đấy, khi đã đạt tới 1 trình độ nhất định, bạn nên … nghỉ đọc blog của Code Dạo mà nên tìm những nguồn khác hay hơn.

(Nguồn nào hay thì mình để dưới cuối bài viết, các bạn kéo xuống cuối cùng nhé!)

Continue reading Tới một trình độ nào đó, các bạn đừng nên đọc blog của Code Dạo nữa

8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 3: HashTable và Set, Graph và Tree

Ở phần 2, bọn mình đã ôn lại những cấu trúc dữ liệu rất cơ bản như Array, LinkedList, Stack and Queue rồi. Ở phần này, tụi mình sẽ tìm hiểu thêm về các cấu trúc dữ liệu hay ho nhưng ít dùng hơn như HashTable, Set, Graph và Tree!

Mình sẽ giải thích sơ về độ phức tạp, ứng dụng của chúng, cũng như những bài toán các bạn hay gặp với các cấu trúc dữ liệu này nhé.

 

Đây là phần 3 trong series bài viết 3 phần:

  1. Ôn lại về Big-O Notitation, Time và Space Complexity
  2. Array, Linked List, Stack và Queue
  3. HashTable, Set, Graph và Tree

Continue reading 8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 3: HashTable và Set, Graph và Tree

Tôi đã đến với ngành lập trình như thế nào?

Học thuật toán mấy bài liền chắc anh em cũng mệt. Do vậy, hôm nay Code Dạo sẽ tâm sự mỏng với anh em về con đường đã đưa mình tới ngành lập trình nhé!

Thời xưa, ngành CNTT cũng chưa hot như hiện tại. Báo đài không đưa tin việc nhẹ lương cao ngàn đô; các bậc phụ huynh cũng chả rõ làm lập trình là làm cái gì?

Thuở ấy cũng không có mấy thằng nghệ danh Code Dạo, lấy danh lập trình viên, lên Youtube dụ dỗ các em theo ngành. Muốn tìm gì phải xem TV hoặc đọc tạp chí.

Đôi khi ngẫm lại, mình thấy có khi là không phải mình chọn cái ngành này, mà là dòng đời đưa đẩy để mình đến với nó đấy các bạn ạ! Thôi mào đầu cùng dài rồi, kể cho anh em nghe cho nóng nhé.

Continue reading Tôi đã đến với ngành lập trình như thế nào?

8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 2: Array và Linked-List, Stack và Queue

Ở phần 1, bọn mình đã ôn lại một số khái niệm như Big-O Notation, Time và Space Complexity rồi.  Bạn nào chưa đọc thì đọc lại mới hiểu được trong phần 2 này nha.

Trong phần này, tụi mình sẽ ôn lại những cấu trúc dữ liệu rất cơ bản như Array, LinkedList, Stack and Queue nha!

Mình sẽ giải thích sơ về độ phức tạp, ứng dụng của chúng, cũng như những bài toán các bạn hay gặp với các cấu trúc dữ liệu này nhé.

Đây là phần 2 trong series bài viết 3 phần:

  1. Ôn lại về Big-O Notitation, Time và Space Complexity
  2. Array, Linked List, Stack và Queue
  3. HashTable, Set, Graph và Tree

Continue reading 8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 2: Array và Linked-List, Stack và Queue

8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 1: Ôn lại về Big-O Notation và độ phức tạp

Thay vì ngồi học mấy công nghệ cao siêu, kì này tụi mình ngồi học lại cơ bản, ôn lại kiến thức về thuật toán, về các cấu trúc dữ liệu thôi nhỉ?

Kiến thức về thuật toán không được dùng hằng ngày trong việc code, nhưng nó giúp bạn viết code tối ưu hơn, xử lý nhanh hơn. Ngoài ra, rất nhiều công ty bây giờ khoái phỏng vấn bằng thuật toán.

Số lượng thuật toán, cấu trúc dữ liệu có rất rất nhiều, kể vài quyển sách chưa hết. Tuy vậy, tụi mình chỉ cần tập trung vào 8 cấu trúc dữ liệu cơ bản này là được!

96,69% các bài phỏng vấn, leetcode, thuật toán … đều dựa trên 8 cấu trúc dữ liệu này, và 1 số biến thể của nó. Nắm vững 8 cấu trúc dữ liệu này, biết cách sử dụng nó là các bạn đã có kiến thức kha khá rồi nhé!

 

Đây là phần 1 trong series bài viết 3 phần:

  1. Ôn lại về Big-O Notitation, Time và Space Complexity
  2. Array, Linked List, Stack và Queue
  3. HashTable, Set, Graph và Tree

Continue reading 8 Cấu Trúc Dữ Liệu siêu cơ bản mà dev nào cũng nên biết – Phần 1: Ôn lại về Big-O Notation và độ phức tạp

Từ Thuyết Cửa Sổ Vỡ, đến những dòng Code tởm dần đều theo năm tháng

Thuyết “Cửa Sổ Vỡ” ra đời vào năm 1982, dựa theo 1 quan sát khá kỳ lạ:

  • Những căn nhà/ô tô có một cửa sổ bị vỡ, nếu không được sửa chữa kịp thời, dần dần sẽ bị dân phá hoại… đập hết các cửa sổ còn lại
  • Đường đi bộ, đất trống khi bị xả rác, nếu không được lau dọn kịp thời, dần dần sẽ thành nơi dân tình ra tổng hết rác thải vào

Nguyên nhân là vì sao:

  • Khi thấy cửa sổ không được sửa, dân phá hoại sẽ nghĩ “nhà này chắc bỏ hoang, đập chắc cũng không ai quan tâm”.
  • Khi thấy rác chất chồng, dân xả rác sẽ nghĩ “chỗ này ai cũng xả rác, mình xả thêm có sao đâu?

Điều này được mấy bác cảnh sát và các nhà tâm lý học đồng tình. Có những hư hỏng, phá hoại nhỏ (cửa sổ vỡ), nhưng nếu để lâu không quan tâm sẽ trở thành những hiểm hoạ to lớn.

 

Ủa mà cái thuyết lạ lol này thì có liên quan gì đến code, đến lập trình đâu nhỉ? Ấy vậy mà có đấy, bạn đọc tiếp sẽ rõ.

Continue reading Từ Thuyết Cửa Sổ Vỡ, đến những dòng Code tởm dần đều theo năm tháng

Lập trình viên giỏi không phải chỉ biết code