Tag Archives: javascript

Gắn râu JAV Idol – Phần 2: Làm quen với các thư viện và API cần sử dụng

Series này gồm 3 phần:

  1. Cơ chế hoạt động của các filter Snapchat và Facebook Messenger
  2. Làm quen với các thư viện và API cần sử dụng
  3. Gắn râu bằng cách kết hợp Face Detection + Image Processing và… Toán Học

 

Ở phần trước, chúng ta đã tìm hiểu về cơ chế hoạt động của các filter trên Snapchat và Facebook. Sau đó, chúng ta đã setup code gọi API để nhận diện các đặc điểm của khuôn mặt.

Trong phần này, chúng ta sẽ đi sâu vào việc sử dụng kĩ thuật xử lý hình ảnh để… gắn râu vào khuôn mặt nhé!

Continue reading Gắn râu JAV Idol – Phần 2: Làm quen với các thư viện và API cần sử dụng

Advertisements

Đừ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)?

Gắn râu Sơn Tùng – Phần 1 : Bắt chước tính năng cực hay của Snapchat và Facebook

Hôm trước, mình có nhận được một câu hỏi tưởng chừng đơn giản nhưng lại rất hóc búa từ một bạn đọc:

Anh ơi, tại sao Facebook Messenger và Snapchat có thể làm các filter ngầu lòi, có thể gắn râu, gắn tai thỏ, đội mũ cho người dùng qua camera vậy.

Đằng sau một tính năng vui vui, đơn giản như vậy lại là một nền tảng các công nghệ cực kì phức tạp từ facial recognition cho đến image processing, hoàn toàn… không dễ một xíu nào.

Vì thế, trong bài này, chúng ta cùng tìm hiểu cơ chế hoạt động của chúng, sau đó làm một ứng dụng tương tự mang tên … gắn râu Sơn Tùng nhé.

Series này gồm 3 phần:

  1. Cơ chế hoạt động của các filter Snapchat và Facebook Messenger
  2. Làm quen với các thư viện và API cần sử dụng
  3. Gắn râu bằng cách kết hợp Face Detection + Image Processing và… Toán Học

 

Đây là ảnh gốc Sơn Tùng trước khi được gắn râu:

Animated GIF - Find & Share on GIPHY

Còn đây là ảnh Sơn Tùng sau khi đã gắn râu nhờ ứng dụng:

Animated GIF - Find & Share on GIPHY

Thú vị chưa nào? Chúng ta cùng bắt đầu nhé!

Continue reading Gắn râu Sơn Tùng – Phần 1 : Bắt chước tính năng cực hay của Snapchat và Facebook

Lật mặt tốc độ tải trang “rùa bò” của Sên Đô và Tiki

Trong bài trước, mình đã chia sẻ về công nghệ “hiện đại” đằng sau tốc độ tải trang chóng mặt của web Thế Giới Di Động.

Mình cũng có chia sẻ về cách optimize front-end nhằm đạt được tốc độ trên. Việc đó hoàn toàn không quá khó, dù bạn có là junior front-end dev. Điển hình là các trang phía dưới do mình đã otpimize:

Thế nhưng, nhiều bạn hỏi mình là “Nếu dễ vậy, tại sao các trang khác không bắt chước Thế Giới Di Động? Tại sao chỉ có TGDD là load nhanh?”

Thế là, mình lại đi tìm hiểu một số đối thủ khác của TGDD như Tiki, Sên Đô. Quả thật, các trang hơi load khá “rùa bò”, không nhanh bằng Thế Giới Di Động.

Tại sao vậy nhỉ? Chúng ta cùng tìm hiểu, thử đưa ra lời khuyên để cải thiện tốc độ tải trang xem sao nhé!

Full disclosure: Mình không được đồng quảng cáo nào khi khen thegioididong và chê các trang dưới đâu nhe nhe 😉

Continue reading Lật mặt tốc độ tải trang “rùa bò” của Sên Đô và Tiki

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

Lightning Talk Kì 9 – Năm ngôn ngữ lập trình đáng học năm 2018

Vlog này sẽ chia sẻ về những ngôn ngữ lập trình đáng học trong năm 2018 nhé.

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

Hiện tại đã được gần 4000 sub, nếu lượng subscribe được 5000 mình sẽ cố gắng livestream trên Youtube thường xuyên hơn để tri ân nhe, cảm ơn mọi người 😉.

 

Trong số các ngôn ngữ lập trình này, thứ nào cũng có cái hay cái mạnh riêng nên mỗi người sẽ có cái nhìn khác nhau. Do vậy, mình sẽ cố gắng khách quan hết mức có thể!

Các ngôn ngữ được mình lựa chọn, đánh giá xếp hạng theo sức mạnh của ngôn ngữ, độ phổ biến, nhu cầu tuyển dụng, khả năng tìm việc v..v nha.

Các ngôn ngữ lập trình đuợc nhắc đến trong vlog:

  1. JavaScript
  2. Java
  3. C#
  4. Python
  5. PHP

Bài viết gốc tại blog: https://toidicodedao.com/2018/01/02/top-5-ngon-ngu-lap-trinh-dang-hoc-cho-nam-2018/

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