[RoR] Auto deploy ứng dụng rails trên Amazon EC2 [Part 1]

Là một developer mới vào nghề, tôi (cũng như nhiều những developer khác như tôi) thường chỉ quan tâm tới quá trình phát triển của một ứng dụng như là xử lý logic, xử lý nghiệp vụ, code như thế nào cho đẹp, cho sạch sẽ, v.v.. hơn là chú ý tới khâu sau cùng đó là deploy lên môi trường production và ...

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

Xây dựng Loadbalancer cho các server MySQL với HAproxy trên Ubuntu

1 - Load Balancer Hostname: haproxy OS: Ubuntu server 16.04 Private IP: 172.17.3.102 2 - Node 1 Hostname: mysql-1 OS: Ubuntu server 16.04 Private IP: 172.17.3.103 3 - Node 2 Hostname: mysql-2 OS: Ubuntu server 16.04 Private IP: 172.17.3.104 Chuẩn bị các node database server : Tiến ...

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

Tìm hiểu về Transaction trong MySQL

Đối với những người học Công nghệ thông tin, chắc hẳn khái niêm Transaction không còn gì xa lạ, nhưng đối với những người mới làm quen với lĩnh vực này hẳn nhiều bạn vẫn còn lạ lẫm với những khái niệm liên quan đến Transaction. Cũng là một người mới, tôi xin phép chia sẻ những gì tìm hiểu được để ...

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

Giới thiệu về Gloss framework

Hầu hết chúng ta đều biết, đa số các ứng dụng phát triển trên nền mobile thì đều có việc liên kết dữ liệu giữa client và server. Các gói dữ liệu này phổ biến ở dạng các đối tượng JSON, Javascript Object Notation. Trong phạm vi bài viết, ta sẽ nói về nền tảng iOS, với 2 ngôn ngữ phát triển là ...

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

Ruby and Rails gem for web developer(Part I)

Tôi đã được lập trinh bằng ngôn ngữ ruby được tròn 10 tháng , và trong khoảng thời gian này , đã có rất nhiều vấn đề xảy ra trong khi giải quyết công việc .Những tác vụ , chức năng những bài toán mà dự án cần có đôi khi rất khó để giải quyết. Đối với những lập trình viên có kinh nghiệm lâu năm thì ...

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

What is ETS in Elixir?

Tuần này, mình không làm project nữa mà cùng các bạn tìm hiểu lý thuyết nhé. Mình sẽ dịch một bài viết liên quan tới ETS trong Elixir. Nếu bạn đã tìm hiểu về Elixir một thời gian thì chắc hẳn các bạn đã biết về "ETS". ETS là viết tắt của Erlang Term Storage. Nó là một enginge lưu trữ có sẵn ...

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

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