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 ...
Cấu hình DHCP Failover Multi VLAN trên Windows Server 2016
DHCP Failover trong Windows Server 2012 là tính năng mới cho phép 2 DHCP Server cùng chia sẻ chung dịch vụ DHCP , tăng độ sẵn sàng (High Availability) và phục vụ liên tục trong mạng. Khi 2 DHCP Server được cấu hình tính năng Failover, 2 bên sẽ replicate các scope và các thông tin cho nhau như ...
Một số điều có thể bạn chưa biết về javascript
I Default Parameters in ES6 Trong ES6 javascript chúng ta có thể set Default Parameters cho function var link = function(height = 50, awidth = '50') { ... } II Hiển thị biến trong chuỗi ES6 Trước đây ta sẽ cho hiển thị biến trong chuỗi javasript như sau var a var b var name1 = ...
Cơ bản về Golang language (Phần 2)
Xin chào các bạn đến với phần tiếp theo về việc tìm hiểu cơ bản về việc sử dụng Go, ở phần này mình xin giới thiệu những tính năng còn lại của Go. Ở phần trước, mình đã nói về các tính năng: 1: Slice 2: Map 3: Struct 4: Interface 5: Hàm 6: Con trỏ Khi chúng ta gọi một hàm và truyền tham số vào ...
Tại sao Modern Agile lại đáng dùng?
Hãy nói với team của bạn về Modern Agile. Nó là một thử nghiệm đáng giá. Và đây là lý do: Modern Agile trong 30 giây Modern Agile có 4 nguyên tắc cơ bản: Làm mọi người trở nên thật tuyệt vời (Make people awesome) Đảm bảo an toàn là điều kiện tiên quyết Thử nghiệm và học nhanh chóng ...