Learn Ruby and Rails


(Cédric) #1

Hi,

What do you advice for a Unix/Windows administrator who wish to create awesome web applications using Rails framework ?
What skills do we need in Ruby language to be able to survive in Rails ?
Do we need to master CSS, HTML, Javascript ?
Do we need to master Git ?
Which database to choose ? PostgreySQL, MySQL or Sqlite? MongoDB ?

Thank you very much for your replies!

Cheers,

Cédric


(Andy Jones) #2

What do you advice for a Unix/Windows administrator who wish to create
awesome web applications using Rails framework ?
What skills do we need in Ruby language to be able to survive in Rails ?
Do we need to master CSS, HTML, Javascript ?
Do we need to master Git ?
Which database to choose ? PostgreySQL, MySQL or Sqlite? MongoDB ?

FWIW, the opinion of someone who does web development in Ruby, but mostly not in Rails:

You absolutely do need to know CSS and HTML. You will need to know at least some Javascript -- and depending what you want your front end to look like, you might need to know a *lot* of Javascript, and maybe something like Vue or React, too.

You will absolutely, definitely need to use some sort of version control system: the benefits are so big that not doing so is rather like shooting yourself in the foot before you get started. Git is the most popular. I use Mercurial. It doesn't matter which, just use one.

Since Rails is written in Ruby, you will need at least a basic understanding of it. I'm of the opinion that the more Ruby you know the better -- I would say that, though? But you can get by with a basic understanding, at least to start with. You will have to learn Rails separately from learning Ruby, anyway.

WRT databases, I don't think anyone would recommend Sqlite for an application database. Any of the other three are a perfectly good choice. I would personally recommend PostgreSQL, but that's just me.

Missing from your list: a testing framework. I would recommend RSpec. It's well-integrated with Rails and friendly to the newcomer. (But Minitest is excellent, too.)

Good luck! Learning all this in one gulp is a bit like juggling bulldozers, but we all have to do it...

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>


(Eugeniu T.) #3

Hi.
I just want to advice you to not use Windows :slight_smile:
Use Linux or Mac (OSX). Using windows you will find a lot of problems and
bugs not all libraries will work or not everything will work as expected...
if you just start with rails do not use windows or probably you will stop
to use rails :slight_smile:

:slight_smile:
GL

···

2018-04-20 9:32 GMT+02:00 Andy Jones <Andy.Jones@jameshall.co.uk>:

>>>>>>>>
What do you advice for a Unix/Windows administrator who wish to create
awesome web applications using Rails framework ?
What skills do we need in Ruby language to be able to survive in Rails ?
Do we need to master CSS, HTML, Javascript ?
Do we need to master Git ?
Which database to choose ? PostgreySQL, MySQL or Sqlite? MongoDB ?
<<<<<<<

FWIW, the opinion of someone who does web development in Ruby, but mostly
not in Rails:

You absolutely do need to know CSS and HTML. You will need to know at
least some Javascript -- and depending what you want your front end to look
like, you might need to know a *lot* of Javascript, and maybe something
like Vue or React, too.

You will absolutely, definitely need to use some sort of version control
system: the benefits are so big that not doing so is rather like shooting
yourself in the foot before you get started. Git is the most popular. I
use Mercurial. It doesn't matter which, just use one.

Since Rails is written in Ruby, you will need at least a basic
understanding of it. I'm of the opinion that the more Ruby you know the
better -- I would say that, though? But you can get by with a basic
understanding, at least to start with. You will have to learn Rails
separately from learning Ruby, anyway.

WRT databases, I don't think anyone would recommend Sqlite for an
application database. Any of the other three are a perfectly good choice.
I would personally recommend PostgreSQL, but that's just me.

Missing from your list: a testing framework. I would recommend RSpec.
It's well-integrated with Rails and friendly to the newcomer. (But
Minitest is excellent, too.)

Good luck! Learning all this in one gulp is a bit like juggling
bulldozers, but we all have to do it...

Click here to view Company Information and Confidentiality Notice.<
http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>


(Leam Hall) #4

I'm pretty much in line with Andy. Well, I use SQLite a bit here and there. And there. Over there, too....

My real question would be "Why Rails"? Building websites and using Rails are two different things. Rails is the most known Ruby based Web framework, but not the only one. I would look at Hanami or Roda first unless you really want to learn rails.


https://hanamirb.org/

For database I'd say start with SQLite first, just to learn the interconnection. Then you can spend time finding the right database for your application. Use the Sequel gem to connect to your database and transition will be much easier.

I'm working through "Effective Testing with RSpec3" and it uses a Sinatra (Another web framework) and Sequel. I've actually learned a bit about them just from learning more RSpec!

Moving data between browser and server is one thing. Making it look pretty (HTML, CSS) is another. Since you have a long list of things to learn, I'd start with this:

1. Git. Write some shell code and start using your github repository. Should take you less than a day to figure out the basics.
  http://github.com

2. Ruby. Have you done this?
  https://www.ruby-lang.org/en/documentation/quickstart/

3. RSPec (Though minitest is good, too).
  http://rspec.info/

4. Roda. Play with it. Enjoy it.

5. Sequel and SQLite. Just to figure out the connections. SQLite has very low requirements to set up.

That will take you a while to put together. It will put you on th eroad to mastery, but it is a long road. Enjoy it, don't try to sprint past it.

Leam

···

On 04/20/2018 03:32 AM, Andy Jones wrote:

What do you advice for a Unix/Windows administrator who wish to create
awesome web applications using Rails framework ?
What skills do we need in Ruby language to be able to survive in Rails ?
Do we need to master CSS, HTML, Javascript ?
Do we need to master Git ?
Which database to choose ? PostgreySQL, MySQL or Sqlite? MongoDB ?
<<<<<<<

FWIW, the opinion of someone who does web development in Ruby, but mostly not in Rails:

You absolutely do need to know CSS and HTML. You will need to know at least some Javascript -- and depending what you want your front end to look like, you might need to know a *lot* of Javascript, and maybe something like Vue or React, too.

You will absolutely, definitely need to use some sort of version control system: the benefits are so big that not doing so is rather like shooting yourself in the foot before you get started. Git is the most popular. I use Mercurial. It doesn't matter which, just use one.

Since Rails is written in Ruby, you will need at least a basic understanding of it. I'm of the opinion that the more Ruby you know the better -- I would say that, though? But you can get by with a basic understanding, at least to start with. You will have to learn Rails separately from learning Ruby, anyway.

WRT databases, I don't think anyone would recommend Sqlite for an application database. Any of the other three are a perfectly good choice. I would personally recommend PostgreSQL, but that's just me.

Missing from your list: a testing framework. I would recommend RSpec. It's well-integrated with Rails and friendly to the newcomer. (But Minitest is excellent, too.)

Good luck! Learning all this in one gulp is a bit like juggling bulldozers, but we all have to do it...


(Andy Jones) #5

My real question would be "Why Rails"? Building websites and using Rails
are two different things. Rails is the most known Ruby based Web
framework, but not the only one. I would look at Hanami or Roda first
unless you really want to learn rails.

I'm not the worlds biggest Rails fan, but one thing it definitely has going for it -- you can get a basic application from nothing to "looks dreadful but sort of works", *amazingly* fast. I mean, without writing any code at all, hardly.

Also, it's very popular, so it's good to put on a resume. :wink:

(I keep meaning to try Roda. So many things, so little time...)

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>


(Yonghua Peng) #6

I'm not sure, is rails still very popular?
I use ruby everyday, but not a rails fan.

···

On 2018/4/20 PM 5:36, Andy Jones wrote:

Also, it's very popular, so it's good to put on a resume.


(Andy Jones) #7

I'm not sure, is rails still very popular?
I use ruby everyday, but not a rails fan.

Well, I mean, popular in terms of things employers are looking for. Not necessarily in terms of what coders want to use -- although the Rails community is pretty huge.

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>


(Karthikeyan A K) #8

Rails is the third largest thing used to develop web apps, this comes after
PHP and ASP.Net. Regarding learning Rails I feel this tutorial is good
https://www.railstutorial.org/book ,

···

On Fri, Apr 20, 2018 at 3:09 PM, Yonghua Peng <ypeng@gmx.net> wrote:

On 2018/4/20 PM 5:36, Andy Jones wrote:

Also, it's very popular, so it's good to put on a resume.

I'm not sure, is rails still very popular?
I use ruby everyday, but not a rails fan.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>

--
Karthikeyan A K
Author of https://mindaslab.github.io/I-Love-Ruby/


(Leam Hall) #9

Agreed. Probably not as popular as PHP or Javascript, based on web developer LOC, but it would be a plus for a web dev job search. More so than Roda or Hanami.

However, I tend to look at my GitHub repositories as marketing tools. Much better to say "my current Ruby projects are publicly visible at..." than put a line on the resume "I know Ruby." What does "know" mean and it is the same between the hiring manager, their team, and the applicant?

Having well tested and documented code is my goal. When asked, I can prove the level of "know" and let them make their determination.

Hence my preference for a smaller web framework. I can learn Roda or Hanami faster than I can Rails and it seems like I have more control. I can put up a working project for view. It won't have the flashiest front end but the docs, tests, and code should be solid.

···

On 04/20/2018 05:53 AM, Andy Jones wrote:

I'm not sure, is rails still very popular?
I use ruby everyday, but not a rails fan.
<<<<<<<<

Well, I mean, popular in terms of things employers are looking for. Not necessarily in terms of what coders want to use -- although the Rails community is pretty huge.


(Cédric) #10

Why your choice for roda ? or hanami against rails ?

Thank's!

···

Le 2018-04-20 13:14, Leam Hall a écrit :

On 04/20/2018 03:32 AM, Andy Jones wrote:

What do you advice for a Unix/Windows administrator who wish to create
awesome web applications using Rails framework ?
What skills do we need in Ruby language to be able to survive in Rails ?
Do we need to master CSS, HTML, Javascript ?
Do we need to master Git ?
Which database to choose ? PostgreySQL, MySQL or Sqlite? MongoDB ?
<<<<<<<

FWIW, the opinion of someone who does web development in Ruby, but mostly not in Rails:

You absolutely do need to know CSS and HTML. You will need to know at least some Javascript -- and depending what you want your front end to look like, you might need to know a *lot* of Javascript, and maybe something like Vue or React, too.

You will absolutely, definitely need to use some sort of version control system: the benefits are so big that not doing so is rather like shooting yourself in the foot before you get started. Git is the most popular. I use Mercurial. It doesn't matter which, just use one.

Since Rails is written in Ruby, you will need at least a basic understanding of it. I'm of the opinion that the more Ruby you know the better -- I would say that, though? But you can get by with a basic understanding, at least to start with. You will have to learn Rails separately from learning Ruby, anyway.

WRT databases, I don't think anyone would recommend Sqlite for an application database. Any of the other three are a perfectly good choice. I would personally recommend PostgreSQL, but that's just me.

Missing from your list: a testing framework. I would recommend RSpec. It's well-integrated with Rails and friendly to the newcomer. (But Minitest is excellent, too.)

Good luck! Learning all this in one gulp is a bit like juggling bulldozers, but we all have to do it...

I'm pretty much in line with Andy. Well, I use SQLite a bit here and
there. And there. Over there, too....

My real question would be "Why Rails"? Building websites and using
Rails are two different things. Rails is the most known Ruby based Web
framework, but not the only one. I would look at Hanami or Roda first
unless you really want to learn rails.

https://github.com/jeremyevans/roda
https://hanamirb.org/

For database I'd say start with SQLite first, just to learn the
interconnection. Then you can spend time finding the right database
for your application. Use the Sequel gem to connect to your database
and transition will be much easier.

https://github.com/jeremyevans/sequel

I'm working through "Effective Testing with RSpec3" and it uses a
Sinatra (Another web framework) and Sequel. I've actually learned a
bit about them just from learning more RSpec!

Moving data between browser and server is one thing. Making it look
pretty (HTML, CSS) is another. Since you have a long list of things to
learn, I'd start with this:

1. Git. Write some shell code and start using your github repository.
Should take you less than a day to figure out the basics.
  http://github.com

2. Ruby. Have you done this?
  https://www.ruby-lang.org/en/documentation/quickstart/

3. RSPec (Though minitest is good, too).
  http://rspec.info/

4. Roda. Play with it. Enjoy it.

5. Sequel and SQLite. Just to figure out the connections. SQLite has
very low requirements to set up.

That will take you a while to put together. It will put you on th
eroad to mastery, but it is a long road. Enjoy it, don't try to sprint
past it.

Leam

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>


(Leam Hall) #11

Sorry for not responding earlier.

I prefer thin layers and more openness. Rails seems good if you want to do what rails does but from what I read in others there is a limit to what Rails does. My goals are simple websites with a lighter weight back end.

···

On 04/20/2018 06:43 AM, Cédric wrote:

Why your choice for roda ? or hanami against rails ?

Thank's!


(derrick) #12

Are there any good courses online for Roda? I was planning to learn ruby on rails and redo my website.

Derrick

------------------------------------------------------------------发件人:Leam Hall<leamhall@gmail.com>日 期:2018年04月21日 08:41:48收件人:Ruby users<ruby-talk@ruby-lang.org>主 题:Re: Learn Ruby and RailsSorry for not responding earlier.

I prefer thin layers and more openness. Rails seems good if you want to
do what rails does but from what I read in others there is a limit to
what Rails does. My goals are simple websites with a lighter weight back
end.

···

On 04/20/2018 06:43 AM, Cédric wrote:

Why your choice for roda ? or hanami against rails ?

Thank's!


(Leam Hall) #13

I did a Google search for "ruby roda video" and came up with a few. I tend to read books to learn, though. Web pages when a book isn't available.

I'd recommend the book "Effective Testing with RSpec3" if you aren't a testing wizard. It uses a small website buildout in the first few chapters. It has taught me a good bit about RSpec and testing websites.

···

On 04/21/2018 12:49 AM, derrick wrote:

Are there any good courses online for Roda? I was planning to learn ruby on rails and redo my website.

Derrick

    ------------------------------------------------------------------
    发件人:Leam Hall<leamhall@gmail.com>
    日 期:2018年04月21日 08:41:48
    收件人:Ruby users<ruby-talk@ruby-lang.org>
    主 题:Re: Learn Ruby and Rails

    Sorry for not responding earlier.

    I prefer thin layers and more openness. Rails seems good if you want to
    do what rails does but from what I read in others there is a limit to
    what Rails does. My goals are simple websites with a lighter weight
    back
    end.

    On 04/20/2018 06:43 AM, Cédric wrote:
     > Why your choice for roda ? or hanami against rails ?
     >
     > Thank's!

    Unsubscribe:
    <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
    <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>


(Leam Hall) #14

Give this a look, pretty interesting. Not a tutorial, but inspirational.

Leam

···

On 04/21/2018 12:49 AM, derrick wrote:

Are there any good courses online for Roda? I was planning to learn ruby on rails and redo my website.

Derrick


(Sneha Ramani) #15

hi,

I am working on project that is build on Java and Ruby(specially JRuyb).
Can you please help in knowing on how to call JRuby methods from Java
classes.

···

On Sat, Apr 21, 2018 at 6:11 AM, Leam Hall <leamhall@gmail.com> wrote:

Sorry for not responding earlier.

I prefer thin layers and more openness. Rails seems good if you want to do
what rails does but from what I read in others there is a limit to what
Rails does. My goals are simple websites with a lighter weight back end.

On 04/20/2018 06:43 AM, Cédric wrote:

Why your choice for roda ? or hanami against rails ?

Thank's!

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>