Express.js i własne API - pomoc do lab02
|
|
- Patryk Pluta
- 6 lat temu
- Przeglądów:
Transkrypt
1 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 Teoretycznej i Stosowanej 25 lutego 2018
2 MEAN Stack Express.js i własne API - pomoc do lab02 2/27
3 Express.js i własne API - pomoc do lab02 3/27 Express-middlewares Warstwy pośredniczące dodajemy do ExpressJS używając app.use dla dowolnej metody albo app.verb (np. app.get, app.delete, app.post, app.update,...)
4 Express.js i własne API - pomoc do lab02 4/27 Express - instalacja $ npm install express --save Inne ważne moduły, które warto od razu zainstalować: body-parser - warstwa pośrednia obsługująca JSON, Raw, Text i dane formularza przekazane w URL, cookie-parser - przetwarza nagłówki ciasteczek (cookie header) i dodaje obiekt do req.cookies, w którym klucze to nazwy przesłanych ciasteczek, multer - warstwa pośrednia w Node.js do obsługi multipart/form-data (kodowanie danych z formularza), mongoose - połączenie z bazą MongoDB, praca na schematach i obiektach.
5 Express.js i własne API - pomoc do lab02 5/27 Express, Hello World hello.js var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('hello World'); }) var server = app.listen(5000, function () { var host = server.address().address var port = server.address().port console.log("przykładowa aplikacja nasłuchuje na host, port) }) Wynik: $ node hello.js Otwieramy w przeglądarce: Przykładowa aplikacja nasłuchuje na Express używa funkcji zwrotnych z argumentami req i res (obiekty request i response), które zawierają bardzo dużo informacji i żądaniu i odpowiedzi.
6 Express.js i własne API - pomoc do lab02 6/27 Express, trasowanie I Reakcje na żądania użytkowników w punktach końcowych (URI, metody protokołu HTTP). var express = require('express'); var app = express(); app.get('/', function (req, res) { console.log("otrzymano żądanie GET dla strony głównej"); res.send('hello GET'); }) app.post('/', function (req, res) { console.log("otrzymano żądanie POST dla strony głównej"); res.send('hello POST'); }) app.delete('/usun', function (req, res) { console.log("otrzymano żądanie DELETE dla strony /usun"); res.send('hello DELETE'); }) app.get('/user_list', function (req, res) { console.log("otrzymano żądanie GET dla strony /user_list"); res.send('lista użytkowników'); }) app.get('/ab*cd', function(req, res) { // wzorzec strony: abcd, abxcd, ab123cd,... console.log("otrzymano żądanie GET dla strony /ab*cd"); res.send('wzorzec strony dopasowany'); }) var server = app.listen(5000, function () { var host = server.address().address var port = server.address().port console.log("przykładowa aplikacja nasłuchuje na host, port) })
7 Express.js i własne API - pomoc do lab02 7/27 Trasowanie - dostępne metody Express udostępnia metody do rootingu (trasowania) zgodne z metodami protokołu HTTP: get, post, put, head, delete, options, trace, copy, lock, mkcol, move, purge, propfind, proppatch, unlock, report, mkactivity, checkout, merge, m-search, notify, subscribe, unsubscribe, patch, search, connect. Dla metod, których nazwy nie są poprawnymi nazwami JavaScript używamy notacji z nawiasami kwadratowymi: app['m-search']('/', function...
8 express-generator narzędzie generujące szkielet aplikacji do frameworka express. instalacja: npm install express-generator -g Użycie: express [opcje] [katalog] Opcje: --version -e, --ejs --pug --hbs -H, --hogan -v, --view <engine> -c, --css <engine> --git -f, --force -h, --help wyświetla numer wersji narzędzia wsparcie dla silnika szablonów ejs wsparcie dla silnika szablonów pug wsparcie dla silnika szablonow handlebars wsparcie dla silnika szablonow hogan.js wsparcie dla silnika szablonów <engine>, dostępne są (dust ejs hbs hjs jade pug twig vash), domyślnie ciągle jest jade wsparcie dla silnika stylów <engine>, dostępne są (less stylus compass sass) - prekompilatory css, domyślnie wygląd określamy w zwykłych plikach css tworzy plik.gitignore z potrzebnymi wpisami wymuszenie utworzenie projektu w niepustym katalogu output usage information Domyślny silnik szablonów to jade ale niedługo się to zmieni. Express.js i własne API - pomoc do lab02 8/27
9 Express.js i własne API - pomoc do lab02 9/27 express-generator z parametrami Tworzenie pustej aplikacji: express --view hbs --css sass --git hello2 Jest inny system szablonów (pliki *.hbs), styl trzeba przekompilować (plik style.sass), jest plik gitignore.
10 Express.js i własne API - pomoc do lab02 10/27 Fragment pliku app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieparser = require('cookie-parser'); var bodyparser = require('body-parser'); var index = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join( dirname, 'views')); app.set('view engine', 'jade'); app.use(logger('dev')); app.use(bodyparser.json()); app.use(bodyparser.urlencoded({ extended: false })); app.use(cookieparser()); app.use(express.static(path.join( dirname, 'public'))); app.use('/', index); app.use('/users', users);
11 express-generator, jak to działa? Plik wejściowy jest w bin/www. DEBUG=hello:* npm start - uruchamia skrypt start z pliku package.json czyli:... "scripts": { "start": "node./bin/www" }, W pliku bin/www jest: obsługa całej aplikacji w../app.js wczytanie modułu http uruchomienie serwera na porcie 3000, rejestracja dwóch funkcji: do obsugi błędów i nasłuchiwania W app.js mamy 6 innych modułów: express, path, serve-favicon, morgan, cookie-parser, body-parser. Mamy też użycie dwóch plików JS: var routes = require('./routes/index'); var users = require('./routes/users'); Dokładnie tak samo projekt jest generowany przez WebStorm. Express.js i własne API - pomoc do lab02 11/27
12 Express.js i własne API - pomoc do lab02 12/27 express-generator, jak to działa? II Rooting ze strony głównej i dla adresu /users: app.use('/', index); app.use('/users', users); // ten jest dla stron // ten jest pod API W pliku app.js jest podpięcie trasowania z index.js i users.js. Ścieżki trasowania są podzielone na dwa pliki, najpierw początek adresu jest ustalony w app.js, reszta jest w index.js i users.js. Następnie jest sporo warstw pośredniczących (matoda app.use()) do obsługi JSONa, wysyłania formularzy metodą POST, obsługi ciasteczek, dostarczania statycznych stron,... Jest też obsługa błędów, przekazywanie ich do wyświetlenia.
13 Express.js i własne API - pomoc do lab02 13/27 Ustawienia aplikacji Tworzymy właściwości przypisując wartości do nazw zmiennych (nazwa, wartość), których nazwy są ustalone przez express. Można tworzyć też własne zmienne, np.: app.set('tytul', 'Moja stronka'); // utworzenie zmiennej tytul var zmienna = app.get('tytul'); // odczyt zmiennej console.log(zmienna); // wypisanie wartość, Moja stronka Niektóre zmienne pozwalające ustawić działanie aplikacji express: view - nazwa katalogu (String) albo tablicy katalogów (Array) gdzie mieszczą się szablony widoków. W przypadku tablicy katalogi są przeglądanie w kolejności występowania w tablicy. Domyślna wartość to: process.cwd() + /views view engine - nazwa określa domyślny silnik, który będzie użyty jeśli nie określono jawnie później. // ustawienie silnika dla widoków app.set('views', path.join( dirname, 'views')); app.set('view engine', 'jade');
14 Express.js i własne API - pomoc do lab02 14/27 Instalacja, połączenie, schemat i model Instalujemy mongoose w projekcie: npm i mongoose --save Dołączamy mongoose do projektu i łączymy się z bazą danych, np. test (zostanie utworzona jeśli takiej nie było): var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); Sprawdzamy czy połączenie się udało: var db = mongoose.connection; db.on('error', console.error.bind(console, 'błąd połączenia...')); db.once('open', function() { // połączenie udane! Schemat i model: var friendschema = mongoose.schema({ nazwa: String var Friend = mongoose.model('friend', friendschema);
15 Express.js i własne API - pomoc do lab02 15/27 Tworzenie dokumentów, własna metoda i jej użycie Na bazie modelu tworzymy dokumenty (zawierają pola i typy jak w schemacie): var franek = new Friend({ nazwa: 'Franek' console.log(franek.nazwa); // 'Franek' Przyjaciele mogą się witać - zobaczmy, jak dodać funkcjonalność do naszych dokumentów: // metody należy dodać do schematu ZANIM utworzy się z niego model friendschema.methods.sayhello = function () { var powitanie = this.nazwa? "Cześć, mam na imię " + this.nazwa : "Witaj, nie wiem jak się nazywam..."; console.log(powitanie); } Funkcja dodana do pola methods schematu i wykorzystana w modelu jest dostępna w każdym utworzonym dokumencie var jola = new Friend({ nazwa: 'Jolanta' jola.sayhello(); // "Cześć, mam na imię Jolanta"
16 Express.js i własne API - pomoc do lab02 16/27 Operacje wykonywane na modelu I Wybrane metody wykonywane na modelu: increment() - zwiększa o jeden wersję dokumentu, model(name) - zwraca dodatkową instancję modelu, remove([fn]) - usuwa bieżący dokument z bazy danych, save(...) - zapisuje bieżący dokument w bazie, count(conditions, [callback]) - zwraca liczbę dopasowanych dokumentów, create(doc(s), [callback]) - skrót dla wygodniejszego tworzenia dokumentów, wykonuje: new MyModel(doc).save() dla każdego dokumentu w docs, deletemany(conditions, [callback]) - usuwa wszystkie dopasowane dokumenty, deleteone(conditions, [callback]) - usuwa pierwszy dopasowany dokument,
17 Express.js i własne API - pomoc do lab02 17/27 Operacje wykonywane na modelu II Wybrane metody wykonywane na modelu: find(conditions, [projection], [options], [callback]) - zwraca dokumenty spełniające kryterium, findbyid(id, [projection], [options], [callback]) - zwraca jeden dokument o podanym id, niemal równoznaczne z findone({ _id: id }), findbyidandremove(id, [options], [callback]) - usuwa dokument o podanym id, findbyidandupdate(id, [update], [options], [callback]) - aktualizuje dokuemnt o podanym id, findone([conditions], [projection], [options], [callback]) - zwraca pierwszy dokument spełniający kryterium, findoneandremove(conditions, [options], [callback]) - usuwa pierwszy dopasowany dokument, findoneandupdate([conditions], [update], [options], [callback]) - aktualizuje pierwszy dopasowany dokument,
18 Express.js i własne API - pomoc do lab02 18/27 Operacje wykonywane na modelu III Wybrane metody wykonywane na modelu: insertmany(doc(s), [options], [callback]) - sprawdza poprawność dokumentów (docs) i jeśli są poprawne dodaje je wszystkie do bazy w jednym zapytaniu, remove(conditions, [callback]) - usuwa dokument(y) spełniający kryterium, replaceone(conditions, doc, [options], [callback]) - zastępuje dokument spełniający kryterium, różni się od update() tym, że nie pozwala na operatory atomowe, np. $set, update(conditions, doc, [options], [callback]) - aktualizuje dokumenty spełniające kryterium, updateone(conditions, doc, [options], [callback]) - aktualizuje pierwszy dokument spełniający kryterium, atrybuty modelu: db, collection, schema - zwraca: połączenie, kolekcję czy schemat, z którego korzysta model.
19 Express.js i własne API - pomoc do lab02 19/27 Przykłady wbudowanych metod Zapis dokumentów w bazie, metoda save(): jola.save(function (err, jola) { // pierwszy argument odpowiada za błędy if (err) return console.error(err); jola.sayhello(); Odczyt dokumentów zapisanych w bazie, metoda find(): Friend.find(function (err, przyjaciele) { if (err) return console.error(err); for(var i=0; i<przyjaciele.length; i++) { console.log('%s', przyjaciele[i].nazwa); } }) Wyszukiwanie można wykonać po dowolnym polu: find({ nazwa: /ˆJol/ } Friend.find({ nazwa: /^Jol/ }, function (err, przyjaciele) { if (err) return console.error(err); console.log("====================\n"); for(var i=0; i<przyjaciele.length; i++) { console.log('%s', przyjaciele[i].nazwa); } // lista przyjaciół nazywających sie Jol*
20 Express.js i własne API - pomoc do lab02 20/27 API dla kolekcji użytkowników Adresy dostępne w API i ich znaczenie: Adres (URI) Metoda działanie /users GET lista wszystkich uzytkowników /users/:id GET użytkownik o podanym ID /users POST dodanie użytkownika do kolekcji /users/:id PUT aktualizacja danych użytkownika o padanym ID /users/delete-all DELETE usunięcie wszystkich użytkowników z kolekcji /users/:id DELETE usunięcie użytkownika o padanym ID Z głównego pliku aplikacji, app.js, interesuje nas: app.js var users = require('./routes/users');... app.use(bodyparser.json()); app.use(bodyparser.urlencoded({ extended: false }));... app.use('/users', users);
21 Express.js i własne API - pomoc do lab02 21/27 Przygotowanie, połączenie z bazą, schemat i model Przygotowanie mongoose, połączenie z bazą, schemat i model: routes/users.js var mongoose = require('mongoose');... // wszystkie dane będą w kolekcji users bazy ob-tur mongoose.connect('mongodb://localhost/ob-tur', function(err) { if(err) { console.log('błąd połączenia', err); } else { console.log('połączenie udane'); } var UsersSchema = new mongoose.schema({ username: String, password: String, admin: { type: Boolean, default: false } var Users = mongoose.model('users', UsersSchema);...
22 xpress.js i własne API - pomoc do lab02 22/27 Pobieranie danych, metoda GET Pobieranie całej kolekcji: routes/users.js /* GET /users */ router.get('/', function(req, res, next) { Users.find(function (err, docs) { if (err) return next(err); res.json(docs); Pobieranie wybranego użytkownika: routes/users.js /* GET /users/:id */ router.get('/:id', function(req, res, next) { Users.findById(req.params.id, function (err, doc) { if (err) return next(err); res.json(doc);
23 xpress.js i własne API - pomoc do lab02 23/27 Dodawanie i aktualizacja danych, metody POST i PUT Dodawanie nowego dokumentu do kolekcji: routes/users.js /* POST /users */ router.post('/', function(req, res, next) { Users.create(req.body, function (err, doc) { if (err) return next(err); // console.log(json.stringify(doc)); res.json(doc); Aktualizacja wybranego użytkownika: routes/users.js /* PUT /users/:id */ router.put('/:id', function(req, res, next) { Users.findByIdAndUpdate(req.params.id, req.body, function (err, doc) { if (err) return next(err); res.json(doc);
24 Express.js i własne API - pomoc do lab02 24/27 Dodawanie i aktualizacja danych, metody POST i PUT Dodawanie użytkownika: Aktualizacja użytkownika o podanym ID:
25 xpress.js i własne API - pomoc do lab02 25/27 Usuwanie danych z kolekcji, metoda DELETE Usuwanie wszystkich dokumentów z kolekcji: routes/users.js /* DELETE /users/delete-all */ router.delete('/delete-all', function(req, res, next) { Users.remove({}, function (err, writeres) { if (err) return next(err); // console.log(writeres); res.send(writeres); Usuwanie wybranego użytkownika z kolekcji: routes/users.js /* DELETE /users/:id */ router.delete('/:id', function(req, res, next) { Users.findByIdAndRemove(req.params.id, function (err, doc) { if (err) return next(err); res.json(doc);
26 Express.js i własne API - pomoc do lab02 26/27 Usuwanie danych z kolekcji, metoda DELETE Usuwanie użytkownika o podanym ID: Usuwanie wszystkich dokumentów z kolekcji:
27 Express.js i własne API - pomoc do lab02 27/27 Zwiększanie wersji dokumentu, metody PATCH Zwiększanie wersji dokumentu użytkownika o podanym ID: routes/users.js /* PATCH /users/:id */ router.patch('/:id', function(req, res, next) { Users.findById(req.params.id, function (err, doc) { if (err) return next(err); doc.increment(); doc.save(function (err, saveddoc) { if (err) return next(err); res.json(saveddoc);
MEAN Stack - Node.js, express
EAN Stack - Node.js, express 1/48 MEAN Stack - Node.js, express Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i
MEAN Stack - Mongoose, obsługa poczty elektornicznej
EAN Stack - Mongoose, obsługa poczty elektornicznej 1/38 MEAN Stack - Mongoose, obsługa poczty elektornicznej Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska
PROJEKTOWANIE 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
Bardzo szybkie wprowadzenie do Node.js
ardzo szybkie wprowadzenie do Node.js 1/16 Bardzo szybkie wprowadzenie do Node.js Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki
MEAN Stack - express-generator, silnik szablonów Pug/Jade
EAN Stack - express-generator, silnik szablonów Pug/Jade 1/29 MEAN Stack - express-generator, silnik szablonów Pug/Jade Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika
Aplikacje 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:
Co 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
MEAN Stack - Node.js, express
EAN Stack - Node.js, express 1/78 MEAN Stack - Node.js, express Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i
MEAN Stack - uwierzytelnienie
EAN Stack - uwierzytelnienie 1/45 MEAN Stack - uwierzytelnienie Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i
MEAN Stack - uwierzytelnienie
MEAN Stack - uwierzytelnienie Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl 5 listopada 2018 Plan prezentacji Spis treści 1 MEAN Stack, ExpressJS - logowanie 1 2 Obsługa sesji
Materiały dla studentów Informatyki WSZiB w Krakowie
Tworzenie aplikacji w języku JavaScript 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/ Materiały dla studentów
Angular, 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
MEAN Stack - Node.js, express
EAN Stack - Node.js, express 1/55 MEAN Stack - Node.js, express Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i
MEAN Stack - Node.js, Express.js
EAN Stack - Node.js, Express.js 1/61 MEAN Stack - Node.js, Express.js Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej
Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013
Aktualizacja SMSFall v. 1.1.5 Data publikacji: 20-05-2013 Wersja Standard i Plus: we właściwościach terminala dodano wskaźnik poziomu sygnału urządzenia GSM wyrażony w dbm. Podstawa teoretyczna: http://pl.wikipedia.org/wiki/dbm.
Laboratorium 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ą
Programowanie w Internecie
mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Co to jest Internet? Warunki zaliczenia Zaliczenie na podstawie opracowanej samodzielnie aplikacji WWW Zastosowane
Wykł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
ZAAWANSOWANE TECHNIKI WWW (zajęcia r. i r.)
ZAAWANSOWANE TECHNIKI WWW (zajęcia 18.11.2017 r. i 17.12.2017 r.) 1. Przygotowanie środowiska pracy back-end (Node.js) NodeJS (wersja LTS: 8.9.1) jest zaawansowanym środowiskiem do tworzenia skalowalnych
Wykł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
Projektowanie 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
TOPIT 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ąć
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Modele 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
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
Programowanie 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
Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.
Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania
Tworzenie 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
CouchDB. Michał Nowikowski
CouchDB Michał Nowikowski Agenda Wprowadzenie do CouchDB Mój przypadek Wyniki i wnioski Dokumenty CouchDB Format JSON Pary nazwa wartość Możliwe tablice i struktury Załączniki Brak limitów na liczbę i
Programowanie 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.
Referat 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
Gatesms.eu Mobilne Rozwiązania dla biznesu
Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia
Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014
Aplikacje WWW Krzysztof Ciebiera 3 kwietnia 2014 Bezpieczeństwo Clickjacking CSRF Cross site scripting (XSS) Migracje ContentType Tłumaczenia Testowanie - RequestFactory Clickjacking Użytkownik odwiedza
Należy ściągnąć oprogramowanie Apache na platformę
Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
Dokumentacja 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
PLAN 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
Tworzenie Stron Internetowych. odcinek 10
Tworzenie Stron Internetowych odcinek 10 JavaScript JavaScript (ECMAScript) skryptowy język programowania powszechnie używany w Internecie. Skrypty JS dodają do stron www interaktywność i funkcjonalności,
SERWER AKTUALIZACJI UpServ
upserv_pl 02/14 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Schuberta 79 80-172 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 info@satel.pl www.satel.pl SATEL
Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do
Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji
NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki
29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Microsoft Visual SourceSafe uproszczona instrukcja użytkowania
Politechnika Białostocka Wydział Informatyki mgr inż. Tomasz Łukaszuk Microsoft Visual SourceSafe uproszczona instrukcja użytkowania Wprowadzenie Microsoft Visual SourceSafe jest narzędziem pozwalającym
Technologie 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
Języki programowania wysokiego poziomu. PHP cz.3. Formularze
Języki programowania wysokiego poziomu PHP cz.3. Formularze Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET
Ćwiczenie: JavaScript Cookies (3x45 minut)
Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.
Podstawy 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,
Spring 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
Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
Technologie internetowe
Protokół HTTP Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Spis treści Protokół HTTP Adresy zasobów Jak korzystać z telnet? Metody protokołu HTTP Kody odpowiedzi Pola nagłówka HTTP - 2 - Adresy
Podstawy 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
Programowanie 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
Backend 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
Aplikacje 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ż.
Kurs 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
Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07
PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się
Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki
REFERAT 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,
Instrukcja instalacji
Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe
Ewolucja 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
Katalog książek cz. 3: Web Service
Katalog książek cz. 3: Web Service Przygotowanie usługi sieciowej (web service) 1) Uruchom Netbeans, otwórz projekt przygotowany w ramach poprzednich zajęć. W kolejnych krokach przerobimy klasę BookManager
PHP: 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ą
Zaawansowane 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
Tworzenie 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,
Materiały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I
Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych MySQL studia zaoczne II stopnia, sem. I Plan wykładu 1. MySQL: funkcje, procedury, wyzwalacze 2. HTML : tworzenie
Funkcje backendu konfiguratora. Warszawa,
Funkcje backendu konfiguratora Warszawa, 20.04.2017 Instalacja aplikacji z paczki aplikacyjnej 3 Uruchamianie/zatrzymywanie zainstalowanych aplikacji 3 API do pobierania stanu aplikacji 3 Parametry aplikacji
Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.
Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2 Instrukcja tworzenia bazy danych dla programu AUTOSAT 3 wersja 0.0.4 2z12 1. Wymagania systemowe. Przed rozpoczęciem instalacji
Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 3 PHP PHP - cechy PHP (Hypertext Preprocessor) bardzo łatwy do opanowania, prosta składnia, obsługuje wymianę danych z różnymi systemami baz danych pozwala na dynamiczne generowanie
Poznaj 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
W celu uruchomienia kontrolera należy w katalogu głównym kontrolera z wiersza poleceń wydać następujące polecenie: $ java -jar target/floodlight.
Instrukcja do laboratorium 3 Rest API. Proaktywna instalacja przepływów. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z Rest API kontrolera Floodlight. Podczas zajęć przedstawione zostaną metody
AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.
AJAX Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5. Czym jest AJAX? AJAX (Asynchronous JavaScript And XML) nie jest nową technologią, ale nowym sposobem wykorzystania kombinacji istniejących technologii
ASP.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
Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka
Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
IIIIIIIIIIIIIIIMMIMMIII
IIIIIIIIIIIIIIIMMIMMIII O programie Program Itelix itender Manager przeznaczony jest do zarządzania zapytaniami ofertowymi przesyłanymi za pomocą poczty elektronicznej przez firmy korzystające z systemu
Dokumentacja smsapi wersja 1.4
Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację
Aplikacje 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
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:
Zaawansowane 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
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu
Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:
Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy
Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http
Dokumentacja interfejsu HTTPD Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu httpd (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie
SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4
SZYBKI START Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2 Szyfrowanie/odszyfrowanie danych 4 Szyfrowanie/odszyfrowanie tekstu 6 Tworzenie nowego połączenia w celu
Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3
Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...
Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych
Jacek Matulewski, Sławek Orłowski http://www.phys.uni.torun.pl/~jacek/ Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych Wersja α Ćwiczenia Toruń, 20 grudnia 2005 Najnowsza wersja tego dokumentu
Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Katedra Informatyki Stosowanej Tomasz Gańko nr albumu: 244629 Praca magisterska na kierunku informatyka stosowana Gra-zabawka
Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania
Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę
Dokumentacja końcowa projektu z ZPR
Dokumentacja końcowa projektu z ZPR Temat projektu: Prowadzący projekt: Zespół projektowy: Losowe przeszukiwanie stanów dr inż. Robert Nowak Piotr Krysik Kamil Zabielski 1. Opis projektu Projekt ma za
Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o.
Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o. Instalacja środowiska Minimalne wymagania: OS Type: Linux Arch: x86_64 HDD: 5G RAM: 1G CPU: 1 Network: bridge na Wi-Fi Pierwszy rozruch po sieci
Aplikacje 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
Dokumentacja techniczna CMSphere EASY na podstawie wdrożenia dla Gminy Wieliszew
Dokumentacja techniczna CMSphere EASY na podstawie wdrożenia dla Gminy Wieliszew Michał Rygielski, 24.02.2012 Spis treści 1. Wstęp...3 2. Opis panelu administracyjnego...3 2.1. Struktura oraz opis plików
Tomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
CMS Admin instrukcja administratora
CMS Admin instrukcja administratora system zarządzania treścią CMS Made Simple http://www.cmsmadesimple.org/ 1 Strona bazowa konferencji: http://bcc.impan.pl/test/ Link do panelu administracyjnego: http://bcc.impan.pl/test/