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

Gửi thông báo tới user của game thông qua firebase.

Chào các bạn! Như các bạn cũng biết, khi chúng ta bỏ ra thật nhiều tâm huyết để tạo ra một game thật thú vị, thì ai trong chúng ta cũng sẽ mong muốn có thật nhiều người chơi, nhiều người biết tới nó! Và để có được user đã khó, việc giữ user đó tiếp tục chơi game, nhớ tới game còn khó hơn nữa. ...

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

Tạo ứng dụng Streaming Video bằng 2 cách

Tiếp nối chủ đề về Stream Media, ở bài viết trước mình đã chia sẻ về cách Xây dựng ứng dụng streaming audio | MediaPlayer API nếu các bạn đã bỏ lỡ có thể vào đọc lại. Hôm nay chúng ta sẽ cùng nhau tạo một ứng dụng Stream Video bằng những cách làm đơn giản và từng bước để hiểu nhiều hơn về nó nhé. ...

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

Pattern matching trong JavaScript

Có một ECMAScript proposal khá thú vị mới đang ở stage 0 về pattern matching. Tác giả của proposal này là Brian Terlson, tác giả của proposal async/await, và Sebastian Markbåge Tất nhiên vì nó mới ở stage 0 nên bạn vẫn chưa thể thử chạy chỗ code trong bài này được. Nói ngắn gọn về pattern ...

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

Mybatis va Spring

MyBatis là một persistence framework mã nguồn mở, đơn giản, gọn nhẹ và dễ sử dụng. Trước đây MyBatis được gọi là iBatis và được viết ra năm 2002 bởi Clinton Begin. Mybatis 3 được thiết kế lại từ iBatis, có hỗ trợ Mapper và Annotations. Sự khác nhau lớn nhất giữa Mybatis và các persistence framework ...

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

Interactor Design Pattern trong Ruby (Phần 2)

Tiếp theo của phần 1, chúng ta sẽ đi vào phân tích ví dụ về Organizer thông qua class PlaceOrder Dựa vào ví dụ ở cuối phần trước, có thể thấy mỗi interactor được thực hiện truyền qua 1 ngữ cảnh (hoặc 1 đối số) tới đối tượng tương tác tiếp theo. Ví dụ, ở organizer kể trên thì chỉ thực hiện việc đi ...

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

Viết Rspec cho Controller

Viết Rspec là 1 phần không thể thiếu trong quá trình phát triển ứng dụng, bên cạnh những phần test logic trong Model thì phần viết test cho controller cũng là 1 phần khá quan trọng của việc viết Rspec. Tổ chức test. 'Describe' và 'Context' là 2 thành phần giúp cho phần tổ chức test của chúng ...

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

Convert SharePreferences Android sang kotlin

Những gì cần tìm hiểu đã có hết trong bài viết này rồi: https://viblo.asia/p/toi-uu-android-shared-preferences-924lJM8bZPM Hôm nay mình sẽ mạn phép dùng bài viết của tác giả ở trên để hướng dẫn các bạn convert SharePreferences của Android sang Kotlin 1.1. Phần khởi tạo SharedPrefs companion ...

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

Ansible Fundamentals - Ad-hoc Commands

Introduction. Việc triển khai và quản lý servers một cách đáng tin cậy và hiểu quả không phải là một công việc đơn giản. Khi những công cụ như Ansible chưa xuất hiện, luôn có một rào cản giữa các quản trị viên hệ thống (system administrators) với các nhà phát triển (developers) cũng như người ...

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

tools:title="LayoutPreview"

Chắc hẳn các bạn khi bắt đầu phát triển ứng dụng Android đều bắt đầu bằng việc xây dựng các layout với giá trị hard-coding như android:text="Họ và tên", android:text="Ngày sinh"... Sau đó chúng ta có thể là nhận được các lời chỉ bảo hoặc đọc từ các hướng dẫn trên mạng và chuyển các giá trị ...

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

What are the differences between variables created using let, var or const?

Scope var If a variable is created inside a function, it is scoped to the function If a variable is created outside of any function, it is scoped to the global object let & const let and const are block scoped let and const are only accessible within ...

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