🏋 Top Posts

👉 Tiết kiệm đến 32% khi bạn bắt đầu học Node.js

Vì sao lại 32% mà không phải con số khác. Cuối bài viết sẽ nói về điều này, cho nên bạn đừng đặt câu hỏi về con số này trong lúc đọc bài viết này. Thật ra ngay tại thời điểm này, Node.js không phải là mới.

👉 ELK Stack - Elasticsearch, Logstash và Kibana

ELK Stack là một hệ sinh thái, được hình thành từ Elasticsearch, Logstash và Kibana. 3 chữ cái ghép lại là ELK. Kibana là lớp trực quan hóa của ELK Stack - nền tảng phân tích nhật ký phổ biến nhất thế giới hiện nay.

👉 Map, filter and reduce với async/await

Async functions là gì? Bạn có thể sử dụng Map, filter và reduce trong Async functions, nhưng có thể bạn mắc sai lầm hay vô tình nào đó trong những trường hợp thế này không? Không phải lúc nào async-await đều chạy như bạn mong muốn.

🏋 New Posts

👉 Ứng dụng thương mại ALICONCON đã send OTP cho USER Signup bằng cách này? Part 3

Send OTP đến người dùng là một cách không mới trong những năm gần đây. Nhưng kiến trúc và bảo mật của nó thế nào thì mỗi hệ thống đều có cách triển khai riêng. Chắc chắn rằng không có một hệ thống nào hoàn hảo và bảo mật tuyệt đối.

👉 Mongoose - Statics methods virtual và middleware là gì? Và khi nào nên sử dụng? DESIGNING AN E-COMMERCE WEBSITE ALICONCON

Mongoose statics vs methods chắc hẳn những ai bước vào tìm hiểu NoSQL cụ thể là Mongodb thì đã từng nghe qua về hai khái niệm đó. Và hơn nữa đó là virtual và middleware trong mongoose.

👉 Redis - Các kiểu dữ liệu phổ biến và kịch bản ứng dụng vào cuộc sống phần mềm

Chúng ta đều biết rằng Redis cung cấp vô số kiểu dữ liệu, có 5 kiểu phổ biến là String (chuỗi), Hash (băm), List (danh sách), Set (tập hợp), Zset (tập hợp có thứ tự). Với việc cập nhật phiên bản Redis mỗi ngày tinh vi hơn, thì có 4 kiểu dữ liệu được hỗ trợ thêm đó là

👉 AB Benchmarking Tool - Bài test cuối cùng sau khi triển khai Rest API

AB Benchmarking - Giả sử ta muốn test mô phỏng cho 100 users truy cập cùng một lúc để lấy Voucher trong Shopee. Vì thói quen của users là muốn có nhanh cho nên họ sẽ refresh page liên tục, ta cho là 50 lần. Như vậy ta có 100 người truy cập và tổng số lượng 100 * 50 = 5000 request

👉 Bạn có biết có đến 38 programming languages từ 1949 đến nay và bạn biết bao nhiêu?

Mỗi năm mỗi khác, người đến kẻ đi, và programming languages cũng vậy đến rồi đi hoặc làm bàn đạp cho môn phái lập trình khác. Một số languages thì bất tử theo thời gian.

👉 Hướng dẫn xây dựng Rest API cho thương mại điện tử như thế nào với hàng triệu đơn hàng mỗi ngày - Series Rest Api - FullStack

Hiện nay các ứng dụng thương mại điện tử (TMĐT hay ecommerce) được các nhà lập trình phát triển một cách xuất sắc từ quản lý đơn hàng cho đến chịu tải với hiệu suất cao, tính nhất quán dữ liệu trong khi sử dụng Microservices... Đó là những yếu tố tạo nên một hệ thống bền vững cho các app như Shopee, lazada, alibaba, alimama, và aliconcon.

👉 Học Javascript - Object javascript - Triển khai flatten trong Object

Flatten JavaScript object chính là biến hóa keys và values trong Object đó trở thành một Object có chiều sâu hay còn gọi là deep Object. Ngoài đệ quy thì chúng ta còn cách sau.

👉 Bucket Pattern Mongodb - Một mô hình paging (phân trang) rất hiệu quả nhưng khi nào nên sử dụng?

Với việc sử dụng Bucket Pattern thì chúng ta sẽ tiết kiệm được thời gian khi truy vấn dữ liệu cấp triệu. Đây là một mô hình Group rất hiệu quả khi phân trang nhưng vẫn còn có những nhược điểm cho nên bạn nên cân nhắc khi sử dụng mô hình này.

👉 findOneAndUpdate Mongoose rất quan trọng và khi nào nên sử dụng?

findOneAndUpdate mongoose là một hàm mà được sử dụng trong nhiều trường hợp. Trong Mongodb có nhiều functions để update một document như updateOne, nhưng đôi lúc chúng ta nên làm việc với một hoạt động mà lượng truy cập đồng thời cao, do đó findOneAndUpdate mongodb là một function nên quan tâm.

👉 3 cách phân trang trong databases thể hiện ở dự án stackoverflow, reddit, facebook và hack news

Pagination là một trong những thủ thuật để tối ưu hóa dữ liệu hàng đầu hiện nay. Facebook, reddit đã làm chúng ta mê mẩn đắm chìm trong thế giới của họ, mỗi lần lướt là một quá trình phân trang được thiết kế hoàn hảo. Trong bài này chúng ta sẽ tìm hiểu những thủ thuật đó trong Mongodb.

👉 Sử dụng Socket io trong mô hình MVC Express và Node.js theo 2 (video + source)

Mô hình MVC cho đến thời điểm này thì theo tôi vẫn giữ một vị trí đặc biệt, mặc dù đã có những pattern khác ra đời. MVC giúp chúng ta chia nhỏ modules mà dễ dàng quản lý, và socketio sẽ được tích hợp như thế nào?

👉 MongoDB schema design - One to One (1:1)

Một trong những người mới học về database, bất kể mongodb, mysql hay oracle thì việc xây dựng những lược đồ (schema) là một điều quan trọng. Nếu ngay từ đầu bạn làm tốt thì sau này mọi chuyển trở nên đơn giản cho những người đến sau hoặc hệ thống được nâng cấp.

👉 Node.js 18 mới ra mắt dev nên chú ý chức năng này?

Global fetch API hiện đã có phiên bản mới nhất của JavaScript runtime Node.js. Node.js 18 bao gồm bản cập nhật cho công cụ JavaScript V8, với tính năng fetch được bật theo mặc định và module test.

👉 Redis benchmark đánh giá hiệu suất và khả năng mở rộng của Redis

Redis benchmark là một kỹ thuật giúp những lập trình viên có thể có thể sử dụng để mô phỏng một số lượng khách hàng tùy ý kết nối cùng một lúc và thực hiện các hành động trên máy chủ, xác định được thời gian hoàn thành các nhiệm vụ.

👉 UUID thiếu sót trong lập trình, đối thủ đã phát hiện kinh doanh của chúng tôi [backend service]

UUID đã giúp đối thủ kinh doanh biết bí mật doanh thu của chúng tôi. Trong bài viết này, bạn sẽ nghe một mẩu chuyện có thật và hiểu hơn về UUID với Nodejs như thế nào?

👉 function declaration và function expression khác nhau điểm gì? Chưa khởi động mà rớt cái tạch.

rong javascript thì có nhiều cách khác nhau để tạo một function nhớ không nhầm thì có 8 cách tạo một function. Và trong số đó có ** function declaration và function expression**, vậy nó khác nhau điểm gì.

👉 Full text search Mongodb - Chỉ một bài viết không cần nhiều.

Đầu tiên chúng ta thống nhất với nhau là hiểu khái niệm Full text search là gì? này trước rồi mới tới việc thực hành. Full text search đơn giản chỉ là một hình thức nâng cao việc tìm kiếm dữ liệu trong database mà thôi.

👉 Compare date JavaScript - So sánh 2 ngày trong javascript

So sánh 2 ngày trong javascript, đây là một bài viết nhỏ nhỏ và để tôi kể cho các anh chị nghe một tình huống về một bạn cũng có exp 1 năm rồi, chú ý bài viết chỉ tips khắc phục không có ý định cười. Vì tôi cũng một thời như thế

👉 onload vs onerror trong javascript nên hiểu để làm việc với third-party

Onload vs onerror in javascript. Đôi khi chúng ta cũng phải cần sử dụng một resource của third-party như images, iframes... Như thế này

👉 Object.freeze() Object.seal() và Object.preventExtensions() cần hiểu rõ sự khác nhau trong Object Javascript

JavaScript cung cấp ba methods object sau đây để đáp ứng tất cả các trường hợp này một cách dễ dàng, và trong bài viết này chúng ta sẽ giải thích qua ví dụ cụ thể. Đó là 3 phương thức Object.freeze(), Object.preventExtension() và Object.seal()

👉 Connect with mongoose using async/await

Mongoose has two ways of connecting to a MongoDB database, connect() and createConnection(). You can use these within an async function as follows:

👉 StructuredClone là một tính năng deep-copying chúng ta đã chờ rất lâu.

StructuredClone là một tính năng cho phép những lập trình viên có thể sử dụng để deep-copying. Nhằm thay thế cho các phương pháp cũ như sử dụng object spread operator

👉 3 cách update phiên bản Nodejs mới nhất trên máy Mac

Nodejs đang tung ra phiên bản 17.0.1 có nhiều tính năng được cải tiến. Nếu ai đang sử dụng phiên bản nodejs và đang xài Mac thì nếu muốn upgrade lên thì có thể tham khảo 3 cách dưới đây.

👉 Social Sharing Links không thể thiếu cho developers

Nếu khách hàng của bạn mất thời gian khi phải mở facebook rồi post, xong rồi lại mở reddit rồi post, tiếp theo mở pinterest rồi post. Nó thật phiền phức và mất thời gian. Bạn là một người lập trình và bạn có thể giúp gì?

👉 Triển khai mô hình microservices và redis là phù hợp với nodejs

Redis là một giải pháp tuyệt vời để tạo các dịch vụ cơ sở hạ tầng như message queue và event stores, nhưng có một số điều bạn cần tính đến khi sử dụng kiến ​​trúc microservices để tạo hệ thống phân tán.

👉 Hướng dẫn upload file to Google Drive với Node.js (Kèm video)

Google Drive là một dịch vụ lưu trữ có sẵn cho người dùng Google và cho phép bạn lưu trữ tất cả các loại files. Google api cho phép developers thao tác với API để có thể tạo folders, upload file rất hữu ích như một số trường hợp làm dịch vụ lưu trữ.

👉 Tránh lưu trữ các mảng lớn và cách thay thế hiệu quả trong Mongodb

Một trong những quy tắc chung khi lập mô hình dữ liệu trong MongoDB là dữ liệu được truy cập cùng nhau phải được lưu trữ cùng nhau. Đó là điều quan tâm đầu tiên khi lập trình database.

👉 CÁCH MỚI - Add thuộc tính vào Object với điều kiện cho trước.

Một ví dụ cho bạn thấy đúng là JavaScript có nhiều tính năng mà chúng ta chưa phát hiện và sử dụng hằng ngày. Nó có thể rất mới những người bắt đầu học javascript nhưng tôi nghĩ cũng khá nhiều anh em không biết tính năng này trong đó có mình.

👉 Bao nhiêu năm giờ gói gọn học Elasticsearch nodejs trong một video

Elasticsearch không còn xa lại, một công cụ mạnh mẽ truy vấn dữ liệu. Dể hiểu vì sao các công ty tuyển dụng đều thêm điều kiện "Ưu tiên có kinh nghiệm làm việc với Elasticsearch". Tôi cam đoan bạn sẽ không phí tiền đóng NET để đọc bài viết này.

👉 Hiểu single thread Nodejs với 30 dòng code

Single thread Nodejs sẽ được chứng minh với chỉ 30 dòng code. Bạn sẽ không còn hiểu mập mờ về vấn đề này nữa, đó cũng là một câu hỏi mà nhiều bạn cũng đang thắc mắc.

👉 Công thức may mắn chính xác mỗi người

Sự may mắn của một người có thể được thể hiện bằng các công thức toán học, chứ không đơn thuần như nhiều người vẫn nghĩ là may mắn tự nhiên rớt xuống.

👉 Cách triển khai theo dõi mỗi request trong express js (kèm code)

Không cần phải giới thiệu về express js là gì? Bài học hôm nay bạn sẽ học được cách theo dõi log của một dự án khi sử dụng nodejs kết hợp với winston. Bạn có thể lấy code trên github về và xem xét áp dụng cho dự án của mình.

👉 5 lý do nên sử dụng GraphQL tại Công ty của bạn

GraphQL đang trỗi dậy trong thời gian gần đây và có lẽ là tương lai. Các công ty như Facebook, Netflix, Shopify hoặc PayPal đang sử dụng ngôn ngữ dữ liệu và công nghệ API để thúc đẩy sản phẩm của họ. Trong bài viết này, có 5 lý do vì sao họ lại thay đổi, tại sao công ty bạn lại không?

👉 Cách push notification khi lớn hơn 500 thiết bị với multicast

Khi sử dụng FCM (Firebase) với sendMulticast thì theo tài liệu chỉ có thể gửi một lúc giới hạn 500 tokens hay hiểu là 500 thiết bị một lúc. Mẹo nhỏ trong bài viết này hướng dẫn bạn có thể làm được nhiều hơn với 500 tokens.

👉 Cache penetration và cache breakdown - Bạn ở 1% còn lại hay là 99%

Ở phía backend thì ngoài tối ưu hóa việc triển khai code là ưu tiên hàng đầu, tiếp theo là về SQL, và sau đó chính là bộ nhớ đệm hay gọi là cache. Cache cũng có hai loại đó là Bộ nhớ cache cục bộ và Dịch vụ bộ nhớ đệm.

👉 Thảo luận về repaint reflow javascript (Dành cho level 3)

Repaint reflow là một khái niệm liên quan đến high-performance javascipt. Cũng chính vì điều này mà các thư viện như Vue, React và Reef đều triển khai theo các làm như vậy.

👉 Khi nào bạn bất khả chiến bại (CEO vs CTO)

Một bài báo mà tôi cho là đúng với tình hình hiện nay. Khi nào bạn sẽ bất khả chiến bại, có thể là viển vông nhưng hay xem họ nói gì trong nội dung bài viết này.

👉 Giải thích cơ chế theo dõi pixel cho vợ nghe (Có video)

Cách hoạt động của pixel theo dõi người dùng đang làm gì là một tính năng rất hiệu quả, nhanh gọn lẹ. Tôi thì nghe qúa nhiều về sự phàn nàn rằng, mọi thứ chúng tôi truy cập trên internet đều bị theo dõi với một pixel.

👉 Tìm hiểu về cleanObject trong 1 phút

Tình huống này xảy ra khá nhiều giữa backEnd và frontEnd khi gọi truy vấn thông qua API RESTful. Bởi vì quy định khi làm việc với `API RESTful` thì quan trọng phải giới hạn các trường trả về thông qua API, lý do là giảm thiểu lưu lượng mạng và tăng tốc độ sử dụng API của chính họ.

👉 Facebook đang ra mắt Horizon Workroom, phần mềm họp ảo Online

Horizon Workroom là một phần mềm họp Ảo online được phát triển bởi Facebook, nhằm xoá đi sự khô khan khi họp thông qua nền tảng Zoom, với VR headset (Virtual Reality)