Thứ Năm, 18 tháng 8, 2005

CVS & Giao thức truyền dữ liệu & TC Plugins

1. Hệ thống CVS (Concurrent Version System) và FOSS
Một số tài liệu:
https://sourceforge.net/docman/display_doc.php?docid=14033&group_id=1
http://cvsbook.red-bean.com/
Một số khái niệm:
- Mỗi dự án ở sourceforge.net có một kho chứa
- Module : Một dự án bao gồm nhiều module khác nhau
- Checkout : Down một module về máy
- Diff : So sánh version ở client với máy chủ
- Commit : Cập nhật mới nhất của client lên máy chủ
Một số kiên thức:
- Khái niệm CVS gắn liền với FOSS, giúp nhóm lập trình dễ dàng theo dõi quá trình phát triển của một sản phẩm. Hôm trước tìm hiểu cũng thấy JBuilder đã hỗ trợ CVS
- Có lẽ một số lỗ hổng hacker phát hiện được là nhờ sục vào CVS của sản phẩm mà người dùng vẫn chưa cập nhật được do phiên bản stable chưa được chính thức tung ra
- Các phần mềm giao diện như : Tortoise, WinCVS, CygWin

2. Các giao thức truyền dữ liệu
Một số kiến thức suy gẫm được:
- Các giao thức như : FTP, CVS, HTTP... thực chất chỉ là một dịch vụ (chương trình) trên máy tính và các dịch vụ này lắng nghe theo các cổng khác nhau
- Cách cơ bản để giao tiếp với các dịch vụ là thông qua các tập lệnh command
- Dựa trên cấu trúc command, một số nhóm sẽ phát triển các chương trình đồ họa thuận tiện hơn cho người sử dụng
- Vấn đề tạo ra các dịch vụ gắn liền với môn Lập trình mạng, rất tiếc chưa học tới :)
-->> Có lẽ các suy nghĩ này cũng đúng đối với các hệ thống Windows, Java, SQL Server...

3. Total Commander và hệ thống Plug-ins
http://www.totalcmd.net/
http://www.ghisler.com/plugins.htm
Đến hôm nay mới biết được Total Commander cũng có Plugin mà toàn là những cái đáng giá. VD như cái hiển thi POP3, CVS, SSH... dưới dạng cây thư mục, rất thuận tiện.
Tìm hiểu thấy được cấu trúc của các plug-in như sau

Total Commander <-------DLL------> Plug-ins <-------FPT,CVS,HTTP-------> Server

Thấy thật tuyệt vời, hóa ra thế giới lập trình thật phong phú, tất cả đều có chuẩn của nó và gần như các chuẩn đều được thiết kế tối ưu :). Dựa trên góc nhìn này có thể phân loại được lập trình viên:
- Lập trình viên hệ thống : Có thể hiểu là dùng C chủ yếu (khó diễn tả khái niệm này quá)
- Lập trình viên ứng dụng : Có thể hiểu là dùng PHP, Java, .NET...

0 nhận xét:

Đăng nhận xét

Facebook Twitter Hot! Delicious Digg Favorites More