Một hệ thống Chat phục vụ 50 triệu người dùng mỗi ngày sẽ có những gì

Trò chuyện đã trở thành *một phần không thể thiếu* trong cuộc sống hàng ngày của chúng ta. Từ *tâm sự với bạn bè, giao tiếp trong công việc* cho đến thảo luận mọi chủ đề trên mạng xã hội, *các ứng dụng chat* đã dần trở nên quen thuộc với hầu hết mọi người. Sự phổ biến rộng rãi của các ứng dụng nhắn tin như *Facebook Messenger, WhatsApp, Zalo,...* đã thúc đẩy nhu cầu thiết kế và phát triển những... Chi tiết       

Kiến Thức Mà Sinh Viên Học Lập Trình Có Thể Bỏ Sót

Hello anh em! Để làm tốt trong các dự án thực tiễn thì kỹ sư phần mềm cần có kiến thức khá rộng, và cũng phải đủ độ sâu nhất định (dù không cần phải quá sâu). Tuy nhiên, đa số sinh viên sau tốt nghiệp vẫn thiếu hụt những kiến thức ấy rất nhiều. Nguyên nhân vì: - Không được học. - Hoặc được học nhưng không dạy kỹ. - Hoặc thầy dạy nhưng bản thân người học không ý thức được mình cần tiếp thu kỹ. ... Chi tiết       

Why NFT Game Development Spells Opportunity for Business Leaders

NFT Game Development is one of the emerging business ideas with the potential of transforming the world by analyzing the idea of the entrepreneur and the form of entertainment that could be a new trend in the world of increasing digital innovations. This unique blend of gaming and non-fungible tokens (NFTs) can be called a real revolution and interact with virtual worlds, not just an evolution.... Chi tiết       

Kafka multi-broker trên Docker

Giới thiệu Trong những năm gần đây, với sự bùng nổ của AI thì domain Big data, vốn đã rất phổ biến, cũng theo đó được quan tâm ngày càng nhiều hơn. Và trong những luồng Data streaming, ETL, v.v. thì có một thành phần trung chuyển không thể thiếu là Message queue. Message queue thì hiện có nhiều loại phổ biến và được dùng nhiều, tuy vậy, khi đề cập tới Big data, Apache Kafka được tin tưởng và sử... Chi tiết       

Phần 1: Laravel 11 có gì mới và những thứ hay ho với phiên bản mới ra mắt

overview - Đầu tiên thứ đập vào mắt của chúng ta là laravel có một khung giao diện vô cùng mới và cũng được tinh gọn hơn về mặt source code cũng như về cấu trúc dữ liệu trong dự án và tích hợp thêm một số công nghệ mới giúp tăng hiệu suất cho dự án của bạn. Không dài dòng liên thiên nữa bây giờ thì hãy cùng mình tìm hiểu nhé! Cấu trúc thư mục - Dưới đây là cấu trúc thư mục của laravel 11 sau kh... Chi tiết       

Chiến lược scale-out hiệu quả khi lượng truy cập gia tăng đột biến cho hệ thống Viblo

Bối cảnh Với sự gia tăng đột biến trong lượng người dùng và lưu lượng truy cập, duy trì hiệu suất và độ tin cậy của hệ thống trở thành một thách thức ngày càng lớn. Trong tình hình này, việc triển khai một chiến lược scale-out hiệu quả trở nên cực kỳ quan trọng để đảm bảo rằng Viblo có thể đáp ứng nhu cầu ngày càng tăng về khả năng mở rộng và xử lý tải. Đối mặt với sự gia tăng đột biến trong ... Chi tiết       

How to Write a Digital Marketplace Smart Contract on Algorand Using Python

Today, we will embark on a journey to create a smart contract for a digital marketplace on the Algorand blockchain, using the Python programming language and the Algokit tool. Introduction to Algokit Algokit is an all-in-one toolkit designed for decentralized application (dApp) development on the Algorand blockchain. Algokit provides a convenient programming environment, including localnet, v... Chi tiết       

Tạo một REST APIs bằng Java Spring Boot và sử dụng MySQL làm cơ sở dữ liệu

Bước 1: Chuẩn bị môi trường Cài đặt Java Development Kit (JDK). Cài đặt IntelliJ IDEA hoặc IDE Java khác (không bắt buộc nhưng được khuyến nghị). Cài đặt MySQL. Bước 2: Tạo dự án Spring Boot mới Bước này bạn có thể thực hiện bằng cách truy cập Spring Initializr hoặc sử dụng IntelliJ IDEA để tạo một dự án mới với Spring Initializr. Bước 3: Tạo model User Bước 4: Tạo UserRepository Bước 5: Tạo Co... Chi tiết       

Hướng dẫn tạo ec2 bằng cloudformation

1. Xác định Template CloudFormation Tạo một file JSON hoặc YAML chứa mô tả các tài nguyên bạn muốn tạo. Ví dụ, dưới đây là một template YAML đơn giản: Trong ví dụ trên: KeyName: Xác định tên của key pair mà bạn muốn sử dụng để truy cập vào instance EC2. Key pair cần phải được tạo trước khi tạo stack CloudFormation. SecurityGroups: Xác định một hoặc nhiều security groups áp dụng cho instance E... Chi tiết       

General knowledge in Cryptography - kiến thức tổng quan trong mật mã học (phần 2)

II. Một số kỹ thuật mã hóa cơ bản (tiếp) 3. Mã hóa Base64 Base64 là một dạng chương trình mã hóa thực hiện mã hóa đối tượng bằng cách sử dụng $6486$ bit, giúp giảm đi một phần không gian lưu trữ tài nguyên. Để mã hóa một đối tượng sang dạng Base64, chúng ta thực hiện các bước sau: - Bước $1$: Chuyển đối tượng sang dạng bit. - Bước $26$ ký tự. - Bước $3$: Chuyển từng nhóm tương ứng với một k... Chi tiết       

Sử dụng Github Action tiết kiệm hơn

Giới thiệu về Github Actions Trải qua hàng thập kỷ phát triển công nghệ, giới công nghệ đã chứng kiến sự bùng nổ của các công cụ, phương pháp mới nhằm tối ưu hóa quy trình phát triển phần mềm. Trong số những công cụ này, Github Actions nổi lên như một phương tiện mạnh mẽ để tự động hóa công việc, giảm thiểu tác động của con người trong quá trình phát triển và triển khai ứng dụng. Github Actio... Chi tiết       

Tổng quan về Vue3 cho người mới bắt đầu và ưu nhược điểm của Vue3 với dự án của bạn

I. Overview Một số tính năng mới cần chú ý trong Vue 3 - Composition API - Multiple root elements - Suspense - Multiple V-models - Better Reactivity - Teleport - Tuỳ chỉnh css với thành phần động 1. Composition API - Composition API cung cấp một cách trực quan hơn để quản lý reactivity trong application mà không ảnh hưởng tới tổ chức code và khả năng đọc hiểu. - Composition API cho phép ... Chi tiết       

Xây dựng REST API với NestJS và Prisma (Phần 1)

NestJS là một trong những framework Node.js nổi bật và nó đã nhận được rất nhiều sự yêu thích cũng như sức hút của các lập trình viên. NestJS giúp dễ dàng xây dựng các ứng dụng web hiện đại thường đòi hỏi việc tạo ra các REST API để tương tác với dữ liệu từ các máy chủ. Giới thiệu NestJS là một framework phát triển ứng dụng Node.js có cấu trúc, dựa trên các nguyên lý của Angular. Nó sử dụng T... Chi tiết       

Chính thức công bố toàn bộ thể lệ sự kiện May Fest 2024 | 01/05/2024 - 31/05/2024

Giới thiệu Chủ đề Viblo May Fest là sự kiện thường niên diễn ra vào tháng 5 hàng năm, là ngày hội để các thành viên chia sẻ, học tập kiến thức công nghệ. Năm 2024 đánh dấu mùa thứ 5 của lễ hội này, do đó Viblo đem đến những chuỗi thử thách công nghệ trên nhiều lĩnh vực, tạo cơ hội cho mọi người cùng tranh tài. Cùng Viblo năm thứ 5, cùng High Five! Thời gian 01/05/2024 - 31/05/2024 Landing pa... Chi tiết       

Tích hợp Lefthook - Tối ưu hóa quy trình phát triển phần mềm của bạn

1. Lời mở đầu Trong cuộc cách mạng số hóa hiện nay, quy trình phát triển phần mềm đang trở nên ngày càng phức tạp và đòi hỏi sự hiệu quả cao hơn từ các nhà phát triển. Để đáp ứng nhu cầu này, việc tự động hóa các quy trình trong phát triển phần mềm đã trở thành một yếu tố quan trọng không thể phủ nhận. Trong bài viết này, chúng ta sẽ đào sâu vào một công cụ quan trọng trong quy trình tự động ... Chi tiết       

Retrieval-Augmented Generation: Phương pháp không thể thiếu khi triển khai các dự án LLM trong thực tế! (Phần 1)

Như mọi người đã biết thì hiện tại LLM nó ở khắp mọi mặt trận rồi, nhà nhà LLM người người LLM. Các ứng dụng của LLM cũng ngày càng phổ biến hơn. Vậy nên, hôm nay mình sẽ giới thiệu cho mọi người một kỹ thuật có tên là Retrieval-Augmented Generation (RAG) một kỹ thuật cực kỳ quan trọng và phổ biến. Oke, vậy RAG là gì? Mà tại sao lại cần nó trong các dự án LLM thực tế? RAG là gì nhỉ? Về mặt bả... Chi tiết       

Xây dựng Micro-service với gRPC

Tiếp nối series về DDD, tôi xin phép được giới thiệu với bạn đọc một series nữa, lần này không phải về DDD mà là về Micro-service. Trong series này tôi muốn chia sẻ với bạn đọc cách xây dựng micro-service bằng giao thức gRPC thông qua một project nho nhỏ. Về cơ bản series sẽ gồm các bài viết như sau: Bài 1. Tổng quan về gRPC. Bài 2. Giới thiệu về cấu trúc project. Bài 3,4,5. Triển khai các ... Chi tiết       

Các kiểu dữ liệu trong java

Trong java có 2 kiểu dữ liệu: Nguyên thủy ( Primitive Types) và tham chiếu (Reference Types) Các kiểu dữ liệu nguyên thủy gồm: * boolean * char * byte ( byte lưu từ -128->127) * short * int * long * float * double Hừm, nhìn chung các kiểu dữ liệu này khá là quen thuộc với chúng ta, chỉ có 1 lưu ý như sau: float và double đều để lưu trữ giá trị thập phân, tuy nhiên float dùng 32 bít để lưu, d... Chi tiết       

Các Khái Niệm Cơ Bản Liên Quan Đến Viết Code và Build Phần Mềm

Trong quá trình học lập trình ở trường lớp và quá trình tự đọc tài liệu, chắc hẳn các bạn không ít lần bối rối vì không hiểu nhiều thuật ngữ. Ví dụ bạn không hiểu "code" với "source code" khác nhau chỗ nào, hoặc cảm thấy "toolchain" sao nó có vai trò giống "compiler", rồi đã có toolchain lại còn có SDK là gì nữa? Bài viết này sẽ giải thích cho các bạn biết một vài khái niệm cơ bản liên quan đ... Chi tiết       

Tại Sao Tui Yêu Visual Studio Code?

Đầu tiên, anh em lưu ý rằng Visual Studio Code (VSC) với Visual Studio (VS) là 2 application khác nhau nhé. Bài viết này nói về VSC. Lúc đầu mình thích VSC vì: - Đẹp ngầu - Miễn phí. Tuy nhiên lý do quan trọng níu chân mình gắn bó với VSC là sự tiện dụng, đa năng của nó. Trong công ty và trong công việc cá nhân, mình đều đang sử dụng VSC để xử lý nhiều vấn đề một cách dễ dàng nhanh chóng. S... Chi tiết       

1

Nếu bạn muốn được huấn luyện/Mentor/Coaching hoặc hợp tác với chuyên gia hàng đầu về lập trình ==>Hãy đăng ký bên dưới nhé!

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: