Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Webfejlesztés villámgyorsan Ruby on Rails alapokon

    A tantárgy angol neve: Rapid Web Development Using Ruby on Rails

    Adatlap utolsó módosítása: 2010. március 12.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnök informatikus szak
    Villamosmérnöki szak
    Szabadon választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VITMBV17   1/1/0/f 2  
    3. A tantárgyfelelős személy és tanszék Dr. Kovács Gábor, Távközlési és Médiainformatikai Tanszék
    4. A tantárgy előadója
     Név: Beosztás: Tanszék, Intézet:
     Maliosz Markosz Ph.D tud. munkatárs TMIT
     Kovács Gábor ügyvivő szakértő TMIT
    5. A tantárgy az alábbi témakörök ismeretére épít A számítógép-programozás alapjai
    6. Előtanulmányi rend
    Ajánlott:
    nincs
    7. A tantárgy célkitűzése A Ruby on Rails nyílt forráskódú webfejlesztési keretrendszer, ideális választás adatbázis-vezérelt portálok gyors és egyszerű fejlesztésére. A Ruby egyszerű és következetes nyelvtana, az erősen objektum-orientált koncepció, valamint a – Java-hoz mérten is – jó modellezhetőség egyaránt hozzájárult a sikertörténethez; ezek mellett pedig nem elhanyagolható tényező a fejlesztési sebesség sem, mely a Rails környezettel lényegesen gyorsabb, mint akár J2EE, akár PHP esetén. A tárgy célkitűzése, hogy a hallgatók gyakorlati problémák megoldásán keresztül megismerjék és elsajátítsák a Ruby on Rails fejlesztési módszertanának alapjait, beleértve a tervezési, fejlesztési és projektkövetési feladatokat is.
    8. A tantárgy részletes tematikája

    1. hét előadás
    Bevezetés. Trendek a webfejlesztésben, tipikus web 2.0-s fejlesztési feladatok. A Ruby on Rails filozófiája, a megcélzott piaci szegmens. A gyors fejlesztési módszertanok áttekintése, kapcsolatuk a Ruby on Rails-szel. Extreme Programming. Agilis módszertan. A Model-View-Controller (MVC) tervezési minta.

    2. hét gyakorlat
    Tipikus web 2.0-s fejlesztési feladatok megvalósításának menete nem Ruby on Rails alapokon. A fejlesztés folyamatának végigkövetése egy webes áruház példáján keresztül. A többször megírt kódrészletek azonosítása. A Ruby értelmező és a Ruby on Rails keretrendszer telepítése.

    3. hét előadás
    Bevezetés a Ruby programozási nyelvbe. A Ruby objektummodell. Alaptípusok és változók, metódusok, egységbe zárás. Nyelvtan, szintaxis. Operátorok, vezérlési szerkezetek. Kivételkezelés. A Ruby API. String- és fájlműveletek, hálózatkezelés, adatbázis-kezelés, webszolgáltatások, környezeti változók. A Ruby interpreter. Reflection.

    4. hét gyakorlat
    Ismerkedés a Ruby programozási nyelvvel példákon keresztül. Példák az alaptípusok és azok beépített metódusainak használatára, osztálydefinícióra. Érték és referencia szerinti paraméter átadás. Operátorok, vezérlési szerkezetek és kivételkezelés használata. Példa fájlműveletre, adatbázis-kapcsolat használatára, hálózati alkalmazásra, valamint webszolgáltatás hívásra.

    5. hét előadás
    Bevezetés a Ruby on Railsbe. A Model-View-Controller tervezési minta megvalósítása. A Rails komponensei. A REST hálózati szoftver architektúra, a RESTful hálózati szoftver integráció alapelvei, összehasonlítás a webszolgáltatás alapú integrációval. A REST megvalósulása a Rails keretrendszerben. Erőforrás alapú címzés.

    6. hét gyakorlat
    A Hello World Rails alkalmazás létrehozása. Az alkalmazás könyvtárszerkezete és az MVC minta. Az alkalmazás futtatása. A Rails alkalmazás és a HTTP kérés URL közötti kapcsolat. Controller és akciók definíciója. Dinamikus tartalom előállítása. Webalkalmazás kompozíciója több Rails weboldalból.

    7. hét előadás
    Rails és az adatbázisok. Adatbázis-kapcsolat felépítése és használata Rubyban. Rails adatmodell és a modellmanipulációs keretrendszer (scaffold). Adatbázis migrációs osztályok definíciója, relációk. Egyszerű modellkapcsolatok Rails-ben, adatbázisok modellezése. Bemeneti adatok validációja, validációs opciók, feltételes validáció, visszahívás. Tranzakciók.

    8. hét gyakorlat
    Adatbázis-kapcsolattal rendelkező Rails alkalmazás fejlesztési folyamata egy webáruház példáján keresztül. Rails alkalmazás és az adatbázis létrehozása, a Rails alkalmazás konfigurációja. A modell és az táblák létrehozása. A Controller megvalósítása. Validáció megvalósítása, saját validációs metódus írása.

    9. hét előadás
    A nézet layout sablonjának módosítása, CSS stílusok hozzárendelése a webalkalmazáshoz, változók értékének formázása. HTTP POST üzenetek generálása, akciók kötése a nézethez, formok. Sessionkezelés Railsben, nyilvántartás adatbázisban. Hibakezelés Railsben, naplózás, átirányítás. Akciók közötti kommunikáció, a flash.

    10. hét gyakorlat
    A 8. hét előadásán megkezdett példa folytatása. Linkek, üzenetküldés a szervernek. Layout beállítása, CSS, adatformázás. Session megvalósítása. Hibakezelés megvalósítása, amennyiben az adatbázisban nem található meg a kért adat. A hiba naplózása, a felhasználó értesítése a találat hiányáról, átirányítás.

    11. hét előadás
    Template-ek formázásra, tördelésre, oldalak közötti linkelésre, email küldésre. RJS template, kliensoldali AJAX műveletek fejlesztése. Adminisztráció megvalósítása, felhasználók, szerepek. Szűrő típusok (before, after, around). Cache és teljesítménynövelés, stratégiák. Webszolgáltatások.

    12. hét gyakorlat
    Template-ek használata, példa tördelésre és formázásra. AJAX. Adminisztrációs felületek és felhasználómenedzsment megvalósítása. Felhasználókhoz és szerepekhez kötődő funkciók azonosítása és megvalósítása, az adatmodell tervezése, a funkciók megvalósítása az MVC szerint. Webszolgáltatások, AWS.

    13. hét előadás
    Biztonsági kérdések, előtétszűrők használata hitelesítésre, biztonsági megfontolások. Tesztelés, debuggolás és code refactoring. Modellek unit tesztjei, a unit tesztek támogatása Railsben. Controllerek funkcionális tesztje. Integráció teszt. Teljesítmény teszt. Virtuális modellek kezelése. Kitekintés: ami a Rails-ből hiányzik.

    14. hét gyakorlat
    Védekezés SQL injekciós támadással szemben. Tipikus biztonsági hibák. Tesztesetek készítése a félév folyamán készített példákhoz: unit teszt, funkcionális teszt, integráció teszt, teljesítmény teszt.

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és bemutató órák előadások keretében
    10. Követelmények A szorgalmi időszakban: féléves otthoni feladat megoldása. A félévközi jegy az otthoni feladat osztályzata.
    11. Pótlási lehetőségek Az otthoni feladatok pótlólagos leadása a pótlási időszakban, egy kijelölt időpontban lehetséges.
    12. Konzultációs lehetőségek Igény szerint, az oktatóval egyeztetve
    13. Jegyzet, tankönyv, felhasználható irodalom D.Thomas, D.H.Hansson: ”Agile Web Development with Rails”, The Pragmatic Books 2007
    J.McAnnaly: ”Mr. Neighborly’s Humble Little Ruby Book”, J.McAnnaly 2006
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra10
    Felkészülés zárthelyire
    Házi feladat elkészítése22
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés
    Összesen60
    15. A tantárgy tematikáját kidolgozta
     Név: Beosztás: Tanszék, Intézet:
     Maliosz Markosz Ph.D tud. munkatárs TMIT
     Szöllősi Lóránd ügyvivő szakértő TMIT
     Kovács Gábor ügyvivő szakértő TMIT
     Szabó Róbert Ph.D egy. docens TMIT