🏋 Top Posts

👉 Lập trình viên Fullstack lộ trình và hai hướng đi phát triển phần mềm

Vị trí Fullstack (FS) lập trình viên có hai cuộc đời, một là sướng chết cha, hai là khổ chết bà. Sướng và khổ ở đây chưa nói đến lương bổng nha AC. Vì sao để tôi phân tích thêm về vấn đề này.

👉 Cơ chế mượn xe VINFAST thông qua Singleton pattern - Phần 3 (ĐỌC BÀI TRƯỚC ĐỂ HIỂU VỀ XE VINFAST)

Singleton là gì? Có lẽ một trong những khái niệm được nhắc tới nhiều nhất trên google. Nhưng tất cả bài viết đó đều mang hơi hướng lý thuyết và không có một ví dụ thực tế nào dể cho chúng ta tìm hiểu. Sự thật đó là khi đọc xong, hầu như tôi hay các bạn đều không hiểu What is singleton? Và trong Series về Design pattern này, tôi cũng nói rõ nhất có thể về Singleton pattern kèm theo đó là một ví dụ thực tế, chắc rằng những lập trình viên có thể đều hiểu sau khi đọc bài viết này.

👉 Custom React useDebounce Hook with Typescript

Custom hook typescript. What is Debouncing? In the past year, React released Hooks, which enable us to use state and other features in functional components rather than writing class components. We can also write custom hooks, which lets us abstract component logic into reusable functions. In this post, we’ll write a custom useDebounce hook using Typescript!

🏋 New Posts

👉 Thiết kế kiến trúc hệ thống hàng tỷ tin nhắn - Phần 3

Bài viết này sẽ tiếp theo cho phần một là thảo luận 2 giải pháp thiết kế hệ thống tin nhắn phổ biến nhất hiện nay. Ở bài này không phải là một giải pháp áp dụng chung cho một khuôn mẫu hay đánh giá chất lượng một kiến trúc nào đó. Mà chỉ hướng đến một giải pháp cho mỗi doanh nghiệp.

👉 npm audit là gì? 10 lệnh npm lập trình viên cần biết!

NPM là gì? NPM là viết tắt của Node Package Manager, nếu bạn là một lập trình viên phát triển web hay node.js thì sẽ trông thấy rất quen thuộc. Hay cách khác là npm là một kho lưu trữ trực tuyến để xuất bản các dự án Node.js mã nguồn mở.

👉 Demo ứng dụng chat với express, socket io và deploy lên heroku (KÈM SOURCE) - Phần 2

Phần này giúp bạn xây dựng một ứng dụng chat sử dụng express với socket.io. Sau đó sẽ deploy lên heroku. Việc xây dựng từng bước, giúp các bạn hiểu hơn về một phần nào đó về hệ thống realtime.

👉 socket io những câu lệnh bạn cần biết version 4.0

Socket.IO là một thư viện cho phép giao tiếp theo thời gian thực, hai chiều và dựa trên sự kiện giữa trình duyệt và máy chủ. Nó bao gồm một Node.js server và một thư viện javascript cho browser.

👉 JavaScript string methods - Bạn biết được bao nhiêu ?

JavaScript string methods giúp lập trình viên có thể thao tác với String nhanh hơn, giúp tiết kiệm thời gian, và quan trọng giúp code sạch sẽ hơn. Ví dụ nếu bạn muốn ' Chèn ký tự vào chuỗi trong JavaScript' nhưng cách nào nhanh gọn hơn không? Xin mời...

👉 javascript array tips and tricks cheat sheet

javascript array tips and tricks cheat sheet

👉 Trích xuất dữ liệu data từ array theo cách tuyệt vời nhất

Extra data from javascript, hay còn gọi là trích xuất dữ liệu là một phương pháp lâu đời giúp lập trình viên có thể chuyển đổi một dữ liệu gốc sang dữ liệu mới với nhiều cách khác nhau. Giống như photocopy vậy.

👉 Tích hợp slack và express theo dõi hệ thống API

Slack là gì? Tại sao tôi lại cần sử dụng slack? Slack có tốn phí không? Trên con đường trở thành một kiến trúc sư thật thụ bạn sẽ phải trải qua những câu hỏi như vậy, để rút ngắn thời gian cho bạn, hãy để tôi ghi lại hành trình của tôi.

👉 Nói về sự nhất quán dữ liệu giữa cache và database (1)

Cache và database nghe qua thì rất đơn giản chỉ cần theo mô hình Cache Aside Pattern là ổn. Nhưng nếu bạn muốn gia nhập những dự án thương mại lớn như tiki hay shopee thì bạn nên phải hiểu nhiều nhiều hơn nữa. Bài viết này sẽ nói đến nhiều vấn đề của tính nhất quán dữ liệu.

👉 Cache trong nodejs với redis và test hiệu suất với benchmark

Caching in Node.js using Redis - Đã có nhiều bài viết nói về sự lợi hại của cache. Nhưng để chứng minh điều đó, thì họ lại không nói. Các bài viết thiên về SEO hơn chúng ta nghĩ. Và đây là bài viết của dân kỹ thuật, tôi sẽ chứng minh sức mạng của việc sử dụng cache.

👉 Circular Dependencies in Node - How to fix!

Is not a function nodejs. Vào một ngày đẹp trời bạn mở lên code và nhận thông báo đó, những file mà bạn require trước đó tự nhiên biến thành empty {}. Và đó chính là một WARNING in circular dependency.

👉 Đề xuất Object.hasOwn() thay thế cho Object.prototype.hasOwnProperty()

Một trong những đề xuất mới ở giai đoạn 3 TC39 thú vị là Object.has hoặc Object.hasOwn. Điều này sẽ cung cấp cho các nhà phát triển một cách viết tắt thuận tiện....

👉 Tag a và những điều bạn nên cần biết

Thẻ <a> có thể được sử dụng cho nhiều mục đích khác ngoài việc liên kết đến các trang khác, chẳng hạn như bạn có thể bắt download file hoặc mở ứng dụng email.

👉 MongoDB Cheat Sheet - Continuous update

Tổng hợp những chức năng được sử dụng nhiều nhất khi sử dụng mongodb và mongoose.

👉 So sánh thông dịch và biên dịch - khác và giống thế nào?

100% lập trình viên đều đã nghe nói đến ngôn ngữ biên dịch và thông dịch, trong 100% đó có đến 10% về sự giống nhau và khác nhau của ngôn ngữ thông dịch và biên dịch.

👉 Install mongodb docker 5 mins

Với 5 phút kèm video bạn sẽ biết cách Install mongodb docker một cách nhanh chóng, không cần phải lo lắng về cách đóng gói các sản phẩm của mình...

👉 Lodash - Trường hợp nào bạn nên sử dụng JavaScript library

Có nên sử dụng lodash hay không? Lodash là một thư viện tiện ích JavaScript nhất quán, các modules có hiệu suất cao, chính vì GITHUB, Lodash có đến gần 50K stars. Nhưng với tôi, tôi có suy nghĩ khác..

👉 Refresh token và access token làm rõ những câu hỏi?

Điều gì khiến JWT phổ biến. Lý do mà khiến `JWT` trở nên phổ biến trong những năm gần đây chính xác là 2014 là chúng có thể chứa được nhiều kiểu dữ liệu như `JSON`, và nó có nhiều lợi ích so với các kiểu truyền thống...

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

👉 Mongodb query từ 5.95 seconds xuống 0.3 seconds

Việc mongodb query chậm thì nó có nhiều yếu tố như phân bô dữ liệu chưa hợp lý, trong một collection chứa quá nhiều documents hay đại loại là chưa create index trong mongodb. Nhưng ở đây là một vấn đề khác.

👉 Hướng dẫn Backup Mongodb Ubuntu sử dụng crontab

Việc backup hay restore Mongodb trên unbuntu là một việc thiết yếu, giống như việc ta ăn cơm hàng ngày. Nó quan trọng đến mức, quyết định nhiều vấn đề. Giả sử bạn một ngày bạn nhận được một lời nhắn "READ_ME_TO_RECOVER_YOUR_DATA"...

👉 Hướng dẫn cách kết nối MongoDB Connect server MongoDB từ xa

Connect server MongoDB từ xa hay từ một server khác đó là một mô hình bình thường hiện nay. Bài viết này sẽ hướng dẫn cho người mới làm quen với mongodb có thể làm được điều mà chỉ có những chuyên về admin mới làm được.

👉 Tại sao Google Analytics làm ứng dụng load chậm? Cách khắc phục?

Google Analytics là một công cụ mạnh mẽ giúp cho chúng ta có thể thống kế được nhiều đối tượng trong hệ thống, nhưng Google Analytics vẫn là một trở ngại với hiệu suất của website chúng tôi mỗi khi load.

👉 Convert HTML to Markdown sử dụng javascript

Với markdown là một khái niệm quá quen thuộc với mỗi Dev. Bởi vì hầu hết những cộng đồng Lập Trình Viên như StackOverFlow đều triển khai comments với cú pháp sử dụng markdown...

👉 Stack Overflow được Prosus mua lại với giá 1,8 tỷ USD

Tờ Wall Street Journal đưa tin rằng Prosus (cổ đông chính của công ty phát triển game lớn ở Trung Quốc/WeChat là Tencent) sẽ mua lại Stack Overflow với giá 1,8 tỷ USD.

👉 Nodejs best practice - Cấu trúc tốt là components - Phần 1

Nodejs best practice là một phát hiện thú vị mà tôi tham khảo trong thời gian DỊCH BÊNH COVID diễn ra. Thật sự mà nói, rất nể phục những gì mà tác giả và cộng tác viên của họ đã đăng tải trên trang GITHUB.

👉 ECMAScript 4 - Vì sao nó không xuất hiện

Trong khi sử dụng ECMAScript hầu hết mỗi lập trình viên đều không quan tâm đến phiên bản, một số ít quan tâm mà có nhận ra rằng chỉ có ECMAScript 3 và 5 trở lên nhưng sao không bao giờ thấy ECMAScript 4. Tại sao lại như vậy?

👉 Redis - 2 vấn đề còn lại tôi nói nốt luôn

Ngoài sức tưởng tượng của tôi khi bài viết "Redis – 3 vấn đề LỚN có thể mất việc khi sử dụng cache" có lượt tương tác hơn tôi nghĩ đến x3 lần.

👉 JWT không nên sử dụng thay cho session? Vì sao?

Chủ đề này đã có người từng hỏi tips javascript, cụ thể là "Anh ơi! Mình thay thế jwt cho session được không?". Với tôi thật sự mà nói là không nên. Nhưng chưa có cơ hội để viết một bài cho rõ ràng.

👉 Biến Array thành String với trường hợp hơi đặc biệt

Để convert một array thành một String thì có nhiều cách, nhưng dưới đây có những trường hợp đặc biệt mà hôm nay tôi đã gặp, và cũng muốn chia sẻ cùng anh em. Và quan trọng là notes lại cho chính bản thân mình, lỡ sau này có gặp thì copy cho nhanh.

👉 10 kỹ thuật shorthand sử dụng nhiều nhất javascript

Việc sử dụng shorthand coding đương nhiên là được trú trọng nhiều trong mỗi lập trình viên, vì nó giúp chúng ta tiết kiệm được nhiều thời gian gõ code, tất nhiên là việc debug cũng dễ dàng hơn. Bài viết này sẽ giới thiệu 10 kỹ thuật viết code nhanh và gọn được sử dụng nhiều đối với tôi.

👉 Bearer token là gì? Nếu không có Bearer trước token?

Bearer token là gì? Đây là một câu hỏi rất hay, ngay bản thân tôi cũng không hiểu tại sao tôi lại cắm đầu vào code mà không hiểu vì sao người ta lại quy định Bearer trước token trong việc Authorization trên header.

👉 12 + Pagination Examples with ReactJS (Source Code)

Pagination A ReactJS component to render a pagination. React components for sorting, filtering and pagination of data.

👉 Các cấp độ của lập trình viên từ level 1 đến 4

Các vị trí của lập trình viên được bổ nhiệm như thế nào thì theo tuỳ loại môi trường trong công ty. Nhưng ở bài viết này, có một tình huống mà có 4 cách xử lý, thì chúng ta cùng xem xét, mình thuộc level nào?

👉 Triển khai OAuth với Node.js và Github

OAuth với Node.js và Github trong bài viết KÈM SOURCE này thì chúng ta sẽ biết thêm một cách triển khai login với github. Chính vì cơ chế của github rất tiện lợi nên việc viết code cũng không phức tạp như nhiều người từng nghĩ.

👉 Axios header thiết lập nhanh gọn nhẹ

How to set header and options in axios? Một câu hỏi nhanh và thiết thực, và những hướng dẫn sau đây nhanh gọn nhẹ hướng đến người đọc nắm bắt nhanh nhất có thể khi học Axios.

👉 100 CSS loading từ nay khỏi làm chỉ cần copy là xong

CSS loading page giờ đây chỉ cần sử dụng một thẻ div thôi. Vâng chỉ cần một thẻ DIV thôi, không có gì hơn. Không cần phải copy một tấn code nữa rồi. Anh em nhào zô!!!

👉 Async error handling - Chia thành 4 loại (level nào cũng ok)

Async error handling với 4 cách xử lý này cho dù bạn là ai, level nào đi chăng nữa thì cũng dùng một trong những cách Async-Await, promises, javascript callback hay tipescript callback

👉 Seo auto cụm từ gây nhầm lẫn gần đây

Auto Seo có nghĩa là, mọi thứ sẽ xảy ra mà không cần bất kỳ thủ công nào hoặc trong trường hợp này là sự can thiệp của con người. Có nghĩa là SEO sẽ diễn ra tự động mà không cần bất kỳ đầu vào SEO nào từ người dùng. Có thật không?

👉 Get param from url js - tips javascript

Get parameter from url JS, thật nó đơn giản nhưng mỗi lần sử dụng lại google nên làm một bài tìm cho nhanh, hy vọng không những mình mà sẽ giúp những lập trình viên đạt được hiệu quả nhanh chóng.