Konkurencyjne przeglądarki różnią się nie tylko

advertisement
Instytut Politechniczny
Kierunek studiów: Informatyka
Specjalność: Sieciowe Systemy Informatyczne
PRACA INŻYNIERSKA
Internetowa aplikacja do zarządzania pracami studentów.
Marcin Pankiewicz
Opiekun pracy dr inż. Bartosz Trybus
Krosno 2014
Marcin Pankiewicz
Nr albumu:
Oświadczenie
Oświadczam, świadomy odpowiedzialności karnej za poświadczenie nieprawdy, że niniejszą
pracę dyplomową wykonałem osobiście, samodzielnie i nie korzystając ze źródeł innych niż
wymienione w pracy.
….................................
(czytelny podpis)
-2-
Składamy serdeczne podziękowania dla
Pana dr inż. Bartosza Trybusa
za pomoc i cenne wskazówki udzielone
w czasie pisania niniejszej pracy.
-3-
Spis treści
1.
WSTĘP ......................................................................................................................................... 5
2.
CELE PRACY .............................................................................................................................. 6
3.
CHARAKTERYSTYKA ŚRODOWISKA PROGRAMISTYCZNEGO ..................................... 7
I.
JĘZYK PROGRAMOWANIA PHP ............................................................................... 7
II.
FRAMEWORK CODEIGNITER .................................................................................. 9
III.
STANDARDY HTML ORAZ CSS .............................................................................. 12
SPIS LITERATURY .......................................................................................................................... 20
SPIS TABEL ...................................................................................................................................... 20
SPIS RYSUNKÓW ............................................................................................................................ 21
STRESZCZENIE PRACY................................................................................................................ 23
OŚWIADCZENIE ............................................................................................................................. 23
-4-
1. WSTĘP
W dzisiejszych czasach w wielu dziedzinach życia papierowe dokumenty zastępowane są
wersjami elektronicznymi. Niewątpliwe proces ten znacznie ułatwia zarządzanie tymi dokumentami
oraz przede wszystkim rozwiązuje problem archiwizacji, który w przypadku dokumentów
papierowych jest problematyczny. Dodatkowym atutem dokumentów elektronicznych jest ich
katalogowanie i przeszukiwanie, gdyż w zaawansowanych systemach zarządzania dokumentami
mamy możliwość przeszukiwania nie tylko wśród ich nazw ale również w ich treściach.
Coraz więcej placówek publicznych w tym szkoły oraz urzędy państwowe zaczyna
korzystać z udogodnień informatyzacji i wprowadza systemy do zarządzania dokumentami, które
usprawniają ich pracę.
-5-
2. CELE PRACY
Celem niniejszej pracy jest rozwiązanie problemu przechowywania oraz przetwarzania prac
w formie dokumentów elektronicznych, składanych przez studentów. Cel zostanie zrealizowany
poprzez stworzenie aplikacji bazodanowej opartej na systemie webowym służącej do zarządzania
pracami. Technologia ta umożliwi łatwy dostęp studentom oraz nauczycielom do systemu z każdego
miejsca na świecie. Nauczyciel będzie mógł zarządzać swoimi przedmiotami, wysłanymi
dokumentami oraz tworzyć nowe kategorie sprawozdań, natomiast każdy student po zalogowaniu się
od systemu będzie mógł wysyłać prace. Projekt będzie stworzony przy pomocy bazy danych MySQL
oraz przy użyciu popularnego frameworka CodeIgniter.
-6-
3. CHARAKTERYSTYKA ŚRODOWISKA
PROGRAMISTYCZNEGO
Wykorzystywanie jedynie języka HTML do tworzenia statycznych stron internetowych, zostało
zastąpione tworzeniem dynamicznych stron z możliwością prostej edycji za pomocą systemów
zarządzania treścią strony – CMS. Większość aktualnie tworzonych stron internetowych opiera się
na trzech dominujących językach programowania, które w połączeniu umożliwiają stworzenie
niemalże każdego zaawansowanego projektu aplikacji internetowej.
Językami wykorzystywanymi do budowy stron internetowych są:
I.

Język PHP

Hipertekstowy język znaczników HTML + arkusz styli CSS

Język Javascript
JĘZYK PROGRAMOWANIA PHP
Język PHP jest to skryptowy język programowania stworzony do tworzenie stron oraz
aplikacji internetowych w czasie rzeczywistym. Jest on obecnie najpopularniejszą technologią
wykorzystywaną do współpracy z serwerami WWW.
W dzisiejszych czasach znajomość języka PHP to podstawa wśród osób tworzących strony
internetowe. Możliwości języka są ogromne, gdyż znajduje zastosowanie zarówno w prostym
przetwarzaniu wprowadzonych przez użytkownika danych w formularzu na stronie www, aż do
obsługi zaawansowanych projektów opartych na dużych bazach danych.
-7-
Język PHP pozwala na obsługę wielu protokołów sieciowych między innymi:

SMTP – bardzo często wykorzystywany protokół do wysyłania wiadomości elektronicznych
e-mail

POP3 oraz IMAP – protokoły do odbierania wiadomości e-mail

NNTP – popularny protokół do obsługi grup dyskusyjnych
Język również pozwala między innymi na:

tworzenie dokumentów PDF, DOC, XML, itp.

tworzenie obrazów (dzięki popularnej bibliotece GD)

tworzenie animacji flash
Popularność swoją może zawdzięczyć otwartemu kodowi (open source) oraz uniwersalności. Może
współpracować z najpopularniejszymi systemami operacyjnymi takimi jak: Windows, Linux czy też
MacOS. Współpracuje również z dużą liczbą baz danych, chociaż najczęściej używana jest baza
MySQL.
Składnia języka PHP jest oparta, między innymi na języku C.
Rysunek 1 Przykład składni języka PHP
Początek i koniec kodu PHP zawsze można łatwo rozpoznać, gdyż zaczyna i kończy się od
znaczników - <?php oraz ?>.
-8-
II.
FRAMEWORK CODEIGNITER
Framework to gotowe elementy do budowy strony bądź aplikacji internetowej przygotowane
służące do wspomagania pracy nad projektami. Często wybierane nawet przez doświadczonych
programistów przyśpieszają tworzenie nowych projektów bez potrzeby tworzenia podstaw strony,
udostępniają gotowe ramy dla projektu. Większość dostępnych frameworków udostępnia dobrze
przygotowane dokumentacje przez co praca z nimi staje się jeszcze prostsza.
Do podstawowych elementów frameworków zaliczamy:
a. Skrypt uruchamiania aplikacji
b. Skrypt zarządzający konfiguracją aplikacji
c. Skrypt zarządzający konfiguracją oraz komunikacją z bazą danych
d. Obsługa formularzy
e. System szablonów oraz wczytywania widoków
f. Obsługa błędów
g. Skrypty bezpieczeństwa oraz szyfrowania
Dodatkowo używanie frameworków wprowadza namiastkę obiektowości do języka imperatywnego
jakim jest język PHP. Większość z nich jest oparta o konstrukcje MVC tzn. Model View Controller –
Model Widok Kontroler, która nadaje pewien wzorzec tworzenia aplikacji.
Wzorzec MVC:
a. Model - używany do definiowania częstych operacji na bazach danych oraz operacji
logicznych. W folderze model to każdy plik - z końcówką „_model” lub „_m” , który zawiera
definicję klasy modelu oraz metod. Każda metoda jest definiowana przez programistę który
nadaje jej funkcje.
-9-
W projekcie modele zostały stworzone do obsługi częstych zapytań do bazy danych takich
jak:

get_all() – pobierająca wszystkie rekordy z tabeli

get_details() – pobierająca dane tylko jednego rekordu w tabeli

update() – aktualizuje rekord w tabeli

insert() – dodawanie rekordów
Parametry czy też ograniczenia do metod przekazywane są odpowiednio atrybutami.
Rysunek 2 metoda pobierająca szczegóły rekordu z bazy danych z modelu system_model
b. View – używany do wyświetlania widoków, które zazwyczaj pobierają informacje z modeli i
kontrolerów. Założeniem widoków jest dążenie do jak najmniejszej ilości kodów skryptowych
PHP, a skupieniu się tylko na stylizacji wyników przy użyciu HTML i CSS z dodatkiem
javascript. Widoki wywoływane są za pomocą kontrolerów.
- 10 -
Rysunek 3 metoda Edycji profilu w kontrolerze User_controller
c. Controller – odpowiada za przyjmowanie danych wejściowych wprowadzanych przez
użytkownika i reagując na jego akcje wywołuje odpowiednie modele, widoki czy też funkcje
wspomagające (helper).
Każdą publiczną metodę kontrolera można wywołać za pomocą adresu URL, na przykład:

Metodę Edycji profilu w kontrolerze User uruchamia się wywołując adres:
/user/edit_profile

Metodę Wylogowanie się z systemu znajdującą się w kontrolerze User uruchamiamy
wywołując adres: /user/logout
Każdy link składa się z segmentów oddzielonych ukośnikami, każdy ukośnik informuje o
nowym segmencie. Pierwszy segment odpowiada za nazwę kontrolera, który ma zostać
wywołany, a drugi za wywołanie odpowiedniej metody. Każdy następny segment odpowiada
za parametry przekazywane do metody kontrolera, jeśli zostały zdeklarowane jako atrybut w
metodzie natomiast jeśli nie zostały przewidziane to zostają zignorowane przez system.
- 11 -
Rysunek 4 Fragment kontrolera Course - odpowiedzialnego za obsługę kierunków studiów
III.
STANDARDY HTML ORAZ CSS
HTML jest to język hipertekstowego znakowania (z ang. Hypertext Markup Language), któremu
organizacja World Wide Web Consorcium (skrót W3C) nakreśliło specyfikację jak tworzyć
dokumenty prezentowane w Internecie. Język HTML powstał w latach 90-tych, stworzony przez
Tima Bernersa-Lee.
HTML umożliwia publikowanie w Internecie dokumentów zawierających:

Tabele

Teksty

Nagłówki

Listy

Zdjęcia

Formularze

Filmy wideo

Oraz różne aplikacje
- 12 -
Język HTML jest podstawowym językiem stosowanym do tworzenia wszystkich stron internetowych.
Znacznik
<!--...-->
<!DOCTYPE>
<a>
<article>
<aside>
<b>
<body>
<br>
<button>
<center>
<div>
<dl>
<dt>
<fieldset>
<figure>
<footer>
<form>
<h1> to <h6>
<head>
<header>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<label>
<legend>
<li>
<meta>
<nav>
<noscript>
<ol>
<p>
<pre>
<s>
<script>
<section>
<select>
<small>
<span>
<strong>
<style>
<sup>
<table>
Opis
Komentarz
Typ dokumentu
Link
Artykuł (od HTML5)
Dodatkowa treść do strony (od HTML5)
Pogrubiona czcionka
Ciało dokumentu
Następna linia
Przycisk
Wyśrodkowanie (od HTML5 - nieobsługiwane)
Blok/sekcja
Lista opisowa
Definicja do listy opisowej
Grupa pól formularza
Obiekt np. img (od HTML5)
Stopka dokumentu (od HTML5)
Formularz
Nagłówki od h1 do h6 (hierarchicznie)
Nagłówek dokumentu
Blok nagłówkowy (od HTML5)
Linia oddzielająca
Definicja ram dokumentu
Kursywa
Ramka „pływająca”
Obrazek
Pole formularza
Opis do pola formularza
Opis do zbioru pól <fieldset>
Element listy
Metadane do dokumentu HTML
Blok nawigacji (od HTML5)
Alternatywny kod jeśli brak javascript
Lista uporządkowana
Akapit
Treść formatowana
Przekreślenie
Skrypt np. kod javascript
Blok sekcji (od HTML5)
Lista rozwijana
Mały tekst
Sekcja w dokumencie
Ważny tekst (pogrubiony)
Definicja stylu dokumentu CSS
Indeks górny
Tabela
- 13 -
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<title>
<tr>
<u>
<ul>
Ciało tabeli
Komórka tabeli
Pole tekstowe
Stopka tabeli
Komórka nagłówka tabeli
Nagłówek tabeli
Tytuł strony
Wiersz tabeli
Podkreślenie tekstu
Lista nieuporządkowana
Tabela 1 Najczęściej używane znaczniki języka HTML
Aktualnie projektowane strony WWW przyciągają uwagę gości oraz umożliwiają łatwe
znajdywanie poszukiwanych informacji. Język HTML to przełomowy język, który wyparł proste
przesyłanie krótkich informacji tekstowych (z lat siedemdziesiątych), na rzecz tworzenia
rozbudowanych dokumentów internetowych. Dzięki temu można przesyłać duże dane w postaci
plików, zawierać transakcje handlowe czy też prowadzić rozmowy video oraz wiele innych
udogodnień.
Znaczniki (tagi)
Znaczniki to podstawowy element języka HTML. I może charakteryzować się dwoma cechami:
atrybutem oraz zawartością. Atrybuty i zawartości muszą spełniać określone wymagania określone
w specyfikacji W3C dla danej wersji języka, dla poprawnej walidacji pod kątem standardów.
Znaczniki rozpoczynają się od znacznika otwierającego, a kończą znacznikiem zamykającym.
- 14 -
Rysunek 5 Kod HTML - fragment kodu formularza
Atrybuty komponentu zawarte są w znaczniku otwierającym po nazwie znacznika, natomiast
zawartość znacznika powinna znajdować się pomiędzy znacznikiem otwierającym, a zamykającym.
Niektóre elementy nie zawierają lub nie wymagają zawartości ani znacznika zamykającego.
<br/>
<hr/>
<img/>
<input/>
<script/>
lub
<script>wartość</script>
<meta/>
Lub
<meta></meta>
Tabela 2 Znaczniki nieposiadające lub niewymagające zawartości
Znaczniki dzielą się na różne typy:
a) Strukturalne - są to znaczniki opisujące logiczną strukturę tekstu, np. <h1>Tytuł strony</h1>
nadaje znaczenie wyrazowi „Tytuł strony” oraz traktuje go jako nagłówek pierwszego stopnia.
Przeglądarka wyświetli go w sposób wyróżniony (standardowo jako większy i pogrubiony
napis). Znaczniki strukturalne nie definiują stylu wyświetlania lecz większość przeglądarek
posiada własne wbudowane style, które używa jeśli programista nie zdefiniował inaczej.
- 15 -
b) Prezentacyjne – to znaczniki opisujące wygląd danych elementów, np. <b>PWSZ
w Krośnie</b> powoduje, że napis „PWSZ w Krośnie” zostaje wyświetlony pogrubioną
czcionką. W języku HTML istnieją równoważne znaczniki, mające podobną formę, ale
różniące się semantycznie. Np. <b>pogrubiony tekst</b> oznacza to samo co
<strong>pogrubiony tekst</strong>. Aktualnie w specyfikacji HTML 4 znaczniki
prezentacyjne oznaczone są jako przestarzałe na rzecz arkuszy stylów CSS.
c) Hipertekstowe – znaczniki odnośniki do innych dokumentów, a nawet innych części tego
samego dokumentu. Linki zapisywane są w postaci <a>Inna strona</a>, używając
znacznika anchor (po polsku Kotwica). Znacznik ten wymaga atrybutu „href” z poprawnym
adresem URL jako wartość atrybutu.
Rysunek 6 Fragment kodu HTML z wyśrodkowanym odnośnikiem oraz nagłówkiem
Rysunek 7 Wynik wyświetlenia kodu HTML z wyśrodkowanym nagłówkiem oraz odnośnikiem
Atrybuty
Standardowo atrybuty składają się z pary nazwy oraz wartości, rozdzielonych znakiem równości „=”.
Atrybuty należy umieścić w znaczniku otwierającym, po jego nazwie, a każdy następny atrybut
powinien zostać oddzielony znakiem spacji. Dodatkowo atrybuty mogą być zapisywane w dowolnej
kolejności. Wartość atrybutu należy zapisać po znaku równości w pojedynczych lub podwójnych
- 16 -
cudzysłowach. Przy niektórych wartościach cudzysłowy mogą być pominięte, lecz nie jest to
zalecane. Istnieją atrybuty nieposiadające wartości takie jak: required lub readonly (lecz dodatkowo
mogą być stosowane na przemian z np. required=”required” lub required=”true”).
Id
Class
Style
Title
Value
Tabela 3 Często używane atrybuty znaczników HTML
Większa część znaczników posiada standardowe atrybuty: id, class, style title, a także lang oraz dir
(związane z językiem: lang – język, dir – kierunek pisania).
Każdemu znacznikowi można nadać unikalny identyfikatora za pomocą atrybutu „id”. Atrybut ten
może zostać wykorzystany przez arkusze stylów CSS do zdefiniowania wyglądu danego elementu
lub też przez skrypty, np. javascript do tworzenie pewnych akcji z danym znacznikiem. Według
specyfikacji W3C na danej stronie może znajdować się tylko jeden znacznik o danym atrybucie id.
Podobnym znacznikiem do „id” jest znacznik „class” określający klasę (grupę) elementów o
podobnych cechach. Został on sklasyfikowany jako atrybut do celów prezentacyjnych. Elementy
posiadające taką samą klasę mogą np. otrzymać podobny styl.
Atrybut style służy do nadania konkretnemu znacznikowi stylu prosto w kodzie HTML. Jest on
określany jako atrybut „wymuszający”, gdyż posiada najwyższy priorytet stylu nawet względem
arkuszów stylów CSS. Ogólne standardy określają iż elementy powinno się stylizować za pomocą
arkuszu stylów oraz atrybutów „class” oraz „id”.
- 17 -
W celu dodania do elementu informacji tekstowej używa się atrybutu „title”. W większości
przypadków wartość wyświetlana jest w postaci podpowiedzi, pojawiającej się po najechaniu myszą
na dany element. Atrybut „title” tak samo jak „alt” wykorzystywany jest do programów czytających
strony dla osób niedowidzących lub niewidzących.
Deklaracja typu
Każdy dokument HTML powinien zaczynać się od definicji typu dokumentu (DTD), która
jest wymagana do celów poprawnej walidacji utworzonej strony. DTD do którego odwołuje się
DOCTYPE, zawiera: zasady wykorzystywania znaczników zgodnie z specyfikacją HTML oraz
gramatykę. Większość przeglądarek WWW korzysta z sekcji DOCTYPE, a także innych informacji
(np. meta), warunkując tryb renderowania strony internetowej.
Wersja HTML
Kod DOCTYPE
HTML 4.0 <!DOCTYPE html PUBLIC „-//W3C//DTD HTML 4.01//EN”
http://www.w3.org/TR/html4/strict.dtd>
HTML 5 <!DOCTYPE html>
Tabela 4 Przykłady definicji typu dokumentu DTD
Do przeglądania stron WWW oczywiście niezbędne są przeglądarki Internetowe, które
przetwarzają
przesłany dokument
HTML i
wyświetlają
najpopularniejszych przeglądarek www należą:

Mozilla Firefox

Chrome

Internet Explorer

Opera

Safari
- 18 -
w
odpowiedniej
formie.
Do
40.00%
35.00%
30.00%
25.00%
20.00%
15.00%
10.00%
5.00%
0.00%
11.2013
12.2013
1.2014
2.2014
Chrome 32.x
0.00%
0.00%
12.08%
26.89%
Firefox 26.x
0.26%
11.01%
34.54%
25.74%
MSIE 11.x
0.53%
4.57%
5.23%
5.38%
Opera 12.x
4.06%
3.87%
3.79%
3.59%
Chrome 32.x
Firefox 26.x
MSIE 11.x
Opera 12.x
Tabela 5 - ranking najpopularniejszych przeglądarek (źródło: ranking.pl)
Konkurencyjne przeglądarki różnią się nie tylko wyglądem lecz również działaniem.
Aktualnie programiści polecają przeglądarki Mozilla Firefox oraz Chrome, gdyż obie bardzo
popularne nie odbiegają od standardów rozpoznawania mechanizmów HTML oraz CSS. Gorzej
wypadają w tej konkurencji Safari oraz przede wszystkim Internet Explorer, mimo poprawy w
najnowszych wersjach większość użytkowników nadal korzysta z ich poprzednich wersji. Strony
tworzone w języku HTML w wersji piątej (HTML5) nie są wspierane przez starsze wersje Internet
Explorer-a, tak samo jak najnowsze style CSS3 nie zostają prawidłowo rozpoznawane przez co strony
mogą nawet w ogóle nie przypominać zamierzonego efektu w danej przeglądarce.
- 19 -
SPIS LITERATURY
1. Marcin Lis, Praktyczny kurs PHP5 – opanuj techniki tworzenia dynamicznych witry WWW,
Helion Gliwice 2006
2. Oficjalna dokumentacja framework CodeIgniter: http://ellislab.com/codeigniter/user-guide/
SPIS TABEL
Tabela 1 Najczęściej używane znaczniki języka HTML ................................................................. 14
Tabela 2 Znaczniki nieposiadające lub niewymagające zawartości ................................................. 15
Tabela 3 Często używane atrybuty znaczników HTML ................................................................... 17
- 20 -
Tabela 4 Przykłady definicji typu dokumentu DTD ......................................................................... 18
Tabela 5 - ranking najpopularniejszych przeglądarek (źródło: ranking.pl) ..................................... 19
SPIS RYSUNKÓW
Rysunek 1 Przykład składni języka PHP ............................................................................................ 8
Rysunek 2 metoda pobierająca szczegóły rekordu z bazy danych z modelu system_model ............ 10
Rysunek 3 metoda Edycji profilu w kontrolerze User_controller ..................................................... 11
- 21 -
Rysunek 4 Fragment kontrolera Course - odpowiedzialnego za obsługę kierunków studiów .......... 12
Rysunek 5 Kod HTML - fragment kodu formularza ........................................................................ 15
Rysunek 6 Fragment kodu HTML z wyśrodkowanym odnośnikiem oraz nagłówkiem................... 16
Rysunek 7 Wynik wyświetlenia kodu HTML z wyśrodkowanym nagłówkiem oraz odnośnikiem .. 16
- 22 -
STRESZCZENIE PRACY
Podczas pracy nad tworzeniem urządzenia pomiaru temperatury, użyto i wykorzystano wiele
przydatnych i rozbudowanych funkcji mikrokontrolera HC908QB8 oraz czujników temperatury
firmy Dallas DS18B20 . Oprócz elementów elektronicznych została wykorzystana platforma
programistyczna
CodeWarrior
wspomagająca
tworzenie
aplikacji
i
programowanie
mikrokontrolerów w języku niskopoziomowym Assembler.
Opisano w szczegółowy sposób funkcje i działanie poszczególnych części elektronicznych
urządzenia oraz poszczególne funkcje programu głównego.
Dodatkowo zawarto instrukcję prawidłowej obsługi i wykrywania możliwych problemów urządzenia
pomiarowego. Głównym problemem projektu był pomiar temperatury w rozproszonych punktach
pomiaru.
OŚWIADCZENIE
1. Prawo do korzystania z zawartych w pracy wyników oraz prawo nieodpłatnego
- 23 -
rozporządzania tymi wynikami ma Państwowa Wyższa Szkoła Zawodowa w KROŚNIE.
2. Dyplomantowi służy prawo do uznania go za współtwórcę na zasadach określonych w
prawie autorskim
Data:
Własnoręczny podpis:
- 24 -
Download