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

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

[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ác giả: Bùi Văn Nam viết 15:56 ngày 12/08/2018

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

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

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

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

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

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

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

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

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

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

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

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

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

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 </p> <div class= Tác giả: 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 ...

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

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

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

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

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

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 </p> <div class= Tác giả: 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 ...

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

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

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

Tìm hiểu gem grape-swagger.

Gem grape-swagger cung cung cấp cho ta việc tự động generate document cho Grape API , khi dùng gem này kết hợp với gem Swagger UI ta có 1 giao diện quản lý API document rất đẹp, bạn có thể xem demo ở đây: the petstore demo . Cài đặt. để cài đặt gem, ta chỉ cần them vào Gemfile: gem ...

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

Cách dùng Notification trong Android

1. Định nghĩa: Notification là một thông điệp hiển thị thông tin đến cho người dùng bên ngoài ứng dụng. Nó thường xuất hiện phía trên cùng của màn hình. Để xem chi tiết thông điệp (thông báo), bạn chỉ cần kéo thanh Notification drawer xuống. Thực tế trong các dự án phát triển app thì việc sử dụng ...

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

Android Switch Icon and Double sided seekbar

This a library that simplifies switch icons and is compatible from API 15 (Android 4.0.3).. Follow this easy tutorial to implement. Add it in your root build.gradle at the end of repositories allprojects { repositories { ... maven { url "https://jitpack.io" } ...

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

How Butterknife library works?

Trước đây khi Google chưa ra đời Data Binding Library thì thư viện Butterknife được sử dụng rộng rãi để viết code gọn hơn và nhanh hơn. Với Butterknife, chúng ta không cần phải lặp lại nhiều lần findViewById() hoặc setOnClick(), setLongClick(), ... mà chỉ cần khai báo Annotation, ví dụ Cách ...

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