
The Basics of MVC in Rails: Skinny Everything
Model-View-Controller (MVC) là một mẫu thiết kế (design pattern) cho cấu trúc hệ thống của phần mềm. Thiết kế MVC tách biệt xử lý logic của ứng dụng và giao diện người dùng. MVC là viết tắt cho Model, View và Controller, là ba thành phần chính của cấu trúc ứng dụng web MVC. Mỗi một thành phần đó có ...

Top 20 SQL Management Tools (Phần 1)
Có rất nhiều công cụ quản lý SQL sẵn có trên thị trường và do đó rất khó để chọn công cụ tốt nhất để quản lý dự án SQL của bạn. Sau đây Tôi đưa ra 20 tool quản lý các bạn sẽ đọc và chọn ra xem cái nào thích hợp với dự án của mình nhé. 1) Adminer: Adminer là một công cụ quản lý SQL để quản lý ...

Method References
Lại tiếp theo bài trước Lambda Expressions..... Chúng ta sử dụng lambda expression để tạo ra anonymous method. Thỉnh thoảng, một lambda expression không làm gì cả ngoài việc chỉ gọi đến một method có sẵn. Trong những trường hợp này, thường sẽ rõ ràng hơn khi gọi đến method đó bằng name. Method ...

So sánh Reference vs Value Types trong Swift (P2)
Giới thiệu Ở phần 1, chúng ta đã tìm hiểu về khái niệm cũng như so sánh sự khác nhau giữa Value types và Reference types . Ở phần 2 này, chúng ta tiếp tục tìm hiểu sâu hơn, làm thế nào để linh hoạt sử dụng chúng trong project thực tế. Chúng ta cùng tìm hiểu nhé! Mixing Value and ...

Authentication Nodejs with JWT
JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519) định nghĩa cách thức truyền tin an toàn giữa các thành viên bằng 1 đối tượng JSON. Thông tin này có thể được xác thực và đánh dấu tin cậy nhờ vào "chữ ký" của nó. Phần chữ ký của JWT sẽ được mã hóa lại bằng HMAC hoặc RSA. Trên đây là định nghĩa ...

[Angular] Những kiến thức cơ bản để tạo nên một web app
Hôm nay mình sẽ đưa ra những kiến thức cần biết gọi là đủ để tạo nên một web bằng angularjs 4. Danh sách: Cấu trúc module, component Vòng đời của một component Input, Output FormGroup, FormControl NgOnchanges Gọi từ component con lên component cha và ngược lại Provider Cấu trúc ...

Tìm hiểu Icinga2 (phần 2)
Ở bài viết lần trước, mình đã monitor 1 host cơ bản với 2 dịch vụ là ping là check web. Sức mạnh chính của Icinga2 nằm trong mô đun của nó. Có hàng ngàn plugin mà cộng đồng có sẵn bên cạnh các plugin chuẩn được cung cấp bởi dự án Monitoring Plugins. Các plugin của cộng đồng có thể được tìm thấy tại ...

Tạo project Rails + Angular bằng Webpacker
1. Giới thiệu Webpack là một công cụ hỗ trợ xây dựng JavaScript module trong các ứng dụng của bạn. Webpack đơn giản hóa các workflow bằng việc xây dựng một cách nhanh chóng một đồ thị tham chiếu (dependency graph) trong ứng dụng của bạn và sắp xếp nó một cách chính xác. Webpack có thể được cấu ...

Using Zones in Angular for better performance
Trong một số bài trước, chúng ta đã nói về cách cải thiện hiệu năng ứng dụng Angular bằng cách khám phá các API DetectionStrategy của Angular.Trong khi chúng ta đã nghiên cứu nhiều tùy chọn khác nhau để cải thiện hiệu suất, hiệu năng của ứng dụng, chúng ta chắc chắn đã không nói về tất cả các tùy ...

[Elasticsearch] Phân tích và tìm kiếm dữ liệu tiếng Việt
Các bài viết trước của mình có liên quan Elasticsearch: integrate with laravel docker và docker compose Ở bài viết trước mình có giới thiệu qua về Elasticsearch việc tìm kiếm cơ bản với Elasticsearch tuy nhiên dữ liệu mới chỉ dừng lại ở tiếng Anh vậy còn tiếng Việt thì sao? Mình đã thử google ...

Viết ứng dụng iOS an toàn hơn với SSL Pinning
SSL (Secure Socket Layer) đảm bảo truyền thông giữa client-server được mã hóa qua HTTP - HTTPS (HTTP over SSL). Mã hóa dựa trên PKI (Public Key Infrastructure) và một session key. Session key đã được giới thiệu bởi vì việc mã hóa và giải mã một public/private tốn rất nhiều tài nguyên CPU và nó sẽ ...

Checklist test trang web thương mại điện tử
Trước khi xây dựng một bộ test case chi tiết dành cho test hệ thống thanh toán trực tuyến mà tôi đã hứa ở bài viết trước, chúng ta hãy cùng xem xét một bộ checklist khái quát được dùng để test website thương mại điện tử tại một công ty phần mềm của Ấn Độ: Precise Testing Solution Pvt. Ltd. Nguồn ...

Thuật toán sắp xếp nào là nhanh nhất?
Lời nói đầu Thuở còn ngồi trên ghế trường học đại học, khi học môn "Cấu trúc Dữ liệu & Giải thuật" hay là lúc đi phỏng vấn ở 1 công ty ABC, XYZ nào đó, mà cũng có thể đến tận lúc ngồi trà đá bàn luận với anh em đồng nghiệp chuyện nghề, chuyện nghiệp ... thì chắc hẳn đã từng có lần anh em Dev ...

Today Extension
Trong khuôn khổ của bài viết này thì chúng ta sẽ dùng Today Extension để hiển thị thông tin thời tiết tại vị trí của người dùng tại thời điểm đó Mục tiêu cần đạt được : làm được cái app như cái hình dưới đây Bùi Văn Nam viết 15:56 ngày 12/08/2018

Mở rộng ứng dụng Node.js với native C++ modules (Native addon)
Ngoài việc nạp các thành phần mở rộng được viết bằng js; Node.js còn có thể được mở rộng bởi các module được viết bằng c++. Mặc dù sử dụng c++ module có nhiều điểm lợi thế nhưng nó không có nghĩa rằng chúng ta nên thay thế toàn bộ các mã js của mình bằng c++ nhé. Trong bài này chúng ta sẽ cùng tìm ...

Phương thức xử lý số trong JavaScript
Trong lập trình web các bạn thường xuyên gặp các trường hợp xử lý dữ liệu kiểu number từ client, và phương pháp xử lý nhanh nhất là bằng JavaScript. Trong bài viết mình xin giới thiệu các phương thức xử lý số trong JavaScript. Trong JavaScript, các số nguyên thủy (ví dụ như: 5, 13, -6, 0, ....) ...

Xây dựng ứng dụng với TableView tự co dãn chiều cao Cell theo nội dụng hiển thị
Download project đã đc dựng sẵn để bắt đầu tại đây Run project ta sẽ được kết quả như sau ta có thể thấy nội dung của app đã ko hiển thị đúng và thiếu rất nhiều dữ liệu quan trọng, rất xấu đúng không nào. Vậy nên bây giờ chúng ta cần hiển thị đúng và đủ nội dung của từng cell tạo 1 custom cell ...

Một số lệnh hữu ích trên terminal
1. Xem log realtime Thông thường ta hay dùng lệnh tail -f /var/log/nginx/access.log để xem realtime log. Nhưng ta có thể không cần dùng option -f mà dùng trực tiếp lệnh tailf /var/log/nginx/access.log cũng có chức năng tương tự. Đỡ mỏi tay hơn 1 chút Hoàng Hải Đăng viết 15:56 ngày 12/08/2018

9 Tips để tạo một Sprint Backlog tốt
The sprint backlog là một danh sách đơn giản bao gồm các task, các task này phải được thực hiện bởi team để bàn giao các chức năng trong phần tăng trưởng vào cuối sprint đó. Sprint backlogđược thực hiện trong phần thứ hai buổi họp Sprint planning với sự tham gia của tất cả các thành viên trong ...

Gem counter_culture trong rails giúp việc counter cache và tính tổng giữa bảng liên kết
Giới thiệu counter_culture giúp việc counter cache trong Rails app với cải tiến nhiều hơn trên counter cache chuẩn của Rails: Cập nhật counter cache khi các giá trị thay đổi không chỉ lúc tạo và xóa Hỗ trợ counter cache thông qua các mối quan hệ bảng nhiều cấp Hỗ trợ tên cột động để có thể ...