Primjena u rubinu na šinama. Pisanje bloga u Ruby on Rails

Dugo sam želio naučiti Ruby on Rails na nekom osnovnom nivou. Nema posebne svrhe. Radije, samo za sebe, kako bih bolje razumio šta je tu toliko posebno (za razliku od 100.500 drugih tehnologija i okvira), što vam omogućava da brzo kreirate i skalirate prilično opterećene internet projekte. Sekundarni razlog je bila želja da se isprobaju novi pristupi učenju. Dok sam studirao za programera, imali smo samo knjige i forume na kojima možete pitati za savjet. Sada postoje interaktivni udžbenici i online škole programiranja, ogroman broj screencasta (skoro san: gledati kako gurui kodiraju), baze znanja poput stackoverflow.com i tone izvornih kodova na GitHubu, gdje možete provesti sate proučavajući izvorne kodove pravih profesionalaca. Odlučio sam da narednih nekoliko noći (a tokom dana nema vremena) posvetim isprobavanju novih načina učenja na djelu.

prva noć

Bilo bi čudno početi učiti Ruby on Rails bez barem minimalnog znanja o Rubyju direktno. Već sam koristio interaktivni vodič ruby-lang.org. Ali kako sam ga prošao, odmah sam sve zaboravio. Njegovi kreatori obećavaju da će trebati petnaest minuta da prošetate i savladate Ruby sintaksu. Trebalo mi je trideset. Istina, uz stalno ometanje na Twitteru. Proces izgleda otprilike ovako. Kažu vam: „Nizovi u Ruby-u su deklarisani ovako, a podaci se preuzimaju iz ovakvih nizova. Pokušajmo sada napraviti niz i izdvojiti N elemenata iz njega. I provjerit ćemo." Pročitate kako je sve uređeno i odmah probajte. Ruby, naravno, nećete naučiti. Bolje je razmišljati o tome kao o super-ekspresnom kursu koji funkcionira. Ipak, sam Ruby je veoma daleko od Ruby on Rails okvira. Hteo sam da savladam šine. Iz našeg članka o online obrazovanju, definitivno sam se sjetio senzacionalnog kursa Zombie for Rails railsforzombies.org. To je isto kao Try Ruby, interaktivni tutorijal koji će vas naučiti kako da pripremite željezničke aplikacije. Prvo vam daju mini-predavanje (na engleskom, ali sve je vrlo jasno - uključite titlove) o strukturi fajlova željezničke aplikacije, CRUD pristupu za rad sa podacima, objašnjavaju kako se MVC model implementira u šine , i tako dalje. Nakon svakog videa, nudi vam se da izvršite zadatke za konsolidaciju materijala. Sve izgleda jednostavno i razumljivo, staza proleti neprimjetno za sat-dva (mala je). Ali! Da li sam nakon kursa osjetio da mogu napisati aplikaciju za željeznicu? Nažalost nema!

Druga noć

Jedan od razloga zašto nakon Rails for Zombies postoji neka osnovna znanja, ali nema povjerenja, je virtualno okruženje u kojem se obuka odvija. S jedne strane, smanjuje ulazni prag do granice: ne morate brinuti o okolišu. S druge strane, usput ne stvarate ništa stvarno - nema „Hello World“ za vas na kraju. I što je najvažnije, s koje strane pristupiti njegovom stvaranju, nije jasno. Od tog trenutka sam želio isprobati Ruby on Rails u akciji, zapravo ga instalirati na sistem (prije toga nisam morao ni pokušavati) i kreirati jednostavnu aplikaciju od nule. Ne sjećam se kako, ali sasvim slučajno sam naišao na vrlo uspješan kurs screencasta na Russian rails.hasbrains.org. Hvala autoru na kompetentnoj prezentaciji: metodično detaljno objašnjava principe primjene šine, uranjajući vas u sve potrebne suptilnosti na tom putu. Ukratko, cijelu drugu noć eksperimenta gledao sam prvu polovinu od preko trideset epizoda ovih screencasta. Slika mi se konačno zaglavila u glavi, kako se generira aplikacija, kako se radi sa željezničkom konzolom, kako kreirati modele i migracije, kako ažurirati modele i kako provjeriti podatke u njima, RESTful kontrolere, itd. Gledajući svaku od epizoda, odmah sam isprobao sve na djelu, praveći potpuno funkcionalnu željezničku aplikaciju. Postalo je jasno kako su šine u principu raspoređene.

Treća noć

Treće večeri su ostale posljednje epizode screencasta koje sam uspio pogledati u jednom dahu: rad sa šinama više nije izgledao tako divlji. U ovom trenutku mi je neko rekao da kurs Rails for Zombies ima razuman i mnogo dublji nastavak. Istina, kurs je već plaćen i održava se u okviru škole programiranja Code School www.codeschool.com. Plaćanje 25 dolara za pristup svim kursevima škole nije bila šteta. Ovo je mjesečna cijena, pa ako vam se ne sviđa, ne zaboravite otkazati pretplatu. Kurs Rails for Zombies 2 bio je zaista uspješan. Istina, mnogo je bilo ponavljanja onoga što sam vidio na snimcima - ali čak je bilo i lijepo. Pet nivoa i pet blokova vježbi koje radite direktno u interaktivnoj konzoli. Do ovog trenutka, šine su se već činile logičnim, razumljivim i upotrebljivim. U Code School možete programirati direktno u pretraživaču ispunjavanjem zadataka iz kursa

Šta je sledeće?

Da li sam naučio da radim složene projekte? br. Ali definitivno sam shvatio pristupe korištene u šinama i shvatio njihovu pogodnost. Naučio kako brzo stvarati jednostavne aplikacije i u super kratkom vremenu povećati svoju funkcionalnost uz pomoć dragulja koje je napisala zajednica. Skupio sam hrabrost i nastavio sa zadovoljstvom proučavati najbolje prakse u programima Code School (sada gledam kurs o jediničnim testovima). I prokleto sam zadovoljan što je tehnologija učenja postala tako laka.

Jedan od prvih i najsveobuhvatnijih Rails tutorijala na webu. Glavna prednost je detaljno pokrivanje najnužnijih pitanja, redovno ažuriranje i besplatni sadržaj.

Istina, resurs je u potpunosti na engleskom. I važno je shvatiti da je ovo izgrađeno u obliku knjige - sve probleme morate sami shvatiti. Zbog toga se ne može predvidjeti trajanje i složenost obuke.

2. Railcasts

Još jedan dobro poznat na Internetu resurs za obuku. Više od jedne generacije Rails programera je odraslo na njemu. Također na engleskom.

Nije izgrađen kao holistički kurs obuke, već kao serija screencasta - kratkih lekcija na određenu temu. Ima mnogo lekcija, možete pronaći skoro svaku temu.

Nažalost, projekat je prestao da se ažurira 2013. godine.

3. Tračnice za zombije

Sjajan uvod u šine za početnike u igri u stilu potrage sa zombi vibrom. Veoma je popularan među potpunim početnicima.

Zgodno je što ne morate ništa da instalirate na računar. Sve zagonetke se rješavaju u pretraživaču. Korak po korak prolazite kroz igru ​​i počinjete razumjeti osnove Ruby on Rails.

Ako uopšte ne razumete programiranje, ovo je vaš izbor. U kursu nema složenih tema, ništa ne odvlači pažnju od osnova. Na engleskom.

3. Udemy

Velika kolekcija video kurseva. Među njima su mnogi na rubinima i rubinima na šinama. Nema smisla davati određene linkove - birajte po svom ukusu po cijeni ili po popularnosti.

Udemy format uključuje prilično kratke kurseve s naglaskom na video lekcije. Ne očekujte ozbiljne domaće zadatke ili operativna podrška nastavnici.

4. Ruby Bursa

Snažan kratki kurs o osnovama razvoja Railsa. Iskusni profesori, dobar program.

Na kursu je poželjno lično prisustvo polaznika i odvija se samo u velikim ukrajinskim gradovima.

5. Razvoj na Ruby on Rails od Evil Martians

Trodnevni intenziv jednog od najiskusnijih Ruby on Rails timova u Rusiji.

Rijetko se radi. Skupo je (sudeći po recenzijama, isplati se). Zahteva lično prisustvo. Pogodno samo za napredne programere, tu nema šta da rade početnici.

6. Ruby on Rails Online Intensive od dobrog programera

Svježi projekat tima poznatog na Youtube-u po Ruby kursevima za početnike.

3-mjesečni intenzivni program dizajniran je za potpune početnike i obećava da ćete postati mlađi programer s portfeljem od ništa više od 12 pametnih aplikacija.

Kurs se sastoji od video lekcija, praktičnih zadataka, podrške nastavnicima, redovnih webinara.

Sudeći po youtube kanal i komentari korisnika - ovi momci znaju šta rade i neće vam biti dosadno s njima.

Stvoriti stvarne aplikacije koristeći Ruby on Rails. Možda ste isprobali Ruby on Rails, ali smatrate da je previše komplicirano i smatrate da vam je potreban potpuniji uvod. Možda vas je vaš šef ili klijent bacio u dubinu s Ruby on Rails projektom i trebate brzo naučiti o Railsu? Ili ste možda odlučili da svom životopisu želite dodati web razvoj i Ruby on Rails. Ako jeste, na pravom ste mjestu. Ovaj kurs će vas naučiti kako da napravite web aplikacije sa Ruby on Rails.


Zašto Ruby on Rails?

Ruby on Rails je brz i efikasan metod razvoj web aplikacija. Pojednostavljuje uobičajene zadatke koji se ponavljaju za koje je potrebno mnogo vremena da se kreiraju na drugim jezicima. Mnogo je lakše dobiti visokokvalitetni proizvod završen u Ruby on Rails nego na drugim jezicima.

Budući da je okvir zreo, postoji tona open source projekata/koda koje možete koristiti, a koji su izuzetno moćni i zaista vam daju prednost u izgradnji robusnih web aplikacija.

Osim toga, koristi programski jezik Ruby. Ruby kod se čita kao engleski, što ga čini mnogo lakšim za razumevanje ako tek počinjete da kodirate. Kako dinamično otkucani jezik, Ruby nema sva ona čvrsta i brza pravila koja imaju drugi jezici, i sličan je govornom jeziku na mnogo načina. Ovo vam daje fleksibilnost rješavanja problema na ljudskiji način od drugih programskih jezika.

Šta je pokriveno?

Neke od funkcija obuhvaćenih kursom uključuju...

Git osnove, Rails jezgro "7 metoda" i kako oni izvode "CRUD", Rails rutiranje, jaki parametri, prilagođeni povratni pozivi, prilagođena validacija, djelomične,

Bootstrap 4, Rails generatori, autorizacija korisnika, autentifikacija korisnika, upravljanje sadržajem, implementacija, učitavanje baze podataka, slanje/primanje Email korištenje Rails aplikacije, postavljanje Sidekiq-a, postavljanje Redis-a na Heroku i privatni server, instaliranje šablona, ​​prilagođene poruke za validaciju, dodavanje sredstava u Rails Pipeline, postavljanje slika na vaš vlastiti server, otpremanje na AWS, dodavanje WYSIWYG - ono što vidite je ono što dobijate od uređivača i još mnogo toga!

Zašto upisati ovaj kurs - najbolje rješenješto možete učiniti.

Ovi kursevi koriste složeni primjeri za izvršenje izazovni zadaci. Cilj je da shvatite šta tačno radite i razloge zašto, umesto da kucate kod koji ne razumete. Nijedan kod nije zamagljen jer vam je važno da razumijete šta svaka linija radi.

Nakon završetka ovog kursa, imat ćete potrebne vještine za kreiranje vlastitih web aplikacija koristeći Ruby on Rails.

Što se prije prijavite za ovaj kurs, prije ćete steći vještine i znanja koja su vam potrebna da povećate svoje iskustvo. Ruby on Rails programeri su veoma traženi! Zašto ne biste počeli raditi na Ruby on Rails već danas?

Ruby je moćan i popularan programski jezik. Osim njegove popularnosti, na njemu se temelji i dobro poznati okvir koji vam omogućava da kreirate cool i dinamične web stranice različitih tema. Ako pogledate TIOBE rang listu, onda je jezik među dvadeset najpopularnijih jezika na svijetu.

Jezik se pojavio 1995. godine i smatra se mladim jezikom u poređenju sa C ili C ++, koji su se pojavili 1972. odnosno 1983. godine. Jezik ima niz prednosti i specifičnosti koje su implementirane isključivo u njemu, ako uporedimo druge popularne programske jezike.

Plan kursa

Tokom video kursa naučit ćete jezik Ruby bez korištenja dodatnih okvira. Dodatni kursevi na ruby možete pronaći na .

Tokom kursa naučićemo kako da instaliramo i radimo sa jezikom, naučićemo sintaksu Ruby(varijable, petlje, uslovne izjave), kao i složenije stvari: OOP, rad sa fajlovima, izuzeci, metode i mnoge druge teme.


Instalacija Ruby-a na Windows

Da biste instalirali Ruby na Windows, koristite RubyInstaller, koji se može preuzeti sa službene web stranice na ovom linku. Skinuti najnoviju verziju i instalirajte ga kao običan program. Nakon što je instalacija završena, vidjet ćete sličan prozor:

U ovom prozoru provjerite je li potvrđen izbor u polju za potvrdu, a zatim će se otvoriti druga aplikacija za instalaciju ruby u sistem.

U prozoru koji se otvori redom unesite 1 i pritisnite Enter, nakon što sačekate završetak instalacije pritisnite 2 i Enter i na kraju izvršite treću komandu pritiskom na 3 i Enter.

Instaliranje Ruby-a na Mac

Na Macu, Ruby je instaliran prema zadanim postavkama, tako da ne morate ništa dodatno raditi. Verziju jezika možete provjeriti u terminalu pomoću sljedeće naredbe:

Ako je verzija zastarjela, možete preuzeti novu. Prvo morate preuzeti Ruby menadžer verzija. To se radi preko terminala naredbom:

Curl -L https://get.rvm.io | bash -s stabilan

Nakon instaliranja upravitelja, ponovo pokrenite terminal. Pokrenite sljedeću naredbu:

Rvm lista poznata

Nakon ponovnog pokretanja, možete instalirati bilo koju verziju koju želite. U našem slučaju instalirana je verzija 2.4.2:

rvm instaliraj ruby-2.4.2

Na kraju, možete ponovo provjeriti verziju i ako je još uvijek stara, samo postavite zadanu verziju na novu verziju.

Glavna prednost svakog web dizajnera je da može razumjeti – pa čak i organizirati – ono što se događa „iza kulisa“.

U najmanju ruku, trebali biste uzeti neke lekcije programiranja. Ne govorim o front-end jezicima kao što su HTML i CSS - vjerovatno već znate dosta toga. Govorim o back end stvarima.

Ako znate kako postaviti temelje, onda možete bolje razumjeti kako dizajnirati ostatak stranice. Činjenica je da će vas učenje kodiranja učiniti eruditivnijim dizajnerom. Osim toga, tko ne bi želio zaposliti dizajnera koji zna sve od dizajna do izrade web stranica?

Trik je u odabiru mjesta za početak. Učenje programiranja može biti težak proces, posebno ako odaberete jedan od težih jezika poput C++ ili PHP.

Dakle, koje je najbolje mjesto za početak? Odgovor prvi: Ruby on Rails je jedan od najbolji jezici programiranje i okvir za učenje osnova dizajna.

Zašto je Ruby najbolji izbor?

Za početnike, Ruby je jedan od najlakših jezika za učenje, posebno ako imate HTML ili CSS iskustvo koje ima većina dizajnera.

Jedan od prvih programa koje ćete napraviti kada počnete učiti jezik je zloglasni "Hello World!", koji uključuje ispisivanje tih riječi na ekranu.

Sa jezicima kao što je C++, može biti bilo gdje od pet do sedam linija koda samo za prikaz te dvije riječi. Ali ako koristite Ruby, postojaće samo jedan red i jedna naredba.

Stavlja "zdravo, svijet!"

To je sve! To je sve što vam treba da odštampate riječi "Zdravo svijete!" na ekranu. Prilično lako, zar ne?

Ruby on Rails je takođe veoma suv jezik. Kao jedan od principa razvoja, DRY (dry) znači "Ne ponavljaj se" (Ne ponavljaj se!) - to jest, ne programiraj ponovo element kada možeš koristiti onaj koji si već kreirao. Ovo čini Ruby veoma laganim i često korišćenim programskim jezikom za razvoj, jer ima za cilj da se projekat završi brzo i efikasno.

Ruby ili Rails?

Ruby je programski jezik. Rails je okvir koji koristi Ruby da obavi posao. Ruby on Rails framework je kolekcija prefabrikovanog ili unaprijed napisanog koda koji pomaže da se ubrza proces kreiranja novih projekata. U početku je kreiran za razvoj alata za upravljanje projektima Basecamp. Osim Basecamp-a, postoje i druge popularne web aplikacije napravljene sa Rails-om, kao što su 500px, ThemeForest i MyFitnessPal.

Kada shvatite kako raditi s Ruby jezikom i natjerate stvari da rade u okviru Ruby On Rails, možete početi graditi web aplikacije.

Ruby - na vrhuncu popularnosti!

Zahvaljujući eksploziji popularnosti mobilnih uređaja i tehnologija koja je uvijek u kontaktu, Ruby je trenutno nevjerovatno popularan. I vjerovatno će tako biti i dalje. Indeks TIOBE rangira Ruby kao 13. najpopularniji programski jezik. U skladu s novim trendovima, prema Indeed.com, Ruby također doživljava iznenađujuće veliku potražnju.

TIOBE Indeks

U svakom slučaju, bilo da odaberete potražnju ili popularnost, Ruby je prilično popularan. Ovo ga čini jednim od najbolja mjesta za početak, jer kada jednom naučite jezik, možete dobiti posao prilično brzo. I to prije nego počnete učiti drugi jezik kako biste proširili svoje vještine.

Ruby ima jako uporište!

Istina je da su neki drugi jezici prisutni, ali čak i tako, podrška i dokumentacija blijede u odnosu na ono što je dostupno za Ruby. Drugim jezicima takođe nedostaje kohezija zajednice oko jednog snažno podržanog okvira.

Zahvaljujući Ruby On Rails okviru, već postoje tone postojećeg koda koji možete koristiti u svojim projektima. Ruby Gems, Ruby framework biblioteka, ima preko 600.000 biblioteka koje možete izabrati.

Svaki put kada naučite nešto novo potrebno vam je puno dokumentacije i podrške. Postoji tona mjesta za pronaći edukativni materijali, tutorijale, vodiče, pa čak i forume za pitanja i odgovore. Ako naiđete na određeni problem, jednostavna pretraga weba će ga vjerovatno riješiti. Važno je.

Jednostavna dokumentacija i lak pristup podršci su neophodni kada učite novi jezik- kada zapravo učite nešto novo.

Ruby "dopušta" veću kontrolu nad dizajnom

Ako ste samo web dizajner, kreiranje web stranice može biti dug i složen proces. Kada sjednete da radite sa programerom i razgovarate o potrebnom back-endu za vašu web stranicu, često morate žrtvovati front end kako bi sve funkcionisalo kako treba.

U konačnici, to može dovesti do proizvoda koji izgleda potpuno drugačije od vaše originalne vizije. Programera možda nije briga, ali će vam to vjerovatno biti problematično.

Nećete naići na probleme ove vrste ako sami programirate. Ne morate da zavisite od drugih da biste dobili gotov projekat i imaćete mnogo bolje razumevanje šta se može postići u smislu razvoja. Sigurno je bilo trenutaka ili dva kada su vaši projektni ciljevi bili previsoki za jednog programera ili razvojni tim? Kada naučite jezik kao što je Ruby, možete uživati ​​u lakoći razumijevanja potreba i mogućnosti, s druge strane.

U suštini, Ruby je dizajniran da se koristi u web aplikacijama i web razvoju, tako da je savršeno mjesto za ambiciozne web dizajnere. Jednom kada razumete jezik i naučite kako da koristite Ruby on Rails okvir, imaćete mnogo više kontrole nad svojim projektima.

Gdje naučiti Ruby?

Većina Najbolji način naučiti jezik znači uroniti u njega i raditi s njim. Postoji mnogo vodiča i tutorijala na koje se također možete obratiti. Ako imate razvijenu vizuelnu memoriju, i bolje razumete kroz vizuelne prezentacije, onda idite na YouTube - postoji veliki izbor edukativni video zapisi.

Ako želite tradicionalno iskustvo učenja u učionici, možete učiti na web stranicama za učenje programiranja. Ne morate ići na univerzitet ili koledž da biste stekli radno obrazovanje.

Jedan od mojih omiljenih resursa - i potpuno besplatnih - za učenje Railsa je Rails Tutorial Michaela Hartlea. Odvest će vas od jednostavnog do složenog projekta vašim vlastitim tempom i možete početi ispočetka bez apsolutno nikakvog znanja o Ruby on Rails.

Bez obzira koji put učenja odaberete, zapamtite da samo vježba čini savršenim. Postavite lične ciljeve da svaki dan provedete određenu količinu vremena radeći sa Ruby. Držite se tih ciljeva i budite uporni. Prije nego što naučite ovaj jezik do kraja, već ćete biti stručnjak koji može kreirati neke fantastične projekte.