Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Podobné dokumenty
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Instalace a konfigurace web serveru. WA1 Martin Klíma

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

INFORMAČNÍ SYSTÉMY NA WEBU

1 Webový server, instalace PHP a MySQL 13

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

RESTful API TAMZ 1. Cvičení 11

1. Webový server, instalace PHP a MySQL 13

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Programovací jazyky Přehled a vývoj

IB111 Programování a algoritmizace. Programovací jazyky

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Matematika v programovacích

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Úvod do programovacího jazyka Python

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Informační technologie. Název oboru: Školní rok: jarní i podzimní zkušební období 2017/2018

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Server-side technologie pro webové aplikace

Web Services na SOAP

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Nové jazykové brány do Caché. Daniel Kutáč

language="javascript">... </script>.

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Stručný úvod pro programátory. Michal Kuchta

Skriptovací jazyky. Obsah

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Internet 2 css, skriptování, dynamické prvky

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Marek Osvald 2011

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Úvod do aplikací internetu a přehled možností při tvorbě webu

Ruby on Rails. VŠE, Jiří Hradil

Seznámení s prostředím dot.net Framework

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Poznámky k verzi Remote support platform 3.1

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Úvod do FlexiBee REST API. Petr Ferschmann FlexiBee Systems s.r.o.

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Dobrý CMS Popis produktu a jeho rozšíření

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

InterSystems Caché Post-Relational Database

Internet Information Services (IIS) 6.0

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Platformy / technologie. Jaroslav Žáček

Příloha č. 4 Detailní vymezení předmětu zakázky

Serverové skriptovací technologie

Teze. Moderní WWW technologie

IS pro podporu BOZP na FIT ČVUT

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

C2184 Úvod do programování v Pythonu podzim Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita. Úvod.

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Webové programování a Open Source. Open-source. Liberix o.p.s

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Michal Augustýn Microsoft Most Valuable Professional

KAPITOLA 1 SOCIÁLNÍ SÍTĚ A PHP...17

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Tvorba webových stránek

Dobrý FOTO Popis produktu a jeho rozšíření

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Angličtina program k procvičování slovní zásoby

Windows Server 2003 Active Directory GPO Zásady zabezpečení

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Mediareference Vojtěch

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

Databázové a informační systémy

Microsoft Access tvorba databáze jednoduše

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

Maturitní témata Školní rok: 2015/2016

modrana: flexibilní navigační systém Martin Kolman

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Úvod do tvorby internetových aplikací

Django Urls, views, templates

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP

Specifikace projektu Ocerus

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

SQL a XML jako alternativa ke klasickým unixovým nástrojům

Databáze EMS podacích lístků

Transkript:

Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková

Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka

Ruby (programovací jazyk)

Ruby (programovací jazyk) Skriptovací jazyk Interpretovaný Jednoduchá syntaxe Snadno naučitelný Výkonný (konkurence Python a Perl) Plně objektový

Ruby - Historie Tvůrce Yukihiro Matsumoto (Matz) Název podle rubínu (Ruby) 1993 začátek vývoje 1995 první verze Nejrozšířenější v Japonsku (země původu) Zájem o Ruby v současnosti prudce roste Úspěšný webový framework Ruby on Rails

Ruby - Použití Poměrně široká oblast použití Nejčastěji na platformě Linux (popř. Unix) Vhodný i pro velké projekty CGI skripty, GUI aplikace (GTK2, Qt, fxruby) Zpracování textových souborů (podpora regulárních výrazů)

Ruby - Konvence Třídy a Moduly: CamelCase Proměnné: lokalni_promenna, @instancni_promenna Metody: nazev_metody(parametry) Kostanty: VSECHNA_PISMENA_VELKA

Ruby Objektovost Vše v Ruby je objekt true.class #=> TrueClass false.class #=> FalseClass nil.class #=> NilClass

Ruby Definice třídy class Song def initialize(name) @name = name end end

Ruby - Lambda funkce Funkce lambda jsou tzv. anonymní funkce a = lambda { x puts x*x } a.call(4) #=> 16

Shrnutí jazyka Ruby - Výhody Interpretovaný (bez kompilace, změny jsou ihned vidět) Přenositelnost kódu mezi platformami (Windows, GNU/Linux, Solaris ) Možnost spuštění v interaktivním režimu Jednoduchá a snadno naučitelná syntaxe Plná podpora OOP, lze však psát i klasické strukturované programy dynamické datové typy Práce s textem (regulární výrazy) Webové aplikace, GUI

Shrnutí jazyka Ruby - Nevýhody Nižší rychlost oproti kompilovaným jazykům (velká část knihoven je napsána v Ruby) závislost na interpretru nedostatek české dokumentace méně rozšířený jazyk (oproti např. Perlu)

Ruby on Rails (webový framework)

Ruby on Rails Autor David Hansson Framework postaven na Ruby MVC Aktuální verze 3.2.8 Výhody Twitter, Groupon, Yellow pages, Basecamp,

Filosofie Rails DRY Don t repeat yourself Konvence přednost před konfigurací REST - nejlepší architektonický vzor pro webové aplikace

Architektura MVC Modely (models) Pohledy (views) poskytování dat prohlížeči Kontrollery (controllers) zpracování požadavků, získání dat z modelů a odeslání dat do views

Model-View-Controller

Action Pack Action Controller Action Dispatch Action View Action Mailer Active Model Active Record Active Resource Active Support Railties Struktura Rails

Action Controller Má na starost kontrollery Podpora pro sessions REST

REST Jednotný a snadný přístup ke zdrojům (resources) Každý zdroj vlastní identifikátor URI CRUD HTTP metody (get, post, put a delete)

REST Routování HTTP Adresa Akce Použití GET /contacts index Seznam kontaktů GET /contacts/new new Formulář nový kontakt POST /cotnacts create Vytvoření kontaktu GET /contacts/:id show Zobrazení kontaktu GET /contacts/:id/edit edit Formulář editace kontaktu PUT /contacts/:id update Úprava kontaktu DELETE /cotnacts/:id destroy Smazání kontaktu

Sessions Technicky jde o Hash Paměťové mechanismy: ActionDispatch::Session::CookieStore ActiveRecord::SessionStore Flash část session

Active Record Základ pro modely v Rails aplikaci Nezávislost na SQL dialektu CRUD Pokročilé získávání dat z databáze Definování vztahů mezi jednotlivými modely

Action View Má na starosti views Výstup v HTML a XML Řídí renderování šablon (vnořené i parciální)

Testování Jednotkové (Unit) Funkcionální Integrační framework RSpec

Praktická ukázka

Vyzkoušejte si sami Bez instalace Přímo ve webovém prohlížeči http://tryruby.org (Ruby) http://railsforzombies.org (Rails)

Zdroje http://tryruby.org http://railsforzombies.org http://api.rubyonrails.org http://guides.rubyonrails.cz/ http://guides.rubyonrails.org/ http://cs.wikipedia.org/ http://blog.karmi.cz/2007/6/16/co-je-rubyon-rails-cast-2