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

Tips extension hữu ích IOS Swift

Extension Extension nói nôm na là giúp bạn mở rộng một class có sẵn nào đó. Tức là bạn có thêm các phương thức mới vào class mà không làm thay đổi mã nguồn của 1 thư viện hay chính class của bạn chẳng hạn. Khi nào dùng Extension Cơ bản và thông dụng nhất là bạn muốn thêm 1 phương thức mới ...

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

Android Data Binding với Kotlin

Với các bạn Android dev chắc hẳn đều ít nhất đã nghe qua hoặc sử dụng thư viện Android Data Binding Hôm nay mình xin giới thiệu với các bạn những thay đổi khi dùng data binding trong android bằng kotlin. Nếu bạn làm app android bằng Java thì bạn chỉ cần thêm đoạn code dưới đây vào ...

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

Sử dụng passport.js xây dựng kịch bản đăng ký và đăng nhập

Passport.js là một trong những module phổ biến của Nodejs , và cũng là middleware hết sức linh hoạt và có khả năng tùy biến cao. Passport.js được sử dụng với nhiều kịch bản xác thực như Facebook, Google+, Twitter hay thậm chí là sử dụng kiểu xác thực thông qua local username - ...

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

Sử dụng flyway library cho việc setup integration test

Có thể các bạn đã nghe hoặc sử dụng flyway rồi, tuy nhiên ở bài viết này mình dùng flyway phục vụ cho mục đích khác, phục vụ để setup integration test. Tuy nhiên, trước khi bắt đầu mình vẫn muốn giới thiệu sơ về flyway. Flyway là một công cụ open-source dùng để migration data, cấu hình cực kì ...

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

Taking Advantage of Kotlin part 1

Kể từ Google I/O 2017, Kotlin đã ngày càng được sử dụng rộng rãi hơn trong phát triển ứng dụng, các phiên bản cập nhật cũng ngày càng mang lại nhiều tiện ích cho dev. Bài viết này mình xin giới thiệu các chuyển từ Java sang Kotlin cùng với một số tips cho người mới. Configure Kotlin Đầu tiên để ...

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

Pass argument into Rake Task

Rake task là một cách tuyệt vời để nâng cao (hoặc thậm chí tự động hóa) công việc của bạn trong một dự án ruby. Bởi vì chúng ta thường xuyên maintainance hoặc chạy các job về data migration với một số lượng data rất lớn. Những lúc như vậy Rake task là sự lựa chọn tối ưu cho bạn. Nhưng khi làm ...

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

Code Android năng suất hơn với các Android Studio plugin

Android Studio là một IDE vô cùng mạnh mẽ, nó bao gồm một giao diện đơn giản và linh hoạt cho việc thiết kế UI cho các loại thiết bị. Ta có thể kéo thả các view và widgets trong layout editor và customise chúng với một vài dòng xml. Nhưng ta vẫn luôn muốn nhiều hơn thế, để có thể làm việc hàng ...

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

Làm gì khi file log trên server quá lớn

Bạn có một vấn đề. Nhưng đó không chỉ là một vấn đề thôg thường. Bạn có một trong những loại vấn đề khó chịu nhất trong thế giới kỹ thuật. Theo cách nói đơn giản nhất, bạn đang cố mở một file log quá lớn. Nhưng nó mãi không chịu mở ra. Bạn cần tìm thứ gì đó từ file log và bạn phải đợi, chờ đợi và ...

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

Basic Subdomains in Ruby on Rails

Subdomains(Tên miền phụ), chắc hẳn cụm từ này đã quá quen thuộc với bất cứ ai am hiểu công nghệ hiện nay. Tiên miền phụ khá hữu ích cho người dùng ở một số trường hợp khác nhau. Ví dụ, bạn xây dựng một dứng dụng blog đa người dùng. Mỗi người dùng nhận được blog của riêng họ. Việc có thể cung cấp ...

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

Reactive <~ Closure

Bài viết này nói về cách để adapt một closure based API để có 1 reactive layer phía trên cùng mà không làm thay đổi logic của API đó. Closure based API Giả sử chúng ta đang sử dụng 1 framework DataProvider - với nhiệm vụ xử lý các UITableView & UICollectionView. Nếu loại bỏ đi những phần ...

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