S
S
Sworg2014-11-16 16:18:46
Ruby on Rails
Sworg, 2014-11-16 16:18:46

Tell us about your journey as a rails developer. What did you start with?

The more detailed the better.
Thanks in advance.

Answer the question

In order to leave comments, you need to log in

6 answer(s)
S
Sergey, 2014-11-16
@Sworg

I suspect that the standard story is about the same for everyone.
guides.rubyonrails.org/getting_started.html and fuck the code while reading documentation, articles, books

V
Viktor Vsk, 2014-11-16
@viktorvsk

railstutorial.ru/chapters/4_0/beginning
Start with a framework (rails), not a language (ruby).
Google more often. Try to read only English-language information.
Use Linux (or Mac).
Unlike the common approach, first you do what would work :
- create logic using ORM - then figure out how SQL works
- use gems to implement a typical infrastructure (authentication, authorization, comments, email newsletters) - then deal with how it works
- first you make a prototype that works (describe the business logic), then look for bottlenecks that need to be optimized (if any).
Don't bike :
- you invent bicycles only in rare cases (for the rest, google best-practices, at the initial stage> 80% of the tasks you encounter have already been solved many times and in a very elegant way), and if you did, then share it with the community by organizing it in gem.
- Before you start solving a problem, first look for a solution here: https://www.ruby-toolbox.com/
- Try to maximize the use of specialized resources ( rubular , heroku ), which will make life easier at some stage .
- Immediately get used to things like firebug , byebug , pry , Ap
PS
So, probably, many will be confused by the approach to abandon bicycles, take advantage of the community, do things that just work and not understand the essence of some of them at the initial stage.
So, even though it's "shameful" not to know something (although when you know what you don't know, it's much easier to find out :)), because someone can ask you "Dude! You did THIS, took money for THIS , and now tell me, how did you do it? How does it work? What happens if X? And is there to do Y? And in a situation Z? "
And then you realize that you don’t know all this, you haven’t thought it through, but something already exists, it’s working, money has been paid, feedback has been received. And here, probably, one should be ashamed ... But apart from this thesis, I see no reason to abandon the proposed approach.
Let's imagine the simplest situation and try to weigh the pros and cons (probably, this question will be of interest to many for a long time)
You just decided to start learning Ruby on Rails. And then a friend turned up who needs a simple business card site with a simple admin panel.
Of course, you can spend a week or a month to figure out how to make the simplest authentication with bcrypt, how to set up rvm, unicorn, nginx on vps and rivet a bunch of views to edit something there
Or you can put devise, active admin and high voltage, receive money and see a working solution that satisfies the customer's requirements 100%. Although you don’t understand how it all works together.
What are the benefits?
- The ability to do real work and get real money almost immediately
- The ability to quickly do what you like yourself, instead of sawing 10 bicycles that you already got
- The ability to deal with business logic instead of infrastructure
- Using the experience of the community
- If you try " less to understand ready-made solutions yourself", you risk not inventing another bicycle, but doing everything according to best-practice (envrionments, deployment, svc, asset pipeline)
...
What are the disadvantages?
- Indeed, the moment the first more or less production comes out, you will not become Yoda for escaping quotes or an iconv master.
- You probably won't have time to invent a new "MVC" framework
- You don't want to "give the world another CMS"
- You don't read a bunch of "hack for dummies" tutorials because by the end of the first pseudo-project you'll realize how little good there is to start with
- And of course, if you're here, " because IT people are paid a lot", then you won’t go further, as they call it, junior.
And you can always figure out how it works inside - until you sign any binding contracts and NDA :) although you can after.
Just like premature optimization is bad. In the same way, it is very often bad to "get it right beforehand".
Basically, you need not to "fumble cool". Do not know the syntax of each command of the language and popular libraries by heart. Do not remember thoroughly what this or that piece of code does. And to understand where which solution is better to apply and why. And also, which way to go in a certain situation, in order to find a way out. And cramming the fundamentals, unfortunately, does not help here so often.
Or are there other downsides? By the way, notice that no one said "should you even do X". The question was, "what is the best thing to do first?".

P
Philipp, 2014-11-16
@zoonman

I can also recommend Rails for zombies and RailsCasts . And in general, https://www.codeschool.com/ itself is a very good resource for learning, there is really a small entry threshold - English, but for a programmer it should be a second native. Although the level of English in the lessons there is very low, so you can watch with basic knowledge of the language.

V
vsuhachev, 2014-11-16
@vsuhachev

As strange as it sounds, I started with Ruby :)

J
Jeket, 2014-11-28
@Jeket

Rails is not a panacea, but a very convenient framework. It is better to understand the very principle of how languages ​​work, as well as the device of the processor and memory allocation, this is the basis of the basics. Faced with the fact that programmers began to meet, spoiled by ORM, who do not even understand that you can connect to the database from the console and execute a select or other query directly in the database.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question