Chuyển đến nội dung chính

Bài đăng

Luyện tập chọn Path trong Testing Automation

Học cách chọn CSS path: https://www.w3schools.com/cssref/trysel.asp  Luyện chọn Path:   https://flukeout.github.io/  https://topswagcode.com/xpath/
Các bài đăng gần đây

Angular: Toast Notification

Hiển thị thông báo và cảnh báo là một trong những tính năng cần thiết cho website. Trong bài viết này, mình hướng dẫn các bạn tích hợp Toast Notification vào hệ thông. Toast là một popup thông báo, được hiển thị cho người dùng với nội dung tin nhắn có thể đọc được ở cuối màn hình hoặc tại một vị trí cụ thể và tự động biến mất sau vài giây. Cài đặt npm install ngx-toastr --save npm install @angular/animations --save Thiết lập Mở file angular.json, thêm toastr.css như sau: "styles": [ "styles.scss", "node_modules/ngx-toastr/toastr.css" // try adding '../' if you're using angular cli before 6 ] Mở file app.module.ts, thêm BrowserAnimationsModule, ToastrModule: import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ToastrModule } f

RxJS : of, tap, map, và filter

Trong bài viết này, mình cố gắng tổng hợp và đưa ra các ví dụ đơn giản về các hàm of(), tap(), map(), và filter(). of() of(...items)—Returns an Observable instance that synchronously delivers the values provided as arguments.  Trả về 1 biến observable // Create simple observable that emits three values const myObservable = of(1, 2, 3); // Create observer object const myObserver = { next: (x: number) => console.log('Observer got a next value: ' + x), error: (err: Error) => console.error('Observer got an error: ' + err), complete: () => console.log('Observer got a complete notification'), }; // Execute with the observer object myObservable.subscribe(myObserver); // Logs: // Observer got a next value: 1 // Observer got a next value: 2 // Observer got a next value: 3 // Observer got a complete notification tap() RxJS tap performs side effects for every value emitted by source Observable and returns an Observable identical to the source Observabl

Hướng dẫn cách tạo và validate JWT token

Trong bài viết này, mình sẽ hướng dẫn cách tạo JWT token và cách validate JWT token JWT là gì? 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. JSON Web Token bao gồm 3 phần, được ngăn cách nhau bởi dấu chấm (.): Header Payload Signature (chữ ký) Tổng quát thì nó có dạng như sau: xxxxx.yyyyy.zzzzz Trong đó, bạn cần lưu ý: secret key và expire time. Đây là 2 thành phần quan trọng dùng để tạo và validate token Header Phần Header dùng để khai báo kiểu chữ ký và thuật toán mã hóa sẽ dùng cho cái token của chúng ta. Payload (Claims) Phần thứ 2 của token đó là Payload, nơi chứa các nội dung của thông tin (claim). Thông tin truyền đi có thể là mô tả của 1 thực thể (ví dụ như người dùng) hoặc cũng có thể là các thông tin bổ sung thêm cho phần Header. Nhìn chung, chúng được

Angular: Hướng dẫn cách debug bằng Chrome

Mở Visual Studio Code, vào View -> Comand Pallete (Ctrl+Shift+P), chọn Extension: Install Extensions Chọn Debugger for Chrome Để debug trong app Angular, bạn phải bảo đảm app Angular phải được chạy trước bật chế độ debug Bạn mở command line, gõ ng-serve. Sau đó, bạn bấm vào biểu tượng thứ 4 của Visual Studio Code để mở khung chọn chế độ debug Chọn Launch Chrome against localhost để bật chế độ debug   Chúc các bạn thành công!

[ASP.NET MVC] Cách xử lý inline script sau khi bật CSP

Sau khi bật CSP, tất cả các inline script trong trang web đều không hợp lệ. Bạn có 2 cách để xử lý Di chuyển tất cả các script vào bên file javascript. Thêm nonce-<dynamic string> vào mỗi đoạn script Trong bài viết này, mình sẽ hướng dẫn các bạn cách thêm nonce vào mỗi đoạn inline-script trong project ASP.NET MVC. Trường hợp bạn muốn thêm vào ASP.NET core, mình nghĩ sẽ rất dễ dàng vì có rất nhiều bài hướng dẫn. Cài đặt NWebsec NWebsec consists of several security libraries for ASP.NET applications. These libraries work together to remove version headers, control cache headers, stop potentially dangerous redirects, and set important security headers. Trong Nuget package, gõ: Install-Package NWebsec  Mở Web.config, <nwebsec> <httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NWebsecConfig/HttpHeaderSecurityModuleConfig.xs