itthon / Internet / Miért a Ruby on Rails az egyik legjobb első programozási nyelv a tervezők számára. A Ruby on Rails bemutatása Mire van szüksége a ruby ​​on Rails-hez

Miért a Ruby on Rails az egyik legjobb első programozási nyelv a tervezők számára. A Ruby on Rails bemutatása Mire van szüksége a ruby ​​on Rails-hez

Egy új programozási nyelv elsajátítása hosszú időt vehet igénybe, és rendkívül unalmas lehet. A .Net fejlesztői most biztosan dühösek lesznek, és felkiáltanak: „Miért is kell ezt megtanulnom, mert profi .Net fejlesztő vagyok, és a napi beosztásom nem valószínű, hogy bele fog tudni szorítani egy új nyelv tanulásának folyamatába! ” De ez rendkívül elhamarkodott kijelentés lenne, hiszen az új programozási nyelvek tanulása során sok új és hasznos dolgot tanul az ember, különösen, ha ez a nyelv egy másik, már létező nyelv frissített változata. A rubin az egyik ilyen típusú nyelv. Egyetértek azzal, hogy a kezdő fejlesztőből a professzionálissá válás folyamata egy adott programozási nyelven belül a legnehezebb folyamat, de a tapasztalat megéri. Most már csak felgyorsíthatlak, és biztos vagyok benne, hogy biztosan nem akarsz majd megállni. Vedd lazán!

Megjegyzés: Kérjük, vegye figyelembe, hogy ez a cikk csak felületes bevezetést nyújt a Ruby-hoz (a programozási nyelv) és a Rails-hez (az alkalmazásplatformhoz). A fő cél az, hogy felgyorsítsd a Ruby használatát, és motiválj, hogy megadd a tanulás megkezdéséhez szükséges lökést új nyelv programozás.

Mi az a Ruby?

A Ruby, mint már említettük, különböző programozási megközelítések frissített kombinációja. A Ruby nagyszerű keveréke a Python könnyen érthető munkafolyamat-megközelítésének, a Smalltalk kifinomultságának és a Perl fejlesztéssel együtt járó könnyű stílusnak. A Ruby egy magas szintű objektum-orientált programozás (mint a legtöbb más programozási nyelv esetében is manapság), amely a 90-es évek közepén kezdődött Japánban. Idővel Ruby elterjedt az Egyesült Államokban és Európában.

A Ruby dinamikus típusú rendszeréről és automatikus memóriakiosztásáról ismert. A dinamikus típus alatt azt értem, hogy a Ruby programban ellenőrzött típusok többsége futási időben történik, ami azt jelenti, hogy nem kell aggódnia az egész számok vagy a karakterlánc típusok miatt. Ruby megteszi ezt helyetted. Ezt később egy kis példán láthatjuk.

A Ruby elindításakor a fő cél az volt, hogy megkönnyítse az emberek számára a gépekkel való interakciót és a kód megértését. A Ruby alapítója, Yukihiro Matsumoto ragaszkodik ahhoz az elképzeléshez, hogy a Rubyt a programozók termelékenységének növelésére tervezték, nem pedig az alkalmazás optimalizálására a gépoldalon.

„Az emberek, különösen a számítástechnikai mérnökök gyakran a gépekre összpontosítják figyelmüket. Azt gondolják, hogy így felgyorsíthatják a gép működését, növelhetik a hatékonyságát, mindent, mindent, mindent, ami a gépet érinti, javíthatnak.” Megszállottan foglalkoznak az autókkal. De valójában az emberekre kell összpontosítanunk, gondoskodnunk kell róluk, és megkönnyítenünk az alkalmazásokkal való munkát a gépeken keresztül. Valók vagyunk és élünk, és a gépek csak nekünk engedelmeskednek.

Mi az a Rails?

A Rails egy hihetetlenül produktív alkalmazásplatform, amelyet David Heinemeier Hansson írt Ruby nyelven. Becslések szerint egy webalkalmazás fejlesztése Railsen tízszer gyorsabb, mint egy Java-alapú platformon. A Rails egy nyílt forráskódú, Ruby alapú (természetesen!) keretrendszer, amely gyors és egyszerű adatbázis-integrációra használható.

A Rails kivételesen csúcsminőségű ötleteiről ismert, amelyek különféle új programozási megközelítéseket és dinamikus programozási keretrendszert tettek lehetővé. A fő alkalmazáskód és a frissített adatbázis mindig tartalmazni fogja az összes szükséges Ruby tulajdonságot a program futtatásához az elejétől a végéig.

Rendszeres Ruby program

Lássuk, milyen egyszerű és érdekes dolgok lesznek ezek után:

Kód:
személyes = "Nem szeretem a barátnőmet"
személyes
A kijáratnál:
Nem szeretem a barátnőmet
Igen igen! Nincs inicializálás, nincs pontosvessző és nincsenek módszerek.

Most próbáljuk meg látni a különbséget a PHP és a Ruby között egy példa segítségével, ahol meg kell fordítanunk egy karakterláncot:

PHP:
strrev("karakterlánc");
Rubin:
„string”.fordítva
Voálá! Gyakorlatilag nem vesztegetjük az időt, és teljesen megfordítjuk a rekordok sorrendjét. Figyelembe kell venni a két nyelven végzett erőfeszítések különbségét. A Ruby alapú programozási nyelv nagyban leegyszerűsíti a programírás folyamatát. Ez inkább az angol nyelvű írásra emlékeztet, mint egy programozási nyelvre. Ez minden nyelv jövője.

A Ruby (és a Rails) használatának előnyei

Mindenki tudja, hogy a Rubin világ nagyon nagy, és ma még az 1%-ot sem fedtük le, de ezt a bejegyzéstérezni fogja az erőt ennek a nyelvnek programozást, és arra ösztönzi Önt, hogy saját maga kezdje el felfedezni. Most pedig merüljünk el a Ruby előnyeinek világában:

* Elérhetőség. Mint korábban említettük, ez a Ruby egyik fő előnye. Programozási nyelvként a Ruby nagyon kifinomult és nagyon hasonlít az angolhoz. A közönséges beszélt nyelvhez való hasonlóság az, ami megkönnyíti a kezdők számára, hogy kényelmesen érezzék magukat Rubyval.

* Lakonizmus és hatalom. A fenti példa megmutatja, milyen tömör a Ruby kód. A lehető legrövidebb. Ezenkívül a Ruby egy olyan nyelv, amely olyan erős, mint más nyelvek, mivel ez egy objektum-orientált programozási nyelv magas szint.

* Nem kell újra feltalálni a kereket. A (Ruby alapú) Rails egy olyan programozási felület, amellyel nem kell újra feltalálni a kereket. Olyan kódot generál, amely különböző esetekben újra felhasználható.

* Beépített tesztelés. A sínek biztonsága és javíthatósága miatt népszerűek. A platform ellátja Önt lehetséges opciók kód írása, ami nagyban megkönnyíti a fejlesztési folyamatot. Ezenkívül a Rails néhány egyszerű tesztet is biztosít, amelyek a programozók kérésére kiterjeszthetők.

* Fejlesztői, teszt- és termékkörnyezetek. A Rails lehetővé teszi a projekt elindítását három különböző környezetben: Dev, Test és Prod. Mindhárom környezet kissé eltérően viselkedik.

Kiválasztás

Most pedig vessünk egy pillantást néhány (népszerű) webhelyre, amelyeket a Ruby eszközzel fejlesztettek ki. Látni fogja, hogy a tervezők milyen okosan kezelik projekteiket a Ruby használatával.


02.


03.


04.


05.


06.

Sok fejlesztő barátom méltatta a Rails-t, de nem értettem, miért. Mi az a Rails, és miben különbözik a Ruby on Railstől? Mennyire nehéz megtanulni? Ez még egy programozási nyelv? Mit kell tudnom a Ruby on Rails megtanulása előtt?

Folyamatosan ezek és sok más kérdés kavarogtak a fejemben, de mint kiderült, nem én voltam az egyetlen. Olvasóinkat is érdekelte ez a kérdés, ezért, hogy többet megtudjak róla, úgy döntöttem, felteszek néhány alapvető kérdést egyik kollégámnak Rubyval kapcsolatban. Így született meg ez a cikk.

Készen állsz? Megy!

13 tény a Ruby on Railsről – Mit kell tudni?

1. Mi az a Rails?

A Rails egy webalkalmazás-keretrendszer, amelyet Ruby nyelvű kódírásra terveztek. Zavarba ejtően hangzik, igaz?

Próbáljuk meg újra. Van egy Ruby nevű programozási nyelv. Öröm rá írni. A készítő egyébként elmondta, hogy a fő célja egy olyan nyelv létrehozása volt, amely jobbá teszi a programozók életét. Hát nem csodálatos?

Hadd mondjak egy példát.

Ha PHP-ben akarok szöveget megjeleníteni a képernyőn, akkor írnom kell

echo „Hello World”;

Látod a pontosvesszőt? És ez a „visszhang” – mit is jelent ez?

Másrészt, ha ugyanezt kell tennem a Rubyban, akkor a következőket kell írnom:

"Hello World"

Nincs pontosvessző, és bár a „felrakás” kissé fiatalosnak tűnhet, számomra sokkal értelmesebb, mint a „visszhang”. Ha órákat tölt a kód írásával, az ehhez hasonló apró részletek NAGY különbséget jelentenek.

Az egyetlen probléma a Ruby-val az volt, hogy nem webes alkalmazások létrehozására tervezték. Vagyis nem fog tudni például weboldalt létrehozni rajta. Ez volt a helyzet Rails előtt is. Nem vagyok benne biztos, hogy a Rails volt-e az első webes keretrendszer a Ruby számára, de BIZTOSAN a legnépszerűbb lett.

A Rails célja, hogy olyan platformot és képességeket biztosítson, amelyek lehetővé teszik alkalmazások, különösen webhelyek létrehozását Ruby nyelven. Jelenleg elég homályosan hangzik, ezért megpróbálom így elmagyarázni. Ha én írtam

"Hello World"

akkor a HTML dokumentumban látni fogja a teljes szöveget. De azt akarom, hogy CSAK ezt lássa:

Helló Világ

Egyszerűen fogalmazva, a Rails lehetővé teszi ezt. De ez még nem minden.

2. Mi az a Ruby on Rails?

A Ruby on Rails a Rails keretrendszer TELJES hivatalos neve. De a beszélgetés során a fejlesztők általában nem mondják ki az első részt, hanem csak Rails-nek hívják. Tehát ha „tudatban” akarsz lenni, és technikás hozzáértőnek szeretnél látszani, akkor mindenképpen nevezd Railsnek, de NE FELEJDJÜK EL, hogy mit jelent az első rész – „Ruby on”.

3. Azt hallottam, hogy a Rails remek kezdőknek. Miért?

Számos oka van annak, hogy a Rails miért jó kezdőknek. Az első az, hogy maga a Ruby nyelv nagyon jó kezdőknek, és ez az első plusz. A Ruby nyelven való kódolás megtanulása sokkal könnyebb, mint más nyelveken, mivel a nyelv meglehetősen rugalmas és liberális, ami kíméli az idegeit, és több időt tölthet a programozás alapjainak megtanulásával.

Miért olyan szórakoztató a Rails a kezdőknek? Egyszerűen nagyon stabil, és óriási munkát végez az Ön számára.

Számomra a Rails-en dolgozni olyan, mint teherautót vezetni. Hihetetlenül erős, csak nézz rád – teherautót vezetsz!!! Azonban mennyire tudja, hogyan működik az autó, amit vezet?

Az a tény, hogy a Rails sokkal több feladatot lát el, és elvégzi azokat Ön helyett, lehetővé teszi, hogy azonnal élvezze a nagyszerű előnyöket. Néha azonban ez ellened is hathat, ha időnként megelőzöd magad, és nem tanulod meg teljesen az alapokat, amelyeket egyszerűen tudnod kell.

Emiatt nagyon fontos megtanulni a Ruby on Rails-t a semmiből. És ami a legfontosabb, meg kell győződnie arról, hogy valóban kényelmesen dolgozik Rubyval. Ellenkező esetben félúton kiszállsz abból a teherautóból, és azt mondod magadban: „Várj, tényleg én vezettem ezt a dolgot?”

4. Mi a különbség a Rails fejlesztő és a Ruby fejlesztő között?

Formálisan az a különbség, hogy egy tiszta „Ruby fejlesztő” Rubyban hoz létre alkalmazásokat, de Railsben nem. Bár ez általában nem történik meg. Minden bizonnyal lehet webalkalmazásokat készíteni Rubyban más keretrendszerekkel, például a Sinatra használatával, de hajlandó vagyok fogadni, hogy az esetek 99%-ában nem valószínű, hogy csak Ruby programozóként alkalmaznak. Ezért minden esetben meg kell tanulnia Rails-t.

5. Mennyire kell ismernem Rubyt? Mit kell megtanulnom az edzés megkezdése előtt?

Erről megoszlanak a vélemények, de a nagy teherautó példájánál maradva úgy gondolom, hogy kényelmesnek kell lenni Rubyval ahhoz, hogy elmélyüljön a Rails. Csakúgy, mint mondjuk, jobb, ha először megtanul biciklizni, mielőtt autóra vált, és utána gondol a kamionvezetésre.

És itt van még egy dolog. A Rails-en való munka során sok időt kell azzal tölteni, hogy Rubyban írok kódot. Emiatt nagyon jól kell ismernie ezt a nyelvet, különösen az alapjait: adattípusok, metódusok, objektumorientáció, hibakeresés és még sok más. És nem kell rendkívül tapasztalt Ruby programozónak lenni – csak magabiztosnak kell lennie, amikor dolgozik vele, mint kacsa a vízhez.

6. Miért tanuljam meg a Rails-t? Mitől különleges?

Kiváló és egyszerűen lenyűgöző. Mit kell még tudni? Amikor a Rails először megjelent, a designművészet igazi felfedezése és vívmánya lett. Mivel a mi legjobb gyakorlatokés amelyeket a létrehozása során figyelembe vettek, a Rails gyakorlatilag a kiváló kód írásának útjára állít, még akkor is, ha nem akarja (vagy nem tudja, hogyan tegye).

Ha robusztus webalkalmazásokat szeretne készíteni, amelyek szükség szerint növekednek, miközben a jövőben könnyen karbantarthatók, a Rails nagyszerű lehetőség. Ráadásul sok menő cég körében népszerű. Az utolsó nagy ok, amiért a Rails olyan népszerű az induló vállalkozások körében, az az, hogy kiválóan alkalmas gyors prototípuskészítésre. Néhány óra alatt elképzelheti, létrehozhatja és elindíthatja a szükséges Rails alkalmazást. Valójában nagyon kevés más keretrendszer képes kezelni ezt.

7. Mit tudsz létrehozni a Rails segítségével?

Mit szeretnél létrehozni? A Rails bármilyen webes alkalmazáshoz alkalmas. Szemléltetésképpen nézze meg ezeket a nagyszerű példákat a Rails segítségével épített webhelyekre: Hulu, Airbnb és Basecamp.

8. Létrehozhatok mobil alkalmazásokat a Rails segítségével?

Igen és nem. A Rails segítségével nem fog tudni mobilalkalmazásokat létrehozni, de a Rails segítségével biztosan létrehozhat webalkalmazást, és azt háttérként használhatja. mobilos alkalmazás.

Van egy RubyMotion nevű eszköz is, amely nagyon egyszerűvé teszi a natív iOS és Android alkalmazások létrehozását Rubyban (de nem Railsben). Ez azt jelenti, hogy KIFEJEZETTEN nem fogja használni a Rails-t mobilalkalmazás létrehozásához Alkalmazásbolt, de a Rails mindenképpen fontos része lehet a mobil projektnek. Remélem most már tisztább a kép.

9. Ruby on Rails – Milyen munkát kaphatok?

A sínek manapság az egyik legkeresettebb készség, így nagyon sok cég közül lehet választani, akikkel dolgozni szeretnének. Az olyan induló vállalkozások, mint a Zearn, különösen szeretik a Rails-t. Ez egy induló non-profit oktatási informatikai cég. Választhat egy nagyobb céget is, mint a Bloomberg, és részt vehet olyan webhelyek és alkalmazások fejlesztésében, amelyeket több millió felhasználó használ. A szabadúszó a Rails fejlesztői számára is jó lehetőség. Függetlenként kiválaszthatja, hogy milyen projektekben szeretne részt venni: kis és rövid távú vagy komoly és hosszú távú projektekben.

10. Kipróbáltam másik programozási nyelvet, de nem tetszett. Próbáljam ki a Rails-t?

Még egyszer szeretném hangsúlyozni - a Rails valójában nem egy programozási nyelv, hanem egy keretrendszer. Ha valaha is elgondolkozott már azon, hogy van-e értelme megpróbálni beleszeretni bármely programozási nyelvbe, csak annyit mondhatok, hogy a Ruby a világ legtiszteltebb és legkedveltebb programozási nyelve. Szóval addig nem írnám le a programozást, amíg ki nem próbáltad a Rubyt.

11. Meg kell tanulnom a JavaScriptet a Rails-lel együtt?

Ehelyett – nem. Ráadásul – KÉTSÉGESEN.

A Rails fejlesztőjének meg kell tanulnia a JavaScript()-et. Ez nem követelmény a Rails elsajátításához, de ez egy olyan készség, amelyre szüksége lesz a tanulás során.

Legyünk őszinték, ahogy fokozatosan mélyebbre kerülsz a technológiai területen, ráébredsz, hogy elég sok készségre lesz szükséged (alapvetően ez azt jelenti, hogy mindenkinek arra kell törekednie, hogy Full-Stack fejlesztő legyen). Szerencsére a tapasztalatszerzéssel egyre könnyebben tanulhatsz új nyelveket és új keretrendszereket.

Ami azt illeti, hogy a JavaScriptet vagy a Rails-t válasszuk, egyenesen elmondom, hogy egyik esetben sem hibázhatunk. Szerintem a Rubyt sokkal könnyebb megtanulni, mint a JavaScriptet. Ezen kívül sok embert ismerek, akik könnyebben találták a JavaScriptet, miután először megtanulták a Rubyt. De ahogy fentebb is mondtam, biztosan nem tévedhetsz, ha mindkettőt tanulmányozod.

12. Mennyi ideig tart a képzés?

Naponta mennyi időt kell tanulással töltenie? Úgy gondolom, hogy a Rails jó megértéséhez több hónapos elkötelezett képzésre van szükség. De mint minden más készséghez, Önnek is több tízezer órára lesz szüksége ahhoz, hogy Rails profi legyen, ezért a legjobb, ha most elkezdi.

A tanulási sebességről nagy befolyást a programozás területén általános ismereteket nyújt. De ha teljesen kezdő vagy, akkor érdemes a Ruby and Rails-el kezdeni.

13. Ruby on Rails – Hol kezdjem?

Azt javaslom, hogy kezdje a ma elérhető legjobb Ruby on Rails tanfolyammal. Ha életedben nem írtál egy kódsort sem, akkor az első dolog, amit meg kell tenned, hogy elvégezd a HTML és CSS tanfolyamot. Szerencsére meglehetősen könnyű kurzusokat találni a HTML-ről és a CSS-ről. Ezt követően meg kell tanulnod a Rubyt, a Git-et és a parancssort.

A képzési program általában fokozatosan vezeti be a Rails-t, bemutatva, hogyan kell dolgozni a Sinatrával és az ActiveRecorddal. Ez még nem mond semmit, de a lényeg az, hogy mielőtt vezetné azt a „kamiont”, amit korábban említettem, érdemes néhány egyszerű Rails vezetési tanfolyammal kezdeni.

A tanulás során az a legjobb, ha létrehozol egy saját projektet, dolgozol valamin és fejlődsz, tudod, hogy jó irányba haladsz, és jó támogatást is kapsz! A tanulási folyamat során milliónyi apró kérdés fog felmerülni, és a legjobb eredmények elérése érdekében fontos, hogy legyen valaki, aki segít kitalálni, és útmutatást ad, ha a dolgok nehézzé válnak.

Alexander a kezdő és folytató internetes vállalkozók támogatására létrehozott „Web Laboratory of Success” weboldal projekt alapítója, meggyőződéses munkamániás, akinek szakmai tapasztalata van egy online magazin szerkesztőségének irányításában, saját webáruház létrehozásában és menedzselésében. Fő foglalkozás: vállalkozások népszerűsítése (beleértve az online boltokat is) Facebookon és Google Adwords. Fő hobbi: weboldalak bevételszerzése affiliate marketing eszközökön keresztül és Google Adsense. Személyes megerősített rekordok: 3 millió bloglátogató havonta.

Ma találtam egy történetet az interneten arról, hogy valaki James Fend 12 héten keresztül tanulta meg a Ruby on Rails-t. Alább elolvashatja ennek a történetnek a viszonylag pontos fordítását, és remélhetőleg ihletet kap ennek a csodálatos keretnek (és csodálatos nyelvnek) a felfedezéséhez.

Mielőtt elkezdenék, szeretném bemutatni Josh Crews-t (http://joshcrews.com), és megköszönni neki, hogy meggyőzött arról, hogy elkezdjem megtanulni a Ruby on Rails nyelvet; nélküle, a segítsége és a mentoromként eltöltött órák nélkül ma nem írnám meg. Köszönöm.

Január 23-án elindítottam álmaimat, a Freelancify.com-ot. Pontosan 12 héttel ezelőtt technológiai vállalkozó voltam, aki több ezer dollárt költött egy tisztességes MVP (minimálisan életképes termék) létrehozására, mert hiányzott a tudásom. Az egyik ok (akkor azt hittem), hogy a képzés túl nehéz volt számomra, vagy rendkívül sokáig tartana. Azt hittem (mint sokan mások), hogy a programozók (és egyesek) olyan mágikus problémamegoldó és matematikai készségekkel születnek, amelyek programozási zsenivé teszik őket. És pontosan 12 héttel ezelőtt elfogadtam A legjobb döntés sokáig, tényleg hosszú ideje . Egyik ötletem sem marad többé csak ötlet. Most lehetőségem van éles verziókat indítani, csak a tárhelyre költve és némi erőfeszítéssel. Ma ez a készségkészlet egy csomó traktor húzásához hasonlít a kaliforniai aranyláz idején, miközben mindenki más egyszerű lapátot használt. Azt javaslom, hogy mindenki tanuljon meg kódot írni. Itt egy pontosítást fűznék hozzá: korábban „Hogyan tanultam meg Railset 8 hét alatt” című bejegyzést, de pontosabban, az indulási dátum ismeretében kiderül, hogy 12 hét. Azonban 8 héten belül úgy éreztem, hogy eleget tudok, és a következő négy hét inkább a megszerzett tudás munkába helyezése volt, nem pedig a tanulás.

Milyen készségekkel rendelkeztem, mielőtt elkezdtem tanulni a Rails-t?

Webtervező voltam, HTML és CSS ismeretekkel, és főként az UI és UX tervezésre koncentráltam. A legnehezebb dolog, amit tényleges kóddal csináltam (a HTML-t nem számítva), az az, hogy testreszabhatom a Wordpresst. Röviden, fogalmam sem volt, mi az az MVC-keretrendszer, vagy általában véve hogyan működnek az adatbázisok. A Freelancify dizájnját, elrendezését és HTML-jét én készítettem két hét alatt 2011 júniusában.

Miért döntöttem úgy, hogy tanulok?

Visszatérve 2011 júniusára, amikor elkészült az elrendezés, elkezdtem keresni egy kódolót, aki működőképessé tenné az elrendezést. Az elrendezés már majdnem készen volt: voltak szövegmezők, legördülő menük, űrlapok, gombok, a kívánt helyre vezető linkek stb. Találtam egy fejlesztőt, és dióhéjban a srác nem jött be nekem. Rengeteg adósságom maradt, és egy termék sem közelített a befejezéshez. Ezért felvettem a kapcsolatot Josh Kriusszal (egy Ruby on Rails találkozón találkoztam vele, amit Nashville-ben szervezett), és találkoztam vele, hogy megnézzem, tudok-e valamit csinálni abból, amit fejlesztőként hagytam. Sajnos a kód javítása és módosítása nem kevesebb időt vesz igénybe, mint egy hozzáértő programozó által a nulláról történő fejlesztés. Elkeseredtem, mert rájöttem, hogy nem engedhetem meg magamnak, hogy a semmiből újra több ezer dollárt költsek fejlesztésre. És akkor Josh azt mondta... Miért nem tanulja meg a Ruby on Rails kezelését, ez a projekt nagyszerű módszer lenne" és akkor " Akár hetente kétszer is találkozhatok veled, és segíthetek a tanulásban" Egész éjszaka ezen gondolkodtam. A lehetőségem a következő volt: keress egy kényelmes állást és fizessem ki a számlákat VAGY kockáztasson mindent, hogy megtanuljon Rails, és végül lakmározza a legjobb ramen Olaszország által kínált. Eldöntöttem. Másnap reggel felhívtam Josht. mindent felraktam. A fennmaradó megtakarításból kiosztottam pénzt, és három hónapra osztottam (egy egyedül élő, gyerek nélkül élő srácnak elég havi ezer dollár). Ideje munkába állni, most főállású gyakornok vagyok. Szem előtt tartva, hogy a Google kereső, a Stackoverflow, az IRC #RubyOnRails és a Rails közösség a hátam lesz, ha elakadok, biztos vagyok benne, hogy rengetegen lesznek.

A következő három hónapom - Küldetés: Szerezz egy MVP-t, dolgozz eleget, de ne „elég szívás” ahhoz, hogy szörnyű első benyomást hagyj magad után.

1-3 hét

Valószínűleg ez volt a legnagyobb tanulási görbe, de NEM adtam fel.

A falak azoknak készültek, akik nem igazán akarják elhagyni őket.

Egy működő Rails-környezet létrehozása egy teljesen újonc számára hihetetlenül bosszantó lehet. 1. tipp: Szerezzen Macet. 2. tipp: Használja a Homebrew-t, az RVM-et, a Git-et és a Heroku-t (ez tényleg minden, amire szüksége van az induláshoz). Pár napot töltöttem a telepítéssel, majd eltávolítottam mindent és újra telepítettem. Csak ismételje meg néhányszor, és megszokja a használatát. parancs sor terminálon (konzolon), és megértse, miért működnek a dolgok úgy, ahogy. Aztán az első dolgom a TryRuby volt, a Rails for Zombies és a Rails bemutatója Michael Hartle-től. Ne aggódjon az anyag 120%-os megértése miatt, ez nem fog megtörténni, amíg el nem kezdi igazán tanulni. Befejeztem a Rails oktatóprogramot, és körülbelül egy hét alatt megépítettem ezt a Twitter-szerű alkalmazást anélkül, hogy igazán értettem volna, mit csinálok. Később, ahogy haladtam előre, kezdtem rájönni, hogy minden kezd értelmet nyerni.

3-6 hét

A Rails oktatóanyaggal felépített Twitter alkalmazással némi önbizalmat szereztem. Az útmutató nem tett engem fejlesztővé, de most már ismerem az alkalmazás elkészítésének általános lépéseit, az alkalmazás létrehozásától a Heroku-ra való telepítésig. Minden, ami közben történt, homályos maradt. Hogyan kezdhetek el VALÓBAN most tanulni? Valódi projekten dolgozni, ami jelent nekem valamit. Josh és én úgy döntöttünk, hogy szabadon dolgozom a Freelancify-on, és megnézem, mit tehetek. Az első dolgom az volt, hogy kivettem az összes HTML-t a keretrendszerből, és nézetekbe és részfájlokba rendeztem. Létrehoztam állványozott sablonplatformokat felhasználók és projektek számára. Aztán elkezdtem tanulni az első igazi gyöngyszemem, a Devise. Ezután lehetőség nyílik kapcsolatokra, például minden felhasználónak lesz egy portfóliója. De a felhasználóknak több portfóliójuk is lehet, míg minden portfólió csak egy Felhasználóhoz tartozhat. Ha megérted, hogyan működnek a modellek közötti kapcsolatok, és hogyan hívj/mutass ki valami máshoz tartozó dolgokat, az élet sokkal könnyebbé válik. Ha elakad egy alkatrészen, és nem tud mozogni, hagyja ki, nagy eséllyel, miközben egy másik funkciót fejleszt, azt is kitalálja, hogyan valósítsa meg azt, amit kihagyott.

6-9 hét

Lépésről lépésre tanultam tovább, másoltam és ismételgettem. Megcsináltam néhány dolgot, aztán - bam -, falnak ütköztem, és fogalmam sincs, mit tegyek ezután. Akár a Stackoverflow-n, akár az IRC-csevegésen, a #RubyOnRails-en, a RailsCast-en, akár a Josh-t rángatózom, végül rájöttem, hogyan tovább. Csináld ugyanazt újra és újra, és elég hamar rá fogsz jönni. Ha bosszantó órákat tölt azzal, hogy valaki válaszát teszteli a Stackoverflow-n, hogy rájöjjön, hogy nem működik, valóban hasznos. Megérted, mit ne tegyél. És ha megtalálja a választ, akkor kezdi megérteni MIÉRT utóbbi nem működött. Ekkortájt kezdtem ráébredni, hogy milyen nagy a kép a dolgokról, és kezdtem igazán megérteni MIÉRT minden pontosan úgy működik, ahogy működik. Úgy éreztem magam, mint egy idióta, és visszamentem, és átalakítottam a korábban írt kódot, hogy hatékonyabb legyen. És egy ponton elértem egy olyan szakaszt, amikor minden kezdett a helyére kerülni.

9-12 hét

Hihetetlen energia üzemmódban voltam, amikor a Freelancify-t elindítottam. Ebben a szakaszban úgy éreztem, mintha repülnék, működésbe hozva a funkciókat. Az elmúlt hét különféle hibák és baklövések hibakeresésével telt. Hétfőn elindítottam az oldalt. De még messze vagyok a tanulmányaim befejezésétől... Ennyi. Kihagytam (a poszt rövidsége érdekében) apró részleteket és technikai szempontokat. Kérdéseket azonban nyugodtan tegyél fel kommentben, mindenképp igyekszem válaszolni. James Fend.

P.S. - Bár sokat segített, hogy van egy mentorom, akivel találkozhattam, Rails nélkül is biztosan meg lehet tanulni. Vagy próbáljon meg magának egy ilyen személyt, sok Rails fejlesztő szeretne hozzájárulni a közösséghez. Keressen helyi konferenciákat és találkozókat.

Ez a bejegyzés már több mint két éves (2012. január 27-én jelent meg), de ennek ellenére nem veszített aktualitásából. Ez idő alatt James Fendnek sikerült eladnia a Freelancify-t és befektetni egy új startupba, erről 2013. február 27-én jegyzetet hagyott. Úgy gondolom, hogy ez a cikk kiváló példa arra, hogyan érheti el az ember a célját. Mindössze annyit kell tennie, hogy elkezdi. :)

Valódi alkalmazásokat készíthet a Ruby on Rails segítségével. Talán kipróbáltad a Ruby on Rails-t, de túl bonyolultnak találtad, és úgy érzed, hogy teljesebb bemutatásra van szükséged. Lehet, hogy főnöke vagy ügyfele egy Ruby on Rails projekt mélységébe sodorta, és gyorsan meg kell tanulnia a Railsről? Vagy talán úgy döntött, hogy fel szeretné venni a webfejlesztést és a Ruby on Railset az önéletrajzába. Ha igen, akkor jó helyen jár. Ez a kurzus megtanítja Önnek, hogyan hozhat létre webes alkalmazásokat a Ruby on Rails használatával.


Miért Ruby on Rails?

A Ruby on Rails gyors és hatékony módszer webes alkalmazások fejlesztése. Leegyszerűsíti a gyakran ismétlődő feladatokat, amelyek más nyelveken történő létrehozása hosszú időt vesz igénybe. Sokkal könnyebb minőségi terméket készíteni Ruby on Rails nyelven, mint más nyelveken.

Mivel a keretrendszer kiforrott, rengeteg nyílt forráskódú projekt/kód használható, amelyek rendkívül hatékonyak, és valóban előnyt jelentenek a robusztus webalkalmazások felépítésében.

Ezenkívül a Ruby programozási nyelvet használja. A Ruby kód úgy olvasható, mint az angol, így sokkal könnyebben érthető, ha csak most kezdi a programozást. Dinamikusan tipizált nyelvként a Ruby nem rendelkezik mindazokkal a merev szabályokkal, mint a többi nyelv, és nagyon hasonlít a beszélt nyelvhez. Rugalmasságot biztosít a problémák humánusabb megoldásához, mint más programozási nyelvek.

Mire vonatkozik?

A kurzus néhány jellemzője többek között...

Git Basics, Rails mag "7 metódus" és hogyan teljesítenek "CRUD", Rails Routing, Erős paraméterek, Egyéni visszahívások, Egyéni érvényesítés, Részlegesek,

Bootstrap 4, Rails Generátorok, Felhasználói engedélyezés, Felhasználó hitelesítés, Tartalomkezelés, Telepítés, Adatbázis betöltése, Push/Receive Email Rails alkalmazás használata, Sidekiq beállítása, Redis beállítása Heroku-n és egy privát szerveren, sablonok telepítése, egyéni érvényesítő üzenetek, eszközök hozzáadása a Rails Pipeline-hoz, képek feltöltése saját szerverére, feltöltés AWS-be, WYSIWYG hozzáadása – amit lát , ezt kapod a szerkesztőtől és még sok mást!

Miért a legjobb döntés, ha erre a kurzusra jelentkezik.

Ezek a kurzusok nem összetett példákat használnak az összetett feladatok elvégzéséhez. A cél az, hogy megértse, pontosan mit csinál, és miért, nem pedig az, hogy olyan kódot vezessen be, amelyet nem ért. Egyetlen kód sem marad elfedve, mert fontos, hogy megértse az egyes sorok működését.

A tanfolyam elvégzése után rendelkezel a szükséges készségekkel, hogy saját webalkalmazásaidat Ruby on Rails segítségével készítsd el.

Minél hamarabb iratkozik fel erre a tanfolyamra, annál hamarabb rendelkezik majd a tapasztalatok bővítéséhez szükséges készségekkel és ismeretekkel. A Ruby on Rails fejlesztőire nagy a kereslet! Miért ne kezdhetné el a Ruby on Rails-t még ma?

Régóta szerettem volna megtanulni a Ruby on Rails-t valamilyen alapszinten. Konkrét cél nélkül. Inkább csak magadnak, hogy jobban megértsd, mi olyan különleges benne (ellentétben 100 500 más technológiával és keretrendszerrel), ami lehetővé teszi, hogy gyorsan hozzon létre és méretezhessen meglehetősen terhelt internetes projekteket. Másodlagos ok az új tanulási megközelítések kipróbálásának vágya volt. Amikor programozónak tanultam, csak könyveink és fórumaink voltak, ahol lehetett tanácsot kérni. Jelenleg interaktív tankönyvek és online programozóiskolák, hatalmas számú képernyőközvetítés (szinte álom: guruk programokat nézni), tudásbázisok, mint a stackoverflow.com és rengeteg forráskód a GitHubon, ahol órákat tölthet a valódi forráskódjának tanulmányozásával. profik. Úgy döntöttem, hogy a következő néhány éjszakát félreteszem (és egyszerűen nem volt időm napközben), hogy a gyakorlatban is kipróbáljam a tanulás új módjait.

Egy éjszaka

Furcsa lenne elkezdeni a Ruby on Rails tanulását a Ruby legalább minimális ismerete nélkül. Már átvettem a ruby-lang.org interaktív útmutatót. De amint átmentem rajta, azonnal elfelejtettem mindent. Alkotói azt ígérik, hogy tizenöt percet vesz igénybe a Ruby szintaxisának befejezése és elsajátítása. Harminc kellett hozzá. Igaz, folyamatos figyelemeltereléssel a Twitteren. A folyamat valahogy így néz ki. Azt mondják: „A Ruby-ban lévő tömbök így vannak deklarálva, és az adatok az ilyen tömbökből származnak. Most próbáljunk meg egy tömböt készíteni és N elemet kivonni belőle. Ellenőrizzük." Olvassa el, hogyan működik minden, és azonnal kipróbálja. Természetesen Rubyt így nem tanulod meg. Jobb, ha egy szuper-expressz tanfolyamnak tekinti, amely működik. Pedig maga a Ruby nagyon távol áll a Ruby on Rails keretrendszertől. El akartam sajátítani a síneket. Az online oktatásról szóló cikkünkből határozottan eszembe jutott a szenzációs Zombie for Rails tanfolyam, a railsforzombies.org. Ez ugyanaz, mint a Try Ruby, egy interaktív oktatóanyag, amely megtanítja Önnek, hogyan készítsen azonnal vasúti alkalmazásokat. Először is tartanak egy mini előadást (angolul, de minden nagyon világos - kapcsold be a feliratokat) egy vasúti alkalmazás fájlstruktúrájáról, az adatokkal való munka CRUD megközelítéséről, elmagyarázzák, hogyan valósul meg az MVC modell sínen. , stb. Minden videó után olyan feladatokat kell teljesítened, amelyek konszolidálják az anyagot. Minden egyszerűnek és egyértelműnek tűnik, a pálya egy-két óra alatt észrevétlenül elrepül (ez rövid). De! A tanfolyam után úgy éreztem, tudok vasúti jelentkezést írni? Sajnos nincs!

Kettő éjszaka

Az egyik ok, amiért a Rails for Zombies némi alapvető tudást, de kevés önbizalmat hagy meg, az a virtuális környezet, amelyben az edzés zajlik. Egyrészt a határra csökkenti a belépési küszöböt: nem kell aggódnia a környezete miatt. Másrészt nem hozol létre semmi igazit az út során – nincs „Hello World” szó a kijáratnál. És ami a legfontosabb, nem világos, hogy melyik oldalról közelítsük meg a létrehozását. Ettől a pillanattól kezdve szerettem volna működés közben is kipróbálni a Ruby on Rails-t, ténylegesen telepíteni a rendszerre (előtte nem is kellett próbálkoznom), és a semmiből létrehozni egy egyszerű alkalmazást. Nem emlékszem hogyan, de egészen véletlenül akadtam rá egy nagyon sikeres screencast tanfolyamra az orosz rails.hasbrains.org oldalon. Köszönet a szerzőnek a hozzáértő előadásáért: módszeresen, részletesen elmagyarázza a vasúti alkalmazás működési elveit, útközben minden szükséges finomságban elmerül. Röviden, a kísérlet teljes második éjszakáját azzal töltöttem, hogy e képernyőközvetítések több mint harminc epizódjának első felét néztem. Végre megrögzült a fejemben a kép arról, hogyan készül egy alkalmazás, hogyan kell dolgozni a rail konzollal, hogyan kell modelleket és migrációkat készíteni, hogyan kell frissíteni a modelleket és hogyan kell érvényesíteni a bennük lévő adatokat, RESTful vezérlőket stb. Az egyes epizódokat megnézve azonnal mindent kipróbáltam működés közben, egy teljesen működő vasúti alkalmazást építettem fel. Világossá vált, hogy a sínek elvileg hogyan vannak kialakítva.

Három éjszaka

Harmadik estére maradtak a képernyőközvetítések utolsó epizódjai, amiket sikerült egyhuzamban végignéznem: már nem tűnt olyan vadnak a sínekkel való munka. Abban a pillanatban valaki azt mondta nekem, hogy a Rails for Zombies tanfolyamnak van egy értelmes és sokkal mélyebb folytatása. Igaz, a kurzus már fizetős, és a Code School programozási iskolájában található, www.codeschool.com. Nem volt szégyen 25 dollárt fizetni azért, hogy bejusson az iskola összes kurzusába. Ez egy havi ár, így ha nem tetszik, ne felejtse el lemondani az előfizetést. A Rails for Zombies 2 tanfolyam igazán sikeres volt. Igaz, sok minden megismétlése volt annak, amit a képernyőközvetítéseken láttam, de még részben kellemes is volt. Öt szint és öt gyakorlatblokk, amelyeket közvetlenül az interaktív konzolon végezhet el. Ekkor már logikusnak, érthetőnek és használhatónak tűntek a sínek. A Code Schoolban közvetlenül a böngészőben programozhat tanfolyami feladatok elvégzésével

Mi a következő lépés?

Megtanultam összetett projekteket csinálni? Nem. De határozottan felismertem a sínekben használt megközelítéseket, és megértettem azok kényelmét. Megtanulta gyorsan alkotni egyszerű alkalmazásokés szuperrövid időn belül növeli funkcionalitását a közösség által írt drágakövek segítségével. Elkaptam a bátorságot, és továbbra is élvezem a bevált gyakorlatok elsajátítását a Code School programok segítségével (jelenleg egy egységtesztekről szóló tanfolyamon veszek részt). És átkozottul boldoggá tesz, hogy ilyen egyszerűvé vált a tanulási technológia.