Ruby za početnike: zašto je ovaj jezik zanimljiv i kako ga učinkovito naučiti. Ruby tečajevi Ruby Workbench

Često su Ruby tečajevi neodvojivi od Ruby on Rails tečajeva jer su preblizu jedni drugima. Svi takvi programi obuke usmjereni su na učinkovit i jednostavan razvoj web aplikacija. Ruby on Rails aplikacije mogu biti obične web stranice, kao i višenamjenske društvene mreže i online trgovine.

Tečajevi jezika Ruby usmjereni su na učenje sintakse, tipova podataka i glavnih biblioteka. Poznavanje jezika temelj je za završetak Ruby on Rails programa obuke.

Obuka za Ruby on Rails framework uključuje sve korake izgradnje aplikacije – od pravilne instalacije do završnog rada u obliku vlastite web aplikacije.

Nakon treninga moći ćete

  • izrađivati ​​aplikacije u programskom jeziku Ruby;
  • pisati programe temeljene na OOP principima;
  • koristite MVC dizajn uzorak u svom radu;
  • izgraditi interakciju između web poslužitelja i aplikacije;
  • automatizirano testiranje koda
  • razvijati u okviru Ruby on Rails
  • koristite popularne dodatke i dragulje za Ruby on Rails kako ne biste stvarali vlastiti kod od nule

Za koga

Da biste uspješno savladali program tečaja, morate imati vještine programiranja na bilo kojem jeziku, razumjeti HTML označavanje i rad s MySQL DBMS-om. Za osnovnu obuku jezika Ruby nisu potrebne vještine programiranja, potrebno vam je samo iskustvo rada s računalom.

Potvrde o završenom

Svi centri za obuku izdaju potvrde o završenim tečajevima. Vrsta certifikata ovisi o centru za obuku, ali poslodavcu su važne samo dobivene vještine.

Jedna od prvih i najdetaljnijih knjiga o Rails obuci na internetu. Glavna prednost je detaljna pokrivenost najnužnijim pitanjima, redovita ažuriranja i besplatni osnovni sadržaj.

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

2. Railcasts

Još jedan dobro poznati obrazovni izvor na internetu. Više od jedne generacije Rails programera odraslo je na njemu. Također na engleskom.

Nije izgrađen kao potpuni tečaj obuke, već kao niz screencasta - kratkih lekcija na određenu temu. Ima puno lekcija, možete ih pronaći o gotovo svakoj temi.

Nažalost, projekt se prestao ažurirati 2013.

3. Ograde za zombije

Zabavan uvod u on-rails za početnike u stilu quest igre s atmosferom zombija. Vrlo popularan među potpunim početnicima.

Zgodno je jer ne morate ništa instalirati na svoje računalo. Svi problemi se rješavaju u pregledniku. Korak po korak prolazite kroz igru ​​i počinjete shvaćati osnove Ruby on Rails.

Ako se uopće ne razumijete u programiranje, ovo je vaš izbor. U tečaju nema složenih tema, ništa ne odvlači pažnju od osnova. Na engleskom.

3.Udemy

Velika zbirka video tečajeva. Među njima su mnogi za rubin i rubin na tračnicama. Nema smisla davati određene poveznice - odaberite prema svom ukusu na temelju cijene ili popularnosti.

Udemy format uključuje prilično kratke tečajeve s naglaskom na video lekcijama. Ne očekujte ozbiljne domaće zadaće ili brzu podršku od učitelja.

4. Ruby Bursa

Snažan kratki tečaj o osnovama Rails razvoja. Iskusni profesori, dobar program.

Osobna prisutnost polaznika na tečaju je poželjna i održava se samo u velikim ukrajinskim gradovima.

5. Razvoj u Ruby on Rails iz Evil Marsovaca

Trodnevni intenzivni tečaj jednog od najiskusnijih Ruby on Rails timova u Rusiji.

Rijetko se radi. Skupo je (sudeći po recenzijama, isplati se). Zahtijeva osobnu prisutnost. Prikladno samo za napredne programere; početnici tamo nemaju što raditi.

6. Ruby on Rails online intenzivni tečaj od “A Good Programmer”

Svježi projekt tima poznatog na Youtubeu po Ruby tečajevima za početnike.

Tromjesečni intenzivni program osmišljen je za potpune početnike i obećava da će vas pretvoriti u programera juniora s portfeljem od čak 12 pametnih aplikacija.

Tečaj se sastoji od video lekcija, praktičnih zadataka, podrške nastavnika i redovitih webinara.

Sudeći po YouTube kanalu i komentarima korisnika, ovi dečki znaju što rade i s njima vam neće biti dosadno.

Danas sam na internetu pronašao priču o tome kako je netko po imenu James Fend učio Ruby on Rails 12 tjedana. U nastavku možete pročitati relativno točan prijevod ove priče i nadamo se da ćete biti inspirirani da istražite ovaj prekrasan okvir (i prekrasan jezik).

Prije nego počnem, želio bih predstaviti Josha Crewsa (http://joshcrews.com) i zahvaliti mu što me uvjerio da počnem učiti Ruby on Rails; bez njega, njegove pomoći i sati koje je proveo kao moj mentor, danas ne bih ovo pisao. Hvala vam.

Dana 23. siječnja lansirao sam svoju ideju iz snova, Freelancify.com. Prije točno 12 tjedana bio sam tehnološki poduzetnik koji je trošio tisuće dolara da stvori pristojan MVP (minimalno održiv proizvod) jer mi je nedostajalo znanja. Jedan od razloga (mislio sam tada) je taj što mi je trening bio pretežak ili bi trajao neumjereno dugo. Mislio sam (kao i mnogi drugi) da su programeri (a neki i jesu) rođeni sa skupom čarobnih vještina rješavanja problema i matematičkih vještina koje ih čine programerskim genijima. I to prije točno 12 tjedana Donio sam najbolju odluku koju sam donio u dugo, stvarno dugo vremena.. Nijedna moja ideja više neće ostati ništa više od ideje. Sada imam priliku pokrenuti proizvodne verzije, trošeći novac samo na hosting i ulažući određeni trud. Danas je ovaj skup vještina sličan vuci gomile traktora tijekom kalifornijske zlatne groznice dok su svi drugi koristili jednostavne lopate. Predlažem da svi nauče pisati kod. Ovdje bih želio dodati pojašnjenje: ranije sam objavu nazvao "Kako sam naučio Rails u 8 tjedana", međutim, da budem precizan, s obzirom na datum lansiranja, ispada da je 12 tjedana. Međutim, u roku od 8 tjedana osjećao sam da znam dovoljno, a sljedeća četiri tjedna potrošila sam više na to da znanje koje sam stekla koristim za rad, a ne na učenje.

Koje sam vještine imao prije nego što sam počeo učiti Rails?

Bio sam web dizajner sa poznavanjem HTML-a i CSS-a i uglavnom sam se fokusirao na UI i UX dizajn. Najteža stvar koju sam učinio sa stvarnim kodom (ne računajući HTML) je mogućnost prilagođavanja Wordpressa. Ukratko, nisam imao pojma što je MVC okvir ili kako baze podataka općenito rade. Dizajn, izgled i HTML za Freelancify izradio sam u dva tjedna u lipnju 2011.

Zašto sam se odlučila studirati?

Vraćajući se u lipanj 2011., kada je layout bio spreman, počeo sam tražiti kodera koji bi layout učinio funkcionalnim. Izgled je bio gotovo spreman: imao sam tekstualna polja, padajuće izbornike, obrasce, gumbe, poveznice koje su vodile tamo gdje je potrebno i tako dalje. Našao sam programera i, ukratko, tip mi nije odgovarao. Ostao sam s tonom dugova i nijedan proizvod ni blizu dovršen. Stoga sam kontaktirao Josha Kriusa (upoznao sam ga na Ruby on Rails susretu koji je organizirao u Nashvilleu) i sastao se s njim da vidim mogu li napraviti nešto od onoga što mi je preostalo kao programer. Nažalost, popravljanje i modificiranje koda ne bi oduzelo manje vremena nego razvijanje od nule od strane kompetentnog programera. Postao sam obeshrabren, shvativši da si ne mogu priuštiti ponovno trošenje tisuća dolara na razvoj od nule. A onda je Josh rekao...” Zašto jednostavno ne naučite rukovati Ruby on Rails, ovaj bi projekt bio sjajan način" i onda " Mogu se čak naći s tobom dvaput tjedno i pomoći ti s učenjem" Provela sam cijelu noć razmišljajući o tome. Moje opcije su bile: pronaći udoban posao i platiti račune ILI riskirajte sve kako biste naučili Rails i na kraju uživali u najboljem ramenu koji Italija može ponuditi. Odlučio sam. Nazvao sam Josha sljedećeg jutra. Sve sam stavio. Novac sam odvojila od preostale ušteđevine i podijelila na tri mjeseca (za samca koji živi sam i bez djece dovoljno je tisuću dolara mjesečno). Vrijeme je da se bacim na posao, sada sam pripravnik s punim radnim vremenom. Imajući na umu da će mi Google pretraživanje, Stackoverflow, IRC #RubyOnRails i Rails zajednica čuvati leđa kad zapnem, siguran sam da će ih biti puno.

Moja sljedeća tri mjeseca - Misija: Dobiti MVP, dobiti dovoljno za rad, ali ne "dovoljno bezveze" da ostavite užasan prvi dojam.

Tjedni 1 - 3

To je vjerojatno bila najveća krivulja učenja, ali NISAM odustao.

Zidovi su stvoreni za ljude koji ih zapravo ne žele napustiti.

Postavljanje radnog Rails okruženja za potpuno novajliju može biti nevjerojatno neugodno. Savjet #1: nabavite Mac. Savjet #2: Koristite Homebrew, RVM, Git i Heroku (to je zapravo sve što trebate za početak). Proveo sam par dana u instalaciji, zatim sve deinstalirao i ponovno instalirao. Dovoljno je ponoviti nekoliko puta i naviknut ćete se na korištenje naredbenog retka terminala (konzole) i shvatiti zašto stvari rade kako rade. Zatim, prvo što sam uzeo bio je TryRuby, Rails for Zombies i Rails Tutorial Michaela Hartlea. Ne brinite o razumijevanju gradiva 120%, to se neće dogoditi dok zapravo ne počnete učiti. Završio sam Rails Tutorial i stvorio ovu aplikaciju sličnu Twitteru za otprilike tjedan dana, a da nisam stvarno razumio što sam napravio. Kasnije, kako sam napredovao, počeo sam shvaćati da sve počinje imati smisla.

Tjedni 3 - 6

S Twitter aplikacijom napravljenom pomoću Rails Tutoriala stekao sam samopouzdanje. Udžbenik me nije učinio programerom, ali sada znam općenite korake u izradi aplikacija, od izrade same aplikacije do njezine instalacije na Heroku. Sve što se dogodilo između ostalo je mutno. Kako sada STVARNO mogu početi učiti? Radim na pravom projektu koji mi nešto znači. Josh i ja odlučili smo da bih trebao slobodno raditi na Freelancifyju i vidjeti što mogu učiniti. Prvo što sam napravio bilo je premjestiti sav HTML iz okvira i organizirati ga u prikaze i djelomične datoteke. Stvorio sam platforme predložaka skele za korisnike i projekte. Tada sam počeo učiti svoj prvi pravi dragulj, Devise. Zatim, mogućnost uspostavljanja odnosa, na primjer, svaki će korisnik imati portfelj. Ali Korisnici mogu imati više portfelja, dok svaki portfelj može pripadati samo jednom Korisniku. Jednom kada shvatite kako funkcioniraju odnosi između modela i kako nazvati/prikazati stvari koje pripadaju nečem drugom, život će postati mnogo lakši. Ako zapnete na dijelu i ne možete se pomaknuti, preskočite ga, velike su šanse da ćete dok razvijate drugu značajku također smisliti kako implementirati ono što ste propustili.

Tjedni 6 - 9

Korak po korak, nastavila sam učiti, prepisivati ​​i ponavljati. Učinio bih da neke stvari funkcioniraju, a onda - bam - i udario bih u zid i uopće ne bih imao pojma što dalje. Bilo da idem na Stackoverflow, IRC chat #RubyOnRails, RailsCasts ili natežem Josha, na kraju sam shvatio kako nastaviti. Radite istu stvar uvijek iznova i brzo ćete se snaći. Provođenje dosadnih sati testirajući nečiji odgovor na Stackoverflowu samo da bi se shvatilo da ne radi zapravo je korisno. Razumijete što ne treba činiti. A kada pronađete odgovor počet ćete shvaćati ZAŠTO ovo drugo nije upalilo. Otprilike u to vrijeme počeo sam shvaćati koliko je velika slika stvari i istinski razumijevati ZAŠTO sve radi točno kako radi. Osjećao sam se kao idiot te sam se vratio i prepravio kod koji sam ranije napisao kako bih ga učinio učinkovitijim. I u jednom sam trenutku došao do faze u kojoj je sve počelo dolaziti na svoje mjesto.

Tjedni 9 - 12

Bio sam u nevjerojatnom energetskom modu dovodeći Freelancify do faze pokretanja. U ovoj fazi osjećao sam se kao da letim, stavljajući funkcije u akciju. Prošli tjedan proveo je u otklanjanju raznih grešaka i grešaka. Ovaj ponedjeljak sam pokrenuo stranicu. Ali još sam daleko od završetka studija... To je to. Izostavio sam (u ime kratkoće posta) male detalje i tehničke točke. Ipak, slobodno postavljajte pitanja u komentarima, svakako ću pokušati odgovoriti. James Fend.

p.s. - Iako je puno pomoglo imati mentora s kojim sam se mogao sastati, Rails definitivno možete naučiti i bez njega. Ili pokušajte sebi pronaći takvu osobu, mnogi Rails programeri vole pridonositi zajednici. Potražite lokalne konferencije i sastanke.

Ovaj unos je star već više od dvije godine (objavljeno 27. siječnja 2012.), ali, unatoč tome, nije izgubio na važnosti. Za to vrijeme, James Fend je uspio prodati Freelancify i investirati u novi startup, o čemu je ostavio bilješku 27. veljače 2013. Vjerujem da je ovaj članak odličan primjer kako čovjek može postići svoj cilj. Sve što trebate učiniti je početi. :)

Dobar dan!

Predgovor

Jednom sam želio bolje upoznati Rails, ali nisam znao odakle početi dok mi ovaj članak nije zapeo za oko. Zatim ćete vidjeti prijevod pomiješan s mojim vlastitim iskustvom i mojim vlastitim leksičkim i frazeološkim izrazima. Pa, idemo.

Uvod

Imam dosta iskustva u radu s PHP-om, ali sada radim kao Rails developer. Najveći izazov za većinu ljudi koji pokušavaju naučiti nešto novo je sam proces učenja. Kada ste vješti u jeziku ili okviru i poznajete ga iznutra i izvana, prelazak na nešto novo ne čini se potrebnim.

Međutim, naučiti Ruby on Rails prilično je jednostavno. To je nevjerojatno moćan okvir koji ima golemu zajednicu koja ga gura naprijed. Pitanje koje imamo je: koji je najbolji način za učenje Railsa? Evo ga - plan lekcije.

Ovaj članak je potpuni plan potrebnih lekcija kako biste se upoznali s Railsom i počeli raditi s njim u najkraćem mogućem roku. Sve što trebate učiniti je slijediti korake u nastavku, koji su navedeni redom.

Točka 1: rad s vježbama u Try Ruby

Možda mislite da je učenje Rubyja ovdje najvažniji korak, ali nije tako. Neki od onih koji počnu detaljno proučavati Ruby prestanu studirati i jednostavno ostanu pri trenutnom jeziku i okviru. Ne radi to!. Nemojte se bojati naučiti ovaj jezik (ili bilo koji drugi). Ruby je zabavan, izvrstan jezik koji se lako uči. Osim toga, ne zaboravite da to ne morate proučiti 100%. Samo trebate znati osnove.

Najpreporučljiviji alat za ronjenje u Ruby sintaksu je web stranica TryRuby. Pruža interaktivno okruženje koje vam omogućuje da isprobate sintaksu na djelu. Ako birate Pomozite, bit ćete pozvani pogledati petnaestominutni vodič koji će vas naučiti osnovama. Ne zaboravite da priručnik ima dva poglavlja, koja možete čitati tipkanjem pomoć 2.

Ako neko vrijeme naporno radite na ovim zadacima, razvit ćete dobru bazu znanja. Prvo sam samo proučio ova dva priručnika. Ostalo sam naučio u procesu razvoja stranica na Railsu, kao i guglanjem i vježbanjem s IRB-om.

Točka 2: Instaliranje Rubyja i Ruby on Rails

Ako želite naučiti Rails, tada ćete ga bez sumnje morati instalirati na svoje računalo. Evo nekoliko rješenja na temelju OS-a koji imate. Ako imate Mac ili Linux računalo, preporučujem da koristite RVM. Ovo je izvrstan alat za instaliranje Rubyja. Zapravo, ovdje su upute za samu instalaciju. Ako imate Windows, tada ćete morati koristiti RubyInstaller.

Sljedeći korak je instalacija samog Railsa. Da biste to učinili morate instalirati RubyGems. Ako koristite RVM, onda čestitamo - već imate instaliran RubyGems. Ako imate Windows, savjetujem vam da slijedite ovdje. Da biste instalirali Rails morate koristiti naredbu gem instalirati tračnice i onda, sve je gotovo!

Stavka 3: Pročitajte Uvod u Rails Jeffreya Waya


U ovom 40-minutnom screencastu, Jeffrie Way vodi vas kroz ono što trebate znati da biste koristili Rails. U njemu ćete pronaći mnogo korisnih informacija, uključujući teme kao što su:

  • Modeli i generatori
  • Razvoj vođen testiranjem (TDD)
  • ActiveRecord
  • RSpec i Capybara
  • Djelomični
i mnogo više...

Točka 4: Pohađajte tečaj Rails For Zombies

Uvijek sam mislio da je učenje na primjeru najbolji način za učenje jezika ili okvira. Besplatan i nevjerojatno moćan tečaj koji svakako trebate pogledati je Rails For Zombies, koji su kreirali dečki iz EnvyLabsa. Ovaj tečaj je interaktivan, što znači da ćete nakon gledanja svakog videa raditi korisne i zanimljive vježbe.

Do sada sam vam govorio o interaktivnim i besplatnim alatima. Vrijeme besplatnih proizvoda je prošlo! Sada biste trebali kupiti knjigu pod nazivom Agile Web Development with Rails. Osmišljen je da vas nauči kako koristiti Rails izgradnjom web stranice od nule. Obuhvaća osnove kao što su kontroleri, modeli, skele, funkcionalno testiranje i malo AJAX-a. Kupite barem najnovije izdanje.

Točka 6: Izgradite jednostavan blog

Znam da ovo zvuči prilično dosadno (barem meni), ali ovo je izvrstan primjer koji se svugdje koristi jer je prilično jednostavan i brz za pisanje. Slijedeći ovaj put, pomoći ćete konsolidirati svoje znanje i vještine. Ali predlažem da ne kopirate-paste (time nećete ništa postići, osim možda 10 minuta izgubljene struje), već pokušajte pisati postupno, po sjećanju, ponekad samo gledajući knjigu da vidite kako ova ili ona metoda radi.

Točka 7: Dodajte nove značajke svom blogu

Nevjerojatan! Ipak ste izgradili vlastiti blog. Ali ipak nema punu funkcionalnost, već samo predstavlja osnovne funkcije svojstvene svakom blogu. U redu, poradimo malo i dodamo sustav autentifikacije.

Ne želim te sada tjerati da učiniš nešto teško jer si već naporno radio. Možete koristiti neki gotov gem (Omniauth, na primjer) kao sustav za autentifikaciju. U isto vrijeme, shvatit ćete kako implementirati dragulje u svoj projekt.

Također preporučujem da pogledate ovaj screencast Ryana Batesa, koji opisuje stvaranje jednostavnog sustava provjere autentičnosti od nule. Nakon implementacije sustava, trebali biste dodati mogućnost brisanja/uređivanja postova ako to već niste učinili. Ako je zadatak već obavljen, vrijeme je da prijeđete na sljedeću točku.

Točka 8: stvaranje nečeg vlastitog

U ovoj fazi, vrijeme je da postanete kreativniji i razmislite o stvaranju neke vrste usluge (na primjer, hosting fotografija). Nemojte stati na dizajniranju svoje druge web stranice. Uzmi nešto gotovo. Na primjer,

Ovo je prvi u nizu članaka u kojima ću govoriti o značajkama Rubyja i Ruby on Railsa i podijeliti savjete o tome gdje početi učiti Ruby, gdje pronaći odgovore na pitanja, kako steći iskustvo koje vam je potrebno i kako se možete izdvojiti od ostalih kandidata. Bilo bi mi drago da moj savjet pomogne nekome da se odluči za svoju specijalizaciju i izabere Ruby za studiranje i rad.

Ključne značajke i razlike Rubyja

Često čujem pitanje: isplati li se učiti Ruby? U pravilu se pitanje temelji na sumnjama: koliko je lako pronaći posao s ovom specijalizacijom, hoće li biti zanimljivih projekata i tako dalje i tako dalje. Ruby je moderan programski jezik koji se stalno razvija; postoje mnoga područja njegove primjene. Sigurno ste čuli za Chef, Vagrant, Homebrew, ali najčešće svi čujemo za Rails. Ovdje je post s komentarom autora okvira o tome zašto se isplati učiti Rails.

Naravno, svatko za sebe odlučuje koji će alat koristiti. I nema smisla beskrajno raspravljati o tome zašto je jedna tehnologija bolja od druge. Odabrao sam Ruby jer je to nevjerojatno izražajan i fleksibilan jezik koji vam omogućuje rješavanje istog problema na mnogo načina.

Ruby je interpretirani, potpuno objektno orijentirani programski jezik sa snažnim dinamičkim tipkanjem. Kombinira sintaksu sličnu Perlu s objektno orijentiranim pristupom. Također, neke značajke su posuđene iz programskih jezika Python, Lisp, Dylan i CLU. Implementacija prevoditelja jezika Ruby na više platformi distribuira se pod softverom otvorenog koda. Kod napisan u Rubyju može razumjeti i osoba koja se ne razumije u programiranje. Na RoR-u su kreirani projekti kao što su Redmine, Twitter, Shopify, Basecamp, GitHub, Kickstarter, Airbnb i drugi.

S porastom Node.js, popularnost Ruby on Rails je donekle oslabila, ali tehnološki startupi često koriste RoR zbog njegove jednostavnosti izrade prototipova. Ruby je 11. najpopularniji jezik u TIOBE indeksu.

Prednosti Rubyja

  • Velika i prijateljska zajednica.
  • Barijera za ulazak je prilično visoka, što znači da Ruby programer vjerojatno ima iskustva s barem još jednim programskim jezikom.
  • Koristite samo one biblioteke i module koji su vam potrebni.
  • Postoji veliki broj korisnih biblioteka koje su spremne za korištenje (Ruby Gems).
  • Na Internetu postoji mnogo informacija o Rubyju, u strukturiranom i prosijanom obliku.
  • U kontekstu rasprave o Rubyju, ne možemo ne spomenuti najpopularniji okvir Ruby on Rails.

Razgovarajmo sada detaljnije o nekim prednostima Rubyja.

Brzina razvoja

Jedna od prednosti Rubyja i RoR okvira je brzina razvoja. Osobno iskustvo i iskustvo kolega pokazuje da je rješavanje problema u Railsu jedan i pol puta brže u usporedbi s drugim sličnim okvirima. Ruby je vrlo jednostavan kao alat, a postoji ogroman broj gotovih rješenja za razne probleme.

Standardni alati za predmemoriju podataka

Kada razvijate veliki projekt, jedan od najvažnijih aspekata je predmemoriranje. Ruby on Rails standardno dolazi sa standardnim alatima za predmemoriju podataka. Odnosno, odmah ćete imati alate za predmemoriranje podataka na projektu, a možete jednostavno predmemorirati pojedinačne blokove koda ili čak cijele stranice.

Prvo testovi, kasnije kod

Često se tijekom razvoja velikih projekata postavlja pitanje testiranja, a nije rijetkost da nema dodatnih sredstava za poseban tim testera. Rails ima rješenje i za ovaj problem. Usporedite li RoR s drugim okvirima u kontekstu testiranja aplikacija, naći ćete puno gotovih rješenja za bilo koju vrstu testova, bilo integracijskih ili jediničnih. Sve te biblioteke rade izvan okvira. U idealnom slučaju, u projektu Ruby on Rails, kod se ne piše dok se za njega ne napišu testovi. RoR ideologija uključuje početnu upotrebu BDD (Behavior Driven Development) ili TDD (Test Driven Development) metoda.

Općeprihvaćeni standardi procesa razvoja za Ruby programere

Kad govorim o prednostima Rubyja, ne mogu ne spomenuti Ruby zajednicu ponovno. Stalno raste, razvija se i uvijek je spremna pomoći. Uvijek postoji netko tko će vam reći kako najbolje riješiti problem i podijeliti svoje iskustvo u bilo kojoj stvari.

Također vrlo važna točka - u Ruby zajednici već dugi niz godina postoje standardi za proces razvoja, određena pravila/sporazumi zajednice prema kojima se odvija razvoj, što uvelike pojednostavljuje rad. Zbog ovih standarda, svaki projekt je visoko strukturiran, stoga će novi programer u timu brzo ući u korak i biti koristan od prvih dana rada. I još više: ako je projekt započeo jedan tim, a završio drugi, to također nije nikakav problem. Budući da se razvoj odvija prema već spomenutim pravilima i dogovorima zajednice, novi tim će brzo i lako razumjeti projekt i uspješno ga završiti bez puno gubitka vremena.

Ruby on rails također ima velik broj različitih gotovih rješenja u javnoj domeni. Većinu rješenja već je implementirao netko prije vas i testirala ih je zajednica, što smanjuje potrebu za razvojem od nule. To mogu biti autentifikacija, autorizacija, sustavi komentiranja, sustavi plaćanja, mailing liste itd.

Gotova rješenja za višejezičnost projekta

Rails dolazi s vrlo moćnim alatima za lokalizaciju projekta izvan kutije. Moguće je i pružiti podršku za nekoliko jezika u početku i implementirati je kasnije. Projekt sadrži posebne datoteke za prijevod pojmova, alate za prikaz predložaka na različitim jezicima i još mnogo toga.

Visoka razina zaštite podataka

Danas se na internetu često objavljuju članci o hakiranju različitih izvora. Programeri okvira Ruby on Rails vrlo su ozbiljno shvatili pitanje zaštite podataka. RoR u početku uključuje enkripciju lozinki, podataka o kreditnim karticama i drugih osobnih podataka korisnika; također su isključeni SQL injekcije i XSS napadi. Svi ulazni parametri se prema zadanim postavkama izbjegavaju.

Učenje Ruby

Sada razgovarajmo o tome kako točno možete svladati Ruby.

Teorija

Trebalo bi početi, naravno, s književnošću. Preporučujem ove izvore:

  • Ruby u 20 minuta dobar je resurs za potpune početnike. Omogućuje vam da se upoznate s osnovnim strukturama jezika u manje od pola sata i počnete pisati vlastite male programe.
  • Codecademy je platforma s online tečajevima u raznim područjima, uključujući čisti Ruby i Rails. Obrazovni proces ovdje je strukturiran prilično zanimljivo, dan je teorijski materijal i odmah praktični zadatak za njegovo konsolidiranje. Završni zadaci se plaćaju, ali i bez njih možete steći potrebne vještine.
  • Materijali o Rubyju i Railsu - zbirka poveznica na različite stranice i knjige posvećene proučavanju Rubyja i Railsa.
  • Posebno mogu preporučiti knjigu Flanagan D., Matsumoto Y. “The Ruby Programming Language”. Smatra se jednim od najboljih, njegov autor je tvorac jezika Ruby.
  • Google :)

Evo nekoliko izvora za početak:

  • w3schools.com/sql - ovdje možete pročitati, isprobati i provjeriti svoje znanje SQL-a.
  • quizful.net/test - ovdje možete pronaći pitanja koja se često postavljaju tijekom intervjua.

Engleski

Vjerujem da nema smisla detaljno se baviti ovom točkom, jer je to tema zasebnog članka. Engleski je vrlo važan i to je dobro poznata činjenica. Želio bih samo ukratko spomenuti dvije najvažnije točke.

Prvo, engleski je glavni jezik međunarodne zajednice, shodno tome, većina korisne literature također će biti na engleskom, mnoge vijesti, izvještaji i važni članci također će izlaziti prvi na engleskom. Ako želite znati odgovor na bilo koje pitanje, vrlo je velika vjerojatnost da ćete ga prije svega moći pronaći na engleskom jeziku.

Drugo, što bolje poznajete engleski, veće su vam šanse da pronađete posao. Većina klijenata su stranci, stoga je poznavanje engleskog jezika važno za produktivnu komunikaciju, jasno razumijevanje tehničkih specifikacija i dobar kontakt s klijentom.

Praksa

Nakon proučavanja nekoliko izvora, vrijedi prijeći na važniji dio, naime praksu. Postoji mnogo primjera zadataka s internetskom trgovinom ili jednostavnim blogom na internetu (evo jednog od njih), pogotovo kada je u pitanju Rails. U tijeku izvršavanja zadataka koji su već malo bliži stvarnim, sigurno ćete naići na neke probleme, a zatim ćete prijeći na treniranje jedne od najvažnijih kvaliteta - sposobnosti guglanja. Nažalost, nisam uspio pronaći nikakve lekcije ili tečajeve posvećene ovoj vještini, ali ona definitivno igra vrlo važnu ulogu u svakodnevnom radu.

Tečajevi

Nakon što pročitate teoriju i napišete nekoliko „projekata kućnih ljubimaca“, možete, naravno, pokušati otići na intervjue, ali često se dogodi da to znanje nije dovoljno. Razlog tome je velika navala kandidata, a s obzirom na konkurenciju svi se trude istaknuti i što bolje pripremiti.

Još jedna važna točka u obuci koja može biti prednost u vašu korist pri traženju posla su tečajevi programiranja. Osim, naravno, ako nemate mentora koji je spreman potrošiti određeno vrijeme na smišljanje zadataka i njihovo pregledavanje.

Odmah ću reći da ni pod kojim uvjetima ne preporučujem pohađanje tečajeva bez prethodnog znanja. Tečajeve vidim kao odličan način za konsolidaciju znanja stečenog samostalnim učenjem. I sada ne pokušavam reklamirati nijednu određenu školu, ali ću objasniti točno koje se koristi mogu izvući iz ovoga:

Uz visok stupanj vjerojatnosti tamo naučit ćeš nešto što prije nisi znao. Tečajevi imaju prilično veliku količinu materijala, koji je predstavljen u strukturiranom obliku, što vam omogućuje bolju asimilaciju materijala.

Tijekom tečaja ćete imati mentor, koji će pregledati rješenje vaših problema i ukazati na slabosti i pogreške.

Motivacija. Ovo je prvenstveno za one kojima je potrebna pomoć u samodisciplini. Ponekad je prilično teško natjerati se da nešto učinite, bez obzira kakvi se izgledi naziru na horizontu. Kada pohađate tečajeve, imat ćete jasan raspored kojeg morate slijediti i zadatke koje morate ispuniti ili ćete biti izbačeni. Financijska motivacija ovdje također igra ulogu u slučaju plaćenih tečajeva. Uostalom, kada date svoj teško zarađeni novac, imate potpuno drugačiji stav prema stvari, a misli o jednostavnoj šetnji javljaju se puno rjeđe.

Još jedna prednost - potvrda. Jasno je da će te na kraju ocjenjivati ​​po znanju, a ne po prisutnosti papirića u životopisu. Ali svejedno, to će biti plus, pogotovo ako postoji kandidat sa sličnom razinom znanja, ali bez dokumentarnih dokaza.

Plus jedan projekt na GitHubu u svoju kasicu prasicu. Ako ste programer početnik, najvjerojatnije će projekt napisan na tečajevima biti zanimljiviji s tehnološke točke gledišta od onih koji su prethodno napisani.

I ono najvažnije - zapošljavanje. Kada govorim o tečajevima, ne mislim samo na one za koje treba platiti novac. Često same tvrtke zapošljavaju na obuku kako bi kasnije mogle zaposliti najbolje. To može biti interni tečaj ili stažiranje/stažiranje. Ova opcija je najbolja, jer ne morate ništa platiti, dobivate iskustvo i sve gore navedene prednosti, a uz to i stvarnu perspektivu za posao. Teže je ući u njih, ali su izgledi značajniji.

Ukupno

Ruby je jezik koji vam omogućuje rad bez puno gnjavaže i strke koja dolazi s jezicima sa strogim tipovima. Lako je započeti s Rubyjem, pogotovo ako već imate iskustva u razvoju u drugim programskim jezicima, a moći ćete brzo napraviti prototip s Ruby on Rails. U Japanu, odakle je i nastao, Ruby se koristio za izradu igara. Ruby je koncizan i čita se kao engleski, čineći kôd lakim za razumijevanje početnicima.

Kada je riječ o učenju Rubyja, želim ponoviti: morate početi s malim. Pročitajte nekoliko knjiga, napravite sami nekoliko zadataka, a onda, ako osjetite potrebu za dodatnim znanjem i iskustvom ili dodatnom motivacijom, možete krenuti na tečajeve već s određenom količinom stečenog znanja.

U idealnom slučaju, to su tečajevi tvrtke koja će vam dati ponudu po završetku ako budete dobri. Alternativna opcija su plaćeni tečajevi koji će vam pomoći da učvrstite svoje znanje, dodate još jedan projekt u svoj životopis i steknete iskustvo, što je najvažnije u startu. Ali ne biste trebali očekivati ​​da ćete nakon završenih plaćenih tečajeva lako proći intervju uz pokazivanje svoje svjedodžbe. U svakom slučaju znanje će se ocjenjivati.

U isto vrijeme, ako imate dovoljno motivacije, strpljenja, sposobnosti i iskustva s drugim programskim jezicima, Ruby možete lako savladati i sami, budući da na internetu postoji mnogo korisnih i dobro strukturiranih informacija. Također, zahvaljujući otvorenoj i velikoj Ruby zajednici, na internetu možete lako pronaći odgovore na mnoga moguća pitanja koja je, s velikim stupnjem vjerojatnosti, netko već postavio prije vas.

Zabavite se učeći! A u sljedećem članku ćemo govoriti o kodu.

Pretplatite se na naš Telegram kanal za juniore kako ne biste propustili zanimljiva slobodna radna mjesta, prakse, tečajeve, članke.