![](/themes/images/default.png)
Cơ bản về callback trong Rails
Trong quá trình chạy một ứng dụng Rails, một object(đối tượng) có thể được tạo ra, sửa, xóa. Vòng đời của một object bao gồm nhiều trạng thái như created, saved, updated, deleted, validated hoặc load từ database. Callbacks là các phương thức được thực thi tại một thời điểm nhất định trong vòng ...
![](/pictures/picsmalls/2018/08/11/560/cfn1534002843.jpg)
Học Laravel: Service Container
"Em làm với Laravel được khá nhiều rồi, nhưng sao càng đọc càng không hiểu..." - Câu này mình nghe nhiều rồi =)). Cách bạn bắt đầu học một ngôn ngữ ảnh hưởng rất nhiều tới bước tiến của các bạn sau này. Học Laravel là series bài viết mình viết dành cho các bạn bắt đầu học Laravel. Với mục đích là ...
![](/pictures/picsmalls/2018/08/11/560/gvy1534002859.png)
Import Module, Library với Android Studio
Chào các bạn, Như chúng ta đã biết thì Android Studio sử dụng Gradle để quản lý project theo các module. Nhờ vậy việc quản lý các thư viện hỗ trợ cũng dễ dàng hơn và tiện dụng hơn. Hiện tại phần lớn các thư viện cho android đều hỗ trợ build gradle dependencies online, bạn chỉ việc copy phần ...
![](/pictures/picsmalls/2018/08/11/560/dig1534002828.png)
Vòng đời của Activity trong ứng dụng Android
Hôm nay mình xin giới thiệu với các bạn về vòng đời của 1 Activity trong ứng dụng Android. Nắm vững được điều này sẽ giúp bạn hiểu rõ ràng hơn về 1 ứng dụng Android và giúp ích rất nhiều trong quá trình phát triển ứng dụng sau này. Các Activity trong hệ thống được quản lý như 1 ngăn xếp activity ...
![](/pictures/picsmalls/2018/08/11/560/pia1534002837.png)
Thiết lập docker với remote API và ruby
Docker là gì Thời gian gần đây có rất nhiều bài viết công nghệ đề cập đến Docker. Vậy Docker là gì và tại sao nó hữu ích. Có lẽ cũng nhiều người đã biết đến khái niệm docker, ta cùng sơ qua một số khái niệm về docker. Docker là một công cụ tạo môi trường được "đóng gói" (còn gọi là ...
![](/pictures/picsmalls/2018/08/11/560/uat1534002816.jpg)
Self-host WebApi với Owin middleware
Trong bài viết trước tôi đã giới thiệu tới các bạn những khái niệm cơ bản về OWin (Open Web Interface for Net), các bạn có thể xem lại theo link sau: Tổng quan về Owin - Open Web Server Interface for .NET Để tiếp tục làm quen với Owin, trong bài viết này chúng ta sẽ xây dựng một Owin middleware ...
![](/themes/images/default.png)
Một vài lưu ý khi sử dụng Shell Script (phần 2)
Phần trước: Một vài lưu ý khi sử dụng Shell Script (phần 1) II. Nghĩ lại về shebang Có phải bạn đang sử dụng #!/bin/{bash,zsh,sh} ở dòng shebang? Hầu hết những script files mà tôi phải làm việc đều chứa dòng shebang như vậy, và nó thật tệ. Hãy để tôi phân tích tại sao chúng ta nên sử dụng ...
![](/pictures/picsmalls/2018/08/11/560/zfx1534002837.png)
Tích hợp cổng thanh toán Paypal vào ứng dụng Android sử dụng PHP, MySQL (Phần 2)
Trong phần trước Tích hợp cổng thanh toán Paypal vào ứng dụng Android sử dụng PHP, MySQL (Phần 1) , chúng ta đã tích hợp PayPal phía máy chủ tức là tạo ra cơ sở dữ liệu mysql và viết các API PHP để tương tác với ứng dụng Android và PayPal API REST. Trong phần này chúng ta sẽ làm tiếp phần còn lại ...
![](/pictures/picsmalls/2018/08/11/560/qgb1534002823.png)
Charting with Chartkick
Giới Thiệu Về Chartkick Chartkick là một thư viện dùng để vẽ các biểu đồ cho các ứng dụng Ruby(Rails). Chartkick được xây dựng bởi Andrew Kane. Chartkick được hỗ trợ bởi hầu hết các trình duyệt phổ biến hiện nay như chrome, firefox... Các thư viện mà Chartkick dùng để vẽ biểu đồ bao gồm có ...
![](/pictures/picsmalls/2018/08/11/560/ipo1534002852.png)
Những tính năng mới trong Laravel 5.3
Hội nghị Laracon US 2016 một trong những hội nghị lớn được mong chờ nhất trong năm 2016 đối với cộng đồng Laravel nói riêng và PHP nói chung đã được diễn ra (từ 27 đến 29-07-2016). Với mục tiêu chính là giới thiệu và released phiên bản Laravel 5.3. Ở bài viết này chúng ta sẽ cùng nhau điểm ...
![](/pictures/picsmalls/2018/08/11/560/xxx1534002840.jpg)
Laravel - Token-Based Authentication
Introduction Authentication hay xác thực là quá trình thiết lập hoặc chứng thực một đối tượng nào đó là đáng tin cậy đối với ứng dụng hiện tại (thường sẽ là người dùng). Chúng ta thường nhầm lẫn khái niệm Authentication (xác thực) và Authorization (ủy quyền) - trao quyền cho người dùng ...
![](/themes/images/default.png)
Sử dụng gem Sorcery để gửi mail (P.1)
1. Giới thiệu Khi đăng kí một tài khoản trên 1 website, bạn cần password của mình phải bảo mật, gem sorcery biến nó thành mã base54 và người quản trị thì muốn email đăng kí chính xác là của bạn chứ không phải là một email ảo nào đó, sorcery giúp gửi vào email của bạn 1 đường link để bạn active ...
![](/themes/images/default.png)
[Swift] Thực hành Clean Architecture ① (Tầng Domain)
Lời mở đầu Dựa theo cuốn sách "Clean Architecture" đang khá hot thời gian gần đây, mình xin được tóm tắt với các bạn từng phần của nó. Ở phần 1 là tầng Domain Cách phần sẽ làm Tầng UI View ViewController Presenter Tầng Domain UseCase Repository Entity Tầng Data Repository ...
![](/pictures/picsmalls/2018/08/11/560/bkt1534002823.png)
Image Upload from Base64 code in rails
Now-a-days, use of image in web application has become an attractive part. The most famous example is FaceBook. It has become a trend to upload photos, change profile picture, cover photo etc. and collect loads of likes and comments. To do the same in rails, you can use the most popular gem ...
![](/themes/images/default.png)
Dynamic nested form using Cocoon
Hôm nay tôi xin giới thiệu đến các bạn một công cụ của Rails giúp bạn xử lý form nested đơn giản hơn. Công cụ tôi đang muốn nhắc đến là Cocoon. Vậy Cocoon có thể làm được gì giúp chúng ta? Hãy cùng bắt đầu dùng thử Cocoon nhé! Điều kiện tiên quyết Gem này phụ thuộc vào jQuery, do đó sẽ tốt ...
![](/pictures/picsmalls/2018/08/11/560/hoj1534002811.png)
Tìm hiểu về Google Analytics: tracking Screen - Event trên Android App
Khi bạn phát triển một ứng dụng Android nào đó, và bạn muốn theo dõi thống kê xem những chức năng nào của app được sử dụng nhiều nhất từ phía người dùng hay những thao tác nào là phổ biến nhất, để từ đó bạn có thể xác định được hướng người dùng và từ những con số thu được bạn có thể cải thiện ứng ...
![](/pictures/picsmalls/2018/08/11/560/okp1534002814.png)
Sử dụng gem ChatWork
Hiện tại ChatWork đã cho phép sử dụng API của họ cho đối tượng chính là lập trình viên. Qua việc sử dụng API, một số tác vụ như: Thêm thành viên vào một danh sách các group chat Gửi tin nhắn thông báo cho các thành viên trong một group chat khi task được cập nhật ... đều có thể được tự ...
![](/pictures/picsmalls/2018/08/11/560/ofc1534002833.jpg)
Sử dụng ASP.NET SignalR API để tạo chương trình Chat
Giới thiệu ASP.NET SignalR API được sử dụng để tạo ra ứng dụng chat, nơi bạn có thể trò chuyện nhóm và trò chuyện riêng tư với người dùng. Bạn cần Visual Studio 2012 Express Development để tạo ra dự án này. Bạn có thể biết thêm chi tiết về http://www.asp.net/signalr Tạo một dự án ứng dụng web ...
![](/themes/images/default.png)
gửi mail tự động với whenever và sidekiq
Gửi mail là một trong những chức năng không thể thiếu của một trang web, mail tự động nhằm mục đích báo cáo tình hình hoạt động của một trang web cho người quản lý cũng như các user. Bắt đầu với gửi mail tự động, ta bắt đầu vói việc lập lịch bằng whenever Thêm gem whenever vào gem file và ...
![](/pictures/picsmalls/2018/08/11/560/hvh1534002818.png)
Soft Delete with Paranoia
What does "Soft Delete" mean? Soft deleting an item from a database means that the row or entity is marked as deleted but not physically removed from the database. Instead it is hidden from normal users of the system but may be accessible by database or system administrators. Soft Delete ...