Eager Loading (nâng cao) trong Rails

Rails hỗ trợ các phương thức khác nhau (includes, preload, joins, etc.) sử dụng để load một lượng dữ liệu lớn và giảm thiểu số lần truy xuất vào database. Những cấu trúc cơ bản được sử dụng để tải trước một phần dữ liệu. Trong ví dụ, giả sử ứng dụng Rails gồm 3 models: posts, users, và comments. ...

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

Tìm hiểu gem Mechanize

I. Giới thiệu Thư viện mechanize được sử dụng để tự động tương tác với các trang web. Mechanizesẽ tự động lưu trữ và gửi cookies, follows redirects, và có thể follow links và submit form. Mechanize giữ track của các site mà bạn đã xem giống như là một lịch sử... Cài đặt Mechanize yêu cầu ...

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

Tạo chức năng quản lý migrations cho DynamoDB trong project Laravel

Vừa qua mình có làm một dự án có sử dụng Dynamo DB và mình được phân công là người xây dựng database và migrations cho hệ thống. Nếu bình thường sử dụng với cơ sở dữ liệu MySQL thì mọi việc trở nên đơn giản và chẳng có gì để nói, nhưng ở đây khách hàng yêu cầu dùng cơ sở dữ liệu DynamoDB. Giới ...

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

Xử lý format number trong rails

Cung cấp các method để chuyển đổi từ số thành các chuổi định dạng, ví dụ như số điện thoại, tiền tệ, tỷ lệ phần trăm, kích thước file... Hầu hết các phương thức yêu cầu một đối số, và sẽ trả lại không thay đổi nếu không thể chuyển đổi thành một số hợp lệ. number_to_currency(number, options = {}) ...

Tác giả: Hoàng Hải Đăng viết 14:47 ngày 12/08/2018

Rails validations

1 Tổng quan về valiations (kiểm tra tính hợp lệ của đối tượng Active Record) Ta có một ví dụ đơn giản về validation trong Rails như sau class Person < ApplicationRecord validates :name, presence: true end Person.create(name: "Name").valid? # => true Person.create(name: nil).valid? # ...

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

Tìm hiểu Caching trong Laravel 5

Chào các bạn, Hôm nay chúng ta cùng nhau tìm hiểu caching trong laravel 5 nhé!! I/ Hướng dẫn cấu hình Cache trong Laravel 5.x Trong laravel muốn config cache để caching data thì chúng ta thao tác với file config/cache.php. Khi mở file này chúng ta thấy ngay tại khóa store sẽ có các driver cho ...

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

CAEmitterLayer - Creating realtime particle animations

Khi nhìn thấy animation ở trên, không ít bạn sẽ bỡ ngỡ, không biết sẽ làm như thế nào? hay có library nào support không. Sau khi tìm hiểu về Core animation mình tìm thấy một class rất hữu ích, đơn giản mà hiệu quả để giải quyết vấn đề trên. Đó chính là CAEmitterLayer CAEmitterLayer : Là ...

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

5 xu hướng phát triển cho site và mobile app trong năm 2017

Đã 10 năm kể từ khi Iphone xuất hiện. Kể từ khi iPhone xuất hiện thì điện thoại thông minh (smartphone) ngày càng được phổ cập rộng rãi. Theo một ước tính tạm thời người ta thấy rằng lượng thời gian người sử dụng lướt net trên smart phone đã chiếm áp đảo so với việc sử dụng trên máy tính cá ...

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

Sử dụng gem fullcalendar trong ứng dụng rails

Giới thiệu thư viện Full Calendar Full Calendar là thư viện mã nguồn mở. Đây là bộ thư viện được xây dựng bằng javascript + jquery, với thiết kế đẹp mắt, đầy đủ các tính năng cơ bản cho một Calendar và có thể hiển thị các events trên calendar, giúp quản lý công việc và theo dõi tiến độ làm việc ...

Tác giả: Hoàng Hải Đăng viết 14:47 ngày 12/08/2018

HAProxy and keepalive

1. Reverse proxy là gì Reverse proxy là một loại proxy server trung gian giữa một máy chủ và các clients gởi tới các yêu cầu. Nó kiểm soát yêu cầu của các clients, nếu hợp lệ, sẽ luân chuyển đến các servers thích ứng. 2. Load balancing Cân bằng tải là một giải pháp chung cho việc phân ...

Tác giả: Hoàng Hải Đăng viết 14:47 ngày 12/08/2018

Đừng để dữ liệu ngoài database

Tài liệu: Don't Let Your Data Out of the Database Giữ dữ liệu trong database, không phải là vì các lý do bảo mật mà là để tránh các lỗi về hiệu suất. Thường thì cách tốt nhất để tăng tốc độ ứng dụng của bạn là để cho database server làm những gì mà nó được thiết kế để làm: thao tác trên dữ liệu. ...

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

So sánh Interface và Abstract trong lập trình hướng đối tượng.

Interface và Abstract class là 2 khái niệm cơ bản trong lập trình OOP. Nhưng phân lớn mọi người cảm thấy mơ hồ và lẫn lộn 2 khái niệm này. Vậy chúng là gì, khác nhau như nào? Tại sao dùng cái này Interface mà không phải Abstract và ngược lại ??? Bỏ qua tất cả những phần về lý thuyết của việc ...

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

TestLeft

1. Giới thiệu về Testleft Testleft là UI test framework sử dụng để tạo và chạy functional tests cho Windowns desktop và Web application. Bạn có thể tạo tests trong C#, Visual Basic .NET hoặc bất kỳ ngôn ngữ nào khác .NET và chạy chúng trong hệ thống CI giống như Jenkins, từ Visual studio kiểm tra ...

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

Ứng dụng ReSwift trong dự án iOS

ReSwift (Redux Swift) thực hiện kiến trúc luồng dữ liệu theo một hướng (unidirectional data flow architecture) trong Swift. ReSwift giúp bạn tách biệt ba nội dung quan trọng trong ứng dụng: State : trong ứng dụng áp dụng ReSwift, trạng thái của app được lưu trữ trong một cấu trúc dữ liệu. Việc ...

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

Tìm hiểu về Sensor trong android

Một trong những khác biệt khi phát triển các ứng dụng giữa pc và mobile mà chúng ta có thể dễ dàng nhận thấy đó là mobile có cung cấp cho chúng ta các loại cảm biến. Việc sử dụng cảm biến này có thể tạo ra những ứng dụng hữu ích và thực tế đã có rất nhiều các nhà phát triển thêm nó vào trong các ...

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

Một vài mẹo JS bỏ túi cho Web Developer

Đây là một số mẹo nhỏ được tích góp từ kinh nghiệm bản thân cộng với các bài viết chia sẻ của một số Developer khác khi sử dụng javascript, hy vọng có thể phần nào giúp cho việc sử dụng js của bạn trở nên dễ dàng và thuận tiện hơn. 1. Tránh những lỗi không đáng có khi dùng default function Các ...

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

Lambda và Anonymous Inner class làm việc thế nào

Anonymous inner class và Lambda trong Java có nhiều điểm tương đồng, nhưng hiểu được những điểm khác nhau giữa chúng cũng rất quan trọng và hữu ích trong công việc của lập trình viên. Bài viết này sẽ nêu ra một số điểm khác nhau giữa Lambda và Anonymous inner class, và cách thức làm việc của chúng. ...

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

Series Designing a Successful Application (P1: Exception Handling)

1. Giới thiệu chung: Như chúng ta đã biết, Java có 2 loại exception cơ bản là: checked và uncheck . Ví dụ khi chúng ta viết một ứng dụng lưu trữ dữ liệu trên Android, chúng ta cần phải đảm bảo quá trình đọc/ghi tập tin diễn ra một cách suôn sẻ. IOException có thể xảy ra khi xử lý tập tin ...

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

Xây dựng blog đơn giản bằng Laravel + Vue.js (part 1)

Tổng quan Laravel là một trong số các PHP Framework mã nguồn mở và miễn phí được sử dụng để xây dựng các ứng dụng web theo kiến trúc mô hình MVC (Model - View - Controller) và rất được ưu chuộng trong thời gian gần đây bởi cú pháp dễ hiểu, rõ ràng và rất nhiều tiện ích mà nó Laravel cung cấp. ...

Tác giả: Hoàng Hải Đăng viết 14:47 ngày 12/08/2018

Giới thiệu về hàm Module#module_function

Trong Ruby, có 2 cách sử dụng method của module. Cách thứ nhất là 'nhúng' (mixin) - dùng như instance method và cách thứ hai là dùng theo kiểu module function. Ví dụ: Mixin: module MyWords def hello puts "Hello world" end end class HelloWorld include MyWords end HelloWorld.new.hell ...

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