ZAAWANSOWANE TECHNIKI WWW (zajęcia r. i r.)
|
|
- Bogna Niewiadomska
- 5 lat temu
- Przeglądów:
Transkrypt
1 ZAAWANSOWANE TECHNIKI WWW (zajęcia r. i r.) 1. Przygotowanie środowiska pracy back-end (Node.js) NodeJS (wersja LTS: 8.9.1) jest zaawansowanym środowiskiem do tworzenia skalowalnych i bardzo wydajnych aplikacji webowych. Aplikacje oparte o środowisko node działają w asynchronicznym systemie wejścia/wyjścia sterowane za pomocą zdarzeń i pozwala na uruchomienie kodu JavaScript poza przeglądarką internetową. System posiada bardzo dobrze rozbudowany system wtyczek dostępnych w repozytorium on-line (npn) które można instalować w zależności od potrzeb. Instalacja środowiska uruchomieniowego Node.js 0) Wchodzimy na stronę: 1) Pobrać najnowsza wersję platformy node.js, a następnie rozpakować do katalogu domowego i zmienić nazwę powstałej kartoteki na nodejs. 2) W utworzonej kartotece znajduje się kartoteka bin w której zlokalizowany jest główny plik wykonywalny o nazwie node, stanowiący interpreter kodu JS. 3) Domyślnie powinniśmy używać powłoki terminala bash. Jeśli nie jest to domyślna powłoka należy się do niej przełączyć wpisując w terminalu polecenie: > bash 4) Definiujemy tworzymy następujące linki symboliczne w głównej kartotece nodejs: > ln -s./bin/node node > ln -s./bin/npm npm 5) W pliku.bashrc (jeśli nie istnieje tworzymy taki w sowjej głównej kartotece domowej) dodajemy następującą zmienną środowiskową: export PATH=$PATH: /home/username /nodejs/bin gdzie username - oznacza nazwę użytkownika nodejs - oznacza nazwę kartoteki instalacji nodejs 6) Następnie w głównej kartotece domowej wykonujemy polecenie: > source.bashrc 7) Jeśli w kartotece mamy np. plik.js, zawierający skrypt w języku JS, to aby go wykonać należy uruchomić go następującym poleceniem: > node plik.js 8) W celu sprawdzenia czy poprawnie zainstalowaliśmy środowisko node można wykonać polecenie: > node -v Zadanie 1 Dla przetestowania poprawnej instalacji środowiska uruchomieniowego Node.js proszę uruchomić aplikację serwerową dostępna na stronie: Kod proszę wpisać kod dostępny na stronie do pliku app.js i uruchomić poleceniem: > node app.js
2 Proszę zmodyfikować skrypt tak aby w ostatecznej odpowiedzi renderowana była prosta strona internetowa z kodu hipertekstowego (HTML). Instalacji i praca z pakietem Express.js (aplikacja samodzielna nie MVC) Node.JS umożliwia tworzenie złożonych i zaawansowanych aplikacji internetowych o architekturze MVC (Model-View-Controller). Dziś poznamy kompletne narzędzia i metody do tworzenia aplikacji w tej architekturze w środowisku NODE.JS. Do tworzenia aplikacji w architekturze MVC w środowisku NODE.JS służy pakiet Express (strona projektu: ). Jest to bardzo rozbudowane narzędzie ułatwiające budowanie aplikacji internetowych w NODE.JS opierających swoją komunikację na protokole HTTP. 0) Tworzymy np. Kartotekę o nazwie test, a następnie do niej przechodzimy > mkdir test && cd test 1) Następnie inicjalizujemy kartotekę zakładając nowy projekt w Node.js > npm init Polecenie to przeprowadzi nas przez proces tworzenia pliku package.json który będzie zawierał wszystkie informację o naszym nowym projekcie. W szczególności przy wyborze nazwy tzw. Entry point proszę wpisać zamiast proponowanej nazwy index.js, nazwę app.js. Plik po utworzeniu powinien wyglądać następująco: About to write to /home/marcin/test/package.json: { } "name": "test", "version": "1.0.0", "description": "Moja pierwsza aplikacja Node.js / Express.js", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ "aplikacja", "web", "node" ], "author": "Jan Kowalski", "license": "ISC" 2 ) W kolejnym kroku należy zainstalować pakiet express.js: > npm install express --save Proszę zwrócić uwagę, że modyfikacji uległ plik package.json 1
3 3) Proszę utworzyć plik app.js w który prosze umieścić nasępujący kod aplikacji: const express = require('express'); const app = express(); app.get('/', function (req, res) { res.send('hello World!'); app.listen(3000, function () { console.log('example app listening on port 3000!'); 4) Proszę uruchomić aplikację poleceniem: > node app.js a w pasku adresu przeglądarki wpisać adress Zadanie 2 Proszę omówić metody natywne HTTP i sposób trasowania w aplikacjach Express.js. Zadanie 3 Proszę spróbować użyć kodu przedstawionej aplikacji do wysłania do użytkownika statycznego kody strony internetowej HTML zapisanego w pliku index.html 2. Praca z generatorem Express.js (aplikacja samodzielna z szablonem MVC) 0) Domyślnie używamy powłoki terminala bash. Jeśli nie jest to domyślna powłoka należy się do niej przełączyć wpisując w terminalu polecenie: > bash 1) Za pomocą standardowej metody instalacji pakietów należy zainstalować w środowisku node.js moduł express : > npm install express 2) Dodoatkowo musimy doinstalować pakiet generatora express: > npm install -g express-generator Na tym etapie środowisko NODE.JS jest gotowe do tworzenie aplikacji w architekturze MVC. Tworzenie nowego projektu MVC: Aby utworzyć nowy projekt należy wykonać następujące kroki: 1) Utworzyć w kartotece głównej NODE.JS nowy katalog np.: > mkdir hello 2
4 2) Wygenerować strukturę aplikacji: > express hello 3) Wejść do kartoteki hello: > cd hello/. 4) Doinstalować standardowe pakiety: > npm install 5) Na tym etapie aplikacja jest gotowa do uruchomienia. Serwer uruchamiamy wydając polecenie: > npm start 6) W przeglądarce, po wpisaniu adresu localhost:3000 powinniśmy ujrzeć domyślną stronę projektu express. 7) Dodatkowo w konsoli w której uruchomiliśmy serwer dostajemy logi np.: GET / ms - 270b GET /stylesheets/style.css 200 8ms - 110b które mówią o czasach wykonywania przychodzących żadań do serwera i pobieranych plikach. Zgodnie podziałem na trójwarstwową strukturę aplikacji (Model-View-Controller) poszczególne moduły aplikacji są rozproszone w różnych kartotekach. Podstawowa struktura kartotek jest następująca: -rw-r--r :52 app.js drwxr-xr-x :52 bin drwxr-xr-x :52 node_modules -rw-r--r :52 package.json drwxr-xr-x :52 public drwxr-xr-x :52 routes drwxr-xr-x :52 views // główny plik aplikacji // katalog z serwerem // dodatkowe moduły node.js // pliki publiczne np. css // kontroler // widok Kartoteka models nie jest standardowo tworzona. Zadanie 4 Proszę zbudować w oparciu o infrastrukturę Express.js (MVC), aplikację która będzie obsługiwać formularz przez który dane będą przesyłane za pomocą metody POST, a następnie dane te będą wyświetlane na stronie która jest wyświetlona po wysłaniu formularza. Może to być prosty formularz kontaktowy. 3. Komunikacja HTTP (POST, GET) Architektura trójwarstwowa wymusza podział na akcje i widoki. Gdzie akcje (znajdujące się kontrolerze) są odpowiedzialne za wykonywanie operacji i obsługę żądań przychodzących do serwera, a widoki za wyświetlanie danych przychodzących z kontrolera. Standardowo akcje przechowywane są w kartotece routes, a widoki w kartotece views. Rozpocznijmy od kontrolera: w kartotece routes znajdują się dwa plik jeden o nazwie index.js drugi user.js. Zajmijmy się tym pierwszym, który odpowiada za obsługę strony głównej w naszej aplikacji. Jego struktura jest bardzo prosta i zawiera tylko jedną funkcję obsługującą żądania GET przychodzące do serwera. 3
5 W ogólności w tym kontrolerze (oraz każdym innym dowolnym) moga znaleźć się akcje operujące na metodach natywnych protokołu HTTP. Najczęściej używanymi są dwie metody: GET -> nasŧepuje kiedy żądamy pobrania danego zasobu (za pomoca adresu URL stanowiący jednoznaczny lokalizator zasobu). Serwer w odpowiedz na żądanie GET kiedy użytkownik ma do tego prawo oraz zasób istnieje. zwraca żądany zasób. Przykładem żądania GET jest np. zwykłe wyświetlenie strony HTML. POST -> następuje kiedy chcemy do serwera przesłać dane lub te dane uaktualnić. W zasadzie jest to to samo co żądanie GET, poza tym że w ciele tego żądanie możemy przesłać dodatkowe dane. Przeanalizujmy funkcję która znajduje się w pliku routes/index.js : /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' W tej funkcji obsługujemy żądanie GET przychodzące od klienta (z przeglądarki), wymuszające wyświetlenie strony głównej aplikacji. W odpowiedzi na przychodzące żądanie req formowana jest odpowiedź res, która renderuje stronę index.html na podstawie widoku znajdującego się w kartotece views. Przeanalizujmy, jakie wartości przyjmuje metoda render : - Jako pierwszy argument podajemy nazwę pliku widoku który ma zostać wyświetlony w wyniku realizacji tego zadania, - drugi parametr to obiekt z danymi przekazywanymi do widoku które mają zostać wyświetlone ostatecznie na stronie. Można to porównać do funkcji która zwraca wartość (tu w postaci złożonego obiektu) do innej funkcji. Metody które mogą zostać wykorzystane do zwrócenia odpowiedzi do klienta: res.download() - zwracamy plik którego pobrania żąda użytkownik. res.end() - zakończenie formowania odpowiedzi (argumentem może być tekst) res.json() - zwrócenie do klienta pliku JSON. res.jsonp() - zwrócenie do plikenta odpowiedzi JSONP. res.redirect() - przekierowanie żądania (np. Na inny addres). res.render() - wyrenderowanie strony z szablonu (np. JADE lub EJS). res.send() - wysłanie odpowiedzi do klienta np. tekstu res.sendfile() - odesłanie odpowiedzieć jako application/octet-stream res.sendstatus() - odesłanie kodu odpowiedzi HTTP i jego reprezentacji tekstowej. Zadanie 5 Proszę przetestować metody zwrotu odpowiedzi kontrolera zaznaczone na niebiesko w tabeli powyżej. Proszę dla każdej metody napisać osobną akcję kontrolera z użyciem metody GET. Każda akcja powinna być wykonana przez osobny adres URL. 4
6 4. Przekazywanie zmiennych przez adres - metoda GET w node.js. W kilku sytuacjach niezbędne jest jawne przekazanie wartości zmiennych przez adres (metoda GET), podobanie jak to było w PHP. Jako, że w tym przypadku metoda wysyłamy zmienne to GET możemy posłużyć się funkcją: router.get(). Jak już wiemy w metodzie.get() pierwszym parametrem jest adres obsługiwanego żądania. W tym miejscu możemy również przekazywać wartości zmiennych. Przykład: Chcemy przekazać 4 następujące zmienne o wartościach całkowitych: a=4, b=5, c=6, d=7. Aby to uczynić musimy w odpowiedni sposób spreparować maskę adresu dla metody.get(). Zakładamy że nasz funkcja będzie obsługiwała docelowo adres /test oraz w odpowiedzi będzie renderować stronę widoku o nazwie testowy.jade. W standardowym wypadku szablon naszej funkcji będzie następujący: router.get('/test, function(req, res){ var obj = 0; res.render('testowy', obj); Teraz musimy tak zmodyfikować maskę obsługiwanego adresu aby można było podać zmienne (oczywiście nie wpisujemy ich na sztywno w adresie!). Zmianę w adresie są symbolizowane przez: :nazwa_zmiennej // dwukropek i nazwa zmiennej przykładowo: router.get('/test/:a, function(req, res) gdzie :a jest nazwą naszej zmiennej którą będziemy mogli posługiwać się do odebrania wartości. Jesteśmy mamy tych zmiennych więcej oddzielamy je przecinkami: router.get('/test/:a,:b,:c,:d, function(req, res) Możliwe są również, inne kombinacje np: router.get('/test/:a/:b,:c/:d, function(req, res) router.get('/test/:a/:b/:c/:d, function(req, res) router.get('/test/:a/:b,:c,:d/:e/:f/:g,:h, function(req, res) W adresach można przesyłać dowolne wartości tj. liczby, znaki etc. Aby odebrać wartości ze zmiennych adresowych należy posługiwać się obiektem żądania i nazwą zmiennej zdefiniowanej w adresie: np: req.params.nazwa_zmiannej; req.params.a; 5
7 Req.params.b; Wykorzystanie tej funkcjonalności najczęściej polega na wpisaniu na sztywno np. odnośnikach wartości zmiennych. W widoku ma to np następującą postać: a(href= /test/4,5,6,7 ) kliknij mnie Po kliknięciu w link zostanie wywołana metoda get obsługująca wywołany adres. 5. Przekazywanie zmiennych przez formularz - metoda POST w node.js. Zacznijmy od zdefiniowania w routes/index.js nowej funkcji która będzie odpowiadała za wyświetlanie naszej strony oraz przetworzenie danych wpisanych do formularza. Standardowo w tym pliku mamy obiekt który obsługuje nam zapytania do serwera żądające wyświetlanie danej strony: /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' W tym wypadku w odpowiedzi renderowany jest szablon zapisany w pliku views/index.jade, będący rozszerzeniem domyślnego wyglądu strony. Aby obsłużyć formularz obsługujący dane musimy posłużyć się do tego celu metodą odbierającą dane z formularza czyli POST (wyjaśnienie różnicy pomiędzy GET a POST było przedstawione w poprzednich materiałach). Szkielet funkcji jest następujący: router.post( [link-wyswietlany], function(req,res){ res.render(' [nazwa.jade] ',{ } ); W naszym przypadku chcielibyśmy utworzyć formularz który posiada jedno pole typu text do którego wpisujemy dane, a następnie te dane są wyświetlane jak tytuł strony ( w nagłówku h1) strony wyświetlonej po przeładowaniu. Załóżmy że strona po przeładowaniu będzie się nazywać studentów, a do szablonu jade przekazywana będzie wartość pola z formularza. Do pobierania danych z pól formularza, posługujemy się obiektem req który jest generowany w momencie wysłania żądania do serwera. Dostęp do wszystkich pól formularza jest możliwy przez obiekt body i podanie nazwy danego pola w formularzu np:. req.body.student. Pełny kod funkcji renderującej stronę na podstawie danych z formularza jest następujący: router.post('/studentuj',function(req,res) { var student = { name: req.body.student //nazwa pola }; res.render('index', {title: req.body.student Musimy odpowiednio zmodyfikować plik szablonu, tak aby zawierał sam formularz. Dla języka JADE/PUG miałby on postać: 6
8 extends layout block content h1= title p Welcome to #{title} form(method="post" action="/studentuj") input(type="text" name="student") input(type="submit") Formularz ten POSTuje (czyli wysyła dane) pod adres /studentuj który właśnie jest obsługiwany w kontrolerze przez wcześniej napisaną funkcję. Zadanie 6 Proszę przetestować przesyłanie danych obiema metodami GET i POST. Proszę przygotować przykład w którym będzie pokazane odbieranie danych obiema metodami. 6. Silnik szablonów JADE/(PUG) oraz EJS Express umożliwia użycie kilku silników szablonów dzięki którym możemy przygotowywać widoki aplikacji internetowych m.in. ejs, hbs, hjs, jade, pug, twig, vash. Dla wygodny można wybrać jeden z nich. Wśród twórców aplikacji Express/Node najczęściej używanymi są JADE/PUG oraz EJS. Domyślnie aplikacja wygenerowana w Express.js działa z użyciem silnika JADE/PUG. Przy inicjowaniu nowego projektu możemy wybrać typ silnika na którym ma działać nowa aplikacja: JADE : express nowy_projekt EJS : express --view=ejs -e nowy_projekt Jade jest uproszczoną formą szablonu HTML pozbawioną właściwych znaczników, zawierającą elementy logiki wyświetlania. Przykład: doctype html html head script(src=' title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content Natomiast EJS jest zwykłym szablonem HTML wzbogaconym o annotacje które służa np. so osadzania zmiennych wewnątrz szablonu. <!DOCTYPE html> <html> <head> 7
9 <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1><%= title %></h1> <p>welcome to <%= title %></p> </body> </html> Gdzie notacja jest zapisana jako znacznik: <%= title %> Jak widać Jade, jest pozbawiony znaków określających znaczniki oraz jest również samo uzupełniający się ponieważ nie ma znaczników zamykających!!!! Przykład widoku wyświetlającego stronę główną jest umieszczony w pliku index.jade : extends layout block content h1= title p Welcome to #{title} Polecenie extends layout mówię serwerowi, że ten plik rozszerza funkcjonalność głównego widoku umieszczonego w pliku layout. Dodatkowo w obu przypadkach widoku głównego, jak i widoku rozszerzającego widać również jak należy odbierać zmienne przekazywane przez w obiekcie funkcji render. Jak pamiętamy przekazaliśmy w kontrolerze objekt: { title: Express } Jest on teraz wyświetlany w dwóch miejscach w elemencie <h1> oraz <p>. W obu przypadkach dostęp do obiektu jest inny, jednak są to dwie równoważne metody. Z doświadczenie polecam metodę drugą czyli #{ nazwa zmiennej }. Przykład 1. (który już znamy): Zapisywanie znaczników w JADE: <div> Element blokowy </div> div Element blokowy Przykład 2. <html> <head> <title> Jade </title> </head> <body> <p> JADE html... head... title Jade... body... p... JADE 8
10 </p> </body> </html> W przykładzie powyżej kropki oznaczają wcięcia zrobione za pomocą spacji. Alternatywnie można używać tabulatora (stałego odstępu). Należy jednak w pojedynczym pliku.jade używać spacji lub tabulacji (nigdy obu). Powyższy przykład pokazuje również niezwykłą zwięzłość tego typu kodowania. Wewnątrz tekstu języka JADE można używać znaczników HTML!!!!! Przykład 3. Plain text can include <strong>html</strong> <p> It must always be on its own line </p> Plain text can include <strong>html</strong> p It must always be on its own line Znaczniki HTML zostaną przesłane do przeglądarki gdzie zostaną zinterpretowane Przykład 4 - Lista <ul> <li>item A</li> <li>item B</li> </ul> ul li Item A li Item B li Item C Tworzenie atrybutów znaczników: <a href="google.com">google</a> <a href="google.com" class="button">google</a> a(href='google.com') Google a(class='button', href='google.com') Google Klasy: <a class="button"></a> <div class="content"></div> a.button.content Identyfikatory: <a id="main-link"></a> <div id="content"></div> a#main-link #content Prosta logika w JADE: JADE umożliwia wykonywanie bardzo prostych operacji wyliczeniowych: 9
11 <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> ul each val in [1, 2, 3, 4, 5] li= val Możliwe jest wykonywanie prostych zadań które mają być wykonane w pętli: <li>item</li> <li>item</li> <li>item</li> - for (var x = 0; x < 3; x++) li item Dostęna jest również instrukcja warunkowa wyboru: <p>you have 10 friends</p> - var friends = 10 case friends when 0 p you have no friends when 1 p you have a friend default p you have #{friends} friends 7. Tworzenia projektów MVC w oparciu o Node.js/Express.js Środowisko Node.js w połączeniu z modułem Express.js umożliwia tworzenie aplikacji internetowych bazujących na trójwarstwowej architekturze o podziale na następujące komponenty: - Logika danych (Model) - Logika biznesowa (Kontroler) - Logika prezentacji (Widok) Express.js pozwala na utworzenie szkieletu aplikacji opartego na w/w wzorcu.. Aplikacja internetowa oparta na module Express.js wykorzystuje wbudowane w protokół HTTP natywne metody komunikacji pomiędzy klientem a serwerem tj. GET, POST, PUT, DELETE itp. Służą one do przyjęcia przez serwer żądania (req) od klienta oraz odesłania do niego stosownej odpowiedzi (res). Podejście te bazuje na tzw. trasowaniu oraz tworzeniu end-pointów do wykonywania określonych czynności przez aplikację. Ogólna postać End-pointa w Express.js ma to: app.metoda( TRASA, CALLBACK ); Przykładem end-pointa jest następująca funkcja znajdująca się w pliku./routes/index.js /* GET home page. */ router.get('/', function(req, res) { 10
12 res.render('index', { title: 'Express' Ten konkretny end-point pozwala na obsłużenie żądania GET w wyniku wpisania przez użytkownika do przeglądarki następującego adresu URL: localhost:3000/ Następnie w wyniku tego wywołania endpoint realizuje określoną operację która jest zapisana w ciele funkcji wywołania zwrotnego tzw. callbacka. W przykładzie funkcja renderuje stronę HTML bazując na szablonie o nazwie index (pierwszy argument metody res.render()) oraz danych które są przekazywane w postaci obiektu w drugim argumencie. W ogólności funkcja Callback nie musi renderować widoku w postaci pliku HTML, może np. zwracać dane w postaci obiektu JSON który następnie jest przesyłany do przeglądarki klienta poprzez metodę: res.json(data); Jednym z typowych zachowań aplikacji internetowych w celu poprawy wydajności ich działania jest renderowanie wszystkich elementów widoku (strony) HTML w momencie przyjścia pierwszego żądania klienta, natomiast uaktualnienie wszystkich danych prezentowanych w tym widoku w wyniku operacji wykonywanych asynchronicznie za pomocą podejścia AJAX (czyli wymieniając obiekt JSON). Drugim bardzo istotnym aspektem tworzenia aplikacji w oparciu o Node.js/Express.js jest umiejętności tworzenia własnych modułów (modelu) aplikacji, które realizują określone funkcjonalności lub potrzeby biznesowe. W standardowym szkielecie aplikacji Express.js nie ma miejsca na model, i należy stworzyć go samodzielnie. Najwygodniej jest utworzyć kartotekę o określonej nazwie np. Modules i w niej przechowywać wszystkie pliki autorskich modułów. W ramach tej kartotek należy organizować poszczególne funkcjonalności (modele) w odrębnych plikach i następnie zgodnie z podejściem CommonJS udostępniać je innym obiektom za pomocą: Module.exports = NAZWA-MODELU; A następnie w pliku w którym chcemy użyć tego modułu dodać go za pomocą dyrektywy: const MODEL = require(../modules/mojmodul.js ); (przykład z utworzeniem modułu opartego o klasę Kalkulator podany jest w wykładzie 6 oraz stanowił zadanie na poprzednich zajęciach). 7. Tworzenie modularnej struktury aplikacji opartej o obiekt module.exports W środowisku Node.js we współpracy z Express.js możemy tworzyć własne lgiczne moduły aplikacji realizujących określone funkcjonalności (zadania). Jednym z popularnych metod enkapsulowanie funkcjonalności w JavaScript są moduły tworzone w postaci osobnych plików i dołączony do głównego programu za pomocą dyrektywy require() np. : const http = require( http ); Dyrektywa ta tworzy obiekt będą bezpośrednim odwołaniem do obiektu modułu http i dającym dostęp do jego metod. 11
13 W przypadku gdy chcemy sami stworzyć taki moduł robimy to najczęściej poprzez stworzenie literału obiektowego składującego odpowiednie dane oraz metody wykonywane na tych danych. Przykład prostego modułu stanowiącego kalkulator: // w pliku kalkulator.js var kalkulator = { dodaj: function(a,b){ return a + b; }, odejmij: function(a,b){ return a - b; }; module.exports = kalkulator; Każdy obiekt (zatem również literał obiektowy) posiada obiekt module.exports, dzięki któremu możemy udostępnić zawartość dowolnej funkcji lub obiektu do innego obiektu. Dla przykładu stworzonego modułu kalkulatora, jego dołączenie do programu głownego będzie wyglądać następująco: // w pliku app.js const kalkulator = require('./kalkulator.js'); console.log(kalkulator.dodaj(4,5)); console.log(kalkulator.odejmij(4,5)); console.log(kalkulator.pomnoz(4,5)); console.log(kalkulator.podziel(4,5)); Podobnie możemy utworzyć nowy moduł w oparciu o klasy języka JavaScript: // w pliku kalkulator.js class Kalkulator { constructor(a,b){ this.x = a; this.y = b; } Dodaj() { return this.x + this.y; } }; module.exports = Kalkulator; Oraz plik głównej aplikacji: // w pliku app.js const Kalkulator = require('./kalkulator.js'); var k = new Kalkulator(4,5); console.log(k.dodaj()); Zadanie 7 Proszę zaadoptować przygotowany przykład nowego modułu (stworzonego jako literał obiektowy lub klasa - do wyboru jedno lub drugie) do aplikacji uruchamianej za pomocą 12
14 Express.js. Proszę również o przygotowanie uproszczonego interfejsu klienta GUI który będzie umożliwiał użycie w/w modułu kalkulator. Prosze posłużyć się struktura aplikacji utworzoną za pomocą generatora Express.js. Interfej powinien umożliwiać wprowadzenie dwóch liczb przez formularz, następnie za pomocą metody POST dane te powinny zostać przesłane do serwera gdzie powinny zostać odebrane i na ich podstawie powinna zostać wykonana odpowiednia operacja dostępna w kalkulatorze. Do modułu proszę również dodać pozostałe operacje matematyczne oraz spróbować zaimplementować operację silnia (rekurencja!!). 13
server.listen(port, hostname, () => { console.log(`server running at });
TECHNIKI WWW (WFAIS.IF-C125) (zajęcia 04.01.2017 r. i 11.01.2017) Dla przypomnienia uruchamianie serwera http podającego statyczną treść polegało na stworzeniu skryptu wraz z osadzonym kodem statycznej
Bardziej szczegółowoCo to jest NODE.JS? Nowoczesne środowisko programistyczne
Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych
Bardziej szczegółowoPROJEKTOWANIE APLIKACJI INTERNETOWYCH
PROJEKTOWANIE APLIKACJI INTERNETOWYCH (WFAIS.IF-N016) dr inż. Marcin Zieliński Wykład dla kierunku: Informatyka Stosowana I rok, II stopień Rok akademicki: 2016/2017 - semestr letni WYKŁAD 6 Przypomnienie
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ółowoZaawansowane Techniki WWW (HTML, CSS i NODE.JS)
Zaawansowane Techniki WWW (HTML, CSS i NODE.JS) Dr inż. Marcin Zieliński Środa 15:30-17:00 sala: A-1-04 WYKŁAD 8 Wykład dla kierunku: Informatyka Stosowana II rok Rok akademicki: 2014/2015 - semestr zimowy
Bardziej szczegółowoPopularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:
Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne: Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne: oraz systemy CMS (Content Menager System): Dlaczego
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ółowoReferat z przedmiotu Technologie Internetowe SPIS TREŚCI
SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8
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ółowoAjax. 1. Wprowadzenie. 2. Aplikacja serwerowa
Ajax 1. Wprowadzenie Do tej pory każda akcja na Waszej stronie kończyła się nowym requestem do serwera i przeładowaniem całej strony w przeglądarce. W tej instrukcji dodamy elementy asynchroniczne na stronie,
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych
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ółowoA Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoQuiz Aplikacja internetowa
- 1 - Quiz Aplikacja internetowa Opis: Realizacja aplikacji internetowej Quiz w oparciu o Python i framework Flask (wersja 0.10.1). Autorzy: Tomasz Nowacki, Robert Bednarz Czas realizacji: 90 min Poziom
Bardziej szczegółowoTechnologie sieciowe Sprawozdanie z labolatorium. Lista 5
Politechnika Wrocławska Wydział Podstawowych Problemów Techniki Technologie sieciowe Sprawozdanie z labolatorium Lista 5 Autor: Piotr Kosytorz IIrokInf. indeks: 166174 Prowadzący: dr inż. Łukasz Krzywiecki
Bardziej szczegółowoWYKŁAD 1 ANGULARJS CZĘŚĆ 1
WYKŁAD 1 ANGULARJS CZĘŚĆ 1 DEFINICJA ANGULARJS Framework JavaScript na licencji open-source wykorzystywany do tworzenia aplikacji SPA (single page applications) w oparciu o wzorzec projektowy Model-View-Controler.
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ół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ółowoTworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
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ółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Bardziej szczegółowoLaboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
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ółowoAplikacje webowe z wykorzystaniem Node.js oraz Express
Aplikacje webowe z wykorzystaniem Node.js oraz Express Adresaci szkolenia: Kurs przeznaczony jest dla programistów pragnących tworzyć skalowalne aplikacje z wykorzystaniem Node.js. Parametry szkolenia:
Bardziej szczegółowoSpring Web MVC, Spring DI
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie / narzędzia będące
Bardziej szczegółowoAngular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński rperlinski@icis.pcz.pl
ngular, cz. II 1/24 Angular, cz. II Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 10 kwietnia 2015
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
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ółowoAplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Bardziej szczegółowoTemat: 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ół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ółowoRys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2
1. Instalacja serwera WWW Aby zainstalować serwer WWW w systemie Linux, należy wykorzystać menedżer pakietów apt-get. Polecenia które należy wpisać w terminalu użytkownika root 1 : apt-get install build-essential
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ółowoAplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa
Bardziej szczegółowoPROJEKTOWANIE APLIKACJI INTERNETOWYCH
PROJEKTOWANIE APLIKACJI INTERNETOWYCH LABORATORIUM NR 2 REJESTRACJA NA WEBRATIO.COM 1. Wejdź na webratio.com i zarejestruj konto na uczelniany adres email (@wi.zut.edu.pl). 2. Po wpisaniu danych i zatwierdzeniu,
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowo2 Podstawy tworzenia stron internetowych
2 Podstawy tworzenia stron internetowych 2.1. HTML5 i struktura dokumentu Podstawą działania wszystkich stron internetowych jest język HTML (Hypertext Markup Language) hipertekstowy język znaczników. Dokument
Bardziej szczegółowoExpress.js i własne API - pomoc do lab02
xpress.js i własne API - pomoc do lab02 1/27 Express.js i własne API - pomoc do lab02 Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki
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ółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe CherryPy, Genshi Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. IX Jesień 2016 1 / 20 Aplikacje webowe Podejście standardowe Serwer (np.
Bardziej szczegółowoTOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii
Bardziej szczegółowoPliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:
Technologia wykonania projektu: HTML5 Javascript: o jquery (1.9.1), o CreateJS (0.6.1): EaselJS, TweenJS, PreloadJS. Części funkcjonalne projektu: Strona internetowa pliki strony internetowej zlokalizowane
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoZajęcia 4 - Wprowadzenie do Javascript
Zajęcia 4 - Wprowadzenie do Javascript Co to jest Javascript Javascript jest językiem skryptowym pozwalającym na dołączanie dodatkowej funkcjonalności do stron WWW. Jest ona najczęściej związana z modyfikacją
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoWykład 03 JavaScript. Michał Drabik
Wykład 03 JavaScript Michał Drabik Język programowania wykorzystywany na stronach internetowych głównie w celu umożliwienia interakcji z użytkownikiem. Kod JavaScript może być umieszczany w kodzie XHTML
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ół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ół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ół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ółowo5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
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ółowoBazy danych i strony WWW
Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy
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ółowoKlient poczty elektronicznej - Thunderbird
Klient poczty elektronicznej - Thunderbird Wstęp Wstęp Klient poczty elektronicznej, to program który umożliwia korzystanie z poczty bez konieczności logowania się na stronie internetowej. Za jego pomocą
Bardziej szczegółowoINSTALACJA I KONFIGURACJA SERWERA PHP.
LABORATORIUM 0 INSTALACJA I KONFIGURACJA SERWERA PHP. W celu poprawnego wykonywania zadań na laboratorium konieczne jest zainstalowanie na komputerze wyposażonym w system operacyjny Windows następujących
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ół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ółowoEfektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript
Kod szkolenia: Tytuł szkolenia: HTML5/ANG Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript Dni: 5 Opis: Adresaci szkolenia: Kurs przeznaczony jest dla programistów
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoRys.2.1. Drzewo modelu DOM [1]
1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA 2.1. DOM model
Bardziej szczegółowoZadanie programistyczne nr 3 z Sieci komputerowych
Zadanie programistyczne nr 3 z Sieci komputerowych 1 Opis zadania Celem tego zadania jest napisanie prostego serwera WWW, wyświetlającego strony z zadanego katalogu. W tym celu wykonaj następujące czynności
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ół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ółowoKurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017
Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),
Bardziej szczegółowoZaawansowane aplikacje internetowe laboratorium REST
Zaawansowane aplikacje internetowe laboratorium REST Pytka Bartosz, Drożdż Mateusz, Ejkszto Mateusz, Łozowski Marcin, Tański Mariusz Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne
Bardziej szczegółowoCiekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:
1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,
Bardziej szczegółowoFacelets ViewHandler
JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu
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ół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ółowoWprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.
LABORATORIUM 5: WebRTC komunikacja między terminalami. Wprowadzenie Technika WebRTC (złożenie angielskiego słowa Web oraz akronimu RTC, pochodzącego od angielskiego Real-Time Communications, komunikacja
Bardziej szczegółowoPROJEKTOWANIE APLIKACJI INTERNETOWYCH
PROJEKTOWANIE APLIKACJI INTERNETOWYCH (WFAIS.IF-N016) dr inż. Marcin Zieliński Wykład dla kierunku: Informatyka Stosowana I rok, II stopień Rok akademicki: 2016/2017 - semestr letni WYKŁAD 2 Przypomnienie
Bardziej szczegółowoZakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów
Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy
Bardziej szczegółowoTechnologie informacyjne lab. 4
Technologie informacyjne lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem
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ółowoZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Bardziej szczegółowoKUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA
KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika o rezultacie
Bardziej szczegółowoInstrukcja obsługi narzędzia API
Instrukcja obsługi narzędzia API 2012 1. Podstawowe informacje Aby umożliwić maksymalną integrację systemów i stron partnerów z naszym systemem, stworzyliśmy specjalne API, które umożliwia generowanie
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ółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoJQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...
JQuery jquery (jquery.com) to jedna z najbardziej popularnych bibliotek/frameworków do javascript. Jej popularność oczywiście znikąd się nie bierze. Dzięki tej bibliotece jesteśmy w stanie o wiele szybciej
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
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ółowoZaawansowany kurs języka Python
Środowisko Django początki 10 stycznia 2014 Plan wykładu 1 2 Plan wykładu 1 2 Co to jest Django Oparty o Pythona framework do tworzenia aplikacji internetowych. Co to jest Django Oparty o Pythona framework
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Bardziej szczegółowo