Tag Archives: framework

Đừng chỉ hỏi Làm Sao (How), mà hãy hỏi Tại Sao (Why)?

Hôm trước, mình có viết một bài để “chửi nhẹ” những bạn lười học, lúc nào cũng hỏi “Có nên học cái này cái kia không?”

Tuy vậy, mình cũng biết những bạn rất thích công nghệ, ham học hỏi, thích tìm hiểu công nghệ mới.

Tuy vậy, các bạn này lại dễ sa đà vào tình trạng biết rộng mà không sâu, chỉ học và biết toàn những kiến thức bề mặt. (Thấy khổ chưa, lười học cũng bị chửi, mà học nhiều thứ quá cũng bị thằng Code Dạo nhắc nhở!)

Học ít học nhiều thì thằng Code Dạo cũng chửi được

Nguyên nhân dẫn đến chuyện này là các bạn chỉ biết hỏi Làm sao để làm (How), mà quên hỏi Tại sao phải làm (Why).

Do vậy, hôm nay chúng ta cùng nói về tầm quan trọng của việc đặt câu hỏi nhé!

Continue reading Đừng chỉ hỏi Làm Sao (How), mà hãy hỏi Tại Sao (Why)?

Công nghệ “hiện đại” phía sau tốc độ tải trang “chóng mặt” của Thế Giới Di Động

Cách đây vài hôm, mình nhận được một câu hỏi khá thú vị là: Trang Thế Giới Di Động (thegioididong.com) sử dụng công nghệ gì mà có thể tải nhanh chóng mặt như vậy?

Chỉ mất vài phút để mở web thế giới di động lên tìm hiểu, nhưng mình lại nhận được một câu trả lời vừa hay ho, vừa ngạc nhiên và vô cùng thú vị.

Nếu tò mò thì các bạn kéo xuống đọc tiếp nhé!

Full disclosure: Mình không được đồng quảng cáo nào khi khen team thegioididong đâu nhe 😉

Continue reading Công nghệ “hiện đại” phía sau tốc độ tải trang “chóng mặt” của Thế Giới Di Động

Tổng hợp sách hay về JavaScript – Từ nhập môn đến nâng cao

Ở bài trước, khi nói về top 5 ngôn ngữ nên học, mình có bảo rằng JavaScript hiện tại đang là một ngôn ngữ hot và rất đáng học. Vì vậy, hôm nay mình sẽ chia sẻ những sách hay về JavaScript, với mức độ từ cơ bản đến nâng cao nhé!

Bản thân tài liệu về JS tiếng Việt khá ít, chắc từ thời jQuery rồi, cũng không cập nhật mấy. Vì minh vẫn hay khuyên các bạn nên học lập trình bằng tiếng Anh,  do đó nên những sách mình giới thiệu trong bài chỉ toàn là tiếng Anh thôi nhé.

Continue reading Tổng hợp sách hay về JavaScript – Từ nhập môn đến nâng cao

Lightning Talk Kì 7 – Ba bước “đơn giản” để học công nghệ mới

Ở kì này, mình sẽ chia sẻ 3 bước “đơn giản” mà mình hay áp dụng để học một công nghệ mới nhé.

Mình đăng trên Channel Youtube trước blog và fanpage khoảng vài hôm cho đến một tuần. Bạn nào muốn xem trước tiên thì nhớ vào subscribe channel của mình nhé: https://www.youtube.com/c/toidicodedaoblog

Channel hiện đã đạt được 2700 subscribe nên mình sẽ ra vlog Lightining Talk vào tối thứ 3 hàng tuần để tri ân nhe. Cảm ơn bà con cô bác đã ủng hộ thiệt nhiều!

Sinh viên “bối rối” vì 7 điểm khác biệt giữa đi học và đi làm

Trong trường Đại Học, chúng ta thường được dạy những kiến thức cơ bản về lập trình, về qui trình làm ra phần mềm. Tuy nhiên, môi trường lập trình chuyên nghiệp có những điều rất khác so với  môi trường học tập.

Do đó, khi vừa ra trường và bắt đầu đi làm, các bạn sinh viên thường cảm thấy “sốc” hoặc “bối rối” vì những khác biệt này.

Vì vậy, hôm nay chúng ta cùng điểm qua 7 điểm khác biệt các bạn sẽ gặp phải khi bắt đầu đi làm nhé.

Continue reading Sinh viên “bối rối” vì 7 điểm khác biệt giữa đi học và đi làm

Series Phản Phác Quy Chân – Lý thuyết hay thực hành quan trọng hơn?

Gần đây, mình có thấy một cuộc tranh cãi, lộn,… tranh luận khá thú vị giữa các bạn sinh viên về chuyện “Lý thuyết hay thực hành quan trọng hơn?”.

Có bạn bảo “Phải vững lý thuyết thì mới giỏi được”, có bạn đáp lại “Code nhiều là giỏi chứ cần vẹo gì lý thuyết”, có người quăng gạch “anh tự học code, tự làm theo tutorial chứ có cần học lý thuyết gì đâu, vẫn có lương nghìn đô!!”.

Vì nhiều bạn cũng email cho mình hỏi vấn đề tương tự, mình viết bài này để chia sẻ cái nhìn của bản thân. Rốt cuộc lý thuyết hay thực hành quan trọng hơn?? Đọc hết bài sẽ biết!

Continue reading Series Phản Phác Quy Chân – Lý thuyết hay thực hành quan trọng hơn?

Series Bảo Mật Nhập Môn – Quản lý người dùng – Tưởng dễ ăn mà không đơn giản

Website được tạo ra là để phục vụ người dùng. Có người sử dụng thì website và doanh nghiệp mới có thu nhập. Một trong những việc rắc rối nhất chính là quản lý và bảo mật thông tin người dùng.

Trong bài này, mình chia sẻ những điều cần lưu ý khi thực hiện tính năng này. Khá nhiều khê và phức tạp đấy, các bạn chịu khó đọc kĩ nhé!

Úi giời! Đăng kí đăng nhập có gì khó?

Không như bạn tưởng tượng, việc đăng kí/đăng nhập và quản lý người dùng thật ra không hề đơn giản. Nó có thể trở nên khá loằng ngoằng với những tính năng sau:

  • Cho phép người dùng đăng kí, đăng nhập bằng email
  • Phân quyền người dùng
  • Tích hợp với Gmail, Facebook
  • Tích hợp với hệ thống người dùng có sẵn trong doanh nghiệp
  • Reset mật khẩu khi người dùng quên
  • Block account khi người dùng nhập sai pass nhiều lần
  • Bảo mật cho API với app di động
  • Bảo mật 2 lớp (Two factor authentication) với các account quan trọng
  • Quản lý: Thêm bớt xoá sửa người dùng

screen-shot-2016-11-08-at-4-40-45-pm

Khi tính năng này hoạt động ổn định, không ai khen nó lấy một câu. Tuy nhiên, chỉ cần nó gặp phải chút vấn đề, cam đoan bạn sẽ hứng chịu vô số cơn thịnh nộ từ khách hàng.

Continue reading Series Bảo Mật Nhập Môn – Quản lý người dùng – Tưởng dễ ăn mà không đơn giản

Series Bảo Mật Nhập Môn – CSRF – Những cú lừa ngoạn mục

Trong Tam Quốc, các bậc quân sư tài năng có tài điều binh khiển tưởng, ngồi trong trướng bồng quyết thắng cách đó hàng ngàn dặm.

Trong Tu Chân, các cao thủ có chiêu “Cách Không Thủ Vật” điều khiển đồ vật từ xa, hoặc “Ngự Kiếm Phi Hành”, dùng chân khí để điều động phi kiếm hay pháp bảo.

Ngày nay, hacker cũng có “chiêu thức” tương tự gọi là CRSF. Hacker có thể ngồi tại website A mà dụ dỗ người dùng tấn công site B và site C khác.

Bài viết này sẽ giải thích cách hacker tấn công, đồng thời hướng dẫn cách phòng chống cho các bạn lập trình viên nhé.

Continue reading Series Bảo Mật Nhập Môn – CSRF – Những cú lừa ngoạn mục

Series Bảo Mật Nhập Môn – Insecure Direct Object References – Giấu đầu lòi đuôi

Kì này, mình sẽ giới thiệu một lỗ hổng bảo mật khá “lạ” mang cái tên dài loằng ngoằng khó đọc: Insecure Direct Object References.

Lỗi gì mà tên dài rứa??

Lỗi này “lạ” ở chỗ nó nằm trong top 4 OWASP nhưng lại có rất ít tài liệu về nó. Nó cũng không nổi tiếng như XSS hay CSRF hay SQL Injection (Dù rank OWASP của nó cao hơn XSS hay CSRF nhiều).

Bản thân mình trước đây cũng chưa hề nghe báo chí hay tin tức gì nhắc tới lỗi này. Có thể là do chưa có vụ án nổi tiếng nào liên quan đến nó, hoặc do lỗi này có nhiều biến thể phức tạp chăng?

Nguyên nhân chính gây ra lỗ hổng này là sự bất cẩn của developer hoặc sysadmin (Gặp lỗi này là phải lôi thằng dev ra chém trước, sau đó chém tester).

Lỗ hổng này xảy ra khi chương trình cho phép người dùng truy cập tài nguyên (dữ liệu, file, thư mục, database) một cách bất hợp pháp, thông qua dữ liệu do người dùng cung cấp. Để dễ hiểu hơn, hãy đọc ví dụ phía dưới nhé.

Continue reading Series Bảo Mật Nhập Môn – Insecure Direct Object References – Giấu đầu lòi đuôi

Series Bảo Mật Nhập Môn – SQL Injection – Lỗ hổng bảo mật thần thánh

Kì này, các bạn sẽ được tìm hiểu thực hư về lỗ hổng bảo mật SQL Injection “thần thánh”, một trong những lỗ hổng bảo mật phổ biến và nguy hiểm nhất mọi thời đại.

Tại sao SQL Injection lại “thần thánh”?

Những lý do sau đã tạo nên tên tuổi lừng lẫy của SQL Injection:

  • Cực kỳ nguy hiểm – Có thể gây ra những thiệt hại khổng lồ. Với SQL Injection, hacker có thể truy cập một phần hoặc toàn bộ dữ liệu trong hệ thống.
  • Rất phổ biến và dễ thực hiện – Lỗ hổng này rất nổi tiếng, từ developer đến hacker gần như ai cũng biết. Ngoài ra, còn có 1 số tool tấn công SQL Injection cho dân “ngoại đạo”, những người không biết gì về lập trình.
  • Rất nhiều ông lớn từng bị dính – Sony, Microsoft UK. Mọi vụ lùm xùm liên quan tới “lộ dữ liệu người dùng” ít nhiều đều dính dáng tới SQL Injection.

Dễ tấn công, phổ biến, gây ra hậu quả nghiêm trọng, đó là lý dó Inject (Không chỉ SQL mà OS và LDAP) nằm chễm chễ ở vị trí đầu bảng trong top 10 lỗ hỗng bảo mật của OWASP. Tất nhiên là XSS, CSRF, và không mã hoá dữ liệu cũng nằm trong list này nốt.

sql-injection2

Continue reading Series Bảo Mật Nhập Môn – SQL Injection – Lỗ hổng bảo mật thần thánh