Pokročilé vlastnosti skiptovacích jazykov: Rozdiel medzi revíziami
d (Zamyká „Pokročilé vlastnosti skiptovacích jazykov“ ([edit=sysop] (na neurčito) [move=sysop] (na neurčito))) |
|||
(29 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
Riadok 2: | Riadok 2: | ||
[[Kategória:Informatika]] | [[Kategória:Informatika]] | ||
[[Kategória:Skriptovacie jazyky]] | [[Kategória:Skriptovacie jazyky]] | ||
+ | <H1_CSS chapter="1" /> | ||
+ | <H1_CSS chapter="1" prefix="Kapitola" /> | ||
+ | {{Hlavička_FM|{{PAGENAME}}|Ivana Zuzinová|Ing. Juraj Ďuďák| | ||
+ | 2008/2009 | ||
+ | |Bakalárska práca | ||
+ | |Mechatronika | ||
+ | }} | ||
+ | <div class="sideBox"> | ||
+ | {| class="" border=0 cellpadding=5 | ||
+ | |+ Obsah práce | ||
+ | |- | ||
+ | | 1. | ||
+ | | [[Pokročilé vlastnosti skiptovacích jazykov| Úvod do Ruby on Rails]] | ||
+ | |- | ||
+ | | 2. | ||
+ | | [[Jazyk Ruby]] | ||
+ | |- | ||
+ | | 3. | ||
+ | | [[Porovnanie Ruby a PHP]] | ||
+ | |- | ||
+ | | 4 | ||
+ | | [[Framework Ruby on Rails]] | ||
+ | |- | ||
+ | | 5 | ||
+ | | [[Praktická aplikácia využívajúca framework Rails]] | ||
+ | |} | ||
+ | </div> | ||
+ | {{abstrakt | ||
+ | |Popis jazyka Ruby a porovnanie syntaxe Ruby s jazykom PHP. Charakterizácia frameworku Ruby on Rails a jeho základné moduly pre prácu s databázami. Teoretický popis vytvárania relácií v Rails. Praktická ukážka pomocou zobrazenia rozvrhu podľa zvolených požiadaviek a ukážkový benchmark porovnávajúci Rails a PHP. Informácie o iných porovnávacích benchmarkoch. | ||
+ | |Description of Ruby language and comparision Ruby syntax with syntax of PHP language. Characterization of Ruby on Rails framework and it’s embedded modules working with databases. Theory of creating relations in Rails. Practical use in application showing timetable in dependence on taken conditions. Benchmark Rails vs. PHP and informations about other benchmarks. | ||
+ | }} | ||
+ | '''Úvod''' | ||
− | + | Informačné technológie zaznamenávajú už od svojho vzniku rýchlo sa meniaci, dynamický rozvoj vo všetkých smeroch, vrátane algoritmizácie a programovacích jazykov, ktorých neustály vývoj súvisí aj s rozmachom internetu, jeho rozširujúcej sa dostupnosti a stále sa zvyšujúcimi požiadavkami na webdeveloperov. | |
+ | Aj z týchto príčin hľadajú programátori nové možnosti, ako čo najefektívnejšie programovať aplikácie, č sa dostávajú do pozornosti aj menej známe programovacie jazyky. Určitú pozornosť si získavajú aj frameworky, ktoré sa snažia poskytnúť prehľadnejší kód, skracujúci proces tvorby aplikácií. Populárnejším sa stáva aj framework Ruby on Rails, o ktorom je ale v slovenskom jazyku veľmi málo publikácií. Preto je teoretická časť zameraná na popis jazyka Ruby a frameworku Ruby on Rails, kde podrobnejšie opisujeme prácu Rails s databázami pomocou jeho modulov. V práci sú zahrnuté tiež teoretické informácie o tvorbe relácií medzi tabuľkami, ktoré sa následne využili v praktickej časti. | ||
+ | Praktická časť má za úlohu prezentovať nadobudnuté informácie o jazyku Ruby a frameworku Rails. Úlohou bolo vytvoriť schému databázových tabuliek školského rozvrhu, ktorá má byť predlohou pre aplikáciu s názvom Rozvrh on Rails. Táto aplikácia má generovať výpis záznamov rozvrhu, zodpovedajúcich zadaným podmienkam vyhľadávania. Poslednou časťou je vytvorenie porovnávacieho testu, kde sa má skúmať rýchlosť vykonania požiadavky aplikáciou | ||
+ | vytvorenou v jazyku PHP a vo frameworku Rails. | ||
+ | =Úvod do Ruby on Rails= | ||
+ | ==Pojem Ruby on Rails== | ||
+ | Ruby on Rails je open-source framework na vytváranie webových aplikácií v jazyku Ruby. Napriek tomu, že Ruby on Rails bol oficiálne spustený len pred nedávnom v roku 2004, odvtedy zaznamenal tento framework obrovský ohlas. Ruby on Rails, Rails alebo v skratke RoR sa stal z neznámej „hračky“ svetovým fenoménom rekordnou rýchlosťou. Získal mnohé ocenenia,a čo je ešte dôležitejšie, stal sa vhodnou voľbou pre implementáciu širokého okruhu takzvaných Web 2.0 aplikácií. | ||
+ | |||
+ | Dôvodov, prečo je tomu tak, je viacero. V prvom rade tu bolo mnoho vývojárov, ktorí už boli unavení a znechutení z technológií a postupov, ktoré používali pri tvorbe webových aplikácií. Nezáleží na tom, či išlo o Javu, PHP alebo .NET – častokrát mali pocit, že veľká množina ich práce je jednoducho strata času. A zrazu prišiel Rails a ponúkol jednoduchosť a efektivitu. | ||
− | + | Rails aplikácie sú písané v Ruby – modernom objektovo-orientovanom skriptovacom jazyku. Ruby je stručný, ale nie nečitateľne strohý, myšlienky sa v ňom dajú vyjadriť prirodzene a jasne. Toto je hlavným dôvodom jednoduchosti písania programov v Ruby, a (čo je nemenej dôležité) programy sú jednoducho čitateľné aj mnoho mesiacov neskôr. | |
− | |||
− | = | + | ==Čo je framework== |
− | + | ||
− | + | Framework vo všeobecnosti je prostredie, v ktorom je organizovaná určitá ďalšia aplikácia. Je to súbor knižníc a kódu usporiadaných tak, aby pokrývali čo najviac funkčných požiadaviek spoločných pre rôzne aplikácie. Pri webových aplikáciách to môžu byť napríklad validácia vstupov, prístup k databázi, cachovanie údajov, správa užívateľských práv. Framework má za úlohu ušetriť programátorovi čas tak, aby sa pri vývoji venoval len špecifickým požiadavkám pre aplikáciu, ktorú práve vyvíja, a ktorú nejde zovšeobecniť. | |
− | + | V súčasnosti sa často využívajú MVC Frameworky. MVC architektúra oddeľuje dáta aplikácie (model), spôsob zobrazenia (view) a spôsob nakladania s modelom (controller). Tieto tri dôležité časti každej aplikácie sú oddelené do samostatných knižníc tak, aby zmena v jednej neovplyvnila ostatné. | |
+ | |||
+ | Existuje množstvo frameworkov pre rôzne jazyky, pričom medzi najznámejšie patria: | ||
+ | <properties> | ||
+ | Ruby = Ruby on Rails, Merb, Nitro, Himle... | ||
+ | PHP = vyše 40 frameworkov: CakePHP, Zend Framework, ThinkPHP, Symfony... | ||
+ | Java = Apache Cocoon, Ext GWT, Flexive, Hamlets, ItsNat, JavaServer Faces... | ||
+ | Perl = Catalyst, Interchange, Maypole, Mason, Squatting, WebGUI | ||
+ | Python = CherryPy, DjangoNevow, Pylons, Spyce, TurboGears, Web2py, Zope | ||
+ | </properties> | ||
+ | |||
+ | ==Filozofia Ruby on Rails== | ||
+ | |||
+ | Otázkou ostáva, prečo je Ruby on Rails tak píťažlivé pre programátorov, keď podobný spôsob tvorby webových aplikácií je prezentovaný aj inými frameworkami postavenými na iných jazykoch. Dôvodom je základná filozofia Ruby on Rails, ktorá je alfou a omegou tohto frameworku a spája všetko do harmonického celku. Táto filozofia je zhrnutá do hlavných myšlienok a to: | ||
+ | |||
+ | ''DRY (Don’t Repeat Yourself)'' – Neopakuj sa | ||
+ | |||
+ | ''Convetion over configuration'' – Konvencia nad konfiguráciou | ||
+ | |||
+ | '''DRY (Don’t Repeat Yourself)''' – Neopakuj sa – Každá duplikácia kódu v programe predlžuje čas strávený programovaním a okrem toho spôsobuje mnoho komplikácií – pri následných úpravách vzniká neprehľadnosť a zvyšuje sa riziko výskytu chýb v kóde. Preto by mal byť každý kód na jedinom mieste. Rails využíva Ruby aby túto myšlienku aplikoval v praxi, preto je duplikácia kódu minimálna. | ||
+ | |||
+ | '''Convention over Configuration''' – Konvencia nad konfiguráciou – Ide o jednu z rozhodujúcich čŕt Ruby on Rails. Hlavným zámerom je, aby programátor nemusel zakaždým písať pre novú aplikáciu ten istý kód, ktorý je konvenčne rovnaký pre drvivú väčšinu aplikácií. Nasledovaním konvencií tak môže pomocou pár príkazov jednoducho vytvoriť základnú kostru aplikácie, ktorú potom nakonfiguruje podľa svojich potrieb. |
Aktuálna revízia z 21:52, 20. január 2010
![]() |
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky |
![]() |
Pokročilé vlastnosti skiptovacích jazykov Bakalárska práca |
Autor: | Ivana Zuzinová |
Pedagogický vedúci: | Ing. Juraj Ďuďák |
Študijný odbor: | Mechatronika
|
Akademický rok |
2008/2009
|
1. | Úvod do Ruby on Rails |
2. | Jazyk Ruby |
3. | Porovnanie Ruby a PHP |
4 | Framework Ruby on Rails |
5 | Praktická aplikácia využívajúca framework Rails |
Abstrakt
Popis jazyka Ruby a porovnanie syntaxe Ruby s jazykom PHP. Charakterizácia frameworku Ruby on Rails a jeho základné moduly pre prácu s databázami. Teoretický popis vytvárania relácií v Rails. Praktická ukážka pomocou zobrazenia rozvrhu podľa zvolených požiadaviek a ukážkový benchmark porovnávajúci Rails a PHP. Informácie o iných porovnávacích benchmarkoch. |
Abstract
Description of Ruby language and comparision Ruby syntax with syntax of PHP language. Characterization of Ruby on Rails framework and it’s embedded modules working with databases. Theory of creating relations in Rails. Practical use in application showing timetable in dependence on taken conditions. Benchmark Rails vs. PHP and informations about other benchmarks. |
Úvod
Informačné technológie zaznamenávajú už od svojho vzniku rýchlo sa meniaci, dynamický rozvoj vo všetkých smeroch, vrátane algoritmizácie a programovacích jazykov, ktorých neustály vývoj súvisí aj s rozmachom internetu, jeho rozširujúcej sa dostupnosti a stále sa zvyšujúcimi požiadavkami na webdeveloperov. Aj z týchto príčin hľadajú programátori nové možnosti, ako čo najefektívnejšie programovať aplikácie, č sa dostávajú do pozornosti aj menej známe programovacie jazyky. Určitú pozornosť si získavajú aj frameworky, ktoré sa snažia poskytnúť prehľadnejší kód, skracujúci proces tvorby aplikácií. Populárnejším sa stáva aj framework Ruby on Rails, o ktorom je ale v slovenskom jazyku veľmi málo publikácií. Preto je teoretická časť zameraná na popis jazyka Ruby a frameworku Ruby on Rails, kde podrobnejšie opisujeme prácu Rails s databázami pomocou jeho modulov. V práci sú zahrnuté tiež teoretické informácie o tvorbe relácií medzi tabuľkami, ktoré sa následne využili v praktickej časti. Praktická časť má za úlohu prezentovať nadobudnuté informácie o jazyku Ruby a frameworku Rails. Úlohou bolo vytvoriť schému databázových tabuliek školského rozvrhu, ktorá má byť predlohou pre aplikáciu s názvom Rozvrh on Rails. Táto aplikácia má generovať výpis záznamov rozvrhu, zodpovedajúcich zadaným podmienkam vyhľadávania. Poslednou časťou je vytvorenie porovnávacieho testu, kde sa má skúmať rýchlosť vykonania požiadavky aplikáciou vytvorenou v jazyku PHP a vo frameworku Rails.
Obsah
Úvod do Ruby on Rails
Pojem Ruby on Rails
Ruby on Rails je open-source framework na vytváranie webových aplikácií v jazyku Ruby. Napriek tomu, že Ruby on Rails bol oficiálne spustený len pred nedávnom v roku 2004, odvtedy zaznamenal tento framework obrovský ohlas. Ruby on Rails, Rails alebo v skratke RoR sa stal z neznámej „hračky“ svetovým fenoménom rekordnou rýchlosťou. Získal mnohé ocenenia,a čo je ešte dôležitejšie, stal sa vhodnou voľbou pre implementáciu širokého okruhu takzvaných Web 2.0 aplikácií.
Dôvodov, prečo je tomu tak, je viacero. V prvom rade tu bolo mnoho vývojárov, ktorí už boli unavení a znechutení z technológií a postupov, ktoré používali pri tvorbe webových aplikácií. Nezáleží na tom, či išlo o Javu, PHP alebo .NET – častokrát mali pocit, že veľká množina ich práce je jednoducho strata času. A zrazu prišiel Rails a ponúkol jednoduchosť a efektivitu.
Rails aplikácie sú písané v Ruby – modernom objektovo-orientovanom skriptovacom jazyku. Ruby je stručný, ale nie nečitateľne strohý, myšlienky sa v ňom dajú vyjadriť prirodzene a jasne. Toto je hlavným dôvodom jednoduchosti písania programov v Ruby, a (čo je nemenej dôležité) programy sú jednoducho čitateľné aj mnoho mesiacov neskôr.
Čo je framework
Framework vo všeobecnosti je prostredie, v ktorom je organizovaná určitá ďalšia aplikácia. Je to súbor knižníc a kódu usporiadaných tak, aby pokrývali čo najviac funkčných požiadaviek spoločných pre rôzne aplikácie. Pri webových aplikáciách to môžu byť napríklad validácia vstupov, prístup k databázi, cachovanie údajov, správa užívateľských práv. Framework má za úlohu ušetriť programátorovi čas tak, aby sa pri vývoji venoval len špecifickým požiadavkám pre aplikáciu, ktorú práve vyvíja, a ktorú nejde zovšeobecniť. V súčasnosti sa často využívajú MVC Frameworky. MVC architektúra oddeľuje dáta aplikácie (model), spôsob zobrazenia (view) a spôsob nakladania s modelom (controller). Tieto tri dôležité časti každej aplikácie sú oddelené do samostatných knižníc tak, aby zmena v jednej neovplyvnila ostatné.
Existuje množstvo frameworkov pre rôzne jazyky, pričom medzi najznámejšie patria:
Ruby | Ruby on Rails, Merb, Nitro, Himle... |
PHP | vyše 40 frameworkov: CakePHP, Zend Framework, ThinkPHP, Symfony... |
Java | Apache Cocoon, Ext GWT, Flexive, Hamlets, ItsNat, JavaServer Faces... |
Perl | Catalyst, Interchange, Maypole, Mason, Squatting, WebGUI |
Python | CherryPy, DjangoNevow, Pylons, Spyce, TurboGears, Web2py, Zope |
Filozofia Ruby on Rails
Otázkou ostáva, prečo je Ruby on Rails tak píťažlivé pre programátorov, keď podobný spôsob tvorby webových aplikácií je prezentovaný aj inými frameworkami postavenými na iných jazykoch. Dôvodom je základná filozofia Ruby on Rails, ktorá je alfou a omegou tohto frameworku a spája všetko do harmonického celku. Táto filozofia je zhrnutá do hlavných myšlienok a to:
DRY (Don’t Repeat Yourself) – Neopakuj sa
Convetion over configuration – Konvencia nad konfiguráciou
DRY (Don’t Repeat Yourself) – Neopakuj sa – Každá duplikácia kódu v programe predlžuje čas strávený programovaním a okrem toho spôsobuje mnoho komplikácií – pri následných úpravách vzniká neprehľadnosť a zvyšuje sa riziko výskytu chýb v kóde. Preto by mal byť každý kód na jedinom mieste. Rails využíva Ruby aby túto myšlienku aplikoval v praxi, preto je duplikácia kódu minimálna.
Convention over Configuration – Konvencia nad konfiguráciou – Ide o jednu z rozhodujúcich čŕt Ruby on Rails. Hlavným zámerom je, aby programátor nemusel zakaždým písať pre novú aplikáciu ten istý kód, ktorý je konvenčne rovnaký pre drvivú väčšinu aplikácií. Nasledovaním konvencií tak môže pomocou pár príkazov jednoducho vytvoriť základnú kostru aplikácie, ktorú potom nakonfiguruje podľa svojich potrieb.