Programiranje

Download Report

Transcript Programiranje

Programski jezici 101

Programske jezike svrstavamo u više grupa :

- Web jezici ( ASP.NET, PHP )

- Desktop jezici ( C, C++, C# )

- SQL ( jezik za rad s bazama podataka)

 

- Masovne primjene ( JAVA ) Šaljivi jezici ( LOLCODE, Brainfuck)

Web jezici

 PHP    

Hypertext Preprocessor

Serverski programski jezik široke namjene Ima sintaksu sličnu C-u Može bit umetnut u HTML kod  HTML  

Hypertext Markup Language

Jednostavan, “ human readable “ jezik  HTML element su osnova svake web stranice

Web jezici

 JavaScript  ASP(.NET)   Klijentski programski jezik ( izvršava se u pretraživaću korisnika ) Koristi se za povećanje interaktivnosti s korisnikom  

Active Server Pages

Proizvedena od strane Microsofta  ASP.NET je sljedeća generacija ASP-a

Desktop jezici

 C  C++, C#    Najzastupljeniji desktop programski jezik široke namjene Prvi put se pojavio 1972. godine Ima mnogo implementacija i služi kao osnova za mnoge buduće programske jezike    Sljedeće generacije C-a okrenute objektno orjentiranom programiranju C++ je jezik iz kojeg su sastavljeni Windowsi C# je Microsoftov programski jezik

( Zastarjeli ) Desktop jezici

 Assembly  Fortran   Low Level programski jezik ( nije portabilan) Koristi se za programiranje rada računala, mikroprocesora, mikrokontrolera, i ostalih programabilnih uređaja  Prvi put se pojavljuje 1957. godine te je masovno prihvaćen od strane IBM-a, Intel-a, Oracle-a, Fujitsua  U prvom redu napisan za znanstveno računanje

SQL jezici

Structured Query Language

   Prvi put se pojavljuju 1974. godine Služe za rad (komunikaciju) sa bazama podataka Odlikuju se statičnošću i jačinom  Podržava umetanje , mjenjanje , brisanje podataka, upravljanje strukturom baze, i kontrolu pristupa podacima  Proceduralni (neobjektni) pristup rada

Masovna primjena ( JAVA )

  Objektno orijentirani programski jezik sastavljen od strane Sun Microsystems-a Najzastupljeniji programski jezik, nalazimo ga svugdje: televizije, mobiteli, radio uređaji, kućanski aparati, u automobilima, pojačalima i mnogim drugim.

Njegova sintaksa je inspirirana od strane C++, Delphi-a, Pascala, a njime su inspirirani C#, JavaScript, PHP, Pyton, i drugi

Šaljivi jezici

 LOLCODE  Hello World primjer:     Ezoterični programski jezik sastavljen 2007. godine Napisan kao šala, ali ipak je našao svoju grupu korisnika Ima vrlo ograničenu upotrebu Filename ekstenzija

.lol

        HAI ( početak programa ) CAN HAS STDIO?

( upotreba standardne input / output biblioteke, ekvivalent

#include )

VISIBLE “HAI WORLD!“ ( prikazuje poruku “HAI WORLD” na ekranu ) KTHXBYE ( završava program, literalno: ok, thanks, bye)

LOLCODE nastavak

        HAI CAN HAS STDIO?

PLZ OPEN FILE “LOLCATS.TXT”?

AWSUM THX VISIBLE FILE O NOES INVISIBLE “ERROR!” KTHXBYE  LOLCODE primjer sa jednostavnim

if/else (ako/inače)

zahtjevom kojim se pokuša otvoriti file ( PLZ OPEN FILE – pokušaj otvoriti ovaj file ), AWSUM THX ako je uspješno, ili O NOES ako nije uspješno

Web jezici

 HTML  Osnova svake web stranice, opisuje strukturu i značajke (properties) stranice, kao npr. : ključne rječi, opis, standard po kojem je stranica pisana, i drugo.

       Kako izgleda kod tablice u HTML-u:

tekst

Ovaj kod crta tablicu širine 100 piksela, visine 50 piksela, i nalazi se na sredini stranice, i ima jedan redak (row) unutar kojeg je tekst ”tekst”

Web jezici

 CSS   

Cascading Style Sheets

Služi kao jezik kojim se manipulira izgled web stranice (izgled i formatiranje) Može biti korišten van HTML-a (XML, SVG, i drugi.)        Primjer formatiranja linkova u CSS-u:

a:hover

{ Color: red; } } A:active { Color: blue;  Ovaj će kod linkovima promjeniti boju u crveno kada pređemo mišem preko njih, te zaplaviti kada kliknemo na njih

(focus)

Web jezici

 JavaScript   Klijentski programski jezik (izvršava se u pretraživaću) izumljen 1995. godine Ne postoji jamstvo da će se JavaScript kod izvršiti u pretraživaću (jer korisnik može isključiti u pretraživaću izvršavanje JS koda)    Često se koristi u web stranicama i izvan njih Kada je korišten u web stranicama on se najčešće koristi za iskakanje novih prozora, provjeru (validiranje)

inputa,

efekte i mnogo više Kada je korišten izvan web stranice onda se najčešće koristi kao ekstenzija postojećim aplikacijama

Web jezici

 “Hello World” JavaScript primjer:      

 Važno je napomenuti i AJAX (

Asynchronous JavaScript and XML)

, grupu usko povezanih metoda za izvršavanje asinkronih (procesiranje koje dozvoljava drugim procesima da se nastavljaju izvršavati prije nego što se prijenos završi) zadaća.

Osnove Programiranja

 Svaki programski jezik se sastoji od varijabli, funkcija, petlji, konstanti, uvijeta, i drugo. Moderniji programski jezici podržavaju objektno orijentirano programiranje (OOP). Slijede primjeri u PHP-u, čija je sintaksa slična mnogim drugim programskim jezicima ( najviše C-u, iz kojeg je napravljena).   Primjer varijeble:

$imevarijable = “sadržaj varija”ble”;

            

Primjer stvaranja nove funkcije: } Function primjer($unos) { Echo “Unos: $unos”;

Primjer konstante, najčešće se pišu velikim slovima:

NASA_KONSTANTA = ‘sadrzaj’;

Primjer OOP – a, tj.

klase: Class primjer { } } $varijabla; Function primjer() { // nista se ne izršava

Osnove Programiranja - nastavak

 Uvjeti – if / elseif / else         Define(‘KONSTANTA’, 1);

If (KONSTANTA == 2) { // ovo se ne će izvršavati jer KONSTANTA nije 2 } } elseif (KONSTANTA == 1) { // ovo će se izvršavati } else { // ovo se ne će izvršavati, a izvršavalo bi se kada nijedan prijašnji uvjet nije zadovoljen

 Petlje (loops)  Kao najjednostavniji primjer koristiti ćemo

while

petlju. Ona se izvršava sve dok je uvjet u zagradi istinit.

      $i = 0;

} While ($i < 10) { // ovo će se izvršavati dok god je $i manji od 10 $i++; // $i se svaki put poveća za 1

 Važno je petlju učiniti

non-infinite

, tj. spriječiti da se ona beskonačno ponavlja.

Web jezici :: PHP

  Otvorenog koda, široke primjene i specijaliziran za razvoj web aplikacija i može biti ugrađen u HTML.

Sintaksu preuzeo iz C-a, u kojem je i napisan.

    Prvi put se pojavljuje 1995. godine Inicijalno izdan od strane Rasmusa Lerdorfa, sada PHP grupe Radi na više platforma (Windows, Linux, Mac OSX, Solaris) Uobičajne ekstenzije:

.php, .phtml, .phps

Web jezici :: PHP

 Hello World primjeri

// ovo je komentar. Prvi primjer: Echo “Hello World!”; /* drugi primjer: */ $varijabla = “Hello “; Echo $varijabla . “World”; # treći primjer: Print “Hello World”; ?>

  Echo() funkcija se koristi za ispis podataka na ekranu. U drugom primjeru uveli smo varijable, no rezultat je jednak, samo što je

string

(skup znakova, slova i brojki) “Hello” sadržan u varijabli

$varijabla.

Funkcija print() ekvivalentna je funkciji echo().

Web jezici :: PHP

 U sljedećem primjeru demonstriramo jednostavan PHP program pomoću kojeg vidimo koliko je puta stranica pogledana. Rezultati se spremaju u file

log.txt

.

        

// ime filea $ime = “log.txt”; // dohvaćamo trenutnu vrijednost $vrijednost = file_get_contents($ime); // povećamo je za jedan $vrijednost++; // umećemo novu vrijednost u log.txt

File_put_contents($ime, $vrijednost);

    

// prikazujemo novu vrijednost Echo “Broj Posjeta: “ . $vrijednost; // alternativni način prikazivanja vrijednosti Printf(‘Broj Posjeta: %d’, $vrijednost); ?>

Web jezici :: PHP i Baze Podataka

 U sljedećem primjeru prikazujem upotrebu PHP-a i SQL jezika za komunikaciju s MySQL bazom podataka (data base). Koristiti ćemo moderno objektno orijentirano programiranje, te već interno implementirani

mysqli

objekt. Dostupno od četvrte verzije PHP-a.

        

// iniciramo novi MySQL objekt $db = new mysqli(‘_lokacija baze_’, ‘_korisničko ime_’, ‘_lozinka_’, ‘_ime baze_’); // provjeravamo da li je veza uspješna

}

If ($db->connect_error)

{ // ako nije, prekini izvršavanje programa Die (‘Neuspješno spajanje’);  /* naredba koju ćemo predati MySQL poslužitelju. Ako zamislimo da je baza ispunjena korisnicima, želimo prikazati koliko je osoba kojima je ime Ivan */ $sql = “SELECT * FROM _ime baze_ WHERE ime = ‘Ivan’”; // izvršavamo naredbu $q = $db->query($sql);

... nastavak

       

/* provjeravamo postoji li osoba sa imenom Ivan u bazi podataka */ $provjera = $db->num_rows($q); If($provjera == 0)

{ Die (‘Korisnik ne postoji’); } else { /* korisnik postoji, izbacujemo broj ljudi sa imenom Ivan u bazi podataka */ } Echo $provjera;   // oslabađamo memoriju $db->free($q);    // zatvaramo vezu sa MySQL poslužiteljom $db->close(); ?>

Web programiranje :: Jednostavna HTML i PHP forma

        

– ovo je primjer komentara u htmlu -->

  

If ($_POST[‘pokrenuto’]) { $ime = $_POST[‘ime’];

 

Echo “Vaše ime je $ime.”; ?>

Ova jednostavna PHP aplikacija ispisuje na ekran uneseno ime, ako je forma pokrenuta.

Forma.html

Rezultat.php

Web programiranje - Sigurnost

 Sigurnost je vrlo bitan dio programiranja. Vrlo je bitno provjeravati unose korisnika, jer bi u suprotnome korisnik vrlo lako mogao srušiti web stranicu, neovlašteno manipulirati bazom podataka te čak srušiti web server.

  Primjer zaštite od neovlaštenih unosa korištenjem PHP funkcije addslashes(). Ta će funkcija dodati znak \ ispred svakog apostrofa (‘) kako bi se spriječilo injektiranje malicioznog koda.

$unos = addslashes($_POST[‘neki-korisnikov unos’]);

  Sljedeći primjer zaštite koristi funkciju htmlentities() kako bi se potencijalno zloćudni specijalni znakovi pretvorili u njihov bezopasni ekvivalent. Varijabla $unos je već definirana.

$unos = htmlentities($unos);

 

Mysqli

objekt već ima unaprijed definiranu funkciju za zaštitu od malicioznog injektiranja.

$unos = mysqli::real_escape_string($unos);

Programiranje -

KTHXBYE

 Programiranje, iako se čini drukčije, vrlo je abstraktna vještina.