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ữ.
isNaN và Number.isNaN trong javascript gây nhiều nhầm lẫn cho các devjs mới thậm chí là những devjs có nhiều kinh nghiệm. Nếu bạn trả lời câu hỏi này một các rành mạch thì không cần đọc bài viết này nữa, ngược lại thì bạn nên dành thời gian tìm hiểu isNaN trong javascript là gì?
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.
Video sẽ đưa ra 3 vấn đề cho thấy cách hoạt động của Session có vấn đề (Nếu Anh Chị là dev từ lv1 trở lên thì xem video là hay nhất, còn nếu từ level 0 đến lv1 chưa lo về tiền lương cho lắm thì cứ đọc tóm tắt này là được. Tôi cố gắng làm cả hai.)
Về RabbitMQ, thì tôi đã được tiếp xúc với công nghệ này từ nhiều năm trước, và tôi cũng muốn chia sẻ những điều mình đạt được trong hơn 10 năm làm nghề.
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.
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.
Tự học Mongodb - Bài này giúp các anh chị hiểu về cách sử dụng Group và Sum để có thể làm thống kê trong database.
Học mysql phải để ý điểm chung của varchar và char chính là hai kiểu dữ liệu trong MySQL được sử dụng để lưu trữ các String. Và sự khác biệt giữa varchar và char chính là dộ dài sử dụng, khi nào nên sử dụng varchar và khi nào char.
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.
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.
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
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á.
Observer pattern chính là "super pattern" của design pattern, với pattern này thì nhiều ứng dụng sử dụng có thể thấy khắp nơi từ cuộc sống đến phần mềm, và trong bài viết này chúng ta tiếp tục tìm hiểu về Observer pattern.
Với đại dịch covid19 thì hầu như nền giáo dục đã chuyển đổi qua thi Online trên nhiều nền tảng đặc biệt là website. Nhưng còn có nhiều lỗ hổng để các thí sinh lợi dụng như switch tab để tra cứu bài thi, thì những lập trình viên sẽ giải quyết như thế nào?
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.
Mục đích của bài này giúp các bạn có thể hiểu được về **Stratery parttern js là gì?**, sử dụng trong những tình huống nào? Và dùng **Stratery parttern** như thế nào?
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.
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.
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.
Cách tính toán lượt views như thế nào? Đó là một trong những câu hỏi mà đã được chọn lọc trong nhiều câu hỏi trong tuần này. Vì đây là thuật toán được nhiều anh em quan tâm, nên tôi làm kỹ vấn đề này.
Regex phone number vietnam. Chỉ với một số dòng lệnh sau, chúng ta có thể check number phone Việt Nam một cách chính xác và nhanh chóng.
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.
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.
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ỏ hàng hay Shopping carts là một chức năng mà bất kỳ application thương mại điện tử nào cũng sẽ sử dụng hay nói cách khác là không thể thiếu cho người dùng. Vì sao? và dùng redis như thế nào tất cả sẽ có trong nội dung này.
Giả sử bạn có một ứng dụng trò chuyện mà bạn muốn kích hoạt cuộc trò chuyện riêng tư giữa một nhóm người được chọn or cá nhân và có thể hơn nữa là chia sẻ hình ảnh, video
Là một lập trình viên mới tham gia vào một công ty mới, thì việc code không bàn tới, nhưng cách làm việc nhóm trên git cũng là một điều quan trọng không hề kém. Nếu như bạn không hiểu câu chuyện về sử dụng Git Flow trong một Team
DESIGNING AN E-COMMERCE WEBSITE - Ở bài trước chúng ta đã gửi OTP cho mỗi khách hàng đăng ký thành viên trong ứng dụng aliconcon. Giờ đây chúng ta sẽ phân tích về thiết kế cho Products, Orders và Inventories.
Send OTP đến người dùng là một cách không mới trong những năm gần đây. Nhưng kiến trúc và bảo mật của nó thế nào thì mỗi hệ thống đều có cách triển khai riêng. Chắc chắn rằng không có một hệ thống nào hoàn hảo và bảo mật tuyệt đối.
Mongoose statics vs methods chắc hẳn những ai bước vào tìm hiểu NoSQL cụ thể là Mongodb thì đã từng nghe qua về hai khái niệm đó. Và hơn nữa đó là virtual và middleware trong mongoose.
Chúng ta đều biết rằng Redis cung cấp vô số kiểu dữ liệu, có 5 kiểu phổ biến là String (chuỗi), Hash (băm), List (danh sách), Set (tập hợp), Zset (tập hợp có thứ tự). Với việc cập nhật phiên bản Redis mỗi ngày tinh vi hơn, thì có 4 kiểu dữ liệu được hỗ trợ thêm đó là
AB Benchmarking - Giả sử ta muốn test mô phỏng cho 100 users truy cập cùng một lúc để lấy Voucher trong Shopee. Vì thói quen của users là muốn có nhanh cho nên họ sẽ refresh page liên tục, ta cho là 50 lần. Như vậy ta có 100 người truy cập và tổng số lượng 100 * 50 = 5000 request
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.
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.
Flatten JavaScript object chính là biến hóa keys và values trong Object đó trở thành một Object có chiều sâu hay còn gọi là deep Object. Ngoài đệ quy thì chúng ta còn cách sau.
Với việc sử dụng Bucket Pattern thì chúng ta sẽ tiết kiệm được thời gian khi truy vấn dữ liệu cấp triệu. Đây là một mô hình Group rất hiệu quả khi phân trang nhưng vẫn còn có những nhược điểm cho nên bạn nên cân nhắc khi sử dụng mô hình này.
findOneAndUpdate mongoose 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.
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.
Mô hình MVC cho đến thời điểm này thì theo tôi vẫn giữ một vị trí đặc biệt, mặc dù đã có những pattern khác ra đời. MVC giúp chúng ta chia nhỏ modules mà dễ dàng quản lý, và socketio sẽ được tích hợp như thế nào?
Một trong những người mới học về database, bất kể mongodb, mysql hay oracle thì việc xây dựng những lược đồ (schema) là một điều quan trọng. Nếu ngay từ đầu bạn làm tốt thì sau này mọi chuyển trở nên đơn giản cho những người đến sau hoặc hệ thống được nâng cấp.