Gem apipie

Hi all, Rails một phần phổ biến cũng bởi 1 điều rằng những những dev mobile thường ít có khả năng dev server cho mình, với lợi thế dễ học mà lại vừa chuyên nghiệp nên các dev mobile thường hay chọn Rails để phát triển phần back-end (server) của bản thân. Đó là việc của các dev mobile, còn ...

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

Những nguyên tắc cơ bản để code của bạn tốt hơn

Bài viết này tôi dịch lại từ chia sẻ của một lập trình viên đã có 15 năm kinh nghiệm trong lập trình, anh đã từng code qua rất nhiều ngôn ngữ, nhiều framework. Anh đưa ra những nguyên tắc để code có thể tốt hơn. 1. Tối ưu hóa code hay là code dễ đọc. Bỏ ý định tối ưu hóa đi Luôn luôn viết code ...

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

RxSwift by Examples

Dựa theo tài liệu từ TheDroidSonroids Swift là loại ngôn ngữ khá linh hoạt và dễ dàng sử dụng. Vì vậy bạn có thể thấy swift ko chỉ đc sử dụng trong lập trình hướng đối tượng mà cũng đc sử dụng trong nhiều mô hình khác như Protocol-Oriented Programming mà đã đc giới thiệu ở WWDC'15. Và dĩ nhiên bạn ...

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

Những câu hỏi phỏng vấn logic nổi tiếng của Microsoft

Chồng bạn có lừa dối bạn? Ở một thị trấn nọ có 100 cặp vợ chồng. Họ sống với nhau với điều luật khá kỳ lạ: nếu một người chồng ngoại tình với người khác thì người chồng đó sẽ bị hành hình ngay khi người vợ phát hiện ra. Các bà vợ hay hay nói chuyện với nhau về chuyện của những ông chồng nhưng ...

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

Thuật toán quay lui (Backtracking)

Quay lui là một kĩ thuật thiết kế giải thuật dựa trên đệ quy. Ý tưởng của quay lui là tìm lời giải từng bước, mỗi bước chọn một trong số các lựa chọn khả dĩ và đệ quy. Người đầu tiên đề ra thuật ngữ này (backtrack) là nhà toán học người Mỹ D. H. Lehmer vào những năm 1950. Tư tưởng Dùng để giải ...

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

Laravel manage invite system with Doorman

Trong số chúng ta, đã không ít lần phát triển các hệ thống sử dụng invite code để cho phép đăng kí mới hoặc sử dụng invite code để đăng kí một số trang web nào đó. Ví dụ như các trang download torrent private đều sử dụng invite code để hạn chế số lượng thành viên. Chúng ta hoàn toàn có thể quản ...

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

Xử lý các file CSV lớn với RUBY

Khi xử lý các file với dữ liệu lớn, hoạt động của server có thể chuyển xử lý từ RAM sang Disk. Bài viết này đưa ra một số cách để xử lý các tệp tin CSV với Ruby nhằm tối ưu mức tiêu thụ bộ nhớ và tốc độ thực thi. Prepare CSV data sample Trước khi bắt đầu, mình chuẩn bị một file CSV data.csv ...

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

PHP Framework Các giải pháp điều chỉnh hiệu suất cho ứng dụng web của bạn

Hiệu suất cho ứng dụng web Có nhiều yếu tố ảnh hưởng tới hiệu suất ứng dụng Web của bạn. Một số về môi trường, một số liên quan đến mã nguồn của bạn, và cũng có liên quan tới Framework bạn đang triển khai.Trong bài viết này, mình sẽ liệt kê các yếu tố này và giải thích cách bạn có thể cải thiện ...

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

Mình đã làm bể cá thông minh như thế nào (phần 1)

Xin chào các bạn! Bây giờ đã là cuối tháng 7, đến hẹn lại lên, như thường lệ mình lại ngồi viết một bài viblo để chia sẻ kinh nghiệm cũng như các thành quả đạt được trong tháng vừa qua. Vẫn là chủ đề lập trình như trước nhưng hôm nay sẽ được thêm 1 tấm áo mới để thay đổi không khí, một chủ đề không ...

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

Translating with Globalize

Dự án mình làm về book tour du lịch, như vậy có nhiều người nước ngoài đến từ nhiều nước khác nhau sẽ sử dụng trang web. Có nhiều tour trong trang web mỗi tour có các thông tin mô tả các lịch trình của tour. và Web cung cấp xem trên nhiều ngôn ngữ khác nhau. Như vậy với mỗi tour trên các ngôn ...

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

Ruby on Rails ActiveRecord Associations - Những phần ít được biết đến

ActiveRecord associations là một phần cơ bản của Rails, nhưng không phải tất cả chúng được sử dụng rộng rãi. Dưới đây là những phần ít được biết đến của ActiveRecord association. Có lẽ bạn đã từng phát triển một trang blog cho phép comment. Một số comment có thể không phù hợp, vì vậy bạn muốn ...

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

Value Objects trong Ruby on Rails

Giới thiệu Trong bài viết này, tôi sẽ đề cập đến value objects, cách để sử dụng kỹ thuật này như thế nào và các dấu hiệu để xác định value objects trong một ứng dụng Rails. Mục tiêu khi viết code là làm đơn giản tối đa models và controllers bằng cách chia nhỏ thành các class. Và để đạt được ...

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

[Linux-tips] Sử dụng piping, redirection, filters trong command line

1. Pipe và redirection Khi làm việc trên linux command line. Chắc hẳn chúng ta đã từng sử dụng pipe và redirection. Chẳng hạn như để tìm và in dòng chứa từ "Xin chào" từ file log.txt ra file result.txt: cat log.txt | grep "Xin chào" > README.txt Tuy nhiên nhiều bạn không biết là mình đã vừa ...

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

Tìm hiểu về testNG framework (Phần 3)

Bây giờ chúng ta tiếp tục với 2 nội dung: TestNG Prioritizing & Sequencing và TestNG Prioritizing & Sequencing. 10. TestNG Prioritizing & Sequencing A. Multiple Tests Sẽ có những tình huống khi bạn muốn đặt số kiểm thử dưới một test class đơn và muốn chạy tất cả trong shot duy ...

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

7 Design Patterns to Refactor MVC Components in Rails

Làm thế nào để các thành phần MVC trở nên đơn giản Để khiến cho Models, Views, Controllers trở nên đơn giản và chuẩn hóa, chúng ta phải liên tục refactor hay tái cấu trúc trên code đã được viết. Trong quá trình tái cấu trúc sẽ không được thay đổi bất kỳ các phản hồi tương tác với bất kỳ hành động ...

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

Những điều cần biết về ES6

I. Khái niệm về ES6 ES6 - ECMAScript 6 - European Computer Manufacturer's Association Script. ES6 do hiệp hội các nhà sản xuất máy tính Châu Âu đề xuất làm tiêu chuẩn của ngôn ngữ Javascript. References: ES6 Features. Compat Tablet. ES6 Desktop. II. Những điểm mới trong ES6 1. ...

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

Cách sử dụng tính năng Memoize vào bộ nhớ của JavaScript và tăng tốc độ đoạn code của bạn

Bài dịch từ trang Medium Function là một phần của chương trình. Chúng modularity hóa và khả năng sử dụng lại cho code của chúng ta. Nó khá phổ biến để chia chương trình của chúng ta thành các khối bằng cách sử dụng các function mà chúng tôi có thể gọi sau để thực hiện một số hành động hữu ích. ...

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

ClientSideValidations

Trong bài viết này tôi sẽ giới thiệu việc sử dụng gem client_side_validations cho việc validate client-side trong Rails Cài đặt Để sử dụng client_side_validations trước tiên bạn cần thêm client_side_validations trong Gemfile và chạy bundle install gem 'client_side_validations' Tiếp theo ...

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

Image Uploads with CKEditor, CKFinder and Laravel 5x

Tiếp tục SERIES: Tìm hiểu laravel & Xây dựng website bán hàng cùng Laravel 5x. Phần 1: Blade template, Xây dựng giao diện người dùng Phần 2: User Authentication, Xây dựng trang login Phần 3: Back-end : Category management Phần 4: Back-end : Product management, Upload multiple images using ...

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

Những điểm mới trong Rails 5

Bài này chúng ta sẽ cùng điểm qua những thay đổi lớn trên bản Rails 5. Yêu cầu của Rails 5 đó là bạn phải cài đặt Ruby v 2.2.2 trở lên thì mới có thể chạy. Sau đây mình sẽ liệt ke một vài diểm mới ActionCable đây là một tính năng Rails quyết định hỗ trợ từ bản 5, nhiệm vụ của nó là bạn sẽ ...

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