Tag Archives: kinh nghiệm

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 đề

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

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?

Những điều mình thích và ghét sau hơn 6 năm theo ngành lập trình

Mấy nay viết bài kĩ thuật nhiều rồi nên hôm nay anh em mình ngồi tâm sự chém gió chút về chuyện ngành này nhé.

Đi làm cũng được vài năm rồi, nên hôm nay mình tâm sự mỏng về những điều mình thích và ghét sau hơn 6 năm năm theo ngành ha.

Tất cả những điều này đều dựa theo trải nghiệm của bản thân mình, thông qua các dự án/công ty mình đã làm qua. Do vậy nó hơi mang tính chủ quan của bản thân mình nha.

Continue reading Những điều mình thích và ghét sau hơn 6 năm theo ngành lập trình

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

Những việc nên làm khi mới gia nhập công ty, đi thực tập

Mấy tháng sắp tới là giai đoạn nhiều bạn sẽ đi thực tập, hoặc trở thành fresher/junior developer, bắt đầu công việc đầu tiên trong ngành lập trình.

Do nhiều bạn nhờ tư vấn, hỏi cần chuẩn bị gì nên hôm nay mình viết blog chia sẻ về những điều các bạn nên chuẩn bị, nên làm khi mới gia nhập công ty (mà hồi xưa không ai chỉ cho mình) nhé.

Ấn tượng ban đầu là rất quan trọng, nếu bạn làm tốt ở giai đoạn này thì sẽ dễ ghi điểm trong mắt đồng nghiệp/cấp trên nha!

Continue reading Những việc nên làm khi mới gia nhập công ty, đi thực tập

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

12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 3

Như đã giới thiệu ở bài trước, mình sẽ giới thiệu về twlve-factor app. Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy.

Trong bài này, mình sẽ giải thích các yếu tố từ 8 tới 12 nhé:

  • 8. Concurrency: Một app nên được chia tách thành nhiều process nhỏ để tăng concurrency
  • 9. Disposability: Process của web app nên sống nhanh, chết nhẹ nhàng, để có thể dễ dàng chạy/kill process nhanh chóng
  • 10. Dev/prod parity: Các môi trường dev/staging/production nên giống nhau hết sức có thể
  • 11. Logs: Logs nên được viết ra dạng stream ở stdout
  • 12. Admin Processes: Một số task dạng admin (tạo database, fix dữ liệu) nên được chạy trong cùng môi trường với app đang chạy

 

Đây là phần 3 trong series 3 phần về Twelve-Factor App:

  1. Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
  2. Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
  3. Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes

Continue reading 12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 3

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?

12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 2

Như đã giới thiệu ở bài trước, mình sẽ giới thiệu về twlve-factor app. Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy.

Trong bài này, mình sẽ giải thích các yếu tố từ 3 tới 7 nhé:

  • 3. Config: Lưu trữ thiết lập vào biến môi trường (environment variable)
  • 4. Backing services: Xem các service đi kèm (database, API, …) như là resource của app
  • 5. Build, release, run: Tách riêng quá trình release, build và run
  • 6. Processes: App nên chạy dưới dạng 1 (hoặc nhiều) stateless processes
  • 7. Port binding: Mỗi service có thể được truy cập thông qua 1 port cố định

 

Đây là phần 2 trong series 3 phần về Twelve-Factor App:

  1. Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
  2. Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
  3. Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes

Continue reading 12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 2