🏠 Trang chủ
Benchmark
📊 Tất cả benchmark 🦖 Khủng long v1 🦖 Khủng long v2 ✅ Ứng dụng To-Do List 🎨 Trang tự do sáng tạo 🎯 FSACB - Trình diễn cuối cùng 🌍 Benchmark dịch thuật
Mô hình
🏆 Top 10 mô hình 🆓 Mô hình miễn phí 📋 Tất cả mô hình ⚙️ Kilo Code
Tài nguyên
💬 Thư viện prompt 📖 Thuật ngữ AI 🔗 Liên kết hữu ích
← Quay lại danh mục
advanced

Tối ưu hóa và tái cấu trúc mã nguồn Legacy

#refactoring #clean-code #architecture

Phân tích mã nguồn cũ, phát hiện vấn đề và viết lại theo chuẩn hiện đại.

Hãy đóng vai kiến trúc sư phần mềm cấp cao. Phân tích đoạn mã nguồn sau đây, xác định các vấn đề về hiệu năng, độ耦 kết (coupling) cao và khả năng bảo trì kém. Sau đó, đề xuất và triển khai giải pháp tái cấu trúc mã nguồn áp dụng các mẫu thiết kế (Design Patterns) phù hợp và nguyên tắc SOLID để đảm bảo tính mở rộng và dễ kiểm thử. Giải thích chi tiết lý do cho từng thay đổi bạn thực hiện.
advanced

Thiết kế hệ thống phân tán chịu tải cao

#system-design #distributed-systems #scalability

Lên kiến trúc cho hệ thống quy mô lớn với yêu cầu về độ sẵn sàng và phân tán dữ liệu.

Thiết kế kiến trúc Backend cho một nền tảng mạng xã hội quy mô lớn cần hỗ trợ 50 triệu người dùng hoạt động đồng thời với độ trễ thấp (low latency). Tập trung vào chiến lược Sharding cơ sở dữ liệu, việc sử dụng Caching hàng đầu (Redis Cluster), Message Queues (Kafka) để xử lý bất đồng bộ, và cơ chế Consistency hashing. Hãy cung cấp sơ đồ khối (block diagram) bằng văn bản mô tả luồng dữ liệu và giải thích các đánh đổi (trade-offs) trong việc lựa chọn giữa CP và AP theo định lý CAP.
advanced

Ghi Macro để tái cấu trúc code

#macro #refactoring #automation

Ghi một macro phức tạp để tự động hóa việc thay đổi định danh biến và cập nhật các tham chiếu trong toàn bộ tệp.

Ghi một macro vào thanh đăng ký 'q' để tìm từ đầu tiên trên mỗi dòng (ví dụ: tên biến cũ), thay thế nó bằng một tên mới có quy tắc đặt tên (camelCase), sau đó chuyển xuống dòng tiếp theo và lặp lại quá trình cho 20 dòng tiếp theo. Đảm bảo macro có thể xử lý các dòng trống hoặc dòng comment bằng cách bỏ qua chúng.
advanced

Sử dụng lệnh toàn cục để xóa và thêm

#global-command #regex #bulk-edit

Thực hiện thao tác chỉnh sửa hàng loạt trên nhiều dòng không liên tiếp bằng lệnh :g.

Sử dụng lệnh :g (global) để tìm tất cả các dòng chứa chuỗi 'TODO' và xóa chúng. Ngay sau đó, hãy sử dụng lệnh :g để tìm tất cả các dòng kết thúc bằng dấu chấm phẩy ';' và thêm chuỗi '// processed' vào cuối các dòng đó mà không ảnh hưởng đến nội dung gốc trước dấu chấm phẩy.
advanced

Tính toán cột trong chế độ Visual Block

#visual-block #columns #increment

Sử dụng chế độ khối trực quan để chèn số thứ tự tăng dần hoặc thực hiện phép tính trên cột dữ liệu.

Hãy tưởng tượng bạn có một danh sách 10 dòng chưa có số thứ tự. Sử dụng chế độ Visual Block (Ctrl-v) để chèn một cột số thứ tự ở đầu mỗi dòng, bắt đầu từ 1 và tăng dần lên đến 10. Sau đó, sử dụng lại Visual Block để tăng thêm 100 đơn vị vào mỗi số trong cột đó mà không cần nhập lại từng số.
advanced

Thay thế Regex sử dụng Lookahead

#regex #substitution #lookahead

Thực hiện tìm và thay thế nâng cao sử dụng biểu thức chính quy nhìn trước (lookahead) để định dạng lại văn bản.

Tìm tất cả các từ có 3 chữ cái theo sau bởi một khoảng trắng và một chữ số (ví dụ: 'abc 123'), sau đó thay thế toàn bộ chuỗi bằng chính từ đó nhưng được viết hoa và chữ số được nhân đôi (ví dụ: 'ABC 246'). Sử dụng các nhóm bắt giữ (capture groups) và thay thế thông minh.
advanced

Xử lý nhiều thanh đăng ký

#registers #copy-paste #memory

Sao chép, cắt và dán dữ liệu giữa các thanh đăng ký có tên khác nhau để ghép dữ liệu phức tạp.

Sao chép từ đầu tiên của dòng 1 vào thanh đăng ký 'a'. Sao chép từ cuối cùng của dòng 5 vào thanh đăng ký 'b'. Di chuyển đến dòng 10 và dán nội dung của thanh đăng ký 'a', sau đó thêm dấu gạch ngang '-', và cuối cùng dán nội dung của thanh đăng ký 'b' trên cùng một dòng.
beginner

Di chuyển con trỏ cơ bản

#vi #linux #navigation

Tìm hiểu cách di chuyển con trỏ trong trình soạn thảo vi mà không cần chuột.

Mở một tệp tin bằng lệnh 'vi ten_file.txt'. Trong chế độ lệnh (mặc định), hãy thực hành di chuyển con trỏ bằng các phím: l để sang phải, h để sang trái, j để xuống dòng và k để lên dòng.
beginner

Chuyển sang chế độ chèn văn bản

#vi #editing #insert-mode

Cách chuyển đổi từ chế độ lệnh sang chế độ chèn để soạn thảo.

Để bắt đầu gõ văn bản, nhấn phím 'i' để chèn văn bản trước con trỏ hoặc 'a' để chèn sau con trỏ. Sau khi nhập xong nội dung, hãy nhấn phím Esc để quay lại chế độ lệnh.
beginner

Lưu và thoát tệp tin

#vi #file-management #basics

Tìm hiểu các lệnh cơ bản để lưu công việc và đóng vi.

Để lưu thay đổi, gõ ':w' và nhấn Enter. Để thoát không lưu, gõ ':q!'. Để vừa lưu vừa thoát cùng lúc, hãy gõ ':wq' và nhấn Enter.
beginner

Xóa ký tự đơn lẻ

#vi #deleting #editing

Cách xóa các ký tự thừa trong văn bản bằng phím tắt.

Di chuyển con trỏ đến ký tự bạn muốn xóa. Đảm bảo bạn đang ở chế độ lệnh (nhấn Esc nếu cần), sau đó nhấn phím 'x' để xóa ký tự tại vị trí con trỏ.
advanced

Chuyển đổi dữ liệu bằng Macro

#vim #macro #automation #text-editing

Thực hiện ghi macro và áp dụng lặp lại để định dạng danh sách dữ liệu thô.

Bạn có một danh sách dữ liệu thô với định dạng 'ten, tuoi, dia_chi' trên mỗi dòng. Hãy ghi lại một macro (bắt đầu bằng qa) để chuyển đổi dòng đầu tiên thành định dạng JSON object: {"ten": "...", "tuoi": "...", "dia_chi": "..."}. Sau đó, dừng ghi macro và áp dụng macro này cho 20 dòng tiếp theo trong tệp bằng cách sử dụng lệnh lặp lại phù hợp.
advanced

Regex chuyển đổi CamelCase sang Snake_case

#vim #regex #substitution #pattern-matching

Sử dụng biểu thức chính quy nâng cao để thay đổi quy tắc đặt tên biến.

Trong tệp hiện tại chứa nhiều biến viết theo kiểu CamelCase (ví dụ: 'bienMauNangCao'), hãy sử dụng lệnh :substitute để chuyển đổi tất cả chúng sang kiểu snake_case (ví dụ: 'bien_mau_nang_cao'). Yêu cầu phải sử dụng nhóm bắt (capture groups) để xác định các chữ cái viết hoa và xử lý vị trí của dấu gạch dưới chính xác.
intermediate

Triết lý của Chỉnh sửa theo Chế độ (Modal Editing)

#vim #philosophy #interface

Phân tích lý thuyết về sự tách biệt giữa chế độ chèn và chế độ lệnh.

Giải thích khái niệm cốt lõi của 'modal editing' và tại sao việc tách biệt hành động 'nhập văn bản' và 'thao tác trên văn bản' lại dẫn đến hiệu quả cao hơn về mặt lý thuyết so với các trình soạn thảo modeless. Hãy thảo luận về việc giảm tải cho các ngón tay và tối ưu hóa sự phối hợp bàn phím.
advanced

Ngữ pháp của Đối tượng Văn bản (Text Objects)

#vim #grammar #structure

Hiểu cấu trúc ngữ pháp của các lệnh vận hành trên vùng văn bản.

Vim coi văn bản như một cấu trúc ngữ pháp có thể thao tác. Mô tả cách các động từ (verbs/commands như d, c, y), danh từ (nouns/text objects như w, p, ") và giới từ (prepositions/motions như f, t) kết hợp lại. Phân tích sự khác biệt về mặt logic giữa 'inner' (bên trong) và 'around' (bao quanh).