🏋 Top Posts

👉 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

👉 Install redisearch ubuntu 20.04

Gần đây mình chơi redisearch thay thế cho elasticsearch. Vì đọc nhiều dự án thương mại sử dụng redisearch, và cũng tham khảo nhiều chỗ, chính vì vậy viết lại cho anh em cách sử dụng redisearch.

👉 debounce vs throttle javascript

Debounce javascript và throttle không phải là hai khái niệm duy nhất trong javascript giúp tối ưu hoá người dùng và cải thiện performance của ứng dụng hay website của chúng ta. Nhưng nếu như bạn là một developer mà không biết hai tính năng này thì có thể bạn đã bỏ lỡ một kiến thức rất quan trọng, và có thể rớt ngay vòng 1 của buổi phỏng vấn.

🏋 New Posts

👉 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)

👉 Sort array JavaScript và những phương pháp hàng đầu

Trong bài viết này, chúng ta sẽ xem các trường hợp sử dụng phổ biến nhất cho phương thức Array sort() và cách chúng ta có thể sử dụng tối đa sức mạnh của nó.

👉 Kiểm tra địa chỉ email có tồn tại, không nên chày cối với khách hàng?

Đa số nhiều trường hợp xảy ra giống nhau là đưa địa chỉ email thiếu hay thừa khiến người gửi mail send một cách mù quáng, và nội dung mail sẽ không bao giờ đến. Bạn có thể nghĩ đó là việc nhỏ, nhưng trong hệ thống sendMail nó là một vấn đề lớn.

👉 Triển khai nodejs và express nên nhớ có một bài học đừng quên

Request entity too large nodejs, vâng chính là lỗi đó Anh. Chúng ta bị chơi rồi, nhưng Bạn A cũng đã khắc phục xong nhanh chóng, sao nó đơn giản mà chúng ta lại bị bỏ qua nhỉ?

👉 Solid trong Javascript: Cách sử dụng nguyên tắc SOLID để thiết kế hệ thống có tính năng mở rộng

Solid là một khái niệm trong lập trình Javascript được sử dụng để thể hiện một hệ thống lập trình có tính năng đơn giản, dễ dàng quản lý và dễ dàng mở rộng. Solid được định nghĩa bởi các nguyên tắc SOLID, mỗi nguyên tắc đề cập đến một khía cạnh quan trọng của việc thiết kế hệ thống lập trình tốt.

👉 Từ 9 giây xuống 1 giây tối ưu giỏ hàng sàn thương mại

Sau khi bạn đã biết 1 phần hoạt động của một Ứng Dụng Thương Mại Điện Tử (TMĐT) phải xử lý như thế nào về quy trình giảm tải khi đặt hàng từ 9 giây xuống còn gần 1 giây, sau đó hạn chế gian lận khi cho phép mỗi người một phiếu giảm giá.

👉 Được đấy ECMAScript 2022 (ES2022/ES13)

ES12 chưa qua thì ES2022/ES13 đã tới, nó quá nhanh và nguy hiểm. Bởi kỹ thuật luôn vậy sự đổi mới diễn ra hằng ngày, là những lập trình viên vẫn ngồi yên tại chỗ, họ không di chuyển đôi chân nhưng đầu óc của họ luôn chuyển động.

👉 Lắp ghép máy tính xách tay với Framework DIY

Framework Laptop DIY Edition. Nếu bạn theo dõi tin tức công nghệ, bạn có thể đã nghe nói về quyền sửa chữa trên thiết bị. Công ty Framework của Mỹ đã ra mắt chiếc máy tính xách tay DIY đầu tiên

👉 Full-text search with RediSearch Nodejs

RediSearch là một công cụ full-text search, có nghĩa là bạn có thể sử dụng thay cho elasticsearch nếu muốn, bài viết này giúp bạn hiểu sâu hơn về cách thực hiện tìm kiếm trong database và những ưu điểm khi sử dụng redisearch.

👉 Get lat lng from address

Làm thế nào để chuyển đổi một Address sang Longitude và Latitude. 2 ví dụ sau đây có thể giúp bạn xử lý nhanh chóng.

👉 Kubernetes là gì? Đọc xong câu chuyện tôi thốt lên, tôi không cần?

Kubernetes là gì? Kubernetes và Docker. Đừng quan tâm tới nó, khi bạn cần sẽ tự tìm đến. Câu chuyện dưới đây sẽ cho bạn biết rõ hơn. Giả sử bạn là một nhà phát triển và bạn đã làm việc thực sự chăm chỉ và phát triển ra một ứng dụng trò chuyện trực tuyến.

👉 Lỗi phổ biến khi sử dụng name function javascript

Một lỗi thường thấy ở các bạn mới học javascript hay những bạn bắt đầu làm việc với js mà thường gặp đó là sử dụng name function không đúng cách. Ví dụ như sau

👉 Install redisearch ubuntu 20.04

Gần đây mình chơi redisearch thay thế cho elasticsearch. Vì đọc nhiều dự án thương mại sử dụng redisearch, và cũng tham khảo nhiều chỗ, chính vì vậy viết lại cho anh em cách sử dụng redisearch.

👉 Sử dụng ngrok và localtunnel export local nodejs

ngrok là gì? localtunnel là gì? Trong bài hướng dẫn này, bạn sẽ biết cách đưa ứng dụng local của bạn ra thế giới.

👉 exponential operator javascript (toán tử luỹ thừa)

exponential operator javascript hay còn gọi là toán tử luỹ thừa được giới thiệu có một chi tiết cực kỳ dễ nhầm lẫn. Anh em cũng xem xét một chút.

👉 Event delegation, bubbling, và capturing là gì?

Event delegation, bubbling, và capturing là gì? Sự khác biệt của 3 sự kiện này trong javascript. Nếu trả lời được thì bỏ qua câu 3 và 7.

👉 Tối ưu hoá hệ thống với 4 tầng (Giải thích chi tiết)

Và khi đến giờ G thì trang của chúng tôi không thể load. Sự việc khiến team của chúng tôi cảm thấy thất vọng, nhưng ngay sau đó My team bắt tay vào việc tối ưu hoá hệ thống này. Và sau 3 ngày

👉 Code mmamammmmammamamaaamammma by John Carmack

Trên diễn đàn Reddit đã phát hiện ra rằng đèn nhấp nháy trong tầng hầm của trò chơi Alyx phát hành năm 2020 giống với "Half-Life" phát hành năm 1998, cho thấy rằng chúng sử dụng cùng một mã.

👉 Kiểm soát đồng thời trong lập trình

Có một bạn gửi câu hỏi về bằng một hình ảnh, và tôi không bất ngờ lắm với tình huống trên. Với một 1 triệu url thì nếu sử dụng for loop như bình thường là không thể. Và tôi đã gặp và có giải pháp nay chia sẻ cho các bạn.

👉 Path Nodejs 1 trong 13 module nên biết

Node.js cung cấp một module path nhằm mục đích xử lý đường dẫn file và folder. Tất nhiên là hiệu suất mang lại mỗi hệ điều hành là khác nhau.

👉 Jest là gì? Cách viết Unit test NodeJS với jest

Unit test NodeJS rất dễ viết và có thể được thực thi mà hầu như không cần cấu hình gì cả chỉ cần install package là ok, vì chúng thường được thực hiện chỉ bằng một lệnh gọi function.

👉 PM2 Cheat Sheet

PM2 là một trình quản lý quy trình daemon sẽ giúp bạn quản lý và giữ cho ứng dụng node.js trong tầm kiểm soát của hệ thống. Và đây là PM2 Cheat Sheet giúp bạn có thể nắm nhanh những thao tác mà không cần phải đi tìm hiểu lại.

👉 Nodejs - Cách thiết kế hệ thống tặng phiếu giảm giá tăng đột biến

Nodejs - Cách thiết kế hệ thống tặng phiếu giảm giá tăng đột biến. Bài viết mang tính thực tế cao trong giai đoạn thiết kế hệ thống lớn. Và nằm trong Series - Con đường trở thành kỹ sư...

👉 Object copy vs Array copy trong javascript giống câu chuyện vợ chồng!

Object copy vs Array copy javascript nhìn qua rất dễ thực hiện bạn chỉ cần sử dụng clone Object với object.assign() và clone Array với Array.from() là xong. Nhưng đó là không phải cách chính xác, vì sao nó sai? Và làm thế nào cho đúng? Hãy xem ví dụ sau đây.

👉 3 khái niệm mà backend chém nhiều và sai nhiều nhất!

Fault Tolerance, High Availability & Disaster Recovery đó là 3 khái niệm mà chúng ta được nghe mỗi lần phỏng vấn về BE hiểu là mỗi hệ thống thiết kế đều tuân thủ 3 nguyên tắc là khả năng chịu lỗi, tính khả dụng cao và khả năng phục hồi của hệ thống khi có tình xuống xấu. Theo dõi và để lại dấu răng.

👉 Nodejs limit concurrent requests

Nodejs limit concurrent requests hay còn hiểu là giới hạn các yêu cầu của người dùng đồng thời. Đó là nhiệm vụ không chỉ ở tầng backend mà còn frontend. Bài viết này giúp những bạn làm backend có thêm một khu vực phỏng thủ rất chi là ok.

👉 JavaScript tree shaking

Tree shaking là gì? Tree shaking là khái niệm tối ưu hóa hiệu suất bắt buộc phải có khi bundling JavaScript. Trong bài viết này, chúng ta đi sâu hơn về cách hoạt động của Tree shaking javascript.

👉 Devops là gì? Tôi sẽ kể câu chuyện mà bạn chưa được nghe

DevOps là gì? DevOps là một cách để các nhóm R&D (Research vs Development ) chia sẻ niềm vui và nỗi buồn, những khó khăn và cùng nhau vượt qua những thăng trầm.

👉 Remove item in object javascript

Không cần phải thêm những ví dụ nào nữa để thấy rằng việc sử dụng destructuring và spread operator trong javascript là điều cần thiết. Nhưng thật sự nó rất mạnh mẽ và tỷ luôn được sử dụng cao. Những con số đã chứng minh điều đó.

👉 Kiếm 10 tỷ vnđ mỗi năm? Dựa vào bài toán ruồi, chuột, thỏ, hươu và voi

Khi tác giả nói vào cách kiếm tiền như vậy tôi không hề tin, nhưng khi đọc cách giải bài toán trên thì tôi đã hoàn toàn tin tưởng. Nhìn lại công ty mình đang làm tôi thấy, chúng tôi đang đi săn hươu. Điều đó quá tuyệt vời.

👉 Clean code là gì? 80% sử dụng phương pháp này thay cho switch.

Switch case trong Javascript được tô vẽ nhiều trong những khoá học hay còn trong nhà trường. Nhưng ở thực tế rất ít khi chúng được sử dụng ở những lập trình viên có nhiều năm kinh nghiệm. Không phải vì nó không hay mà chính là vì.

👉 RabbitMQ - Cách thiết lập không mất tin khi triển khai nodejs rabbitmq

RabbitMQ khái niệm không còn xa lạ gì cho anh em làm hệ thống backend, và có một câu hỏi được đặt ra nhiều nhất trên các diễn đàn lớn là làm sao RabbitMQ khởi động lại mà những tin nhắn cũ không bị mất đi, bài viết này giúp bạn nhanh gọn lẹ.

👉 Sharktank và Blockchain (Tìm hiểu vì sao 10 phút sinh ra 1 bitcoin )

Nếu khái niệm "Blockchain là gì?" có lẽ tần suất được nhắc đến nhiều nhất đó là chương trình thương vụ bạc tỷ hay còn gọn là SharkTank Việt Nam!. Hình như startup nào cũng sử dụng công nghệ này để làm nổi bật lên giá trị cốt lõi của dự án.

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