Category Archives: Chuyện linh tinh

Những thứ chém gió linh tinh, mẹo vặt không biết cho vào đâu.

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

Series Phản Phác Quy Chân – Luận về nguyên lý Separation of Concerns (Chia Để Trị)

Đôi lời lý giải chút về tên series

返璞归真 – Phản phác quy chân: Lúc đạt đến điểm cao nhất, cũng chính là lúc quay lại điểm xuất phát. 
Trong võ học, nó có nghĩa là đạt tới cảnh giới “tối thượng” trong truyền thuyết, quay lại như lúc ban đầu, quên đi tất cả võ học trong thiên hạ, bản thân đã không còn chiêu thức cụ thể, chỉ dựa vào ý cảnh mà đơn giản xử lý.

Võ học được thành lập từ các chiêu thức cơ bản, tuyệt thế võ công cũng từ các chiêu thức cơ bản mà ra. Code học cũng tạo thành từ bit/byte cơ bản, chương trình phức tạp cũng được viết thành từ nhiều module, từ từng dòng code.

Đôi khi, ta đã quá quen với việc dùng thư viện, dùng framework mà quên thì những thứ nằm sâu bên dưới, không nắm được bản chất. Có những vấn đề mà phải nắm rõ bản chất của nó ta mới có thể giải quyết được.

Như cái tên “Phản Phác Quy Chân”, series này không giới thiệu công nghệ hay ngôn ngữ mới, mà sẽ tập trung quay lại những cái bản chất, đơn giản, tinh túy nhất mà ít người quan tâm để ý (Bên tiếng Anh có một từ tương tự : Back to Basic, bỏ qua những cái phức tạp, quay lại những cái cơ bản để hiểu tận gốc vấn đề).

 

Đây là một series khá xưa nhưng rất hay của Code Dạo, nay có hứng thú lại nên mình viết tiếp season 2 của series nha.

Hôm nay, chúng ta cùng tìm hiểu về Separation of Concerns, một nguyên lý thiết kế đã có hơn 35 năm tuổi đời; nhưng vẫn có sức ảnh hưởng rất lớn, và được áp dụng rất nhiều trong thiết kế hệ thống, trong viết code và design các library.

Continue reading Series Phản Phác Quy Chân – Luận về nguyên lý Separation of Concerns (Chia Để Trị)

Thành công của một dự án công nghệ đôi khi lại … méo phải nhờ kĩ thuật

Truyện kể rằng, ngày xửa ngày xưa, có 2 cậu developer rất thân tên Tùng và Sơn. Dòng đời đưa đẩy, khi ra trường, cả 2 đều đầu quân vào làm cho 2 công ty startup.

  • Sơn vào làm cho TiKu, một startup nhỏ chuyên bán sách, bán giày, bán quần tà lỏn. Công ty nhỏ, cả team chỉ có 1 ông senior với vài bạn trẻ code. Cả dự án là nguyên một cục PHP + MySQL.
  • Tùng vào làm cho WeFack, một startup chuyên kết nối phòng chịch với người muốn chịch. Công ty đã gọi vốn được kha khá, team toàn mấy ông senior hầm hố, dùng đủ công nghệ xịn xò như React, NodeJS, Kafka, theo kiến trúc microservice.

Những tưởng, với công nghệ hiện đại, đội ngũ developer hầm hố, WeFack sẽ ngày càng phát triển, còn Taka thì sớm chết yểu.

Trớ trêu thay, mọi chuyện lại xảy ra ngược lại. 2 năm sau, WeFack phải giải thể, anh em dev phải ra đường Fack dạo, còn Tiku thì gọi được vốn trăm tỷ, càng ngày càng lớn mạnh!

Ủa, sao lạ vậy?? Các bạn đọc hết bài sẽ rõ.

Continue reading Thành công của một dự án công nghệ đôi khi lại … méo phải nhờ kĩ thuật

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

Chuyện về cái hộp đen trong máy bay, và những “hộp đen” trong ngành lập trình

Có thể bạn chưa biết: Cách đây tầm 5-60 năm, đi máy bay là một hình thức di chuyển cực kì nguy hiểm. Thời đấy, máy bay rơi hoặc tai nạn là chuyện … như cơm bữa, nhiều hãng hàng không bị tận 4-5 vụ tai nạn trong 1-2 năm.

Thế nhưng, nhờ 1 thiết bị nho nhỏ mà vô cùng quan trọng, ngành hàng không có thể tìm hiểu lý do máy bay rơi, từ đó cải thiện dần sau mỗi tai nạn. Sau hơn 60 năm, cho đến nay, đi máy bay đã trở thành 1 trong những phương pháp di chuyển an toàn nhất.

Muốn biết thiết bị nho nhỏ này là gì, nó có dính dáng gì đến ngành lập trình, bạn hãy đọc bài viết nhé!

Continue reading Chuyện về cái hộp đen trong máy bay, và những “hộp đen” trong ngành lập trình

Brad Traversy – Ông chú vừa có tâm vừa có tầm, đứng sau kênh Youtube lập trình 1.2 triệu sub

Bạn nào học lập trình, nhất là học lập trình web sẽ biết kênh Travesy Media (youtube.com/c/TraversyMedia). Đây là 1 kênh chuyên dạy lập trình, với hơn 800 video cực kì chất chơi người dơi.

Các video thường có độ dài tầm 1 tiếng, giới thiệu nhập môn một công nghệ nào đó (React, Angular, MongoDB), không dài dòng lê thê, tóm gọn vấn đề trong 60 phút.

Các clip của ông cũng rất dễ hiểu, từ tốn (không chém gió ào ào như thằng Code Dạo). Người mới nhập môn, chưa biết gì biết gì cũng có thể học được. Điển hình như các clip dưới:

Người đứng sau kênh Traversy Media là Brad Traversy, thần tượng của mình. Ông là 1 ông chú mập mập, hiền lành, vừa có tâm vừa có tầm, gây dựng được 1 đế chế Udemy vài trăm ngàn học viên, kênh Youtube hơn 1 triệu sub.

Tìm hiểu về ông, mình mới thấy câu chuyện thành công của ông khá là hay ho, đáng tự hào, đáng học hỏi. Do vậy mình chia sẻ với các bạn nhé!

Continue reading Brad Traversy – Ông chú vừa có tâm vừa có tầm, đứng sau kênh Youtube lập trình 1.2 triệu sub

Chuyện bi hài về cây cầu Chó Lu Té Ca – Bài học về những thay đổi méo thể lường trước được?

Đây là một câu chuyện bi hài dở khóc dở cười về một cây cầu mang tên Chó Lu Té Ca (Choluteca) ở Honduras (Trung Mỹ).

Vào những năm 90, chính quyền Honduras muốn xây dựng 1 cây cầu băng qua con sông Choluteca. Khu vực này vốn có nhiều thiên tai, nên cây cầu phải có sức chống chịu tốt trước giông bão.

Trong vòng 3 năm (từ 1996 tới 1998),  cây cầu được công ty Nhật Hazama Ando xây dựng, bằng công nghệ Nhựt Bổn hiện đại, chấp luôn mọi thể loại giông bão thiên tai.

Thế rồi, cầu vừa xây xong, vài tháng sau đó, cơn bão nhiệt đới Mitch ập tới, gây thiệt hại hơn 7000 nhân mạng ở nước Honduras.

Số phận cây cầu ra sao, các bạn xem tiếp sẽ rõ!

Continue reading Chuyện bi hài về cây cầu Chó Lu Té Ca – Bài học về những thay đổi méo thể lường trước được?

Không giỏi cái này, không biết cái kia thì có theo lập trình được không?

Lâu lâu, dạo quanh mấy forum và group, mình lại thấy vài câu hỏi ngộ ngộ dạng thế này:

  • Em không giỏi tiếng Anh thì có theo lập trình được không?
  • Em code không giỏi sau này có theo nghề được không?
  • Tư duy logic em không tốt chắc không vào FPT được huhu?

Người hỏi cũng nhiều, mà chắc anh em trong ngành đọc xong chỉ cười cho qua, hoặc chán méo thèm trả lời.

Vì thế, mình viết bài này để trả lời luôn 1 lượt những câu hỏi như thế. Nếu anh em  thấy ai hỏi câu tương tự cứ share bài này ra là được nha :3.

 

Continue reading Không giỏi cái này, không biết cái kia thì có theo lập trình được không?

Lập trình viên lúc… chán code thì phải làm sao??

Đi làm một thời gian, lắm lúc anh em sẽ cảm thấy… hơi chán, không muốn code gì, không muốn làm gì.

Có khá nhiều nguyên nhân khiến ta cảm thấy chán:

  • Học chán: Bài tập khó quá , học hoài không vô. Điểm thấp quá không biết có theo ngành được không -> Chán
  • Công việc chán: Có cái dự án từ đời thuở nào làm suốt, task na ná nhau lặp đi lặp đại
  • Công nghệ chán: Công nghệ cũ xì từ thời Napolean mặc quần đùi, công hoài chả học được gì mới

Việc cảm thấy chán là chuyện… hoàn toàn bình thường, ai theo ngành này cũng có lúc gặp phải, chứ không phải là do bạn không hợp với ngành, hay do bạn thế này thế nọ đâu ha.

Do vậy, hôm nay mình sẽ chia sẻ về 3-4 điều mà lập trình viên tụi mình nên làm khi cảm thấy chán ha!

Continue reading Lập trình viên lúc… chán code thì phải làm sao??

Những đánh đổi, trả giá khi theo nghề lập trình

Mấy năm gần đây, ngành IT luôn được “gắn mắc” là một ngành hot, việc nhẹ lương cao, nhu cầu tuyển dụng nhiều vô số. Do vậy, có rất nhiều bạn được truyền cảm hứng, đam mê trở thành lập trình viên, “cắm đầu” vào học ngành này!

Tuy nhiên, không phải ai cũng phù hợp theo ngành này. Làm developer có rất nhiều cái sướng, nhưng đi kèm với nó là nhiều trả giá/đánh đổi mà không nhiều người biết.

Vì vậy, trong bài này, mình sẽ chia sẻ thêm về những đánh đổi, trả giá mà bạn phải chấp nhận nên muốn theo ngành này. Nếu đọc xong mà thấy “sợ” quá thì bạn nên chọn ngành khác phù hợp hơn nhe.

Continue reading Những đánh đổi, trả giá khi theo nghề lập trình