Category Archives: Kiến thức cần thiết

Một developer giỏi cần biết nhiều thứ hơn là code.

Series Nhận diện Idol: Phần 3 – Cùng đi đào dữ liệu VAV Idol

Sau bao ngày chờ đợi thì phần 3 của series cũng được ra mắt các bạn đọc. Lý do phần này bị mình “ngâm dấm” hơi lâu là do… JAV và 18+.

Do blog có nhiều trẻ em và cụ già đọc nên mình không thể thoải mái để link và hình ảnh 18+ trong bài viết được. Vì thế mình thay đổi hướng tiếp cận vấn đề. Thay vì nhận diện JAV Idol, chúng ta sẽ chuyển qua nhận diện… VAV Idol.

Sản phẩm cuối cùng của chúng ta sẽ có tương tự thế này, với kiến trúc đơn giản dễ hiểu hơn “Nhận diện Idol” nhiều: http://jav-idol.toidicodedao.com/vav/. Bắt đầu thôi nào!

Continue reading Series Nhận diện Idol: Phần 3 – Cùng đi đào dữ liệu VAV Idol

Lập trình viên lúc không code thì… làm gì?

Khá nhiều bạn lập trình viên mình quen có lối sống hơi “thiếu lành mạnh”. Thiếu lành mạnh ở đây không có nghĩa là ăn chơi sa đoạ cờ bạc rượu chè gái gú mà là … quá biệt lập.

Họ đi làm từ 8 giờ sáng đến 5,6 giờ chiều. Ăn uống tắm rửa xong lại bật máy lên đánh Lol, Dota hoặc code tới 12h đêm rồi ngủ. Cuối tuần, họ lại tiếp tục đánh Lol, Dota hoặc tải JAV, nhầm,… phim rạp về xem. Thứ hai tiếp tục đi làm, cuộc sống cứ thế nhàm chán trôi qua.

Code và máy tính là những người bạn thân thiết của lập trình viên. Tuy nhiên, đừng nên để cuộc sống của mình quanh đi quẩn lại chỉ có code và máy tính. Nhân hôm trước có bạn đã hỏi, hôm nay mình viết bài này để trả lời câu hỏi: Lập trình viên làm gì khi không code?

Continue reading Lập trình viên lúc không code thì… làm gì?

Nghịch ngợm RestAPI với Postman – Gọi API đâu có gì khó?

Series Nhận Diện Idol vẫn đang tiếp tục được viết. Tuy nhiên, trong quá trình code sẽ phải sử dụng khá nhiều RestAPI (Của Microsoft, Imgur,…). Để đủ kiến thức theo đuổi series, bạn cần hiểu rõ bản chất RestAPI và cách sử dụng chúng.

Nếu các bạn chưa hiểu rõ về RestAPI có thể xem lại ở đây.  Ta thường dùng code để gọi các API này, tuy nhiên việc viết code và chạy code khá lắt nhắt và tốn công. Do vậy, hôm nay mình giới thiệu thêm tool mình hay dùng khi làm việc với RestAPI mang tên Postman.

(Tool này sẽ được sử dụng khá nhiều trong series Nhận diện Idol, các bạn nhớ đọc để biết cách sử dụng nhé)

Continue reading Nghịch ngợm RestAPI với Postman – Gọi API đâu có gì khó?

Series Nhận diện Idol: Phần 2 – Kiến trúc tổng thể và các công nghệ sử dụng

Ở bài viết trước, mình đã giới thiệu về sự ra đời của Nhận Diện Idol. Ở phần này, mình sẽ tập trung về khía cạnh techincal như kiến trúc tổng thể và công nghệ sử dụng trong ứng dụng nhé.

Toàn bộ series Nhận diện Idol:

  • Phần 1 – Chuyện ngày xưa – về sự ra đời của Nhận Diện Idol
  • Phần 2 – Kiến trúc và các công nghệ sử dụng
  • Phần 3 – Nào mình cùng đi cào dữ liệu
  • Phần 4 – Nhận diện khuôn mặt với Microsoft Cognitive Service
  • Phần 5 – Testing thuật toán – Sự thật về độ chính xác 60-80%
  • Phần 6 – Từ demo tới deploy – Vô Thai Kiếm (Serverless Architecture)
screen-shot-2016-12-18-at-1-10-50-am
Các công nghệ được sử dụng

Continue reading Series Nhận diện Idol: Phần 2 – Kiến trúc tổng thể và các công nghệ sử dụng

Tôi đã viết “Nhận diện Idol” như thế nào – Phần 1 – Chuyện ngày xưa

Gần đây, mình có viết một ứng dụng mang tên “Nhận diện Idol” để nhận diện các diễn viên nổi tiếng Nhật Bản. Ứng dụng hơi bị “nổi” vượt quá mong đợi (đến mức làm mình sạch tiền, phải tạm dừng hoạt động), gây ra bao chuyện dở khóc dở cười.

Hiện tại, ứng dụng đã ngưng hoạt động (Cứ vào thử nếu hữu duyên sẽ chạy được). Nhiều bạn ngỏ ý muốn xin source code để học hỏi (Quả là bể học vô biên, thiện ***tai). Anh Thuận bên azurevn.net cũng có đề nghị mình viết vài dòng về  Microsoft Cognitive API.

Do vậy, mình viết luôn một series giới thiệu công nghệ và hướng dẫn viết một chương trình tương tự:

  • Phần 1 – Chuyện ngày xưa – về sự ra đời của Nhận Diện Idol
  • Phần 2 – Kiến trúc và các công nghệ sử dụng
  • Phần 3 – Nào mình cùng đi cào dữ liệu
  • Phần 4 – Nhận diện khuôn mặt với Microsoft Cognitive Service
  • Phần 5 – Testing thuật toán – Sự thật về độ chính xác 60-80%
  • Phần 6 – Từ demo tới deploy – Vô Thai Kiếm (Serverless Architecture)

Ngoại trừ phần 1 là kể chuyện nhẹ nhàng giải trí, các phần còn lại đều khá nặng về kĩ thuật, cần kiến thức lập trình cơ bản. Phần 3 tới 6 sẽ hướng dẫn các bạn tự viết một chương trình tương tự Nhận diện Idol.

Các bạn cùng thưởng thức câu chuyện hài hước lý thú trong phần 1 này nhé.

thisismystory_-_video

Continue reading Tôi đã viết “Nhận diện Idol” như thế nào – Phần 1 – Chuyện ngày xưa

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

Những dòng code giết người – Đạo đức và cái tâm của developer

Thuở đi học, chúng ta từng được học môn “Đạo đức nghề nghiệp“. Môn này cũng khá là nhàm chán, mình chỉ nhớ mang máng nội dung là lập trình viên không được lừa đảo, gây hại cho khách hàng v…v gì gì đó.

Xét cho cùng, đạo đức vô cùng quan trọng với những ngành liên quan trực tiếp tới mạng sống con người như ngành y, nên lúc nào ta cũng nghe than phiền về y đức. Đạo đức trong ngành lập trình liệu có quan trọng vậy không?

Câu hỏi sẽ được trả lời ở cuối bài viết nhé!

Continue reading Những dòng code giết người – Đạo đức và cái tâm của developer

Series Phản Phác Quy Chân – Tránh over-engineering

Over-engineering có thể tạm hiểu là “làm phức tạp hóa vấn đề”, một lỗi mà các bạn lập trình viên vừa đi làm hay gặp phải. Bài viết này sẽ làm rõ sai lầm này và đưa ra một số lời khuyên cho các bạn.

Ngày xửa ngày xưa

Xin mở đầu bài viết bằng một câu chuyện nhỏ nhỏ về bạn H. Thuở mới vào trường Đại Học, H được học Java để viết Hello World. Đây là cảnh giới đầu tiên của code học, không biết chiêu thức, chỉ chú tâm viết code cho chạy được.

1

Continue reading Series Phản Phác Quy Chân – Tránh over-engineering

Lozi.vn đã “vô ý” để lộ dữ liệu 2 triệu người dùng như thế nào

Trong quá trình viết series Bảo mật nhập môn, mình vẫn hay đi nghịch dạo, tìm lỗi bảo mật dạo theo tinh thần “code dạo” của blog. Lẽ tất nhiên, đã tìm lỗi thì phải tìm các trang to to, nhiều người dùng một tí, chứ trang nho nhỏ thì ai quan tâm.

Là developer, mình không đủ giỏi về mạng hay hạ tầng để có thể tấn công server hay DDOS gì gì đó. Vì vậy, mình quyết định chỉ kiểm tra web và app, hai thứ mình rành nhất. Việt Nam nói là làm, mình bắt đầu truy cập website của app của 1 số ông lớn như tiki, lazada, foody….

screen-shot-2016-11-25-at-11-46-14-pm

Việc dò lỗi cũng giống như câu cá vậy, đôi khi câu được cá bự, đôi khi câu cả buổi không được con nào. Kì này, mình câu được một con cá nho nhỏ mà… nguy hiểm của lozi.vn.

Continue reading Lozi.vn đã “vô ý” để lộ dữ liệu 2 triệu người dùng như thế nào

Series Chuyện bên Khựa: Lần đầu làm “chuyện ấy” ở Thẩm Quyến

Hôm trước mình vừa tham dự China High-tech Fair ở Thâm Quyến. Đây là một hội chợ công nghệ cao, được tổ chức một lần mỗi năm, quy tụ các công ty công nghệ cao từ khắp Trung Quốc về tụ hội. Ở hội chợ này, mình có được tiếp xúc với một số công nghệ thú vị.

Tất nhiên là không quên phần các bạn đọc thân thương, mình cũng có chụp ảnh và quay phim chúng lại. Mình chỉa sẻ với bà con để mọi người thấy công nghệ của các bạn Khựa hiện đại cỡ nào.

Bài viết bao gồm khá nhiều hình ảnh và clip. Mỗi clip chỉ khoảng 5-10s thôi nên các bạn đừng bỏ lỡ nhé.

Continue reading Series Chuyện bên Khựa: Lần đầu làm “chuyện ấy” ở Thẩm Quyến