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ẻ.

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ó?

Mỗi tháng một cuốn sách – Những sách hay mình đã đọc trong năm 2016 – Phần 2

Nối tiếp phần 1, mình sẽ giới thiệu những cuốn hay nhất đã đọc từ tháng 7 tới tháng 12 năm nay.

Tháng 7 – The Art of Seduction

88961_ArtofSed_CDbox_OT

Sách có cái tựa rất cuốn hút: “Nghệ thuật quyến rũ”. Tuy vậy, nội dung sách khá là “tà đạo” khi đề cập đến những chiêu trò quyến rũ người khác giới như: Lựa chọn mục tiêu, Cô lập đối tượng, Tăng cường đụng chạm, Thả thính rút thính, …

Những điều này được đề cập một cách “hoàn toàn nghiêm túc”, thông qua những hình mẫu quyến rũ nổi tiếng trong lịch sử và văn học như Cleopatra, Marilyn Monroe, Cassanova, …. Các bạn nam nữ đều nên đọc, nếu không đọc để biết cách thả thính nhau thì cũng nên đọc để biết thêm về lịch sử.

Continue reading Mỗi tháng một cuốn sách – Những sách hay mình đã đọc trong năm 2016 – Phần 2

Mỗi tháng một cuốn sách – Những sách hay mình đã đọc trong năm 2016 – Phần 1

Từ khi ra trường, mình vẫn luôn giữ thói quen đọc sách, vừa để giải trí vừa để học hỏi cái mới. Cảm giác cầm cuốn sách (hoặc iPad) nghiền ngẫm từng chữ cũng khá thú vị. Để khuyến khích thói quen đọc sách, cũng như chia sẻ sở thích với một số bạn, bài viết này sẽ là review tổng hợp ngắn những cuốn sách hay nhất mình đã đọc trong năm vừa rồi.

Do mình đọc khá nhiều thể loại: technical, kĩ năng sống, kinh tế, marketing, tiểu thuyết, tản văn, … nên những sách giới thiệu sẽ không theo một chủ đề cố định nào cả. Mỗi tháng mình đọc khoảng 6,7 cuốn sách. 12 cuốn sách dưới đây là 12 cuốn sách hay nhất mà mình đọc được mỗi tháng. Các bạn có thể xem toàn bộ danh sách ở cuối bài.

Năm ngoái mình cũng có bài review tương tự, các bạn có thể xem ở đây: Mỗi tháng một cuốn sách – Năm 2015. Sắp tới mình cũng sẽ xuất bản một cuốn sách, nếu chưa làm survey thì bạn vào đây là survey giúp mình nhé: https://goo.gl/forms/z56ptOE7RZXL6cFU2.

Continue reading Mỗi tháng một cuốn sách – Những sách hay mình đã đọc trong năm 2016 – Phần 1

Lời thỉnh cầu từ Tôi đi code dạo đến bạn đọc!

Các bạn đọc thân mến,

Hôm nay, mình xin kể cho các bạn nghe một câu chuyện vô cùng cảm động:

Ngày xửa ngày xưa, từng có một người con gái mình yêu say đắm. 

Có lần, mình từng thổ lộ với nàng: "Anh có một cái blog IT nho nhỏ để chia sẻ kinh nghiệm cho các bạn sinh viên. Ước mơ của anh là một ngày nào đó, anh có thể xuất bản một cuốn sách, để đưa kiến thức đến được với nhiều người hơn".

Nàng e lệ đáp: "Ừm, anh làm gì em cũng ủng hộ. Ngày anh ra sách cũng là ngày ... em thuộc về anh".

Giờ nàng đã lấy chồng, còn mình vẫn ngồi đây, ngày ngày lủi thủi viết blog, đem kiến thức đến cho bạn đọc.

Continue reading Lời thỉnh cầu từ Tôi đi code dạo đến bạn đọc!

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