Category Archives: Chuyện coding

Tât tần tật những thứ liên quan đến coding.

Sập Server có phải muôn đời – Phần 1: Làm gì khi hệ thống sập bất ngờ?

Đây là phần 1 trong series 3 phần “Sập Server có phải muôn đời”.

  1. Làm gì khi hệ thống sập bất ngờ – Xách quần lên công ty
  2. Viết post-mortem sau khi xử lý sự cố – Đừng chỉ trích hay đổ lỗi
  3. Những phương pháp phòng chống/monitoring – Giúp anh em ngủ ngon không lo server sập

 

Đây là câu chuyện của Hùng, một developer quèn tại 1 công ty startup.

Một chiều thứ 6 đẹp trời nọ, Hùng đang thư thả về nhà, dắt gấu đi chơi cuối tuần, đi ăn khuya. Ăn uống no say, Hùng dắt gấu vào nhà nghỉ (tất nhiên là chỉ để nghỉ thui nha, blog này cho cả các bạn chưa đủ 18 tuổi).

Vào đến nhà nghỉ, Hùng vừa mới tuột quần, chuẩn bị … chạy thẳng vào toilet (chắc do nồi lẩu vừa ăn không sạch lắm). Bỗng dưng, di động reo, anh Sơn team leader trên công ty réo: Hùng ơi, hệ thống sập con bà nó rồi, khách hàng không vào được trang chủ, em lên công ty phụ anh và anh Kha kiểm tra với.

Vội vàng chưa kịp mặc quần, bỏ gấu nằm bơ vơ trong khách sạn, Hùng bắt vội chiếc Grab chạy thẳng lên công ty để tìm lỗi… Còn tiếp!

Vui chơi nhưng không quên nhiệm vụ, hãy như Hùng!

Continue reading Sập Server có phải muôn đời – Phần 1: Làm gì khi hệ thống sập bất ngờ?

Kinh nghiệm làm việc cho công ty product – Làm sao học và kiếm triệu đô từ blockchain

Hôm trước, mình có làm livestream nhẹ về kinh nghiệm làm việc tại công ty startup/product, kinh nghiệm làm blockchain với anh Trần Hoàng Giang – Giảm độc sản phẩm của AkaChain.

Do clip hơi dài nên mình tóm tắt lại 1 vài cái hay ho mà 2 anh em chém gió cho các bạn nhen:

  • Có phải làm outsourcing/IT services chỉ là gia công “đưa gì code nấy”, như “thợ hồ công nghệ”? Tuỳ dự án, ở tầm IT Services thì chúng ta sẽ lo toàn bộ từ architecture design, UI/UX Design, vận hành hệ thống, tư vấn cho khách hàng, chứ không chỉ là đi kiếm requirement rồi làm việc.
  • Nên làm outsourcing/IT services hay làm product/sản phẩm? Mỗi thứ đều có cái hay riêng. Làm IT services sẽ học được về qui trình, document, domain của khách hàng nhưng hơi gò bó. Làm product thì vui hơn, được quyết định nhiều thứ hơn, nhưng cũng khó khăn và phải mò mẫm nhiều hơn.
  • Làm product/startup có gì vui? Làm ra sản phẩm thật, có user dùng chứ không chỉ là code rồi bàn giao. Dev ở product/startup có tiếng nói hơn, được tham gia quyết định hướng đi của sản phẩm.
  • Muốn làm product/startup thì cần những tố chất gì? Phải biết ôm đồm nhiều thứ như full stack, đôi khi nhảy cóc từ front-end, back-end tới DevOps. Phải có cái nhìn sản phẩm, code 1 chức năng cũng biết suy nghĩ cho người dùng chứ không chỉ thuần là code

 

  • Về AkaChain (akachain.io): AkaChain là 1 hệ thống định danh điện tử, dựa trên công nghệ blockchain, hỗ trợ các doanh nghiệp thiết lập hệ thống điểm thưởng, chăm sóc khách hàng mà vẫn đảm bảo tính privacy.
  • Kinh nghiệm tự tìm hiểu blockchain: Đừng cố gắng build một 1 blockchain ngay từ đầu, mà hãy thử build ứng dụng dựa trên cái có sẵn, vừa làm vừa tìm hiểu dần dần.
  • Một số kĩ năng cần có để làm về blockchain: Lập trình back-end (Golang, Rust hoặc NodeJS), hiểu biết về Server/DevOps, cách triển khai các hệ thống phân tán
  • (30s quảng cáo) Tại akaChain nói riêng, cũng như FPT Software nói chung, có khá nhiều dự án làm product hay ho, các bạn mới ra trường hoặc thích làm product có thể tìm hiểu nhé.

Các bạn quan tâm có thể xem clip full 60 phút không che tại đây nha:

Từ chuyện cargo cult programming, đến phong cách lập trình theo kiểu “bầy đàn”

Chuyện kể rằng, vào thời thế chiến thứ 2, binh lính Mĩ lần đầu tiên tiếp xúc với các thổ dân ở nhiều quần đảo thuộc vùng Melanesia.

Vì nhu cầu chiến tranh, quân Mỹ/Nhật chở hàng loạt tàu hàng, cho máy bay thả hàng tiếp tế (thức ăn, lương thực, vũ khí) xuống, làm đời sống nhân dân trên đảo được cải thiện.

Khi chiến tranh kết thúc, hàng hoá cũng hết theo. Cư dân trên đảo bắt đầu bắt chước hành động của binh lính Mĩ. Họ cũng dựng chòi canh, khắc gỗ làm radar headphone, quơ quào trên đường băng như binh lính liên lạc.

Cư dân trên đảo làm giả máy bay, headphone, đài phát sóng; với hi vọng máy bay thật sẽ quay lại

Dân chúng bắt đầu làm theo những nghi lễ này, với hi vọng máy bay sẽ quay lại, mang theo những thùng hàng tiếp tế. Tất nhiên là, dù họ có quơ quào cả năm trời, cũng chẳng có chiếc máy bay nào quay lại cả.

Dần đà, những thứ này trở thành nghi lễ, được thờ cúng. Những tôn giáo, nghi lễ dạng này được gọi là cargo cult (cargo là hàng hoá được chuyên trở trên tàu).

 

Ơ, chuyện nghe thú vị đấy, nhưng mà nó có liên quan gì đến lập trình đâu?? Ấy vậy mà có đấy!

Continue reading Từ chuyện cargo cult programming, đến phong cách lập trình theo kiểu “bầy đàn”

5 trang web cực hay để luyện thuật toán, học lập trình

Hôm trước, mình đã có viết bài về 4 cách rèn luyện tư duy lập trình rồi! Do nhiều bạn muốn cụ thể, chi tiết những trang có thể học tập, luyện thuật toán nên hôm nay mình chia sẻ thêm cho các bạn 5 trang cực kì hay ho để luyện thuật toán/học lập trình nha!

Các bạn không cần phải dùng hết cả 2 làm gì, chỉ cần chọn 1-2 cái hay nhất là được rồi nhé!

Continue reading 5 trang web cực hay để luyện thuật toán, học lập trình

Các hệ thống lớn sử dụng Rate Limiting để chống DDOS, hạn chế spam, bảo vệ hệ thống như thế nào? – Phần 2

Ở kì trước, mình đã giới thiệu với các bạn về kĩ thuật Rate Limiting – Một kĩ thuật đơn giản mà hay ho, được khá nhiều hệ thống lớn sử dụng.

Trong kì này, chúng ta sẽ đi sâu vào tìm hiểu cụ thể về cách các hệ thống lớn áp dụng Rate Limiting; cách áp dụng Rate Limiting để bảo vệ hệ thống của chúng ta nhé!

Continue reading Các hệ thống lớn sử dụng Rate Limiting để chống DDOS, hạn chế spam, bảo vệ hệ thống như thế nào? – Phần 2

Các hệ thống lớn sử dụng Rate Limiting để chống DDOS, hạn chế spam, bảo vệ hệ thống như thế nào? – Phần 1

Hôm nay, mình sẽ giới thiệu các bạn 1 kĩ thuật rất đơn giản nhưng cực kì hay ho:

  • Kĩ thuật này được 69.96% các hệ thống từ lớn đến nhỏ như Google, Facebook, LinkedIn, Youtube áp dụng
  • Kĩ thuật này giúp chúng ta ngăn chặn DDOS, chống spam, giữ cho hệ thống hoạt động trơn tru.

Thế nhưng, chúng ta ít người biết đến “người hùng”  thầm lặng này. Kĩ thuật này có tên là Rate Limiting.

Continue reading Các hệ thống lớn sử dụng Rate Limiting để chống DDOS, hạn chế spam, bảo vệ hệ thống như thế nào? – Phần 1

Tôi đã viết game Bầu Cua chơi qua Livestream như thế nào!

Nếu các bạn hay theo dõi mình qua Fanpage Tôi Đi Code Dạo hoặc Youtube Channel, các bạn sẽ thấy lâu lâu mình có hay làm 1 số minigame trao quà bằng cách đặt sòng bầu cua thông qua kênh chat.

Game bầu cua đặt cược qua comment – Made by Code Dạo

 

Game này chơi khá là vui, tăng tương tác nhiều vì bà con phải comment, lại rất dễ tham gia, chỉ có đang xem stream là được.

Do vậy, mình chia sẻ cho các bạn biết cách để làm 1 game như thế này. Các bạn có thể dựa vào đó để độ chế ra thành game tương tự nhé!

Continue reading Tôi đã viết game Bầu Cua chơi qua Livestream như thế nào!