Cache przeglądarki internetowej
|
|
- Dominika Janicka
- 7 lat temu
- Przeglądów:
Transkrypt
1 CakePHP Buforowanie stron Cache jest mechanizmem umożliwiającym zredukowanie opóźnienia w dostarczaniu danych do użytkownika oraz zmniejszenia obciążenia serwera. W aplikacjach internetowych często zachodzi konieczność wyświetlania tych samych informacji wielokrotnie. Np. sklep internetowy wyświetla listę dostępnych produktów w odpowiedzi. na każde żądanie potencjalnych klientów. Dowiesz się... Poznasz różne techniki buforowania stron WWW oraz możliwość ich praktycznego zastosowania w CakePHP. Poziom trudności Powinieneś wiedzieć... Wymagana jest znajomość framework Cake- PHP. Przydatna będzie znajomość języka SQL i umiejętność administrowania bazą danych MySQL. Wielokrotne generowanie stron, których zawartość nie zmienia się, powoduje zbędne obciążenie serwera WWW i bazy danych. Każde żądanie od użytkownika musi zostać przetworzone, a wynik skierowany do przeglądarki internetowej, jednak za każdym razem serwer pobiera te same dane. Nie stanowi to problemu, gdy strony przegląda kilku użytkowników, ale kłopoty mogą się pojawić wraz ze wzrostem popularności serwisu. Im więcej użytkowników, tym bardziej serwer będzie obciążony wykonywaniem zadań, które prowadzą do wyświetlenia stron nieróżniących się od siebie wcale lub różniących się tylko w niewielkim stopniu. Naturalnym rozwiązaniem problemu spadku wydajności jest zapisywanie na boku generowanych stron i udostępnianie ich innym użytkownikom. Zamiast za każdym razem generować tą samą zawartość strony wystarczy przy pierwszym wyświetleniu zapamiętać ją i używać przy kolejnych wywołaniach. Technika ta nazywa się page caching (pol. buforowanie stron) i jest najprostszą metodą przyspieszania działania serwisu. Przy pierwszym wyświetleniu strona zostaje zapisana do pliku HTML. Każde następne odwołanie do tej samej strony powoduje, iż do przeglądarki użytkownika zostanie wysłana zawartość bezpośrednio z cache z pominięciem wszystkich etapów, dzięki którym strona została pierwotnie wygenerowana. W praktyce odbywa się to prawie tak szybko jak udostępnianie statycznych stron HTML. Cache przeglądarki internetowej Zamiast za każdym razem generować tę samą zawartość strony wystarczy przy pierwszym wyświetleniu zapamiętać ją i używać przy kolejnych wywołaniach Rysunek 1. Właściwie w każdej nowoczesnej przeglądarce internetowej znajdują się ustawienia związane z cache. Najczęściej jest to parametr określający miejsce zarezerwowane na pliki tymczasowe przeglądanych stron WWW. Zasady aktualizacji cache są proste. Przeglądarka za pomocą znaczników HTTP sprawdza, czy przechowywane dane są aktualne Listing 1. i w miarę możliwości korzysta z nich zamiast pobierać dane z Internetu. Dzięki temu powrót do poprzednio wyświetlanej strony WWW w przeglądarce (przycisk wstecz ) powoduje szybkie wyświetlenie informacji, najczęściej bez konieczności pobierania danych z sieci. Kontrola aktualności cache odbywa się za pomocą znaczników: Cache - Control, Expires, Last-Modified oraz ETag przesyłanych w nagłówku stron WWW: Expires: DATA_GMT Znacznik określa termin możliwej zmiany lub wygaśnięcia ważności dokumentu. Po upływie określonego czasu (liczonego względem GMT) dokument może ulec zmianie lub zostać usunięty. Najprostszym sposobem wymuszenia, by plik nie został umieszczony w cache, jest przypisanie daty, która minęła. Znacznik idealnie nadaje się do określania polityki tworzenia cache plików graficznych, które bardzo rzadko ulegają zmianie Listing 1. Cache-Control: DYREKTYWA Znacznik określa sposób zachowania mechanizmu buforowania plików (zarówno serwera WWW, jak i serwerów proxy) mówiącego, co powinno być buforowane i co może być przechowywane w cache. Najbardziej przydatne są poniższe dyrektywy: max-age=[sekundy] określa maksymalny czas, w którym dane są traktowane jako aktualne (liczony względem daty określonej przez znacznik Last-Modified); public wymusza buforowane (przydatne dla stron, które w normalnych warunkach nie są umieszczane w cache); Listing 1. Przykładowe żądanie i odpowiedź serwera WWW HEAD / HTTP/1.1 HOST: localhost HTTP/ OK Date: Mon, 02 Jul :24:12 GMT Server: Apache Accept-Ranges: bytes X-Powered-By: PHP/4.2.2 Set-Cookie: PHPSESSID= path=/ ac35d9b842215f4fb23ca419337af4b8; Expires: Thu, 19 Nov :52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Connection: close Content-Type: text/html Content-Language: pl 50
2 CakePHP no-cache wymusza pominięcie cache (przeglądarki i serwerów proxy) i pobieranie danych bezpośrednio z Internetu; no-store wymusza usunięcie danych z cache zaraz po przesłaniu ich do użytkownika; must-revalidate wymusza sprawdzanie stanu przedawnionych dokumentów znajdujących się w cache. Last-Modified: DATA _ GMT Znacznik określa datę ostatniej modyfikacji dokumentu Listing 1. ETag: ZNACZNIK Znacznik jest unikalnym identyfikatorem strony generowanym przez serwer WWW, który zmienia się za każdym razem, gdy przesyłane dane ulegną modyfikacji. Znaczniki możemy wysyłać do przeglądarki za pomocą funkcji header() Listing 2. Page cache Mechanizm page cache jest powiązany z adresem URL. To na jego podstawie w kontrolerze zapada decyzja, czy strona ma być wygenerowana dynamicznie, czy też ma być użyty cache. Jeżeli użytkownik już wcześniej odwoływał się do określonego adresu WWW, to został wygenerowany plik cache o ile prezentowane informacje nie uległy zmianie, to ponowne odwołanie do tego samego adresu spowoduje udostępnienie danych wcześniej wygenerowanych. Z tego faktu wynikają pewne ograniczenia. Strony zależące od parametrów przekazywanych w URL lub od informacji przechowywanych w sesji nie będą mogły skorzystać z page cache, podobnie jak strony, których zawartość jest uzależniona od czasu. Adres WWW takich witryn może być za każdym razem inny i w ten sposób ciągle byłyby tworzone kolejne pliki cache. Sposób działania page cache (buforowanie całej strony) doskonale sprawdza się w przypadku stron, których zawartość nie zmienia się często. Jest to trudne do osiągnięcia, jeżeli prezentowanych jest wiele danych z różnych źródeł. Jeżeli zajdą zmiany w dowolnym źródle danych, plik cache będzie musiał zostać ponownie wygenerowany, co przy częstych zmianach stawia pod znakiem zapytania sens używania tej technologii. W praktyce jednak strony WWW można podzielić na fragmenty, które są statyczne, oraz na takie, które zmieniają się często, i poddać buforowaniu tylko te ostatnie. Wynikowa strona jest wtedy składana z mniejszych bloków, z których część będzie znajdowała się w cache. Jest to bardzo intuicyjne w przypadku sklepu internetowego lista produktów jest fragmentem, który najrzadziej ulega zmianom, a z kolei koszyk zakupów klienta może zmieniać się dynamicznie. Wykorzystanie page cache w CakePHP zaczniemy od zapoznania się konfiguracją serwera. Domyślnie cache widoków jest zablokowane. By je aktywować, musimy zmienić na TRUE wartość stałej CACHE_CHECK w pliku /app/config/core.php. define ('CACHE_ CHECK', true); W kontrolerze powiązanym z widokiem, dla którego włączamy cache, musimy dodać CacheHelper przez umieszczenie kodu: var $helpers = array('cache'); Następnie należy określić, co chcemy umieścić w cache. Do zmiennej $cacheaction musimy przypisać tablicę zawierającą akcje, które mają być buforowane, oraz czas (w sekundach), przez który cache ma być aktualny (można używać liczb lub zapisów 1 day czy 60 seconds ) Listing 3. W praktyce zdarza się, że pewne fragmenty strony są wypełniane dynamicznymi danymi i nie mogą znaleźć się w cache ze względu na wyświetlane dane. Wystarczy wówczas, że Listing 2. Przykładowe znaczniki wysyłane do przeglądarki za pomocą funkcji header() // strona nie będzie umieszczona w cache przeglądarki // wymaga obsługi protokołu HTTP/1.1 header("cache-control: no-cache, must-revalidate"); // data z przeszłości header("expires: Mon, 26 Jul :00:00 GMT"); Lisgin 3. Definiowanie akcji, które mają zostać buforowane przez CakePHP // Możemy zdefiniować cache dla wszystkich parametrów akcji var $cacheaction = array('view/' => 86400); // lub dla każdego parametru oddzielnie. var $cacheaction = array( ); 'view/23/' => 21600, 'view/48/' => QUERY-CACHE Nowoczesne bazy danych są najczęściej wyposażone w mechanizm QUERY-CACHE powodujący zapamiętanie zapytań kierowanych do bazy oraz skojarzonych z nimi wyników. Takie samo zapytanie SQL do bazy danych spowoduje przekazanie wyników przechowanych w QUERY-CACHE bez konieczności odczytu informacji z plików bazodanowych. Cache jest czyszczony w przypadku zmian w tabelach do których zapytania się odwołują. MySQL4 posiada błąd, który powoduje czyszczenie całego QUERY-CA- CHE w przypadku zmian w dowolnej tablicy, co niekorzystnie wpływa na czas odpowiedzi serwera na te same zapytania. Rysunek 1. Przesyłanie do użytkowników stron WWW 51
3 fragment kodu, który nie powinien być buforowany, określimy za pomocą znaczników <cake:nocache> oraz </cake:nocache> Listing 4. Listing 4. Przykład wyłączenia buforowania fragmentu kodu widoku <h1> Ostatnie 10 wiadomości! </h1> <cake:nocache> <ul> <?php foreach($recentmessages as $message):?> <li>$message['title']</li> <?endforeach;?> </ul> </cake:nocache> Listing 5. Funkcja clearcache() usuwająca nieaktualne pliki cache // Usuń wszystkie strony z cache, bazując na nazwie kontrolera clearcache('controller'); // Usuń wszystkie strony z cache, bazując na nazwie kontrolera i nazwie akcji clearcache('controller_action/'); // Usuń wszystkie strony z cache, bazując na nazwie kontrolera, nazwie akcji // i parametrze // Do funkcji clearcache() można przekazywać wiele parametrów clearcache(array('controller_action_params','controller2_action_params)); Memcached System cache przechowujący dane w pamięci RAM, umożliwiający zapisywanie danych i obiektów. Wysoce wydajny i skalowalny umożliwia łączenie serwerów działających w oparciu o różne architektury systemowe. Stosowany m.in. w serwisach LiveJournal i Wikipedia. System memcached jest dostępny w repozytoriach wielu dystrybucji Linuksa (kod źródłowy można pobrać z adresu Obsługę memcached w PHP zapewnia binarne rozszerzenie, dostępne na pecl.php.net. Krótki przegląd metod API: Memcache::add dodaje element do serwera. Memcache::addServer ddodaje serwer memcached do listy wykorzystywanych serwerów. Memcache::close zamyka połączenie. Memcache::decrement zmniejsza wartość elementu. Memcache::delete usuwa element z serwera. Memcache::flush usuwa wszystkie elementy z serwera. Memcache::get zwraca element z serwera. Memcache::getExtendedStats statystyki wszystkich serwerów memcached. Memcache::getServerStatus zwraca stan serwerów memcached. Memcache::getStats statystyki serwerów. Memcache::getVersion zwraca wersję serwera memcached. Memcache::increment inkrementuje wartość elementu. Memcache::pconnect otwiera stałe połączenie. Memcache::replace zmienia wartość podanego elementu. Memcache::set zapisuje dane na serwerze. Memcache::setCompressThreshold włącza automatyczną kompresję dużych wartości. Memcache::setServerParams zmienia parametry i stan serwera. Czyszczenie cache Przy korzystaniu z cache kluczowym momentem w funkcjonowaniu serwisu jest sposób reakcji na zmiany w prezentowanych danych. Jeżeli nie będzie sprawnego mechanizmu informowania aplikacji, które pliki cache należy usunąć, to użytkownikowi zostaną zaprezentowane błędne nieaktualne dane. W najprostszym przypadku w reakcji na zmiany możemy usunąć wszystkie pliki cache. Rozwiązanie to ma jednak tę wadę, że nawet niewielka zmiana spowoduje konieczność czasochłonnego generowania cache na nowo. Zdecydowanie lepiej jest usuwać tylko te pliki cache, które prezentują dane, które uległy zmianie. CakePHP wykorzystuje fakt, że prezentowane na stronach WWW dane są powiązane z modelem danych, a cache jest związany z widokiem (który z kolei może wyświetlać dane z różnych modeli danych). Zmiana danych dowolnego modelu spowoduje więc automatyczne usunięcie cache dla całego widoku. CakePHP automatycznie usuwa cache, gdy nastąpi zmiana w stanie aplikacji. Jeżeli użytkownik spowoduje działanie, które będzie skutkowało zmianami w bazie danych (INSERT, UPDATE, DELETE), zostanie usunięte cache dla widoku powiązanego z kontrolerem odwołującym się do modeli danych, które uległy zmianie. Istnieje możliwość ręcznego sterowania cache i usuwania nieaktualnych danych za pomocą funkcji clearcache(). Jako parametr przekazujemy nazwę kontrolera, kontrolera i akcji lub kontrolera, akcji i parametrów identyfikujących plik cache Listing 5. W prosty sposób można zaimplementować dodatkowy scenariusz czyszczenia cache sprawdzający się w sytuacjach, gdy nie możemy zapobiec cyklicznemu tworzeniu się nowych plików cache, ale jednocześnie chcemy uniknąć ciągłego usuwania plików. Zamiast spowalniać działanie aplikacji ciągłym testowaniem aktualności cache możemy uruchomić dodatkowy proces działający w tle. Proces ten będzie odpowiedzialny za cykliczne czyszczenie cache co określony (konfigurowalny) przedział czasowy niezależnie od obciążenia aplikacji. Składowanie danych Najprostszym sposobem przechowywania cache są pliki umieszczone bezpośrednio w systemie operacyjnym (jest to jedyny sposób przechowywania cache obsługiwany automatycznie przez CakePHP w wersji 1.1.xx). Wygenerowana strona HTML zostanie umieszczona w publicznie dostępnym obszarze serwera (w miejscu określonym ścieżką dostępu wskazywaną przez stałą $CACHE) każde odwołanie do tej samej strony będzie wówczas przekierowywane na plik cache. Rozwiązanie takie oprócz oczywistych zalet, takich jak prostota implementacji czy dobra wydajność, ma podstawową wadę: nie jest rozwiązaniem skalowalnym. Jeżeli nasz serwis będzie się rozwijał i zajdzie konieczność uruchomienia dodatkowego serwera WWW, to staniemy przed problemem związanym z dystrybucją plików cache i ich synchronizacją. Zapytania od użytkowników mogą być kierowane do dowolnego serwera, każdy będzie więc z nich tworzył pliki cache niezależnie. Poza tym usunięcie cache z jednego serwera nie spowoduje usunięcia plików z pozostałych serwerów. Można co prawda utworzyć jeden wspólny sieciowy filesystem na potrzeby cache wszystkich serwerów, ale rozwiązanie traci wtedy swoją prostotę. Innym rozwiązaniem jest umieszczanie danych cache w bazie danych. Jest to elastyczniejsze od plików cache w systemie operacyjnym głównie kosztem dodatkowego obciążenia zasobów serwe- 52
4 CakePHP Listing 6. Struktury danych wykorzystane do przechowywania cache mysql> desc dbcache; mysql> desc dbcache; Field Type Null Key Default Extra key int(10) unsigned NO PRI NULL value text YES NULL expires_at datetime YES NULL // przykładowy model danych obsługujący buforowanie stron // w bazie danych klasa Cache class MyCache extends AppModel // jeżeli używamy PHP4, musimy zdefiniować zmienną // zawierającą nazwę klasy var $name = 'MyCache'; // korzystamy z bazy danych tabeli o nazwie cache // metoda usuwająca z bazy danych wszystkie dane, // których termin ważności minął function purge() return $this->query("delete * from cache where expires_at < NOW()"); // przykładowy kontroler wykorzystujących cache // klasa MessagesControler wyświetlająca wiadomości // internetowego forum class MessagesController extends AppController var $name = 'Messages'; var $helpers = array('html','time'); var $layout = 'default'; var $uses = array('forum','topic','comment','message', 'MyCache'); function view($id) // pobierz informacje o temacie dyskusji i powiązaną // z nim listę komentarzy jeżeli temat nie istnieje, // ponownie wyświetl listę działów var $usetable = cache ; // metoda wyszukująca wartość skojarzoną z kluczem // i zwracająca dane jako zmienną PHP function find($key) $rc = $this->query("select * from cache where key = '$key' and expires_at < NOW() limit 1"); return unserialize($rc['cache'][0]['value']); // metoda przechowująca w bazie danych klucz razem // z wartością function store($key, $value, $expires=null) // jutro if (is_null($expires)) $expires = time()+(24 * 60 * 60)); $expires = date('y-m-d H:i:s', $expires); $value = serialize($value); return $this->query("replace cache set value = '$value', $expires_at = '$expires' where key = '$key'); $topic = $this->mycache->find('topic'.$id); if (empty($topic)) $topic = $this->topic->find(array('topic.id'=> $id, 'Topic.topic_id'=>0)); if (! empty($topic)) // przechowuj przez tydzień $this->mycache->store('topic'.$id, $topic, time() + (7 * 24 * 60 * 60)); else $this->redirect('/forums/index'); exit(); // przekaż zmienną $topic do widoku $this->set('topic', $topic); function remove($id) // metoda usuwająca przechowywane dane na podstawie klucza // wyszukiwania // usuń temat dyskusji wraz ze wszystkimi wiadomościami // usuń zbędne pliki z cache function delete($key) return $this->query("delete * from cache where key = '$key'"); if ($this->topic->drop($id, true)) $this-> MyCache->delete('topic'.$id); $this->redirect('/forums/index'); exit(); 53
5 Listing 7. Wykorzystanie memcached z poziomu PHP // utworzenie puli dostępnych serwerów memcached // każdy z nich będzie wykorzystywany proporcjonalnie // do listy wag przekazanych jako prametr do metody Mamcache::addServer() $memcache = new Memcache; $memcache->addserver('memcache_host1', 11211, 50); $memcache->addserver('memcache_host2', 11211, 25); $memcache->addserver('memcache_host3', 11211, 25); $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ('Nie mogę się połączyć'); if ($get_result = $memcache->get('key')) else // jeżeli obiekt jest w cache, to skorzystaj z niego echo '<b>dane z serwera</b>:<br/>'; echo $get_result->str_attr.'<br />'; echo $get_result->int_attr; // w cache nie ma żądanych danych, zapisz dane $tmp_object = new stdclass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = time(); $memcache->set('key', $tmp_object, false, 10) or die ( 'Nie udało się zapisać elementu'); echo 'Zapisane dane zostaną usunięte po 10 sekundach<br/>'; echo 'Odśwież stronę, by zobaczyć dane zapisane na serwerze memcached'; ra mechanizmami zapisu i odczytu danych (zobacz ramka QUERY-CACHE). Oczywiście istnieje możliwość skalowania takiego rozwiązania, jednak nie jest ono proste ponieważ wymaga żmudnej konfiguracji (replikacja baz danych) i nie jest standardowo obsługiwane przez CakePHP 1.1.xx. Przykładowy model danych obsługujący przechowywanie cache w bazie danych został przedstawiony w Listingu 6. Najbardziej elastycznym sposobem przechowywania danych jest mechanizm memcached przechowujący dane w pamięci RAM serwera (zobacz ramka). W miarę, jak dane będą zapełniały przydzieloną pamięć, system będzie automatycznie usuwał te, które były najrzadziej używane (można też usuwać dane za pomocą odpowiednich wywołań systemowych). Memcached został także wyposażony w mechanizmy równoważące obciążenie, gdy wykorzystywanych jest kilka serwerów, które można w prosty sposób przyłączać (lub odłączać) bez konieczności przerywania działania serwisu (obsługa memcached zostanie włączona do CakePHP począwszy od wersji 1.2.xx). Typowa sesja połączenia z memcached z poziomu PHP została przedstawiona na Listingu 7. W pierwszej kolejności następuje zdefiniowanie puli dostępnych serwerów pracujących pod kontrolą memcached. Każdy z nich będzie wykorzystywany proporcjonalnie do wagi określonej podczas inicjalizacji połączenia i w razie awarii zastąpiony przez kolejny serwer z listy. Każdy dostęp do danych poprzedzony jest testem, czy informacje są dostępne w cache. Tylko w przypadku negatywnym nastąpi konieczność wykonania czasochłonnych obliczeń, po których wynik zostanie zapisany w cache (kolejne zapytania będą więc korzystały z bufora). Memcached sam zatroszczy się o usunięcie zbędnych (przestarzałych) danych z pamięci w naszym przykładzie po 10 sekundach. Memcached ma jeszcze jedną zaletę można go użyć jako mechanizm przechowujący dane nie tylko na potrzeby buforowania całych stron (page cache). Możemy w cache umieszczać dowolne dane (wyniki obliczeń, dynamicznie zmieniające się relacje między danymi) i na ich podstawie generować strony WWW. Podobnie jak w przypadku page cache problemem jest określenie, czy strony na których były prezentowane dane, które uległy modyfikacji, znajdują się w cache. Memcached umożliwia przechowywanie wyników obliczeń, więc nie możemy polegać na prostej zależności mówiącej, że w przypadku zmian w modelu danych należy usunąć cache związany z widokiem prezentującym dane.zamiast tego można posłużyć się sztuczką polegającą na powiązaniu przechowywanych danych przechowywanych w cache ze znacznikiem sygnalizującym zmiany. Wystarczy, że utworzymy model danych, który będzie dostarczał informacje o stanie aplikacji, np. unikalny numer, niezmienny tak długo, jak długo nie nastąpiły zmiany w bazie danych lub innych obliczeniach. Jeżeli tym numerem będziemy posługiwali się przy obsłudze cache, to jego zmiana wymusi ponowne przeliczenie zmienionych danych. Jeżeli przestrzeń przeznaczona na bufor będzie się zmniejszać, memcached automatycznie usunie dane, które przez określony czas nie były aktywne. Rozwiązanie takie sprawdzi się przede wszystkim przy skomplikowanych stronach WWW opartych o przechowywane w cache dane pochodzące z czasochłonnych obliczeń. Koszt zaangażowania zasobów serwera w wykrycie zmian w stanie aplikacji będzie wówczas zrównoważony przez oszczędności wynikające z braku potrzeby wykonywania czasochłonnej generacji strony. Podsumowanie Mechanizm page cache w CakePHP w połączeniu z umiejętnym wykorzystaniem cache przeglądarki internetowej może zredukować opóźnienia w dostarczaniu danych do użytkownika oraz zmniejszyć obciążenie serwera WWW i bazy danych. Warto zwrócić szczególną uwagę na technologię memcached, która zapewnia szybki dostęp do danych zawartych w cache, jest elastyczna i skalowalna, dzięki czemu może rosnąć razem z naszym serwisem. PIOTR GAPIŃSKI Autor w wolnych chwilach zajmuje się programowaniem w różnych językach (głównie Rebol, Ruby, PHP i AmigaE). Kontakt z autorem: narg@polbox.com 54
Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4
03.04.2017r AGH, WIMIR, Inżynieria Mechatroniczna Dawid Furdzik Nr albumu: 279671 Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Po wywołaniu polecenia odpowiedź serwera wygląda następująco:
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ę
Wprowadzenie 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,
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
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,
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,
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
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ę
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,
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ć,
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
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
Kurier DPD dla Subiekt GT
Dane aktualne na dzień: 20-01-2018 12:11 Link do produktu: http://www.strefalicencji.pl/kurier-dpd-dla-subiekt-gt-p-123.html Kurier DPD dla Subiekt GT Cena Dostępność 199,00 zł Dostępny Numer katalogowy
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
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
Baza 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
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
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
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy
Instrukcja obsługi programu
Instrukcja obsługi programu directintegrator ST5 wersja dla WF-Mag (SOTE 5) Spis treści 1. Wstęp...3 2. Instalacja...3 2.1. Przebieg Instalacji...3 2.1.1. Generowanie klucza aplikacji...8 2.1.2. Zakładka
INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII
Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak
DECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
PHP: 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
ZPKSoft 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.
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
Podstawy 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
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski
W3 Total Cache Skuteczne przyśpieszanie WordPressa Bartosz Romanowski http://wpzen.pl WordCamp Wrocław, 28-29 września 2013 Co robi W3 Total Cache? cache całych stron (Page Cache) cache obiektów (Object
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
Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9
Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do
PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP
PHP Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP PHP i bazy danych Plan wykładu: Wprowadzenie Buforowanie stron Uwierzytelnianie Sesje Baza danych COM, DLL XML Podsumowanie Wprowadzenie
Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x
Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
INFRA. System Connector. Opis systemu
INFRA System Connector Opis systemu Spis treści Opis składników systemu... 3 Bezpieczeństwo systemu... 4 Bezpieczeństwo komunikacji... 4 Zabezpieczenie dostępu do serwisów... 4 Autoryzacja użytkowników...
Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
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
Instrukcja do programu Do7ki 1.0
Instrukcja do programu Do7ki 1.0 Program Do7ki 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej SIÓDEMKA w połączeniu
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
Programowanie 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ć
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
Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010
Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa
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
Smarty 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
Specyfikacja 1.2.1. Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.
Specyfikacja 1.2.1 Płatności CashBill Instrukcja podłączenia płatności elektronicznych do typowych zastosowań. CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax:
Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4
Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...
Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller
Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji
Plan. Raport. Tworzenie raportu z kreatora (1/3)
3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport
Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie
Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie 1. Instalacja w zwykłym skrypcie PHP Instalacja PHP Hypercachera Refresher Standard i PHP
Ć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.
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych
Baza danych do przechowywania użytkowników
System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.
CREATE USER
Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość
Wykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
API transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi
Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika
Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued
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
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact
Instrukcja użytkownika
Instrukcja użytkownika Zandro 1.5.5 1 Metryka dokumentu Autor: Tomasz Krówczyński Liczba stron: 14 Data utworzenia: 21-07-2014 Rewizja: 67 HISTORIA ZMIAN Data Autor Wersja Zmiany 21-07-2014 Tomasz Krówczyński
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
Bazy 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
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Instrukcja do programu DoGLS 1.0
Instrukcja do programu DoGLS 1.0 Program DoGLS 1.0 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej GLS w połączeniu z bezpłatnym
Autor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Baza 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
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
Sesje i logowanie. 1. Wprowadzenie
Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,
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
BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech
BAZY DANYCH Obsługa bazy z poziomu języka PHP opracowanie: Michał Lech Plan wykładu 1. PHP - co to jest? 2. Bazy danych obsługiwane przez PHP 3. Podstawowe polecenia 4. Sesje 5. Przykład - dodawanie towaru
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
Programowanie obiektów
Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1 T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania
Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp
Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp Prezentujemy Państwu propozycję modułu aplikacji internetowej słuŝącej do prezentacji zaplanowanych wizyt klienta
Specyfikacja techniczna. mprofi Interfejs API
Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU
Paweł Rajba
Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie
Instrukcja do programu DoDHL 1.5
Instrukcja do programu DoDHL 1.5 Program DoDHL 1.5 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do generowania listów przewozowych dla firmy kurierskiej DHL w połączeniu z bezpłatnym
Opcje Fiery1.3 pomoc (klient)
2015 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego produktu. 28 stycznia 2015 Spis treści 3 Spis treści...5
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ą
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ą
Instrukcja użytkownika. Aplikacja Smart Paczka DPD
Instrukcja użytkownika Aplikacja Smart Paczka DPD Instrukcja użytkownika Aplikacja Smart Paczka DPD Wersja 2.0 Warszawa, Wrzesień 2015 Strona 2 z 9 Instrukcja użytkownika Aplikacja Smart Paczka DPD Spis
Aplikacje 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
OPIEKUN DORADCY: KONTO FIRMY ZARZĄDZANIE KLIENTAMI
Portalami Opiekun Doradcy / Opiekun Zysku zarządza firma Opiekun Inwestora z siedzibą w Poznaniu, NIP: 972 117 04 29 KONTAKT W SPRAWIE WSPÓŁPRACY W RAMACH PROJEKTU OPIEKUN DORADCY pomoc@opiekundoradcy.pl,
ShopGold Integrator by CTI. Instrukcja
ShopGold Integrator by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja połączenia... 4 3. Eksport grup towarowych... 6 4. Eksport towarów... 7 5. Eksport zdjęć... 9 6. Pobieranie zamówień...
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok
Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok Spółdzielnia Mieszkaniowa Słoneczny Stok szanuje prawo do prywatności Użytkowników serwisu sm-slonecznystok.pl. W szczególności dba o ochronę
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Co narzuca MVC? Architekturę aplikacji wykonaną w konwencji Model Widok - Kontroler Model reprezentacja danych i dostępu do nich Widok elementy
Win Admin Monitor Instrukcja Obsługi
Win Admin Monitor Instrukcja Obsługi czerwiec 2019 wersja dokumentu 1.7 dla wersji aplikacji 2.1.1.0 Spis treści: I. Wstęp 3 II. Wymagania systemowe 4 III. Ograniczenia funkcjonalne wersji demo 5 IV. Instalacja
Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski
Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski Zad.2 GET /~s279680/ HTTP/1.1 Host: mts.wibro.agh.edu.pl HTTP/1.1 200 OK Date: Wed, 29 Mar 2017 08:15:01 GMT Server: Apache/2.4.7
(aktualizacja 30 kwietnia 2018)
Weryfikacja użytkownika, lista i prawa użytkowników (aktualizacja 30 kwietnia 2018) Abstrakt W poradniku opisano możliwości programu w zakresie zabezpieczania dostępu do programu hasłem, tworzenia listy
GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO
GS2TelCOMM Rozszerzenie do TelCOMM 2.0 Opracował: Michał Siatkowski 29-03-2017 Zatwierdził: IMIĘ I NAZWISKO DATA TEL-STER 2017 Spis treści Wprowadzenie... 3 Architektura... 3 Instalacja... 3 Współpraca
15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Rys.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
EXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.