Django oczami programisty PHP
|
|
- Halina Zakrzewska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Django oczami programisty PHP Mateusz Kupczyk 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok II kupczyk.mateusz@gmail.com Streszczenie Praca przybliża cechy aplikacji o nazwie Django, która jest używana przy tworzeniu aplikacji internetowych. Dzięki zapewnieniu podstawowych funkcjonalności wykorzystywanych w większości tego typu aplikacji, Django skraca czas realizacji projektu, natomiast specyfika języka Python zwiększa czytelność i wydajność kodu w stosunku do popularnych języków (m.in. PHP). 1 Dlaczego nie PHP? PHP [1] to obecnie najpopularniejszy język tworzenia aplikacji internetowych, który jest używany w ponad 75% stron internetowych [2]. Jest to język interpretowany, jednak za pomocą odpowiednich rozszerzeń możliwe jest zachowanie w pamięci skompilowanej wersji kodu źródłowego. Ze względu na swoje rozpowszechnienie cieszy się on ogromnym wsparciem, jest ciągle rozwijany, a liczba bibliotek stale wzrasta. Na popularności ciągle zyskują frameworki webowe (biblioteki implementujące szereg funkcjonalności stanowiących podstawę działania aplikacji, takich jak obsługa połączenia z bazą danych, sesji, mapowanie adresów URL, itp.), a także gotowe systemy CMS (Wordpress, Joomla, Drupal, Symphony). Dlaczego więc z tego rezygnować? Przyglądając się zmianom, jakie zaszły w PHP od wersji 3, nie da się zaprzeczyć, że jest ich sporo. Ciężko ukryć fakt, że zmiany te wynikały z potrzeby, a nawet idąc trochę dalej powinny być wprowadzone jeśli nie od początku, to przynajmniej w momencie, gdy język ten zyskał na popularności. Obserwując na bieżąco aktualizacje trudno nie odnieść wrażenia, że pewne funkcjonalności były wprowadzane na siłę. Dlatego też dopiero PHP w wersji 5 obsługuje obiektowość, choć trochę podobną do tego, jak powinna ona wyglądać, w wersji 5.3 dodano przestrzenie nazw (których standardowa biblioteka PHP nie używa i przechowuje wszystkie funkcje w zasięgu globalnym), etc. Ze względu na wsteczną kompatybilność, wraz z wprowadzeniem (standardowych dla innych języków wysokiego poziomu) rozwiązań, programista może tworzyć tworzyć oprogramowanie w języku PHP nie wykorzystując nowych rozwiązań. 1
2 Niestety, przez to jakość kodu produkowanego przez wielu programistów jest co najmniej wątpliwa. Problem pojawia się wtedy, kiedy klient chce zmodyfikować swoją stronę internetową lub wykorzystać jej kod w innej aplikacji. Z punktu widzenia doświadczonego programisty, zazwyczaj lepszym rozwiązaniem jest przepisanie takiego kodu od nowa (za który przecież już ktoś zapłacił), bo jego utrzymanie w takiej postaci byłoby za drogie, o ile ktoś w ogóle by się tego podjął. 2 Czym jest Django? Cytując opis ze strony głównej projektu: Django to webowy framework wysokiego poziomu napisany w Pythonie z myślą o szybkim rozwoju aplikacji, posiadający przejrzystą i pragmatyczną architekturę [3]. Projekt został rozpoczęty w 2004 przez kilku programistów zatrudnionych w gazecie redagowanej w Kansas, Lawrence Journal-World. Jak sami wspominają, z uwagi na dziennikarski charakter branży, terminy, których musieli przestrzegać, zazwyczaj sięgały kilku godzin, a większość zadań musiała być zrobiona na wczoraj. Dlatego też postanowili oni stworzyć narzędzie, dzięki któremu będą mogli pracować szybciej i wygodniej. Tak zrodził się pomysł napisania szkieletu aplikacji, który zapewniałby podstawową funkcjonalność w każdym projekcie. Główną zasadą Django jest oparcie działania na mniejszych modułach (nazywanych aplikacjami, ang. apps) oraz tworzenie ich w taki sposób, aby mogły być one użyte w kolejnych projektach. Tak jak pozostałe frameworki, Django zapewnia obsługę połączenia z bazą danych (wraz z mechanizmem ORM), umożliwia definiowanie własnych adresów URL, a wszystko w oparciu o subtelną odmianę wzorca MVC (ang. model-view-controller). Funkcjonalnością, która wyróżnia Django na tle różnych aplikacji tego typu, jest automatyczne generowanie panelu administracyjnego strony. Mając zaprojektowane modele strony, za pomocą kilku linii kodu można wygenerować kompletny system zarządzania treścią (umożliwiający dodawanie, usuwanie i edycję poszczególnych obiektów), razem z panelem logowania oraz systemem użytkowników i uprawnień. Co więcej, system poprawnie obsługuje różne typy relacji między obiektami, pozwala na wyszukiwanie, filtrowanie i pełne dopasowanie panelu do potrzeb użytkownika. Wszystkie te funkcjonalności pozwalają znacznie skrócić czas pracy nad projektem oraz umożliwiają programiście skupienie się na wyglądzie i działaniu produktu zamiast na kwestiach implementacyjnych. Django, jako framework, nie jest rewolucyjny (istnieją szkielety przeznaczone do używania wraz z językiem PHP), jednak pewne jego cechy znacznie zwiększają wygodę tworzenia kodu oraz zmniejszają czas przeznaczony na wykonanie zadania. 3 Podstawowe cechy Django 3.1. Python Django zostało w całości napisane w Pythonie. Pierwszym, znacznym usprawnieniem względem języka PHP jest fakt, iż Python to język kompilowany do byte-code u, co przekłada się bezpośrednio na wydajność napisanych aplikacji. Rysunek 1 przedstawia wyniki testu wydajnościowego różnych frameworków 2
3 webowych pod zasymulowanym obciążeniem kilkudziesięciu użytkowników jednocześnie przeglądających stronę internetową. Jak widać na poniższym wykresie, pod bardzo dużym obciążeniem frameworki używające języka PHP (CodeIgniter oraz Symfony) ustępują wydajnością Django. Rys. 1. Porównanie wydajności kilku frameworków webowych (źródło: [4]). Wykres przedstawia zsumowany czas odpowiedzi aplikacji na wszystkie zapytania. Osoby, które wcześniej miały styczność tylko z językami podobnymi do C/C++ (Java, PHP), na pewno zauważą sporo różnic, przede wszystkim w składni. Python nie używa nawiasów klamrowych, a zamiast nich wykorzystuje wcięcia. W Pythonie wszystko jest traktowane jako obiekt. Przykładowy kod funkcji obliczającej silnię w PHP i Pythonie przedstawia rys. 2. Rys. 2. Porównanie kodu źródłowego PHP i Python. Różnice te, choć na początku mogą być męczące (głównie ze względu na poprzednie przyzwyczajenia), znacząco poprawiają jakość kodu. Składnia w pewien sposób wymusza stosowanie jednolitego stylu programowania, dzięki czemu kod staje się czytelniejszy, przez co łatwiej jest nim zarządzać i wprowadzać w nim zmiany po dłuższym czasie. O tym jak wielką wagę twórcy Pythona przykładają do jakości 3
4 tworzonego kodu jest fakt sformułowania przez nich filozofii tego języka tzw. Zen of Python (angielska wersja jest dostępna na oficjalnej stronie [5]). Na uwagę zasługuje również obszerna, spójna biblioteka standardowa Pythona. Całość jest pogrupowana w oddzielne moduły, w przeciwieństwie do ogromnej ilości funkcji dostępnych w zasięgu globalnym kodu PHP, których podział w większości ogranicza się do nadania ich nazwom różnych przedrostków. Dokumentacja Pythona jest szczegółowa, choć niekiedy znalezienie informacji, która nas interesuje, mogłoby trwać trochę krócej. Korzystając z wyszukiwarki Google oraz ograniczając wyniki tylko do oficjalnej dokumentacji, w niektórych przypadkach natrafimy na podstronę, która zawiera między innymi informację, której szukamy, jednak odnalezienie jej pośród wielu opisów może zająć nieco więcej czasu Model-View-Template (MVT) Django wykorzystuje wzorzec projektowy MVT (model-widok-szablon). Zakłada on podział aplikacji na 3 podstawowe części: Model reprezentuje logikę aplikacji. Szablon (template) określa, w jakiś sposób dane mają zostać wyświetlone. Widok (view) odpowiada za wybór danych do wyświetlenia (na podstawie przesłanego zapytania, informacji nt. obecnie zalogowanego użytkownika, itp.) Wzorzec MVT (lub bardzo podobny, MVC ang. model-view-controller) jest w chwili obecnej najczęściej stosowanym wzorcem w trakcie tworzenia aplikacji internetowych. Pozwala on skutecznie rozdzielić poszczególne warstwy, dzięki czemu wymiana jednego modułu nie wpływa w żaden sposób na działanie całej aplikacji. Doskonale można to zobrazować na przykładzie aplikacji, której zadaniem byłoby załadowanie danych z bazy MySQL oraz wyświetlenie ich na stronie internetowej. Widok odpowiadałby za utworzenie obiektu modelu oraz pobranie danych to, w jaki sposób będą one załadowane/przetworzone/itp. zależy tylko od modelu. Następnie, zadaniem widoku byłoby załadowanie szablonu oraz przekazanie mu odpowiednich danych analogicznie do sytuacji z modelem, widok nie wie jaką czcionkę będzie napisany tekst lub czy dane będą wypisane jako lista czy tabelka (zależy to tylko i wyłącznie od pliku, w którym znajduje się szablon). Dzięki takiemu podejściu zmiana szaty graficznej podstrony ogranicza się tylko do zmiany uniwersalnego pliku szablonu, a dopisanie kolejnej opcji przechowywania danych (np. w plikach tekstowych) sprowadza się do utworzenia kolejnej klasy modelu Baza danych Django wspiera różne typy systemów baz danych, a ich wykorzystanie sprowadza się do wyboru i odpowiedniego skonfigurowania danego silnika. Standardowo możliwa jest obsługa baz MySQL, PostgreSQL, SQLite oraz Oracle. Dodatkowo framework pozwala na automatyczne generowanie oraz aktualizację struktury poszczególnych tabel na podstawie odpowiadających im modeli (rys. 3. i 4.). Dzięki temu programista może skupić się na zaprojektowaniu klasy modelu, a utworzeniem tabeli, założeniem indeksów na pola oraz zapewnieniem obsługi relacji między tabelami zajmie się Django. 4
5 Rys. 3. Przykładowy kod klasy modelu Entry. Rys. 4. Tabela w bazie danych automatycznie wygenerowana na podstawie modelu Entry. W skład Django wchodzi również zaawansowany system ORM (ang. object relational mapping), który pozwala na reprezentację danych pobranych z bazy jako obiektów. Zwrócone przez bazę rekordy są obiektami z zaimplementowanymi metodami umożliwiającymi zapisanie nowego rekordu, modyfikację czy usunięcie. Co więcej, framework zapewnia wsparcie dla obsługi relacji między różnymi tabelami, dzięki czemu możliwa jest optymalizacja zapytań i zarządzanie powiązanymi rekordami w innych tabelach Panel administracyjny Sztandarową funkcjonalnością Django, która zdecydowanie odróżnia go od reszty webowych frameworków, jest aplikacja Django admin, która zapewnia automatyczne generowanie panelu administracyjnego na podstawie utworzonych modeli. Podstawowe możliwości: System użytkowników zarządzających treścią wraz z możliwością ograniczenia uprawnień. Zarządzanie danymi wewnątrz modelu dodawanie nowych rekordów, edycja oraz usuwanie istniejących. Automatyczne tworzenie formularzy na podstawie pól modelu wraz z walidacją zapisywanych danych. Wyświetlanie listy rekordów, możliwość ich sortowania, wyszukiwania oraz filtrowania według określonych kryteriów. Definiowanie własnych podstron w panelu. Rysunki 5 oraz 6 przedstawiają wygląd panelu administratora, który został wygenerowany za pomocą mniej niż 40 linijek kodu w języku Python. 5
6 Rys. 5. Lista rekordów danej tabeli Inne cechy Rys. 6. Automatycznie wygenerowany formularz dodawania rekordu. Ze względu na ograniczoną ilość miejsca nie sposób wypisać wszystkich możliwości, które oferuje framework. Zapewnia on jednak wsparcie praktycznie dla wszystkich funkcjonalności odgrywających największe znaczenie z punktu widzenia programisty aplikacji internetowych, m.in.: Cache [6] jest to moduł odpowiedzialny za przechowywanie danych pobranych z bazy lub wymagających skomplikowanych obliczeń i umieszczanie ich w pamięci podręcznej (np. w plikach tekstowych). Dzięki temu nie jest konieczne ciągłe odpytywanie bazy danych, co w przypadku bardziej rozbudowanych aplikacji znacznie zmniejsza czas działania aplikacji. Formularze [7] zapewnia obsługę formularzy, od ich wyświetlania w formie HTML, aż po walidację danych wprowadzonych przez użytkownika. Własne adresy URL [8] pozwala powiązać wyrażenia regularne występujące w adresie strony z określonym widokiem, który ma zostać wyświetlony. Internacjonalizacja oraz lokalizacja [9] zestaw narzędzi umożliwiający przetłumaczenie komunikatów i tekstów na stronie oraz udostępnienie jej w różnych wersjach językowych. 4 Podsumowanie Framework Django, który został przedstawiony w tym artykule, niesie ze sobą szereg usprawnień znacznie przyspieszających proces tworzenia aplikacji internetowych. Jego zaletami są przede wszystkim: przejrzystość, świetna 6
7 dokumentacja, szybkość działania oraz ogromna funkcjonalność, przez co stale zyskuje on na popularności. Ciągle powstają nowe projekty napisane z wykorzystaniem Django, które udowadniają, że dobrze spisuje się on również pod bardzo dużym obciążeniem przykładami mogą być takie serwisy jak Instagram [10] czy strona internetowa Mozilli [11]. Django jest narzędziem, którego zadaniem jest przeniesienie uwagi programisty na to, jak ma działać końcowa aplikacja, poprzez zmniejszenie ilości czasu spędzonej na implementacji rozwiązań. Nie da się zaprzeczyć, że framework wywiązuje się z niego znakomicie i świetnie spełnia swoją rolę. Bibliografia [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 7
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
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,
Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Web frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
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
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ż.
Program szkolenia: Symfony, nowoczesny framework PHP
Program szkolenia: Symfony, nowoczesny framework PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Symfony, nowoczesny framework PHP PHP-frameworki PHP developerzy 3 dni 40% wykłady
Słowa kluczowe jak góry lodowe
Public Słowa kluczowe jak góry lodowe czyli rzecz o bibliotekach testowych Marcin Kowalczyk marcin.kowalczyk@tieto.com Spis treści Dlaczego słowa kluczowe są jak góry lodowe, po co tworzyć własne biblioteki
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
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis
LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
ASP.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
Tworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Exulto Software House
Exulto Software House Oferta i cennik współpracy programistycznej biuro@exulto.pl Tworzymy autorskie aplikacje internetowe, z wykorzystaniem nowoczesnych technologii. Przygotowanie aplikacji internetowej,
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy
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
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROGRAMOWANIE APLIKACJI BAZODANOWYCH DATABASE APPLICATION PROGRAMMING Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach specjalności: Inżynieria oprogramowania Rodzaj zajęć:
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
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...
OPIS PRZEDMIOTU ZAMÓWIENIA
Lubelskie Centrum Transferu Technologii Politechniki Lubelskiej ul. Nadbystrzycka 36, 20-618 Lublin Tel. 81 538 42 70, fax. 81 538 42 67; e-mail: lctt@pollub.pl OPIS PRZEDMIOTU ZAMÓWIENIA Do realizacji
5. Bazy danych Base Okno bazy danych
5. Bazy danych Base 5.1. Okno bazy danych Podobnie jak inne aplikacje środowiska OpenOffice, program do tworzenia baz danych uruchamia się po wybraniu polecenia Start/Programy/OpenOffice.org 2.4/OpenOffice.org
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,
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,
ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH
ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH szkolenie dla webdeveloperów ze znajomością przynajmniej podstaw HTML i JavaScript INFORMACJE PODSTAWOWE AngularJS to framework JavaScript stworzony przez inżynierów
SZKOLENIE TWORZENIE SYSTEMÓW
SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest
Frogfoot CMS.
Frogfoot CMS www.frogriot.com Spis treści: Kluczowe zastosowania Zalety Frogriot CMS Lista głównych modułów 4 5 7 Główne moduły Dashboard Formularze Webinary Konkursy Edytor treści Drzewo strony Użytkownicy
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ą
SPINACZ.edu.pl platforma współpracy nauki z biznesem w zakresie innowacyjnych rozwiązań informatycznych
SPINACZ.edu.pl platforma współpracy nauki z biznesem w zakresie innowacyjnych rozwiązań informatycznych Poznańska Impreza Wolnego Oprogramowania Poznań, 3 grudnia 2011 Rafał Brzychcy rafal.brzychcy@fwioo.pl
Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk
Ruby on Rails Supersilnik WWW Łukasz Włodarczyk Spis Treści Co to jest Ruby? Dlaczego Ruby? Co to jest Rails? Historia Ruby on Rails Filozofia Ruby on Rails Jak działa technologia Rails? Ruby on Rails
5.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
Programowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny
Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu
APLIKACJA ZIELONA FIRMA DLA PRACOWNIKÓW FIRMY PRINT & DISPLAY (POLSKA) SP Z O.O.
APLIKACJA ZIELONA FIRMA DLA PRACOWNIKÓW FIRMY PRINT & DISPLAY (POLSKA) SP Z O.O. WERSJA NR 2 Strona 1 z 7 Spis treści 1. Opis ogólny... 3 2. Opis szczegółowy... 3 2.1 Strona główna.... 3 2.2 Podstrona
Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści
Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop. 2016 Spis treści O autorze 13 O recenzentach technicznych 14 Wprowadzenie 17 Rozdział 1. Utworzenie aplikacji bloga 21 Instalacja
e_talent innowacyjna aplikacja webowa do zarządzania rozwojem pracowników w organizacji Zespół ForUnit
e_talent innowacyjna aplikacja webowa do zarządzania rozwojem pracowników w organizacji Zespół ForUnit Tylko funkcjonalność Proponujemy Państwu nowoczesne narzędzie do zarządzania Kapitałem Ludzkim. Nasza
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Internetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46
Internetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46 Projekt jest współfinansowany w ramach programu Ministra Nauki i Szkolnictwa Wyższego
Webowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
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
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
BIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA.
BIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA. Michał Kwiatkowski Piotr Grzybowski Poznańskie Centrum Superkomputerowo-Sieciowe II Konferencja
Full 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,
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
I. Informacje ogólne. Jednym z takich systemów jest Mambo.
MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację
OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi
OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur
Pomoc. BIP strona portalu
Pomoc BIP strona portalu Biuletyn Informacji Publicznej powstał w celu powszechnego udostępnienia informacji publicznej w postaci elektronicznej. Głównym zadaniem portalu jest przekazywanie informacji
Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i
Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z
Programowanie MorphX Ax
Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn
QUERY język zapytań do tworzenia raportów w AS/400
QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora
Historia aktualizacji
Historia aktualizacji TOPManager 2015.2, wersja z dnia 2015-06-29 1. Nowe raporty z faktur dla klientów, faktur od dostawców i umów o dzieło. 2. Dodanie pola Data wpływu dla faktur od dostawców i w umowach
app/ - 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/
Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie
5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel
5.3. Tabele Tabela jest podstawowym elementem bazy danych. To właśnie w tabelach gromadzone są w bazie rekordy danych. Projektując tabelę, definiujemy, jakie pola będzie zawierał pojedynczy rekord informacji.
SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności
Encje w Drupalu Tworzenie własnych encji i ich wpływ na poprawę wydajności DrupalCamp Wrocław 2015 Grzegorz Bartman https://twitter.com/grzegorzbartman O mnie Grzegorz Bartman http://twitter.com/grzegorzbartman
MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z
WordPress : Omówienie I Instalacja Na początek, dlaczego byłbyś zainteresowany wykorzystaniem WordPressa razem z PhoneGap? Zapytałbym: "Dlaczego byś nie?" Moim zdaniem WordPress jest jednym z najłatwiejszych
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS
Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.
Diagram wdrożenia Zaprojektowana przez nas aplikacja bazuje na architekturze client-server. W tej architekturze w komunikacji aplikacji klienckiej z bazą danych pośredniczy serwer aplikacji, który udostępnia
Tworzenie bazy danych na przykładzie Access
Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy
Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database
Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem
Smarty system szablonów 01 Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem programistów tworzących aplikacje w tym języku. Bardzo często taki kod w znacznym stopniu przeplatał się tagami
Wprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
REFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja mobilnego systemu wspomagającego organizowanie zespołowej aktywności fizycznej Autor: Krzysztof Salamon W dzisiejszych czasach życie ludzi
Szczegółowy opis zamówienia:
Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h
Instrukcja dostępu do usługi Google Scholar
Instrukcja dostępu do usługi Google Scholar UWAGA dostęp do Google Scholar wymaga posiadania konta Google. Utworzenie jednego konta Google pozwala na dostęp do wszystkich usług Google. Oznacza to, że jeśli
Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów
System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza
Czym jest Ruby on Rails?
Czym jest Ruby on Rails? Ruby on Rails - napisany w języku Ruby framework open source do szybkiego tworzenia aplikacji internetowych w oparciu o architekturę MVC David Heinemeier Hansson twórca Rails Ruby
Specyfikacja implementacyjna aplikacji serwerowej
Projekt: System wspomagania osób studiujących Strona: 1 / 7 Opracowali: Zatwierdzili: Spis treści Damian Głuchowski Krzysztof Krajewski Krzysztof Krajewski dr inż. Sławomir Skoneczny Spis treści... 1 1.
Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz
Rozdział 5: Style tekstu
5. STYLE TEKSTU Posługując się edytorem MS Word trudno nie korzystać z możliwości jaką daje szybkie formatowanie z użyciem stylów. Stylem określa się zestaw parametrów formatowych, któremu nadano określoną
Pliki 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
Dotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Załącznik nr 3 do zapytania ofertowego
Załącznik nr 3 do zapytania ofertowego. ( miejscowość, data) Dotyczy zapytania ofertowego nr 1/BLAU/POKL/2013 Projekt PI-BLAU Badanie Losów Absolwentów Uczelni, nr POKL.04.01.01-00-239/11 jest współfinansowany
Nowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu
Nowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu Informacje ogólne Nazwa przedmiotu Nowoczesne projektowanie aplikacji intrnetowych Kod przedmiotu 11.3-WI-INFD-NPAI Wydział Kierunek Wydział
Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Opis modułu pl.id w programie Komornik SQL-VAT
Opis modułu pl.id w programie Komornik SQL-VAT Nazwa: KSQLVAT.INS.PL.ID.002 Data: 02.01.2017 Wersja: 1.2.0 Cel: Opis działania funkcjonalności pl.id 2016 Currenda Sp. z o.o. Spis treści 1. Opis... 3 2.
DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA
DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA Michał Kwiatkowski Piotr Grzybowski Poznańskie Centrum Superkomputerowo-Sieciowe VII Warsztaty Biblioteki Cyfrowe 22.10.2010 Plan prezentacji 2/15 Geneza Biblioteka
Referat pracy dyplomowej
Temat pracy: Projekt i realizacja oprogramowania generującego sekwencje dźwięków dla zastosowań muzycznych Autor: Marcin Tatuś Promotor: dr inż. Roman Simiński Referat pracy dyplomowej 1. Cel i podstawowe
Podstawy pracy w systemie Doradca.
Podstawy pracy w systemie Doradca. Wstęp. Program Doradca jest aplikacją systemu Windows typu klient- serwer. Oznacza to że baza z dokumentami, użytkownikami, klientami i innymi zasobami znajduje się na
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Krzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Aplikacje WWW - lab 5
Aplikacje WWW - lab 5 Jan Wróblewski 31 marca 2015 Zadanie zaliczeniowe 2 Przygotowujemy aplikację do edycji obwodów wyborczych. Komenda django do pobierania listy obwodów wyborczych z http://prezydent2010.pkw.gov.pl/pzt/pl/wyn/w/index.htm
Szczegółowa specyfikacja przedmiotu wyceny do zapytania ofertowego nr 1
Załącznik nr 1 do Zapytania ofertowego nr 1 SEOKRACI SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ ul. Karmelicka 57/1 31-128 Kraków Wdrożenie dedykowanego zintegrowanego systemu do zarządzania współpracą w
Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka
1 Omówienie wzorców wykorzystywanych w Prism 5.0 Dominika Różycka Czym jest wzorzec projektowy? 2 3 Wzorzec projektowy 1. Uniwersalne i sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych
2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
Ten krótki poradnik pomoże Ci zainstalować nasz katalog no-name na swojej stronie internetowej.
Ten krótki poradnik pomoże Ci zainstalować nasz katalog no-name na swojej stronie internetowej. Krok 1 - rejestracja Wejdź na stronę http://www.adpen.pl/katalog/rejestracja.php i uzupełnij widoczny formularz
PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE CZĘŚĆ PRAKTYCZNA
Nazwa kwalifikacji: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami Oznaczenie kwalifikacji: E14 Numer zadania: 01 Wypełnia zdający Numer PESEL zadającego Czas trwania egzaminu:
INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego
INSTRUKCJA UŻYTKOWNIKA DLA INSTYTUCJI RYNKU PRACY JAK KORZYSTAĆ Z MODUŁU ANALITYCZNEGO narzędzia informatycznego opracowanego w ramach projektu Wielkopolski system doradztwa edukacyjno-zawodowego Poznań,
Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem.
Informatyka w zarządzaniu Zarządzanie, zaoczne, sem. 3 Wykład 5 MS Word korespondencja seryjna Grzegorz Bazydło Cel wykładu Celem wykładu jest omówienie wybranych zagadnień dotyczących stosowania korespondencji
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
Wyjaśnienia z dnia r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego.
Wyjaśnienia z dnia 14.09.2017r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego. 1. Czy dobrze rozumiem, że administracja portalem jest po Państwa
RAPORT KOŃCOWY PROJEKTU
RAPORT KOŃCOWY PROJEKTU Temat: Wieloplatformowy program do obsługi faktur Adresat: dr inż. Jacek Kołodziej Wykonawcy: Daniel Krysiak Przemysław Szpunar Grzegorz Śmierzchalski Spis Treści 1. Charakterystyka
Przygotowanie 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:
app/ - 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ł
Sylabus Moduł 4: Grafika menedżerska i prezentacyjna
Sylabus Moduł 4: Grafika menedżerska i prezentacyjna Niniejsze opracowanie przeznaczone jest dla osób zamierzających zdać egzamin ECDL (European Computer Driving Licence) na poziomie podstawowym. Publikacja
Programowanie w Ruby
Programowanie w Ruby Wykład 13 Marcin Młotkowski 16 stycznia 2013 Plan wykładu Testowanie aplikacji w Ruby on Rails Testowanie modeli Testy funkcjonalne: testowanie kontrolerów Testy integracyjne Testowanie
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.