Tag Archives: coding

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

Build và deploy website để “khè” bạn bè vô cùng đơn giản với Glitch.com

Hãy tưởng tượng, bạn đang học làm web. Bạn vừa build được 1 cái website nho nhỏ bằng HTML/CSS (hoặc nguyên cục website bằng NodeJS) và muốn show cho bạn bè và người khác góp ý, hướng dẫn.

Việc này tưởng dễ mà không hề đơn giản:

  • Bạn phải kiếm 1 con VPS hoặc host free, sau đó kiếm tên miền và kết nối tên miền với VPS
  • Nếu web của bạn cần 1 số tính năng như micro, webcam, bạn phải cài đặt HTTPS, không hề dễ dàng xíu nào
  • Hoặc bạn có thể dựng web server hoặc chạy app ở local, sau đó dùng ngrok, portmap.io hoặc pagekite để open tunnel, cho người khác truy cập vào web của bạn

Những cách này khá tốn thời gian và không hề dễ dàng. Chưa kể, người xem không thể xem code, phụ bạn sửa code v…v.

Vì vậy, hôm nay mình giới thiệu Glitch.com, một trang web rất hay ho giúp bạn code phát là có web ngay, có domain lẫn HTTPS, ko cần cài IDE hay Git gì luôn. Hãy xem nó có gì bá đạo mà có quá trời người dùng nhé!

Continue reading Build và deploy website để “khè” bạn bè vô cùng đơn giản với Glitch.com

Thực hư chuyện Facebook lưu mật khẩu dưới dạng text, để lộ mật khẩu trăm triệu người dùng?

Cách đây vài hôm, giang hồ rộ lên vụ Facebook lưu trữ mật khẩu người dùng dưới dạng plain text, nhân viên cũng có thể đọc được.

Vốn tò mò, mình tự hỏi: Tại sao một công ty lớn như Facebook lại có thể phạm phải một lỗi sơ đẳng như vậy được? Tìm hiểu sâu hơn, mình lại tìm hiểu thêm được 2 điều khá hay:

  • Cách Facebook bảo vệ mật khẩu của người dùng
  • Một lỗi bảo mật nghiêm trọng về mật khẩu, mà cả Facebook lẫn Twitter từng mắc phải

Tò mò chưa nào, các bạn đọc bài viết sẽ biết nhé!

Continue reading Thực hư chuyện Facebook lưu mật khẩu dưới dạng text, để lộ mật khẩu trăm triệu người dùng?

Học hỏi thông qua Best Practice – Đứng trên vai những người khổng lồ

Trong ngành phần mềm, có rất nhiều kiến thức cần học. Để trở thành một developer giỏi, chúng ta phải thường xuyên học hỏi, cập nhật những kiến thức này.

Tuy nhiên, sẽ có lúc bạn thắc mắc, những kiến thức dạng gì quan trọng nhất, mà chúng ta nên bỏ thời gian để học?

Theo mình, có 3 dạng kiến thức quan trọng:

  • Kiến thức nền tảng về khoa học máy tính, về kiến trúc phần mềm (software architecture), kiến thức hệ thống (system architecture)
  • Kiến thức về ngôn ngữ lập trình/công nghệ được dùng. Đây là những kiến thức thực tế, được áp dụng trong công việc hằng ngày.
  • Best practices, đây là những kiến thức rút được dựa theo kinh nghiệm của những người đi trước trong ngành, mà chúng ta nên biết và làm theo. Đây là những thứ trường học không hề dạy!

Trong bài này, mình sẽ chia sẻ về best pratices, cách học hỏi và những lợi ích của chúng nhé.

Continue reading Học hỏi thông qua Best Practice – Đứng trên vai những người khổng lồ

Ngẫm – Không có khiếu code thì liệu có theo ngành lập trình được không?

Cuối năm rồi, nên hôm nay mình sẽ không post bài về technical làm đau não bạn đọc nữa. Thay vào đó, chúng ta hãy cùng chém gió và suy ngẫm về một vấn đề:

  • Để theo ngành lập trình này, liệu có cần năng khiếu hay không?
  • Không có khiếu code thì liệu có tiến xa trong ngành đuợc không?

Góc nhìn của mình là:

Méo cần đâu! Thật ra trong ngành lập trình, tài năng và năng khiếu cũng *éo quan trọng mấy! Đam mê và nỗ lực quan trọng hơn nhiều!

Continue reading Ngẫm – Không có khiếu code thì liệu có theo ngành lập trình được không?

Thực hư về cái gọi là “căn bản” và “tư duy lập trình”

Thuở còn là sinh viên, mỗi khi phải ngồi nghe giảng giải những kiến thức khô khan buồn ngủ, chúng ta thường bị mấy ông thầy dụ dỗ “Kiến thức căn bản quan trọng lắm, nắm vững căn bản rồi sau này học gì cũng được!”.

Mấy năm sau, chúng ta lại tiếp tục được nghe “Tư duy lập trình mới quan trọng, ngôn ngữ hay thuật toán chỉ là phụ thôi”.

Điều này đôi khi làm sinh viên “loạn” vì không biết thật sự “căn bản” là những cái gì; “tư duy lập trình” mặt mũi nó ra sao, làm sao để rèn luyện nó?

Bài viết này sẽ cùng vén bức màn bí mật về những thứ gọi là “căn bản” và “tư duy lập trình” mà giang hồ thường nhắc đến.

Continue reading Thực hư về cái gọi là “căn bản” và “tư duy lập trình”

Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Với một người có tâm hồn bay bổngđầu óc sáng tạo như tác giả blog Code dạo (là mình) thì cái thứ quái gì cũng có thể biến thành bài viết được.

Hôm nay khi mình đang ngồi đọc sách dưới tán cây thì bỗng… một quả sầu riêng nặng nửa kg rơi trúng đầu. Nhờ vậy mà mình mới nảy ra cảm hứng viết series này. Tên đầy đủ của series là Từ Chuyện Code Ngẫm Chuyện Đời, do hơi dài nên mình rút gọn lại thành Chuyện Code Chuyện Đời cho dễ đọc dễ nhớ!

Trong quá trình học và đi làm, đôi khi ta học được nhiều kĩ thuật lập trình, thuật toán và các nguyên lý rất hay ho. Khi quả sầu riêng rơi vào đầu, mình chợt ngộ ra rằng: những kĩ thuật cũng như nguyên lý này không chỉ áp dụng được trong code mà còn có thể áp dụng vào đời sống.

Series Chuyện Code Chuyện Đời ra đời từ đó. Bài viết đầu tiên trong series sẽ nói về chuyện optimize (tối ưu hoá) code và optimize cuộc sống.

Continue reading Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Phần mềm cũng giống bánh mì và … xôi

Một buổi sáng nọ hồi còn ở Việt Nam, mình lỡ dậy hơi… sớm nên mới lò dò ra ngoài tìm chỗ ăn sáng. Trước nhà mình có hai xe bánh mì khá lâu đời, khách lúc nào cũng đông. Cạnh đấy là quán xôi lá chuối nho nhỏ, mỗi lần đi ngang qua lại nghe mùi lá chuối thơm nức mũi.

Gặm tạm ổ bánh mì cho bớt đói lòng, nhìn chị bán bánh mì, bé bán xôi ngoài ngõ, bỗng dưng mình lại nghĩ tới coder, tới phần mềm. Đó chính là lý do bài viết này ra đời. Tên bài viết lấy cảm hứng từ tác phẩm “Đi đâu cũng nhớ Sài gòn và em” của Anh Khang.

Bia lot _ Di dau cung nho SG va em _ 16.4 Final

Continue reading Phần mềm cũng giống bánh mì và … xôi

Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Mấy tuần trước, khi đi lang thang trên dạy nhau học, mình có thấy anh Đạt, founder daynhauhoc dành khá nhiều lời khen ngợi cho cuốn sách này.

screen-shot-2016-11-08-at-9-19-31-pm

Tò mò nên mình tìm về đọc thử. Quả thật sách không làm mình thất vọng! Có nhiều đoạn tác giả nói đúng đến mức không thể đúng hơn, hoặc đưa ra những lời dạy bảo vô cùng chí lí.

Do vậy, mình viết bài này, vừa review sách, vừa tóm tắt những điều tâm đắc mà mình rút ra được từ cuốn sách.

Continue reading Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Series Phản Phác Qui Chân – Học thuật toán để làm 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 như sau:

  • Thần thánh hoá thuật toán: Muốn lập trình giỏi phải giỏi thuật toán. Các công ty lập trình lớn toàn phỏng vấn về thuật toán còn gì.
  • Coi thường thuật toán: Thuật toán là cái thứ vô dụng, mấy anh đi làm nói là có dùng bao giờ đâu.

Bài viết 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.

Continue reading Series Phản Phác Qui Chân – Học thuật toán để làm vẹo gì???