Git – Tận dụng GitHub

GitHub được biết đến là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm. Ngoài ra, GitHub còn có rất nhiều tính năng khác và nếu biết tận dụng GitHub một cách triệt để, nó có thể giúp bạn tiến thêm một bước rất dài trong sự nghiệp của mình.

Dưới đây là một số chức năng cơ bản mà mình nghĩ ai cũng nên sử dụng.

Kho lưu trữ miễn phí

GitHub hiện đang cung cấp dịch vụ với 3 gói chính, bạn có thể tham khảo bảng giá của GitHub trên website hoặc ảnh dưới đây.

Chúng ta có thể thấy, họ cung cấp 1 gói miễn phí và không giới hạn số lượng Repository. Người dùng cá nhân cá nhân với các dự án nho nhỏ, thì còn gì tuyệt vời hơn đúng không 😀

Nếu bạn chưa có tài khoản GitHub hãy nhanh tay đăng ký liền nhé. Trong bài kế tiếp, mình sẽ trình bày về một số kịch bản cơ bản mà mỗi lập trình viên đều có thể sử dụng với GitHub.

Kho mã nguồn mở khổng lồ

Các Repositories tại GitHub có 2 trạng thái là public và private. Nếu bạn setup là public thì ai cũng có thể thấy được nó và ngược lại. Trước GitHub cũng đã có nhiều dịch vụ cung cấp kho chứa (Repository) miễn phí. Nhưng có lẽ, tới khi GitHub làm điều này thì họ đã góp phần thúc đẩy phong trào “Mã nguồn mở” (Open Source) trên toàn thế giới.

[Phần mềm] mã nguồn mở là các dự án phần mềm được công khai mã nguồn dưới [một số] giấy phép (license) mã nguồn mở. Thông qua các giấy phép này, các bạn có thể tự do download, sử dụng, chỉnh sửa và phát hành lại (tùy theo một số giấy phép cụ thể, các quyền hạn sẽ được ghi rõ).

Vậy thông qua các public repository này, chúng ta có thể làm gì?

Học tập cách viết code

Trong vô vàn các kho chứa công khai (public repository) này, có những repo đạt hàng chục ngàn sao (stars, giống như likes của các mạng xã hội khác). Các bạn có thể truy cập, mở các file mã nguồn lên, một số sẽ rất phức tạp, đòi hỏi bạn phải có kiến thức chuyên môn sâu (ví dụ: các thư viện mã hóa, blockchain…vv). Nhưng cũng có 1 số thư viện rất cơ bản, các bạn có thể hiểu rõ được logic của mã nguồn ngay.

Những repo có hàng ngàn sao chắc chắn rất tốt và do những lập trình viên hàng đầu thế giới tạo nên, các bạn có thể học được rất nhiều từ họ. Từ cách viết code, đặt tên biến, hàm, lớp…vv Cho đến những thứ tưởng chừng đơn giản như câu lệnh if-else, vòng lặp for, while… hay thậm chí những phương pháp tiên tiến của công nghệ phần mềm (design patterns, solid code…).

Khám phá công nghệ

Những lúc rảnh, mình thường dạo quanh mục Trending của GitHub để xem trong những ngày (tuần hoặc tháng) qua, cũng những repo nào đang nhận được sự quan tâm từ cộng đồng, mình có cần đến nó không?

Khi gặp những thứ hay ho có thể mình sẽ cần trong tương lại, mình sẽ bookmark nó lại. Một vài repo đã rất có ích cho công việc của mình sau đó.

Giải ngố

Bên cạnh các repo là mã nguồn của các phần mềm, chúng ta còn rất nhiều repo hay ho khác mà các bạn có thể dùng để giải ngố, dưới đây là một vài ví dụ:

  • Ebooks: là một repo lưu trữ, chia sẻ thông tin về các ebook, khóa học (course) và một số tài nguyên miễn phí
  • Awesome Mac: là một repo lưu trữ các thông tin về phần mềm, thủ thuật cho hệ điều hành MacOS
  • Awesome PHP: là một repo lưu trữ rất nhiều thứ hay ho xịn xò về ngôn ngữ PHP

Tương tự như vậy, khi các bạn quan tâm đến một ngôn ngữ, framework nào đó các bạn có thể search thử: “Awesome XXX”, sẽ xuất hiện các repo tương ứng, lưu trữ và chia sẻ những thông tin rất bổ ích về lĩnh vực đó.

Ngoài ra, các bạn cũng có thể tìm thêm các câu hỏi đi phỏng vấn (lập trình viên, tester, network…) để bổ sung thêm kiến thức cho mình. Hay đơn giản hơn là các repo về bài tập lập trình đi kèm lời giải 🙂

Rất nhiều thứ hay ho nằm trên GitHub, để chạy kịp với sự phát triển của công nghệ, các bạn hãy tận dụng GitHub thật tốt nha.