Tag Archives: developer

Series Bảo Mật Nhập Môn – Giao thức HTTP “bảo mật” đến mức nào?

Sau một khoảng thời gian vật vã thì mình cũng hoàn thành bài đầu tiên trong series Bảo Mật Nhập Môn. Bài viết này sẽ bàn về sự “bảo mật” của giao thức HTTP.

Website của Lazada và Ngân hàng ACB sẽ bị lôi ra làm ví dụ. Vì bài viết khá dài nên các bạn cứ từ từ đọc nhé.

Ôn lại về HTTP

HTTP là một giao thức dùng để truyền nhận dữ liệu (Xem thêm ở đây). Hiện tại, phần lớn dữ liệu trên Internet đều được truyền thông qua giao thức HTTP. Các ứng dụng Web hoặc Mobile cũng gọi Restful API thông qua giao thức HTTP.

Tuy nhiên, nhược điểm của HTTP là dữ liệu được truyền dưới dạng plain text, không hề được mã hoá hay bảo mật. Điều này dẫn đến việc hacker có thể dễ dàng nghe lén, chôm chỉa và chỉnh sửa dữ liệu. Người ta gọi kiểu tấn công này là Man-in-the-middle attack, viết tắt là MITM.

Continue reading Series Bảo Mật Nhập Môn – Giao thức HTTP “bảo mật” đến mức nào?

Đừng để mình trở thành coder “siêu nhân”

Từ chuyện ngày xưa

Ngày xửa ngày xưa, à thật ra cũng không xưa lắm, khoảng những năm 75-90, có một số lão lập trình viên rảnh hơi, thực hiện một số nghiên cứu rảnh hơi để … đo năng suất làm việc của developer.

Kết quả thu được thật đáng ngạc nhiên! Chênh lệch về năng suất làm việc của 2 developer là rất lớn. Một developer giỏi có thế có năng suất gấp 10 lần một developer khác.

Người đời gọi những developer giỏi này là rockstar developer, 10x developer. Huyền thoại về các developer “siêu nhân”, “thần thánh” cũng ra đời từ đó.

rock-star-developer-or-programmer

Continue reading Đừng để mình trở thành coder “siêu nhân”

Series Phản Phác Qui Chân – Luận về Optimize Code

Đa số các bạn newbie thường phạm phải một sai lầm cơ bản: Quá mức quan tâm về tốc độ thực thi của code,  của ngôn ngữ lập trình. Đây là một thói quen nên bỏ!

Trong bài viết hôm nay, mình sẽ giải thích về việc tối ưu code: Optimize code một cách pro nhất! Khi nào cần optimize, khi nào không nên optimize code?

Continue reading Series Phản Phác Qui Chân – Luận về Optimize Code

Lập trình viên có cần học đại học hay không?

Dạo gần đây mình hay gặp một số topic kiểu “Cảm thấy mất định hướng khi học Đại học”, “Liệu em có nên bỏ Đại Học hay không?”, “Kiến thức Đại học toàn thứ vô bổ!”. Các topic này cho thấy nhiều bạn sinh viên đang cảm thấy hoang mang về giá trị của việc học đại học.

Do vậy, mình viết bài này để phân tích những cái lợi của việc học Đại Học, giúp các bạn trẻ vững tin hơn trên con đường đã chọn.

Continue reading Lập trình viên có cần học đại học hay không?

Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL

Giới thiệu

Mấy hôm trước, khi mình lên stackoverflow hỏi một số câu liên quan tới SQL thì nghe nhắc tới khái niệm SQL Antipattern. Khác với design pattern, anti pattern là những cách thiết kế để giải quyết vấn đề, nhưng sử dụng nó lại… gây ra nhiều vấn đề hơn. Một antipattern được nhiều người biết đó là hút thuốc lào thay cho thuốc lá, cách này cai được thuốc lá nhưng sẽ gây ra nhiều vấn đề vệ sinh và môi trường hơn.

Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá
Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá

Tìm hiểu sâu hơn, mình tìm thấy cuốn sách “SQL Antipattern” này. Cuốn này được đánh giá rất cao trên amazon, nói về những sai lầm dễ mắc phải khi thiết kế và sử dụng SQL Database. Nội dung rất hữu dụng với các bạn database administator hoặc back-end developer nhé.

Screen Shot 2016-08-14 at 12.54.58

Continue reading Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL

Series Bảo Mật Nhập Môn – Bảo mật cơ bản cho developer

Giới thiệu

Bảo mật là một vấn đề rất tốn kém và phức tạp. Gần như hệ thống nào cũng có lỗ hổng (cả phần mềm lẫn phần cứng), các hacker có thể thông qua các lỗ hổng này để tấn công hệ thống.

Việc đảm bảo hệ thống bảo mật là trách nhiệm của rất nhiều bên: Sys admin, network, manager và developer. Do mình không chuyên về bảo mật nên mình không rành về việc config hệ thống mạng, setup tường lửa v…v, do đó mình sẽ không chém gió lung tung về mảng này. Thay vào đó, mình sẽ cùng các bạn tiếp cận khía cạnh bảo mật dưới góc nhìn của một developer.

Internet Security System

Những kiến thức trong series này rất cơ bản, dễ học, nhưng chúng sẽ vô cùng hữu ích, giúp bạn tránh phải những sai lầm bảo mật “ngớ ngẩn, cơ bản” khi code. Dù cho bạn code C hay C++, Java C# hay PHP, bạn cũng sẽ học được vài điều bổ ích qua series này.

Continue reading Series Bảo Mật Nhập Môn – Bảo mật cơ bản cho developer

Tạm biệt Lancaster ISS – Tạm kết thúc kiếp code dạo nơi xứ người

Đầu tháng 9 này, mình sẽ tạm kết thúc năm đầu tiên của chương trình học Master, về Việt Nam vi vu đú đởn khoảng 1 tháng. Đầu tháng 10 mình lại phải qua Trung Quốc bán thận,… nhầm, bán thân khoảng 6 tháng trước khi quay lại UK kết thúc chương trình học.

Vì lẽ đó, mình phải ngậm ngùi nói lời chia tay với team hiện tại. Lần này, mình viết một bài review nho nhỏ về những trải nghiệm bản thân trong thời gian gần đây.

Continue reading Tạm biệt Lancaster ISS – Tạm kết thúc kiếp code dạo nơi xứ người

Review sách: The Art of Intrusion – Khơi lại đam mê hacker thuở bé

Đa phần những bạn học IT đều là những người có đam mê với máy tính. Thuở nhỏ, mình thích máy tính là do mê chơi game, muốn sau này học IT để làm game. Lớn hơn một chút, xem phim về hacker, mình lại muốn học IT để sau này trở thành hacker.

Đến lúc vào đại học, mình cắm đầu học đến tận lúc gần ra trường mới biết ngành mình học là Software Engineering – viết phần mềm chứ không phải hack hay bảo mật. Mà thôi kệ, theo ngành này cũng vui, chẳng có gì phải phàn nàn.

Tuy vậy, mình vẫn có hứng thú với hack và hacker. Hẳn là các bạn dân IT cũng thế. Do hôm trước mình đọc được một cuốn sách khá hay về giới hacker nên hôm nay mình viết review để chia sẻ với các bạn. Cuốn sách có tên là The Art of Intrusion – Nghệ thuật xâm nhập.

tumblr_lxzca1WBTd1qzr8nao1_1280

Continue reading Review sách: The Art of Intrusion – Khơi lại đam mê hacker thuở bé

Góc phởn – Sự giống nhau đến kì lạ giữa lập trình và nấu ăn

Lưu ý: Bài viết có nhiều hình ảnh nhạy cảm gây kích thích vị giác, không nên đọc khi đang đói bụng

Ngày trước, khi còn ở Việt Nam, mình chả phải nấu ăn bao giờ. Từ hồi đi qua UK đu học, vì đồ ăn bên ngoài vừa mắc vừa dở nên mình phải lúi húi xuống bếp tự nấu ăn. Sau một thời gian lăn lê bếp núc, trình độ nấu ăn của mình cũng đã tăng lên một cảnh giới nhất định. Giờ mình đã có thể vỗ ngực tự hào mình là thằng coder nấu ăn ngon nhất và là thằng đầu bếp code giỏi nhất =)).

Nấu ăn được một thời gian, mình chợt ngộ ra đạo lý “vạn pháp quy nhất, trăm sông đổ về một biển” trong võ học. Hóa ra giữa lập trình và nấu ăn có nhiều điểm giống nhau đến lạ kì!! Thế là mình vội vàng dốc hết tâm sức ra viết bài này, các bạn có thể vừa đọc vừa giải trí và suy ngẫm nhé.

22
Ảnh minh họa, món này không phải mình nấu đâu nha

Continue reading Góc phởn – Sự giống nhau đến kì lạ giữa lập trình và nấu ăn

Series Phản Phác Quy Chân – Bí kíp để trở thành “cao thủ” trong việc fix bug

Cách đây vài tháng, mình có viết 1 bài để chửi thực trạng học lập trình của các thanh niên hiện nay. Ngoại trừ một số câu hỏi bài tập, hoặc vấn đề công nghệ, phần nhiều các câu hỏi là “gặp lỗi không biết sửa”. Qua đó, có thể thấy các bạn sinh viên năm 2 năm 3 hoặc mới ra trường vẫn còn thiếu kĩ năng debug.
Thôi, các cụ có câu là “vừa đấm vừa xoa”, chửi sướng mồm rồi thì bây giờ viết một bài chia sẻ những kinh nghiệm để debug và đặt câu hỏi hiệu quả hơn đây. Mỗi khi thấy ai hỏi bài, nhờ sửa lỗi các bạn cứ share bài viết này để giúp ích cho người ta nhé.

land first job as front end developer
Đến con nít nó còn biết lật sách ra xem trước khi hỏi này

Continue reading Series Phản Phác Quy Chân – Bí kíp để trở thành “cao thủ” trong việc fix bug