Tag Archives: programming

Series Nhập Môn Lập Trình – Công việc thường ngày của một lập trình viên

Đây là bài viết đầu tiên trong series Nhập Môn Lập Trình Không Code. Như mình đã nói ở bài viết trước, đây là series mang tính định hướng, giúp các bạn sinh viên hoặc các em lớp 12 có cái nhìn tổng quát hơn về ngành phần mềm trước khi quyết định theo đuổi nó.

Bài viết này sẽ trả lời câu hỏi “Làm lập trình viên là làm gì?” và giới thiệu những công việc hằng ngày của mỗi lập trình viên.

Continue reading Series Nhập Môn Lập Trình – Công việc thường ngày của một lập trình viên

Advertisements

Series Nhận diện Idol: Phần cuối – Từ Demo tới Deploy – Hoàn chỉnh ứng dụng

Kết thúc phần trước, chúng ta đã Oauth WebTask để viết xong RestAPI của ứng dụng theo kiến trúc Serverless. Ở phần cuối này, chúng ta sẽ sử dụng AngularJS để tạo một ứng dụng Web đơn giản.

Nếu chưa sử dụng AngularJS bao giờ, hãy đọc bài viết này để có đủ kiến thức cơ bản AngularJS để làm theo hướng dẫn nhé: http://sangplus.com/angular-js-101-gioi-thieu-ve-angularjs.html

Viết code HTML

Mở IDE ưa thích của bạn lên để bắt đầu code nào. Ta tạo 3 file index.html, script.jsstyle.css cùng thư mục nhé.

screen-shot-2017-01-17-at-2-25-34-pm

Continue reading Series Nhận diện Idol: Phần cuối – Từ Demo tới Deploy – Hoàn chỉnh ứng dụng

Giới thiệu series “Nhập Môn Lập Trình Không Code”

Từ câu hỏi của nhiều bạn trẻ

Hiện nay, ngành lập trình đang là một ngành hot, nhận được sự chú ý của nhiều bạn trẻ.

Từ lúc viết blog đến này mình vẫn thường nhận được câu hỏi “Làm sao để trở thành một lập trình viên”, hoặc “Em đi học rồi nhưng vẫn còn đang mù mờ không biết ngành này thế nào, nên học những gì ?”.

Những câu hỏi này thường đến từ các bạn học sinh sắp thi Đại Học, sinh viên năm nhất năm hai, hoặc những bạn đã tốt nghiệp, đã đi làm nhưng có hứng thú muốn tìm hiểu về ngành IT.

Số lượng câu hỏi mình nhận được không hề ít, cho thấy có rất nhiều bạn quan tâm đến ngành IT và muốn theo đuổi nó.

Continue reading Giới thiệu series “Nhập Môn Lập Trình Không Code”

Series Nhận diện Idol: Phần 6.2 – Từ Demo tới Deploy, viết RestAPI cho ứng dụng với WebTask

Sau khi đọc phần trước, bạn đã hiểu được khái niệm serverless. Ở phần này, chúng ta sẽ biến hàm recognize đã viết ở phần 5 thành một RestAPI. Với cách thông thường, ta sẽ dùng NodeJS để viết một ứng dụng rồi deploy nó lên 1 server nào đó (Xem ví dụ phần 3 bài deploy chatbot).

Tuy nhiên, lần này chúng ta sẽ dùng kiến trúc Serverless, chỉ viết code và để bên thứ 3 lo các phần server và deploy. Sau khi đã có RestAPI này, ta viết 1 ứng dụng web nho nhỏ, dùng API này để nhận diện VAV idol. Sản phẩm cuối cùng: http://jav-idol.toidicodedao.com/vav/

Continue reading Series Nhận diện Idol: Phần 6.2 – Từ Demo tới Deploy, viết RestAPI cho ứng dụng với WebTask

Series Nhận diện Idol: Phần 6.1 – Luận về Serverless – Vô Thai Kiếm

Như đã nói trong bài đầu của series, mình áp dụng kiến trúc serverless trong thiết kế hệ thống. Kiến trúc này giúp ứng dụng có thể đáp ứng hàng triệu người truy cập với giá thành vô cùng rẻ. Trước khi bắt tay vào code, ta hãy cùng tìm hiểu khái niệm và kiến trúc Serverless nhé.

Serverless là cái chi chi?

Serverless được dùng để chỉ 2 khái niệm khác nhau (nhưng lại khá liên quan với nhau):

  1. Một số ứng dụng chuyển phần lớn logic về front-end, không có server để làm back-end (serverless)  mà chỉ sử dụng các API của bên thứ 3 để thay thế. Ví dụ trong Nhận diện Idol, mình không viết code trên server mà dùng API của Cloudinary upload ảnh và Firebase để hiển thị realtime. Nhiều ứng dụng di động cũng dùng kiến trúc này (Backend as a Service – BaaS).
  2. Một số trường hợp khác, lập trình viên phải tự viết code để làm back-end. Với mô hình client-server thông thường, ta phải thuê server rồi deploy ứng dụng lên server. Với mô hình serverless, thay vì deploy code này lên server, ta deploy nó đưới dạng một Function (Function as a Service – FaaS). Funtion này có thể được gọi dưới dạng RestAPI hoặc chạy theo lịch đã sắp sẵn.

Continue reading Series Nhận diện Idol: Phần 6.1 – Luận về Serverless – Vô Thai Kiếm

Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Với một người có tâm hồn bay bổngđầu óc sáng tạo như tác giả blog Code dạo (là mình) thì cái thứ quái gì cũng có thể biến thành bài viết được.

Hôm nay khi mình đang ngồi đọc sách dưới tán cây thì bỗng… một quả sầu riêng nặng nửa kg rơi trúng đầu. Nhờ vậy mà mình mới nảy ra cảm hứng viết series này. Tên đầy đủ của series là Từ Chuyện Code Ngẫm Chuyện Đời, do hơi dài nên mình rút gọn lại thành Chuyện Code Chuyện Đời cho dễ đọc dễ nhớ!

Trong quá trình học và đi làm, đôi khi ta học được nhiều kĩ thuật lập trình, thuật toán và các nguyên lý rất hay ho. Khi quả sầu riêng rơi vào đầu, mình chợt ngộ ra rằng: những kĩ thuật cũng như nguyên lý này không chỉ áp dụng được trong code mà còn có thể áp dụng vào đời sống.

Series Chuyện Code Chuyện Đời ra đời từ đó. Bài viết đầu tiên trong series sẽ nói về chuyện optimize (tối ưu hoá) code và optimize cuộc sống.

Continue reading Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Series Nhận diện Idol: Phần 4.2 – Sử dụng Microsoft Face API để training hệ thống

Sau phần 4.2, hẳn các bạn cũng đã hiểu cơ chế hoạt động của một hệ thống nhận diện khuôn mặt. Trong phần này, chúng ta sẽ sử dụng dữ liêu khuôn mặt đã có của 12 VAV Idol để huấn luyện cho máy (Được ngắm gái xinh chắc nó mừng lắm). Bắt đầu nào!

screen-shot-2017-01-06-at-4-45-17-pm

Continue reading Series Nhận diện Idol: Phần 4.2 – Sử dụng Microsoft Face API để training hệ thống

Series Nhận diện Idol: Phần 4.1 – Lý thuyết và cơ chế nhận diện khuôn mặt

Ở phần 3, chúng ta đã có cơ sở dữ liệu của các VAV Idol xinh đẹp. Ở phần này, ban đầu mình cũng định hướng dẫn các bạn sử dụng trực tiếp API của Microsoft luôn.

Tuy vậy, mình nhận được nhiều feedback dạng: Sau không hướng dẫn cách code từ đầu bằng thuật toán mà lại sử dụng API? Xài API có gì hay ho cao siêu đâu?

filtered

Ờ mà cũng đúng thật, dùng API có gì cao siêu đâu nhỉ? Bản thân mình cũng không muốn các bạn chỉ biết cắm đầu dùng API mà không rõ cơ chế hoạt động bên trong.

Nhận diện khuôn mặt là một trong những ứng dụng phổ biến của Machine Learning. Nguyên tắc hoạt động của chúng cũng khá thú vị nên biết thêm một chút cũng không hại gì. Thôi thì tiện tay mình thêm tí “Học thuật” vào bài viết cho nó phức tạp hơn vậy.

Các bạn chịu khó đọc kĩ nguyên lý trước khi nhảy vào code nhé.

Continue reading Series Nhận diện Idol: Phần 4.1 – Lý thuyết và cơ chế nhận diện khuôn mặt

Rảnh rỗi không biết code gì, sao không làm pet project?

Hôm trước, sau khi post bài viết “Lập trình viên lúc rãnh rỗi thì làm gì?”, mình nhận được một câu hỏi từ nhiều bạn: “Anh ơi, lúc rảnh em thích code cơ! Nhưng mà em không biết phải code gì?”.

Mình viết bài này để trả lời tường tận hơn câu hỏi của các bạn. Lời khuyên của mình là: Nếu không biết code gì, hãy tìm pet project và code. Pet project ở đây là một dự án ngắn ngắn, nho nhỏ do chúng ta tự nghĩ ra.

Vậy code pet project thì được gì? Làm sao nghĩ ra ý tưởng và giới thiệu pet project tới mọi người? Đọc bài viết để biết nhé!

Continue reading Rảnh rỗi không biết code gì, sao không làm pet project?

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