5 điểm bởi kodingwarrior 2025-04-08 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Tổng quan bài viết

    • Giới thiệu nhiều mẹo khác nhau để tự động hóa công cụ CLI bằng cách kết hợp Ruby vào script Bash.
    • Dù có thể dùng các ngôn ngữ scripting khác, bài viết nhấn mạnh tính dễ đọc và linh hoạt của Ruby.
  • Vì sao dùng Ruby thay cho Bash?

    • Ruby cung cấp các kiểu dữ liệu rõ ràng (số nguyên, số thực dấu phẩy động, chuỗi, mảng, hash, v.v.), giúp mã nguồn dễ đọc hơn.
    • Với người dùng macOS, nếu đã cài homebrew thì Ruby đi kèm mặc định mang lại tính ứng dụng cao.
    • Ruby được tận dụng rất hữu ích trong các script build/tự động hóa như CocoaPod, Fastlane, v.v.
    • Có thể xử lý dễ dàng nhiều định dạng dữ liệu như JSON, CSV, YAML nhờ thư viện tích hợp sẵn.
  • Viết script Ruby One-Liner

    • Script một dòng có thể chạy theo dạng ruby -e "<expression>".
    • Có thể dùng pipe và redirect để nhận rồi xử lý kết quả từ các công cụ CLI khác.
    • Tùy chọn -r cho phép nạp trước các thư viện cần thiết để mở rộng tính năng.
  • Thử kết hợp với các công cụ CLI khác

    • Khi kết hợp Ruby với AWS CLI, Git, GitHub CLI, jq, curl, v.v., có thể tối đa hóa thế mạnh của từng công cụ đơn chức năng.
    • Ví dụ xử lý dữ liệu JSON:
      • Gọi API bằng curl, sau đó parse dữ liệu bằng thư viện JSON của Ruby và in ra trường cụ thể (ví dụ: title).
    • Ví dụ xử lý dữ liệu YAML:
      • Đọc file bằng cat config.yaml, sau đó parse bằng thư viện YAML của Ruby để trích xuất giá trị cấu hình cụ thể.
    • Có thể hậu xử lý thêm kết quả từ công cụ CLI bằng Ruby để xây dựng workflow tự động hóa linh hoạt hơn.
  • Xử lý dữ liệu phi cấu trúc (ví dụ Git Log)

    • Không phải mọi dữ liệu đều có cấu trúc như JSON/CSV/YAML.
    • Với biểu thức chính quy và khả năng xử lý văn bản của Ruby, có thể đọc log, thông điệp hệ thống, v.v. theo từng dòng để trích xuất thông tin cần thiết.
    • Ví dụ script Git Log:
      • Trích xuất log commit một dòng bằng git log --oneline #{file}.
      • Dùng gum choose --limit 100 để chọn tương tác log mong muốn.
      • Trích xuất hash commit từ từng log đã chọn rồi dùng git show để in chi tiết thay đổi.
      • Cuối cùng, tái cấu trúc các log đã chọn và in ra dưới dạng checklist.
  • Lời kết

    • Khi kết hợp công cụ CLI với script Ruby, bạn có thể tạo ra các công cụ tự động hóa mạnh mẽ chỉ bằng những tổ hợp lệnh đơn giản.
    • Có thể tự động hóa hiệu quả các tác vụ xử lý dữ liệu phức tạp, phân tích log và quản lý phiên bản để tối đa hóa năng suất.
    • Một khởi đầu nhỏ có thể tạo ra thay đổi lớn, và bài viết khuyến khích bạn bắt đầu dự án phụ của riêng mình.
    • Ngoài ra, Perl cũng hữu ích, và các tài liệu như Perl One-Liners Guide có thể giúp ích.

Chưa có bình luận nào.

Chưa có bình luận nào.