- Bài viết được dịch từ bài 11 Books Every Ruby on Rails Developer Should Read của tác giả Łukasz Ozimek.
5000. Đó là số kết quả gần đúng khi nhập "programming ruby" vào hộp tìm kiếm của Amazon.com.-
Giả sử rằng bạn là một chuyên gia đọc sách nhiều nhất vịnh Bắc Bộ, bạn đọc 1 cuốn sách mỗi tuần (theo tôi là một kết quả rất tốt), bạn cần khoảng một trăm năm tư duy với tốc độ ánh sáng để đọc hết chúng. Nhưng để trở thành một lập trình viên chuyên nghiệp, bạn không nên giới hạn bản thân chỉ đọc những cuốn sách liên quan đến công nghệ mà bạn chủ yếu dùng khi làm việc, vì vậy hãy tưởng tượng bao nhiêu trong số những cuốn sách khác không được bao gồm trong 5000 cuốn sách tìm thấy này.
Hãy cố gắng đọc 20% trong số đó trong suốt sự nghiệp của bạn và bạn sẽ trở thành một siêu chuyên gia về ngôn ngữ lập trình Ruby. Hay đúng hơn là trong lý thuyết về Ruby, vì bạn sẽ dành toàn bộ thời gian để đọc hơn là viết code, vì vậy kỹ năng thực hành của bạn trên thực tế sẽ bằng 0. Để có thời gian thực sự viết code, bạn không thể đọc hết mọi thứ, nhưng để trở thành một lập trình viên giỏi, bạn chắc chắn nên đọc một cái gì đó theo thời gian. Vì vậy, những gì đáng đọc và những gì không? Rất tiếc, không có câu trả lời cho câu hỏi đó, nhưng đây là danh sách các cuốn sách mà cá nhân tôi muốn giới thiệu cho mọi nhà phát triển Rails đọc.
Clean Code
Cuốn sách này có lẽ không có trong 5000 kết quả được mô tả ở trên, vì nó không liên quan trực tiếp đến Ruby / Rails - hầu hết (nếu không phải tất cả) các ví dụ được viết bằng Java! Nghe có vẻ kỳ lạ khi một nhà phát triển Rails sở hữu một cuốn sách Java, nhưng tin tôi đi - ấn phẩm này tuyệt vời không chỉ dành cho các nhà phát triển web. Tôi thực sự khuyên bạn nên sở hữu một bản sao vật lý của tác phẩm này. Rất có thể bạn sẽ trở thành một lập trình viên giỏi hơn bằng cách tuân theo ít nhất một số lời khuyên của Bác Bob.
Pragmatic Programmer
Đây là một trong những cuốn sách yêu thích của tôi và tôi nghĩ cuốn sách này nên đọc trước mỗi cuộc phỏng vấn việc làm liên quan đến lập trình, bất kể bạn làm việc ở ngôn ngữ và môi trường nào. Bạn sẽ không tìm thấy bất kỳ code examples hoặc pattern nào mà bạn có thể áp dụng trong codebase của mình tại đây. Thay vào đó, Andy Hunt và Dave Thomas chỉ cho bạn cách tiếp cận mà tất cả chúng ta là những lập trình viên chuyên nghiệp nên làm theo. Cuốn sách này đã được phát hành trong tháng 10 năm 1999. Nó được sử dụng làm sách giáo khoa trong các khóa học đại học liên quan, nhưng nó chắc chắn vẫn đáng đọc cho đến ngày nay. Và ngày mai. Huge props to the authors!
Ruby under a microscope
Đây không phải là cách tốt nhất để bắt đầu nghiên cứu, nhưng sớm muộn gì bạn cũng sẽ lấy cuốn sách này nếu bạn muốn hiểu rõ hơn về Ruby. Pat Shaughnessy đã tìm hiểu sâu về nội bộ của Ruby và đã làm rất tốt điều đó. Hãy để tôi trích dẫn Xavier Noria ở đây:
Man, this book was missing in the Ruby landscape - awesome content. - Trời đất ơi, cuốn sách này đã bị thiếu trong bức tranh toàn cảnh Ruby - nội dung tuyệt vời ông mặt trời.
Bạn chưa thấy thuyết phục? Đây là một trích dẫn khác từ lời tựa của cuốn sách.
Khá thường xuyên mọi người hỏi tôi làm thế nào họ có thể tìm hiểu về cách hoạt động của Ruby hoặc nơi bắt đầu hack nội bộ của Ruby. Thật không may, tôi không có câu trả lời tốt cho mọi người - cho đến bây giờ. - Aaron “Tenderlove” Patterson.
Eloquent Ruby
Đây là một cái khác mà cá nhân tôi sở hữu trong những cuốn sách "bìa mềm". Sau khi bạn đã nắm được tất cả các kiến thức cơ bản về Ruby, cuốn sách này sẽ là bước tiếp theo của bạn, bất kể bạn là chuyên gia hay chỉ là một người yêu thích. Nó dễ đọc một cách đáng ngạc nhiên, rất toàn diện và tập trung vào tất cả những điều thực tế bạn cần biết về cách sử dụng Ruby đúng cách. Tôi đã đọc cuốn sách này hai lần và tôi nghĩ tôi sẽ đọc lại một lần nữa vào một ngày không xa. Ít nhất là một phần
Practical Object-Oriented Design in Ruby
Sandi Metz là một diễn giả tuyệt vời và cô ấy viết mọi thứ theo cùng một cách. Cuốn sách của cô giúp hiểu được ý nghĩa thực sự của Ruby hướng đối tượng và cách triển khai nó trong thế giới thực. Ý tưởng và cách cô ấy sử dụng một chiếc xe đạp thông thường để mô tả OO trong Ruby thật tuyệt vời. Cũng cần nói thêm rằng cuốn sách này lôi cuốn bạn như một cuốn tiểu thuyết hành động hay! Nếu bạn chưa làm điều này, tôi thực sự khuyên bạn nên thực hành thực tế như vậy.
Refactoring Ruby
Một thời gian trước, tôi đã tìm kiếm một cái gì đó trên internet liên quan đến những thứ liên quan đến phát triển phần mềm. Tôi không biết nó là gì, nhưng tôi nhớ rằng tôi đã bị chìm đắm trong một chuỗi nhận xét trên một trang và tìm thấy điều gì đó thực sự mắc kẹt với tôi. Nó đại loại như “Nếu bạn muốn bắt đầu thực hiện những đổi mới trong công ty của mình, hãy bắt đầu đọc những gì Martin Fowler đã viết 10 năm trước”. Nhận xét này là rất đúng và hài hước! Jay Fields, Shane Harvie, Kent Beck và Martin Fowler đã viết cuốn sách này, vì vậy hãy cứ tưởng tượng nội dung của nó! Không sớm thì muộn, bạn sẽ phải đối mặt với nhiệm vụ refactor và theo ý kiến của tôi, ấn phẩm này là ấn phẩm tốt nhất về chủ đề đó trong Ruby.
The Ruby on Rails tutorial
Tôi nghĩ rằng hầu hết các nhà phát triển RoR mà tôi biết ngày nay (trực tiếp) đã trải qua hướng dẫn nổi tiếng của Michael Hartl khi bắt đầu hành trình lập trình Rails của họ. Cuốn sách của Michael là một khởi đầu rất vững chắc cho mọi nhà phát triển RoR. Nó có sự cân bằng giữa đọc/code tuyệt vời và bao gồm hầu hết các chủ đề bạn nên biết để bắt đầu làm việc với Rails. Cuốn sách này không thực sự dành cho các nhà phát triển cấp cao, nhưng nếu bạn muốn bắt đầu sự nghiệp nhà phát triển RoR của mình, đọc cuốn sách này cũng bình thường như ăn sáng vào buổi sáng.
The Rails Way
Rất nhiều nhà phát triển có kinh nghiệm nói rằng hầu hết thời gian bạn nên tránh bám 1 cách phụ thuộc vào “Cách thức vận hành của rails” nổi tiếng trong các dự án của mình và tôi thực sự đồng ý với điều đó. Mặt khác, tôi nghĩ chúng ta không nên đánh giá thấp "Cách thức của Rails". Theo tôi, đó là thứ đã giúp Rails phát triển rất nhanh và trở thành như bây giờ. "Quy ước về cấu hình", với một bộ giá trị mặc định tiện dụng và hàng trăm phương pháp hữu ích, đó là điều gì đã khiến Rails trở nên phổ biến. Nhờ đó, bạn có thể thiết lập và chạy một MVP đơn giản trong vài ngày, thay vì vài tuần hoặc vài tháng. Nếu bạn sắp bắt đầu (hoặc mới bắt đầu) doanh nghiệp phát triển phần mềm với Rails - đây là một điểm tốt. Cuốn sách này sẽ giúp bạn hiểu những gì được xây dựng trong framework.
Rebuilding Rails
Cuốn sách của Noah thực sự đã giúp tôi hiểu sâu hơn về chức năng của Rails. Bằng cách xây dựng framework vi mô của riêng tôi dựa trên Rack với một chút chức năng của Rails, tôi đã nắm được những gì thực sự đang diễn ra dưới lớp vỏ của Rails. Mặc dù thực tế là phần mềm này không dành cho người mới bắt đầu, nhưng tôi thực sự khuyên bạn nên xem xét kỹ phần bên dưới.
Crafting Rails 4 applications
Siêu anh hùng Jose Valim của Rails sẽ đưa bạn vào vực sâu tăm tối của Rails trong cuốn sách này. Anh ấy sử dụng nó theo một cách rất nâng cao, vì vậy bạn cần phải có một nền tảng vững chắc trước khi bắt đầu đọc nó. Chương đầu tiên là về việc tạo trình renderer của riêng bạn, vì vậy… vâng, nó thực sự không dành cho người mới bắt đầu. Phụ đề trên trang bìa thực sự nói rõ những gì đang diễn ra bên trong: “Các phương pháp của chuyên gia để Phát triển rails Hàng ngày”(Expert practices for Everyday Rails Development). Dù sao, nếu bạn không thực sự bị thuyết phục về cuốn sách này, bạn có thể sẽ cần đọc thêm một chút về Josè
Confident Ruby
Avdi Grimm đã làm rất tốt khi viết Confident Ruby. Anh ấy mô tả cuốn sách này như một loại hướng dẫn (các patterns nhỏ) để lấy lại niềm vui khi viết Ruby và lấy lại cảm giác mà bạn đã thích khi thử Ruby lần đầu tiên. Cho dù bạn có kinh nghiệm như thế nào, cuốn sách này sẽ giúp bạn trở thành một lập trình viên Ruby tự tin hơn.
Tóm lược
Đọc sách có lợi tức đầu tư tuyệt vời. Bạn có được nhiều năm kinh nghiệm của người khác được cô đọng lại trong một vài giờ đọc. Mỗi cuốn sách được mô tả ở trên đều mang lại giá trị cho tôi với tư cách là Nhà phát triển RoR. Tất nhiên là có rất nhiều thứ khác trong số đó, nhưng mục tiêu của bài đăng này không phải là khiến bạn choáng ngợp
Cảm ơn bạn và chúc bạn đọc vui vẻ!