Khai Thác Sức Mạnh Chrome Để Debug Giao Thức CoAP Trong IoT
Giới Thiệu Về Công Cụ Debug CoAP Trên Trình Duyệt
Trong quá trình phát triển các hệ thống Internet of Things (IoT), việc kiểm thử giao tiếp giữa các thiết bị bị giới hạn tài nguyên thường gặp nhiều khó khăn. Các công cụ truyền thống thường yêu cầu cài đặt phức tạp hoặc không thể chạy trực tiếp trong môi trường web. Copper4Cr giải quyết vấn đề n ...
Đăng vào ngày 5 tháng 7 lúc 02:32
Hệ thống xác thực biểu mẫu AJAX thời gian thực
Trong phát triển web, xác thực biểu mẫu AJAX là một nhiệm vụ quan trọng để đảm bảo dữ liệu tuân thủ định dạng và quy tắc, nâng cao chất lượng dữ liệu và trải nghiệm người dùng. Bài viết này trình bày cách triển khai xác thực phía máy chủ bằng JavaScript và đối tượng XMLHttpRequest mà không cần làm mới trang. Hệ thống bao gồm các bước quan trọng ...
Đăng vào ngày 5 tháng 7 lúc 02:21
Cơ chế vòng lặp sự kiện JavaScript và các câu hỏi phỏng vấn
JavaScript là ngôn ngữ đơn luồng, nghĩa là chỉ có một luồng thực thi chính. Mọi lệnh đều được xử lý tuần tự. Tuy nhiên, nếu một thao tác mất nhiều thời gian như setTimeout hay gọi Ajax, nó sẽ làm tắc nghẽn các tác vụ tiếp theo, khiến chương trình chạy chậm. Để khắc phục điều này, JavaScript có một cơ chế xử lý đặc biệt với nhiều "kênh" khác nha ...
Đăng vào ngày 4 tháng 7 lúc 22:33
Tạo bảng vẽ đơn giản với Vue và Canvas
Mô tả:
Bảng vẽ sẽ hiển thị dữ liệu từ phía backend, người dùng có thể thêm hoặc xóa các đường. Khi chọn một đường để xóa, nó sẽ được tô sáng và có thể bị xóa bằng cách nhấp đúp chuột.
HTML:
<div id="app">
<canvas
id="drawingCanvas"
width="600px"
height="380px"
class="canvas"
@mousedo ...
Đăng vào ngày 4 tháng 7 lúc 14:28
Hướng dẫn sử dụng Postman
Một số khái niệm quan trọng:
Biến toàn cục và biến môi trường
Sử dụng kết quả từ một yêu cầu làm tham số cho yêu cầu tiếp theo bằng JSON.parse(responseBody)
Viết script kiểm tra (request test & test response) và khẳng định (assertion)
Xử lý danh sách lồng nhau
Chuyển đổi danh sách thành chuỗi và cắt chuỗi bằng stringify(), split()
Tạo dấu ...
Đăng vào ngày 4 tháng 7 lúc 12:37
Lập trình đa luồng trong Node.js
1. Môi trường phát triển
Node.JS phiên bản 14.8.0
2. Bắt đầu nhanh với worker_threads
Javascript và Node.js trước đây luôn hoạt động trên mô hình đơn luồng cho đến khi module chính thức worker_threads được giới thiệu để giải quyết các tác vụ tính toán nặng.
Sử dụng đoạn mã sau để khởi tạo một luồng làm việc:
if (isPrimaryThread) {
// Tệ ...
Đăng vào ngày 4 tháng 7 lúc 06:34
Xử lý dữ liệu phổ biến trong Front-end (Cơ bản)
Chuyển đổi giữa chuỗi và mảng
// Chuyển chuỗi thành mảng
let chuoi = 'Công ty A, Công ty B, Công ty C';
console.log(chuoi.split(',')); //['Công ty A', ' Công ty B', ' Công ty C']
// Chuyển mảng thành chuỗi
let mangChuoi = ['Công ty A','Công ty B','Công ty C'];
console.log(mangChuoi.join());//Công ty A,Công ty B,Công ty C
Chuyển đổi giữa mả ...
Đăng vào ngày 3 tháng 7 lúc 13:28
Xử lý bất đồng bộ trong JavaScript với async/await
JavaScript hoạt động trên mô hình đơn luồng, nên để tránh treo giao diện khi thực thi các tác vụ tốn thời gian như gọi API hay đọc file, lập trình viên cần sử dụng cơ chế bất đồng bộ. Từ ES2017, cú pháp async và await ra đời giúp viết code bất đồng bộ dễ đọc và dễ quản lý hơn nhiều so với Promise thuần hoặc callback.
Cơ chế bất đồng bộ trước a ...
Đăng vào ngày 2 tháng 7 lúc 17:55
Xây Dựng Dự Án BBS Forum Đơn Giản Với Django
Phát triển một forum BBS đơn giản
Yêu cầu dự án:
1 Tham khảo tổng thể từ "抽屉新热榜" và "虎嗅网"
2 Thực hiện các mục khác nhau trong forum
3 Hiển thị danh sách bài viết
4 Hiển thị số lượng bình luận, số lượt thích của bài viết
5 Hiển thị người dùng trực tuyến
6 Cho phép người dùng đăng nhập tạo bài viết, bình luận, và thích ...
Đăng vào ngày 2 tháng 7 lúc 09:31
Những kỹ thuật cao ít được biết đến nhưng thực dụng trong ES6
1. Phương thức Object.entries() và Object.fromEntries()
Phương thức này cho phép chuyển đổi giữa đối tượng và mảng các cặp key-value:
Object.entries()
Chuyển đổi một đối tượng sang mảng các cặp key-value:
const thongTinNguoiDung = { ten: 'John', tuoi: 30, quequan: 'New York' };
const danhSachThuocTinh = Object.entries(thongTinNguoiDung);
cons ...
Đăng vào ngày 2 tháng 7 lúc 03:49