Belépés címtáras azonosítással
magyar nyelvű adatlap
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.
Mérnök informatikus szakVillamosmérnöki szakSzabadon választható tárgy
1. hét előadásBevezeté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 gyakorlatTipikus 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ásBevezeté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 gyakorlatIsmerkedé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ásBevezeté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 gyakorlatA 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ásRails é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 gyakorlatAdatbá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ásA 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 gyakorlatA 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ásTemplate-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 gyakorlatTemplate-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ásBiztonsá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 gyakorlatVé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.