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 ...

Tác giả: Tạ Quốc Bảo viết 16:33 ngày 12/08/2018

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 để ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

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 ...

Tác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

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ác giả: Tạ Quốc Bảo viết 16:32 ngày 12/08/2018

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ác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

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 ...

Tác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

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ư ...

Tác giả: Bùi Văn Nam viết 16:32 ngày 12/08/2018

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 = ...

Tác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

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ác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

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 ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

PHP vs Node.js, điểm tương đồng và khác biệt

Nếu bạn là một PHP developer bạn có thể đã từng làm việc với Node.js trong vai trò là một công cụ hỗ trợ build asset. Tuy nhiên Node.js rất khác so với PHP. Sự khác biệt đó gây không ít khó khăn cho các PHP dev trong việc tiếp cận và làm việc với Node.js. Bằng việc so sánh một số tính năng giữa PHP ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

Top 5 javascript framework của năm 2017

Angular.js được gọi là MVW framework (Model-View-Whatever) và trong số các lợi ích hàng đầu, cho những người mới khởi nghiệp và các công ty cỡ trung, nó có thể sản xuất mã nhanh, kiểm tra bất kỳ phần ứng dụng và dữ liệu hai chiều ràng buộc (thay đổi trong backend ngay lập tức được phản ánh trên ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

Wemos authenticate qua laravel (phần 4.2 - Server kết nối với web client)

Xin chào các bạn! Mình đã quay trở lại rồi đây. Hôm nay, mình sẽ chia sẻ tiếp phần Socket-IO Authenticate qua laravel sử dụng jwt token. Như bài trước mình đã chia sẻ cách tạo server authenticate sử dụng laravel với 2 phân quyền người dùng là users và devices. Bài viết hôm nay, mình sẽ chia sẻ ...

Tác giả: Bùi Văn Nam viết 16:32 ngày 12/08/2018

[Translation] Các khái niệm cơ bản về Fragment trong Android( Phần 2)

Tiếp theo phần trước, phần này mình sẽ giới thiệu về cách quản lí fragment trong activity Nội dung bài viết được mình tham khảo ở trang này Có 1 số subclass dc extend từ lớp base Fragment : Dialog Fragment List Fragment Preference Fragment Dialog Fragment Hiển thị 1 floating dialog. ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

JDK 9 có gì hot ?

Vậy là sau quãng thời gian dài chờ mong, thì tháng 9 vừa rồi Oracle đã chính thức cho ra mắt phiên bản Java mới nhất cùng với bộ công cụ phát triển là JDK 9. Tháng 9 ra mắt JDK 9, thật ra đây chỉ là một sự trùng hợp về con số, cái tên JDK 9 xuất phát từ việc nâng cấp dựa trên nền tảng trước đó là ...

Tác giả: Tạ Quốc Bảo viết 16:32 ngày 12/08/2018

Laravel collections - một số methods thông dụng

Collections là một tập hợp nhiều kết quả bởi Eloquent, mỗi collection đều là một instance từ IlluminateDatabaseEloquentCollection. Eloquent collection được kế thừa từ Laravel collection nên chúng có thể xử lý được lớp dưới của Eloquent model. Các collections cho phép bạn thực hiện lắp như với một ...

Tác giả: Bùi Văn Nam viết 16:32 ngày 12/08/2018

Series JSF - Phần 3: Managed Beans, Bean trong JSF, Các scope trong JSF

Series JSF - Phần 3: Managed Beans, Bean trong JSF, Các scope trong JSF Nguồn: https://stackjava.com/jsf/series-jsf-phan-3-quan-ly-beans-cac-scope-trong-jsf.html Managed Bean: là các Java Bean được đăng ký với JSF. Nói cách khác, Managed Bean là Java Bean quản lý bởi JSF Framework. Managed ...

Tác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

(Phần 2) Tìm hiểu về ansible

Ở phần1 chúng ta được làm quen với những module đơn giản và playbook thuần. Phần tiếp theo sau đây, chúng ta sẽ đi làm thêm về Item, handles, facts, variables, (OS ubuntu) A. Item Phần trước, thay vì viết module apt cho từng gói cài đặt. Giờ ta sẽ nhóm vào Item để chạy 1 lần luôn. --- - ...

Tác giả: Hoàng Hải Đăng viết 16:32 ngày 12/08/2018

Rethinking JavaScript Part II - Death of the For Loop (Translated)

for loop của JavaScript đã đáp ứng rất tốt nhu cầu của chúng ta, tuy nhiên thì hiện tại nó đã lỗi thời và nên được nghỉ ngơi và thay bằng cách kỹ thuật lập trình hàm mới hơn. May thay, đây là một thay đổi không đòi hỏi bạn phải là một người thông thạo về lập trình hàm. Thậm chí còn tốt hơn ...

Tác giả: Trịnh Tiến Mạnh viết 16:32 ngày 12/08/2018

Series JSF - Phần 2: Các pha / giai đoạn trong vòng đời của JSF

Series JSF - Phần 2: Các pha / giai đoạn trong vòng đời của JSF Nguồn: https://stackjava.com/jsf/series-jsf-phan-2-cac-vong-doi-trong-jsf.html Vòng đời trong ứng dụng JSF gồm sáu giai đoạn như sau: Restore view phase Apply request values phase; process events Process validations phase; process ...

Tác giả: Tạ Quốc Bảo viết 16:32 ngày 12/08/2018