Trong Java có 2 kiểu ngoại lệ đó là Ngoại lệ không được kiểm tra và Ngoại lệ được kiểm tra
-Từ "kiểm tra" ở đây có nghĩa ai kiểm tra? kiểm tra như nào ? Thì chính thằng trình biên dịch sẽ kiểm tra và kiểm tra là bạn đã có đoạn code xử lí lỗi (try-catch) cho các ngoại lệ được kiểm tra hay chưa , nghe cấn nhỉ nhưng hãy thử nhớ lại xem đôi khi bạn làm 1 tác vụ nào đó : ví dụ chuỗi hóa đối t...
Chi tiết
Chuyện là hôm vừa rồi rảnh rỗi thế là ngồi review lại các dự án mình đang join thì mình "bắt quả tang" một thói quen rất phổ biến mà chắc hẳn nhiều anh em dev (thú thật là tính cả mình ngày xưa 😅) đều từng mắc phải: Nối chuỗi bằng toán tử += trong vòng lặp. Ví dụ bài toán đơn giản thế này: Có một List khoảng 500 cái tên, nhiệm vụ là nối chúng lại thành một chuỗi. Thói quen thường thấy là: fore... Chi tiết
Parquet & Appache Arrow - Cặp đôi hoàn hảo? Chúng ta thường hay nghĩ đến các tệp tin kiểu CSV để chứa dữ liệu phục vụ phân tích, tuy nhiên, với sự ra đời của tệp tin kiểu parquet vào năm 2013 và đặc biệt hơn nữa khi kết hợp nó với cơ chế Lazy trong polars thì có lẽ đây là một cặp đôi hoàn hảo. Tại sao lại nói vậy? Rất đơn giản, parquet tối ưu cho lưu trữ dữ liệu khi không dùng và Apache Arrow đ... Chi tiết
Mỗi vài năm, cộng đồng lại chọn một "nạn nhân" để tuyên bố "X đã chết". Java đã có lượt, PHP cũng vậy, và giờ đến lượt Python bị réo tên. Sự thật? Python không hề chết. Thực tế, ở một số lĩnh vực quan trọng, Python còn mạnh hơn bao giờ hết. Câu hỏi đúng cho năm 2026 không phải "Python có chết không?" mà là "Python nên có vai trò gì trong bộ kỹ năng của tôi?". Tại sao có người nói "Python đang... Chi tiết
The Fourth Industrial Revolution is transforming traditional manufacturing into fully connected, data-driven smart factories. At the core of this transformation is the ability to collect, analyze, and act on machine and process data in real time. Achieving this level of automation requires reliable, high-speed, and secure connectivity for all devices on the factory floor. By integrating Raspbe... Chi tiết
Vấn Đề: Database Lớn & JPA Working với Spring Data JPA rất "mượt"... cho đến ngày bảng data của bạn từ 20.000 bản ghi nhảy phát lên 10–12 triệu, và app bắt đầu lag như mở Chrome với 200 tab. Vấn đề lớn nhất của JPA là nó rất tham ăn: bạn gọi findAll() là nó cố nuốt hết mọi thứ vào RAM, nhét tất cả entity vào List, rồi giữ nguyên cả đống đó trong persistence context. Khi số bản ghi tăng lên v... Chi tiết
Là một người đam mê các công cụ (tool enthusiast), tôi đã dành vô số thời gian để săn lùng những phần mềm có thể giúp tiết kiệm từng giây trong công việc hoặc khơi dậy những ý tưởng mới. Hôm nay, tôi xin chia sẻ 6 công cụ tuyệt vời—từ môi trường lập trình mạnh mẽ đến các tiện ích thiết kế đầy tính thẩm mỹ—xứng đáng có một vị trí trong bộ công cụ kỹ thuật số của bạn. Hãy cùng khám phá nhé. 🛠 D... Chi tiết
Disable IPv6 Flow 1. GRUB đọc cấu hình từ /boot/grub/grub.conf (được cập nhật từ /etc/default/grub). 2. Kernel linux được tải vào bộ nhớ và khởi tạo, nó đọc các tham số từ kernel command line. Kernel thấy ipv6.disable=1 sẽ bỏ qua việc khởi tạo và cấu hình các module hoặc stack liên quan đến IPv6. 3. Sau khi kernel được khởi tạo, trước khi dịch vụ mạng được cấu hình. 4. Ipv6 stack có thể được ... Chi tiết
Reference : https://medium.com/@mukesh.ram/securing-a-mean-stack-app-a-guide-to-https-cors-and-helmet-js-1e77381c6617 Introduction Security is like oxygen, nobody notices until it’s gone. If you run a product on the web, you’re operating in the world’s busiest neighborhood. Your users cut through with coffee in one hand and a stolen credential in the other, sometimes theirs, sometimes yours. ... Chi tiết
Tại sao chúng ta lại dùng GPU để huấn luyện mô hình học máy? GPU thì luôn có bộ nhớ giới hạn, cụ thể là giới hạn như thế nào đối với các nhiệm vụ liên quan đến học máy? Hãy cùng RustDEV Vietnam dùng thư viện Candle của HuggingFace thử nghiệm và tìm hiểu về những câu hỏi này dưới góc nhìn của một lập trình viên. Trước hết, bên cạnh việc tương thích và tối ưu với “CUDA Kernel”, cũng phải nói rằn... Chi tiết
Là một lập trình viên đã làm việc nhiều năm, tôi thường được hỏi: "Làm sao để bắt đầu học lập trình khi chưa có kinh nghiệm gì?" Câu trả lời của tôi luôn là: Học đúng thứ tự, chọn đúng công cụ, và tận dụng AI. Năm 2025, AI có thể tăng hiệu quả học tập lên 5-10 lần. Điều này hoàn toàn đúng. Nhưng AI không phải là phép màu. Nó không thể biến một người không có nền tảng thành lập trình viên chỉ ... Chi tiết
Trong các dự án AI Agent, dữ liệu không chỉ “nhiều”, mà còn “phân tán” và “không đồng nhất”. Việc gom dữ liệu từ cơ sở dữ liệu, API, file tài liệu cho đến các dịch vụ SaaS về một pipeline thống nhất là yêu cầu cơ bản để xây dựng hệ thống thông minh, đặc biệt trong các ứng dụng Retrieval-Augmented Generation (RAG). Một quy trình đồng bộ hóa dữ liệu bài bản giúp kiểm soát chất lượng, đảm bảo đầu ... Chi tiết
Trong bất kỳ hệ thống AI Agent nào, chất lượng dữ liệu đầu vào luôn là biến số ảnh hưởng mạnh nhất đến độ chính xác của mô hình. Dữ liệu thô khi thu thập từ nhiều nguồn thường chứa nhiễu, ký tự không hợp lệ, định dạng thiếu nhất quán hoặc xen lẫn nội dung không liên quan. Bài viết dưới đây trình bày quy trình chuẩn hóa dữ liệu theo hướng kỹ thuật, kèm theo các đoạn mã Python có thể tích hợp trự... Chi tiết
Trong các pipeline xử lý ngôn ngữ tự nhiên và ứng dụng AI Agent, việc chia nhỏ văn bản thành các đơn vị có kích thước ổn định là một bước bắt buộc trước khi đưa vào LLM. Một trong những kỹ thuật được sử dụng rộng rãi là Token-Based Chunking, vốn cắt văn bản dựa trên số token thay vì ký tự hoặc câu. Phương pháp này đặc biệt phù hợp khi cần kiểm soát chặt chẽ dung lượng input và đảm bảo tương thí... Chi tiết
Google has just kicked off the Gemini 3 era by releasing Gemini 3 Pro in preview, and the initial signals are unambiguous: this is a major step forward in multimodal reasoning, coding agents, and long-context understanding. The model is positioned as Google’s most capable reasoning and multimodal model yet, optimized for agentic workflows, coding, long-context tasks and multimodal understanding... Chi tiết
Hiện nay, hầu hết các hệ thống phần mềm đều có phiên bản Web. Từ hệ thống ngân hàng, thương mại điện tử, đặt vé máy bay, quản lý doanh nghiệp… tất cả đều có giao diện Web. Vì vậy, nếu bạn làm Automation Testing, Web chính là trái tim. Selenium chính là công cụ phổ biến nhất, được sử dụng rộng rãi nhất để tự động hóa test trên Web. Nếu bạn đang bắt đầu học automation hoặc muốn nâng cao kỹ năng, ... Chi tiết
Nếu bạn là lập trình viên, kỹ sư dữ liệu, hay đơn giản là người tò mò về cách các hệ thống khổng lồ như Google, Facebook, hay các ứng dụng ngân hàng hoạt động, bạn chắc chắn đã từng nghe đến "ACID" và "BASE". Khi thiết kế bất kỳ hệ thống nào, chúng ta đều đứng trước một ngã ba đường cơ bản: Bạn muốn hệ thống của mình "Chắc chắn" (như một ngân hàng, không bao giờ được sai một đồng) hay bạn muốn... Chi tiết
Định tuyến là quá trình xác định đường đi tốt nhất cho các gói dữ liệu đi theo để đến đích dự định của chúng trên các mạng khác nhau. Định tuyến xảy ra trong các thiết bị hoạt động ở Lớp 3 của mô hình OSI. Các thiết bị này bao gồm bộ định tuyến, bộ chuyển mạch Lớp 3, tường lửa và điểm truy cập không dây, v.v. Router Router (thiết bị định tuyến hoặc bộ định tuyến) là thiết bị mạng dùng để chuy... Chi tiết
Trong bài viết trước, chúng ta đã mổ xẻ "thể xác" của máy tính thông qua Kiến trúc Von Neumann và hiểu được tại sao tư duy đơn luồng lại ăn sâu vào tiềm thức của lập trình viên đến vậy. Nhưng một thể xác dù hoàn hảo đến đâu, nếu thiếu đi nhịp tim, nó cũng chỉ là một cỗ máy chết. Trong thế giới phần mềm, nhịp tim đó chính là Runtime Loop (Vòng lặp thực thi). Đây là cơ chế tối thượng biến những... Chi tiết
Trong thời đại IDE đầy rẫy plugin thông minh, chúng ta – những lập trình viên – vẫn phải sống chung với terminal mỗi ngày. Sau vài ba năm, ai cũng có vài cú “đi vào lòng đất” và vài mẹo nhỏ giúp hiệu suất tăng vọt. Bài này không nhắc lại mấy thứ cơ bản kiểu ls -la hay cd .., mà chia sẻ 10 mẹo thực chiến thực sự thay đổi workflow của mình – đủ để khiến đồng nghiệp bên cạnh phải ngoái đầu: “Ông ... Chi tiết
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é!