🏋 Top Posts

👉 Mysql thiết kế model Products trong eCommerce thế nào? Làm sao giống Mongodb

Thiết kế hệ thống eCommerce trong mysql như thế nào để đơn giản những câu query như chúng ta thiết kế ở bài trước của Mongodb. Đó là vấn đề chúng ta sẽ tìm hiểu trong bài viết này.

👉 Lộ trình Backend Developer không nên bỏ qua Series Con đường trở thành kiến trúc sư

Lộ trình Backend không hề đơn giản nhưng không phải vì thế mà bỏ cuộc, chính vì vậy bài viết này đưa ra 7 hình ảnh các bạn có thể hiểu được các hệ thống lớn triển khai như thế nào? Một bài viết giúp các bạn rút ngắn thời gian học backend

👉 Thật nực cười khi nói về setTimeout

settimer javascript - Như tiêu đề "Thật nực cười khi nói về setTimeout" bởi vì sao tôi nói về vấn đề này cho các bạn. Bởi vì các bạn quá chủ quan, các bạn cho rằng bạn đã hiểu về javascript. Và đây là một tình huống mới đây thôi, tôi đã gặp. Hãy xem tình huống đó như thế nào và vì sao nó thật nực cười.

🏋 New Posts

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

👉 You Don't Need GUI - Cheat Sheet Bash

Graphical user interfaces are super friendly to computer users. They were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs).

👉 Phản ứng của Steve Jobs trước sự đào bới của đối thủ cạnh tranh

Tờ Internal Tech Emails đưa một câu chuyện thật là thú vị, với 4 hình ảnh được chụp lại trong mail của Steve Jobs, đó là cuộc nói chuyện giữa Bruce, giám đốc điều hành của Adobe... Mở đầu là Steve Jobs trách móc vì sao Adobe lại dám chèo kéo nhân viên của Apple...

👉 Encrypt Mongodb - Dựa vào Authentication và Authorization - Part 2

Sau khi bạn setup được vấn đề hạn chế truy cập Mongodb với ip, thì tiếp đến chúng ta sẽ đi tới thực hiện bước tiếp theo với hai khái niệm thân quen trong lập trình đó là Authentication và Authorization.Để nói sơ qua về 2 khái niệm này thì tôi lấy một ví dụ thực tế.

👉 Lập trình viên khi say - Rồi hối hận???

Reddit, diễn đàn lớn nhất ở Mỹ và Thế Giới, gần đây đã có một bài đăng nóng. Một lập trình viên nói rằng anh ta đang say xỉn, một kỹ sư phần mềm đã có kinh nghiệm được 10 năm, và anh ta có rất nhiều điều để nói...

👉 Encrypt Mongodb - Từ người mới cho đến người cũ đều vỗ tay.

MongoDB hay được gọi là Mongo, là một cơ sở dữ liệu lưu trữ thông tin được sử dụng trong nhiều ứng dụng web hiện đại tính đến thời điểm bây giờ. Giống như Mysql, hay Oracle thì việc sử dụng Mongo phải tuân thủ các phương pháp bảo mật tốt nhất và Series về việc bảo mật sẽ giúp bạn tự tin hơn.

👉 1rem px? Sự khác biệt giữa px rem em vh vw là gì?

1rem px? Sự khác biệt giữa px rem em vh vw là gì? Bài viết này sẽ tóm gọn những điều cần thiết để đi đến việc lập trình tốt hơn.

👉 First-class function hiểu trong 1 phút, đừng hỏi lại!

Bài này nói về First-class function là gì? Nó liên quan đến bài trước nói về Immutability JS, là một trong năm đặc điểm của lập trình hàm (Functional Programming).

👉 Immutability JS - Functional Programming

Functional Programming là cách tiếp cận mới trong việc phát triển một chương trình ứng dụng. Nếu ngày xưa có OOP (Object-Oriented Programming) hay còn gọi là lập trình hướng đối tượng thì ngày này chúng ta lại có FP (Functional Programming). Bài viết là là đủ cho bạn...

👉 Encode decode JavaScript và Nodejs

Encode decode JavaScript là một trong những cách thường được sử dụng để tránh các cuộc tấn công tập lệnh trên nhiều trang web (XSS) bằng cách mã hóa các ký tự đặc biệt trong một URL. Bài viết này cung cấp cách triển khai cũng như giải thích rõ ràng hơn.

👉 Microservice là gì? Triển khai microservice với nodejs, mongoose và rabbitmq

Kiến trúc microservice là gì? Khi thiết kế kiến trúc một hệ thống, kiến trúc logic được thực hiện đầu tiên, sau đó là kiến trúc vật lý. Sau khi bạn nhận được các yêu cầu, sau khi ước tính số lượng người dùng và tính đồng thời, hãy tính xem một máy chủ ứng dụng duy nhất có thể đáp ứng các yêu cầu hay không.

👉 Convert date to string javascript

Convert date to string javascript - Làm việc với Date là một trong những objects mà chúng ta gặp thường xuyên. Bạn biết chúng ta không thể push date time kiểu ISODate lên firebase?

👉 jwt - Cách chúng tôi bảo mật với sự giúp đỡ của redis

jsonwebtoken rất dễ bị tấn công vì nhiều yếu tố trong đó việc lưu trữ access token trên Client cũng là một trong điểm yếu đó. Có hai cách phổ biến để tránh bị đánh cắp đó là đừng sử dụng jwt hoặc không để token ở máy khách. Chúng tôi đã chọn cách không lưu trên Client.

👉 Làm việc với Nodejs Arguments

nodejs arg là một trong những tính năng rất hay cho việc test. Trong bài viết này bạn sẽ học được cách lấy những Arguments trong Node.js và cách sử dụng chúng như thế nào?

👉 Javascript map | How to Use?

Trong bài viết hướng dẫn sử dụng về map in javascript, thuộc Series - Mẹo javascript này chúng ta sẽ tìm hiểu Maps trong javascript là gì?, cách tạo và sử dụng map như thế nào?

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