
Import csv với dữ liệu lớn trong Rails
Với các ứng dụng việc cho phép người dùng create, edit và export/import số lượng lớn các record tới databases thông qua file CSV thường xuyên xảy ra và đòi hỏi nhiều thời gian cho việc thực thi. Vì vậy việc tìm ra phương pháp tốt xử lý sẽ giúp giảm thời gian chờ cũng như tài nguyên server là cần ...

Reload the page with JavaScript
Như chúng ta đã biết, có khá là nhiều cách để reload 1 trang web bằng javascript nhưng đã bao giờ bạn thử liệt kê tất cả các cách ra? Bạn biết tổng cộng bao nhiêu cách khác nhau? Hãy xem trong 535 cách dưới đây, bạn biết những cách nào nhé :D Chúng ta biết location.href cũng tương tự với ...

Ruby's Lookups & Scopes
Cách Ruby tìm kiếm định danh Vấn đề khó khăn nhất trong Ruby đó là việc xác định một định danh. Một định danh trong Ruby bao gồm: tên hàm: x.name hoặc name biến cục bộ: name biến class: @@name biến toàn cục: $name hằng: NAME modules: Name Việc xác định một tên (định ...

Export Csv Trong Rails
Bài viết này sẽ giới thiệu một chức năng mà mọi người thường thấy trong các ứng dụng Web đó là Export Csv(Excel). Mình sẽ demo một ví dụ đơn giản là export dữ liệu người dùng bao gồm các thông tin: tên, số điện thoại, địa chỉ. Tạo mới project và model User Tạo 1 project mới rails new ...

Android performance improved If you didn't forget some issues [Part1]
Có những thời điểm chúng ta khó khăn trong việc kiểm soát việc ứng dụng chạy "Đúng" nhưng rất chậm, bài toán lúc này là Performance ? Khi ứng dụng đã hoàn thành, việc đào bới lại code để thay đổi hiệu năng thực sự nó rất khủng khiếp. Bản thân mình đã có những lúc gặp tình trạng này và mong muốn tìm ...

Async/Await trong Javascript, tại sao chúng ta nên sử dụng.
Async/await là gì? Trước kia chúng ta phải sử dụng callback hoặc promises để làm việc với code bất đồng bộ trong javascript, trong nhiều trường hợp các callback, promises được viết lồng nhau điều này khiến việc đọc code, maintain, debug rất khó khăn. Trong ECMAScript 2016 (ES7) thì ...

Code Thối (Code Smells) là gì và một vài tip để cho code của bạn thơm tho hơn
Code thối là cái gì vậy ? Code Smells (Mã xấu, hay "Code Thối nếu thích") là từ được dùng để chỉ phần code mà ta cảm thấy không ổn. Đây thường là đoạn code vi phạm những quy tắc trong lập trình. Giả sử bạn đang đọc một bài viết và bắt gặp một lỗi chính tả. Ngay lập tức, bạn có cảm giác ngờ ...

PHP bài 1: Giới thiệu
What is PHP? PHP là gì? PHP (viết tắt hồi quy " PHP: Hypertext Preprocessor ") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào ...

Lịch sử phát triển PHP
Lịch sử phát triển PHP - PHP version history PHP version 7.1.7 Released: 06 Jul 2017 PHP version 7.0.21 Released: 06 Jul 2017 PHP version 7.1.6 Released: 08 Jun 2017 PHP version 7.0.20 Released: 08 Jun 2017 PHP version 7.1.5 Released: 11 May 2017 PHP version 7.0.19 ...

PSR-6: Giao diện đệm
Ghi vào vùng đệm là cách khá phổ biến được sử dụng để cải thiện hiệu năng của dự án, và điều này làm cho thư viện ghi đệm trở thành tính năng phổ biến của bất kỳ thư viện hay framework nào. Điều này dẫn tới việc mỗi thư viện/framework đều có 1 cách ghi đệm riêng với nhiều cấp độ chức năng khác ...

Xây dựng hệ thống tìm kiếm đơn giản với Rails và Typeahead.js
Giới thiệu chung Trong bài viết này mình sẽ viết một ứng dụng tìm kiếm đơn giản sử dụng Rails và thư viện Typeahead.js Chúng ta có thể thấy search là một phần rất phổ biến trong các trang web hiện nay, hầu như các trang web đều hỗ trợ tính năng này. Nhưng thực tế để tạo ra thành phần search ...

PSR-2: Chuẩn trình bày code PHP đẹp
PSR-2: Coding Style Guide Bộ quy tắc này được tạo ra nhằm giảm bới những khó khăn trong việc đọc code của người khác, trình bày theo quy tắc ở đây áp dụng cho tất cả các Project, giúp cho code sáng sủa, dễ hiểu, dễ bảo trì hơn. Bài viết này yêu cầu bạn xem qua PSR-1: Chuẩn viết code PHP cơ bản ...

Tác dụng của nested attributes và nested form sử dụng javascript thuần hoặc sử dụng gem cocoon
Chào mọi người, bài viblo của mình hôm nay sẽ nói về nested attributes và nested form sử dụng gem cocoon Trước khi nói về nested attributes và nested form, chúng ta cần xem qua vấn đề sau Giả sử chúng ta project có chức năng đăng kí người dùng. Trong bảng database sẽ có bảng User có các trường ...

SEO Onpage là gì?
SEO Onpage là công việc tối ưu hóa Website và các trang con nằm trong Website sao cho Website đó thân thiện với SE ( công cụ tìm kiếm ). Mục tiêu căn bản của bạn là đem lại nội dung hữu ích cho người dùng và làm họ hài lòng. SEO Offpage sẽ đem lại nhiều traffic cho website nhưng lại không giúp tối ...

Viết api search sử dụng Gem pg-search
Hiện nay có nhiều Startup rất thành công nhờ khai thác nguồn dữ liệu như hệ thống tìm kiếm địa điểm du lịch Bayo, Vntrip, hệ thống tìm kiếm chăm sóc sức khỏe Vicare, hệ thống đặt phòng AirBnb Đặc trưng cho các sản phẩm đó thường có một ô search rất lớn và tập trung vào chức năng chính đó. Các sản ...

Understanding Rails' sercurity problems
Abstract Bảo mật là một phần không thể thiếu đối với các sản phẩm phầm mềm hiện nay. Rails cũng không phải ngoại lệ, framework này cũng cung cấp các cơ chế để bảo vệ ứng dụng khỏi các lỗ hỏng bảo mật ví dụ : csrf, xss, sql injection... . Trong bài viết lần này mình muốn đi sâu vào tìm hiểu cơ ...

Cơ chế hoạt động của gem Draper trong Rails
Trong nhiều trường hợp, để hiển nội dung hay thông tin của một object ta cần phải xây dựng thêm các method trong Model hoặc trong Presenter nhằm làm giảm tối đa việt sử dụng logic ở ngoài view. Gem Draper là một gem rất mạnh giúp chung ta có thể thực hiện công việc đó một cách cực kỳ linh hoạt. ...

Các method và option của Has many trong Association
Trong Rails, association là một kết nối giữa hai mô hình Active Record. Tại sao chúng ta cần sự liên kết giữa các mô hình? Bởi vì chúng làm cho các hoạt động phổ biến đơn giản và dễ dàng hơn trong code của chúng ta. Has_many Association has_many chỉ ra một kết nối một-nhiều với một mô hình ...

What's new in ES8
ES8 (tên chính thức là ES2017) vừa mới được chính thức release cuối tháng trước. Nếu bạn còn nhớ thì ES5 được release từ tận năm 2009. Vậy mà chỉ trong 3 năm qua, spec của ECMAScript đã được update đến 3 lần, và năm sau có lẽ cũng sẽ không khác. Như thế đã đủ để thấy sự trỗi dậy thần kì của ...

3 cách thực thi eager loading trong ruby on rails
Bạn có thể quen với phương thức #includes để tải từ cơ sở dữ liệu nếu bạn đang sử dụng rails và ActiveRecord. Nhưng bạn có biết tại sao khi nhận được vài truy vấn SQL nhỏ và đẹp, đôi khi lại nhận được được 1 truy vấn khổng lồ với nhiều bảng và cột thay đổi. Và bạn biết #preload và #eager_load có ...