
Quá trình chuyển đổi blog của tác giả thành mô hình "Web is on the edge", tức là lưu trữ trên nhiều máy chủ phân tán toàn cầu, giúp tăng tốc độ và hiệu suất truy cập.
Từ khi mới bắt đầu lập trình, tôi đã bị ám ảnh về vấn đề hiệu suất của chương trình mà mình viết ra. Không biết mình viết như thế này đã tốt chưa, đã tối ưu chưa, liệu nó có thể chịu tải được bao nhiêu người dùng cùng lúc... Đó cũng là viên gạch đầu tiên đặt nền móng cho việc đi tìm hiểu sâu hơn về cách hoạt động của các ngôn ngữ lập trình nói chung, hay là Node.js nói riêng. Trải qua nhiều năm tháng, tham gia nhiều dự án và nhận ra...
🕝2 tháng trước
Phân trang là một trong những yêu cầu cơ bản đối với API lấy dữ liệu là danh sách. Phân trang nhằm giảm tải lượng dữ liệu cần truy vấn cũng như giảm tải lượng dữ liệu truyền về, vì việc lấy hết dữ liệu trong một danh sách rất dài là một điều lãng phí đối với hầu hết tính năng thông thường. Bài viết ngày hôm nay tôi xin phép trình bày hai kĩ thuật phân trang phổ biến mà dễ dàng triển khai nhất. Mỗi loại có ưu nhược điểm thế nào và nên áp dụng trong trường hợp nào thì mời bạn đọc tiếp bài viết dưới đây nhé...
🕝2 năm trước
Tôi & khao khát "chơi chữ"
Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!
Node.js chỉ có một luồng để chạy mã Javascript, nghĩa là tại một thời điểm chỉ xử lý được một lệnh JS. Nếu như ứng dụng có nhiều mã JS mất thời gian để xử lý thì khả năng "nút thắt cổ chai" sẽ xuất hiện. Hay đơn giản như ứng dụng của bạn xử lý tác vụ nhẹ nhàng nhưng với số lượng yêu cầu đồng thời là rất lớn, dẫn đến kết nối timeout liên tục do không thể xử lý hết lượng yêu cầu...
🕝2 năm trước
Những phép tính phức tạp luôn làm Event Loop đau đầu bởi khi đó nó hoàn toàn bị chặn và gây ra tình trạng máy chủ không phản hồi trong một khoảng thời gian cho đến khi tính toán xong. Nói vậy thì chẳng phải Node.js chịu thua trước những phép tính như vậy? Bài viết ngày hôm nay tôi xin phép trình bày 2 kĩ thuật để giải quyết một phần vấn đề này...
🕝2 năm trước
Tất cả các yêu cầu đến cho đến lúc nhận được phản hồi đều đi qua Event Loop. Điều này có nghĩa là nếu Event Loop dành thời gian quá lâu tại bất kỳ thời điểm nào thì tất cả yêu cầu hiện tại và yêu cầu mới sẽ không được xử lý. Chúng ta nên đảm bảo rằng sẽ không bao giờ chặn Event Loop. Nói cách khác, mỗi hàm callbacks hoàn tất càng nhanh càng tốt. Điều này cũng áp dụng cho...
🕝4 năm trước