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 ...
Bài 4: Tìm hiểu về methods trong VueJS
Xin chào tất cả các bạn đến với series học VueJS với Laravel của mình, ở bài trước mình đã hướng dẫn các bạn cách sử dụng Vue-devtool để theo dõi các component trong ứng dụng, ở bài này, chúng ta sẽ cùng tìm hiểu về methods trong Vue, và cách sử dụng methods nhé. Đúng như tên gọi, methods là ...
Biểu đồ tỷ lệ phần trăm tròn
khi tạo một chương trình chúng ta có thể sẽ cần biết chương trình chạy hết bao lâu và khi nào thì chương trình đó kết thúc. Có 1 cách để giải quyết việc này đó là sử dụng progressBar. ProgressBar là một thanh tiến trình thể hiện trạng thái của một hoạt động, tác vụ đang diễn ra đến đâu, bao lâu thì ...
Tất cả các kiểu dữ liệu CSS chung
Giá trị cho các thuộc tính trong CSS có thể ở một số định dạng. Để một tác nhân người dùng có thể xác định xem một giá trị có hợp lệ hay không, nó cần đảm bảo rằng nó phù hợp với một trong các loại giá trị cụ thể. Đây được gọi là kiểu dữ liệu và thường được viết bằng thông số kỹ thuật như ...
Bài toán phân quyền vấn đề muôn thuở và rất khó hiểu.
(* Trong bài viết này mình chỉ nêu quan điểm và những thứ mình đã từng làm với việc phân quyền trên thực tế, chỉ mang tính tham khảo cho mọi người. Nếu có bất kỳ ý kiến góp ý nào hãy bình luận ở dưới để chúng ta cùng thảo luận thêm.) Phân quyền công việc mang đầy tính năng nề đối với dev nhưng ...
Giải quyết vấn đề lập trình cho người mới?.
Cách đây hơn 2 năm lúc mới bắt đầu chập chững vào nghề và sau khi được join dự án đầu tiên là 1 trang web của công ty. Ngay lúc đó mình đã bị ngợp do dự án quá lớn và kiến thức mình còn rất nhiều hạn chế. Kỹ năng dùng stackoverflow của mình tự tin bao nhiêu thì mình lại fail bấy nhiêu trong vấn đề ...
Thoughts of Proper Testing !
This will be basic walkthrough testing in general with my general thoughts of the process I do feel like writing now as, in my opinion reminding ourselves well known facts may be of use to everybody at anytime and anywhere. Basically this is a general reminder of what testers are to achieve while ...
Python - CGI Programming
Trở lại với seri về Python. Bài viết này sẽ giới thiệu về một điều rất thú vị, đó là CGI - Commond Gateway Interface Common Gateway Interface hay CGI là một chuẩn xác định cách thức trao đổi thông tin giữa web server và một custom script. Hiện nó được maintain bởi NCSA CGI là gì ? Common ...
Tìm hiểu về Pseudo-Elements trong CSS
Trong bài viết ngắn này mình xin giới thiệu một phương thức đặc biệt trong css đó là Pseudo-Elements . Vậy Pseudo-Elements là gì và nó có những gì hay ho thì chúng ta sẽ cùng đi vào chi tiết bài viết để hiểu rõ hơn nhé! Lưu ý : Bài viết chống chỉ định với Frontend Developer =)) ...







