Bài viết của Hoàng Hải Đăng

Tạo Recyclerview adapters awesome với MultiViewAdapter

Hiện tại Recyclerview đã trở thành một widget quan trọng và phần lớn các app Android đều sử dụng. Nó là một công cụ mạnh mẽ, rất tiện lợi và có thể cover hầu hết các case mà lập trình viên muốn. Tuy nhiên vì sự linh hoạt của nó nên lập trình viên có thể vấp phải một vài khó khăn khi tạo ...

Tác giả: Hoàng Hải Đăng viết 16:57 ngày 12/08/2018 chỉnh sửa

3 bước để sửa vấn đề Encoding trong Ruby

Developer thường rất ít khi để ý tới vấn đề encoding của string. Chúng ta chỉ nghĩ tới chúng khi encoding gặp vấn đề chúng ta nhận được 1 exception Encoding::InvalidByteSequenceError: "xFE" on UTF-8 hoặc 1 ký tự nào đó bị hiển thị sai như thế này chẳng hạn they’re Khi gặp vấn đề này chúng ...

Tác giả: Hoàng Hải Đăng viết 16:57 ngày 12/08/2018 chỉnh sửa

Android - Speech Recognition

Tiếp nối bài viết về Web Speech Recognition, bài viết này của mình sẽ viết về Speech Recognition trên Android. Trên viblo cũng có mấy bài viết hướng dẫn sử dụng Speech Recognition trên Android, tuy nhiên các ví dụ trong đó đều yêu cầu sử dụng popup để bắt đầu nhận dạng giọng nói và chỉ cho phép ...

Tác giả: Hoàng Hải Đăng viết 16:57 ngày 12/08/2018 chỉnh sửa

Top 5 open source ChatOps

Chat Bot mã nguồn mở là chương trình rất hữu ích để thực hiện các tác vụ tự động hoặc các tác vụ trong một cuộc trò chuyện nhóm như điện tín, IRC ... Dưới đây là danh sách các chương trình chat bot đã có giấy phép mã nguồn mở và được tự do deploy ở bất kỳ domain nào. 1. Lita ...

Tác giả: Hoàng Hải Đăng viết 16:57 ngày 12/08/2018 chỉnh sửa

Cùng nhau học VueX (Phần 1)

Xin chào các bạn, lại đến dịp được update profile cho Viblo rồi =)). Cũng hơi cạn kiệt đề tài nên sẽ dùng một cái gì đó không mới lắm, nhưng mình cũng không thấy nhiều hướng dẫn khi tìm trên google lắm. Seri này chúng ta sẽ dùng VueX để xây dựng một công việc quá quen thuộc (thậm chí là nhàm chán) ...

Tác giả: Hoàng Hải Đăng viết 16:56 ngày 12/08/2018 chỉnh sửa

Phần 4 - Setting project

Trong bài viết này, chúng ta sẽ tìm hiểu cách khai báo và cài đặt các thuộc tính trong Gradle và sử dụng chúng trong quá trình phát triển một Android project. Setting project properties Khi chúng ta muốn khai báo một thuộc tính trong Gradle chúng ta có thể sử dụng khối block ext{} trong ...

Tác giả: Hoàng Hải Đăng viết 16:56 ngày 12/08/2018 chỉnh sửa

Tìm hiểu về Migration

Migration là một tính năng của Active record cho phép bạn thay đổi cả cấu trúc và dữ liệu trong database. Thay vì thay đổi trực tiếp vào database thì Rails cho phép bạn sử dụng Ruby DSL để mô tả việc thay đổi các table. Tiện gần đây dự án mình gặp vấn đề về migration nên mình viết bài viết này. Bài ...

Tác giả: Hoàng Hải Đăng viết 16:56 ngày 12/08/2018 chỉnh sửa

Tài nguyên tuyệt vời dành cho lập trình viên Android

Bài viết được dịch từ trang web Udacity Một trong những điểm hấp dẫn nhất khi trở thành một lập trình viên Android đó là nó có một cộng đồng rất sôi động. Hệ sinh thái các nhà phát triển Android là năng động và cộng tác, với việc chia sẻ các bí quyết, thủ thuật và hướng dẫn trên internet và ...

Tác giả: Hoàng Hải Đăng viết 16:56 ngày 12/08/2018 chỉnh sửa

Scrum - Under the hood

Việt Nam vô địch. Vâng, rất xin lỗi các bạn, tôi viết bài này 1 ngày sau trận thắng tuyệt vời của đội tuyển U23 Việt Nam trước U23 Qatar, trong tâm trạng phấn khích và phần nào bất ổn. Và nói thật là tôi cũng chẳng hiểu Under the hood là gì. Căn bản thấy nhiều authors dùng nên tôi cũng cho vào ...

Tác giả: Hoàng Hải Đăng viết 16:55 ngày 12/08/2018 chỉnh sửa

Những chú ý khi sử dụng Uniqueness Validations

Ứng dụng Rails của bạn có thể sử dụng validations uniqueness ở một số nơi chính. Việc validation hợp lệ này cung cấp một trải nghiệm cho người dùng khi nhân bản bản ghi được phát hiện nhưng sau đó một chút, không đủ để đảm bảo tính toàn vẹn của dữ liệu. Chúng ta hãy nhìn vào một ví dụ ở class ...

Tác giả: Hoàng Hải Đăng viết 16:55 ngày 12/08/2018 chỉnh sửa