Bài viết của Trịnh Tiến Mạnh

Gem Letter Opener trong Rails

Hi mọi người, Hôm nay mình xin gửi đến mọi người một gem rất hay để giải quyết việc gửi mail mà không muốn lập mail thử nghiệm hay mail spam. Đó chính là gem Letter Openner. Thôi, muộn rồi nên mình đi vô nội dung chính luôn nhé! </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 16:42 ngày 12/08/2018 chỉnh sửa

In Ruby, instance variables aren''t truly "private"

You can access and modify an object's instance variables using instance_variable_get and instance_variable_set method. Example: class C def initialize self.x = 2 end private attr_accessor :x end c = C.new #NoMethodError: private methods `x` and `x=`called c.x = 4 puts c.x #But ...

Tác giả: Trịnh Tiến Mạnh viết 16:42 ngày 12/08/2018 chỉnh sửa

PSR-3-logger-interface

Giới thiệu . Hôm trước ngồi bắt đầu gõ PHP, nhưng mà đọc code covetion, có khi còn nhầm nhọt , vì quên chưa thuộc. Thế là thôi, quyết định ngồi đọc code convention thì kiếm được PSR0 to PSR4. Tham khảo bài viết về code convention của một bạn trên viblo, thấy PSR3 chưa được đề cập đến, nên kiếm ...

Tác giả: Trịnh Tiến Mạnh viết 16:42 ngày 12/08/2018 chỉnh sửa

2 cách để test preloading/eager-loading của ActiveRecord associations trong Rails

Chắc nhiều bạn đã từng dùng #includes, #preload or #eager_load để tăng performance và tránh truy vấn N+1. Nhưng trong đó chưa chắc code đã thực hiện đúng đắn và có association preloaded như ý mong muốn hay không? làm sao để test nó? Dưới đấy có 2 cách có thể giúp test. Hãy tưởng tượng rằng chúng ta ...

Tác giả: Trịnh Tiến Mạnh viết 16:42 ngày 12/08/2018 chỉnh sửa

Phần 3 - Cách thêm thư viện (module) vào Android project

Một dự án Android luôn sử dụng các thư viện ngoài để giảm thiểu thời gian coding cũng như chi phí phát triển, đảm bảo tính tái sử dụng. Việc thêm thư viện hay một module vào dự án Android hiện nay là không khó và cực kỳ dễ dàng khi Gradle được tích hợp sử dụng trong một dự án Android. Để hiểu rõ ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa

5 hàm Ruby bạn nên sử dụng

Chúng ta đều biết Ruby sẽ dạy chúng ta cách thể hiện ý tưởng của mình vào một cái máy tính. Và đó là một trong những lý do chính làm cho Ruby trở thành một lựa chọn phổ biến cho phát triển web. Giống như các ngôn ngữ khác, có rất nhiều cách để thực hiện một vấn đề trong Ruby. Tuy nhiên, cách giải ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa

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

TestNG là một framework kiểm thử tuyệt vời. Nó cung cấp rất nhiều tính năng có thể giúp chúng ta tạo ra những frameworks mạnh mẽ và dễ bảo trì. Trong chương này, chúng ta sẽ học Làm thế nào để thử lại các phép thử không thành công trong TestNG. Bạn phải thấy thất bại ngẫu nhiên trong quá trình ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa

Java 8 Method Reference (Phần 2)

Ở phần 1, mình đã giới thiệu qua 2 loại method preference - Method reference một static method - Method reference một instance method của một object có kiểu đặc biệt Giờ chúng ta sẽ tìm hiểu nốt 2 loại còn lại Method reference một instance method của một object đã tồn tại. Trong trường hợp ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa

Rails - so sánh where vs select khi thao tác trên memory và performance.

Bài toán Tôi đã viết một file seed trong đó nó cần phải được thiết lập để cập nhật chi tiết liên quan đến service_id trong một bảng. Task hiện tại của tôi là cần tìm trên 10.000 services và sau đó cập nhật các bản ghi. Viết một cách theo như tư duy truyền thống thì tôi có thể lấy tất cả các ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa

Ruby: Chú ý khi dùng `downcase!`

Chú ý khi dùng downcase! downcase! sẽ trả về nil nếu như xâu ký tự không có thay đổi. Ví dụ: "FiShiNg" . downcase ! # return: fishing "fishing" . downcase ! # return: nil Vì vậy, cần cẩn thận không dùng ghép downcase! với các câu lệnh khác, đề phòng trường hợp kết quả không ...

Tác giả: Trịnh Tiến Mạnh viết 16:41 ngày 12/08/2018 chỉnh sửa