Da dove parto?

Salve a tutti, vorrei iniziare a sviluppare con ruby on rails. Fino ad
ora
ho lavorato solamente con php utilizzando map su mac.

Da una settimana circa sto tentando di capire da dove iniziare ma con
scarsi risultati. Quello che correi fare :

1 - preparare l’ambiente di sviluppo (mac con lino) per creare
applicazioni
web
2- avere una guida per iniziare da zero (in inglese o in italiano
indifferente).

Ho iniziato a leggere Ruby on Rails For Dummies ma a parte il fatto che
la
guida piuttosto datata (2007) ed “windows oriente” i tools che
consiglia non esistono pi o sono stati integrati con altri tools (ad
esempio RADRAILS con APTANA STUDIO 3

Altre guide online dicono ognuna di installare tools diversi
Dan Benjamin e come questa ce ne
sono
decine, ognuna con strumenti differenti.

Sapete darmi qualche suggerimento?

Anche per un buon manuale per partire.

Grazie

Fabrizio

Benvenuto sulla lista!

2011/12/12 Fabrizio F. [email protected]

1 - preparare l’ambiente di sviluppo (mac con lino) per creare applicazioni
web

Quello che va per la maggiore su Mac OSX RVM
http://rvm.beginrescueend.com/ e homebrew o macports per gestire
eventuali
dipendenze C come imagemagick, o databases (pgsql, mysql, redis).

2- avere una guida per iniziare da zero (in inglese o in italiano
indifferente).

Prova con il classico
Search - la
quarta edizione aggiornata all’ultima versione del framework.

Parti dal linguaggio. Rails un framework scritto in Ruby, quindi
innanzi
tutto devi conoscere almeno gli elementi essenziali del linguaggio Ruby.

E’ come voler sviluppare in Spring senza conoscere Java o Symfony senza
conoscere PHP.

Ti consiglio di cominciare dallo studio del linguaggio Ruby. Sperimenta
un
po’ con Ruby (ad esempio, se proprio vuoi interfacciarti al web puoi
giocare un po’ con Rack http://rack.rubyforge.org/), dopo di che
quando
ti sentirai sufficientemente confidente puoi cominciare a maneggiare
Rails.

Ci sono degli argomenti di Ruby che non puoi non conoscere se vuoi
avvicinarti a Rails (cos come qualsiasi altro framework Ruby-based) o ti
riuscir impossibile non andare avanti di copia-incolla. Argomenti come
Moduli, Classi, Mixin, Blocchi, Simboli per arrivare a Gem, RubyGems e
dipendenze, nonch ambiente di sviluppo e convenzioni.

– Simone

2011/12/12 Fabrizio F. [email protected]

Sapete darmi qualche suggerimento?


Simone C.
Application Developer

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Skype: weppos

Concordo con chi mi ha preceduto e aggiungo le seguenti risorse:

http://tryruby.org/

Come prerequisiti, faccio un +1 per homebrew e una volta installato
quello, il client git:

brew install git

Per installare ruby in locale, al posto di usare rvm (prodotto
validissimo) ti consiglio rbenv:

per il semplice fatto che si installa in maniera meno intricata ed
invasiva rispetto ad rvm.

Uno studio approfondito di ruby prima ancora di Rails tramite:

e successivamente “Agile web development with Rails” per le tematiche
web in concomitanza con il sempre verde:

Ruby on Rails Guides (che e’ gratuito ;-))

Have fun

2011/12/12 Simone C. [email protected]:

Concordo in parte, tryruby e qualche mini progettino in locale,
slegato da rails) sono sicuramente propedeutici ad una comprensione
“corretta” di rails.
Ovviamente non e’ necessario diventare un gran maestro di ruby prima
di poter assaggiare rails :wink:

2011/12/12 Davide R. [email protected]:

Parti dal linguaggio. Rails un framework scritto in Ruby, quindi innanzi
tutto devi conoscere almeno gli elementi essenziali del linguaggio Ruby.

non sono d’accordo. Non bisogna sapere ruby (almeno per iniziare con
rails).

non che ci sia molto ruby in:

has_many :comments

O meglio, c’e’ un sacco di ruby (symbols, metodi, etc) ma nel mio
modesto parere non e’ necessario sapere Ruby per iniziare con rails,
anzi forse e’ anche un po controproducente (finisce che riscrivi dei
metodi che gi’ esistono)

Io partirei da un classico:

ma e’ per rails 2.1 e potresti avere dei problemi se usi rails 3

Una presentazione divertente su rails 3.1:

ciao!

2011/12/12 Davide R. [email protected]

O meglio, c’e’ un sacco di ruby (symbols, metodi, etc) ma nel mio modesto
parere non e’ necessario sapere Ruby per iniziare con rails, anzi forse e’
anche un po controproducente (finisce che riscrivi dei metodi che gi’
esistono)

La vedo difficile, dato che se non conosci i fondamenti di Ruby non sai
neanche cosa sia un metodo e cosa una classe…

non che ci sia molto ruby in:

has_many :comments

Ed in che linguaggio pensi che sia scritta la macro has_many? Che
linguaggi
pensi che stai usando per invocare la macro?

Se per te programmare significa scrivere assemblare chiamate a metodi
Rails
(che poi peraltro sono metodi Ruby) senza capire cosa questi facciano e
perch agiscano in questo modo, allora hai ragione.

Ma se ti sei mai trovato a dover debuggare un problema, ottimizzare
un’applicazione o banalmente capire che cosa stai scrivendo… beh,
allora
non puoi pensare di non sporcarti le manu su Ruby.

E poi, parliamoci chiaro… qualsiasi cosa che tu scrivi con Rails *
Ruby*.
Non esiste differenza. Anche quando scrivi un task di Rake, un finder di
ActiveRecord… tutto Ruby.

Pensi che una persona che non sabbia che cosa sia un simbolo, una lambda
o
un metodo di classe capisca sia in grado di scrivere questa riga di
codice
senza averla copiata da qualche parte e capendo cosa effettivamente essa
produca?

class Model
scope :within_dates, lambda { |date| where(:created_at =>
date.to_date…Date.today) }
end

Io ho i miei dubbi…

Certo, per cominciare a giocare su Rails non serve avere le competenze
di
Aaron P… ma di certo non puoi fare a meno di capire la
differenza
tra una stringa ed un simbolo o un modulo ed una classe o extend ed
include.


Simone C.
Application Developer

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Skype: weppos

Flame! Flame! Flame!

/davide prepara il lanciarazzi di Unreal :slight_smile:

poi decide di passare alla modalit’ democristiana del tipo “abbiamo
ragione tutti” (ma senza vitalizio noi)

poi decide che alla fine un Flame e’ un Flame quindi:

“E’ tutto Ruby ma io me ne fotto, pensavo fosse Perl”

“Si impara a parlare, non si impara a parlare in italiano (o in inglese)
e modestamente, a me mi hanno imparato a parlare assai bene”

“Se avessi dovuto imparare le basi di ogni linguaggio per tutti i
framework che ho testato, sarei ancora li a giocare con gli Unsigned
Int”

“ora mi sto spupazzando Unity3D, scripting language disponibili:
Javascript, C# e Boo (cosa sia Boo poi boh, non si sa). Io ci scrivo gli
script in C# ma non ho mai studiato C#, che faccio mi leggo tutta la
documentazione della microsoft? Non sia mai!”

Cfr: post vari sull’argomento:

http://stackoverflow.com/questions/129991/should-i-start-with-ruby-or-ruby-on-rails

A parte gli scherzi, mi pica molto la lista nel post:

Da un’idea di cosa devi sapere di Ruby e di Rails per iniziare.

Ciao!

Il 12 dicembre 2011 13:14, Davide R. [email protected]
ha scritto:

Parti dal linguaggio. Rails è un framework scritto in Ruby, quindi innanzi
tutto devi conoscere almeno gli elementi essenziali del linguaggio Ruby.

non sono d’accordo. Non bisogna sapere ruby (almeno per iniziare con rails)….

non che ci sia molto ruby in:

has_many :comments

Ciao,

io ho seguito proprio questo approccio: RoR senza sapere niente di ruby.

Va benissimo se:

  • non ti servono risultati concreti, vuoi solo divertirti a mescolare
    incantesimi arcani per vedere l’effetto che fa;
  • ti piace fare programming by coincidence, e ti fa schifo sapere cosa
    stai facendo e perché;
  • preferisci sbatterti per una settimana su un problema idiota
    piuttosto che studiare due ore;
  • ami inventare e reinventare la stessa identica ruota sghemba così,
    senza motivo;
  • quello che potresti fare con tre righe di codice, preferisci farlo
    con cinquanta;
  • odi quando segui un tutorial e tutto va bene, ti piace molto di più
    quando non funziona una mazza di niente e non sai perché.

Premessa: il codice di Ruby on Rails è sterminato, per forza di cose
va preso un po’ così come viene, senza cercare troppo di capire che
fa, altrimenti ci vogliono anni.

Però, specie all’inizio, alcune cose aiutano. Nel mio caso, le cose
più oscure sono state:

  • distinzione tra classi e istanze, distinzione fra metodi di classi e
    metodi di istanze;
  • class variable (anche loro nel contesto della classe vs dell’istanza);
  • blocchi (closure): cosa sono e che fanno;
  • moduli e loro inclusione.

Quindi suggerisco un approccio misto, ossia: parti dai tutorial RoR;

  • quando qualcosa non funziona, tenta di capire perché ma, soprattutto:
  • quando qualcosa funziona, tenta di capire perché!

pietro

2011/12/12 Simone C. [email protected]:

2011/12/12 Davide R. [email protected]
[cut]
Se per te programmare significa scrivere assemblare chiamate a metodi Rails
(che poi peraltro sono metodi Ruby) senza capire cosa questi facciano e
perch agiscano in questo modo, allora hai ragione.
[cut]

piu’ che altro perche’ molto probabilmente finiresti a programmare con
il Cut’N’Paste Driven Development :wink:

Il 12/12/2011 13:53, Davide R. ha scritto:

A parte gli scherzi, mi pica molto la lista nel post:
Do I need to know Ruby in order to learn Ruby on Rails? - Stack Overflow

Da un’idea di cosa devi sapere di Ruby e di Rails per iniziare.

la risposta su stackoverflow sembra pittosto ironica. quella lista
contiene la
maggior parte degli aspetti di ruby e rails da conoscere. proprio quelli
citati
da Simone :wink:

2011/12/12 Davide R. [email protected]:

Flame! Flame! Flame!
[cut]

mi hai fatto lollare parecchio :smiley:

“Si impara a parlare, non si impara a parlare in italiano (o in inglese) e
modestamente, a me mi hanno imparato a parlare assai bene”

OT: Matz, in un suo talk ha esposto un concetto molto interessante: il
linguaggio che usi plasma il tuo modo di pensare.
(non riesco a recuperare il talk, parlava di z-pet, linguaggi 80% et
similia)

[cut]

Maurizio

OT: Matz, in un suo talk ha esposto un concetto molto interessante: il
linguaggio che usi plasma il tuo modo di pensare.

“Popularly known as the SapirWhorf hypothesis, or Whorfianism, the
principle is often defined a having two versions: (i) the strong
version that language determines thought and that linguistic
categories limit and determine cognitive categories and (ii) the weak
version that linguistic categories and usage influence thought and
certain kinds of non-linguistic behavior.”


David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/

OT: Matz, in un suo talk ha esposto un concetto molto interessante: il
linguaggio che usi plasma il tuo modo di pensare.

Perfettamente d’accordo con te :slight_smile:

Infatti credo che Perl mi abbia rovinato la vita (ehm)

Ma quello che mi spaventa dell’approccio: prima ruby poi rails , e’ il
“blocco”.

Gia’ Rails e’ un bel bagaglio di informazioni, se ci aggiungiamo Ruby
cos, da subito, finisce che l’ipotetico programmatore si stufa prima di
scrivere una sola riga di codice.

Quindi, anche se sono d’accordo sul fatto che alla lunga, il nostro
programmatore dovra’ imparare Ruby, credo che all’inizio sia meglio se
si butta nel framework e comincia a giocare con gli scaffold, le rotues,
etc…

ma son punti di vista :slight_smile:

Ciao

On 12 December 2011 14:56, David W. [email protected] wrote:
[cut]

Linguistic relativity - Wikipedia
[cut]

Molto interessante, aggiungo l’articolo nella mia coda :wink:

Maurizio

2011/12/12 Davide R. [email protected]:

OT: Matz, in un suo talk ha esposto un concetto molto interessante: il
linguaggio che usi plasma il tuo modo di pensare.

Perfettamente d’accordo con te :slight_smile:

N1 :wink:

[cut]

Ma quello che mi spaventa dell’approccio: prima ruby poi rails , e’ il “blocco”.

Concordo con il timore. Ma oltre a considerare almeno un primo tour
guidato con tryruby, farei andare in parallelo lo studio di ruby e
rails.
I rischi sono quelli di creare un’altra stirpe di programmatori PHP :smiley:

[cut]

Maurizio

Ma quanto andate off topic facilmente… bello :smiley:

Anyway, questo l’avevo fatto tanto tempo fa, magari ti pu servire
per iniziare ad usare
Railshttps://docs.google.com/document/d/1Qn_9MkJkJuD67OokZ_UrMuO77NDcxvHOFAbnaYgPQpk/edit?hl=en_US
.

P.S. Io ho fatto la mia prima app in rails senza conoscere Ruby,
che imparavo intuitivamente passo dopo passo. Poi, in un secondo
momento me lo sono studiato.

On Mon, Dec 12, 2011 at 3:12 PM, maurizio de magnis <
[email protected]> wrote:

[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Andrea R.
Lelylan | reThink your house
http://lelylan.com

2011/12/13 Matteo C. [email protected]:

Il giorno 13 dicembre 2011 00:59, Andrea R. <[email protected]

ha scritto:

Rails<

+1 per il doc, mi ha fatto venire qualche idea… :slight_smile:

[cut]

Dal mio punto di vista, programmare come costruire un edificio: non puoi
partire a costruire dal tetto o dal risultato finale.

quoto in pieno :slight_smile:

Maurizio

Il giorno 13 dicembre 2011 00:59, Andrea R.
<[email protected]

ha scritto:

Rails<

Bello sto file! Grazie! :slight_smile: Utile per chi mi chiede come e dove imparare
ad
usare rails! :wink:
Intervenendo sul tema del discorso, io ho iniziato dapprima studiandomi
un
po il linguaggio e “perdendo tempo” sui libri (The rails way e quelli di
Pragprog.com)… Sar che mi piace apprendere come funziona una cosa
prima
di usarla, ma reputo questo il sistema migliore e che genera risultati
migliori (anche e soprattutto in termini di mantenibilit del codice).

Dal mio punto di vista, programmare come costruire un edificio: non
puoi
partire a costruire dal tetto o dal risultato finale.

MC


Matteo C.
Ufficio Reti e Sistemi
Universit degli Studi di Ferrara
Tel. 0532 97 4153

+1 per reggie