EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Podobne dokumenty
Ruby i Ruby on Rails. Mateusz Drożdżyński

Czym jest Ruby on Rails?

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Laboratorium nr 3 Podstawy Ruby on Rails

Program szkolenia: Symfony, nowoczesny framework PHP

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Szkolenie wycofane z oferty

EPI: Interfejs Graczny Podstawy Ruby on Rails

Kurs języka Ruby. Ruby on Rails ActionPack

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Programowanie w Ruby

Program szkolenia: REST i Microservices w PHP

Przepis 1. Edycja formularza w miejscu 13. Rails sprawia, że edycja w miejscu jest prosta dzięki kontrolce script.aculo.us

Programowanie w Ruby

Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk

Modele danych walidacja widoki zorientowane na model

EPI: Interfejs Graficzny Wykład nr 8 Warstwa widoku

Programowanie w Ruby

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Wykład nr 6 Trasowanie i warstwa kontrolera routes.rb i ActionController

CouchDB. Michał Nowikowski

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Wykład nr 7 Trasowanie i warstwa kontrolera routes.rb i ActionController

Jak okiełznać frontend w Django? Piotr Maliński

Specyfikacja implementacyjna aplikacji serwerowej

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

Programowanie w Ruby

Programowanie w Ruby

Laboratorium 7 Blog: dodawanie i edycja wpisów

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Grails. v 1.1 Web Framework

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Szczegółowy opis zamówienia:

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Testowanie aplikacji. Kurs języka Ruby

URL, URI różnice i podobieństwa

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Backend Administratora

Projekt Giełdy Terminów Koncepcja. 19 czerwca 2015

Przewodnik użytkownika (instrukcja) AutoMagicTest

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Zrąb webowy dla perfekcjonistów z terminami. autor: Kamil Adamczyk

Podstawy programowania III WYKŁAD 5

Wybrane działy Informatyki Stosowanej

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści

Programowanie obiektowe

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Programowanie obiektowe

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Technologie internetowe ASP.NET Core. Paweł Rajba

Zaawansowany kurs języka Python

Komunikacja międzysystemowa

Rails. Przepisy IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

Ruby on Rails. Wprowadzenie. Wydanie II

Przewodnik użytkownika (instrukcja) AutoMagicTest

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

Kurs programowania aplikacji bazodanowych

REFERAT O PRACY DYPLOMOWEJ

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

SZKOLENIE TWORZENIE SYSTEMÓW

Aplikacje WWW Wprowadzenie

PHP: bazy danych, SQL, AJAX i JSON

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Programowanie i projektowanie obiektowe

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Quiz Aplikacja internetowa

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

Frameworki IOS. Wykład 14. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

OBC01/TOPMOB Projektowanie w języku Objective-C

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Aplikacje WWW i PHP - opis przedmiotu

ym4r Google Maps w Ruby on Rails

WYKŁAD 1 ANGULARJS CZĘŚĆ 1


Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Jak widzisz w powyższym przykładzie, mimo że operacja nie powiodła się (otrzymaliśmy status Błąd ), serwer zwrócił nam kod 200 OK.

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Aplikacje webowe. mgr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji

Transkrypt:

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Plan prezentacji Framework Rails

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,...

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem Wzorzec MVC:

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem Wzorzec MVC: model: mapowanie obiektowo-relacyjne, migracje, zunifikowana obsługa wielu RDMS-ów, etc.

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem Wzorzec MVC: model: mapowanie obiektowo-relacyjne, migracje, zunifikowana obsługa wielu RDMS-ów, etc. widok: szablony, layouty, formularze, AJAX

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem Wzorzec MVC: model: mapowanie obiektowo-relacyjne, migracje, zunifikowana obsługa wielu RDMS-ów, etc. widok: szablony, layouty, formularze, AJAX kontroler: obsługa żądań, mapowanie adresów URL, cache owanie, etc.

Ruby on Rails podstawowe założenia DRY: nie powtarzaj się Konwencja ponad konfiguracją: domyślna struktura katalogów, STI, 3 środowiska pracy, jedna baza danych,... REST: podstawowy sposób organizacji zasobów i interakcji ze światem Wzorzec MVC: model: mapowanie obiektowo-relacyjne, migracje, zunifikowana obsługa wielu RDMS-ów, etc. widok: szablony, layouty, formularze, AJAX kontroler: obsługa żądań, mapowanie adresów URL, cache owanie, etc. Generatory szablony dla modeli, rusztowań, migracji bazy danych, itp.

Ruby on Rails cd. konsola

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji wsparcie dla umiędzynarodowienia aplikacji

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji wsparcie dla umiędzynarodowienia aplikacji mechanizm kompozycji aplikacji

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji wsparcie dla umiędzynarodowienia aplikacji mechanizm kompozycji aplikacji kompresja CSS-ów i Javascriptu

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji wsparcie dla umiędzynarodowienia aplikacji mechanizm kompozycji aplikacji kompresja CSS-ów i Javascriptu wsparcie dla CoffeeScriptu

Ruby on Rails cd. konsola zintegrowany mechanizm obłsugi wiadomości e-mail zintegrowany mechanizm testowania aplikacji wsparcie dla umiędzynarodowienia aplikacji mechanizm kompozycji aplikacji kompresja CSS-ów i Javascriptu wsparcie dla CoffeeScriptu tysiące plug-inów

MVC Model Widok Kontroler

MVC w RoR

Konwencje nazewnicze model pisany w notacji wielbłądziej w liczbie pojedynczej np. class Book

Konwencje nazewnicze model pisany w notacji wielbłądziej w liczbie pojedynczej np. class Book kontroler w notacji wielbłądziej w liczbie mnogiej np. BooksController

Konwencje nazewnicze model pisany w notacji wielbłądziej w liczbie pojedynczej np. class Book kontroler w notacji wielbłądziej w liczbie mnogiej np. BooksController widok domyślnie ma taką samą nazwę jak akcja w kontrolerze + format (HTML, XML, JSON) + język szablonów (erb,haml) np. BooksController#index index.html.erb

Konwencje nazewnicze model pisany w notacji wielbłądziej w liczbie pojedynczej np. class Book kontroler w notacji wielbłądziej w liczbie mnogiej np. BooksController widok domyślnie ma taką samą nazwę jak akcja w kontrolerze + format (HTML, XML, JSON) + język szablonów (erb,haml) np. BooksController#index index.html.erb pojedynczy zasób pisany małą literą w liczbie pojedynczej np. resource :book

Konwencje nazewnicze model pisany w notacji wielbłądziej w liczbie pojedynczej np. class Book kontroler w notacji wielbłądziej w liczbie mnogiej np. BooksController widok domyślnie ma taką samą nazwę jak akcja w kontrolerze + format (HTML, XML, JSON) + język szablonów (erb,haml) np. BooksController#index index.html.erb pojedynczy zasób pisany małą literą w liczbie pojedynczej np. resource :book wielokrotny zasób pisany małą literą w liczbie mnogiej np. resources :books

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title update metody update_attribute, update_attributes, np. book.update_attribute(:title, Dziady )

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title update metody update_attribute, update_attributes, np. book.update_attribute(:title, Dziady ) delete metoda destroy

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title update metody update_attribute, update_attributes, np. book.update_attribute(:title, Dziady ) delete metoda destroy związki wysokopoziomowe określanie zależności pomiędzy klasami, np. Book has_one :author book.author

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title update metody update_attribute, update_attributes, np. book.update_attribute(:title, Dziady ) delete metoda destroy związki wysokopoziomowe określanie zależności pomiędzy klasami, np. Book has_one :author book.author walidacje weryfikacja występowania wartości atrybutu, jego formatu, itp., np. validates_presence_of :name

Warstwa modelu ActiveRecord obiektowy dostęp do bazy danych implementacja operacji CRUD create konstruktor klasy, np. Book.new read metoda find oraz akcesory pól, np. Book.find(1), book.title update metody update_attribute, update_attributes, np. book.update_attribute(:title, Dziady ) delete metoda destroy związki wysokopoziomowe określanie zależności pomiędzy klasami, np. Book has_one :author book.author walidacje weryfikacja występowania wartości atrybutu, jego formatu, itp., np. validates_presence_of :name migracje pozwalają na inkrementalne określanie i modyfikowanie schematu bazy danych

Warstwa kontrolera ActionController reaguje na żądania przeglądarki

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego)

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST czasowniki HTTP: GET, POST, PUT, DELETE

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST czasowniki HTTP: GET, POST, PUT, DELETE dostępność treści w różnych formatach np. HTML, JSON

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST czasowniki HTTP: GET, POST, PUT, DELETE dostępność treści w różnych formatach np. HTML, JSON predefinowane akcje: index, show, new, create, edit, update, destroy

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST czasowniki HTTP: GET, POST, PUT, DELETE dostępność treści w różnych formatach np. HTML, JSON predefinowane akcje: index, show, new, create, edit, update, destroy każda akcja domyślnie posiada odpowiadający jej widok

Warstwa kontrolera ActionController reaguje na żądania przeglądarki łączy warstwę modelu z warstwą widoku definiuje akcje (jako metody Rubiego) przyjmuje podstawowe założenia koncepcji REST czasowniki HTTP: GET, POST, PUT, DELETE dostępność treści w różnych formatach np. HTML, JSON predefinowane akcje: index, show, new, create, edit, update, destroy każda akcja domyślnie posiada odpowiadający jej widok filtry pozwalają na łatwe dodanie zadań do wybranych akcji, np. autoryzacja, kompresja

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.)

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.) może definiować wiele sposobów prezentacji danych

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.) może definiować wiele sposobów prezentacji danych oparta jest na wybranym języku szablonów (erb, haml, itp.)

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.) może definiować wiele sposobów prezentacji danych oparta jest na wybranym języku szablonów (erb, haml, itp.) definiuje funkcje pomocnicze (helpery), do łatwego tworzenia tagów HTML: linków obrazków formularzy

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.) może definiować wiele sposobów prezentacji danych oparta jest na wybranym języku szablonów (erb, haml, itp.) definiuje funkcje pomocnicze (helpery), do łatwego tworzenia tagów HTML: linków obrazków formularzy szablony mogą składać się z wielu pod-szablonów (partiali)

Warstwa widoku ActionView oddziela dane od metody ich prezentowania (HTML, JSON, itp.) może definiować wiele sposobów prezentacji danych oparta jest na wybranym języku szablonów (erb, haml, itp.) definiuje funkcje pomocnicze (helpery), do łatwego tworzenia tagów HTML: linków obrazków formularzy szablony mogą składać się z wielu pod-szablonów (partiali) aplikacja może definiować jeden/wiele layoutów

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji przekazuje żądania do kontrolera

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji przekazuje żądania do kontrolera pozwala na całkowite wyabstrahowanie mechanizmu tworzenia linków wewnątrz aplikacji

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji przekazuje żądania do kontrolera pozwala na całkowite wyabstrahowanie mechanizmu tworzenia linków wewnątrz aplikacji pozwala na tworzenie przyjaznych adresów URL /ksiazki/1-dziady-cz-iv /2011/11/11

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji przekazuje żądania do kontrolera pozwala na całkowite wyabstrahowanie mechanizmu tworzenia linków wewnątrz aplikacji pozwala na tworzenie przyjaznych adresów URL /ksiazki/1-dziady-cz-iv /2011/11/11 koncentruje się wokół koncepcji REST resource :book get book/latest post book/:id/review

Warstwa trasowania zastępuje rozwiązania typu mod_rewrite interpretuje żądania przychodzące do aplikacji przekazuje żądania do kontrolera pozwala na całkowite wyabstrahowanie mechanizmu tworzenia linków wewnątrz aplikacji pozwala na tworzenie przyjaznych adresów URL /ksiazki/1-dziady-cz-iv /2011/11/11 koncentruje się wokół koncepcji REST resource :book get book/latest post book/:id/review pozwala na automatyczne przekierowywanie żądań

Materiały nie ma sensu kupować książek na temat Rails!

Materiały nie ma sensu kupować książek na temat Rails! podstawowe źródło informacji przewodniki guides.rubyonrails.org

Materiały nie ma sensu kupować książek na temat Rails! podstawowe źródło informacji przewodniki guides.rubyonrails.org wersja polska przewodników trochę przestarzała apohllo.pl/guides/index.html

Materiały nie ma sensu kupować książek na temat Rails! podstawowe źródło informacji przewodniki guides.rubyonrails.org wersja polska przewodników trochę przestarzała apohllo.pl/guides/index.html interaktywny tutorial Rails for Zombies railsforzombies.org

Materiały nie ma sensu kupować książek na temat Rails! podstawowe źródło informacji przewodniki guides.rubyonrails.org wersja polska przewodników trochę przestarzała apohllo.pl/guides/index.html interaktywny tutorial Rails for Zombies railsforzombies.org railscasty Rayana Batesa railscasts.com

Materiały nie ma sensu kupować książek na temat Rails! podstawowe źródło informacji przewodniki guides.rubyonrails.org wersja polska przewodników trochę przestarzała apohllo.pl/guides/index.html interaktywny tutorial Rails for Zombies railsforzombies.org railscasty Rayana Batesa railscasts.com RubyToolbox mnóstwo przydatnych plug-inów, informacje na temat popularności, sposobu instalacji, itp. www.ruby-toolbox.com