
Thêm/sửa các điều kiện search cho Ransack
Chắc hẳn các bạn lập trình viên Ruby on Rails (RoR) đã không còn xa lạ gì với gem tìm kiếm nổi tiếng Ransack, tuy nhiên, đây là một gem khá linh hoạt và có nhiều tùy biến hay. Hôm nay tôi sẽ tổng hợp lại và giới thiệu đến các bạn một số cách tùy biến/ thêm các trường trong một ô tìm kiếm với ...

1 vài điều thú vị có thể bạn chưa biết về javascript ES6
ES6 có rất nhiều điều kỳ diệu dưới đây mình sẽ ví dụ cho các bạn 1 vài điều nhỏ nhặt mà ít người biết tới về ngôn ngữ ảo diệu này. Các bạn hãy chọn lựa sử dụng ES2017 Link online để test https://es6console.com/ hoặc https://codepen.io/ Sử dụng mảng để hoán đổi các giá trị let a = 'world' ...

nil?, empty?, blank? trong Ruby on Rails - sự khác biệt thực sự là gì
Cung cấp bởi Ruby Có thể sử dụng trên bất kỳ đối tượng nào Sẽ chỉ trả về true khi thực sự là nil. Ví dụ: nil . nil ? # => true false . nil ? # => false 0. nil ? # => false "" . nil ? # => false Đây cũng là phương thức được cung cấp bởi Ruby ...

Sự khác biệt giữa test mobile và test website
Như chúng ta đã biết, khoa học công nghệ ngày càng phát triển, điện thoại di động và các thiết bị thông minh đang là xu hướng, là tương lai của thế giới. Các application ngày càng nhiều, lượt download từ Appstore hay Google play về các thiết bị di động ngày càng lớn. Để đáp ứng được nhu cầu lớn như ...

Sử dụng bộ nhớ của object trong Ruby
Khi lập trình Ruby, nhiều người nghĩ rằng việc sử dụng bộ nhớ vượt mức là việc khó có thể tránh khỏi. Tuy nhiên thông qua bài viết này, tôi muốn chỉ cho các bạn thấy có nhiều cách và chiến lược để giữ cho bộ nhớ được sử đụng một cách hợp lý. Những class chính như TrueClass, FalseClass, NilClass, ...

[Javascript] Indexed Database
Lần trước thì mình có giới thiệu về phần Storage thì lần này mình xin phép được tiếp tục giới thiệu đến mọi người về Indexed Database . Có thể coi Indexed DB nó là phần tiến hoá của Storage nên là nó cũng là một loại DB được tạo ra từ JS và được lưu lại trên browser. so với thằng localStorage thì ...

Tại sao chúng ta nên sử dụng View Object?
Khi view của bạn chứ nhiều logic phức tạp hơn, bạn có thể sẽ phải gặp đủ loại vấn đề. Thứ nhất là vấn dề test, thứ hai là code của bạn sẽ khó đọc và khó thay đổi hơn. Hãy xem xét ví dụ dưới đây: < table > < thead > < tr > < th > Ordered ...

Advanced Django REST framework
Ở bài trước mình đã giới thiệu cho các bạn cách tạo ra một REST API căn bản từ 1 project django. Link tại đây https://viblo.asia/p/gioi-thieu-django-rest-framework-Eb85oJb2l2G Bài này mình sẽ giới thiệu tiếp 1 số tính năng thêm của django REST framework. Gồm có: Customize serializer ...

Sharing data between iOS apps and app extensions
Nội dung Giới thiệu Sharing non-local or non-app data Set up an App Group Using your App Group Keep Your Data Intact BNotifications between Apps and App Extensions Kết Luận Giới thiệu Chắc hẳn khái niệm extensions đã khá quen thuộc với chúng ta, vì chúng là các tiện ích tính ...

Bàn luận về Cloudflare
Những năm gần đây, Cloudflare nổi lên như một ông lớn trong lĩnh vực quản lý domain và cập nhật DNS nhanh như tia chớp. Hôm nay chúng ta sẽ trao đổi về những thứ làm nên sức mạnh và 1 số điểm yếu của dịch vụ này. 1. Cloudflare là gì Cloudflare là một CDN (Content Delivery Network) có nhiều tính ...

Series JSF - Phần 1: JSF là gì? Giới thiệu JSF Framework
Series JSF - Phần 1: JSF là gì? Giới thiệu JSF Framework. Nguồn: https://stackjava.com/jsf/series-jsf-phan-1-jsf-la-gi-gioi-thieu-jsf.html Ở series này mình sẽ nói về phiên bản JSF mới nhất là JSF 2.2 vì nó dễ dùng và mạnh mẽ hơn các phiên bản trước. Những bài đầu trong series này sẽ khá nhàm ...

Xử lý form dễ dàng với Vuejs
Để handle một form trong html, để lấy ra giá trị của các ô input mà người dùng nhập vào, thay vì sử dụng attribute name để đặt tên cho ô input đó thì khi sử dụng Vuejs, chúng ta có thể xử lý form đó một cách rất thuận tiện và dễ dàng. Bạn có thể sử dụng v-model để tạo ra các ràng buộc dữ ...

Cách vẽ một hình đơn giản trong Canvas
Canvas hiểu đơn giản là một thẻ tag mới của HTML5, được xây dựng từ Javascript, dùng để vẽ hình, tạo hiệu ứng, thậm chí có thể làm game đơn giản ngay trên trang web của bạn. Trong bài viết này mình sẽ không nói nhiều về định nghĩa, hay các hàm trong Canvas, những cái đấy đã có rất nhiều trang web ...

Bảo vệ routes sử dụng guards trong angular
Trong một ứng dụng web, chúng ta thường đối mặt với kịch bản một số page cho phép tất cả mọi người truy cập, ngược lại một số khác chỉ dành cho các user đã login vào hệ thống như admin system chẳng hạn. Để giải quyết vấn đề này chúng ta hoàn toàn có thể thực hiện dễ dàng trên server side. Tuy ...

Node JS Architecture – Single Threaded Event Loop
I. NodeJS Architecture 1. Node JS Single Threaded Event Loop Model Các ứng dụng Node JS sử dụng kiến trúc " Single Threaded Event Loop Model " để xử lý đồng thời rất nhiều clients. Hiện nay có rất nhiều công nghệ ứng dụng web như JSP, Spring MVC, ASP.NET, HTML, Ajax, jQuery etc. Nhưng ...

ASP.NET MVC Tip #10 – Ngăn chặn tấn công URL Manipulation
Trong thủ thuật này, tôi giải thích thế nào tin tặc có thể ăn cắp thông tin nhạy cảm từ một trang web ASP.NET MVC bằng cách thao tác URL. Tôi cũng thảo luận làm thế nào bạn có thể xây dựng các unit test để ngăn chặn kiểu tấn công này. Một hacker có thể sử dụng một tấn công URL Manipulation để ...

Chương trình lọc thư rác bằng Java, code ví dụ
Lọc thư rác bằng Java, sử dụng phân loại bayes Nguồn: https://stackjava.com/demo/loc-thu-rac-bang-java-su-dung-phan-loai-bayes.html Ở phần trước mình đã giới thiệu các bạn về phương pháp phân loại đơn giản bằng Bayes (đọc lại tại đây). Ở bài này chúng ta sẽ tiến hành cài đặt chương trình lọc ...

10 Tips for Eager Loading to Avoid n+1 Queries in Rails
Sử dụng Eager Loading là một cách rất tuyệt vời để ngăn chặn n+1 query . Tuy nhiên cú pháp và các cách vận dụng cần phải rất linh hoạt. Sau đây là 10 tip để hướng dẫn cách dùng sao cho hợp lý. 1. Sử dụng gem Bullet để xác định n+1 query Cài đặt và config gem theo hướng dẫn (https://github.com/f ...

Tích hợp Invisible reCaptcha trong ứng dụng Laravel
Invisible reCaptcha là ứng dụng xác thực của Google. Ban đầu Google chỉ phát triển bản reCaptcha thông thường. Sau 2 lần nâng cấp, chúng ta đã có phiên bản APIv3 với có tên gọi Invisible reCaptcha. Bản captcha này khác với các bản reCaptcha trước ở 1 điểm mà mình cho là nó thuận tiện hơn rất ...

Tổng hợp các cách tối ưu code Ruby on Rails hiệu quả - P1
Trong quá trình phát triển web với Ruby on Rails, mình nhận ra khía cạnh optimize code trong rails là rất quan trọng, bởi vì để web được viết bởi rails chạy nhanh hơn, và người sử dụng có một trải nghiệm tốt hơn, chúng ta chắc chắn phải tối ưu code của mình. Bài viết này với mục đích tổng hợp các ...