Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
|
|
- Ludwik Tomczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar)
2 Co narzuca MVC? Architekturę aplikacji wykonaną w konwencji Model Widok - Kontroler Model reprezentacja danych i dostępu do nich Widok elementy interfejsu użytkownika Kontroler realizacja logiki biznesowej, sterowanie aplikacją, modułami
3 Zalety MVC Brak zależności kodowych warstwy modelu od warstwy widoku Łatwiejsza możliwość wprowadzania zmian do widoku (występuje częściej niż modelu) Przejrzystość aplikacji w strukturze Możliwość rozgraniczenia prac pomiędzy specjalistów z określonych dziedzin
4 Wady MVC struktura projektu wprowadzenie dodatkowej abstrakcji, wystąpienie nowych zachowań, całość trudniejsza do debugowania Zmiana modelu pociąga za sobą konieczność zmian wszystkich widoków na nim bazujących Trudne testowanie warstwy widoku
5 ORM Object-Relational Mapping Odwzorowanie obiektowo-relacyjne Przedstawienie modelu bazy danych przy pomocy podejścia obiektowego z zachowaniem relacji
6 Jak używać ORM? Każdej tabeli odpowiada klasa Każdemu polu w klasie odpowiada zmienna w klasie Realizacja zmian w bazie danych powinna być oparta na działaniu na klasach bez konieczności wprowadzania zapytań SQL
7 Zastosowanie ORM Gdzie go stosować? System wykorzystujący bazę danych jako źródło danych jest zapisany obiektowo Baza danych jest relacyjna (zawiera wskazania jednej tabeli na inną lub na siebie samą) Przy średnich i dużych projektach
8 Zalety ORM Developer operuje w całym projekcie wyłącznie na obiektach Brak konieczności znajomości zapytań SQL dla podstawowych operacji Utrzymywanie połączeń i zarządzanie nimi Wstępna ochrona przed atakami SQL Injection
9 Wady ORM Występowanie problemów z wydajnością Konieczność wprowadzania ręcznych zmian w ORM w przypadku bardziej skomplikowanych zapytań
10 OOP Powiązanie danych (pól) z zachowaniami (procedurami) w ramach obiektu (klasy) Różne w stosunku do pisania proceduralnego (gdzie brak jest powiązań między polami, a procedurami)
11 Zastosowanie OOP Jeśli można to wszędzie Dobre przedstawienie zależności komponentów Ułatwione testowanie wybranych komponentów z całej aplikacji Możliwość podmiany klasy zachowując interfejs wiążący ją z innymi
12 MVC, ORM, OOP Dobry projekt powinien umieć wiązać wszystkie wymienione elementy: MVC, ORM, OOP Powinien wspierać programistę w wytwarzaniu aplikacji zgodnie z wymienionymi zasadami Powinien ułatwiać testowanie, utrzymanie i zarządzanie zmianami w tworzonym projekcie zachowując pierwotną koncepcję
13 Kierunek rozwoju Pisanie aplikacji samodzielnie od podstaw w języku PHP: Monotonne i czasochłonne Wysoki nakład pracy potrzebny w wytworzenie koniecznych klas i funkcji podstawowych (ORM) Konieczność samodzielnego porządkowania plików w strukturze Jak można ułatwić sobie pracę pisząc w PHP i chcąc zachować wymienione standardy, a jednocześnie robić to wydajnie? Zastosować jeden ze szkieletów aplikacji webowej wspomagający developerów podczas pracy
14 CakePHP Darmowy framework służący do szybkiego wytwarzania aplikacji internetowych przy zachowaniu ich elastyczności i modyfikowalności Szerokie i aktywne community Dogodne licencjonowanie Kompatybilność z PHP 4 i 5 Zgodność z MVC Zintegrowany generator CRUD Wbudowany mechanizm walidacji formularzy Lokalizacja, cache, ACL...
15 Model MVC w CakePHP
16
17 Komponenty Wspomagają kontrolery, posiadając własny element logiki biznesowej. beforefilter() - wykonanie przed logiką kontrolera BeforeRender() - wykonanie po logice kontrolera ale przed wygenerowaniem widoku AfterFilter() - wykonanie po logice kontrolera oraz po wygenerowaniu widoku.
18 Helpery Tak jak komponenty dla kontrolerów elementy wpomagają generowanie widoku Wykorzystywane w różnych widokach, bądź w widokach generowanych z listy
19 Behaviours Tak jak komponenty oraz helpery, zachowania dodają nową funkcjonalność po stronie modelu aplikacji beforefind() afterfind() beforevalidate() beforesave() aftersave() beforedelete() afterdelete()
20 CakePHP typowe żądanie
21 Struktura folderów Config - pliki konfiguracyjne, szczegóły połączenia z bazą danych, uruchamiania, konfiguracja podstawowa silnika Controllers zawiera kontrolery i komponenty aplikacji Libs zawiera własne biblioteki Locale pliki internacjonalizacji Models źródła danych, modele i zachowania (behaviours) Plugins dodatki Tmp pliki tymczasowe Vendors biblioteki i klasy pochodzące od innych dostawców
22 Konwecje CakePHP Plik zawierający klasę MojaKlasa powinien posiadać nazwę moja_klasa.php MojController moj_controller.php MojComponent, MojBehaviour, MojView, MojHelper moj.php Nazwy kontrolerów dla danej tabeli modelu są w liczbie mnogiej (model User kontroler UsersController) Tabela w bazie danych: "people" Model opisujący tę tabelę: "Person" (/app/models/person.php) Klasa kontrolera: "PeopleController" (/app/controllers/people_controller.php) widok /app/views/people/index.ctp
23 Kontroler (1) Klasa AppController zdefiniowana w /app/app_controller.php powinna zawierać metody wspólne dla wszystkich kontrolerów aplikacji <?php?> # /app/controllers/recipes_controller.php class RecipesController extends AppController { } function view($id) { } function share($customer_id, $recipe_id) { } function search($query) { }
24 Kontroler (2) Zdefiniowane atrybuty class RecipesController extends AppController { var $name = 'Recipes'; var $uses = array('recipe', 'User'); var $helpers = array('ajax'); var $components = array(' '); }
25 Kontroler (3) - dane $this->params['form'] $this->params['admin'] $this->params['bare'] $this->params['isajax'] $this->params['action'] $this->data
26 Kontroler(4) - metody set(string $var, mixed $value) render(string $action, string $layout, string $file) redirect(mixed $url, integer $status, boolean $exit) flash(string $message, string $url, integer $pause, string $layout) beforefilter() beforerender() afterfilter() string referer(mixed $default = null, boolean $local = false) loadmodel(string $modelclass, mixed $id)
27 Model(1) class Ingredient extends AppModel { } var $name = 'Ingredient'; class IngredientsController extends AppController { } function index() { $ingredients = $this->ingredent->find('all'); //$ingredients = $this->recipe->ingredient->find('all'); $this->set('ingredients', $ingredients); }
28 Model(2) find($type, $params) array( 'conditions' => array('model.field' => $thisvalue), 'recursive' => 1, //int 'fields' => array('model.field1', 'DISTINCT Model.field2'), 'order' => array('model.created', 'Model.field3 DESC'), 'group' => array('model.field'), 'limit' => n, //int 'page' => n, //int 'offset'=>n, //int 'callbacks' => true )
29 Model(3) zapisywanie danych W kontrolerze function edit($id) { if(!empty($this->data)) { if($this->recipe->save($this->data)) { $this->session->setflash("recipe Saved!"); $this->redirect('/recipes'); } } $this->data = $this->recipe->findbyid($id); }
30 Widok set() - analogiczna metoda jak dla kontrolera, umieszczenie zmiennej w viewvar (do wykorzystania dla elementów, które będą później renderowane, np. layoutu) getvar() - pobieranie zawartości zmiennej z viewvar error() - wyświetla błąd na stronie element() - wyświetla element, partial uuid() - generuje automatyczne ID dla danego elementu drzewa DOM
31 Nawigacja echo $html->link('view Post', array('controller' => 'posts', 'action' => 'index')) echo $this->html->link( ('TranslatedText', true), '
32 I18n Internacjonalizacja strona w wielu językacj Wykorzystanie funkcji () w celu oznaczenia tekstu do tłumaczenia Stworzenie plików /app/locale/pol/lc_messages/default.po msgid token msgstr zamiennik Zmiana języków Configure::write('Config.language', 'pol'); // dla całej aplikacji $this->session->write('config.language', 'pol'); // dla użytkownika
33 Paginacja Kontroler var $paginate = array( 'limit' => 10); $data = $this->paginate('post'); $this->set('data', $data); Widok <?php echo $this->paginator->sort('title', 'title');?> <?php echo $this->paginator->numbers();?> <?php echo $this->paginator->prev('«previous', null, null, array('class' => 'disabled'));?> <?php echo $this->paginator->next('next»', null, null, array('class' => 'disabled'));?> <?php echo $this->paginator->counter();?>
34 Uwierzytelnianie var $components = array('auth', 'Session'); (AppController) Wykorzystanie ACO oraz ARO Automated-tool-for-creating- ACOs#!/view/1543/Simple-Acl-controlled- Application $this->session->read('auth.user')
35 Sesja - koszyk Utworzenie własnej klasy i umieszczenie jej w katalogu apps/vendors Przed wykorzystaniem import klasy dla danego kontrolera bądź dla całej aplikacji AppController w funkcji beforefilter() App::import('Vendor', 'Koszyk',array('file' => 'Koszyk.class.php')); Umieszczenie obiektu w sesji Pobranie obiektu z sesji $kosz = new Koszyk(); $this->session->write("koszyk.kosz",$kosz); <?php $kosz = $this->session->read("koszyk.kosz")?>
36 Sesja - koszyk <?php class Koszyk{ var $items = array(); public function drukuj(){ echo "Twój koszyk (".count($this->items).")";} public function pokaz(){foreach($this->items as $item){echo $item;}} public function add_to_cart($item){} public function rem_from_cart($item){} }?>
37 Flash Zmienne tymczasowe działające tylko w obrębie następnego żądania $this->session->setflash( ('Invalid post', true)) echo $this->session->flash('auth');
38 Pluginy komentarzy Wyszukiwania TinyMCE Tagi migracja
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2014 Plan wykładu 1 Projekt 2 Modele danych 3 4 5 Marcin Młotkowski Programowanie w Ruby 2 / 38 Zasady Projekt Składowe projektu przynajmniej
Bardziej szczegółowoProgram szkolenia: Symfony, nowoczesny framework PHP
Program szkolenia: Symfony, nowoczesny framework PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Symfony, nowoczesny framework PHP PHP-frameworki PHP developerzy 3 dni 40% wykłady
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 1
MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą
Bardziej szczegółowoTworzenie modułów. Wymagania aplikacji. Tworzenie modułów. Architektura aplikacji. controllers
Tworzenie modułów Wymagania aplikacji Tworzenie modułów Utworzenie katalogu z nazwą modułu oraz wersją (np. blog1) w katalogu modules Utworzenie potrzebnych katalogów takich jak config controllers helpers
Bardziej szczegółowoWprowadzenie do framework a Symfony
Wprowadzenie do framework a Symfony mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Bazuje na wzorcu projektowym MVC Niezależność od systemu bazodanowego Programowanie zorientowane
Bardziej szczegółowoEPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails
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
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowoPoznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11
Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowoEncje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności
Encje w Drupalu Tworzenie własnych encji i ich wpływ na poprawę wydajności DrupalCamp Wrocław 2015 Grzegorz Bartman https://twitter.com/grzegorzbartman O mnie Grzegorz Bartman http://twitter.com/grzegorzbartman
Bardziej szczegółowoLaboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
Bardziej szczegółowoWidoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych
Widoki zagnieżdżone, layout 1. Wprowadzenie Repozytoria danych Identyczne operacje na danych często się powtarzają np. pobierz książkę. Jeśli zapytanie realizowane jest za każdym razem w metodzie kontrolera
Bardziej szczegółowoStudium Podyplomowe Aplikacje i Us ugi Internetowe Tworzenie witryn internetowych 2012/2013. CakePHP część II
1. Dodatkowe elementy aplikacji CakePHP część II Przygotowany w poprzedniej części projekt prezentuje podstawowe elementy aplikacji opartej o CakePHP takie jak: klasy modelu, kontrolery, widoki. W tej
Bardziej szczegółowoTworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,
Bardziej szczegółowomedia Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
Bardziej szczegółowoPlan prezentacji. Framework CakePHP. CakePHP. Przydatne adresy. Wstęp. Przedmiot: Aplikacje internetowe. Przykłady. Kontroler. Dr inż.
Plan prezentacji Przedmiot: Aplikacje internetowe Dr inż. Stanisław Polak Wyższa Szkoła Zarządzania i Bankowości w Krakowie http://artemis.wszib.edu.pl/~polak/ Wstęp Przykłady Kontroler Model Widok Klasy
Bardziej szczegółowoPlan prezentacji. Framework CakePHP. CakePHP. Przydatne adresy. Wstęp. Przedmiot: Aplikacje internetowe. Przykłady. Kontroler. Dr inż.
Plan prezentacji Przedmiot: Aplikacje internetowe Dr inż. Stanisław Polak Wyższa Szkoła Zarządzania i Bankowości w Krakowie http://artemis.wszib.edu.pl/~polak/ Wstęp Przykłady Kontroler Model Widok Klasy
Bardziej szczegółowoANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH
ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH szkolenie dla webdeveloperów ze znajomością przynajmniej podstaw HTML i JavaScript INFORMACJE PODSTAWOWE AngularJS to framework JavaScript stworzony przez inżynierów
Bardziej szczegółowoArchitektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski
Architektura MVC w ASP.NET Autor wykładu: Marek Wojciechowski Modele programistyczne ASP.NET Web Forms Komponentowy interfejs użytkownika (kontrolki) Programowanie wizualno-zdarzeniowe Klasyczna składnia
Bardziej szczegółowoProjektowanie aplikacji z bazami danych
Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania
Bardziej szczegółowoREFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
Bardziej szczegółowoTechnologie internetowe ASP.NET Core. Paweł Rajba
Technologie internetowe ASP.NET Core Paweł Rajba pawel@cs.uni.wroc.pl http://itcourses.eu/ Plan wykładu Wprowadzenie Podstawowa aplikacja Usługi i middleware Obsługa błędów Request, Response, ciastka i
Bardziej szczegółowoPodstawy wzorca MVC 2011-10-18 MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.
Podstawy wzorca MVC MODEL KON- TROLER WIDOK Zawiera dane aplikacji oraz jej logikę. MODEL WIDOK Odpowiada za wyświetlenie danych użytkownikowi KON- TROLER KON- TROLER MODEL WIDOK Jedyna część aplikacji,
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoLaboratorium nr 3 Podstawy Ruby on Rails
Laboratorium nr 3 Podstawy Ruby on Rails Elektroniczne Przetwarzanie Informacji Plan prezentacji Utworzenie aplikacji Author Book Końcowe porządki System do obsługi biblioteki Bardzo prosta biblioteka.
Bardziej szczegółowoASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009
ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a
Bardziej szczegółowoBudowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz
Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie
Bardziej szczegółowoKurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie
Bardziej szczegółowoFull Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia
Kod szkolenia: Tytuł szkolenia: DED/FSJS Full Stack JavaScript z Angular i Nest Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest dla programistów posiadających podstawową wiedzę w zakresie JavaScript,
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoProduktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Bardziej szczegółowoBaza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoWalidacja danych w ASP.NET MVC
Walidacja danych w ASP.NET MVC 1. Prosta walidacja 2. Walidacja z Data Annotation public ActionResult Edit(Person person) bool blad = false; if(person.name.trim().length == 0) ViewData["Blad1"] = "Nazwisko
Bardziej szczegółowoInstrukcja laboratoryjna
Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z
Bardziej szczegółowoapp/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji
Baza danych i ORM Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie pojektu). Zwyczajowo projekt posiada dwie aplikacje: Frontend Backend Moduł
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoPHP zaawansowane programowanie
Programowanie Aplikacji Internetowych Wykład 7 PHP zaawansowane programowanie Opracował dr inż. Dariusz Trawicki Gdańsk 12.01.2011 1 PHP zaawansowane programowanie Wzorce projektowe Wzorzec MVC Warstwa
Bardziej szczegółowoPodstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Bardziej szczegółowoWprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Bardziej szczegółowoDjango : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści
Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop. 2016 Spis treści O autorze 13 O recenzentach technicznych 14 Wprowadzenie 17 Rozdział 1. Utworzenie aplikacji bloga 21 Instalacja
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowo1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoProgramowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty
Bardziej szczegółowoSmarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Bardziej szczegółowoProgramowanie zorientowane obiektowo. Mateusz Kołecki
Programowanie zorientowane obiektowo Mateusz Kołecki Plan MVC Wstęp Separacja odpowiedzialnośći Antyprzykład Dobry przykład Wady/zalety MVC MVC to tylko początek - wzorce projektowe Dlaczego chcemy używać
Bardziej szczegółowoapp/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP
Baza danych i ORM Struktura Bundle app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP src/ - folder zawiera cały kod PHP aplikacji vendor/
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoModele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Bardziej szczegółowoProgramowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Bardziej szczegółowoRuby i Ruby on Rails. Mateusz Drożdżyński
Ruby i Ruby on Rails Mateusz Drożdżyński Co to Ruby? Dynamiczny, obiektowy język programowania, stworzony przez Yukihiro Matsumoto Pojawił się w tym samym roku co Java (1995) Przejrzysta, prosta i intuicyjna
Bardziej szczegółowoPodejście obiektowe do relacyjnych baz danych Hibernate.
Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowoProjektowanie aplikacji w modelu MVC opartej o framework CodeIgniter
Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter Konfiguracja i przygotowanie przykładowej aplikacji opartej o model Model-View- Controller Konfiguracja frameworka Zainstaluj na serwerze
Bardziej szczegółowoPrzygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)
Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016
Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.
Bardziej szczegółowoTworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2015. W ramach projektu budowana jest prosta
Bardziej szczegółowoProjektowanie i architektura frameworka w języku PHP. Tomasz P.F. Kowalczyk http://kowalczyk.cc
Projektowanie i architektura frameworka w języku PHP Tomasz P.F. Kowalczyk http://kowalczyk.cc Spis treści Why new framework? Mechanizmy języka PHP Wzorce projektowe Architektura Przepływ sterowania Zalety
Bardziej szczegółowoAutomaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014
Automaty do zadań specjalnych Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014 Agenda Kilka pytań do publiczności Po co się męczyć? Studium przypadku Olympus Wprowadzenie Opis rozwiązania Wnioski
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Bardziej szczegółowoEwolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2
Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku
Bardziej szczegółowoSpring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoWykład 5: PHP: praca z bazą danych MySQL
Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych
Bardziej szczegółowoZrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień 2009. Uniwersytet Warszawski
Uniwersytet Warszawski 6 kwiecień 2009 Spis Treści 1 MVC Jak to wygląda w JavascriptMVC 2 Prawie jak klasy 3 Hierarchia Widoki Kontrolery Modele 4 Struktura katalogów Generatory kodu Generatory dokumentacji
Bardziej szczegółowoURL, URI różnice i podobieństwa
Mechanizm routingu URL, URI różnice i podobieństwa URL (Uniform Resource Locator) unikalny identyfikator wskazujący lokalizację zasobu sieciowego. URI (Uniform Resource Identyficatior) unikalny identyfikator
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoBudowa nowoczesnej aplikacji SPA z wykorzystaniem biblioteki Ember.js
Akademia MetaPack Uniwersytet Zielonogórski Budowa nowoczesnej aplikacji SPA z wykorzystaniem biblioteki Ember.js Daniel Habowski Budowa aplikacji SPA z wykorzystaniem biblioteki Ember.js Agenda: 1. Standardowa
Bardziej szczegółowoPlan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy
Plan Podstawy narzędzia Application Builder, 2 budowa strony, kreatory Architektura Tworzenie Tworzenie formularza tabelarycznego Budowa strony 2 Architektura Aplikacja kolekcja stron połączonych ze sobą
Bardziej szczegółowoKurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 2
MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik
Bardziej szczegółowoLINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.
LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy. Zanim ktokolwiek postanowi użyd tego w swoim projekcie, należy zaznaczyd
Bardziej szczegółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoMapowanie obiektowo-relacyjne z wykorzystaniem Hibernate
Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoBaza numerów Wersja 1.1
Baza numerów Wersja 1.1 SPIS TREŚCI 1. Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją 1.2 Informacje zwrotne wysyłane z API w odpowiedzi na odebrane odwołania I. Zarządzanie grupami Bazy Numerów
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz
Bardziej szczegółowoBudowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowo