Aflați Ruby împreună! Lecția 1
„Bună! Ce faci? "-" Da, un lucru pentru un program rubinic "-" Este contagios :-) "Acesta este dialogul pe care l-am avut astăzi cu un prieten. De ce rubin?
De ce să învățați Ruby
Această întrebare se aplică celor care au programat mult timp și au fost programați cu succes în PHP. Ai învățat o limbă, e minunat, dar nu te opri acolo. Mulți pot obiecta că cunosc limba, că sunt orientați în ea și că au studiat deja toate rake-urile cu ea. Voi numi câteva motive pentru studierea Ruby.
- Curiozitate. De exemplu, a fost foarte interesant pentru mine să lucrez cu clase deschise. Aici și așa pentru a lua și injecta metoda într-o clasă de sistem - pe mine este sănătoasă. Și nu va exista o confuzie? Și cum să faci asta? În general, totul este interesant.
- Ruby vs PHP. pentru că Am un program lung în PHP, mă întreb ce Ruby se poate lauda cu PHP /
- Viteza muncii lui Ruby. Ruby a făcut un twitter (deși recent a fost abandonat). Vreau să-i testez efectiv performanțele.
- Clasa sarcinilor care trebuie rezolvate. Ruby este bun pentru aplicațiile web. Și așa este?
- Metaprogramarea. Poate cel mai important motiv.
Cum să înveți Ruby. Curriculum.
Aici, prima mea greșeală a fost că am început să învăț cadrul fără a cunoaște limba. Acum mi-am dat seama că acest lucru nu este necesar. Uitând Ruby on Rails pentru o vreme, am început să studiez Ruby însuși, de mult timp sarcina de sistem atârnată pe sistemul de bilete, ceea ce era dificil de rezolvat pe php. Chiar nu am vrut să-i dau drepturile de rădăcină. Deci, planul este acesta.
- Instalarea Ruby, configurarea mediului.
- Sintaxa generală. Rubine tipuri de date.
- Funcții, clase, clase publice. Atribute (accesori și mutatori).
- Lucrul cu siruri de caractere, cu tablouri. Căutarea și înlocuirea substringurilor etc. Conversia de tip.
- Lucrează cu fișiere.
- Lucrul cu mediul de sistem.
- Designul aplicației, lucrul cu pietre (module).
- Lucrați cu DB.
- Instalarea Ruby on Rails, creând prima aplicație.
În acest post voi publica prima mea cerere pe Ruby și voi invita pe toată lumea să o discute. Arătați greșeli, sugerați cele mai bune practici, puneți întrebări.
Să-i învățăm pe Ruby împreună!
Lecția 1. Prima cerere pe Ruby.
Sarcina este asta. Există un server DNS pe hosting si este necesar atunci când apelați linia de comandă utilitarul pentru a adăuga zona Ruby pentru domeniu, precum și intrarea zonei în lista de zona (domains.list) și edita o înregistrare în baza de date, în cazul în care să se înregistreze acest domeniu. Setările pentru accesarea bazei de date sunt stocate în aplicația php și în fișierul INI. După toate acțiunile, trebuie să reporniți serverul DNS (bind).
Mediul de lucru pentru Ruby
Ca IDE voi folosi RubyMine de la JetBrains. Mi-a plăcut foarte mult raportul lor despre ultimul ZFConf. Deși era vorba despre phpStorm, dar calitatea poate fi văzută imediat. Ruby setează prin RVM mai întâi pentru toți utilizatorii, apoi se configurează pentru root și pentru utilizatorul său.
Extinde clasele Ruby deschise
Pentru a lucra cu fișierele INI din Ruby, utilizați gem inifile. Dar există o mică problemă în ea. În fișierul ZF INI, puteți utiliza în siguranță constantele și liniile sunt după cum urmează:
Aici, de la APPLICATION_INI, parserul heme este demolat. Și mai precis, că această linie nu se potrivește sub nici un model:
Iată situația pentru utilizarea clasei deschise. Înlocuim InuFile :: parse cu al tău. Toate adăugările pe care le voi adăuga la fișierul fucntion.rb
De asemenea, voi extinde clasa String astfel încât să puteți valida domeniile.
Ei bine, acum vă voi arăta sursa în sine.
index.rb
Gemfile
Acest fișier descrie dependențele proiectului.
Ei bine, de fapt, au inclus și funcții.
functions.rb
Și ce despre PHP?
Această postare nu se limitează la faptul că trebuie să renunțați la PHP și să începeți să învățați rubinul. PHP este limba cea mai populară de programare web, implementează mii de lucruri interesante și algoritmi, inclusiv. chiar rețele neuronale. Și îl iubesc) De-a lungul anilor, putem spune că sunt legat de el, în ciuda tuturor deficiențelor sale. Dar asta nu înseamnă că nu trebuie să înveți ceva nou pentru tine.
Ce să citească. Cărți pe Ruby
Am primit recent întrebarea cu privire la ce cărți să-i învețe pe Ruby. Citesc acum asta.
Publicația va fi interesant pentru programatori cu experiență care să se familiarizeze cu noua la limba Ruby, precum și cei care sunt deja programe în Ruby, și vrea să atingă un nivel mai înalt de înțelegere și abilități de lucru. Puteți găsi o carte despre ozon sau despre un glob de bibliotecă.
3 Responses to "Învățați împreună Ruby! Lecția 1 "
La un moment dat, am făcut o alegere între Ruby și Python deja codificate în PHP (apropo, am scris despre rake într-un blog). Am ales Python, în multe privințe. Mai multe cadre web mai vechi, mai vechi, mai multe script-uri de sistem în Ubuntu, Google o folosește cu power and main (dezvoltatorul Python lucrează acum acolo). Ruby este interesant, desigur, dar din motive practice a trebuit să refuz ...
În acest caz special, nu puteți extinde clasa rând folosind metoda valid_domeniu_name. deoarece acest lucru nu se potrivește destul de mult în paradigma OOP. Această metodă are o specializare îngustă, așa că ar fi logic să-l aducă într-o clasă sau un modul separat sau altceva pentru a defini această metodă, în special, din rândul exemplu, nu toate liniile într-un rând.
Ei bine și într-adevăr, codul este scris în stil php, aici nu este vizibilă "frumusețe" rubinie