Category Archives: Chuyện coding

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

Tôi đã lên cấp và tiến hoá như thế nào qua 6 năm lăn lộn trong ngành – Phần 1

Mình thường hay khuyên các bạn mới ra trường là: Đừng quan trọng đi làm lương bao nhiêu, mà phải quan trọng là học hỏi được gì? Qua 1 – 2 năm làm ở đấy thì mình có tiến bộ không? Có thể đạt tới trình độ cao hơn, lương cao hơn không?

Thông thường, các bạn hay hỏi lại là: Làm sao để biết mình cần học hỏi những gì? Do vậy, trong bài này, mình sẽ chia sẻ về những thứ mà mình đã học được qua 6 năm làm việc nha.

Những thứ này đã giúp mình “tiến hóa” từ 1 thằng Fresher bình thường lên Senior, lên Full Stack Developer. Mình nghĩ ai làm vài năm cũng rút ra được thôi, nhưng biết những thứ cần học thì mấy năm đầu đi làm đỡ bỡ ngỡ lạc lối ha.

 

Đây là phần 1 trong series 2 phần Tôi đã lên cấp và tiến hoá như thế nào:

  • Phần 1 – Những năm đầu đi làm ở Việt Nam và UK
  • Phần 2- Làm developer ở Singapore

Continue reading Tôi đã lên cấp và tiến hoá như thế nào qua 6 năm lăn lộn trong ngành – Phần 1

Hướng dẫn setup Visual Studio Code – Những extension xịn xò mà dev nào cũng nên dùng

Nhiều bạn hay hỏi mình code bằng tool gì, cài đặt ra sao. Do vậy, hôm này mình hướng dẫn  các bạn cách setup Visual Studio Code, cài đặt những extension xịn xò nhen.

Visual Studio Code là cái gì cơ?

Nếu từng code C#, hẳn bạn cũng biết Microsoft có 1 cái IDE khá là nặng và bự mang tên Visual Studio. IDE này khá ngon lành, đủ chức năng, mỗi tội rất nặng, cài hơi lâu, mỗi lần bật là con lap già nhà mình lại rên rỉ.

Khác với Visual Studio, Visual Studio Code là 1 text editor khá mới nhưng free, chạy được trên nhiều hệ điều hành. Tuy chỉ là text editor nhưng ta vẫn có thể compile, run, debug code trên VS Code, không thua gì cái IDE xịn.

Vừa nhẹ, vừa free, lại mạnh mẽ, nên dân web developer như mình rất khoái dùng VS Code. Để bắt đầu, các bạn có thể vào đây để tải nha: code.visualstudio.com

Nhớ đừng tải nhầm Visual Studio nha, kẻo bán nhà đó

Continue reading Hướng dẫn setup Visual Studio Code – Những extension xịn xò mà dev nào cũng nên dùng

Những cuộc “chạy đua vũ trang” ngầm khá hay ho trong giới công nghệ

Cách đây vài hôm, có thằng bạn nhờ mình coi hộ nó cái web, chỉ có cách chống DDOS, cách hạn chế web bị crawl, bị spam v…v

Sau 1 hồi nghiên cứu, tìm hiểu cách DDOS và chống DDOS, cách crawl và chống crawl, mình bỗng nhận ra: trong giới công nghệ, có nhiều cuộc “chạy đua vũ trang” ngầm, kéo dài cả thập kỉ, rất hay ho mà nhưng lại ít ai biết. 

Do vậy, mình viết bài này để chia sẻ cho các bạn biết nhé!

Continue reading Những cuộc “chạy đua vũ trang” ngầm khá hay ho trong giới công nghệ

Cảnh giới cao nhất của việc Code chính là … không Code!

Truyện kể rằng, thuở xưa có người tên Tôn Tử, người Lạc An nước Tề. Vì nội chiến nên phải dời tới kinh đô của nước Ngô, ẩn cư rồi chuyên tâm nghiên cứu binh pháp.

Sau nhiều năm ẩn cư, quan sát thế sự và kinh nghiệm tác chiến của các bậc tiền nhân, ông đã viết ra cuốn: "Binh Pháp Tôn Tử" đồng thời xuất sơn phò tá vua Ngô. 

Kể từ đó nước Ngô bách chiến bách thắng, uy chấn thiên hạ.

Binh pháp Tôn Tử tuy viết rất nhiều về kinh nghiệm chiến tranh, cách chiến thắng mọi trận chiến. Thế nhưng, Tôn Tử lại cho rằng cảnh giới cao nhất chính là … không chiến mà vẫn thắng.

Đọc đi đọc lại một hồi, mình ngẫm thấy điều này cũng khá đúng với ngành lập trình. Do vậy, mình chia sẻ trong bài này để anh em cùng nghiền ngẫm nhé!

Continue reading Cảnh giới cao nhất của việc Code chính là … không Code!

Sập Server có phải muôn đời – Phần 3: Phương pháp phòng chống – ngủ ngon không lo server sập

Đây là phần 3 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

 

Ở 2 phần trước, mình đã chia sẻ về những việc cần làm khi hệ thống sập bất ngờ, nên viết post motern như thế nào để tránh gặp phải những sai lầm tương tự.

Tuy vậy, như các cụ đã nói “phòng bệnh hơn chữa bệnh”, phòng chống hệ thống sập thì tốt hơn là chờ hệ thống tèo rồi mới sửa chứ nhỉ. Do vậy, ở kì này, mình sẽ chia sẻ những kinh nghiệm phòng chống nhé.

Continue reading Sập Server có phải muôn đời – Phần 3: Phương pháp phòng chống – ngủ ngon không lo server sập

Sập Server có phải muôn đời – Phần 2: Cách viết post-mortem, nhìn lại vấn đề sau khi xử lý xong sự cố

Đây là phần 2 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

 

Ở kì trước, chúng ta đã cùng bạn Hùng xấu số tìm ra lỗi, khôi phục hệ thống chạy lại như thường. Ở kì này, chúng ta sẽ cùng tìm hiểu về những điều chúng ta nên làm, cách viết post-moterm sau khi sự cố xảy ra nha.

Những điều này tuy nhỏ nhưng vô cùng quan trọng, vì nó giúp chúng ta tránh được những sai lầm tương tự trong tương lại đấy.

Continue reading Sập Server có phải muôn đời – Phần 2: Cách viết post-mortem, nhìn lại vấn đề sau khi xử lý xong sự cố

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