10 kỹ năng giúp bạn nâng cao khả năng lập trình Ruby!
Bài đăng này đã không được cập nhật trong 6 năm
Bạn là một lập trình viên Ruby, bạn sử dụng Rails như một công cụ để kiếm sống? Điều đó thật là tuyệt. Nhưng bạn biết đấy, bạn hoàn toàn có thể làm tốt hơn nếu như bạn nắm được một số kỹ năng mà mình sẽ nêu ra dưới đây, nó sẽ giúp bạn nâng cao khả năng làm việc với Ruby.
1. Sử dụng những Frameworks khác.
Ruby không chỉ có mình Rails. Mặc dù Rails là một framework có ưu thế nổi trội, nó là một cái gì đó mà có lẽ ta đã và sẽ làm việc hàng ngày với nó, nhưng Rails không phải là Ruby framework duy nhất. Trong thực tế, có một số trường hợp, thay vì dùng Rails, tốt hơn là bạn nên nghĩ đến những lựa chọn khác như Sinatra, Grape hay http://rack.github.io/. Bằng cách học cách xem cái gì có thể sử dụng và cách sử dụng nó như thế nào, bạn sẽ có thể có những lựa chọn kỹ thuật thông minh hơn và kết hợp một số phương pháp non-Rails vào ứng dụng Rails của bạn. Bạn thậm chí còn có thể trộn và kết hợp chúng lại vào trong một dự án thống nhất bằng cách chia nhỏ ứng dụng lớn thành các phần nhỏ hơn.
2. Nắm rõ cách thức mà một trang web hoạt động.
Khá nhiều lập trình viên web Ruby chỉ có một ý niệm mơ hồ về cách thức hoạt động của một trang web. Điều này xảy ra có thể do trong cộng đồng, các lập trình viên thường bị thiếu kiến thức, hiểu biết về khoa học máy tính. Nếu bạn đang xây dựng ứng dụng web bằng Ruby, bạn nên có kiến thức về những gì xảy ra khi bạn nhập địa chỉ trên thanh URL và nhấn Enter. Các chủ đề mà bạn nên bỏ công nghiên cứu đó là TCP/IP, hệ thống DNS, giao thức HTTP(amazon.com) bao gồm cả header và cookies. Kiến thức về cơ chế nội bộ của Internet sẽ giúp bạn gỡ lỗi và tối ưa hóa ứng dụng của mình, đồng thời cho phép bạn tránh các vấn đề bảo mật có thể xảy ra với code của bạn.
3. Unix
Bạn sẽ chỉ cần mở một cửa sổ duy nhất để hoàn thành công việc, đó là cửa sổ terminal. Không quan trọng bàn là người dùng Mac hay Linux, sớm muộn bạn sẽ phải sử dụng terminal để thực hiện một số tasks tại máy local hoạc trên server. Bạn có thể đang sử dụng IDE như RubyMine, nó có những kỹ năng rất ấn tượng giúp bạn viết và gỡ lỗi các ứng dụng Rails, nhưng bạn sẽ không thể chạy nó trên server để kiểm tra hệ thống production. Các lệnh Unix hữu ích không chỉ cho việc điều hướng hoặc di chuyển các tệp tin mà nó còn có thể kết hợp với nhau để thực hiện các tác vụ lớn hơn. Suy nghĩ theo hướng này sẽ khiến bạn viết code Ruby tốt hơn nói riêng và trở thành một lập trình viên tốt hơn nói chung. Hãy học Linux/Unix terminal, có rất nhiều nguồn để bạn học hỏi những thứ này ở ngoài kia.
4. Typing
Nghiêm túc mà nói, điều này khá là xấu hổ. Bạn không thể đạt được năng suất làm việc tốt nếu bạn không thể gõ code. Hay kiếm cho mình một bộ bàn phím thật tốt, chơi những bản nhạc thư giãn, học cách gõ mà không cần nhìn vào bàn phím. Sau đó, hãy học cách gõ nhanh hơn. Cuộc sống của bạn sẽ đơn giản hơn nhiều khi bạn không phải bận tâm về cách gõ nếu như nó xảy ra một cách tự động. Điều này sẽ giúp ích rất nhiều khi sử dụng những môi trường terminal như vim, tmux, zsh.
5. Database
ActiveRecord là một thư viện tuyệt vời và cũng là một phần cốt lõi của Rails. Nhưng không phải lúc nào nó cũng sẽ tạo ra những SQL tốt nhất có thể có được. Để viết được các ứng dụng nhanh chóng, an toàn và đáng tin cậy hơn, bạn cần biết cách thao tác trực tiếp với cơ sở dữ liệu. Điều này sẽ có ích khi banmj cần gỡ lỗi hiệu suất hoặc các vấn đề đồng thời và cũng cho phép bạn viết code một cách thông minh hơn, ngắn hơn và nhanh hơn Ruby. Sử dụng toàn bộ kar năng của cơ sở dữ liệu mà bạn chọn bằng việc học sử dụng nó trực tiếp đúng cách.
6. Mã nguồn mở
Đây không hẳn là một kỹ năng. Bạn nên đóng góp mã nguồn mở cho cộng đồng. Bằng cách đóng góp cho một số dựn án bên ngoài, bạn sẽ học được cách đọc và hiểu code, đồng thời bạn cũng sẽ nhận được nhwungx kỹ năng lập trình mới trong quá trình này. Hơn nữa, bạn cũng học được cách làm việc với mọi người. Đây là một kỹ năng mêm mà đôi khi rất khó để đạt được.
7. Modern JavaScript và CSS
Web liên tục thay đổi theo thời gian. Trước đây, bạn có thể đạt được mục đích của mình chỉ bằng một vài dòng jQuery đơn giản, nhưng sớm hay muộn ai đó sẽ bắt đầu đặt câu hỏi: "Liệu nó có phải tải lại trang trên mỗi lần nhấp chuột không?" Hoặc "Tại sao nó thực hiện tải chậm". Bạn cần phải thành thục JavaScript để trở thành một lập trình viên web tốt hơn. Tuy nhiên, đôi khi chỉ có mình JavaScript sẽ là không đủ. Bằng cách đưa một số logic cho client, bạn sẽ có thể xây dựng được một ứng dụng nhanh hơn, tiêu tốn ít tài nguyên máy chủ hơn và có sự tách biệt tốt hơn giữa UI và business logic. Bạn cũng nên biết cách sử dụng các công cụ dựa trên JavaScript như Bower và làm thế nào để tích hợp framework của bạn với Rails.
Giống như JavaScript, CSS cũng trở thành một phần không thể thiếu của web. Bạn không thể hoàn thiện trang web chỉ bằng những đoạn CSS sơ sài nữa. Ngoài kia hiện giờ có quá nhiều thiết bị có thể làm hỏng CSS của bạn bất cứ khi nào. Không chỉ mình IE nữa mà web hiện tại đã phát triển trên hầu hết các thiết bị di động và các thiết bị di động thì có hàng trăm độ phân giải và kết hợp mật độ màn hình khác nhau. Để theo kịp, bạn cần học cách sử dụng CSS framework. Chúng tôi thường sử dụng Bootstrap hoặc Foundation. Điểm mạnh của Bootstrap là nó có thể được tích hợp với hàng tá các thành phần JavaScript đã sẵn sàng để sử dụng với các thư viện như Angular UI để sử dụng với AngularJS hoặc các công cụ khác.
8. Gỡ lỗi
Ruby có một trình gỡ lỗi được tích hợp sẵn, nhưng nó không phải là công cụ duy nhất bạn có thể sử dụng để gỡ lỗi trong ứng dụng Rails. Nếu bạn đang sử dụng IDE như RubyMine, bạn có thể có một UI tốt hơn cho các trình gỡ lỗi tích hợp. Vì chúng tôi đã xác nhận rằng bạn cần phải viết mã JavaScript nhiều hơn và nhiều hơn nữa ở mục 7, bạn cũng nên học cách làm điều đó.
9. Dev-ops
Các ứng dụng của bạn không tồn tại trong một khoảng trống. Chúng được triển khai ở một nơi nào đó, đến một máy chủ, tới đám mây, tới vùng chứa. Tùy thuộc vào loại cài đặt mà bạn sử dụng, bạn có thể muốn học cách viết công thức Capistrano, gói ứng dụng để chứa hoặc quản lý các máy chủ của bạn với Chef, Puppet hoặc Ansible.
Trước tiên, tôi sẽ đề nghị bạn học cách cấu hình một máy chủ từ đầu. Bạn có thể nhận được VPS Linux, và tìm hiểu cách cài đặt và cấu hình Apache / proxy, Postgres, Nginx hoặc Redis.
10. Startup và kinh doanh cơ bản
Vì bạn đang viết Ruby, rất có thể bạn sẽ hoặc đã làm việc cho một Startup. Điều quan trọng là phải hiểu đượcsự rồi rắm trong quản lý. Trong thực tế, nó chỉ bắt đầu có ý nghĩa khi bạn bắt đầu hiểu nó. Điểm khởi đầu tốt là giả như mình đang làm một startup hoặc khởi chạy dự án phụ của bạn như là một startup thực sự của bạn. Những chủ đề như marketing và phân tích luôn luôn là quan trọng để làm quen với việc khởi đầu.
Tổng kết
Đây không phải là danh sách đầy đủ các kỹ năng bạn có thể muốn có được. Nhưng đó là một khởi đầu tốt trong cuộc hành trình của bạn để trở thành một lập trình viên Ruby thông minh hơn, được trọng dụng và đánh giá cao hơn.
nguồn: https://www.amberbit.com/blog/2014/9/29/10-skills-that-will-make-you-better-ruby-developer/
All rights reserved