This question has already been answered:

I know that the topics are already visited. I just want some fresh advice. Can you recommend a VERY good book purely in Ruby, preferably only in Russian, until I can delve into the English language. I teach him to give correct names to variables.

Goal from the book

gain knowledge that will help:

  • Write the correct code to work with other services API.

For example : you can write some kind of library which you can then easily modify and use to work with another service that also has its own API, create a kind of basic template from which then go on.

  • correctly structure the files, each file in the appropriate folder

  • learn how to write their own parsers of various information on the Internet, collect content, clean it in regular intervals or by other means, send to the database after having remotely connected to another service

  • work with CRON

  • different demons to write

  • learn to work in streams

  • using ajax

Selection of material based on their preferences

In general, I like to create websites on various topics: Women, blogs, movies, cartoons, cars, etc. But I want to learn how to automate my actions because there are often moments of the same type of work that takes more than 1 hour. For example, here I am now thinking of creating a news site:

  • any ideas
  • ready optimization
  • template layout created

But it would probably be at least silly to collect every new thing on the Internet and publish it for yourself, and if you also want to write unique articles for them, then you can get better with sleep and life once and for all.

An excellent way out of the situation would be to write your own script that would work in offline mode and slowly without dosa collect information from the web, generate data in a format such as JSON and then send everything to the database, and from there I would go some kind of request for some kind of website dedicated to writing unique texts, such as text.ru and thanks to their API, I could create program requests to write a particular text there, and then everything is published on the site or something like that. In general, it is quickly invented scheme.

Can you advise me some worthy Kung Fu with which I can start?

Marked as a duplicate by participants Vladimir Martyanov , D-side , PashaPash 22 Mar '16 at 14:06 .

A similar question was asked earlier and an answer has already been received. If the answers provided are not exhaustive, please ask a new question .

  • You have spent more time writing a question than searching for existing ones. - Vladimir Martyanov
  • one
    @ Vladimir Martianov oh, antiquity what .-. But yes, the question is technically a duplicate, and since the best (more relevant) materials in Russian, as far as I know, have not appeared since. - D-side
  • @ D-side this question (and the answer to it) will turn into exactly the same antiquity literally in half a year. - PashaPash
  • @PashaPash in general, already current materials are already outdated, when Rails 5 is already in beta, and the last Ruby version 2.3 is new in syntax. And since the translation takes time, no improvements are expected on this front: \ - D-side

1 answer 1

The situation with books on Ruby in Russian is quite pitiable. They can say no, publishers in pursuit of popular Rails, completely ignored the translation of books on Ruby. As a result, the rubists and railmen learn the language and framework of English sources. Even if something is translated, it is not in demand, as the developers have already read it in English. Publishers conclude that the topic is not in demand, so there are very few sensible books in Russian. Russian-speaking readers can't get to Rails, since there are either no or very few Ruby books.

Ruby

  1. Flanagan D., Matsumoto Y. Ruby programming language. The book is from the creator of the language Matsumoto, consistent, although in some strange statement. The book can be used to learn a language.

  2. Hal Fulton, Andre Arco. Ruby's Way. Brand new book, covers Ruby 2.1. Examples of the use of language. Fulton himself declares that it is impossible to study the language in his book, since there is no systematic presentation of the language in it. In general, you can get to know, to learn thoroughly - it is difficult.

In English, but which would be desirable to read:

  1. Programming Ruby 1.9 & 2.0, 4th edition, Dave Thomas The foundational book on Ruby, which even has a nominal name among rubists: “Kirko-hoe,” on the cover image.

This is the primary level of language learning. Next you should definitely read the book on meta-programming, otherwise many moments of the language may still remain for you black magic. Sorry, the book is not translated

  1. Paolo Perrotta. Metaprogramming Ruby 2.

Then you can provide another list of 10 intelligent books that have not seen the translation.

Ruby Web Development

You will not be able to learn Ruby immediately create sites. You will have to additionally master one of the frameworks. The fact is that all modern Ruby frameworks are compatible with each other through the bundler package manager, on the one hand, and the common interface for interacting with Rack servers on the other. Therefore, the Web-ecosystem has long been a great framework. There are different Rails, Sinatra, Lotus frameworks, but 90% of gem libraries are compatible with all of them.

Ruby is often called modern LISP without brackets. The language is cunning and magical. The most interesting thing is that it makes it easy, like symbolic languages ​​like LISP and Prolog, to build your own DSL languages ​​like RSpec, Cucumber or powerful frameworks like Rails, which not only define the architecture for a Web application, they extend the language.

There are two paths to Ruby Web applications. You start through Rails and learn magic, biting into Ruby along the way. Or you learn Ruby, and then you study Rails. The problem is that learning Ruby is not as easy as it may seem at first glance. Object-oriented programming using blocks and mixins in Ruby is not inferior to OOP C ++ with its patterns, pointers and multiple inheritance. In general, using the same Rails and understanding it is often a difference of several years. Therefore, see how to go to Web-based applications: there is a quick way to start right away with Rails, there is a slow and solid one with Ruby, but the result is really long, although there will be no white spots for you, as can happen with a rail worker.

  1. Sam Ruby, Dave Thomas. Rails 4. Web application agility.

Up-to-date information on the Rails framework, to the credit of the publisher, is even updated

  1. Michael Hartl. Learning Rails on Examples.

An explanatory textbook that is constantly updated and translated.

  1. Obi Fernandez. Rails path.

An excellent book, unfortunately, in Russian only on Rails 2 - has become outdated shamelessly, in English it is understandable Rails 4 is a very thorough and consistent presentation of the framework.

  1. Alan Harris, Konstantin Haase. Sinatra: Up and Running

Required to read after learning Rails, gives an insight into how Ruby applications work at the Rack level.

  1. David Chelimsky. The RSpec Book.

Application Testing with RSpec. When you start exploring Rails, you will understand why this book is a must-read - building applications through tests, part of the Rails-community philosophy.

  • And what can you read about network programming on the Rabi? Not books about the riveting of sites, but the necessary theory for writing idle-scanners, programs for working with network protocols, http-exchange, sockets. - typemoon
  • 1. In Russian, correctly say "cut". 2. Yes, of course, be guided by books from the first list. Plus, pay extra attention to the Sinatra framework - it is closer to pure Ruby, most likely it will be interesting to you too. This is the 4th book from the Sinatra Web Programming List: Up and Running - cheops
  • one
    @cheops I suggest you add this information to the ruby tag description - Sanek Zhitnik
  • @typemoon for such tasks is enough to understand the language itself and the abstractions of this area. There are enough books about networks and OS, and books about Ruby are described above. - D-side
  • Something incomprehensible happens in this language. For example, when a block with the expression | x | is passed somewhere, how are the variables x sequentially assigned values? For example: 9.times {| x | print x}, not sure about correctness. Everything is hidden in black boxes, and the fact that he wrote in C and asm such a language makes the brain. Here everything important for understanding is hidden. - typemoon 2:01 pm