Ngôn ngữ lập trình Ruby on Rails. Chúng tôi đang viết blog bằng Ruby on Rails. Tôi đã thử một ngôn ngữ lập trình khác nhưng tôi không thích nó. Tôi có nên thử Rails không

Hôm nay tôi tìm thấy một câu chuyện trên Internet về cách một người tên James Fend đã học Ruby on Rails trong 12 tuần. Dưới đây bạn có thể đọc bản dịch tương đối chính xác của câu chuyện này và hy vọng sẽ có cảm hứng để khám phá khuôn khổ tuyệt vời này (và ngôn ngữ tuyệt vời).

Trước khi bắt đầu, tôi muốn giới thiệu Josh Crews (http://joshcrews.com) và cảm ơn anh ấy vì đã thuyết phục tôi bắt đầu học Ruby on Rails; nếu không có anh ấy, sự giúp đỡ của anh ấy và những giờ anh ấy dành để làm cố vấn cho tôi, tôi sẽ không viết được bài này ngày hôm nay. Cảm ơn.

Vào ngày 23 tháng 1, tôi đã đưa ra ý tưởng trong mơ của mình, Freelancify.com. Đúng 12 tuần trước, tôi là một doanh nhân công nghệ đã chi hàng nghìn đô la để tạo ra một MVP (sản phẩm khả thi tối thiểu) đàng hoàng vì tôi thiếu kiến ​​​​thức. Một trong những lý do (lúc đó tôi nghĩ) là việc đào tạo quá khó đối với tôi hoặc sẽ mất một thời gian quá dài. Tôi nghĩ (giống như nhiều người khác) rằng các lập trình viên (và một số người) được sinh ra với một tập hợp các kỹ năng toán học và giải quyết vấn đề kỳ diệu khiến họ trở thành thiên tài lập trình. Và đúng 12 tuần trước tôi chấp nhận Quyết định tốt nhất trong một thời gian dài, thực sự trong một khoảng thời gian dài . Sẽ không còn bất kỳ ý tưởng nào của tôi chỉ là một ý tưởng nữa. Bây giờ tôi có cơ hội tung ra các phiên bản sản xuất, chỉ chi tiền cho việc lưu trữ và bỏ ra chút công sức. Ngày nay, bộ kỹ năng này giống như việc kéo một loạt máy kéo trong Cơn sốt vàng California trong khi những người khác chỉ sử dụng những chiếc xẻng đơn giản. Tôi khuyên mọi người nên học cách viết mã. Ở đây tôi muốn nói rõ hơn: trước đó, tôi đã gọi bài đăng là “Tôi đã học Rails như thế nào trong 8 tuần”, tuy nhiên, nói chính xác thì tính đến ngày ra mắt thì hóa ra là 12 tuần. Tuy nhiên, trong vòng 8 tuần, tôi cảm thấy mình đã biết đủ và bốn tuần tiếp theo tôi dành nhiều thời gian hơn cho việc áp dụng kiến ​​thức thu được vào công việc hơn là học tập.

Tôi đã có những kỹ năng gì trước khi bắt đầu học Rails?

Tôi là một nhà thiết kế web có kiến ​​thức về HTML và CSS và chủ yếu tập trung vào thiết kế UI và UX. Điều khó nhất tôi đã làm với mã thực tế (không tính HTML) là có thể tùy chỉnh Wordpress. Nói tóm lại, tôi hoàn toàn không biết khung MVC là gì hoặc cơ sở dữ liệu nói chung hoạt động như thế nào. Thiết kế, bố cục và HTML cho Freelancify được tôi tạo ra trong hai tuần vào tháng 6 năm 2011.

Tại sao tôi quyết định học?

Quay trở lại tháng 6 năm 2011, khi bố cục đã sẵn sàng, tôi bắt đầu tìm kiếm một lập trình viên có thể làm cho bố cục hoạt động được. Bố cục gần như đã sẵn sàng: Tôi đã có Trường văn bản, menu thả xuống, biểu mẫu, nút, liên kết dẫn đến nơi cần thiết, v.v. Tôi đã tìm được một nhà phát triển, và tóm lại, anh chàng đó không phù hợp với tôi. Tôi mắc nợ rất nhiều và thậm chí không có sản phẩm nào sắp hoàn thành. Vì vậy, tôi đã liên hệ với Josh Krius (tôi gặp anh ấy tại buổi gặp mặt Ruby on Rails mà anh ấy tổ chức ở Nashville) và gặp anh ấy để xem liệu tôi có thể làm được điều gì đó từ những gì tôi đã để lại với tư cách là một nhà phát triển hay không. Thật không may, việc sửa và sửa đổi mã sẽ mất không ít thời gian hơn việc phát triển nó từ đầu bởi một lập trình viên có năng lực. Tôi trở nên chán nản khi nhận ra rằng mình không đủ khả năng chi hàng nghìn đô la để phát triển lại từ đầu. Và rồi Josh nói…” Tại sao bạn không học cách xử lý Ruby on Rails, dự án này sẽ là một cách tuyệt vời" và sau đó " Tôi thậm chí có thể gặp bạn hai lần một tuần và giúp bạn học tập" Tôi đã dành cả đêm để suy nghĩ về nó. Lựa chọn của tôi là: tìm công việc thoải mái và thanh toán hóa đơn HOẶC mạo hiểm mọi thứ để học Rails và cuối cùng thưởng thức món ramen ngon nhất mà Ý cung cấp. Tôi đã quyết định. Tôi gọi cho Josh vào sáng hôm sau. Tôi đặt tất cả mọi thứ. Tôi phân bổ số tiền tiết kiệm còn lại và chia trong ba tháng (đối với một anh chàng độc thân sống một mình và không có con cái, một nghìn đô la mỗi tháng là đủ). Đã đến lúc đi làm, bây giờ tôi là người học việc toàn thời gian. Hãy nhớ rằng tìm kiếm của Google, Stackoverflow, IRC #RubyOnRails và cộng đồng Rails sẽ hỗ trợ tôi khi tôi gặp khó khăn, tôi chắc chắn rằng sẽ có rất nhiều người trong số họ.

Ba tháng tiếp theo của tôi - Mission: Đạt được MVP, đủ làm việc nhưng không đủ “tệ” để để lại ấn tượng ban đầu tệ hại.

Tuần 1 - 3

Đó có lẽ là chặng đường học tập lớn nhất, nhưng tôi KHÔNG bỏ cuộc.

Những bức tường được tạo ra cho những người không thực sự muốn rời xa chúng.

Việc thiết lập môi trường Rails hoạt động cho người mới hoàn toàn có thể cực kỳ khó chịu. Mẹo số 1: Sử dụng máy Mac. Mẹo số 2: Sử dụng Homebrew, RVM, Git và Heroku (đó thực sự là tất cả những gì bạn cần để bắt đầu). Tôi đã dành vài ngày để cài đặt, sau đó gỡ cài đặt mọi thứ và cài đặt lại. Chỉ cần lặp lại vài lần là bạn sẽ quen với việc sử dụng nó. dòng lệnh terminal (bảng điều khiển) và hiểu lý do mọi thứ hoạt động như vậy. Sau đó, điều đầu tiên tôi làm là TryRuby, Rails for Zombies và Hướng dẫn về Rails của Michael Hartl. Đừng lo lắng về việc hiểu tài liệu 120%, điều đó sẽ không xảy ra cho đến khi bạn thực sự bắt đầu học. Tôi đã hoàn thành Hướng dẫn Rails và tạo nó tương tự như ứng dụng Twitter trong khoảng một tuần, tôi thực sự không hiểu mình đã làm gì. Sau này, khi tôi tiến bộ hơn, tôi bắt đầu nhận ra rằng mọi thứ đang bắt đầu có ý nghĩa.

Tuần 3 - 6

Với ứng dụng Twitter được xây dựng bằng Hướng dẫn Rails, tôi đã có được sự tự tin nhất định. Hướng dẫn này không giúp tôi trở thành nhà phát triển nhưng giờ đây tôi đã biết các bước chung trong việc tạo ứng dụng, từ việc tạo ứng dụng cho đến cài đặt ứng dụng trên Heroku. Mọi thứ xảy ra ở giữa vẫn mờ nhạt. Làm thế nào tôi THỰC SỰ có thể bắt đầu học bây giờ? Làm việc trên một dự án thực sự có ý nghĩa với tôi. Josh và tôi quyết định rằng tôi nên tự do làm việc trên Freelancify và xem mình có thể làm được gì. Điều đầu tiên tôi làm là di chuyển tất cả HTML khỏi khung và sắp xếp nó thành các dạng xem và các tệp một phần. Tôi đã tạo nền tảng mẫu có sẵn cho Người dùng và Dự án. Sau đó, tôi bắt đầu học viên ngọc thực sự đầu tiên của mình, Devise. Sau đó là khả năng có các mối quan hệ, ví dụ mỗi User sẽ có một portfolio. Nhưng Người dùng có thể có nhiều danh mục, trong khi mỗi danh mục chỉ có thể thuộc về một Người dùng. Một khi bạn hiểu mối quan hệ giữa các mô hình hoạt động như thế nào và cách gọi/hiển thị những thứ thuộc về thứ khác, cuộc sống sẽ trở nên dễ dàng hơn nhiều. Nếu bạn bị kẹt ở một phần nào đó và không thể di chuyển, hãy bỏ qua phần đó, rất có thể trong khi bạn đang phát triển một tính năng khác, bạn cũng sẽ tìm ra cách triển khai những gì bạn đã bỏ lỡ.

Tuần 6 - 9

Từng bước một, tôi tiếp tục học, sao chép và lặp lại. Tôi sẽ hoàn thành một số công việc, và sau đó - bam - và tôi sẽ đâm sầm vào tường mà hoàn toàn không biết phải làm gì tiếp theo. Cho dù truy cập Stackoverflow, trò chuyện IRC #RubyOnRails, RailsCasts hay lôi kéo Josh, cuối cùng tôi cũng đã tìm ra cách tiếp tục. Hãy làm đi làm lại điều tương tự và bạn sẽ hiểu nó khá nhanh. Việc dành hàng giờ khó chịu để kiểm tra câu trả lời của ai đó trên Stackoverflow chỉ để nhận ra rằng nó không hoạt động thực sự hữu ích. Bạn hiểu những gì không nên làm. Và khi bạn tìm thấy câu trả lời bạn sẽ bắt đầu hiểu TẠI SAO cái sau không hoạt động. Vào khoảng thời gian này, tôi bắt đầu nhận ra bức tranh toàn cảnh về mọi thứ rộng lớn đến mức nào và thực sự hiểu được TẠI SAO mọi thứ hoạt động chính xác theo cách nó hoạt động. Tôi cảm thấy mình như một thằng ngốc và quay lại và tái cấu trúc đoạn mã tôi đã viết trước đó để làm cho nó hiệu quả hơn. Và đến một lúc nào đó, tôi đã đạt đến giai đoạn mà mọi thứ bắt đầu đâu vào đấy.

Tuần 9 - 12

Tôi đang ở trạng thái năng lượng đáng kinh ngạc khi đưa Freelancify lên giai đoạn ra mắt. Ở giai đoạn này, tôi cảm thấy như thể mình đang bay, đưa các chức năng vào hoạt động. Tuần trước được dành để sửa nhiều lỗi và sai lầm ngớ ngẩn khác nhau. Thứ Hai tuần này tôi đã ra mắt trang web. Nhưng tôi vẫn còn lâu mới hoàn thành việc học của mình... Vậy thôi. Tôi đã bỏ qua (vì sự ngắn gọn của bài viết) bộ phận nhỏđiểm kỹ thuật. Tuy nhiên, vui lòng đặt câu hỏi trong phần bình luận, tôi chắc chắn sẽ cố gắng trả lời. James Fend.

tái bút - Mặc dù tôi có thể gặp một người cố vấn giúp ích rất nhiều nhưng bạn chắc chắn có thể học Rails mà không cần ai. Hoặc hãy thử tìm cho mình một người như vậy, nhiều nhà phát triển Rails thích đóng góp cho cộng đồng. Tìm kiếm các hội nghị và cuộc gặp gỡ địa phương.

Mục này đã hơn hai năm tuổi (được xuất bản vào ngày 27 tháng 1 năm 2012), tuy nhiên, nó vẫn không mất đi tính liên quan. Trong thời gian này, James Fend đã bán Freelancify và đầu tư vào một công ty khởi nghiệp mới, anh ấy đã để lại một ghi chú về điều này vào ngày 27 tháng 2 năm 2013. Tôi tin rằng bài viết này là một ví dụ tuyệt vời về cách một người có thể đạt được mục tiêu của mình. Tất cả những gì bạn phải làm là bắt đầu. :)

Bạn có biết rằng 40% người dùng rời khỏi các trang web có thiết kế kém? Tại sao mất lợi nhuận? Hãy chọn và cài đặt một trong số chúng ngay bây giờ 44 nghìn mẫu trang web cao cấp. Sự lựa chọn lý tưởng cho doanh nghiệp của bạn!

Nhiều người bạn là nhà phát triển của tôi đánh giá cao Rails nhưng tôi không hiểu tại sao. Rails là gì và nó khác với Ruby on Rails như thế nào? Học khó đến mức nào? Đây có phải là ngôn ngữ lập trình không? Tôi cần biết gì trước khi học Ruby on Rails?

Những câu hỏi này và nhiều câu hỏi khác liên tục quay cuồng trong đầu tôi, nhưng hóa ra, tôi không phải là người duy nhất. Độc giả của chúng tôi cũng quan tâm đến vấn đề này, vì vậy để tìm hiểu thêm về nó, tôi quyết định hỏi một đồng nghiệp của mình một số câu hỏi cơ bản về Ruby. Đây là cách bài viết này ra đời.

Bạn đã sẵn sàng? Đi!

13 sự thật về Ruby on Rails – Những điều bạn cần biết?

1. Rails là gì?

Rails là một khung ứng dụng web được thiết kế để viết mã bằng ngôn ngữ Ruby. Nghe có vẻ khó hiểu phải không?

Hãy thử lại lần nữa. Có một ngôn ngữ lập trình tên là Ruby. Thật vui khi được viết lên đó. Nhân tiện, người tạo ra nó đã nói rằng mục tiêu chính là việc tạo ra một ngôn ngữ giúp cuộc sống của các lập trình viên tốt đẹp hơn. Điều này thật tuyệt vời phải không?

Tôi sẽ cho bạn một ví dụ.

Nếu tôi muốn hiển thị văn bản trên màn hình bằng PHP, tôi cần viết

tiếng vang “Xin chào thế giới”;

Bạn có thấy dấu chấm phẩy không? Và “tiếng vang” này – nó có ý nghĩa gì?

Mặt khác, nếu tôi cần làm điều tương tự trong Ruby, tôi cần phải viết như sau:

đặt “Xin chào thế giới”

Không có dấu chấm phẩy và mặc dù "puts" có vẻ hơi trẻ con nhưng đối với tôi nó có ý nghĩa hơn "echo". Khi bạn dành hàng giờ để viết mã, những chi tiết nhỏ như thế này sẽ tạo nên sự khác biệt LỚN.

Vấn đề duy nhất với Ruby là nó không được thiết kế để tạo các ứng dụng web. Nghĩa là, chẳng hạn, bạn sẽ không thể tạo một trang web trên đó. Đây là trường hợp trước Rails. Tôi không chắc liệu có Đường ray đầu tiên web framework cho Ruby, nhưng nó HOÀN TOÀN đã trở thành phổ biến nhất.

Mục đích của Rails là cung cấp nền tảng và khả năng cho phép bạn tạo các ứng dụng, đặc biệt là một trang web, bằng Ruby. Hiện tại nghe có vẻ khá mơ hồ nên tôi sẽ cố gắng giải thích như thế này. Nếu tôi viết

đặt “Xin chào thế giới”

thì trong tài liệu HTML, bạn sẽ thấy toàn bộ văn bản. Nhưng tôi muốn bạn CHỈ thấy điều này:

Chào thế giới

Nói một cách đơn giản, Rails cho phép bạn làm điều này. Nhưng đó không phải là tất cả.

2. Ruby on Rails là gì?

Ruby on Rails đã HOÀN THÀNH tên chính thức Khung Rails. Nhưng trong cuộc trò chuyện, các nhà phát triển thường không nói phần đầu tiên mà chỉ gọi nó là Rails. Vì vậy, nếu bạn muốn "hiểu biết" và tỏ ra hiểu biết về công nghệ, bạn chắc chắn nên gọi nó là Rails, nhưng HÃY NHỚ phần đầu tiên - "Ruby on" - nghĩa là gì.

3. Tôi nghe nói Rails rất tốt cho người mới bắt đầu. Tại sao?

Có một số lý do tại sao Rails lại tuyệt vời cho người mới bắt đầu. Đầu tiên là bản thân ngôn ngữ Ruby thực sự tốt cho người mới bắt đầu và đây là điểm cộng đầu tiên. Học cách viết mã bằng Ruby dễ hơn nhiều so với các ngôn ngữ khác, vì ngôn ngữ này khá linh hoạt và tự do, điều này sẽ giúp bạn bớt căng thẳng và cho phép bạn dành nhiều thời gian hơn để học những kiến ​​​​thức cơ bản về lập trình.

Tại sao Rails lại thú vị với người mới bắt đầu? Nó rất ổn định và thực hiện một khối lượng công việc LỚN cho bạn.

Đối với tôi, làm việc trên Rails giống như lái một chiếc xe tải. Nó cực kỳ mạnh mẽ, hãy nhìn bạn - bạn đang lái một chiếc xe tải!!! Tuy nhiên, bạn biết rõ chiếc xe bạn đang lái hoạt động như thế nào?

Việc Rails đảm nhận nhiều nhiệm vụ hơn và thực hiện chúng cho bạn sẽ khiến bạn hài lòng ngay lập tức. một lượng lớn lợi ích mát mẻ. Tuy nhiên, đôi khi điều này cũng có thể gây bất lợi cho bạn nếu đôi khi bạn vượt quá chính mình và không học đầy đủ những điều cơ bản mà bạn đơn giản phải biết.

Vì lý do này, việc học Ruby on Rails từ đầu là rất quan trọng. Và quan trọng nhất, bạn phải đảm bảo rằng bạn thực sự cảm thấy thoải mái khi làm việc với Ruby. Nếu không, bạn sẽ bước ra khỏi chiếc xe tải đó nửa chừng và tự nhủ: “Đợi đã, mình có thực sự lái chiếc xe này không?”

4. Sự khác biệt giữa nhà phát triển Rails và nhà phát triển Ruby là gì?

Về mặt hình thức, sự khác biệt là một “nhà phát triển Ruby” thuần túy sẽ tạo ra các ứng dụng bằng Ruby chứ không phải trong Rails. Mặc dù điều này, như một quy luật, không xảy ra. Chắc chắn có thể xây dựng các ứng dụng web bằng Ruby bằng cách sử dụng các framework khác như Sinatra, nhưng tôi sẵn sàng cá rằng 99% trường hợp bạn khó có thể được thuê làm lập trình viên chỉ dành cho Ruby. Vì vậy, bạn cần học Rails trong mọi trường hợp.

5. Tôi nên biết rõ về Ruby đến mức nào? Tôi nên học gì trước khi bắt đầu đào tạo?

Có nhiều ý kiến ​​​​khác nhau về vấn đề này, nhưng với ví dụ về xe tải lớn, tôi nghĩ bạn cần phải thoải mái với Ruby để tìm hiểu sâu hơn về Rails. Giống như, tốt hơn hết là bạn nên học đi xe đạp trước khi chuyển sang ô tô, sau đó mới nghĩ đến việc lái xe tải.

Và đây là một điều khác. Rất nhiều thời gian khi làm việc trên Rails sẽ được dành để viết mã bằng Ruby. Vì lý do này, bạn cần phải biết rõ ngôn ngữ này, đặc biệt là những điều cơ bản về nó: kiểu dữ liệu, phương thức, hướng đối tượng, gỡ lỗi và nhiều hơn thế nữa. Và bạn không cần phải là một lập trình viên Ruby cực kỳ giàu kinh nghiệm - bạn chỉ cần cảm thấy tự tin khi làm việc với nó, giống như vịt gặp nước.

6. Tại sao tôi nên học Rails? Điều gì làm cho nó đặc biệt?

Nó tinh tế và đơn giản là tuyệt đẹp. Bạn còn muốn biết gì nữa không? Khi Rails lần đầu tiên xuất hiện, nó đã trở thành một khám phá và thành tựu thực sự của nghệ thuật thiết kế. VỚI thực hành tốt nhấtđã được tính đến khi nó được tạo, Rails thực tế sẽ đưa bạn đến con đường viết mã tuyệt vời, ngay cả khi bạn không muốn (hoặc không biết cách thực hiện).

Nếu bạn muốn xây dựng các ứng dụng web mạnh mẽ có thể phát triển khi cần thiết đồng thời dễ bảo trì trong tương lai thì Rails là một lựa chọn tuyệt vời. Thêm vào đó, nó phổ biến ở nhiều công ty thú vị. Lý do quan trọng cuối cùng khiến Rails trở nên phổ biến trong giới khởi nghiệp là vì nó rất tuyệt vời cho việc tạo nguyên mẫu nhanh. Chỉ trong vài giờ bạn có thể tưởng tượng, tạo và khởi chạy ứng dụng Rails mà bạn cần. Thực tế có rất ít framework khác có thể xử lý việc này.

7. Bạn có thể tạo ra những gì với Rails?

Bạn muốn tạo ra cái gì? Rails phù hợp với mọi ứng dụng web. Để minh họa, hãy xem các ví dụ tuyệt vời về các trang web được xây dựng bằng Rails: Hulu, Airbnb và Basecamp.

8. Tôi có thể tạo ứng dụng di động bằng Rails không?

Có và không. Bạn sẽ không thể tạo các ứng dụng di động bằng Rails, nhưng với Rails bạn chắc chắn có thể tạo một ứng dụng web và sử dụng nó làm back-end cho ứng dụng di động.

Ngoài ra còn có công cụ RubyMotion giúp tạo rất dễ dàng ứng dụng gốc dành cho iOS và Android trong Ruby (nhưng không phải Rails). Nghĩa là, bạn sẽ KHÔNG ĐẶC BIỆT sử dụng Rails để tạo ứng dụng di động cho Cửa hàng ứng dụng, nhưng Rails chắc chắn có thể trở thành một phần quan trọng trong dự án di động. Tôi hy vọng hình ảnh bây giờ rõ ràng hơn.

9. Ruby on Rails - Tôi có thể nhận được loại công việc nào?

Rails là một trong những kỹ năng được yêu cầu nhiều nhất hiện nay, vì vậy có rất nhiều công ty để lựa chọn làm việc cùng. Các công ty khởi nghiệp như Zearn đặc biệt yêu thích Rails. Đây là một công ty CNTT giáo dục phi lợi nhuận mới thành lập. Bạn cũng có thể chọn thêm công ty lớn như Bloomberg và tham gia phát triển các trang web và ứng dụng được hàng triệu người dùng sử dụng. Làm việc tự do cũng là một lựa chọn tốt cho các nhà phát triển Rails. Độc lập, bạn sẽ có thể chọn những dự án bạn muốn tham gia: nhỏ và ngắn hạn hoặc nghiêm túc và dài hạn.

10. Tôi đã thử ngôn ngữ lập trình khác nhưng tôi không thích nó. Tôi có nên thử Rails không?

Tôi muốn nhấn mạnh một lần nữa - Rails trên thực tế không phải là ngôn ngữ lập trình mà là một framework. Nếu bạn từng tự hỏi liệu có ích gì không khi cố gắng yêu thích bất kỳ ngôn ngữ lập trình nào, thì tất cả những gì tôi có thể nói là Ruby là ngôn ngữ lập trình được người dùng tôn kính và yêu thích nhất trên thế giới. Vì vậy tôi sẽ không ngừng lập trình cho đến khi bạn thử Ruby.

11. Tôi có nên học JavaScript cùng với Rails không?

Thay vào đó - không. Ngoài ra – KHÔNG BAO GIỜ.

Nhà phát triển Rails sẽ phải học JavaScript(). Đây không phải là yêu cầu để học Rails, nhưng nó là một kỹ năng mà bạn sẽ cần khi học.

Thành thật mà nói, khi bạn dần tiến sâu hơn vào lĩnh vực công nghệ, bạn sẽ bắt đầu nhận ra rằng mình sẽ phải có khá nhiều kỹ năng (về cơ bản, điều này có nghĩa là mọi người nên cố gắng trở thành Nhà phát triển Full-Stack). May mắn thay, khi tích lũy được kinh nghiệm, bạn sẽ thấy việc học cả ngôn ngữ mới và framework mới sẽ dễ dàng hơn.

Về việc nên chọn JavaScript hay Rails, tôi sẽ nói thẳng với bạn rằng bạn không thể sai được. Tôi thấy Ruby dễ học hơn nhiều so với JavaScript. Ngoài ra, tôi biết nhiều người nhận thấy JavaScript dễ dàng hơn sau lần đầu học Ruby. Tuy nhiên, như tôi đã nói ở trên, bạn chắc chắn không thể sai lầm nếu học cả hai.

12. Khóa đào tạo sẽ kéo dài bao lâu?

Bạn sẽ phải dành bao nhiêu thời gian mỗi ngày cho việc học? Tôi nghĩ để hiểu rõ về Rails cần phải đào tạo tận tâm trong vài tháng. Nhưng giống như bất kỳ kỹ năng nào khác, bạn sẽ cần hàng chục nghìn giờ để trở thành chuyên gia Rails, vì vậy tốt nhất hãy bắt đầu ngay bây giờ.

Về tốc độ học tập ảnh hưởng lớn sẽ cung cấp trình độ kiến ​​​​thức của bạn trong lĩnh vực lập trình nói chung. Nhưng nếu bạn người mới hoàn thành, đáng để thử bắt đầu với Ruby và Rails.

13. Ruby on Rails – Bắt đầu từ đâu?

Tôi khuyên bạn nên bắt đầu với khóa học Ruby on Rails tốt nhất hiện nay. Nếu bạn chưa viết một dòng mã nào trong đời, điều đầu tiên bạn nên làm là tham gia khóa học HTML và CSS. May mắn thay, khá dễ dàng để tìm thấy các khóa học về HTML và CSS. Sau đó, bạn sẽ cần học Ruby, Git và dòng lệnh.

Chương trình đào tạo thường sẽ giới thiệu dần dần cho bạn về Rails, hướng dẫn bạn cách làm việc với Sinatra và ActiveRecord. Điều này vẫn chưa cho bạn biết điều gì, nhưng vấn đề là trước khi bạn vận chuyển chiếc "xe tải" mà tôi đã đề cập trước đó, bạn phải bắt đầu với khóa học đơn giản lái xe trên Rails.

Điều tốt nhất nên làm khi học là tạo dự án của riêng bạn, làm việc gì đó và phát triển, hiểu rằng bạn đang đi đúng hướng và cũng có hỗ trợ tốt! Trong quá trình học, bạn sẽ có hàng triệu câu hỏi nhỏ, và để đạt được kết quả tốt nhấtĐiều quan trọng là bạn phải có người có thể giúp bạn tìm ra vấn đề và cho bạn một số lời khuyên nếu gặp khó khăn.

Alexander là người sáng lập dự án trang web “Phòng thí nghiệm thành công trên Internet”, được tạo ra để hỗ trợ các doanh nhân khởi nghiệp và tiếp tục làm việc trên Internet. Anh ấy là một người nghiện công việc với kinh nghiệm chuyên môn trong việc quản lý tòa soạn một tạp chí trực tuyến, tạo và quản lý cửa hàng trực tuyến của riêng mình. Nghề nghiệp chính: quảng bá doanh nghiệp (bao gồm cả cửa hàng trực tuyến) thông qua Facebook và Google Adwords. Sở thích chính: kiếm tiền từ trang web thông qua các công cụ tiếp thị liên kết và Google Adsense. Hồ sơ cá nhân được xác nhận: 3 triệu lượt truy cập blog mỗi tháng.

Tài sản chính của bất kỳ nhà thiết kế web nào là có thể hiểu - và thậm chí sắp xếp - những gì đang diễn ra ở hậu trường.

Ít nhất, bạn nên học một số bài học lập trình. Tôi không nói về ngôn ngữ front-end, loại HTML và CSS - có thể bạn đã biết nhiều về những thứ này. Tôi đang nói về những thứ phía sau.

Nếu bạn biết cách đặt nền móng thì bạn có thể hiểu rõ hơn cách thiết kế phần còn lại của trang web. Vấn đề là việc học viết mã sẽ giúp bạn trở thành một nhà thiết kế uyên bác hơn. Ngoài ra, ai lại không muốn thuê một nhà thiết kế biết mọi thứ từ thiết kế đến phát triển trang web?

Bí quyết là chọn nơi bắt đầu. Học lập trình có thể quá trình phức tạp, đặc biệt nếu bạn chọn một trong những ngôn ngữ phức tạp hơn như C++ hoặc PHP.

Vì vậy, nơi tốt nhất để bắt đầu là gì? Chỉ có một câu trả lời: Ruby on Rails là một trong ngôn ngữ tốt nhất lập trình và một khuôn khổ để học những điều cơ bản về thiết kế.

Tại sao Ruby là sự lựa chọn tốt nhất?

Đối với người mới bắt đầu, Ruby là một trong những ngôn ngữ đơn giảnđể tìm hiểu, đặc biệt nếu bạn có một số kinh nghiệm viết HTML hoặc CSS, điều mà hầu hết các nhà thiết kế đều làm.

Một trong những chương trình đầu tiên bạn sẽ làm khi bắt đầu học một ngôn ngữ là "Xin chào thế giới!", chương trình này liên quan đến việc in những từ đó lên màn hình.

Với các ngôn ngữ như C++, có thể có từ năm đến bảy dòng mã chỉ để hiển thị hai từ đó. Nhưng nếu bạn sử dụng Ruby thì sẽ chỉ có một dòng và một lệnh.

Đặt "xin chào, thế giới!"

Đó là tất cả! Đó là tất cả những gì bạn cần để gõ dòng chữ "Xin chào thế giới!" trên màn hình. Khá dễ dàng phải không?

Ruby on Rails cũng là một ngôn ngữ rất khô khan. Là một trong những nguyên tắc phát triển, DRY là viết tắt của "Đừng lặp lại chính mình" - nghĩa là không lập trình lại một phần tử khi bạn có thể sử dụng phần tử bạn đã tạo. Điều này làm cho Ruby trở thành ngôn ngữ lập trình rất dễ sử dụng và được sử dụng phổ biến để phát triển vì nó nhằm mục đích hoàn thành một dự án một cách nhanh chóng và hiệu quả.

Ruby hay Rails?

Ruby là một ngôn ngữ lập trình. Rails là một framework sử dụng Ruby để hoàn thành công việc. Khung Ruby on Rails là một tập hợp mã đúc sẵn hoặc viết sẵn giúp tăng tốc quá trình tạo dự án mới. Ban đầu, nó được tạo ra để phát triển công cụ quản lý dự án Basecamp. Ngoài Basecamp, còn có các ứng dụng web phổ biến khác được xây dựng bằng Rails, chẳng hạn như 500px, ThemeForest và MyFitnessPal.

Khi bạn hiểu cách làm việc với ngôn ngữ Ruby và làm cho mọi thứ hoạt động trong khung Ruby On Rails, bạn có thể bắt đầu xây dựng các ứng dụng web.

Ruby đang ở đỉnh cao của sự nổi tiếng!

Nhờ sự bùng nổ của sự nổi tiếng thiêt bị di động và công nghệ luôn được kết nối, Ruby hiện cực kỳ phổ biến. Và có lẽ nó sẽ tiếp tục như vậy. Chỉ số TIOBE xếp Ruby là ngôn ngữ lập trình phổ biến thứ 13. Theo xu hướng mới nổi, Ruby cũng đang có nhu cầu cao đáng ngạc nhiên, theo Indeed.com.

Chỉ số TIOBE

Dù thế nào đi nữa, nhu cầu hay mức độ phổ biến, Ruby đều khá phổ biến. Điều này khiến anh trở thành một trong những địa điểm tốt nhất hãy bắt đầu vì một khi bạn đã thành thạo ngôn ngữ này, bạn có thể kiếm được việc làm khá nhanh chóng. Và đó là trước khi bạn bắt đầu học một ngôn ngữ khác để mở rộng kỹ năng của mình.

Ruby có một nền tảng vững chắc!

Đúng là một số ngôn ngữ khác đã xuất hiện nhiều hơn, nhưng ngay cả như vậy, sự hỗ trợ và tài liệu vẫn mờ nhạt so với những gì có sẵn cho Ruby. Các ngôn ngữ khác cũng thiếu sự gắn kết cộng đồng xung quanh một framework được hỗ trợ mạnh mẽ.

Nhờ khung Ruby On Rails, đã có rất nhiều mã có sẵn mà bạn có thể sử dụng trong các dự án của riêng mình. Ruby Gems, một thư viện Ruby framework, có hơn 600.000 thư viện để bạn lựa chọn.

Mỗi khi bạn học được điều gì đó mới, bạn cần rất nhiều tài liệu và sự hỗ trợ. Có rất nhiều nơi để tìm tài liệu giáo dục, hướng dẫn, hướng dẫn và thậm chí cả diễn đàn Hỏi đáp. Nếu bạn gặp phải vấn đề cụ thể, một tìm kiếm đơn giản trên web có thể sẽ khắc phục được sự cố đó. Nó quan trọng.

Tài liệu đơn giản và dễ dàng truy cập cần hỗ trợ khi bạn đang học Ngôn ngữ mới- khi bạn thực sự đang học điều gì đó mới.

Ruby "cho phép" kiểm soát nhiều hơn về thiết kế

Nếu bạn chỉ là một nhà thiết kế web, việc tạo một trang web có thể là một quá trình lâu dài và phức tạp. Khi bạn ngồi lại với một lập trình viên và thảo luận về back-end cần thiết cho trang web của mình, bạn thường phải hy sinh giao diện người dùng để mọi thứ hoạt động bình thường.

Cuối cùng, điều này có thể tạo ra một sản phẩm trông hoàn toàn khác so với hình ảnh ban đầu của bạn. Lập trình viên có thể không quan tâm, nhưng đối với bạn nó có thể sẽ có vấn đề.

Bạn sẽ không gặp phải vấn đề trường hợp này, nếu bạn tự lập trình. Bạn không nhất thiết phải phụ thuộc vào người khác để hoàn thành một dự án và bạn sẽ hiểu rõ hơn nhiều về những gì có thể đạt được từ góc độ phát triển. Chắc chắn đã có lúc mục tiêu dự án của bạn quá cao đối với một lập trình viên hoặc nhóm phát triển? Khi bạn học một ngôn ngữ như Ruby, bạn có thể dễ dàng hiểu được nhu cầu và khả năng của ngôn ngữ đó.

Về cơ bản, Ruby được thiết kế để sử dụng trong các ứng dụng web và phát triển web, khiến nó trở thành một nơi lý tưởng cho các nhà thiết kế web đầy tham vọng. Khi bạn hiểu ngôn ngữ và tìm hiểu cách sử dụng khung Ruby on Rails, bạn sẽ có nhiều quyền kiểm soát hơn đối với các dự án của mình.

Học Ruby ở đâu?

Cách tốt nhất để học một ngôn ngữ là đắm mình vào nó và làm việc với nó. Có rất nhiều hướng dẫn và hướng dẫn mà bạn có thể tham khảo. Nếu bạn đã phát triển bộ nhớ hình ảnh, và hiểu rõ hơn nhờ phần trình bày trực quan, sau đó vào YouTube - có sự lựa chọn lớn video đào tạo.

Nếu bạn muốn đào tạo theo phong cách lớp học truyền thống, bạn có thể tham gia đào tạo trên các trang web lập trình đặc biệt. Bạn không cần phải học đại học hoặc cao đẳng để có được việc làm.

Một trong những tài nguyên yêu thích của tôi - và hoàn toàn miễn phí - để học Rails là Hướng dẫn về Rails của Michael Hartle. Nó đưa bạn từ các dự án đơn giản đến phức tạp theo tốc độ học tập của riêng bạn và bạn có thể bắt đầu lại từ đầu mà hoàn toàn không có kiến ​​thức về Ruby on Rails.

Cho dù bạn chọn con đường học tập nào, hãy nhớ rằng, luyện tập sẽ tạo nên sự hoàn hảo. Đặt mục tiêu cá nhân là dành một khoảng thời gian nhất định mỗi ngày để làm việc với Ruby. Hãy bám sát những mục tiêu này và kiên trì. Trước khi bạn hoàn toàn hiểu được ngôn ngữ này, bạn đã là một chuyên gia có thể tạo ra những dự án tuyệt vời.

Ruby bắt đầu được phát triển vào ngày 23 tháng 2 năm 1993 và được phát hành vào năm 1995. Cái tên này được lấy cảm hứng từ ngôn ngữ Perl, nhiều cú pháp và ngữ nghĩa được mượn từ Ruby (ngọc trai - “ngọc trai”, ruby ​​​​- “ruby”). Mục tiêu của sự phát triển là tạo ra một ngôn ngữ lập trình có thể diễn giải và hướng đối tượng thực sự, dễ phát triển.

Ngôn ngữ có tính độc lập hệ điều hành triển khai đa luồng, gõ động mạnh, thu gom rác và nhiều tính năng khác. Việc triển khai đa nền tảng của trình thông dịch ngôn ngữ là hoàn toàn miễn phí.

Ruby on Rails (RoR) là một framework được viết bằng ngôn ngữ lập trình Ruby. Anh ấy thực hiện mẫu kiến ​​trúc Model-View-Controller cho các ứng dụng web, đồng thời cung cấp khả năng tích hợp của chúng với máy chủ web và máy chủ cơ sở dữ liệu. Đang mở phần mềm và được phân phối theo giấy phép MIT.

Để giúp bạn tìm hiểu những công nghệ này, chúng tôi đã biên soạn tuyển tập sách. Như mọi khi, nếu bạn biết một cuốn sách không có trong tài liệu này, hãy chia sẻ nó trong phần bình luận.

Cuốn sách này dành cho những ai muốn viết Ruby như một người chuyên nghiệp. Nó cho bạn biết cách thiết kế các API đẹp mắt và làm việc với các kỹ thuật lập trình chức năng. Cuốn sách không phù hợp với người mới bắt đầu nhưng với những ai đã hiểu biết về Ruby thì chắc chắn sẽ rất hữu ích.

Mục đích của cuốn sách này là dạy người đọc sử dụng ngôn ngữ Ruby một cách hiệu quả. Cuốn sách bao gồm Ruby 2.1. Ấn phẩm bao gồm khoảng 400 ví dụ khác nhau, kèm theo lời trình bày rõ ràng về vấn đề và giải pháp với các nhận xét chi tiết.

Cuốn sách có ngưỡng đầu vào khá thấp. Bạn không cần phải biết những điều cơ bản về phát triển web để tìm hiểu nó. Cuốn sách đề cập đến Ruby on Rails, một framework phổ biến để phát triển các ứng dụng web từ đầu. Tác giả Michael Hartl, ngoài Ruby on Rails, còn giới thiệu đến người đọc những kiến ​​thức cơ bản về chính ngôn ngữ Ruby, ngôn ngữ truy vấn SQL, CSS, HTML. Cuốn sách dành nhiều sự quan tâm công dụng thực tế khả năng khung. Bạn cũng có thể đọc một đoạn của cuốn sách.

Và cuốn sách này sẽ hữu ích cho người mới bắt đầu. Độ phức tạp của nó tăng dần và mỗi phần tiếp theo sử dụng các kỹ năng có được ở phần trước.

Với “Học Ruby”, bạn sẽ học trong thực tế tất cả các khả năng của ngôn ngữ này một cách dễ dàng và thú vị, điều này lần đầu tiên nhanh chóng chiếm được cảm tình của các lập trình viên ở California và sau đó là ở Nga.

Sau khi đọc cuốn sách này, bạn sẽ học cách viết mã tinh tế bằng cách sử dụng tất cả các tính năng của nó. tính năng độc đáo.

Cuốn sách này đi sâu vào chi tiết tổ chức nội bộ Ngôn ngữ Ruby. Người đọc không cần phải biết về Ruby nhưng kiến ​​thức về C và đặc biệt là các nguyên tắc OOP sẽ là một điểm cộng rất lớn.

Cuốn sách này rất hay để bắt đầu với Ruby. Nó bao gồm tất cả những điều cơ bản cần thiết, từ cài đặt ngôn ngữ đến xử lý tệp và OOP. Mỗi chủ đề được cung cấp ví dụ rõ ràng.

Cuốn sách này nói về một trong những tính năng thú vị nhất của Ruby - khối. Chúng tương tự như các bao đóng và lambda và được sử dụng như trong cấu trúc đơn giản ngôn ngữ như các khối và trong kỹ thuật phức tạp.

Cuốn sách này được chia thành nhiều phần có độ khó khác nhau. Đầu tiên chúng ta nói về cách thiết lập và các tính năng cơ bản của Ruby, sau đó chúng ta nói về thư viện chuẩn và các chủ đề nâng cao.

Cuốn sách này trình bày những kiến ​​thức cơ bản về phát triển web bằng cách sử dụng framework Ruby on Rails phổ biến. Để giúp người đọc có ý tưởng làm việc với các dự án thực tế, cuốn sách bao gồm các ví dụ sử dụng Git, GitHub và Heroku.

Cuốn sách này nói về việc sử dụng các nguyên tắc OOP trong các dự án web Ruby on Rails. Trọng tâm chuyển sang một bên giải pháp thiết thực, tận dụng tối đa "cách Rails" và cách tiếp cận hướng đối tượng.

Ngày tốt!

Lời nói đầu

Tôi đã từng muốn tìm hiểu thêm về Rails nhưng không biết bắt đầu từ đâu cho đến khi bài viết này lọt vào mắt tôi. Tiếp theo bạn sẽ thấy bản dịch được trộn lẫn với trải nghiệm riêng và những bước ngoặt từ vựng và ngữ pháp đặc trưng của tôi. Vì vậy, hãy đi thôi.

Giới thiệu

Tôi có nhiều kinh nghiệm làm việc với PHP, nhưng hiện tại tôi đang làm nhà phát triển Rails. Thách thức lớn nhất đối với hầu hết những người đang cố gắng học một điều gì đó mới chính là quá trình học tập. Khi bạn thành thạo một ngôn ngữ hoặc framework và biết rõ về nó, việc chuyển sang một ngôn ngữ mới dường như không cần thiết.

Tuy nhiên, việc học Ruby on Rails khá dễ dàng. Đó là một framework cực kỳ mạnh mẽ có một cộng đồng khổng lồ thúc đẩy nó phát triển. Vì vậy, câu hỏi chúng ta có là: cách tốt nhất để học Rails là gì? Đây rồi - giáo án.

bài viết này là kế hoạch đầy đủ những bài học cần thiết để làm quen với Rails và bắt đầu làm việc với nó trong thời gian ngắn nhất. Tất cả những gì bạn cần làm là làm theo các bước dưới đây, được liệt kê theo thứ tự.

Điểm 1: Làm bài tập trong Try Ruby

Bạn có thể nghĩ rằng học Ruby là điều tốt nhất ở đây bước quan trọng, nhưng điều đó không đúng. Một số người bắt đầu Nghiên cứu chi tiết Ruby, ngừng học hỏi và chỉ ở lại với ngôn ngữ và framework hiện tại. Đừng làm thế!. Đừng ngại học ngôn ngữ này (hoặc bất kỳ ngôn ngữ nào khác). Ruby là một ngôn ngữ thú vị, tuyệt vời và dễ học. Ngoài ra, đừng quên rằng bạn không cần phải học nó 100%. Bạn chỉ cần biết những điều cơ bản.

Công cụ được khuyên dùng nhất để tìm hiểu cú pháp Ruby là trang web TryRuby. Nó cung cấp một môi trường tương tác cho phép bạn thử cú pháp thực tế. Nếu bạn quay số giúp đỡ, bạn sẽ được mời xem phần hướng dẫn dài 15 phút sẽ hướng dẫn bạn những kiến ​​thức cơ bản. Đừng quên rằng hướng dẫn này có hai chương, bạn có thể đọc bằng cách gõ giúp đỡ 2.

Nếu bạn làm tốt những nhiệm vụ này trong một thời gian, bạn sẽ có cơ sở tốt kiến thức. Tất cả những gì tôi làm đầu tiên là nghiên cứu hai cuốn sách hướng dẫn này. Phần còn lại tôi học được trong quá trình phát triển các trang web trên Rails, cũng như qua Google và luyện tập với IRB.

Điểm 2: Cài đặt Ruby và Ruby trên Rails

Nếu bạn muốn học Rails, chắc chắn bạn sẽ phải cài đặt nó trên máy tính của mình. Dưới đây là một số giải pháp dựa trên hệ điều hành bạn có. Nếu bạn có máy tính chạy Mac hoặc Linux thì tôi khuyên bạn nên sử dụng RVM. Đây là một công cụ tuyệt vời để cài đặt Ruby. Trên thực tế, đây là hướng dẫn cài đặt. Nếu bạn có Windows thì bạn sẽ phải sử dụng RubyInstaller.

Bước tiếp theo là cài đặt Rails. Để làm được điều này bạn cần cài đặt RubyGems. Nếu bạn đang sử dụng RVM thì xin chúc mừng - bạn đã cài đặt RubyGems. Nếu bạn có Windows, thì tôi khuyên bạn nên theo dõi tại đây. Để cài đặt Rails bạn cần sử dụng lệnh đường ray cài đặt đá quý và sau đó, mọi thứ đã xong!

Mục 3: Đọc phần giới thiệu về Rails của Jeffrey Way


Trong video màn hình dài 40 phút này, Jeffrie Way sẽ hướng dẫn bạn những điều bạn cần biết để sử dụng Rails. Trong đó bạn sẽ tìm thấy rất nhiều thông tin hữu ích, bao gồm các chủ đề như:

  • Mô hình và máy phát điện
  • Phát triển dựa trên thử nghiệm (TDD)
  • Bản ghi hoạt động
  • RSpec và Capybara
  • một phần
và nhiều hơn nữa...

Điểm 4: Tham gia khóa học Rails For Zombies

Tôi luôn nghĩ rằng học bằng ví dụ là cách tốt nhất cách tốt nhất học một ngôn ngữ hoặc khuôn khổ. Một khóa học miễn phí và cực kỳ hiệu quả mà bạn chắc chắn nên xem là Rails For Zombies, được tạo bởi những người ở EnvyLabs. Khóa học này mang tính tương tác, nghĩa là sau khi xem từng video, bạn sẽ làm được những bài tập hữu ích và thú vị.

Cho đến thời điểm này, tôi đã nói với bạn về các công cụ tương tác và miễn phí. Thời gian nhận quà miễn phí đã hết! Bây giờ bạn nên mua một cuốn sách có tên Phát triển web linh hoạt với Rails. Nó được thiết kế để dạy bạn cách sử dụng Rails bằng cách xây dựng một trang web từ đầu. Cô ấy vượt qua nguyên tắc cơ bản cơ bản, chẳng hạn như bộ điều khiển, mô hình, giàn giáo, kiểm tra chức năng và cả một chút AJAX. Mua ít nhất là phiên bản mới nhất.

Điểm 6: Xây dựng một blog đơn giản

Tôi biết điều này nghe có vẻ khá nhàm chán (ít nhất là với tôi), nhưng đây là một ví dụ tuyệt vời được sử dụng ở mọi nơi vì nó khá đơn giản và viết nhanh. Bằng cách đi theo con đường này, bạn sẽ giúp củng cố kiến ​​thức và kỹ năng của mình. Nhưng tôi khuyên bạn không nên sao chép-dán (bạn sẽ không đạt được gì khi làm điều này, ngoại trừ có thể lãng phí 10 phút điện năng), mà hãy cố gắng viết dần dần, theo trí nhớ, đôi khi chỉ nhìn vào sách để xem làm thế nào. phương pháp này hoặc phương pháp kia hoạt động.

Điểm 7: Thêm tính năng mới vào blog của bạn

Tuyệt vời! Rốt cuộc thì bạn đã xây dựng được cái của mình chưa? blog riêng. Tuy nhiên, nó không có đầy đủ chức năng mà chỉ trình bày chức năng cơ bản vốn có trong mỗi blog. Được rồi, hãy làm việc một chút và thêm hệ thống xác thực.

Tôi thực sự không muốn ép bạn làm bất cứ điều gì khó khăn vào lúc này, bởi vì bạn đã làm việc chăm chỉ rồi. Bạn có thể sử dụng một số đá quý làm sẵn (ví dụ như Omniauth) làm hệ thống xác thực. Đồng thời, bạn sẽ tìm ra cách triển khai đá quý vào dự án của mình.

Tôi cũng khuyên bạn nên xem video màn hình này của Ryan Bates, trong đó mô tả việc tạo một hệ thống xác thực đơn giản từ đầu. Sau khi triển khai hệ thống, bạn nên thêm khả năng xóa/chỉnh sửa bài đăng nếu bạn chưa làm như vậy. Nếu nhiệm vụ đã hoàn thành thì đã đến lúc chuyển sang điểm tiếp theo.

Điểm 8: tạo ra thứ gì đó của riêng bạn

TRÊN ở giai đoạn nàyĐã đến lúc bạn trở nên sáng tạo hơn và nghĩ đến việc tạo ra một số loại dịch vụ (ví dụ: lưu trữ ảnh). Đừng dừng lại ở việc thiết kế trang web thứ hai của bạn. Lấy một cái gì đó làm sẵn. Ví dụ,