🏋 Khoảng 276 kết quả cho: upload file nodejs

👉 Example upload files using multer in nodejs, express js

Upload files using multer in nodejs. Ở bài trước tôi đã show một demo nho về bài viết upload files với formidable trong nodejs và express. Và hôm nay để tiếp tục giúp các bạn giải quyết về vấn đề upload file thì tôi sẽ demo cho các bạn một cách nữa đó là upload file với multer. Một trong những thư viện giúp handling multipart/form-data rất phổ biến.

👉 Ví dụ về NodeJS Session sử dụng Express Session

Hôm bài viết này tôi và các bạn đi tìm hiều về NodeJS Session. Và Node.JS Session sẽ được viết và demo trong Express JS. Cụ thể hơn đó chính là sử dụng Express-session một middleware trong ExpressJs.

👉 Uploading files Cloudinary using Multer and ExpressJS

Uploading files Cloudinary using Multer including single and multiple files. Sau bài viết "upload files using multer expressJs" và tôi đã hứa là sẽ show cho các bạn một ví dụ về upload images lên cloudinary sử dụng multer. Cloudinary là gì? Tại sao tôi lại chọn hosting này? Và câu trả lời sẽ có trong bài viết này. Trước khi tiếp tục hành trình upload file lên Cloudinary thì tôi muốn các bạn nên xem bài viết trước đó là upload files với Multer. Lúc đó bạn sẽ hiểu hơn và chính tôi cũng đỡ phải giải thích lại về cách sử dụng Multer. Ok bắt đầu thôi.

👉 Hướng dẫn upload file với Firebase miễn phí

Chúng ta đều biết rằng firebase database làm rất tốt khi có Firebase Realtime database. Nhưng bạn có biết rằng Firebase cũng tuyệt vời để uploading data và files lên Firebase Storage riêng của ứng dụng của bạn MIỄN PHÍ không? Trong bài viết tiếp theo này chúng ta sẽ đi và vấn đề upload file miễn phí dùng Firebase Realtime database.

👉 How to set up nodejs cron jobs

nodejs cron jobs hay còn gọi là node schedule. Có nghĩa là trong hệ thống server sẽ cài đặt một lịch chạy tự động để giải quyết một công việc nào đó như send email sử dụng cron jobs. Những bạn nào làm backend thì chắc chắn sẽ không xa lạ gì với công việc này. Và bài viết này tôi sẽ giải thích kỹ hơn và sâu hơn nữa thì job scheduler bản chất nó là gì?

👉 Async và Sync NodeJs - Để tôi test một ví dụ, đừng nghe lý thuyết

Lập trình đồng bộ hay bất đồng bộ không đơn giản như những gì được viết trong nhiều blog, đó chỉ là lý thuyết, vậy làm sao chúng ta biết được hiệu suất của nó thế nào đây?

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

👉 [Nodejs] - Resize image trong nodejs sử dụng multer và sharp

Trong thực tế các dự án về nodejs không ít trường hợp upload và resize hình ảnh và có nhiều cách để resize như sharp, ImageMagick and GraphicsMagick settings...

👉 Hướng dẫn xử lý hình ảnh sử dụng node và Jimp

Xử lý hình ảnh với Node giờ đây dễ dàng hơn bao giờ hết. Có rất nhiều thư viện hỗ trợ chúng ta như sharp, cloudinary... Nhưng trong bài biết này, tôi sẽ giới thiệu cho bạn một thư viện mới, cung cấp mạnh mẽ những API như Resizing, Crop...

👉 8 mẹo tìm kiếm trên Google thay đổi thời gian code

Tìm kiếm google cũng là một trong những skills được liệt kê là rất quan trọng cho nhiều ngành nghề chứ không riêng gì về nghề phát triển phần mềm, và sau đây 8 đề xuất tìm kiếm trên google

👉 10 tính năng hữu ích của HTML5, có thể bạn chưa sử dụng

HTML5 không phải là một điều gì quá mới đối với developers. Chúng tôi đã sử dụng một số tính năng của nó kể từ lần phát hành đầu tiên (tháng 1 năm 2008). Như một phần sáng kiến cảu dự án #100DaysOfCode, tôi đã xem xét kỹ lại danh sách tính năng HTML5. Xem những gì tôi tìm thấy? Tôi đã không thực sự sử dụng chúng cho đến bây giờ!

👉 CORS là gì? 15 bức ảnh chuyển động tinh tế giúp bạn hiểu rõ về CORS

CORS là gì? Tên đầy đủ là Cross-Origin Resource Sharing. Hiểu sâu hơn đó chính là chia sẻ tài nguyên có nhiều nguồn gốc khác nhau. Chính sách nguồn gốc giống nhau của trình duyệt là một cơ chế bảo mật quan trọng. Khách hàng từ các nguồn khác nhau không thể truy cập tài nguyên của nhau nếu không được phép. Định nghĩa của tương đồng là giao thức, tên miền và số cổng của liên kết truy cập là giống nhau.

👉 DDD - Project: vetautet.com 04: Một tai nạn trực tuyến xảy ra lúc 11h đêm, một cuộc điện thoại và nhiều notifications

Lúc này hệ thống đã lên tới `6000 request/second`, điều đó có nghĩa là hệ thống bán vé tàu của chúng tôi phát huy sức mạnh với nhiều người quan tâm. Ngáp một hơi lấy tinh thân đi ngủ thôi... Cuộc đời lập trình viên đẹp đến thế là cùng... NHƯNG

👉 Tips - Query array trong mongodb

Mongodb là gì? Query array trong mongodb? Thì trong bài này, tôi sẽ giới thiệu một số kỹ thuật truy vấn khi document có chứa một số field được lưu trữ có dạng array. ở đây có rất nhiều cách trình bày, nhưng nó luôn được tối ưu nhất, giúp cho devjs sử dụng mongodb truy vấn một cách nhanh nhất.

👉 Hướng dẫn debug node + express js sử dụng console chrome

Debug node - Như anh em devjs cũng đã biết rồi, code javascript ngày càng phức tạp và tinh vi hơn chúng ta nghĩ. Và debug càng trở nên cần thiết trên browser hay nói cách khác là debug trên chính client. Với javascript thì hẳn nhiên ai cũng phải biết debug sử dụng console browser rồi. Nhưng với node thì sao?

👉 [Tips JavaScript] - Trường hợp nào nên sử dụng call(), apply() và bind() trong javascript

Chắc hẳn 3 methods này call(), apply() và bind() không còn xa lạ gì đối với những bạn chuyên về javascript (nodejs, mongodb). Và quan trọng là nhiều tài liệu cũng nói về 3 methods này, nhưng trường hợp nào sử dụng và sử dụng chúng có tác dụng gì thì chưa thấy tài liệu nào nói rõ.

👉 Load balancer - Nếu bạn không hiểu không sao, nhưng nếu bạn là một kỹ sư thì không thể không hiểu?

Load balancer là gì? Load balancer mang đến lợi ích gì? Cụm từ này quá nổi tiếng đến mức những bạn năm nhất cũng đã từng nghe tới chứ đừng nói những lập trình viện như bạn. Tôi biết không ít những bạn trong công ty tôi vẫn không biết chút gì về Load balancer (LB) cho nên hy vọng rằng qua bài viết này những bạn chưa hề biết thì bây giờ mạnh dạn tự tin trả lời là biết, sau khi đọc bài viết này.

👉 Quên w3schools đi, học javascript qua 5 dự án đáng giá tỷ đô

Học JavaScript từ cơ bản đến nâng cao ai cũng muốn, nhưng học ở đâu, bỏ tiền học khoá online. Vô nghĩa, với 5 trang web học JavaScript này khiến bạn thay đổi một cách kinh ngạc.

👉 cookieStore là gì? Tạo sao nó lại thay thế document.cookie kế từ phiên bản Chrome 87

cookieStore là gì? Nó ra đời như một điều tất yếu vì việc sử dụng cookie bây giờ là tương đối phức tạp và chẳng có một API nào tốt và an toàn để cho lập trình viên sử dụng một cách thoải mái. API duy nhất mà mỗi nhà phát triển sử dụng chính là document.cookie. Nhưng kể từ phiên bản Chrome 87 chúng ta sẽ làm quen một API tốt hơn đó là cookieStore

👉 cookie-parser là gì? Middleware cần thiết mã hoá cookie trong expressjs

Cookie parser là một thằng trung gian hay gọi là middleware trong Expressjs được sử dụng để phân tích cú pháp cookie và cũng là một phần mềm trung gian phổ biến khi những lập trình viên khởi tạo dự án sử dụng nodejs và expressjs. Liệu chúng giúp gì cho chúng ta? Hãy xem một chút về code và lắng nghe lời giải thích.

👉 Xem qua thống kê 2020 bạn biết bạn nên học ngôn ngữ gì? Đừng bỏ qua

Dù năm mới đã trôi qua được vài tháng nhưng năm 2020 vẫn chưa phải là một kết cục có thể nói trước được, ngành lập trình luôn thay đổi và dự báo chưa bao giờ dừng lại. Đồng thời, là một nhà phát triển phần mềm, việc tồn tại không hề dễ dàng. Chính vì vậy hay xem mình định hướng thế nào trong năm 2021

👉 Firebase push notification nodejs

Firebase push notification. Hay có thể gọi là firebase send notification from server. Bạn hình dung thế này, khi điện thoại của bạn nhận được notification bởi một ứng dụng mà bạn đã install và làm sao bạn lại nhận được notification đó.

👉 Axios vs Fetch - 2020 nên sử dụng thằng nào với những tính năng mới trong javascript

Axios vs Fetch - Nếu như bạn đã từng làm việt với HTTP calls trong javascript hay nodejs thì bạn cũng đã từng sử dụng 1 trong 2 thằng này. Axios là một module mạnh mẽ và phổ biến trong javascript, và tương tự Fetch được phát hành 2015 cho đến nay

👉 JSON Web Token (JWT) - Thực hành sử dụng refresh token khi token hết hạn với nodejs và express js

JSON Web Token (JWT) là một cơ chế bảo vệ tài nguyên có thể nói đến bây giờ nó phổ biến rộng rãi đến mức nhà nhà, người người ai cũng biết đến nó. Nhưng hiện tại qua nhiều diễn đàn, vẫn còn đâu đó những câu hỏi như làm sao lấy lại token mới nếu như hết hạn sử dụng refresh token?

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

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

👉 Khấu trừ hàng tồn kho thì backend sẽ chọn cách nào trong 3 cách sau đây.

Nếu một lập trình viên backend hiểu về hệ thông bán hàng đồng thời CAO hoặc kiến ​​trúc đồng thời cao, bạn có thể thấy rằng khấu trừ hàng tồn kho trong Database này không hoàn hảo và nó có vấn đề ở đây.

👉 [JAVA - Excel] Tăng hiệu suất x lần import/export với cách truyền thống: CỰU CHIẾN BINH ĐI QUA GIÔNG BÃO CÔNG NGHỆ

OK xem như đã nắm được kịch bản với 1.000.000 rows và khoảng 50M. Bắt tay vào. NHIỆM VỤ CHÍNH đó là chúng ta phải cải thiện từ `2 phút theo cách thông thường, chúng ta phải giảm xuống 10 seconds`, sau đó sẽ cải thiện tiếp theo cho từng version.

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

👉 DDD - Project: vetautet.com 02: Tuyến phỏng thủ đầu tiên được thiếp lập

Như vậy thì ở video trước chúng ta đã lập nên tuyền phòng thủ đầu tiên sử dụng công cụ `Resilience4j` được Netflix khuyên các hệ thống nên thay thế cho `Hystrix`. Vì `Hystrix` đang được maintenance. Tất nhiên các dự án cũ đang còn sử dụng Hystrix thì vẫn có thể sử dụng chúng nhằm giảm lỗi trong hệ thống.

👉 Vanilla js - Thật thiếu sót khi nhắc đến ưu mà không nói nhược

Vanilla javascript được nhắc đến với nhiều ưu điểm đó là việc từ sự đơn giản nhưng lại đánh giá rất cao. Như câu nói của ĐEN VÂU "Những thứ anh làm thường đơn giản, nên không hay được đánh giá cao"

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

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

👉 JSON Web Token: Vấn đề xác thực REST API với JWT(JSON Web Token)

JWT là gì? JSON Web Token. Ở phần trước chúng ta đang nói đến việc xác thực firebase với custom token. Nhưng nhiều bạn quay sang hỏi về việc xác thực JWT (JSON Web Token). Chắc do các bạn sử dụng JWT nhiều hơn, cho nên hôm nay, trong bài viết này tôi sẽ viết một module nhỏ để giúp các bạn nào chưa hiểu thì có thể hiểu thêm.

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

👉 Lập trình viên sớm muộn gì bạn cũng phải biết về cơ chế đăng nhập SSO (Single SignOn) - Phần 3

SSO là gì? Tên tiếng Anh đầy đủ của SSO là Single SignOn, hay còn gọi là cơ chế đăng nhập một lần nhưng có thể sử dụng khắp mọi nơi. SSO có trong nhiều hệ thống ứng dụng. Người dùng chỉ cần đăng nhập một lần để truy cập vào tất cả các hệ thống ứng dụng đáng tin cậy lẫn nhau. Nó bao gồm một cơ chế có thể ánh xạ thông tin đăng nhập chính này với các ứng dụng khác để đăng nhập cùng một người dùng. Nó là một trong những giải pháp phổ biến nhất được sử dụng rộng rãi hiện nay. Và nếu bạn là một lập trình viên thì bạn cần nên hiểu nó.

👉 DDD - Project: vetautet.com 01: Triển Khai Kiến Trúc DDD Cho Ứng Dụng Bán Vé Tàu Tết Với Spring Boot Phần 1: Giới Thiệu Cấu Trúc Module

Trong dự án bán vé tàu Tết với Spring Boot, chúng tôi sẽ chia ứng dụng thành 5 module chính: start, application, controller, infrastructure, và domain. Hãy quan sát và suy nghĩ..

👉 [Chuyện cuối tuần #7] - Docker is damaged, kẹt xe làm buổi sáng mất hết năng lượng và nhân vật Anh CAO trong Upstream

Họ đã đưa ra những kiến thức chuẩn bị cho việc `ngồi ghế nóng` kiểu giống như đề mở vậy. Đó là `k8s`, `docker`, và quan trọng là `kafka`. Nhưng đột nhiên hãy xem hình ảnh tôi đang làm

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

👉 Ở vị trí Front-End gần 2 năm và giờ đây tôi ở vị trí Full-Stack tiệm cận Backend nay tôi muốn chia sẻ lộ trình...

Nhưng nói thêm rằng, nếu từ FE muốn chuyển qua `Back-End(BE)` thì Nest.js không đủ để làm chuyện đó. Vì sao? Tôi có thể kết luận như thế này..

👉 DDD - Project: vetautet - Điều gì khiến bạn lo lắng khi đi phỏng vấn với vị trí Senior? Khấu trừ hàng tồn kho?

Đầu tiên, đừng vội vồ vập, vì chúng ta là những người đã kinh qua không gì phải vội. Hãy nhấn mạnh với họ rằng, công ty bạn đang trừ hàng tồn kho ở giai đoạn nào?

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

👉 Trở thành lập trình viên theo lộ trình hot nhất thế giới! (ĐỪNG BỎ QUA TÀI NGUYÊN NÀY)

Những yếu tố để trở thành lập trình viên ngoài chọn trường, lớp ngành nghề thì cơ bản chúng ta phải tìm kiếm được những lộ trình thích hợp và nhanh chóng. Nếu chọn đúng thì bạn đi rất nhanh, ngược lại nếu bạn chọn sai thì quay đầu cũng không muộn nếu bạn chọn theo lộ trình trở thành Lập trình viên như những hướng dẫn dưới đây.

👉 Example autocomplete search giống như Sublime Text sử dụng javascript

Autocomplete search là một thuật toán rất phức tạp, và đỏi hòi nhiều thuật toán được áp dụng. Nếu bạn đã từng sử dụng Sublime Text để code thì ở đó bạn để ý rằng, đó là một hệ thống tìm kiếm thông minh, khi chúng ta tìm kiếm một vài ký tự thì hệ thống đã gợi ý cho bạn những từ khoá tìm kiếm cụ thể hơn.

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

👉 Fetch javascript

Fetch api là gì? Trước đây nếu bạn nào đã từng sử dụng XMLHttpRequest để giao tiếp lấy dữ liệu từ server đến client hay ngược lại thì cũng sẽ hiểu nôm na Fetch api javascript cũng vậy. Fetch api cho phép những nhà phát triển lấy resource và thực hiện những yêu cầu thông qua http.

👉 Giải thích Cookie và Session giống và khác nhau? Câu hỏi phỏng vấn Nodejs | Fresher và Junior Tập 1 |

Câu hỏi phỏng vấn Nodejs - phân biệt Cookie và Session. Trước tiên hãy xem xét sự giống nhau của Cookie và Session là được sử dụng để theo dõi và xác định danh tính của người dùng.

👉 9 mẫu thiết kế mà mỗi lập trình viên dều phải biết - phần 1: Builder pattern

Design pattern là gì? Builder pattern là một mẫu thiết kế thuộc "Nhóm khởi tạo" (Creational Pattern). Và là một mẫu thiết kế để cung cấp một giải pháp linh hoạt để tạo các đối tượng. Cụ thể hơn là Builder pattern giúp chúng ta xây dựng một đối tượng phức tạp bằng cách sử dụng các đối tượng đơn giản bằng cách cung cấp cách tiếp cận từng đối tượng đơn giản. Cùng xem một hướng dẫn dưới đây.

👉 Hot hot hot New feature javascript - Cập nhật tính năng mới của javascript

javascript là gì? Javascript có lẽ là một ngôn ngữ lập trình thú vị nhất thế giới hiện nay, nó trải rộng khắp từ frontEnd đến Backend bao gồm cả database. Do đó javascript được cập nhật liên tục về các tính năng, nhằm cải thiện về performance và time cho các developer javascript như tôi và các bạn.

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

👉 Cơ chế đăng nhập với token hơn cookie và session như thế nào? - Phần 2

Sau khi bài viết sử dụng Cookie và Session để hoàn tất xác minh đăng nhập, và chúng ta đã phát hiện ra một số vấn đề ở cơ chế đăng nhập này. Thì bầy giờ chúng ta tiếp tục theo dõi và tìm hiểu cơ chế login khi sử dụng token và đây là một phương pháp đang được các dev quan tâm nhất hiện nay.

👉 Deep copy Object, Array, Function Javascript

Deep copy Object, Array, Function Javascript - Sau bài viết về "Sự khác nhau giữa Shallow copy và Deep copy javascript" thì có nhiều bạn đã hiểu hơn và có những bàn luận sâu sắc về chủ đề này. Và có nhiều bạn đã hỏi nếu dùng JSON.parse() thì sẽ bị miss những params như là NaN, function hay Symbol... Vậy có cách nào deep copy object, Array, Function Javascript một cách nhanh chóng và hiệu quả hay không?

👉 Transaction là gì? Thực hành trên MongoDB 4.0 đơn giản và dễ hiểu

Transaction là gì? Tôi tin rằng những lập trình viên đã sử dụng cơ sở dữ liệu quan hệ chính thống không quá xa lạ với Transaction. Nhiều hoạt động dữ liệu can thiệp vào nhau và khi xảy ra lỗi trong bất kỳ hàm thực thi nào thì giao dịch sẽ bị hủy bỏ và dữ liệu sẽ được khôi phục, đảm bảo tính nhất quán của dữ liệu khi sửa đổi dữ liệu trong nhiều bảng cùng một lúc đó chính là Transaction.

👉 Full Stack là gì? Bàn luận võ lâm cao thủ Developers

Full Stack là gì? Có thể nói cụm từ "Full Stack" là một cao thủ trong giới võ lâm - đã từng té xuống bao nhiêu vực và được học nhiều bí kíp, như Front End, Back End, API, Server, Security, Testing, Database. Là một cao thủ nên anh ta có thể luyện võ công (working) ở bất cứ hang động nào (ở tầng nào của một ứng dụng).

👉 Nếu Rest parameter là âm, thì Speard operator sẽ là dương

Rest parameter vs Speard operator - Thông qua một câu hỏi của một bạn dấu mặt, và đọc xong những câu trả lời của các lập trình viên trên Tips Javascript thì tốt nhất chúng ta nên thảo luận và tìm hiểu lại cách hoạt động của ... operator.

👉 25 trường hợp sử dụng reduce javascript

Reduce javascript - Qua một cuộc khảo sát về độ khó của các method thì 90% câu trả lời đó chính là reduce method. Không quá bất ngờ, bời vì sử dụng reduce gây hiểu nhầm nhất, và cũng gây khó hiểu nhất trong các method. Lý do vì sao? Tôi sẽ nói cho các bạn nghe ngay dưới đây.

👉 OAuth 2.0 là gì? Tìm hiểu cơ chế và cách hoạt động đăng nhập - phần 4 (cuối)

OAuth 2.0 là gì? OAuth 2.0 là một giao thức tiêu chuẩn mở cho phép các ứng dụng truy cập vào dữ liệu được người thông qua những ứng dụng khác. Ví dụ: một trò chơi có thể lấy thông tin người dùng trong Facebook hoặc app theo dõi location có thể lấy thông tin người dùng trong Foursquare.

👉 DDD - Project: vetautet.com 05: Hệ thống chúng tôi cảm ơn thằng em INTERN và đây có lẽ là định mệnh

Chắc chắn chúng ta sẽ phải thêm một tuyến phòng thủ tiếp theo để bảo về Redis, tôi nói. Vậy cái gì có performance tốt hơn Redis cache nữa... Bỗng thằng em INTERN cất tiếng nói, Anh em thấy thế này, giọng nó khá trong trẻo..

👉 Phần 2: Factory pattern, cách mà tôi triển khai trong nhà máy VINFAST (FRESHER và JUNIOR nên bỏ qua phần 3)

Factory pattern là gì? Trước khi đi vào định nghĩa thì chúng ta đi xem xét một ví dụ thực tế trong đời sống hằng ngày của chúng ta. Đó là việc đi mua xe ô tô của tôi diễn ra như thế nào? Và chúng ta sẽ lấy việc mua ô tô ra làm ví dụ và sử dụng Factory pattern để mô phỏng quá trình này. Và từ đó chúng ta sẽ có một kết luận cho riêng chúng ta. Bắt đầu.

👉 8 lệnh để kiểm tra sử dụng bộ nhớ trong Linux

Giải phóng RAM trên Linux, Lệnh check RAM Linux, Kiểm tra CPU Linux. Tất cả những câu trả lời đó sẽ có trong bài viết này. Một hướng dẫn rất cụ thể và hay dành cho các bạn làm quản trị hệ thống linux hay đi sâu hơn nữa đó là back-end.

👉 Build project - part 1 - Vì sao mỗi developer nên có một blog

Trước tiên tôi muốn đưa ra một con số thống kê rất thú vị cho các bạn (dev) đó là ngày nay có hơn 1 tỷ trang web và blog trên thế giới và khoảng 409 triệu người xem 23,6 tỷ trang trên WordPress mỗi tháng. Và theo nghiên cứu, có rất nhiều lập trình viên chia sẻ chuyên môn của họ thông qua blog. Xem các số liệu thống kê sau

👉 CDN là gì? Từ sơ khai tới tương lai và lời nói cảm ơn!

CDN là gì? Vì sao chúng ta lại sử dụng CDN? Những lợi ích khi sử dụng CDN. Hôm nay tipjs vô tình làm về một khía cạnh livestream cho nên đang suy nghĩ về việc sử dụng CDN của nhà cung cấp nào, và vô tình phát hiện được một bài viết rất rất hay cho nên share lại cho anh em, và cũng cho bản thân mình để hiểu rõ hơn về lịch sử hình thành CDN.

👉 10 mẹo để cải thiện hiệu suất của các ứng dụng Web lên 10 lần

Tăng hiệu suất của các ứng dụng web ngày càng trở nên quan trọng. Tỷ lệ hoạt động kinh tế trực tuyến tiếp tục tăng và 5% nền kinh tế hiện tại ở các nước phát triển xảy ra trên Internet (kiểm tra số liệu thống kê của các tài nguyên dưới đây). Thời đại chúng ta đang có hiện nay đòi hỏi phải liên tục trực tuyến và kết nối, điều đó có nghĩa là người dùng có kỳ vọng cao hơn về hiệu suất. Nếu trang web không phản hồi kịp thời hoặc nếu có sự chậm trễ đáng chú ý trong ứng dụng, người dùng sẽ sớm tìm đến đối thủ cạnh tranh.

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

👉 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

👉 Api là gì? Lần đầu tiên Reddit phải treo trưởng vì câu trả lời quá xuất sắc.

Api là gì? Câu hỏi được đăng lên Reddit nhưng có lẽ ít ai thấy một phần thưởng Starry Award dành cho người trả lời hay nhất. Những ai phỏng vấn chỉ cần trả lời ngắn gọn và 10 điểm về chỗ.

👉 Giới hạn số dòng text với css, multi-line

Text-overflow trong css. Có lúc nào bạn như tôi đi tìm giải pháp cho giới hạn số dòng text với css. Thật ra không cần sử dụng Text-overflow, tôi cũng như các bạn, việc hiển thị (...) trong css, nó tương đối dễ, nhưng việc sử dụng ít nên không bao giờ nhớ được.

👉 Bun js là gì? Liệu có thể giết chết nodejs và deno? Xem bằng chứng

Bun js là một phần bổ sung cho những nhà phát triển javascript. Bun giống như Deno, hỗ trợ Typescript cung cấp những tính năng thân thiện cho các lập trình cao cấp. Tuy nhiên không giống như Deno, Bun js được thiết kế thay thế cho Node, Webpack, Babel tất cả trong package.

👉 Phát triển công cụ Record Screen sử dụng WebRTC javascript

WebRTC là một công cụ xử lý âm thanh và video được Google phát triển và cho ra mã nguồn mở vào năm 2011. Nó có thể thu thập dữ liệu video trong thời gian thực, có nghĩa là nó có thể được sử dụng để phát trực tiếp, ghi âm trên máy tính và chia sẻ screen.

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

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

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

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

👉 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ỉ?

👉 Fix lỗi javascript nhanh với hai kỹ thuật hữu ích

fix bug là gì? Fix lỗi javascript trong lập trình là một việc làm kiếm ra tiền cho chúng ta. Thử hỏi nếu một ứng dụng trơn tru quá thì khó mà kiếm tiền từ việc bảo trì. Nhưng việc bảo trì nhanh hay chậm cũng liên quan đến việc fix bug như thế nào? Với hai thủ thuật đơn giản nghĩ là không cần nhưng nó rất cần thiết đối với nhiều developers.

👉 Web Worker rất hiệu quả Tôi fix từ CPU 100% xuống 0,5% tăng tốc Web Chứng Khoán

Đa luồng là một công nghệ quan trọng trong phát triển phần mềm hiện đại nhằm nâng cao hiệu suất và khả năng phản hồi của ứng dụng. Tuy nhiên, do tính chất đơn luồng của JavaScript nên điều này không phổ biến trên web.

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

👉 Redis và Mysql phân tích tính nhất quán dữ liệu đồng thời cao trong hệ thống (Backend Level 4, 5)

Đối với Lập Trình Viên Backend lâu năm không cần phải giải thích tính quan trọng của cache (redis, memcached) nó được sử dụng rộng rãi trong các dự án do tính đồng thời cao và hiệu suất cao không phải bàn cãi, nhưng nó có nhược điểm đó là tính nhất quán.

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

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

👉 4 Mức Độ Cô Lập Theo Chuẩn SQL (và MySQL hỗ trợ tất cả!) | CỰU CHIẾN BINH ĐI QUA GIÔNG BÃO CÔNG NGHỆ

Để đơn giản cho việc hiểu về MVCC thì có một kịch bản như sau, cùng một thời điểm thì sẽ xảy ra hiện tượng gì? User X đang xem giá và số lượng sản phẩm Z còn hay không trên hệ thống YYYY, User Y đang order sản phẩm Z và giảm số lượng tồn kho trên hệ thông YYYY...

👉 Export html to PDF with Nodejs

Export html to PDF with Nodejs, trường hợp này được sử dụng nhiều trên một app hay web application về kinh doanh hay cụ thể là billing. PHP đang làm rất tốt nhiệm vụ này, nhưng với nodejs thì sao? Và Puppeteer là gì? Chúng ta sẽ cùng xem ví dụ sau đây

👉 Học lập trình mọi thứ ở đây với nghuuphuoc

Nếu bạn là một lập trình viên mới có thể bạn không biết anh ấy. Nhưng nếu bạn là cũ thì mà không biết về anh ta thi có lẽ rất tiếc. Vì qua các products của anh ấy. Các bạn sẽ thán phục con người này.

👉 Save array of object to firebase

Firebase giờ đây đã trở nên phổ biến trong việc realtime, hoặc cũng có thể sự dụng để làm cache cho chính dữ liệu của mỗi ứng dụng. Chính vì thế, việc storage trên firebase cũng trở nên quan trọng, và vì thế đôi lúc khiến những devjs trở lên lúng túng. Như trường hợp sau đây.

👉 [Share]- Hướng dẫn tạo SSH KEY cho VPS. Bảo mật an toàn.

Đây là một phương pháp an toàn khi truy cập vào VPS đó là sử dụng SSH KEY. Bạn nào đã từng xào VPS thì rất rõ về vấn đề này. Mỗi VPS sẽ cấp cho bạn một tài khoản bao gồm tên tài khoản và password. Cụ thể nó sẽ có dạng thế này: user@123.123.123.123 đấy nó có dạng vậy đấy.

👉 Install rabbitmq docker macOS

Install rabbitmq docker - Để hoàn thiện phần demo rabbitmq vs Node.js thì đây là một bài hướng dẫn làm thế nào để cài đặt rabbitmq trên docker CE.

👉 Nghệ thuật ổn định của hệ thống và tính sẵn sàng cao của một backend (beginer-> junior -> senior -> level 5)

Lập trình viên đề cập đến hệ thống ai cũng nghĩ về kiến trúc với 3 điều sau. Một tính sẵn sàng cao, hai đồng thời cao, và ba là hiệu suất cao. 3 yếu tố này bắt buộc phải hiểu nếu bạn là một Backend phải xem xét trong quá trình làm việc với dự án. Trong bài viết này, chúng ta sẽ nói những điều này cũng là điều mà chúng ta thường gọi là tính ổn định của hệ thống.

👉 Hệ thống đồng thời CAO: Kỹ thuật rất đơn giản phải không? Nhưng tôi mất 5 năm còn bạn chỉ mất 3 phút..

Đương nhiên có rất nhiều framework opensource hỗ trợ local cache chẳng hạn như `Ehcache`, `Guava cache`, `Caffeine Cache` đương nhiên còn nhiều nữa... Nhưng thật sự bạn hay team bạn đã sử dụng chúng hết chưa, và các bạn phải chọn lựa thì dựa trên tiêu chí nào?

👉 Express session xuất hiện lỗi, nhưng không sao đây là cải tiến mới

Nói về Express session thì trước đây tôi có một bài viết cơ bản dành cho những bạn mới tiếp xúc. Nhưng giờ đây khi đọc lại, tôi cảm thấy nó đã bắt đầu lỗi thời. Vậy lỗi như thế nào?

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

👉 Hệ thống eventloop trong Node.js: Cách hoạt động và cách sử dụng với lời giải thích cặn kẽ.

Eventloop là một phần quan trọng của hệ thống runtime của Node.js, nó liên quan đến callback, thread nhưng để hiểu khái niệm này không đơn giản. Bài viết này phân tích rất kỹ về vấn đề này.

👉 MySQL: Tình tờ TEAM đi mua sắm là lụm được bí kíp Table lưu trữ và truy vấn nhanh với hàng trăm triệu dữ liệu

Điều cần làm lúc này là gì? Hôm nay chúng ta sẽ tham khảo một thủ thuật của những người đi trước, họ không có nguồn lực, không có chi phí cao như ngày nay. Nhưng đổi lại họ đã tìm cách vượt qua điều này như thế nào, chúng ta cùng xem xét.

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

👉 Cách đảm bảo dữ liệu không bị trùng lặp trong các tình huống đồng thời cao?

Cách đảm bảo dữ liệu không bị trùng lặp trong các tình huống đồng thời cao. Trước tiên hãy xem câu hỏi và sau đó mỗi chúng ta tự hỏi: "Minhd đã từng gặp phải những tình huống này chưa? Hoặc có thể tương lai sẽ gặp thì mình sẽ thực hiện như thế nào?"

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

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

👉 Lấy metadata từ url sử dụng nodejs

Metadata là gì? Phân tích url từ nodejs chúng ta có thể lấy Title, Description, Keywords và Images từ một url. Một tips nodejs đơn giản nhưng hiệu quả dành cho dev mới. Giờ đây khi sử dụng node thì có rất nhiều module hỗ trợ từ npm, cho nên rất dễ dàng.

👉 Tìm hiểu về breadcrumb và demo sử dụng breadcrumbs js

Breadcrumbs là gì? Bạn có biết trong những trang TMĐT lớn như tiki, lazada hay shopee thì breadcrum đóng vai trò quan trọng như thế nào không? Hôm nay tôi mới tìm hiểu về breadcrumbs js để dùng seo website và tôi cũng đã tìm được những gì mình cần, chính vì thế hôm nay tôi sẽ hướng dẫn các bạn sử dụng một thư viện dùng trong jquery breadcrumb.

👉 Vì sao foreach không support async await

Loop with async await. Đây là một trường hợp sai lầm phổ biến và đi đâu tôi cũng bắt gặp những câu hỏi như vậy? Tại sao dùng foreach với async lại không cho kết quả đúng. Và có nhiều câu trả lời cho câu hỏi này, nhưng hầu như là đưa ra giải pháp khác chứ chưa giải thích được vì sao async await không nên sử dụng trong foreach.

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

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

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

👉 Hệ thống ĐỒNG THỜI CAO là phải đạt bao nhiêu? QPS = 1.000.000 req/second đúng không?

Hôm nay tôi và các đại ca bàn luận về `high concurrency` và nhân tiện trong bài viết này tôi cũng nói thêm về một số trường hợp xử lý khi bạn bị mặc kẹt trong vấn đề này, thông qua một số biện pháp của một số anh em backend

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

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

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

👉 Sử dụng git cơ bản Git cho mọi lập trình viên

Sử dụng git là điều bây giờ rất quan trọng trong quá trình làm nhóm, đã có một số ebook nói về sử dụng git cơ bản. Nhưng trong bài hướng dẫn này là đúc kết tất cả những hướng dẫn quan trọng và thưởng sử dụng nhất. Có thể hướng dẫn này cho những bạn mới bắt đầu.

👉 Đệ quy và lặp lại - Bàn về thuật tuán

Đệ quy và lặp lại đó là hai thuật toán mà có thể nói trong vòng đời của một developer hay programer cũng sẽ gặp ít nhất một lần trong đời. Sử dụng đệ quy và vòng lặp như thế nào thì tuỳ vào mỗi trưởng hợp hay mỗi cá nhân lập trình.

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

👉 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

👉 Authenticate Firebase với custom token

Trong phần mở bài tôi sẽ nói luôn, vì tôi sợ mất thời gian của các bạn khi click vào để đọc bài viết. Việc xác xác thực thông qua custom token là ở trường hợp hệ thống của của không xác thực qua những hình thức third party như (facebook, github, google mail...). Nếu bạn không thuộc trường hợp này stop tại đây và bạn đọc thêm về những lợi ích khi sử dụng firebase như hosting, notification, app index, storage, authentication, cloud mesenger, test lab

👉 Học ngôn ngữ lập trình nào đầu tiên khi có 10 ngôn ngữ mạnh nhất???

Đối với nhiều người mới bắt đầu học lập trình, đặc biệt là các bạn sinh viên năm nhất chuẩn bị nhập học hoặc sinh viên chuẩn bị ra trường, việc lựa chọn ngôn ngữ lập trình nào thực sự là một điều đau đầu. Với nhiều câu hỏi được gửi vào các diễn đàn hay các group trên facebook thì có thể nói đó là một vấn đề rất nan giải cho những bạn ở trường hợp trên. Bài viết này chúng tôi tập trung vào các khía cạnh của những ngôn ngữ và hy vọng bạn sẽ có lựa chọn cho riêng mình sau khi cảm nhận được 10 ngôn ngữ lâu đời và mạnh nhất tại thời điểm này.

👉 Moment.js thông báo rằng nó đã ngừng phát triển, chúng ta nên sử dụng gì bây giờ?

Moment.js đã chính thức đưa ra thông báo ngừng phát triển và đi vào trạng thái bảo trì. Moment.js là một thư viên ngày và giờ lớn và đầy đủ tính năng nhất, tạo điều kiện rất nhiều cho nhiều dự án tính toán ngày và giờ trong JavaScript. Nó có hơn 12 triệu lượt tải xuống mỗi tuần và đã được sử dụng thành công trong hàng triệu dự án.

👉 [Kafka - RabbitMQ] Message Queue: CỰU CHIẾN BINH ĐI QUA GIÔNG BÃO CÔNG NGHỆ

Lúc đầu hệ thống triển khai chấm công trên `10.000 công nhân`. Hiện tại API đã cung cấp cho nhiều dịch vụ khác đến lấy dữ liệu của trung tâm. Tôi có thể tóm tắt như sau và hy vọng bạn sẽ hiểu được bản chất của MQ cụ thể là Kafka, RabbitMQ.

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

👉 Cấu trúc dữ liệu và thuật toán - Vui lòng bỏ nó đi nếu muốn an nhàn?

Cấu trúc dữ liệu là gì? Như tôi đã mô tả một cách ví von, hãy hiểu cấu trúc dữ liệu như là một nguyên lý của hộp số khi bạn đi xe Tay Ga hay Xe Số. Với Tay Ga bạn có thể đi từ A đến B không cần quan tâm đến hộp số làm việc như thế nào? Nhưng nếu hiểu về nguyên lý hoạt động thì bạn sẽ giải quyết được khi hộp số bị trục trặc.

👉 Big data là gì? Database là gì? Mongodb có xử lý được big data hay không?

Big data là gì? Database là gì? Thường ngày các bạn đã nghe về cụm từ "Big data". Vậy Big data là gì? Mongodb là gì? và tại sao Big data lại quan trọng và phổ biến đến như vậy, ngoài Oracle.. Thì Mongodb có xử lý được big data hay không thì trong bài viết này, chúng ta sẽ đi tìm hiểu thế nào.

👉 Tranh cãi về sử dụng JavaScript Shorthand và Longhand trên reddit

Thứ 7 dạo qua một vòng trên reddit thì thấy có một bài post "Multiple condition checking JavaScript" có rất nhiều lập trình viên quan tâm chủ để này, mình đưa lên đây xem anh em có ý kiến gì không?

👉 JSONP là gì? Sự khác biệt giữa JSONP và AJAX

JSONP là gì? JSONP (json with padding) là một phương pháp hay còn gọi là phương tiện giao tiếp giải quyết vấn đề truy cập dữ liệu giữa các domain khác nhau. Do chính sách cùng nguồn gốc chính vì vậy các trang web có thể lấy dữ liệu JSON được tạo động từ các nguồn khác và chế độ sử dụng này được gọi là JSONP. Dữ liệu được thu thập bằng JSONP không phải là JSON, mà là JavaScript tùy ý, được trình thông dịch JavaScript thực thi thay vì được phân tích cú pháp bởi trình phân tích cú pháp JSON.

👉 HTTP là gì? HTTPS là gì? Sự khác biệt giữa HTTPS và HTTP

HTTP là gì? HTTPS là gì? Sự khác biệt giữa HTTPS và HTTP đó là những gì trong bài viết mà tips javascript muốn truyền đạt lại cho những bạn chưa hiểu được những khái niệm trên. Và qua đó giúp các bạn đánh giá được tầm quan trọng như thế nào trong việc sử dụng SSL hay TSL cho ứng dụng hay api của bạn.

👉 jquery đến lúc quên rồi, web api support kiểu này thì thôi rồi

jquery trước đây nó là một trong những yếu tố giúp anh em thành công trong việc deal lương với công ty các kiểu. Giờ càng ngày, những lập trình viên javascript họ đã ít xài rồi.

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

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

👉 Promise all và các tình huống ứng dụng phổ biến

Promise all là một phương thức không thể thiếu trong lập trình đồng bộ đối với lập trình viên. Vẫn biết rằng Promise được sử dụng rất rộng rãi nhưng vẫn còn đâu đó những developers vẫn chưa biết vì sao Promise all lại được sủ dụng nhiều như vậy. Bài viết này sẽ làm sáng tỏ những tình huống mà bạn nên sử dụng Promise.

👉 4 cơ chế đăng nhập, bài viết này là đủ cho dân lập trình - Phần 1

Đăng nhập là chức năng thường được sử dụng trong mọi trang web hay những app hiện nay. Không khó để nhận ra vấn đề này đang được quan tâm nhất bởi vì lướt qua những page về lập trình như tips javascript, hay javascript Việt Nam đều thấy nhiều câu hỏi ở đó. Thật sự bạn có biết khi enter thì cơ chế nó hoạt động như thế nào không? Và hiện nay, những ứng dụng lớn họ triển khai login như thế nào? Hôm nay chúng tôi sẽ giới thiệu một số phương pháp đăng nhập phổ biến nhất

👉 Khám phá thuật toán tìm kiếm hình ảnh của google (Kèm theo source code)

Thuật toán tìm kiếm hình ảnh đã được google trình làng vào năm 2010, tuy nhiên không chỉ riêng google làm được điều này mà còn rất nhiều nền tảng khác cũng có thể giúp bạn như tineye.

👉 Để trả lời câu hỏi này thì nghiên cứu 5 cấp đối với nghề lập trình viên

"Hi các bạn, làm thế nào để được đề xuất lên làm leader trong team ? Thanks" Một câu hỏi đáng suy ngẫm cho những bạn có ý chí tiến thủ... Để trả lời câu hỏi này thì nghiên cứu 5 cấp đối với nghề lập trình viên

👉 Message Queue đã giúp tôi thoát khỏi cảnh đuổi việc thế nào?

Sau khi nhiều người dùng phàn nàn rằng họ cảm thấy hệ thống đặt hàng quá chậm trên hệ thống thì tôi có thể chuẩn bị thất nghiệp và tôi đã lật ngược thế cờ như thế nào?

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

👉 Trời sinh ra var sao còn sinh ra let và const javascript

Var, let, const trong javascript - Những khái niệm đó không xa lại gì nữa kể từ khi ES6 định nghĩa thêm let và const. Nhưng liệu có bạn nào tự hỏi rằng? Chuyện gì xảy ra với var? Và tại sao có var rồi lại sinh ra thêm const và let?

👉 Có đúng là tiền lương font end không cao bằng back end hay không? SAI!

Hôm nay nói về tương lai với một câu hỏi đó là lương back-end hay front-end ai trả cao hơn? Tiếp theo, là bàn về back end hay front end là người quyết định giá trị cốt lõi của công ty trong phạm vi kỹ thuật. Nhâm nhi ly coffee để nói lên suy nghĩ của mình.

👉 Web Scraping là gì? 4 cách học web scraping với javascript và nodejs

Web Scraping là gì? Web Scraping là trích xuất dữ liệu từ một bất kỳ website hay còn gọi là "cào" dữ liệu trên một trang web. Không giống như quá trình trích xuất dữ liệu thủ công, Web Scraping sử dụng tự động hóa thông minh để lấy hàng trăm, hàng triệu hoặc thậm chí hàng tỷ dữ liệu trên internet. Học web scraping cũng không khó, nhất là những lập trình viên sử dụng javascript và nodejs.

👉 Đề tài: Build một blog + chat sử dụng nodejs, expressjs, mongodb, firebase.

Build một project sử dụng nodejs, expressjs, mongodb, firebase. Gần đây chúng tôi nhận được nhiều ý kiến đóng góp cũng như muốn xây dựng một project thực tế. Chính vì thế, Tipjs sẽ quyết định xây dựng một project từng bước từ A tới Z dành cho các bạn. Đây cũng là lời cảm ơn dành cho các bạn đã theo dõi và ủng hộ page Tipjs Việt Nam trong thời gian qua.

👉 Tối ưu tốc độ website không cần biết nhiều chỉ biết 1 quy tắc này là xong

Tối ưu tốc độ website là một điều rất quan trọng cho nên nhiều lập trình viên cứ nghĩ rằng đó là việc của backend hay việc này của những team khác, vì thế mình là mới ít kinh nghiệm nên chưa cần hoặc chưa cần biết về việc cải thiện hiệu suất của hệ thống. Đúng nhưng bài viết này cũng giúp bạn không phải có kinh nhiệm nhiều nhưng cũng nắm bắt được những điều quan trọng sau đây.

👉 Firebase là gì? Tips and tricks firebase

Firebase là gì? Firebase Analytics là gì? Firebase là gì? Firebase là một Backend-as-a-Service - BaaS. Firebase theo nghĩa rộng là nền tảng phát triển ứng dụng trên thiết bị di động và web. Firebase giải phóng các developer để tập trung tạo ra trải nghiệm cho người dùng sử dụng sản phẩm một cách tuyệt vời. Bạn không cần quản lý máy chủ. Bạn không cần viết API. Firebase là máy chủ, API và kho dữ liệu của bạn, tất cả đều được viết một cách tổng quát đến mức bạn có thể sửa đổi nó cho phù hợp với hầu hết nhu cầu. Vâng, đôi khi bạn sẽ cần phải sử dụng các dịch vụ khác của Google Cloud cho các ứng dụng nâng cao của mình.

👉 webpack là gì? 4 thao tác giúp bạn làm quen với cấu hình của webpack

Webpack là một module bundler cho phép bạn viết bất kỳ định dạng module nào (cũng có thể kết hợp), sau đó biên dịch cho trình duyệt. Webpack phân tách mã dựa trên cách nó được sử dụng trong ứng dụng của bạn và với phân tích trách nhiệm theo module này, việc quản lý, gỡ lỗi, xác minh và kiểm tra mã của bạn trở nên dễ dàng hơn nhiều.

👉 Hiểu domcontentloaded qua một ví dụ với 100.000 dữ liệu

Domcontentloaded là gì? Với một ví dụ với 100.000 dữ liệu cần hiện thị trên web thì bạn sẽ phân biệt và hiểu Domcontentloaded Event, đừng lo lắng.

👉 End-to-end là gì? Không phải ứng dụng nào cũng bảo mật dữ liệu giống nhau?

End-to-end là gì? Thông tin là sức mạnh. Và những gì chúng ta trao đổi hằng ngày qua những ứng dụng như Piepme, zalo, facebook... đều có những giá trị to lớn, cho dù đó chỉ là những dòng chat của mỗi cá nhân. Nhưng nếu bạn là một doanh nghiệp thì đó lại là vấn đề lớn để quan tâm đến việc bảo mật nội dung tin nhắn hay dữ liệu tổ chức or cá nhân.

👉 Cách thiết kế Database đáp ứng truy xuất cao lên đến 1 triệu

Lượng dữ liệu mới được thêm vào trong một bảng duy nhất đạt 250.000 mỗi ngày! Số lượng yêu cầu mỗi giây trong thời kỳ cao điểm lên tới 10.000! Con số thật là ấn tượng. Shopee có thể đã vượt qua con số đó tại thời điểm tôi đang viết bài này.

👉 Khám phá các nguyên tắc video hình ảnh âm thanh và FFmpeg

Sử dụng FFmpeg trong nodejs. Trong thời đại mà video ngắn phổ biến như tiktok, facebook hay trên Piepme, là một lập trình viên, bạn phải hiểu: các nguyên tắc và kỹ thuật đằng sau việc chỉnh sửa video. Bài viết này mô tả ngắn gọn thành phần của các nguyên tắc của video và các công cụ chỉnh sửa video phổ biến, cũng như cách sử dụng FFmpeg trong NodeJS.

👉 Demo Upload Image Nodejs - Tips Nodejs

Bài viết này cũng đơn giản nhưng cũng giúp các bạn mới học nodejs về cách "Làm thế nào upload files trong nodejs". Các bạn chỉ cần copy/paste là chạy thôi, nhưng cố gắng code lại, mỗi lần code lại bạn sẽ nhớ nhiều hơn là copy.

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

👉 #07: OpenSource ShareScreen Go và Nodejs Low latency / High resolution

Mục này sẽ cung cấp hai `OpenSource` về web app ShareScreen được phát triển bởi Go và Nodejs với nhiều tính năng được cải thiện về hình ảnh, độ trễ...

👉 Blue green deployment là gì? Câu chuyện thú vị của 2 backends khi triển khai hệ thống eCommerce.

Blue green deployment là gì? Và nếu bạn muốn tiết kiệm tiền nhất có thể khi triển khai và cơ sở hạ tầng cho một web application với 150 nghìn lượt truy cập hàng tháng thì có lẽ bạn nên biết về Blue green.

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

👉 Undefined là gì? Khi nào Undefined xuất hiện? Check Undefined đúng nhất

Một biến hoặc một object có giá trị Undefined khi không có giá trị nào được gán trước khi sử dụng nó, hay rõ hơn là Undefined chính là thiếu giá trị hoặc giá trị đó không xác định.

👉 Sự đánh đổi hiệu suất và tính nhất quán trong hệ thống backend

Khi chúng ta nói về tính nhất quán nhất là các hệ thống phân tán, thì sách vở chỉ có phân hai loại, nhất quán yếu và nhất quán mạnh. Nhưng thực tế thì phải có 3 loại tính nhất quá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.

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

👉 Mẹo Javascript tính thời gian đọc một bài báo

Ai mà hay đọc medium.com hay dev.to thì thấy mỗi bài viết của họ để số phút đọc của bài viết. ý tưởng này cũng hay, nhìn vào là biết á bài này nhiều quá. Thôi bỏ.

👉 [Cuối tuần #13] - Chúng tôi phụ thuộc quá nhiều vào AI, để bây giờ không thể tự suy nghĩ mỗi ngày...

Vì sao tôi vẫn là một nông dân CODE. Với tôi, tôi sẽ cố gắng không phụ thuộc vào AI trừ khi tôi không còn suy nghĩ được vấn đề gì nữa...

👉 Fireworks javascript - Năm mới sắp đến, hãy để trang web của bạn bắn pháo hoa với JS

Firework effect website - Tết nhất đến rồi, các thành phố lớn như Hà Nội hay TP Hồ Chí Minh đều bắn pháo hoa chào mừng tết cổ truyền. Với một lập trình viên thì tạo ra những sự kiện này thì không quá khó. Thử viết một sự kiện với javascript để bắn pháo hoa trên bất kỳ website nào mong muốn.

👉 API là gì? Giải thích cho vợ nên không thể dài dòng - Top câu hỏi phỏng vấn backend

API là gì? Đọc đầy đủ là (Application Programming Interface) một khái niệm hầu như developers nào cũng phải hiểu, nhưng để giải thích thì chỉ cần ngắn gọn, không rườm rà, vì để dành thời gian cho những khái niệm phức tạp hơn.

👉 Source Go JAVA API: vetautet - Tích hợp master, slave, sentinel và local cache cải thiện performance API (Link đính kèm)

Dự án vetautet giải quyết bài toán cải thiện hiệu suất READ API, WRITE API, Data consistency, Distributed Transactions, Distributed data... Ngoài java, go còn có nestjs và nodejs...

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

👉 How i hacked worldwide ZOOM users

Hello everyone, while i was testing login system of zoom.us i noticed that when you sign-up with facebook , if your facebook account hasn’t have email address it’s asks you to enter a new email address.

👉 Lập trình phía Backend - hiểu stream trong Node.js tối ưu hệ thống

Stream trong Node.js được sử dụng khi xử lý các tình huống với các File lớn hoặc phát trực tiếp liveStream một ứng dụng nào đó. Thật sự nếu kỹ năng chưa đủ thì có lẽ sẽ làm một thảm họa, ví dụ sau đây làm bằng chứng...

👉 Replay attacks và spoofing Api nếu bạn là một backend thì bạn xử thế nào?

Replay attack là tấn công api theo kiểu gửi lại nguyên vẹn endpoint đã thực hiện trước đó bao gồm hacker và chính người dùng. Spoofing attack chính là tạo ra chữ ký để đánh lừa endpoint trong api.

👉 Xây dựng một website như Dev.to sử dụng ReactJS

Cộng đồng DEV.to là một cộng đồng tuyệt vời, thật sự mà nói có rất nhiều lập trình viên phát triển từ đây. Và đây cũng một cộng đồng mà tôi và đồng nghiệp truy cập vào mỗi buổi sáng trước khi bắt tay vào việc.

👉 Cấu trúc dữ liệu và giải thuật học ở đâu? học như thế nào? Và áp dụng như thế nào để tăng level và lương.

Cấu trúc dữ liệu và giải thuật được xem là một tiền đề trong ngành lập trình viên. Tôi nhớ hồi còn đi học, mỗi lần thầy giảng về cấu trúc dữ liệu và giải thuật là cả đống người lăn ra ngủ..

👉 Phỏng vấn GO Backend: Nếu MySQL gặp sự cố trong khi thực hiện transaction, điều gì sẽ xảy ra khi nó được khôi phục (restored)?

Phỏng vấn GO Backend: Hôm nay quả là một ngày thật tuyệt, tôi đã nhận được một câu trả lời từ một anh chàng và có thể nói rằng với câu phỏng vấn "Nếu MySQL gặp sự cố trong khi thực hiện transaction" thì anh ấy đã làm tốt hơn tôi rất nhiều.

👉 CSS FORM LOGIN / LOGOUT HTML5

Thật ra một developer javascript hay ngôn ngữ nào đi chăng nữa thì cũng cố gắng biết một chút css, html. Chứ đừng như mình, không biết chút gì ngoài đi nhìn người ta làm ...

👉 Redis là gì? Không đơn giản là đọc cache, 4 tình huống sau cho thấy bạn hiểu redis tới đâu?

Redis được biết đến là một database được lưu trữ trong memory được sử dụng để triển khai livestream, message queue, cache, và lưu trữ dữ liệu nếu muốn.

👉 [Chuyện cuối tuần #15] - Sau 6 năm tôi từ bỏ GraphQL, cuộc cãi vã nảy lửa..

Với GraphQL. Tôi cảm thấy đã đủ mệt mỏi với những làn danh giới giữa FE và BE. Việc tự build linh kiện máy tính, bắt buộc bạn phải là người chuyên nghiệp về khía cạnh đó. Hãy trở thành người chơi GAME xuất sắc, thay vì trở thành người mua máy tính chuyên nghiệp, nếu làm tốt bạn là con người tuyệt vời.

👉 Học reactjs từ login đến sàn thương mại (KÈM CODE)

Để học reactjs một cách nhanh nhất thì việc đầu tiên thay vì ngồi đọc thì chúng ta có thể bắt tay vào phát triển một dự án ngay từ bây giờ.

👉 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

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

👉 Sếp hỏi? Tại sao sử dụng redis vậy em, có nhược điểm gì không? Tôi nói thẳng là...

Tôi cảm thấy rằng việc sử dụng redis trong dự án chủ yếu được xem xét từ hai khía cạnh đó là hiệu suất và đồng thời. Tất nhiên, redis cũng có các chức năng khác như khóa phân tán

👉 Top-level await

Top-level await cho phép developers sử dụng await mà không cần phải khai báo async function. Và nó hoạt động như một async function. Nhưng hãy chú ý khi sử dụng top-level await, vì nó đang ở Status: Stage 3.

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

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

👉 install ffmpeg ubuntu version mới nhất

FFmpeg là gì? ✅FFmpeg có thể decode, encode, transcode, mux, demux, stream, filter liên quan đến video mà chúng ta tạo ra. Stream đang live trên youtube hay trên facebook cũng có thể đang xài FFmpeg là chủ đạo.

👉 [series callback javascript] - asynchronous javascript cheatsheet

Hầu hết các coder của tất cả các ngôn ngữ chứ không riêng gì javascript đều hiểu về khái niệm này. Và trong bài này tôi sẽ tổng hợp các cheatsheet để các bạn đọc mới học về async/await dễ hình dung và áp dụng vào thực tế.

👉 Nguyên tắc phân trang trong MySQL với limit X,Y? Vì sao X càng lớn thì timeResponse lại cao...

Chúng ta đều đồng ý rằng, trong MySQL dữ liệu càng nhiều thì query càng chậm. Thực tế như sau, khi sử dụng `limit X,Y` để truy vấn, giá trị `X` càng lớn thì tốc độ truy vấn càng chậm.

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

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

👉 Promise timeout mẹo giải quyết của dân Anh Chị

Sử dụng Promise thì tất cả chúng ta đều biết Promise không hỗ trợ về Timeouts. Điều đó có nghĩa là nếu như thời gian phản hồi một yêu cầu nào đó chậm, thì người dùng cũng không biết xử lý làm sao?

👉 spf là gì? Hệ thống gửi Email hãy cẩn thận - Chỉ dành cho kỹ sư cao cấp

SPF viết tắc là Sender Policy Framework. Sender Policy Framework (SPF) là một công nghệ sử dụng địa chỉ IP để xác thực danh tính của người gửi email nhằm phát hiện gian lận email. Đây là một giải pháp thư rác rất hiệu quả.

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

👉 Lộ trình lập trình backend: Nói về redis các tình huống và kịch bản trong thực tế cũng như phỏng vấn.

Redis String là một trong những cấu trúc dữ liệu cơ bản nhất trong Redis, nó có thể lưu trữ bất kỳ loại dữ liệu nào, bao gồm number, text, object được tuần tự hóa, v.v. String trong Redis có thể lưu trữ tới 512MB dữ liệu.

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

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

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

👉 Sử dụng JavaScript truy cập camera sau, trước và chụp màn mình thiết bị di động

Sử dụng JavaScript truy cập camera sau, trước và chụp màn mình thiết bị di động. Trong bài viết này, tôi sẽ chỉ cho bạn cách truy cập camera của thiết bị trên một trang web thông qua JavaScript và hỗ trợ nhiều trình duyệt mà không cần đến các thư viện bên ngoài.

👉 40 tuổi của ngành lập trình viên tôi chấp nhận buông bỏ...

Tôi biết tôi đang ở đâu và hơn 15 năm kinh nghiệm trong lĩnh vực lập trình dường như không mang lại lợi thế gì khi bạn chấp nhận trong ngành nghề này.

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

👉 PM2 - Nếu file logs quá lớn thì làm điều này ngay lập tức

Cannot call write after a stream was destroyed. Đang trong kỳ nghỉ vui vẻ đột nhiên tôi nhận được thông báo của một khách hàng phàn nàn rằng hệ thống đơn hàng của họ không hoạt động. Vứt bỏ lon bia trên tay, tôi chạy ngay ra xe thì

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

👉 Thu hồi JWT - Cách hiệu quả vô hiệu hoá devices (iPad, iMac) khi iPhone thay đổi password!

CV quá tốt, như vậy thì hệ thống xxxx.com bạn triển khai cho phép một user login trên được nhiều thiết bị phải khô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.

👉 String to Array JavaScript

Convert String to Array JavaScript? Trong bài viết này, chúng ta sẽ cùng thảo luận về cách chuyển đổi từ String to Array javascript. Ở hướng dẫn này, chúng tôi cố gắng tìm hiểu rất nhiều ví dụ để cho các bạn một cách nhìn rõ ràng và tổng thể nhất.

👉 Tôi rất tự tin về MYSQL cho đến khi gặp người Anh phỏng vấn có tâm

Sau cuộc phỏng vấn đó, tôi dành một chút thời gian để suy nghĩ lại về những gì anh ấy nói.   Công nhận về MYSQL việc viết câu lệnh rất đơn giản chỉ xoay quanh bốn cụm từ `SELECT`, `UPDATE`, `DELETE`, `INSERT INTO` tôi tin rằng đây là điều mà mọi lập trình viên có chút kinh nghiệm đều có thể hiểu và làm được. Nhưng hôm nay sao nó lại quá lạ lùng như vậy…

👉 Git Rebase vs Git Merge và cuộc tranh cãi không có hồi kết - Đàm đạo về Git

Git rebase và merge đều có chung một nhiệm vụ đó là hợp nhất các branch (nhánh) lại với nhau, nhưng có một sự khác biệt rõ ràng đó chính là lịch sử các commit sau khi bạn hợp nhất nhánh này đến nhánh khác.

👉 Cung cấp câu hỏi phỏng vấn: Bạn đọc tuyển dụng của Bank này, bạn thấy muốn vượt qua thì phải làm gì đúng không?

Bạn đã đọc và thấy đúng không? Chính xác là những nhà tuyển dụng họ rất quan tâm đến việc triển khai nhiều `transaction` cùng một lúc. Vì vậy trọng tâm là bạn muốn apply vào vị trí đó thì nếu như có kịch bản đó xảy ra thì bạn sẽ làm gì?

👉 5 cách sử dụng Spread Operator trong javascript

Spread Operator là gì? Spread Operator trong javascript là một syntax rất mạnh mẽ trong javascript cụ thể là ES6. Nhưng thực tế, có rất nhiều devjs vẫn chưa khai thác hết sự hiểu quả của chức năng này. Khi nào sử dụng Spread Operator thì trong bài này chúng ta lướt qua 5 cách sử dụng phổ biến nhất.

👉 Với 13 triệu dữ liệu và 4Gb chúng tôi cải thiện tìm kiếm từ 6s còn 1s trong MYSQL không sử dụng ElasticSearch

Đây là một kịch bản có thật được thực hiện lại với một table `(products)` trong MySQL có 13 triệu dữ liệu. Và có 3 tính huống tìm kiếm. Và mỗi tình huống có 3 cách, trong đó có 2 cách sử dụng toán tử `LIKE = '%keySearch%'` và `LIKE = 'keySearch%'`. Như sau:

👉 Facade Pattern là gì? Vì sao các kỹ sư CẤP CAO thích sử dụng đến thế.

Facade Pattern giúp các hệ thống vận hành trơn tru và đơn giản hơn ví dụ như Shopee, việc tính toán diễn ra như thế nào chúng ta không cần biết, người mua chỉ biết chọn hàng và xem giá.

👉 Lập trình đồng thời #1: Nói về Thread vs Virtual Thread và ghé nhà hàng xóm Goroutine

Chỉ cần hiểu như thế này cho các round phỏng vấn như món tráng miệng đó là `Thread` rất nặng, nó tương ứng mới các thread của hệ điều hành. Vì vậy chắc chắn có limited.

👉 Cải thiện hiệu suất SELECT COUNT(*) từ 4,2s xuống 0.002s với 13 triệu dữ liệu có đánh đổi gì không?

Tôi có hai table mỗi table có 13 triệu records. Và vẫn là câu lệnh SELECT COUNT(*) nhưng một table mất 4.2s và một table mất 0.002s... Vì sao? Chúng ta sẽ đi tìm hiểu

👉 [Chuyện cuối tuần #16] - 100% là ai cũng có thể trở thành LẬP TRÌNH VIÊN. Kẻ yếu hay phàn nàn về môi trường...

Kẻ yếu phàn nàn về môi trường, kẻ mạnh tự thay đổi bản thân. Nó đơn giản tới mức hầu như tôi không thể nào áp dụng đúng 100%.

👉 Find mongoose - sử dụng async await thay thế cho callback

Mongodb nodejs nếu như bạn đã làm qua rồi thì không thể bỏ qua mongoose, một thư viện ODM cho mongodb và nodejs. Trong ví dụ hôm nay chúng ta sẽ thử tìm hiểu về query mongodb sử dụng Mongoose.

👉 Danh sách học javascript hàng đầu trên github tăng trưởng theo hàng năm

Hôm nay, Tipjs đề xuất 10 dự án tài nguyên học tập javascript hàng đầu có mức tăng trưởng mạnh nhất và tăng lương nhiều nhất.

👉 Tại sao ClubHouse lại nổi tiếng đến vậy?

ClubHouse là gì? Mà tại sao nó lại bùng nổ nhanh đến vậy? Bạn có biết vào ngày 1/2/2021 một thông điệp từ CEO Tesla, Elon Musk trên Twitter đã khiến toàn bộ ClubHouse nổi như cồn

👉 Promise sử dụng kiểm soát requests đồng thời cao một cách hiệu quả

Hiện tại giao tiếp không đồng bộ với máy chủ là một yêu cầu phổ biến. Tuy nhiên, khi cần gửi nhiều yêu cầu cùng lúc, nếu không được kiểm soát có thể khiến máy chủ tải quá mức và ảnh hưởng đến hiệu suất ứng dụng.

👉 Hàm reduce trong Javascript: Cách sử dụng và các ví dụ đơn giản trong lập trình js

reduce js hay còn gọi là hàm reduce trong Javascript là một hàm có sẵn trong thư viện của Javascript, cho phép bạn áp dụng một hàm lên một mảng và giảm nó xuống thành một giá trị duy nhất. Hàm reduce có cú pháp như sau

👉 Javascript array concat performance

Trong bài viết này tôi và devjs tìm hiểu về javascript array concat. Concat javascript là gì? Và sử dụng es6 để merge array javascript. Ngoài ra tìm hiểu thêm làm thế nào để merge 2 arrays of objects javascript.

👉 Phân trang đỉnh cao như stackoverflow với ES6

Javascript pagination là một thủ thuật không mới, có ưu điểm rõ nhất là làm mượt mà ứng dụng vì dữ liệu lấy lên được chia ra nhiều đoạn khác nhau.

👉 Memory leak - Bộ nhớ trong javascript

Khi các chức năng của các ngôn ngữ lập trình hiện nay trở nên hoàn thiện và phức tạp hơn, việc quản lý bộ nhớ rất dễ bị bỏ qua. Bài viết này sẽ thảo luận về rò rỉ bộ nhớ trong JavaScript và cách xử lý chúng, để bạn có thể xử lý tốt hơn các vấn đề do rò rỉ bộ nhớ khi viết mã trong JavaScript

👉 Go 31 - [User Login Interface] Implementation Verification OTP

Sau khi chúng ta triển khai thực hiện chức năng [Go 29: Implement IUserLogin - Register] và `User` sẽ nhận được `OTP` được gửi qua `EMAIL` or `SMS` đã đăng ký. Sau nó nếu User nhập OTP

👉 [Chuyện cuối tuần #14] - 2025 năm nay chúng tôi sẽ tốt nghiệp và tôi đã sẵn sàng.

Có bạn comment rằng, `lớp chúng tôi 70% không xin được việc làm`. Uhm, tôi nghĩ rằng còn lại 30% là có nghĩa rằng sẽ có việc làm NHƯNG đi đúng ngành thì chắc 20% còn lại 10% là sẽ chọn không đúng NGÀNH.

👉 Google cung cấp tính năng caption video và audio trên browser

Google chính thức mang đến một trong những tính năng (accessibility features) hữu ích nhất của Android lên Chrome

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

👉 JSON Web Token: Bảo mật RESTful API với JWT và Cookie httpOnly, Secure.

Ở bài viết trước, chúng ta đã làm rõ về cách lưu trữ token ở đâu trên Client. Và cách nào an toàn hơn và hạn chế được các XSS attack. Do đó ở bài này chúng ta sẽ triển khai xây dựng một RESTful APIs bảo mật token hạn chế việc đánh cắp khi mà càng ngày hackers luôn luôn rình mò ở quanh ta :D.

👉 Filter và Find trong javascript - Khi nào nên sử dụng?

Khi bạn học đến ES6 thì việc sử dụng Filter và Find thường xuyên hơn, nhưng khi nào nên sử dụng filter và khi nào nên sử dụng Find thì trong bài viết này, chúng ta sẽ xem xét một số ví dụ, hy vọng qua những ví dụ này chúng ta sẽ hiểu hơn và có thể cải thiện được performance code của chính bạn.

👉 Sự khác biệt giữa for...in, for...of and forEach trong javascript

Nói về iterate trong javascript có rất nhiều cách để chúng ta có thể làm được điều đó như for, for ... in, for ... of. Thậm chí là reduce()... Nhưng bạn có biết vì sao javascript lại cung cấp nhiều method đến vậy, và nó có sự khác biệt gì. Trong bài viết này, chúng ta sẽ làm rõ những điều mà có thể bạn chưa hề biết.

👉 JWT Skills: Kịch bản tốt nhất ở đây là gì? Khi JWT khi User logout trên iPhone mà iPad, iMac vẫn hoạt động

Ngoài ra một kịch bản khác nữa được đưa ra ngoài chuyện Logout. Khi logout thì token này đã có trong `tokenBlackList` vì vậy khi một ai đó vô tình lấy lại token này để sử dụng or token này bị rò rỉ (leak) và thời gian token này chưa hết hạn...

👉 Design patterns là gì? Từ cuộc sống đến lập trình và cách học trong 1 tuần (mẹo) - Kèm tài liệu và source

Design patterns là gì? Design patterns chính là một gã khổng lồ, nếu bạn đứng được trên vai thì bạn sẽ nhìn xa hơn. Làm sao bạn đứng được trên vai hãy theo cách của bài viết này, từ CUỘC SỐNG đến PHẦN MỀM.

👉 lazyload - Đến giờ mà anh còn tự code sao? Quê quá anh em!!!

Lazy load hoá ra đã được support trên các browsers mà giờ thằng em nói mới biết. Chu choa có lẽ già mất tiêu rồi. Hôm nay thử nghiệm và có đôi lời ngắn gọn.

👉 Làm sao để phân biệt được trình độ của một lập trình viên?

Anh ta có phải là một lập trình viên tốt không? Đây là một câu hỏi có thể nói là rất quan trọng của những người quản lý hay còn gọi là PM. Hoặc có thể người đóng vai trò trong phỏng vấn nếu có nhiều thời gian.

👉 Promise javascript: Serial and parallel

Promise javascript ra đời kể từ khi ES6 (ECMAScript 2015) chính thức giới thiệu, nhưng đến bây giờ việc sử dụng Serial Promise hay parallel Promise vẫn còn một số vấn đề mà còn nhiều developers vẫn chưa biết tận dụng hết khả năng của Promise.all(). Vậy trong bài viết này chúng tôi sẽ giới thiệu lại một lần nữa thông qua những ví dụ cụ thể.

👉 Dự án đồng thời cao về bán vé tàu TẾT giờ cao điểm sử dụng JAVA - OPENSOURCE By MEMBER TIPSJAVA

Trên thực tế, việc xây dựng bán vé TÀU TẾT về cơ bản là một ứng dụng toàn diện của công nghệ có tính đồng thời cao trong các tình huống cụ thể. Ví dụ như mới tổ chức bán vé vào dịp tết, chuẩn bị bán vé liveshow MỸ TÂM, hoặc bán Iphone 17... Các kịch bản có tính đồng thời cao và khả năng thiết kế kiến ​​trúc có tính tương tranh cao là khả năng then chốt không thể thiếu đối với các nhà phát triển. ..

👉 Ternary operators javascript khái niệm cho dev js mới

Trong phần này chúng ta sẽ nói tới Ternary operators javascript một trong những conditions javascript mà bất cứ developer js nào cũng cần phải biết và nắm rõ.

👉 API timeline: RPC vs GRPC - Tản mạn ngày xa xưa

RPC vs GRPC: Mặc dù hơi thô nhưng nó đúng là vậy, muốn hiểu về nguyên lý bom ba càng thì hay hỏi các CỰU CHIẾN BINH là có thể hiểu rõ nhất, có đúng không?

👉 Database integration with node.js

Mỗi một dự án, mỗi một webservice cũng đều kết nối ít nhất một hay nhiều database. Việc lựa chọn database nào cho dự án phù hợp thì tuỳ thuộc vào bạn. Ở bài viết này, chúng tôi sẽ hướng dẫn cách connect database với nodejs với nhiều database như: Cassandra, Couchbase, CouchDB, LevelDB, MySQL, MongoDB...

👉 Cấu trúc dữ liệu và thuật toán - điểm lợi thế vượt xa người khác

Cấu trúc dữ liệu và thuật toán ở bài trước chúng ta đã hiểu được ý nghĩa thực sự của "cấu trúc dữ liệu" và "thuật toán". Và bài này nhiệm vụ của chúng ta sẽ phải hiểu được tầm quan trọng của dữ liệu và thuật toán, đồng thời muốn học thì mỗi cá nhân chuẩn bị học như thế nào?

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

👉 Sắp bị đuổi việc vì hệ thống chậm lấy shopee làm ví dụ

Đây là một trong những bài toán kinh điển để xây dựng một hệ thống thương mại điện tử chính thống như Shopee.

👉 Đượ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.

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

👉 DDD - Project: vetautet.com 06: INTERN với sự khiêm tốn đến kỳ lạ lần này nó đã thực sự thành công lên Junior

Cậu intern mới vào công ty có 3 tháng mà có thể thấy hình như cậu ấy đã chạm vào được trái tim của ứng dụng, của anh em và quan trọng có lẽ danh phận Junior chỉ để nhằm hạn chế lương của cậu ta thôi sao... Tôi tự nhủ..

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

👉 Lập trình đồng thời và Vật cực tất phản - Chuyện cuối tuần

Chuyện cuối tuần - Vật cực tất phản, hôm nay tôi muốn đề cập đến một khái niệm mà tôi đọc qua trong cuộc sống là đúng, nhưng trong lập trình cấp độ ngôn ngữ thì tôi thấy nó chưa đúng, nhưng lạ thay với cấp độ doanh nghiệp thì nó lại đúng. Khái niệm được đề cập như sau:

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

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

👉 Các ví dụ điển hình về hiệu suất vượt trội của Node

Học nodejs. Hãy tưởng tượng một công ty giống như Twitter có thể gọi là ông lớn trong việc sử dụng công nghệ, tính năng chủ yếu của Twitter là phải nhận các tweet của hàng triệu người dùng khắp thế giới và ghi chúng vào cơ sở dữ liệu mỗi ngày.

👉 Lộ trình Java, Go, Nodejs Backend Toàn Diện

Các lập trình viên nhìn chung có niềm đam mê lớn với công nghệ nên họ sẽ chắc chắn dành nhiều tâm sức cho việc học kỹ thuật lâpk trình trong suốt sự nghiệp của mình. Hơn nữa, các lập trình viên không chỉ cần thành thạo ngôn ngữ phát triển trong công việc mà còn phải thành thạo hàng loạt middleware mà các công nghệ đang triển khai. Ví dụ: Nếu bạn là kỹ sư phát triển back-end, bạn không chỉ cần thành thạo 1-2 ngôn ngữ back-end mà còn cả database, cache, message queue, sync..

👉 Tổng hợp tính năng javascript mới nhất kể từ ES6 đến ES11

Những tính năng của javscript kể từ khi ES6 ra đời cho đến chuẩn bị stage 4 của ES11. Và kết thúc năm 2019 thì chúng ta có học được những tính năng gì trong những feature javascript dưới đây.

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

👉 Học javascript và những nguyên tắc chung cho mọi level

Học javascript cơ bản hay nâng cao. Hay bạn là người mới học lập trình hay là lâu năm rồi thì cũng phải hiểu trong bất cứ ngành nghề gì thì cũng có những nguyên tắc nhất định cần phải nắm và học một cách thành thạo. Nếu không bạn biết đấy, quy luật đào thải sẽ cuốn đi những người không nắm được những nguyên tắc trong nghề lập trình viên. Nếu là bạn thì bạn sẽ nghĩ về những nguyên tắc đó như thế nào?

👉 Sự khác biệt giữa map và forEach bao gồm tốc độ và khi nào sử dụng trong javascript

map và forEach là một trong số hàm phổ biến và được sử dụng nhiều nhất trong JavaScript kể từ khi ES6 ra đời. Trong bài viết này, chúng ta sẽ thảo luận về sự khác biệt chính giữa chúng và lần lượt đi qua một số ví dụ về cách sử dụng map và forEach.

👉 Bàn luận: 2 dạng lập trình viên.

Thật ra trong thế giới developer có nhiều dạng hay thể loại khác nhau, loại ngáo đá, loại bất chấp, loại an toàn... Nhưng trong bài viết này chúng ta chỉ tập trung hai dạng đặc biết đó là...

👉 Code của anh làm thường đơn giản, nên không được đánh giá cao

Các lập trình viên bình thường thì viết code chồng lên code, LTV cao hơn viết code một cách thanh lịch và đơn giản code. Nhìn vào hiểu ngay.

👉 Array-Like Objects và Generic Methods javascript - Bạn chưa hề biết?

Array like object javascript. Bạn có bao giờ gặp phải lỗi "Uncaught TypeError: arrays.filter is not a function" khi sử dụng một array chưa? Và nếu gặp tình huống như vậy bạn đã xử lý như thế nào? Và bạn biết vì sao lại gây lỗi như vậy?

👉 Lập trình viên mới ra trường nên đi MID trong DOTA2?

Lương lập trình viên mới ra trường bao nhiêu vậy anh? Em kinh nghiệm 2 năm thì phỏng vấn yêu cầu bao nhiêu Anh? Lương của kỹ sư phần mềm và lập trình viên khác không Anh?

👉 Express và Node.Js xây dựng cấu trúc một dự án chuẩn?

Project Express và Node.Js - Đây là một trong số câu hỏi tuần này. Một kiến trúc tốt chưa chắc phù hợp với người này, người kia. Nhưng xét về tổng thể thì 10 người 8 người đồng ý

👉 Thử kết hợp async-await với promise javascript và cái kết bất ngờ

Promise và async-await những khái niệm không còn xa lạ gì nữa đối với devjs hiện nay, bởi vì nó quá phổ biến và được sử dụng hằng ngày trong nodejs, reactjs... rất nhiều. Nhưng hầu hết, chúng ta để ý kỹ xem, nếu như dùng promise rồi thì sẽ không dùng async-await và ngược lại. Tại sao?

👉 tensorflow là gì? Với ví dụ này tôi nghĩ, tôi sẽ không theo kịp

TensorFlow là một thư viện phần mềm mã nguồn mở được sử dụng để phát triển và đào tạo các mô hình machine learning. TensorFlow là thế hệ thứ hai của Google Brain.

👉 2025 tôi không phải có thêm kinh nghiệm và tôi có thêm nhiều Anh Em DEV hơn. Tạm biệt 2024

Tôi còn nhớ JavaEE lúc đó rất phổ biến vì các logic business được quản lý mới Struct, Spring, và không quên đó là Hibernate chịu trách nhiệm quản lý database, nhìn lại một hành trình giờ đây quá nhiều thay đổi với sự xuất hiện của SpringMVC nó đã làm lu mờ đi Struct...

👉 Phỏng vấn: Sự khác nhau giữa Shallow copying và Deep copying trong object javascript.

Shallow copying vs Deep copying in Object javascript. Nghe tiêu đề thôi cũng gây war rồi. Nhưng mới đây, trong vụ phỏng vấn dev js thì có hỏi câu hỏi này, dù kết quả có tiến bộ hơn những đợt phỏng vấn cách đây vài tháng nhưng đa số các bạn hiểu về câu hỏi này nhưng vẫn trả lời chưa rõ hoặc không giải thích được.

👉 Proxy server, Fordward Proxy và Reverse Proxy hãy xem thầy tôi giải thích

Proxy server là một khái niệm hot từ những năm gần đây, vì nếu server của bạn có những thông tin nhạy cảm như ngân hàng thì việc thiết lập một máy chủ proxy bên ngoài tường lứa là điều cần thiết nhất. Bởi vì khi một ai đó muốn truy cập vào Server này thì nhiệm vụ của nó phải qua mặt proxy server.

👉 5 cách tối ưu hoá hình ảnh cho website từ 9 seconds xuống 2 seconds

Tối ưu hoá hình ảnh là một thủ thuật làm cho ứng dụng nhanh hơn, giúp cho người dùng có một cách trải nghiệm mượt mà và ít tốn dung lượng 4G hay 5G nhất có thể. Và khái niệm tối ưu hoá hình ảnh cũng nằm trong 24 đề xuất tối ưu hoá hệ thống được các chuyên gia Front-End đưa ra. Và bài viết này, với 6 cách được đưa ra, hy vọng bạn sẽ có một cách làm cho riêng mình.

👉 Cấu trúc dữ liệu và giải thuật - chỉ xem xét 2 độ phức tạp chủ yếu khi học

Độ phức tạp của thuật toán cấu trúc dữ liệu và giải thuật thì chúng ta chỉ cần tập trung vào hai khía cạnh cụ thể đó là thời gian và không gian. Càng về cuối thì càng khó, chính vì như vậy số ít chỉ ở lại và tiếp tục con đường chinh phục cấu trúc dữ liệu và giải thuật.

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

👉 Đôi lúc git pull và push đều vô nghĩa với những trường hợp phổ biến trong team tôi

Hiểu rõ về git có lẽ giờ đây là điều bắt buộc đối với các developers hiện nay. Nhưng hình như đa số anh em chỉ biết mỗi push, pull, merge, rebase và một số thao tác cơ bản khác. Đến khi gặp những tình huống dưới đây mới cảm thấy thiếu hụt về kinh nghiệm sử dụng git.

👉 Kết thúc cuộc phiêu lưu của Redis Salvatore Sanfilippo - Bài học rút ra cũng giống như flappy bird Nguyễn Hà Đông

Nghe tiêu đề bạn cũng như tôi đều giật mình nếu như bạn là một người luôn đọc về tin tức của các nhà lập trình. Đây không phải vấn đề của Redis mà là người bắt đầu dự án Redis hơn mười năm trước. Và vào ngày 01/07/2020 Salvatore Sanfilippo đã nói lời chào tạm biệt tới Redis cũng giống như cách mà Ryan Dahl đã rời bỏ Node để xây dựng Deno. Nhưng Salvatore Sanfilippo hành động như thế nào khi rời Redis?

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

👉 Part 3 - Setup project with nodejs, expressjs và connect mongodb

Sau khi ở part 2, devjs cũng đã hiểu vì sao chúng ta lại chọn buil a project with nodejs, expressjs, mongodb rồi. Và để tiếp tục Series này thì ở phần 3 này, chúng ta sẽ setup một project theo một quy chuẩn và rất phổ biến.

👉 8 sai lầm cần tránh khi là một lập trình viên

Lập trình viên cũng là một nghành nghề, mà đã ngành nghề thì không tránh khỏi có những sai lầm, dù lớn hay nhỏ. Nhưng cái quan trọng bạn có rút ra được những bài học sau những sai lầm ấy không? Hay vẫn như vậy, nếu bạn thuộc vế thừ hai thì có thể bài viết này dành cho bạn. Hãy xem người trong cuộc họ nói gì về những sai lầm của một Lập trình viên.

👉 Kinh nghiệm học lập trình - tôi ghé thăm code của một bạn có kinh nghiệm 3 năm và cái kết

Kinh nghiệm lập trình là một cụm từ được mỗi người định nghĩa khác nhau. Nhưng với tôi thì kinh nghiệm lập trình có nhiều yếu tố hình thành nên. Và hầu hết mọi người đều chỉ ra kinh nghiêm lập trình qua thời gian, chưa đủ, và bai viết này tôi sẽ nói lên quan điểm của tôi về vấn đề này.

👉 Redis – 3 vấn đề LỚN có thể mất việc khi sử dụng cache

Để hiểu về 3 sự cố khi sử dụng cache đó là sự cố tuyết lở trong Cache (cache avalanche), sự cố sụp đổ (cache breakdown), sự cố thâm nhập cache (cache penetration).

👉 Adapter pattern là gì? Một bài viết quá rõ ràng với ví dụ tạo giỏ hàng với javasscript

Adapter pattern được sử dụng trong đời sống rất nhiều chứ không phải là chỉ trong các mẫu thiết kết của lập trình. Nó được ứng dụng rộng rãi trong thế giới thực, tôi nghĩ chắc cũng vì lý do đó cho nên nó đã được áp dụng nguyên lý vào trong lập trình javascript nói riêng và các ngôn ngữ khác nói Chung. Tôi sẽ chia sẻ cho các bạn một ví dụ cụ thể để hiểu rõ hơn về Adapter pattern javascript

👉 async await giá như tôi đọc được bài viết này sớm hơn

Async await trong javascript đã có nhiều bài viết nhưng có lẽ đây là bài viết cuối cùng mà tôi muốn viết về Async await. Một lần làm cho rõ còn hơn lằng nhằng.

👉 Nodejs đã quyết vấn đề kết nối đồng thời cao như thế nào? Nodejs Series.

Nodejs Series đã qua được 3 bài viết, và bài viết này giải đáp thắc mắc vì sao Nodejs có thể cải tiến hiệu suất cao đến như vậy. Đọc từ từ sẽ rõ.

👉 Có bao nhiêu cách tìm một phần tử trong một mảng, Cảm ơn anh đã đến phỏng vấn và xin chào!

Đôi khi chúng ta muốn sử dụng một điều kiện nào đó để tìm xem có phần tử nào trong mảng thỏa mãn điều kiện thay đổi hay không, rồi trả về phần tử hoặc giá trị chỉ số của phần tử. Javascript cung cấp cho chúng ta nhiều phương thức khác nhau, chủ yếu được chia thành tìm kiếm theo giá trị và tìm kiếm theo điều kiện nhất định. Bài viết này giới thiệu các phương pháp này.

👉 Destructuring Javascript là gì? Buông gì buông chứ đừng bỏ qua phần này của ES6.

Destructuring Javascript là gì? ES6 đã giới thiệu cho chúng ta một trong những tính năng trong ngôn ngữ JavaScript được chờ đợi nhất đó chính là: destructuring trong es6. Destructuring khái niệm là gì? Hiểu và sử dụng nó như thế nào? Thì trong bài viết này chúng ta cùng nhau xem xét cụ thể về cú pháp, và vì sao nó lại được các phà phát triển đánh giá cao.

👉 Part5 - Build chat, firebase, mongodb sử dụng với heroku

Build chat system sử dụng với heroku. Đây là phần thứ 5 trong series "Đề tài: Build một blog + chat sử dụng nodejs, expressjs, mongodb, firebase". Nhiều việc qúa nên hôm nay, mới có thời gian build giao diện chat lên heroku cho các bạn. Bài post này chủ yếu hướng dẫn các bạn push project lên heroku.

👉 Javascript object array - when to Use Array and use object in javascript

Javascript object array - hai khái niệm rất thân quen trong bất cứ một ngôn ngữ lập trình trong đó javascript. Nếu bạn không có thời gian thì hãy nhớ rằng: Javascript object array. Những trường hợp sử dụng array đó là khi bạn cần phụ thuộc vào thứ tự của các phần tử trong một collection, và khi thứ tự không quan trọng, hãy sử dụng các Object.

👉 Build project - part 2 - Vì sao lại phát triển web application sử dụng nodejs và expressjs?

Notes: none-blocking IO một cụm từ nhiều người nghe rồi, nhưng không hiểu nhiều vì mỗi người một giải thích. Cho nên nhân tiện mình xin giải thích dễ hiểu là thế này. Chúng ta sắp xếp công việc thứ tự là đọc sách, ăn cơm, chơi game (đó là IO), xong rồi mới đến đánh răng (blocking). Trong lập trình thì chúng ta có thể đánh răng trước chơi game, đó là (non-Blocking IO)

👉 DDD - Project: vetautet.com 03: Tuyến phỏng thủ thứ hai của lập trình viên nhiều kinh nghiệm

Ở phần trước chúng ta đã đến cập đến tuyền phòng thủ đầu tiên trong hệ thống [DDD bán vé tàu TẾT - Đồng thời cao], ở đó có một khái niệm cân được quan tâm đó là `circuitBreaker` và `RateLimiter`. Cốt lõi là `circuitBreaker` nó sẽ phát huy tác dụng trong trường hợp đó chính là quấy bán vé quá tải thì phải lập tức chuyển qua trạng thái OPEN.

👉 Array javascript - 4 tính năng mới nhất bao gồm (limit, skip, distinct...)

Javascript là một ngôn ngữ phổ biến trên thế giới, nếu không nhầm thì nó đã hơn 20 năm, và hơn bao giờ hết nó đang phát triển một cách mạnh mẽ từ front-end đến backend và thậm chí là database(mongodb). Do đó việc chúng ta sử dụng javascript hằng ngày là điều hiển nhiên. Và javascript là một gợi ý tuyệt vời khi phát triển một dự án nhỏ, nhanh gọn, tối ưu cao.

👉 Cách tìm việc mà không cần kinh nghiệm đối với lập trình viên

Một lập trình viên nên có kinh nghiệm thì điều đó không cần phải bàn cãi. Nhưng ở đây tôi không có kinh nghiệm thì làm sao? Phải cho tôi cơ hội chú? Đó là trường hợp mà hầu như ai trong chúng ta cũng phải đặt câu hỏi? Nếu bạn là trường hợp đó, xin đừng bỏ qua bài viết này.

👉 Học lập trình web - 10 skills giúp bạn từ zero tới hero

Học lập trình web, hay học lập trình bất cứ một ngôn ngữ nào như C, php, python… cũng phải có những lộ trình, nhưng nếu bạn đi sai ngay từ đầu thì có thể để quay lại cũng không ít thời gian. Với bài viết được đăng lên geeksforgeeks.org thì mọi chuyện sẽ dễ dàng hơn với các bạn.

👉 Authorization Framework: Access Token, Refresh Token cũng giống việc sinh viên thuê nhà trọ

Refresh token là gì? Ở bài trước tôi đã hướng dẫn các bạn cách xác thực REST API với JWT(JSON Web Token) thông qua một Access Token, và hôm nay chúng ta tiếp tục tìm hiểu về Refresh Token. Tại sao lại có thêm Refresh Token? Và Refresh Token dùng để làm gì?

👉 Redis - Kẻ huỷ diệt

Redis là gì? Redis là kho dữ liệu trong bộ nhớ, mã nguồn mở để sử dụng làm cơ sở dữ liệu, bộ nhớ đệm, trình chuyển tiếp tin nhắn và danh sách tác vụ chờ xử lý. Redis là tên viết tắt của Remote Dictionary Server (Máy chủ từ điển từ xa), là kho dữ liệu khóa-giá trị, trong bộ nhớ, mã nguồn mở và có tốc độ truy cập nhanh để dùng làm cơ sở dữ liệu, bộ nhớ đệm, trình chuyển tiếp tin nhắn và danh sách tác vụ chờ xử lý

👉 https là gì và có thực sự an toàn không?

Nếu bạn là một người luôn thích đọc tin tức lập trình mỗi buổi sáng thì tôi cam đoan bạn sẽ không hề quên bài viết trước đây đó là "HTTP là gì? HTTPS là gì? Sự khác biệt giữa HTTPS và HTTP". Ở đó giúp bạn nắm bắt chi tiết hơn về khái niệm đó. Nói một cách đơn giản, https là http + ssl, mã hóa nội dung của giao tiếp http, là phiên bản bảo mật của HTTP và là giao thức HTTP được mã hóa bằng TLS / SSL

👉 Những websites bất kỳ lập trình viên nào đều phải ghé thăm!

Một số trang web hữu ích cho các lập trình viên. Khi học lập trình hay bất kỳ một ngành nghề nào, đều có một số trang hữu ích bạn phải biết để luôn được thông báo để thực hiện các công nghệ của bạn và học những điều mới. Dưới đây là những danh sách websites mà bạn nên theo dõi, cũng như tôi, hãy dành thời gian mỗi ngày lướt qua. Hy vọng nó mang những điều tích cực cho chúng ta rất nhiều.