TẠI SAO CÁC DEVELOPER NÊN HỌC COMMAND LINE

1301

Có nhiều lập trình viên phải rùng mình khi nghĩ tới chuyện phải mở Terminal, một cảm giác không hề dễ chịu chút nào. Tuy nhiên, những nhà phát triển thành thạo command line đều tin rằng nó chính là công cụ tốt nhất cho công việc của bạn.

Về việc command line cần thiết như thế nào trong lập trình? Cá nhân tôi nghĩ rằng nó là điều bắt buộc phải có nếu bạn muốn thành công trong lĩnh vực frontend lẫn backend. Command line đã trở thành lưỡi dao đa năng của quân đội Thụy Sĩ dưới những mệnh lệnh đơn giản. Nếu bạn dành thời gian để học các câu lệnh này bạn sẽ phải ngạc nhiên về sức mạnh từ cái hình chữ nhật màu đen nho nhỏ với con trỏ màu trắng đang nhấp nháy.

Bạn sẽ có nhiều quyền kiểm soát hơn về chức năng của hệ thống.

Có lẽ lý do rõ ràng nhất để học command line chính là tính năng chính của nó: quyền kiểm soát rộng hơn. Có những lệnh chỉ có thể truy cập thông qua shell những lệnh này có thể kiểm soát những hoạt động phức tạp trên những thiết bị chạy Unix/Linux và cả Windows.

Những lệnh cơ bản có thể dính tới việc thay đổi permission trên một file nhất định hoặc tìm kiếm các thư mục bị ẩn. Những ví dụ phức tạp hơn có thể dính tới việc quản trị server cho các server được thiết lập dưới dạng local như Apache/MySQL.

Chí ít việc tìm hiểu các khả năng của shell cũng có thể giúp chúng ta nắm được cách mà nó hoạt động. Bỏ qua một phần của công nghệ chỉ vì nó quá khó hiểu hiếm khi là một ý hay.

Nếu nhìn xa hơn các chức năng của hệ thống chúng ta có hàng loạt các công cụ phát triển web hoạt động qua command line. Không phải thứ gì cũng có thể tải về và cài đặt như các ứng dụng, nên việc hiểu các lệnh shell sẽ giúp bạn không phải đau đầu trong việc tìm cách cài đặt những công cụ mới nhất dành cho các lập trình viên.

Bạn có thể dùng NPM cho các việc cài đặt gói.

Node Package Manager là công cụ đơn giản và phổ biến nhất cho các developer hiện đại. Được xây dựng dựa trên đỉnh cao của Node.js một framework của JavaScript cho các script (như là NPM).

Một điều đáng lưu ý đó là NPM không có GUI. Không có cách nào để bạn có thể click vào cái nút “install” nho nhỏ như bạn có thể tìm thấy trên Mac App Store. Tất cả các gói đều phải được cài đặt bằng tay thông qua lệnh npm trong terminal.

npm

Việc này có vẻ khó chịu cho những người dùng không sử dụng shell nhưng nó thật sự cho bạn nhiều quyền kiểm soát hơn. Thư viện NPM có đến hơn 200,000 gói và được bổ sung thêm hằng tuần. Nó khiến cho việc lưu trữ những gói này bên ngoài hệ thống dễ dàng hơn và để người dùng lựa chọn thứ mà họ muốn cài đặt.

Hãy nghĩ trong đầu một vài công cụ có thể được cài đặt thông qua những trình cài đặt nhị phân của chúng. Nhưng NPM tập trung mọi thứ nên bạn có thể cài mọi công cụ mà bạn yêu thích chỉ với một lệnh đơn giản: nmp install .

Với NPM bạn có thể truy cập vào những công cụ sau ngay lập tức:

Một lựa chọn phổ biến khác đó là cài đặt Ruby gems song song với các gói NPM. Tuy nhiên Ruby gems không chính xác là một phần của trình quản lý các gói – dù chúng có thể hoạt động tương tự như vậy.

ruby-gems

Cả 2 cách này đều đòi hỏi một sự hiểu biết các lệnh CLI. Bạn có thể thành thạo NPM trong vòng không tới một giờ đồng hồ nếu bạn dành thời gian tập luyện và hiểu cách thức thức hoạt động của chúng.

Hãy tận dụng Git version control.

Các nhà lập trình phần mềm và developer nên hiểu rõ sức mạnh của version control. Khả năng split/merge một project thành nhiều phiên bản riêng biệt chỉ có thể nói là tuyệt vời.

Rất là không may khi Git cũng rất khó để nắm bắt  nếu bạn không thực sự hiểu về cách thức nó hoạt động. Bây giờ, đưa những rắc rối trong cách làm việc vào trong command line và bạn sẽ rõ tại sao Git lại có thể khiến nhiều developer e dè.

Tạ ơn trời có rất nhiều nguồn miễn phí để giúp bạn nắm rõ những điều cơ bản nhất.

Try Git là một công cụ học tập miễn phí trên GitHub để giúp bạn dạo chơi trong Git mà không phải cài đặt nội bộ nó. Đây là hướng dẫn dành cho các lập trình viên hoàn toàn không có kiến thức về version control.

try-git

Khó khăn trong việc sử dụng Git chính là việc phải ghi nhớ các lệnh version control trong khi đang cố gắng tìm hiểu về command line. Có những ứng dụng trên máy tính có sẵn GUI, nhưng chúng vẫn mặc định rằng bạn có những kiến thức nền tảng về version control (cloning, merging, branching, v.v).

Đối với những người mới bắt đầu, việc làm quen với Git có thể sẽ rất khó khăn. Kể cả bạn có thực hành thường xuyên thì nó vẫn phải mất một vài tháng chỉ để bạn có thể nắm vững những khái niệm cơ bản. Nhưng Git là một công cụ không thể thiếu cho các developer và đó là một trong những lý do mà chúng ta nên tìm hiểu về command line

Bạn cần nó để sử dụng các bộ tiền xử lý và các task runner

Phát triển frontend đã thay đổi rất nhiều trong những năm trở lại đây. Chúng ta có các bộ tiền xử lý như Sass/Less cho CSS và Haml/Jade cho HTML. Chúng ta còn có các task runner như Gulp và Grunt cho việc tự động hóa nhiệm vụ qua JavaScript. Nó gần như là một bối cảnh mới nơi mà các kỹ thuật này được yêu cầu trong việc xây dựng các website hiện đại.

Nếu bạn chưa nhận ra thì các công cụ như Sass và Haml chạy trực tiếp trên command line. Cả hai bộ tiền xử lý này đều được xây dựng trên Ruby và yêu cầu các lệnh terminal để tổng hợp code. Nếu được cho phép bạn còn có thể cài đặt một Gulp task để tự động hóa việc tiền xử lý, nhưng việc này cũng đòi hỏi bạn phải có kiến thức nhất định về command line.

Với việc những công cụ này càng trở nên cần thiết cho quá trình phát triển thì việc hiểu những gì cơ bản nhất về shell scripting và command line trở thành điều tất yếu.

Nó được dùng để phát triển backend nội bộ.

Bất kể mọi thứ từ PHP cho tới Rails và Python đều yêu cầu có sự tương tác qua command line. Những công cụ cài đặt như MAMP đã khiến mọi thứ trở nên dễ dàng hơn, nhưng không có một sự thay thế nào cho sức mạnh nguyên thủy của việc làm việc trên command line.

mamp

Trong khi PHP có thể được cài đặt bằng những phần mềm như MAMP, những framework như Laravel đòi hỏi Composer một trình quản lý phụ thuộc. Hầu hết quá trình cài đặt đều diễn ra trong command line.

Django framework yêu cầu một quá trình cài đặt CLI tương tự trên pip, một gói quản lý miễn phí trên Python. Cũng nên cân nhắc việc cấu hình một local server trên Node.js. Để làm được việc này bạn sẽ muốn tìm hiểu về môi trường làm việc của máy tính (Unix hay Windows). Sau đó bạn sẽ muốn tìm hiểu về những điều căn bản nhất của Node.js.

django

Với một mức độ hiểu biết nhất định về thao tác trên shell bạn sẽ có nhiều quyền kiểm soát hơn về các gói cài đặt, kiểm tra cập nhật, khởi động lại local server và cài đặt các module để cải thiện các tính năng trên thiết bị của bạn.

Không cần biết ngôn ngữ mà bạn đang theo đuổi là gì, command line sẽ chứng minh rằng nó là một công cụ mạnh mẽ trong công việc của bạn. Kể cả những kiến thức cơ bản nhất về shell cũng có thể cải thiển sự tự tin và giá trị của bạn tại công ty trong thị trường của những nhà phát triển web tài ba.

Tiến về phía trước.

Không quan trọng bạn phát triển về lĩnh vực nào, sự hiểu biết về command line luôn có giá trị của nó. Kể cả những khái niệm đơn giản như cài đặt Ruby hay Composer sẽ chứng minh nó cực kỳ hữu ích trong sự nghiệm phát triển web của bạn.

Để bắt đầu hãy cứ tìm một thứ mà bạn muốn học và đắm chìm vào nó. Điều này có thể kết hợp với Sass, cài đặt Laravel, hay cấu hình một local server Node.js. Bạn sẽ phải đối mặt với các thử thách một cách tự nhiên nhưng những trang web như StackOverFlowmọi câu trả lời về lập trình mà bạn cần.

Với việc càng ngày có nhiều công cụ trở nên phổ biến hơn trong năm nay bạn sẽ vui mừng rằng mình có sự hiểu biết về command line. Tương lai của việc phát triển web không phải là IDEs, mà là những công cụ mã nguồn mở có thể tối ưu hóa cách chúng ta code và xây dựng websites.

Topdev via Command line

CHIA SẺ