All posts by Phạm Huy Hoàng

Tôi là Phạm Huy Hoàng, một developer. Thuở còn là sinh viên, tôi từng có những thắc mắc, trăn trở về technical, về con đường nghề nghiệp, nhưng không có ai giải đáp. Blog này là nơi tôi chia sẻ những kiến thức, kinh nghiệm mà mình đạt được trong quá trình làm việc và trải nghiệm. Mong rằng nó sẽ giải đáp phần nào những khúc mắc, trăn trở cho những bạn sinh viên như tôi ngày xưa. Cảm ơn bạn đã bỏ thời gian đọc những dòng tôi chia sẻ.

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

Sau một thời gian lập trình, bạn sẽ dần nhận ra một điều: Build một ứng dụng là một chuyện khá khó.

Thế nhưng, khi ứng dụng đã bắt đầu có người sử dụng (lên production), ta sẽ gặp phải nhiều vấn đề còn … khó hơn nữa:

  • Làm sao thêm tính năng, sửa lỗi mà không ảnh hưởng đến ứng dụng đang chạy
  • Làm sao để những tính năng mới, bug fix có thể được release nhanh chóng đến tay người dùng
  • Khi lượng người dùng tăng gấp 5, gấp 10 lần, làm sao để có thể nhanh chóng scale hệ thống
  • Làm sao để mấy bạn developer mới gia nhập có thể dễ dàng chạy ứng dụng ở local, test và push code

Đây là những vấn đề làm đau đầu nhiều team, vì nó đòi hỏi không chỉ kiến thức lập trình, mà còn là kiến thức về system architecture, operation, qui trình….

Do vậy, trong bài này, mình sẽ chia sẻ về Twelve-Factor App (12factor.net). Đâ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 nhé.

 

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

Lập trình web liệu có “chết” hay hết thời không?

Lập trình web liệu có "chết" hay hết thời không? Nếu ai cũng có thể kéo/thả để làm web bằng Wix/Shopify, liệu làm web developer tương lai có thất nghiệp không?

Đây là một câu hỏi mình đã nghe không dưới … chục lần, người hỏi thường là những bạn đang học Đại Học hoặc sắp đi làm. Gần đây, do có nhiều bạn sắp theo ngành này, muốn học web/làm web developer, do vậy mình biết bài trả lời, chia sẻ 1 lần và duy nhất luôn nhe.

Continue reading Lập trình web liệu có “chết” hay hết thời không?

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?

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 2

phần trước, mình đã chia sẻ về những trải nghiệm, những điều mình đã học được khi còn ở Việt Nam và UK. Trong phần này, mình sẽ chia sẻ về những thứ giúp mình “tiến hoá” khi làm việc tại Singapore nhé.

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

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 2

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:

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

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 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ệ

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

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!