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

SOLID Principles #2: Open/Closed Principle

Chào mừng các bạn tiếp tục với series SOLID Principles của mình. Bài trước mình có giới thiệu với mọi người về nguyên tắc đầu tiên là Single Responsibility Principle. Ngay tiếp theo đây, trong bài viết mình sẽ giớii thiệu tới các bạn nguyên tắc tiếp theo, cùng đón đọc nhé! Định nghĩa: a ...

Tác giả: Bùi Văn Nam viết 17:57 ngày 12/08/2018

Rails Stack Trace

1. Stack Trace là gì: Trong quá trình lập trình Rails, thỉnh thoảng ta sẽ thấy những thông báo lỗi như thế này. Thông báo lỗi đang hiển thị Stack Trace, bao gồm 3 phần ApplicationTrace (được hiển thị mặc định), Framework Trace và Full Trace. Stack Trace là thứ tự chi tiết các ...

Tác giả: Tạ Quốc Bảo viết 17:57 ngày 12/08/2018

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

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

Tìm hiểu Queue trong Laravel

Laravel Queue là gì? Một hàng đợi (queue) là một danh sách những việc cần làm (job) được quản lý theo thứ tự. Khi chúng ta muốn thêm một công việc (job) vào hàng đợi, job phải implement interface IlluminateContractsQueueShouldQueue. Laravel Queue driver được sử dụng để quản lý các job như thêm ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

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

Ruby_Cloud development environment (Cloud9)

Development Environment Môi trường phát triển thì tùy vào thói quen của từng developer có thể tùy chỉnh khác nhau. Nhưng nói chung thì được chia thành 2 môi trường là: môi trường sử dụng Text editor & command line; và IDE (Integrated Development Environment) - môi trường phát triển tích ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

Ruby hijacking

Bài viết tham khảo từ bài phát biểu của @tagamoris (Fluentd maintaine, Treasure Inc) và @joker1007 (CTO Repro) tại Ruby kaigi 2018. https://www.slideshare.net/tagomoris/hijacking-ruby-syntax-in-ruby Trong ruby core có tồn tại sẵn class Binding. Các object của class Binding đóng gói ngữ cảnh ...

Tác giả: Bùi Văn Nam viết 17:57 ngày 12/08/2018

Fast JSON API serialization với Rails

Giới thiệu Nếu các bạn đã từng làm việc với Rails5 api thì chắc cũng từng ít nhất 1 lần sử dụng Activemodel Serializer, và hôm nay tôi sẽ giới thiệu cho các bạn 1 thư viện "tương tự" nhưng tốc độ thì vô cùng nhanh như cái tên của nó fast_jsonapi "A lightning fast ...

Tác giả: Bùi Văn Nam viết 17:57 ngày 12/08/2018

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

Firebase Cloud Messaging

Firebase Clound Messaging (FCM) là giải pháp tin nhắn đa nền tảng cho phép bạn phân phối tin nhắn đáng tin cậy mà hoàn toàn không tốn một chi phí nào. Sử dụng FCM , bạn có thể thông báo tới ứng dụng client rằng một email mới hay dự liệu mới đã sẵn sàng để đồng bộ. Bạn có thể gửi tin nhắn thông ...

Tác giả: Tạ Quốc Bảo viết 17:57 ngày 12/08/2018

Những điều cần biết khi học PHP

Để bắt đầu với một ngôn ngữ thì không đâu chuẩn chỉ bằng trang chủ của nó, và PHP cũng vậy. Tuy nhiên, để ngồi đọc hết chỗ text trong document ấy thì rất là gian nan. Vì vậy mình xin tổng hợp một số mục mà mình nghĩ là tiêu biểu khi tìm hiểu về ngôn ngữ PHP. Các đặc điểm cơ bản của lập trình ...

Tác giả: Tạ Quốc Bảo viết 17:57 ngày 12/08/2018

Thao tác với NSAttributedString sử dụng thư viện SwiftRichString

Như ta đã biết đối tượng NSAttributedString của framework UIKit cho phép quản lý các ký tự và các thuộc tính của từng ký tự này trong chuỗi. Thư viện SwiftRichString cung cấp các cơ chế tiện ích cho phép người lập trình dễ dạng định nghĩa và tương tác với NSAttributedString, định hình string ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

Phần1: Vẽ các hạt ngẫu nhiên

Hiệu ứng này được tạo ra từ các hạt di chuyển ngẫu nhiên, và khi chúng tới gần nhau thì sẽ được liên kết với nhau bằng một đoạn thẳng, nên việc đầu tiên chúng ta cần làm là vẽ ra các hạt ngẫu nhiên trên khung hình. Để có thể sử dụng các bạn cần khai báo thẻ canvas trong tập tin HTML: ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

Active Record Association: Relation (PART 1)

Mở đầu Trong rails, một association giúp kết nối giữa 2 hoặc nhiều model Nó giúp việc truy vấn cơ sở dữ liệu đơn giản và dễ dàng hơn, code ngăn gọn hơn. this is example for use or not active record The Types of Associations Rails hỗ trợ 6 loại assocications: belongs_to has_one ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

[Series-DesignPatternInRuby] Adapter Pattern

Nói về Adapter trong thực tế thì chúng ta có cả hàng đống ví dụ mà chúng ta gặp trong cuộc sống hằng ngày, chúng ta sử dụng hằng ngày nó nhưng không hề để ý. Trong trường hợp mà chúng ta muốn cắm một cái sạc pin 3 chân vào 1 cái ổ cắm 2 chân, khi mà thiết kế của 2 thành phần không giống nhau ...

Tác giả: Tạ Quốc Bảo viết 17:57 ngày 12/08/2018

Ruby_Functional Testing

Trong bài Ruby_Unit testing thì mình đã tìm hiểu cách kiểm tra code đối với model, trong bài này sẽ tìm hiểu cách kiểm tra code trên controller – hay còn gọi là Functional Testing. Khi tạo một controller thì Rails sẽ tự động tạo ra một file dùng để test controller này. Ngoài ra, khi ...

Tác giả: Bùi Văn Nam viết 17:57 ngày 12/08/2018

Tích hợp framework front-end vào dự án Rails

Xu hướng của lập trình web hiện nay đã khác trước rất nhiều, khi mà phần lớn các xử lý logic phần lớn nằm ở phía front-end làm cho gánh nặng càng ngày càng đè lên vai JavaScript (JS) thì các công cụ hỗ trợ cho JS như typing, task runner, test tools,... và rất nhiều thứ, nói chung là không thể thiếu ...

Tác giả: Trịnh Tiến Mạnh viết 17:57 ngày 12/08/2018

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