Top những tricks giúp bạn code Ruby ở một đẳng cấp cao hơn
Ruby là một ngôn ngữ lập trình không hề dễ nhằn đối với một lập trình viên chuyển từ một ngôn ngữ như Java , Python hay PHP . Đó là bởi tính độc đáo của Ruby . Ruby được Yukihiro Matsumoto tạo ra nhằm mục đích khiến cho lập trình viên cảm thấy hạnh phúc hơn, vì code của nó rất gần với ...
Tìm hiểu về Reselect và ý nghĩa của nó
Reselect là một thư viện được sử dụng để tạo ra các memoized selector. Đây chỉ là một cách nói hài hước về việc nó lưu trữ các kết quả của một hàm gồm biến truyền vào. Nó thường được sử dúng với Redux, và thuật ngữ "selector" thường được sử dụng trong hệ sinh thái Redux, đề cập đến cách chọn một ...
Có gì mới ở Google I/O 2018 (Phần 1)
Google I/O là ngày hội thường niên của toàn thể các android developer trên toàn thế giới, Bắt đầu từ 2008 đến nay, Google IO là ngày mà hàng triệu con tim luôn ngóng chờ. Vừa qua từ 08/05/2018 - 10/05/2018 Google I/O 2018 đã được tổ chức tại Shoreline Amphitheater - một giảng đường ngoài trời nằm ...
Sử dụng Laravel Collections trong JavaScript với Collect.js
Chào mọi người, một tháng lại đi qua, mình đã trở lại và ăn hại gấp đôi (hehe). Trong quá trình phát triển các ứng dụng, chắc hẳn bạn đã từng phải xử lý các thao tác tính toán, tìm kiếm, sắp xếp, ... phức tạp trên một tập dữ liệu. Việc này có lẽ đã khiến cho bạn tốn kha khá thời gian. Chính vì ...
Rails transactions
Giới thiệu Rails transaction là một cách để đảm bảo một tập các thao tác trên database chỉ được thực hiện khi mà tất cả đều thành công. Nếu không, dữ liệu sẽ rollback về trạng thái trước đó. Cách dùng cơ bản: ActiveRecord::Base.transaction do david.update!(money: david.money + 100) ...
Bài 2: Tự tạo component và binding data cho component
Chào các bài đến với bài tiếp theo của mình, ở bài trước mình đã hướng dẫn các bạn Cài đặt Vue và chạy chương trình Hello world đầu tiên. Ở bài này chúng ta sẽ cùng thử tạo một component, khai báo sử dụng và binding data cho nó nhé. Để khai báo mới một component trước hết chúng ta cần tạo một ...
Bài 5: Sử dụng computed trong VueJS, sự khác nhau giữa computed và methods
Chào mừng các bạn quay trở lại với series học VueJS của mình. Ở bài trước chúng ta đã tìm hiểu cách sử dụng của methods trong Vue, bài này chúng ta sẽ tìm hiểu về computed, cách sử dụng và so sánh sự khác nhau giữa computed và methods Khi component được khởi tạo thì computed sẽ được biến đổi ...
Tìm hiểu về Flutter
Android là một trong những hệ điều hành phổ biến nhất trên thế giới ở nền tảng di động, nhưng nó không chỉ là hệ điều hành duy nhất. Nếu bạn muốn ứng dụng của mình tiếp cận đến người dùng nhiều nhất có thể, thì bạn phải cung cấp ứng dụng của mình trên các nền tảng khác, bao gồm cả ios.. ...
Cách đơn giản để mã hóa thuộc tính của model trong Rails
Giới thiệu Khi lưu trữ project trên các public repo việc để các dữ liệu ở plain text thì mình thấy không an tâm lắm, nên mình sẽ tìm cách mã hóa chúng. Trong bài viết này, mình xin giới thiệu cách sử dụng module Cipher của thư viện openssl được cung cấp mặc định trong Ruby để mã hóa các dữ liệu ...
Kotlin hiệu quả: Sử dụng Sequence cho các collections lớn với nhiều bước xử lý
Mọi người thường bỏ lỡ sự khác biệt giữa Iterable và Sequence. Nó có thể giải thích được. Đặc biệt là khi bạn so sánh định nghĩa Iterable và Sequence: interface Iterable<out T> { operator fun iterator(): Iterator<T> } interface Sequence<out T> { operator fun iterator(): ...
Một số tip để viết AJAX tốt hơn
AJAX - Asynchronous JavaScript and XML hoặc nghĩa tiếng việt là Javascript và XML không đồng bộ. Nó là một nhóm các công nghệ phát triển Web được sử dụng để tạo các ứng dụng Web động hay các ứng dụng giàu tính Internet (Wikipedia). Ajax được sử dụng trong các trường hợp mà bạn không muốn tải lại ...
Những lệnh Git cơ bản cần nhớ
1. Cơ bản vê Git Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn ...
Liệu chế độ ẩn danh có thực sự an toàn?
Các trình duyệt hiện đại cung cấp tùy chọn bảo mật riêng tư khác nhau theo một số tên gọi khác nhau: Chế độ ẩn danh trong Chrome, Duyệt web riêng tư trong Firefox và Opera, Internet Explorer và Microsoft Edge, Cửa sổ riêng tư trong Safari. Ở bài viết này, mình xin đề cập đến cụ thể Chế độ ẩn danh ...
Regular Expression Những khái niệm cơ bản
Regular Expression hay còn gọi là biểu thức chính quy được dùng để xử lý chuỗi nâng cao thông qua biểu thức riêng của nó, những biểu thức này sẽ có những nguyên tắc riêng và bạn phải tuân theo nguyên tắc đó thì biểu thức của bạn mới hoạt động được. Ngoài cái tên gọi Regular Expression ra thì nó còn ...
Bài 3: Sử dụng Vue devtool để theo dõi component
Trong bài trước mình đã hướng dẫn các bạn Tự tạo component và binding data cho component. Ở bài này mình sẽ hướng dẫn các bạn sử dụng Vue devtool - một công cụ cực kì hữu hiệu trong quá trình phát triển ứng dụng sử dụng VueJS để có thể theo dõi quá trình thay đổi của dữ liệu trong toàn bộ ứng dụng ...
Tổng quan Service trong Android
Service là một trong 4 component lớn của Android. Nó là một thành phần hết sức quan trọng, là một Android Developer thì bắt buộc bạn phải nắm rõ và hiểu sâu về Service. Như hình vẽ bên dưới các bạn có thể thấy một robot chiến binh Android có thanh kiếm là tượng trưng cho Activity, có hai chiếc ăng ...
Lập trình hướng đối tượng (OOP) trong PHP - Phần 2
Ở bài trước chúng ta đã tìm hiểu về các tính chất đặc thù về OOP trong PHP và bài này chúng ta cùng tìm hiểu về: Trait Namespace Magic Functions các quy tắc trong PSR2 Nội dung 1.Trait 1.1. Trait là gì??? PHP hay Ruby đều là những ngôn ngữ hướng đối tượng chỉ hỗ trợ single ...
Rails Authenticity Token từ đâu mà ra và cách nó đối phó với CSRF? (Cross Site Request Forgery)
Khi chúng ta tạo form để thêm, sửa hoặc xóa tài nguyên nào đó, Rails tạo ra một authenticity_token ngẫu nhiên, lưu token này trong session và tạo một hidden field trong form đó. Khi người dùng submit form trên, Rails sẽ so sánh authenticity_token được lưu trong session và authenticity_token ...
Tăng tốc độ truy vấn ActiveRecord trong Rails app
Khi bạn build một Rails app mới, mặc định ta thường sử dụng ActiveRecord. Query với . where , insert với .save - tất cả đều dễ dàng và đủ nhanh. Nhưng sau một thời gian - khi một trang có nội dung đơn giản mất những một giây hoặc lâu hơn để trở lại từ server, khi bạn bắt đầu thấy lỗi T505 ...
Các method và thành phần 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 ...