#replace
#substitution
Thay thế một từ cũ bằng từ mới trong toàn bộ tệp hoặc trong dòng hiện tại.
Để thay thế từ 'cu' bằng từ 'moi' trong toàn bộ tệp, hãy nhấn ':' rồi nhập '%s/cu/moi/g' và nhấn Enter. Để thay thế chỉ trong dòng hiện tại, hãy nhập ':s/cu/moi/g' và nhấn Enter.
#vim
#lưu file
#thoát
Cách lưu thay đổi hoặc thoát không lưu trong trình soạn thảo Vim.
Hãy liệt kê các lệnh cần thiết để lưu file hiện tại, thoát khỏi trình soạn thảo, và thoát cưỡng bức mà không lưu thay đổi. Giải thích ngắn gọn chức năng của từng lệnh.
#vim
#di chuyển
#dòng
Hướng dẫn cách nhảy nhanh đến một dòng bất kỳ trong văn bản.
Giải thích cách đưa con trỏ đến dòng thứ 50 trong file bằng lệnh chế độ dòng lệnh và cách di chuyển đến dòng đầu tiên hoặc dòng cuối cùng của file.
#vim
#xóa
#chỉnh sửa
Các lệnh xóa văn bản cơ bản trong Vim.
Mô tả cách xóa dòng hiện tại, xóa 5 dòng tính từ con trỏ, và xóa một từ nằm dưới con trỏ. Cung cấp phím tắt tương ứng cho từng thao tác.
#vim
#tìm kiếm
#thay thế
Thực hiện thay thế chuỗi ký tự trong toàn bộ file văn bản.
Viết lệnh để thay thế mọi xuất hiện của từ 'cuối' thành 'cuối cùng' trong toàn bộ tài liệu. Hãy giải thích rõ từng thành phần trong cú pháp lệnh đó.
#vim
#visual mode
#chọn văn bản
Cách chọn và thao tác trên các khối văn bản.
Hãy hướng dẫn cách vào chế độ Visual để chọn một đoạn văn bản nhiều dòng, sau đó sao chép đoạn đó và dán vào một vị trí khác trong file.
#kể chuyện
#bí ẩn
#sáng tạo
Viết một câu chuyện ngắn về việc tìm thấy một vật phẩm bí ẩn trong một cuốn sách cũ.
Hãy viết một câu chuyện ngắn (khoảng 300 từ) về một nhân vật tình cờ phát hiện một chiếc chìa khóa cổ xưa nằm gọn giữa các trang sách trong một thư viện bỏ hoang. Chiếc chìa khóa này mở ra cánh cửa nào
#navigation
#basics
Hướng dẫn cách di chuyển con trỏ trong chế độ bình thường mà không cần dùng phím mũi tên.
Hãy mô tả cách sử dụng các phím h, j, k, l để di chuyển con trỏ sang trái, xuống, lên và sang phải trong trình chỉnh sửa vi. Giải thích thêm cách di chuyển đến đầu dòng bằng phím 0 và cuối dòng bằng phím $.
#editing
#modes
Cách nhập văn bản mới vào tệp tin tại các vị trí khác nhau.
Giải thích sự khác biệt giữa các lệnh i, a, I, và A trong vi. Hãy cung cấp ví dụ về thời điểm sử dụng từng lệnh để chèn văn bản trước hoặc sau con trỏ, hoặc ở đầu/cuối dòng hiện tại.
#editing
#deletion
Cách sử dụng các lệnh xóa trong chế độ bình thường.
Mô tả cách sử dụng phím x để xóa một ký tự và phím dd để xóa cả dòng nơi con trỏ đang đứng. Ngoài ra, hãy giải thích cách xóa một từ cụ thể hoặc xóa từ con trỏ đến cuối dòng bằng phím D.
#file-operations
#basics
Các lệnh cần thiết để đóng tệp tin một cách an toàn.
Cung cấp các bước để lưu tệp tin mà không thoát, và các bước để lưu rồi thoát ngay lập tức. Cũng hãy giải thích cách thoát mà không lưu các thay đổi nếu cần thiết.
#editing
#productivity
Sử dụng các lệnh yank và put để quản lý nội dung.
Hãy giải thích cú pháp để sao chép (yank) 5 dòng và dán chúng vào một vị trí khác trong tệp tin. Mô tả sự khác biệt giữa lệnh p (dán sau con trỏ) và lệnh P (dán trước con trỏ).
#thơ
#văn học
#mùa thu
Thử thách viết một bài thơ thất ngôn bát cú theo chủ đề mùa thu.
Hãy sáng tác một bài thơ Thất ngôn bát cú miêu tả khung cảnh bình yên của một buổi chiều mùa thu ở vùng quê miền Bắc. Bài thơ cần
#system-design
#microservices
#scalability
#backend
Thiết kế kiến trúc hệ thống phân tán cho nền tảng thương mại điện tử quy mô lớn với yêu cầu cao về khả năng mở rộng.
Hãy đóng vai một Kiến trúc sư Giải pháp Cao cấp. Thiết kế một kiến trúc hệ thống Microservices cho một nền tảng thương mại điện tử lớn xử lý 1 triệu yêu cầu mỗi ngày. Yêu cầu: 1. Phân tách các domain bounded contexts (Sản phẩm, Đơn hàng, Người dùng, Thanh toán). 2. Mô tả cơ chế giao tiếp giữa các dịch vụ (Synchronous vs Asynchronous) và lý do chọn lựa. 3. Đề xuất chiến lược quản lý dữ liệu (Database per Service pattern) và cách xử lý giao dịch phân tán (Distributed Transactions). 4. Thiết kế chiến lược xử lý lỗi và fault tolerance (Circuit Breaker, Retry).
#refactoring
#clean-code
#solid
#oop
Phân tích và tái cấu trúc một đoạn mã hướng đối tượng phức tạp để tuân thủ các nguyên tắc SOLID.
Dưới đây là một lớp (class) giả định handling việc xử lý đơn hàng bao gồm kiểm tra tồn kho, tính giá, gửi email xác nhận và ghi log. Hãy phân tích các vi phạm nguyên tắc SOLID trong đoạn mã này (giả định hoặc mã do bạn tạo ra). Sau đó, hãy viết lại mã đó bằng cách áp dụng Dependency Injection, Interface Segregation và Single Responsibility Principle. Giải thích rõ ràng từng bước thay đổi và lợi ích của nó đối với khả năng bảo trì (maintainability) và kiểm thử (testability).