Android performance pattern

Phân tích hiệu năng của ứng dụng Android là công việc phức tạp, đòi hỏi hiều biết sâu về các phần cứng, tools, tối ưu mã nguồn, tối ưu các api. Tôi tham gia một khóa học trên udaciy về vấn đề này. Trong phạm vi bài presentation , tôi trình bày các vấn đề liên quan đến hiệu năng trên Android. ...

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

Looper, Handler and HandlerThread in android

MultiThreading và Task running là những khái niệm quen thuộc trong lập trình. Trong Java java.util.concurrent là package chứa các utility class giúp ích trong việc lập trình song song ( concurrent programming ) và Fork/Join framework là một framework hiện thực của ExecutorService ...

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

3 Steps to Fix Encoding Problems in Ruby

Bạn chỉ thực sự quan tâm đến encode của một string khi string đó xảy ra lỗi . Hãy kiểm tra trong terminal, chúng ta sẽ thấy khi có lỗi liên quan đến encode thì Ruby sẽ có raise một ngoại lệ sau: Encoding : : InvalidByteSequenceError : "xFE" on UTF - 8 Trong ví dụ trên, thực tế ...

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

Sử dụng function try trong Rails

Trong quá trình làm việc với Rails, có nhiều hàm khá hữu ích, giúp code gọn gàng và dễ hiểu hơn nhưng chúng ta ít khi dùng đến, hôm nay mình xin giới thiệu cùng các bạn một hàm như thế, đó là hàm try(). Try là một hàm của Rails cho phép chúng ta gọi thử một hàm từ một object mà không cần lo rằng ...

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

Null Object Pattern trong Ruby

Có một số trường hợp khi hệ thống phải sử dụng một vài chức năng và một vài trường hợp nó không sử dụng. Giả sử bạn phải thực hiện một class mà nó phải ghi log vào môt file hoặc console. Nhưng điều này chỉ là một tính năng bổ sung và các dữ liệu được ghi phụ thuộc vào cách cấu hình ghi log của bạn. ...

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

Một số thủ thuật Debug code Ruby

Bài viết này bao gồm một số thủ thuật để giúp các bạn có thể tìm hiểu và debug code ruby một cách hiệu quả hơn. Tìm vị trí mà một method được định nghĩa Sử dụng hàm method của Object: object = Object . new puts object . method ( :blank? ) . source_location = > / home ...

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

Multivariate Linear Regression

Machine learning is a method of data analysis that automates analytical model building. Using algorithms that iteratively learn from data, machine learning allows computers to find hidden insights without being explicitly programmed where to look. Because of new computing technologies, machine ...

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

Series introduction to the Ionic Framework (Build hybrid application on mobile) (P1)

Before investigating Ionic, you need to understand Hybrid Apps. What's it mean ? What's diffirent about Hybrid apps and Native apps ? What're Native apps ? Native apps are what typically springs to mind when you think of an app. You dowload them from App Store or Google Play,they sit ...

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

Tìm hiểu về Routes trong Backbone.js

Giới thiệu Trong các ứng dụng singleton của Backbone JS có sử dụng rất nhiều về routes , vậy Routes là gì ,và tại sao nó lại đc sử dụng nhiều như vậy, thì trong bài viết này ,chúng ta sẽ cùng tìm hiểu về vấn đề này. Backbone routes và history cung cấp cho chúng ta những cơ chế mà chúng ta có ...

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

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