Ruby Info Ruby

Stato
Discussione chiusa ad ulteriori risposte.

Ryo_saeba

Utente Gold
6 Agosto 2016
686
29
167
238
Ragazzi, ho letto un po' di post qui in sezione ed ho visto che c'è anche una piccola guida. Quello che volevo chiedervi però è se qualcuno ha iniziato ad avvicinarsi alla programmazione con questo linguaggio. O magari qualcuno che lo usa può scrivere come ci si trova, se ne vale la pena impararlo. Fatemi sapere please
 
Ragazzi, ho letto un po' di post qui in sezione ed ho visto che c'è anche una piccola guida. Quello che volevo chiedervi però è se qualcuno ha iniziato ad avvicinarsi alla programmazione con questo linguaggio. O magari qualcuno che lo usa può scrivere come ci si trova, se ne vale la pena impararlo. Fatemi sapere please

Ruby esiste quasi esclusivamente in funzione di ruby on rails.


Sent from my iPhone using Tapatalk
 
Ultima modifica:
Ragazzi, ho letto un po' di post qui in sezione ed ho visto che c'è anche una piccola guida. Quello che volevo chiedervi però è se qualcuno ha iniziato ad avvicinarsi alla programmazione con questo linguaggio. O magari qualcuno che lo usa può scrivere come ci si trova, se ne vale la pena impararlo. Fatemi sapere please
Puoi andare su Codecdemy e iscriverti ad un corso gratis sul Ruby. https://www.codecademy.com/. Dipende molto a cosa si sta puntando, io l'ho imparato per capire come Metasploit lavorava ed era in grado di modificare alcuni dei suoi moduli, ma l'ho anche trovato abbastanza piacevole come linguaggio di scripting per fare cose al volo, appositamente quando voglio generare alcuni file di test per altri programmi. Inoltre c'è Rails che è super per il web dev, ma è necessario sapere programmare Web per comprendere tutta la magia che fa, o semplicemente credere alla magia.
 
Puoi andare su Codecdemy e iscriverti ad un corso gratis sul Ruby. https://www.codecademy.com/. Dipende molto a cosa si sta puntando, io l'ho imparato per capire come Metasploit lavorava ed era in grado di modificare alcuni dei suoi moduli, ma l'ho anche trovato abbastanza piacevole come linguaggio di scripting per fare cose al volo, appositamente quando voglio generare alcuni file di test per altri programmi. Inoltre c'è Rails che è super per il web dev, ma è necessario sapere programmare Web per comprendere tutta la magia che fa, o semplicemente credere alla magia.
Grazie mille, conoscevo già il sito che mi segnali. Seguirò qualcosa lì e poi vi farò sapere come va. :myeah:
 
Ruby è un ottimo linguaggio di programmazione, a prescindere dal usare Rails o meno (perché nessuno menziona mai Sinatra o Hanami).

Dipende comunque da cosa devi farci, non è il linguaggio più veloce del mondo e questo è un problema se hai bisogno di performance (ciò vale anche per le derivate JRuby, Rubinius, etc..).

Inoltre non c'è un multithreading reale.
 
Quando chiesi al mio tutor di insegnarmi la programmazione per immettermi nel campo del pentesting decisi di imparare Ruby come primo linguaggio, e anche lui accolse la richiesta considerandolo adatto per questo campo. Andando avanti con il tempo ho iniziato ad imparare altri linguaggi di scripting quali Python per esempio e ho iniziato a capire i limiti di Ruby, tuttavia anche essendo lento l'ho trovato un MUST in quanto piacevole da utilizzare e facile per creare strumenti velocemente. Un consiglio: non pensare troppo se imparare o no Ruby, nel peggiore dei casi dopo averlo imparato e compreso le limitazioni puoi sempre utilizzare le conoscenze apprese da quest'ultimo e tradurle completamente in Python che è praticamente il suo fratello gemello per quanto riguarda meccaniche e sintassi.
 
  • Mi piace
Reazioni: TheSeeker
Lo so, per questo stavo pensando di convertire il mio sito da django a rails.
L'unica cosa di cui sentirei la mancanza è la generazione automatica delle migrazioni.


Inviato dal mio iPhone utilizzando Tapatalk
Che intendi per generazione automatica? ActiveRecord dovrebbe supportarlo.
 
Che intendi per generazione automatica? ActiveRecord dovrebbe supportarlo.
Su Django, se modifichi il file model di una tabella aggiungendo e modificando colonne, genera automaticamente un file contenente le istruzioni per modificare la tabella nel database.
Sapevo che su Rails invece se modifichi il file model, il file contenente le istruzioni per modificare la tabella nel database ("migrations") devi scriverlo tu a mano.
Non so se le cose siano cambiare con rails 5.

PS: Ho letto che rails 5 supporta i WebSockets :asd:
 
Su Django, se modifichi il file model di una tabella aggiungendo e modificando colonne, genera automaticamente un file contenente le istruzioni per modificare la tabella nel database.
Sapevo che su Rails invece se modifichi il file model, il file contenente le istruzioni per modificare la tabella nel database ("migrations") devi scriverlo tu a mano.
Non so se le cose siano cambiare con rails 5.

PS: Ho letto che rails 5 supporta i WebSockets :asd:
In Rails (sono rimasto al 4 io) generi una migrazione per cambiare la struttura di una tabella.

Codice:
rails g migration AddNameField

Nel file generato fai tutte le modifiche e poi esegui la migrazione.
 
In Rails (sono rimasto al 4 io) generi una migrazione per cambiare la struttura di una tabella.

Codice:
rails g migration AddNameField

Nel file generato fai tutte le modifiche e poi esegui la migrazione.
In Django non è così.
Tu hai un file models.py all'interno del quale inserisci tutte le tabelle. Ad esempio:

Python:
class Piatti(models.Model):
     nome = models.CharField(max_length=100)
     costo = models.Decimal(...)

Eseguendo un comando, django ti crea automaticamente la tabella Piatti con dentro le colonne nome e costo.
Se poi decidi di eliminare la colonna costo, basta che cancelli quella riga dal file. Poi esegui nuovamente un comando nella console e Django elimina automaticamente quella colonna dal database.

Mentre con Ruby devi creare un file contenente la tabella e le sue colonne. Se vuoi eliminare la colonna costo, devi creare un altro file in cui dici di eliminare la colonna costo.
 
In Django non è così.
Tu hai un file models.py all'interno del quale inserisci tutte le tabelle. Ad esempio:

Python:
class Piatti(models.Model):
     nome = models.CharField(max_length=100)
     costo = models.Decimal(...)

Eseguendo un comando, django ti crea automaticamente la tabella Piatti con dentro le colonne nome e costo.
Se poi decidi di eliminare la colonna costo, basta che cancelli quella riga dal file. Poi esegui nuovamente un comando nella console e Django elimina automaticamente quella colonna dal database.

Mentre con Ruby devi creare un file contenente la tabella e le sue colonne. Se vuoi eliminare la colonna costo, devi creare un altro file in cui dici di eliminare la colonna costo.
Mmh capisco.
 
Stato
Discussione chiusa ad ulteriori risposte.