Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Web programiranje Vežbe 1, Slajdovi od Web programiranje

Web programiranje. Vežbe 1. 1. Sadržaj predmeta iz knjige predmeta. Студијски програм: ИНФОРМАТИКА/ФИЗИКА. Врста и ниво студија: Основне академске студије, ...

Tipologija: Slajdovi

2022/2023

Učitan datuma 13.01.2023.

Njegoje_Zdravko
Njegoje_Zdravko 🇸🇷

5

(2)

47 dokumenti

1 / 8

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Web programiranje
Vežbe 1
1. Sadržaj predmeta iz knjige predmeta
Студијски програм: ИНФОРМАТИКА/ФИЗИКА
Врста и ниво студија: Основне академске студије, први ниво
Назив предмета: WEB ПРОГРАМИРАЊЕ
Наставник (Презиме, средње слово, име): Стефановић Ж. Миладин
Статус предмета: Изборни на основним академским студијма Информатике и изборни на
основним академским студијама Физике
Број ЕСПБ: 7
Услов: Уписан одговарајући семестар
Циљ предмета:
Савладавање основа технологије, значаја и примене клијентског и серверског WEB
програмирања
Исход предмета:
Знања која ће студенти стећи после савладавања програма:
Упознавање са технологијом, могућностима и применама клијентског и серверског WEB
програмирања
Вештине које ће стећи студенти после савладавања програма:
Разумевање намене и могућности WEB програмирања и спосбност за самостално креирање
клијетских и серверских програма.
Ставови које ће стећи студенти после савладавања програма:
Формирање схватања о могућностима, начинима примене, пројектовању и развоју
клијентских и серверских програма за WEB.
Садржај предмета
Теоријска настава:
Web окружење. Дефинисање различитих приказа и претраживача, принципи пројектовања
Увод у XML. Шта је XML, од чега потиче XML, намена XML, како се почиње са XML-ом.
Markup и концепти језгра. Тагови, документи, елементи, ентитети,
Моделирање информација. Једноставно меморисање података, наративни документи,
сложени подаци, описивање документа документом.
Графика. GIF, JPEG, PNG формат, креирање графика Web палетом.
Мултимедија и интерактивност, анимирани GIF, аудио и видео на Web-u, увод у Java script.
Серверско програмирање - CGI, PHP, Java, .NET
Програмирање. Низови и догађаји, стабла и објекти, Pull Parsing, стандардни API, избор
парсера, PYX, SAX, DOM, ostale opcije.
Web servisi. Uvod u Web servise, opisivanje informacija:XML, OPIS Web servisa:WSDL, pristup
Web servisima SOAP, налажење Web сервиса: UDDI регистри, алтернативни приступ:
ebXML, архитектуре Web servisa, имплементација Web сервиса.
Креирање портала. Креирање оквира за организовање информација. Коришћење трослојне
архитектуре, коришћење оквира за интеграцију апликација, обезбеђивање прихватања
портала, мерење повратка инвестиција.
Практична настава:
Креирање WEB апликација
Вежбе: Самосталан рад студената на развоју WEB апликација.
pf3
pf4
pf5
pf8

Delimični pregled teksta

Preuzmite Web programiranje Vežbe 1 i više Slajdovi u PDF od Web programiranje samo na Docsity!

Web programiranje

Vežbe 1

1. Sadržaj predmeta iz knjige predmeta

Студијски програм: ИНФОРМАТИКА/ФИЗИКА Врста и ниво студија: Основне академске студије, први ниво Назив предмета: WEB ПРОГРАМИРАЊЕ Наставник (Презиме, средње слово, име ) : Стефановић Ж. Миладин Статус предмета: Изборни на основним академским студијма Информатике и изборни на основним академским студијама Физике Број ЕСПБ: 7 Услов: Уписан одговарајући семестар Циљ предмета: Савладавање основа технологије, значаја и примене клијентског и серверског WEB програмирања Исход предмета: Знања која ће студенти стећи после савладавања програма: Упознавање са технологијом, могућностима и применама клијентског и серверског WEB програмирања Вештине које ће стећи студенти после савладавања програма: Разумевање намене и могућности WEB програмирања и спосбност за самостално креирање клијетских и серверских програма. Ставови које ће стећи студенти после савладавања програма: Формирање схватања о могућностима, начинима примене, пројектовању и развоју клијентских и серверских програма за WEB. Садржај предмета Теоријска настава: Web окружење. Дефинисање различитих приказа и претраживача, принципи пројектовања Увод у XML. Шта је XML, од чега потиче XML, намена XML, како се почиње са XML-ом. Markup и концепти језгра. Тагови, документи, елементи, ентитети, Моделирање информација. Једноставно меморисање података, наративни документи, сложени подаци, описивање документа документом. Графика. GIF, JPEG, PNG формат, креирање графика Web палетом. Мултимедија и интерактивност, анимирани GIF, аудио и видео на Web-u, увод у Java script. Серверско програмирање - CGI, PHP, Java, .NET Програмирање. Низови и догађаји, стабла и објекти, Pull Parsing, стандардни API, избор парсера, PYX, SAX, DOM, ostale opcije. Web servisi. Uvod u Web servise, opisivanje informacija:XML, OPIS Web servisa:WSDL, pristup Web servisima SOAP, налажење Web сервиса: UDDI регистри, алтернативни приступ: ebXML, архитектуре Web servisa, имплементација Web сервиса. Креирање портала. Креирање оквира за организовање информација. Коришћење трослојне архитектуре, коришћење оквира за интеграцију апликација, обезбеђивање прихватања портала, мерење повратка инвестиција. Практична настава: Креирање WEB апликација Вежбе: Самосталан рад студената на развоју WEB апликација.

2. Konkretan sadržaj predmeta za školsku 2009/

Za školsku 2009/2010 godinu, predmet Web programiranje bazira se na tehnologijama otvorenog koda PHP5, Apache i MySQL:

  • PHP - programski jezik skript tipa posebno pogodan za razvoj web aplikacija na strani servera za dinamičko generisanje web stranica. Verzija 5 ovog programskog jezika takođe poseduje većinu objektno-orijentisanih karakteristika svojstvenih objektno-orijentisanim jezicima kao što su C++, Java, C# ili Python. Sintaksa PHP-a je slična sintaksi C-a i Perl-a. Podržava većinu popularnih baza podataka, uključujući tu MySQL, SQLite, MS SQL, Oracle itd, operativne sisteme Windows, Linux, FreeBSD, Solaris, OS X i različite web servere, kao što su Apache, MS IIS.
  • Apache - Web server koji je odigrao ključnu ulogu u početnom rastu web-a sredinom devedesetih godina 20. veka. 2009. godine ovaj web server pogoni preko 100 miliona web lokacija širom sveta! U avgustu 2009, Apache opslužuje 54.32% svih svetskih sajtova i preko 66% najposećenijih sajtova na svetu. Apache je server modularne arhitekture, a različite programske platforme se s njim uvezuju preko specijalnih modula, na primer mod_php, mod_python, mod_mono, mod_aspdotnet itd.
  • MySQL - open-source sistem za upravljanje relacionim bazama podataka. Ima preko 6 miliona instalacija. U sprezi sa prethodno navedenim tehnologijama, a zahvaljujući svojoj skalabilnosti, koristi se u projektima kao što su WordPress, phpBB, Wikipedia, Facebook, Google. Poseduje API (Applications Programming Interface) za sve popularne programske jezike.
  • LAMP - kombinacija Linux-Apache-MySQL-PHP/Perl/Python softvera pogoni najveći broj web sajtova na svetu.

Literatura:

  1. PHP 5 Beginning PHP and MySQL , from Novice to Professional , W. Jason Gilmore, APRESS, 2007.
  2. PHP Cookbook, David Sklar, Adam Trachtenberg
  3. PHP Zend Tutorial (http://devzone.zend.com/article/627)
  4. .....
  • Veoma unapređen OOP - eksplicitni konstruktori i destruktori, kloniranje objekata, apstrakcija klasa, public-private-protected deklaracije, interfejsi.
  • Try/catch rukovanje izuzecima - radi na sličan način kao u Javi i C#.
  • Unapređena podrška za XML i web servise - XML podrška se sada zasniva na libxml biblioteci, a takođe je tu i SOAP ( Simple Object Access Protocol ) podrška za komunikaciju sa web servisima.
  • Nativna podrška za SQLite bazu podataka - ultralight baza koja podržava SQL standarde.

PHP

PHP6 je još uvek u razvoju, tako da nije potpuno sigurno kako će tačno izgledati. Neke od njegovih naprednih osobina implementirane su ( backport ) na aktuelnu verziju 5.3. Evo nekih od sigurnih kandidata za funkcionalnost PHP6:

  • Unicode podrška - dodata nativna Unicode podrška, čineći dosta lakšim posao održavanja multijezičkih web aplikacija
  • Veliki broj unapređenja sigurnosti - neke ranije konstrukcije jezika koje su se pokazale kao nesigurne biće iznačene
  • Nove mogućnosti jezika i konsrukcije - 64-bitni celobrojni tip, foreach konstrukcija za multidimenzione nizove, closures , prostori imena ( namespaces ), itd.

4. Opšte osobine jezika

Praktičnost

Dato je upoređenje Java koda koji štampa današnji datum sa PHP kodom koji čini to isto: Java: import java.util.*; public class JavaGetTodaysDate { public static void main(String[] args) { Date today = Calendar.getInstance().getTime(); System.out.println(today); } }

PHP:

Dato poređenje ukazuje na to da je PHP skript jezik, slično JavaScript-u, Python-u, Perl-u, Ruby-ju itd. PHP je slabo tipiziran jezik, gde se konverzija tipova, ukoliko je moguća, dešava implicitono, tako da a sledeći kod prolazi bez problema: Oslobađanje sistemskih resursa po završetku skripta takođe je automatsko, tako da PHP programeru omogućava da se skoncentiše na samo rešavanje problema na kome radi, umesto da vodi računa o administrativnim zadacima.

Snaga

Programeri PHP jezgra, kao i zajednica, razvili su preko 180 biblioteka različitih namena, tako da je velika mogućnost da ono što novom programeru zatreba već negde postoji rešeno u okviru neke od biblioteka. Evo nekih značajnih mogućnosti:

  • Kreiranje i manipulacija PDF i Flash fajlovima
  • Parsiranje najkompleksnijih stringova PCRE regularnim izrazima
  • Autentifikacija korinsika čiji su nalozi smešteni u fajlu, bazi podataka ili čak MS Active Directory
  • Komunikacija korišćenjem širokog dijapazona protokola, recimo LDAP, IMAP, POP3, NNTP, DNS i mnogi drugi
  • Integrisana rešenja za procesiranje kreditnih kartica Funkcionalnost PHP-a u svakom trenutku se može proširiti ekstenzijama iz PEAR baze ( PHP Extension and Application Repository ), koja funkcioniše slično kao paket-menadžer Linux distribucija.

5. Konfiguracija okruženja

Iako su postavljene na Internetu, web aplikacije se razvijaju kao i bilo koja desktop aplikacija - na lokalnom računaru. Za razvoj PHP web aplikacije, pored samog PHP-a, potreban je i odgovarajući web server. Na ovom kursu, biće korišćena standardna AMP baterija aplikacija (Apache-MySQL- PHP), prisutna kod većine provajdera koji nude hosting usluge.

MS Windows

Najlakši način za instalaciju AMP baterije na bilo kom Windows sistemu je postavljanje nekog od integrisanih rešenja, kao što je XAMPP (http://www.apachefriends.org/en/xampp.html). Apache i MySQL se u Windows sistemu pojavljuju kao servisi (aplikacije koje rade u pozadini) i moguće ih je pokrenuti ili zaustaviti iz centralizovanog kontrolnog panela.

Linux

Ogromna većina Linux distribucija u repozitorijumu sadrži i sve komponente AMP baterije aplikacija, tako da je jedna jedina komanda dovoljna za instalaciju. Na Debian/Ubuntu sistemu, dovoljno je: apt-get install apache2 libapache2-mod-php5 php-pear mysql-server php5-mysql libxml2-dev PHP programi se mogu pisati i u običnom tekst editoru, npr. Notepad -u ili gEdit -u. Tokom 15- godišnje istorije PHP-a, razvijen je i određen broj kompletnih IDE ( Integrated Development Environment ) okruženja koja veoma ubrzavaju razvoj aplikacija. Velike mogućnosti pružaju Netbeans for PHP (preporuka), ili Eclipse PDT , takođe besplatna open-source rešenja.

Kompajliranje iz izvornog koda

Ponekad je potrebno napraviti posebno podešenu konfiguraciju web servera i PHP okruženja. U tom slučaju, pristupa se kompajliranju Apache i PHP iz izvornog koda. Kompajliranje i instalacija se vrši na isti način kao za većinu open-source UNIX softvera, poštovanjem procedure (./configure && make && make install). Izvorni kod se preuzima sa http://httpd.apache.org/download.cgi i http://www.php.net/downloads.php. Ovde će biti dat primer najjedostavnije instalacije Apache-a i PHP-a na bilo kom Linux sistemu koji ima instaliranu gcc kompajler kolekciju (paketi: gcc, g++, make i build-essentials). Treba obratiti pažnju da je TCP port 80 već zauzet web serverom iz paket-menadžera, pa treba podesiti da Apache instaliran iz izvornog koda koristi neki drugi port (u fajlu INSTALL_LOC/conf/httpd.conf, opcija Listen BROJ_PORTA ). Procedura kompajliranja i instalacije za Apache 2.2.13: $ wget http://www.carfab.com/apachesoftware/httpd/httpd-2.2.13.tar.gz $ tar xvzf httpd-2.2.13.tar.gz $ cd httpd-2.2. $ ./configure --enable-so --prefix=/home/student/apache $ make $ make install

Procedura kompajliranja i instalacije PHP 5.3. $ wget http://www.php.net/get/php-5.3.0.tar.gz/from/si.php.net/mirror $ tar xvzf php-5.3.0.tar.gz $ ./configure --with-apxs2=/home/student/apache2/bin/apxs --prefix=/home/student/apache $ make $ make install $ cp php.ini-development /home/student/apache2/lib/php.ini Konfiguracija Apache servera

  1. $ cd /home/student/apache
  2. Editovati fajl conf/httpd.conf izmeniti liniju “Listen 80” u Listen “2000” , a na kraj fajla dodati: AddType application/x-httpd-php .php
  3. Radi testa, napraviti fajl htdocs/index.php sa sadržajem “
  4. Startovati Apache server komandom: $ bin/apachectl start
  5. Podesiti web browser na adresu: http://localhost: Informacije o PHP i Apache konfiguraciji treba da se pojave unutar browsera.