Local Storage, Session Storage và Cookie

Bạn bị lẫn lộn giữa session storage , local storage và cookies ? Bài viết dưới đây sẽ giúp bạn hiểu rõ được sự khác nhau giữa 3 cách lưu trữ này. Các kiểu không gian lưu trữ khác nhau có sẵn cho các dữ liệu có thể trên máy chủ hoặc máy khách, cho phép chúng ta chọn lựa theo nhu cầu. 1. Local ...

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

Full-Text Search trong Ruby on Rails sử dụng Elasticsearch

Ngày nay, rất nhiều trang web cung cấp cho người dùng tính năng tìm kiếm, khi người dùng nhập từ khoá, hệ thống sẽ đưa ra các gợi ý hay là các kết quả với từ khoá mà người dùng nhập vào sẽ được highlight lên trông rất trực quan. Nếu người dùng nhập sai chính tả thì việc tự động giúp người dùng sửa ...

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

Input & output in Ruby

Trong phần này chúng ta sẽ tìm hiểu về hệ thống nhập xuất trong Ruby. Khi chạy một chương trình thì chương trình có thể nhận các dòng dữ liệu đi vào, có thể là từ bàn phím, file hoặc từ chính một chương trình khác. Tương tự, chương trình cũng có thể xuất các dòng dữ liệu đi ra ngoài, thường là sẽ ...

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

ResponseModel in Swift!.

trong quá trình phát triển dự án, chắc chắn nhiều bạn mới(trong đó có mình) gặp khó khăn với việc tạo model, điển hình là việc lấy data từ server về -> model mình muốn. vì swift là ngôn ngữ POP vậy thì mình áp dụng mình sẽ tận dụng sức mạnh của POP. tạo 1 protocol ResponseModel với mục đích, ...

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

Làm thế nào để Estimation trong kiểm thử phần mềm?

Estimation được hiểu ngắn gọn đó chính là ước lượng, vậy để ước lượng thời gian kiểm thử cần biết những yếu tố gì? Ước lượng kiểm thử (Test Estimation) phần mềm là gì? Ước lượng kiểm thử là một hoạt động quản lý xấp xỉ thời lượng công việc sẽ được thực hiện. Ước tính nỗ lực để kiểm tra là một ...

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

Tìm hiểu về module ActiveModel

1. Khái niệm : Active Model là một thư viện chứa các modules khác nhau được sử dụng trong phát triển các class nhằm cung cấp các chức năng tương tự như Active Record. 2. Chức năng : Thông thường đa số model phải lưu trữ dữ liệu vào db nhờ ActiveRecord, nhưng trong một số trường hợp chúng ...

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

Gem CanCanCan trong rails

Cancancan là một thư viện phân quyền cho ruby on rails, nó hạn chế các tài nguyên mà một user được phép truy cập. Tất cả các quyền hạn được quy định ở một nơi duy nhất (là class Ability) và riêng biệt với controllers, views và database queries Nó bao gồm 2 phần chính: The authorizations ...

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

Shared memory với Ashmem

Android ashmem Một tính năng mà google được thêm vào kernel linux là ashmem. Chúng ta có thể tạo ra một vùng nhớ mới bằng cách sử dụng lớp MemoryFile hoặc ashmem_create_region trên layer native, nhưng vì lý do bảo mật, chúng ta không thể mở vùng nhớ đó Giải pháp là tạo ra một service tạo vùng và ...

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

5 sai lầm phổ biến của javascript dev mới

Không phải tất cả các điểm dưới đây thực sự là những sai lầm nhưng tránh chúng sẽ làm cho bạn một lập trình tốt hơn cho chắc chắn. 1. Truthy And Falsy Values Đây là một trong những sai lầm phổ biến mà mỗi lập trình viên đã có thể làm ít nhất một lần trong sự nghiệp viết mã của họ. Hãy nhìn vào ...

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

Top 10 thư viện IOS mà tôi biết.

Trong các project về ios thì các bạn không thể bỏ qua được các thư viện thường dùng để giảm thiểu thời gian và công sức cho bạn khi giải quyết các vấn đề trong dự án của mình. Sau đây mình xin giới thiệu về 20 thư viện mà mình biết và đã tiếp xúc. Alamofire Khi nói đến các thực hiện request ...

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

Xây dựng ứng dụng Web sử dụng Laravel 5 và AngularJS - phần 2

Chào các bạn! Trong phần một, ,mình đã tạo ra migration và seeder, chúng ta đã có một database đầy đủ dữ liệu. Trong phần 2 này, mình sẽ tiến hành tạo ra router, controler RESTful, các function để thao tác với database một cách chi tiết nhất. Các bạn có thể xem lại phần 1 tại đây. Chúng ta bắt ...

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

Ckeditor trong rails

Giới thiệu Xin chào các bạn hôm nay mình xin giới thiệu đến các bạn một GEM rất hữu ích trong việc chỉnh sửa và soạn thảo nội dung văn bản của ứng dụng sử dụng Ruby On Rails đó là Ckeditor. Ckeditor là một gem rất hữu ích trong việc soạn thảo các form text. Nó hỗ trợ rất nhiều trong việc tạo ra ...

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

Google Place API (P1) - Place Autocomplete

Google Place API là một trong những hàng trăm API tuyệt vời mà Google cung cấp cho nhà phát triển phần mềm, với thông tin chi tiết về hơn 100 triệu địa điểm. Google Place API gồm có 3 công cụ: Place Picker, Place Autocomplete, Place Details: Place Picker cho phép người dùng tìm kiếm các địa ...

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

Bảo mật trong ứng dụng Ruby On Rails

Framework được thiết kế với mục đích chính là để giúp các web developer xây dựng các ứng dụng web. Mặc dù có rất nhiều Framework có sẵn nhưng khản năng phát hiện ra các lỗ hổng như CSRF hoặc giả mạo nội dung (chúng ta không nói về XML Entity và Paramater Pollution) là rất cao. Mặc dù được trang bị ...

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

Concern is not concerning

A few weeks ago, while working in project, I also stumbled upon a nice refactoring pattern that I didn’t know. This pattern is based on the simple idea of Ruby modules and mixins, but is particularly handy when it comes to dealing with class methods and callbacks. It is using ...

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

Tránh Viết SQL Khi Sử dụng ActiveRelation

ActiveRelation, công cụ tìm kiếm và truy vấn của ActiveRecord, là một công cụ mạnh mẽ và linh hoạt. Thay vì... ... viết 1 chuỗi SQL trực tiếp vào bên trong ActiveRelation#where Person.where("name = #{ params[:name] } AND hidden_at IS NULL") Hoặc ... viết 1 chuỗi SQL và sử dụng 'array ...

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

Tìm hiểu về blocks và yield trong Ruby

Về cơ bản, blocks trong ruby là một cách để nhóm các câu lệnh sao cho chúng ta có thể kết hợp với các lời gọi phương thức như thể chúng là các tham số. Ruby cung cấp hai cách để viết blocks là: Sử dụng dấu {} đối với những blocks ngắn gọn có thể viêt trên một dòng. array = [1,2,3,4] Sử ...

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

Tìm hiểu Sed cơ bản

1. Giới thiệu Đối với những hệ điều hành nhân Linux, sed stream editor thường được trang bị đi kèm. Đây là một trình biên soạn văn bản thực hiện những thao tác chỉnh sửa đối với dữ liệu đến từ một đầu vào chuẩn hoặc một file text. sed sẽ tiến hành chỉnh sửa lần lượt từng dòng và theo cách thức ...

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

Tìm hiểu về gradle

Trong quá trình phát triển phần mềm, việc tự động hóa quá trình build và quản lý các thư viện rất quan trọng, nhằm tối ưu hóa công đoạn biên dịch, đóng gói; thuận tiện hơn cho việc phát triển phần mềm, cũng như maven và gradle cũng là một trong những công cụ đó. Năm 2000, Apache Ant ra đời như ...

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

Understanding Spring AOP

Chúng ta đã quá quen thuộc với khái niệm OOP "lập trình hướng đối tượng". Vậy AOP là gì? mục đích của AOP là như thế nào? AOP là từ viết tắt của Aspect Oriented Programing " Ngôn ngữ hướng khía cạnh" AOP phát triển dựa trên OOP chứ không phải ra đời nhằm thay thế OOP, đó là phần bổ sung cho OOP ...

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