Podstawowe pojęcia związane z tworzeniem aplikacji internetowych

Transkrypt

Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Framework
w
K
ra
ko
wi
e
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
AG
H
Podstawowe pojęcia związane z tworzeniem aplikacji
internetowych
at
yk
iw
yd
zia
łu
IE
T
Przedmiot: Programowanie w języku Ruby
I
Dostarcza szkieletu do tworzenia aplikacji lub jej wybranych części
I
Dostarcza zbioru ogólnych funkcjonalności
I
Gotowe komponenty do budowy aplikacji WWW
I
Ułatwia proces wdrożania nowego pracownika
I
Nie jest gotową aplikacją — jest zbiorem kodu i pewnych metod
postępowania, dzięki którym można efektywnie budować aplikacje
Typowe cechy:
I
Dr inż. Stanisław Polak
I
I
Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki
I
I
fo
rm
http://www.icsr.agh.edu.pl/~polak/
I
Typowe elementy:
In
I
I
en
tó
w
I
I
ud
I
st
I
I
a
I
dl
Odwrócenie sterowania
Domyślne zachowanie
Rozszerzalność
Zamknięta struktura wewnętrzna
er
ia
ły
I
Mechanizm uruchamiania i przetwarzania akcji
Mechanizm tworzenia logiki biznesowej aplikacji
Zarządzanie konfiguracją
Zarządzanie komunikacją z bazą danych
Obsługa formularzy
System szablonów
Obsługa błędów
Mechanizmy bezpieczeństwa, uwierzytelniania i kontroli dostępu
Generatory kodu
1
Przedmiot: Programowanie w języku Ruby
Dr inż. Stanisław Polak
2
Przedmiot: Programowanie w języku Ruby
M
at
Dr inż. Stanisław Polak
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Wzorzec projektowy MVC
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Wzorzec „Active record”
Środowisko WWW
I
I
MVC (ang.
Model-View-Controller) —
Model-Widok-Kontroler
Podstawowe komponenty aplikacji:
I
I
I
I
I
Klient
żądanie HTTP
odpowiedź HTTP
1
2
3
4
I
I
I
Standaryzacja
Niezależność
Łatwość modyfikacji
Szybkość
product = Product . new
product . name = " Komputer "
product . price = 1 2 3 . 4 5
product . save ( )
1
b = Product . find ( 1 )
Wyszukiwanie w bazie danych
Dodanie nowego wiersza w tabeli
Bazuje na klasycznym wzorcu MVC
Zalety:
I
I
I
Model → logika biznesowa
Widok→ logika prezentacji
Kontroler → logika sterowania
1
1
Serwer
Kontroler
Widok
INSERT INTO products ( name , price )
VALUES ( ’ Komputer ’ , 1 2 3 . 4 5 ) ;
SQL-owy odpowiednik powyższego kodu
SELECT ∗ FROM products WHERE ( products .
id = 1 ) LIMIT 1 ; −− MySQL l u b
PostgreSQL
SQL-owy odpowiednik powyższego kodu
Wada: Złożoność
Kiedy stosować?
Złożone aplikacje
Potrzeba utrzymywania i
dostosowywania do nowych
potrzeb
I Wyznaczenie obszarów
kompetencji
I Wielokrotna używalność
Dr inż. Stanisław Polak
I
Model
I
3
Przedmiot: Programowanie w języku Ruby
Dr inż. Stanisław Polak
4
Przedmiot: Programowanie w języku Ruby
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
CRUD
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
System szablonów
Działanie
Create
Read
Update
Delete
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Instrukcja SQL
INSERT
SELECT
UPDATE
DELETE
1
2
3
4
5
6
7
8
9
10
11
12
require " erb "
class Page
attr_accessor : title
attr_accessor : products
def render path
content = File . read ( File . expand_path ( path ) )
t = ERB . new ( content )
t . result ( binding )
end
end
szablon.html.erb
1
2
3
4
5
6
7
8
9
10
11
page = Page . new ( )
page . title=" Tytu ł strony "
page . products = [ " Produk1 " , " Produkt2 " ]
puts page . render ( " szablon . html . erb " )
skrypt.rb
<html>
<head>
<title><%= @ t i t l e %></ title>
</ head>
<body>
<ul>
<% for p r o d u c t i n @ p r o d u c t s %>
<li><%= p r o d u c t %></ li>
<% end %>
</ ul>
</ body>
</ html>
<html>
<head>
<title>Tytu ł strony</ title>
</ head>
<body>
<ul>
<li>Produk1</ li>
<li>Produkt2</ li>
</ ul>
</ body>
</ html>
Wynikowy dokument HTML
Dr inż. Stanisław Polak
5
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Przedmiot: Programowanie w języku Ruby
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
REST
I
Dr inż. Stanisław Polak
6
Przedmiot: Programowanie w języku Ruby
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Test jednostkowy
Representational State Transfer
Zasób
Kolekcja
URI
takich
jak http://
przyklad.pl/
uzytkownik/
Elementy
URI
takie
jak http://
przyklad.pl/
uzytkownik/
13
GET
Listuj
URI
i być może
inne
szczegóły członków
kolekcji.
Pobierz
reprezentację
podanego
członka kolekcji, wyrażoną
w określonym
typie mediów
internetowych.
PUT
Zastąp
całą
kolekcję inną
kolekcją.
Zastąp podanego członka
kolekcji lub jeśli nie istnieje,
utwórz go.
POST
Utwórz nowy
wpis w kolekcji.
Nowy
URL jest automatycznie
przydzielany
wpisowi
i
zwykle
jest
zwracany
przez operację.
Traktuj podanego członka
jako kolekcję
samą w sobie i
utwórz w niej
nowy wpis.
DELETE
Usuń całą kolekcję.
I
I
Usuń
podanego członka
kolekcji.
Test jednostkowy — metoda
testowania tworzonego
oprogramowania poprzez
wykonywanie testów
weryfikujących poprawność
działania pojedynczych elementów
(jednostek) programu
Kod testujący tworzymy przed
napisaniem klasy
$ ruby skrypt.rb
ruby skrypt.rb
Run options: --seed 51901
Przykład użycia w Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require ’ minitest / autorun ’
#####################################
class Calc
def add ( x , y )
return x + y
end
end
#####################################
class TestCalc < Minitest : : Test
def test_calc
calc = Calc . new
assert_equal ( 4 , calc . add ( 2 , 2 ) )
assert_equal ( 5 , calc . add ( 2 , 3 ) )
end
end
# Running:
skrypt.rb
.
Finished in 0.002882s, 346.9969 runs/s, 693.9938 assertions/s.
1 runs, 2 assertions, 0 failures, 0 errors, 0 skips
Dr inż. Stanisław Polak
7
Przedmiot: Programowanie w języku Ruby
Dr inż. Stanisław Polak
8
Przedmiot: Programowanie w języku Ruby
Źródła
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Źródła
I
Wikipedia.
Kurs PHP.
http://pl.wikibooks.org/wiki/PHP.
I
Wikipedia.
http://pl.wikipedia.org/.
Dr inż. Stanisław Polak
9
Przedmiot: Programowanie w języku Ruby

Podobne dokumenty