Child theme u WordPress-u

Ukoliko ste pročitali prethodni članak na ovom sajtu, ovo je nastavak koji objašnjava kako se prave i čemu služe child teme u WordPressu.

 

WordPress programeri su omogućili unutar WordPress-a mogućnost da se stvori child tema kako bi mogla da se stvori pod tema koja je bazirana na karakteristikama i funkcionalnostima svoje roditeljske teme. Dete, child tema vam daje mogućnost da se modifikuje roditeljska tema na takav način da se uzmu iz nje ve one funckionalnosti koje su nam za sajt potrebne, ali da se određene stvari roditeljske teme prilagode na takav način da se uklope u potrebe korisnika našeg sajta.

 

Prednosti stvaranja child teme

Child tema vam omogućava da stvorite novu temu baziranu na roditeljskoj temi sa malim ili drastičnim izmenama izgleda i funkcionalnosti roditeljske teme. Istovremeno, moguće je promeniti i dodavati funkcionalnosti child temi a da se ni malo ne utiče na iste ili slične postojeće funkcionalnosti unutar roditeljske teme. Istovremeno, child temu koju smo mi napravili neće ni na koji način poremetiti ažuriranja koja možemo vršiti nad roditeljskom temom. Štaviše, ukoliko je tema koju smo imali instaliranu na našem WordPress-ovom sajtu kupljena, ažuriranja roduteljske teme koju izdaju firme ili pojedinačni programeri koji su zaslužni za stvaranje roditeljske teme mogu nam biti vodič za održavanje i unapređenje naše child teme.

 

Kako funkcioniše WordPress-ova child Tema

 

Child tema se nalazi unutar odvojenog foldera u odnosu na rodiuteljsku temu i svaka child tema mora da ima sopstveni stzle.css i function .php fajl. o ovim fajlovima smo već govorili u prethodnom članku. Dodatni fajlovi za uređenje child teme mogu biti dodati unutar ovog foldera po potrebi.

Upotrebom relevantnih .css i .php fajlova, možemo da prilagodimo bilo koji stil ili izgled pojedniačnih delova sajta, da samostalno izprogramiramo skripte koje će uticati na ponašanje teme i da dodajemo skripte koje nisu ni prisutne u roditeljskoj temi.

Child temu ćemo najbolje razumeti ako je posmatramo kao sloj koji se nalazi iznad roditeljske teme. Kada posetilac učita naš sajt u svom pretraživaču, WordPress će prvo učitati uključenu child temu, a zatim sve stvari koje unutar child teme nedostaju ići će da traži unutar foldera u koji je smeštena roditeljska tema. Odatle će uzimati sve nedostajuće stilove i funkcionalnosti. Rezultat će biti takav da pomoću child teme mi zapravo prepisujemo sve one stvari iz roditeljske teme koje su nam se svidele, a umesto da dupliramo kod praveći celu novu temu iz početka, mi zapravo samo unutar child teme pregazimo, uradimo override roditeljske teme sa našim željenim funkcionalnostima, izgledom i ponašanjem.

Na kraju, trebalo bi napomenuti da se i roditeljske i child teme smeštaju unutar WordPress*ove strukture u wp-content/themes folder.

 

Registorvanje child teme se radi unutar foldera child teme upisivanjem na početku style.css fajla sledećeg koda:

 
/*
Theme Name: Moja Child Tema
Theme URL: http://skolaprogramiranja.com
Description: Twenty Seventeen Child Theme
Author: Laza Cvika
Author URL: https://portfolio-site-lazar-nikolic.web.app/
Template: twentyseventeen
Version: 1.0.0
Text Domain: twentyseventeen-child
*/ Css pravila za child temu idu nakon ove linije

Teme, vidžeti i dodaci u WordPress-u

Ukoliko ste pročitali prethodni članak o WordPress-u na ovom sajtu, vreme je da predjemo na sledeći nivo upoznavanja sa WordPress-om. Naime, trebalo bi da vidimo šta su to teme, vidžeti i dodaci za WordPress.

Za izgled vašeg WordPress sajta zadužene su dve stvari od ovih pobrojanih tri. To su teme i vidžeti. Temom se naziv askup fajlova koji su zaduženi za to da WordPress platformu obaveste o tome kako će izgledati prednji, korisnički deo vašeg sajta. Donekle, tema može modifikovati i izgled administratorskog panela. Kako će izgledati zaglavlje vašeg sajta, šta će se nalaziti sa leve, a šta sa desne strane vašeg sajta, sve se to odlučuje unutar teme WordPress-ovog sajta. Iako je već rečeno na prethodnim mestima da je WordPress lak za upotrebu administratorima, za pravljenje tema je ipak neophodno poznavanje programskih jezika koji se koriste za izradu Web sajtova i aplikacija. Teme se dakle mogu ili samostlno napraviti ili se jednostavno mogu kupiti.

 

Postoji nekoliiko vrlo poznatih sajtova gde programieri koji prave teme za WordPress sajtove prodaju svoja gotova rešenja za teme od kojih je najpoznatiji Themeforest. Tamo možete pronaći gotova rešenja koja je vrlo lako upotrebiti na vašem sajtu. Ono što bi trebalo da uradite je ili da folder sa temom ubacite u folder strukturu vaše WordPress instalacije, pa da je kroz administratorski panel uključite ili da je direktno kroz administratorsko okruženje WordPressa instalirate. Osim tema, za izgled vašeg sajta se brinu i vidžeti. Ukoliko imate, na primer, tekstualni sadržaj na vašoj stranici koji se proteže samo do polovine širine vaše stranice, a ostatak prostora je prazan, možete kroz administratorski panel reći vašoj WordPress temi da želite da se na toj desnoj, praznoj strani nalazi vidžet. Vidžet je zapravo mesto gde unutar šireg organizacionog prostora vaše stranice može dodati nove dodatne funckionalnosti vašem sajtu. Na primer, unutar vidžeta možete dati mogućnost posetiocima vašeg sajta da se uloguju u vaš sistem kao korisnici, da imaju pregled kalendara, da imaju vremensku prognozu i mmnoge druge stvari.

 

Ovim smo došli do dodataka ili plugin-ova WordPress sajtova. Uglavnom, sve ove dodatne funkcionalnosti koje sajtovi imaju, kao što je vremenska prognoza, uživo praćenje sportskih rezultata ili live dopisivanje sa drugim korisnicima sve se to odvija preko WordPress dodataka. Dodaci ili plugin-ovi su mali softveri koji se dodatno instaliraju unutar već postojeće WordPress instalacija kako bi WordPress sajtovima dali dodatne opcije i omogućavali nova ponašanja koja sama WordPress instalacija nije imala prilikom instaliranja. Plugin-ovi se dele na one koje korisnik vašeg sajta vidi i na one koji su samo za administratore. Dodacima se manipuliše kroz desnu stranu strukture admin panela. Kada idaberete dodatak koga želite da instalirate ili koji je već unutar vašeg sistema, u centralnom delu će vam biti ponuđene opcije za sve funkcionalnosti tog plugin-a i moći čete da birate ono što je vama za funkcionalnost vašeg sajta neophodno.

Komunikacija sa bazom podataka u PHP jeziku

Jedna od velikih prednosti PHP skript jezika je što je u stanju da vrlo brzo i sa lakoćom komunicira sa bazom podataka. Najčešće se u kombinaciji sa PHP jezikom koriste SQL baze podataka pa zato programeri koji pišu PHP programe upotrebljavaju i programe za SQL jezik kao što su WAMPP, MAMPP ili XAMPP. Potrebno je da imate instalirano na vašem lokalno računaru neki od ovih programa kako bi vaša PHP skripta mogla da ubacuje podatke u bazu, da ih menja ili iz nje izvlači i prikazuje podatke korisnicima programa.

Ovde ćemo prikazati kratak program u PHP-u koji izvlači podatke iz baze i prikazuje ih na web stranici.

$konekcija = mysqli_connect('localhost', 'root', '', 'fabrika'); // ovako se povezujemo sa bazom koja se zove fabrika

// i koja se nalazi na localhostu
$vratiSve = 'SELECT * FROM radnici'; // iz baze uzimamo sve iz tabele koja se zove radnici

function vratiIzBazeSve($konekcija, $vratiSve){
$vraceno = mysqli_query($konekcija, $vratiSve);
return $vraceno; // onom fajlu koji pozove funkciju vratiSveIzBaze() biće predati svi podaci dobijeni iz tabele radnici
}

Sada kada imamo ovu funkciju, možemo je iskoristiti da bi odštampali na web stranici sve što se nalazi unutar tabele radnici:

$redovi = vratiIzBazeSve($konekcija, $vratiSve);
echo ”
<table class=’table’>
<thead>
<tr>
<th>Id</th>
<th>Ime</th>
<th>Prezime</th>
<th>Godine</th>
<th>Smena</th>
<th>Plata</th>
<th>Radno mesto</th>
</tr>
</thead>
<tbody>
“;
while($red = mysqli_fetch_assoc($redovi)){
$Id = $red[‘Id’];
$Ime = $red[‘Ime’];
$Prezime = $red[‘Prezime’];
$Godine = $red[‘Godine’];
$Smena = $red[‘Smena’];
$Plata = $red[‘Plata’];
$RadnoMesto = $red[‘RadnoMesto’];
echo “<tr>
<td>$Id</button></td>
<td>$Ime</td>
<td>$Prezime</td>
<td>$Godine</td>
<td>$Smena</td>
<td>$Plata</td>
<td>$RadnoMesto</td>
</tr>”;
}
echo “</tbody></table>”;

Rad sa fajlovima u PHP jeziku

Rad sa fajlovima je veoma bitna stvar u svom programskim jezicima jer ponekad se porgrami pišu kako bi mogli da obradjene podatke tokom trajanja izvršavanja programa sačuvamo u nekom drugom obliku od onog što čuvamo u bazi podataka. Takođe, čuvanje u fajlovima nam omogućava upotrebu tih fajlova i na drugim platformama, a ne samo unutar web pretraživača. Zbog toga bi trebalo da pogledamo kako se manipuliše fajlovima u PHP jeziku.

 

Čitanje sadržaja fajlova u PHP-u

Funkcija koja nam omogućava da otvorimo fajl i njegov sadržaj ubacimo u izvršno okruženje PHP programa je readfile i ona se upotrebljava na sledeći način:

echo readfile("mojfajl.txt");. Ovo znači da ukoliko pored fajla u kojem se nalazi ova funkcija readfile imamo fajl koji se zove mojfajl.txt, njegov sadržaj će biti prikazan na ekranu.

 

Otvaranje, stvaranje fajlova u PHP-u

Za ovu potrebu koristimo funkciju fopen() na sledeći način fopen("novifajl.txt", "w"). Ova funckija će nam stvoriti fajl koji će se zvati novifajl sa txt ekstenzijom i bićemo u stanju da u njega upisujemo podatke, čemu i služi argument “w”, koga smo prosledili na drugom mestu prilikom pozivanja ove funkcije.

 

Upisivanje u fajl u PHP-u

Upisivanje se vrši pomoću funkcije fwrite() sledećom upotrebom:
$myfile = fopen("newfile.txt", "w"); // stvara fajl
$txt = "Ja se zovem Ivana, a tata me zove Zlato"; // šta ćemo upisivati u fajl
fwrite($myfile, $txt); // funkcija koja kaže u koji fajl se upisuje, i šta se u njega upisuje
.

 

Zatvaranje fajla u PHP-u

Kako ne bi došlo do takozvanog curenja memorije, neophodno je nakon upotrebe fajla, isti i zatvoriti, kako ne bi tako otvoren stajao u našoj radnoj memoriji i zauzimao nam memorijski prostor.

Zatvaranje fajlova se vrši funkcijom fclose() pozivajući ovu funkciju sa imenom fajla koga želimo da zatvorimo: fclose($myfile); // pogledati iznad šta je $myfile.

 

PROBAJTE:

Ukoliko ste do sada pročitali sve što je bilo na ovom sajtu o PHP jeziku, probajte sami da napravite malu php stranicu koja će imati input polje i submit dugme. Trebalo bi da kada stisnete dugme, da se ono što je bilo upisano u input polje ubaci u fajl koji će se zvati inputVrednost.txt

Sesije i kolačići

Da ne bi došlo do zabune, s obzirom da ste na sajtu koji se bavi programiranjem, ne radi se ni o kakvim kolačićima kao poslasticama 😀

U pitanju su web tehnologije kojse se zovu sesije i kolačići ili na engleskom – sessions and cookies.

Sesija stvara privremeni fajl unutar foldera na serveru gde se čuvaju podaci koji će biti dostupni svim stranicama tog sajta kako bi ih upotrebljavale za prikazivanje podataka. Sesija traje onoliko dugo koliko je posetilac sajta prisutan na našem sajtu. Čim ode sa njega, ugasi tab ili pretraživač, server očisti taj privremeni fajl, obično nakon pola sata i sesija je završena.

Kolačići su takođe tekstualni fajlovi, samo što se za razliku od sesije čuvaju na klijentovom kompjuteru, unutar pretraživača posetioca našeg sajta. Sačuvani podaci unutar ovih kolačića obično traju duže i čekaju da se posetilac ponovo vrati na taj sajt kako bi se aktivirali i pomogli da se ostvari lepše korisničko iskustvo sa tim sajtom.

Sesija se namešta unutar globalne superpromenljive i nameštanje sesije izgleda ovako: $_SESSION["MojaSesija"] = "Započela je sesija";
Sada smo u stanju da na nekoj drugoj stranici čije ponašanje i izgled kontroliše neki drugi fajl pristupimo vrednostima iz sesije na sledeći način: $sadrzaj = $_SESSION["MojaSesija"];
Vrednost sesije koju smo izvulkli prikazujemo korisniku kroz echo funkciju echo $sadrzaj

Sa kolačićima je slična situacija:
$name='KolacicuMoj';
$value='problem je tvoj sto si mi tako sladak';
$expiration=time() + (60 * 60 * 24 * 365); // podesavanje vremena koliko će dugo klijentov pretraživač čuvati

//u svojoj memoriji ove vrednosti
setcookie($name,$value,$expiration);

A onda sledeći put kada korisnik dodje na stranicu, može ga pozdraviti poruka koju smo sačuvali unutar kolačića:
if(isset($_COOKIE["KolacicuMoj"])){
$kolacic = $_COOKIE["KolacicuMoj"];
echo $kolacic;
} else {
$kolacic = "";
}

Kao što vidite, kolačić je takođe u PHP jeziku globalna superpromenljiva.

Klase u PHP jeziku

PHP jezik ima podršku za objektno orijentisano programiranje. O tome možete više pronaći ovde.
Objekti se u PHP-u prave kao i u drugim jezicima koji su objektno orijentisani, tako što se napravi klasa koja se kasnije instancira u objekat koji se kasnije upotrebljava u programu.

Hajde da zajedno analiziramo sta se ovde u ovom kodu dešava (čitajte komentare pored koda kojima prethodi // znak):

class Pecat{ // pravimo klasu koja se zove Pecat
var $oblik = "krug"; // klasi dodajemo polje oblik sa vrednoscu krug
var $imeFirme = "Edutech"; // klasi dodajemo polje imefirme sa vrednošću Edutech
var $boja = "indigo"; // klasi dodajemo polje boja sa vrednoscu indigo
var $velicina = "L"; // klasi dodajemo polje velicina sa vrednoscu L


function vratiMiPolja() { // funkcija koju možemo iskoristiti da bi dobili vrednosti

// koje se nalaze unutar objekta koji je instanca klase
echo $this->oblik . "
";
echo $this->imeFirme . "
";
echo $this->boja . "
";
echo $this->velicina . "
";
}
}
$lupko = new Pecat();
echo $lupko->vratiMiPolja();

Rezultat pozivanja ove funkcije će biti odštampano jedno ispod drugog
krug
Edutech
indigo
L

Sa ovim kodom se možete igrati na sledećem sajtu tako što ćete u text editor delu uneti kod koga vidite na ovoj stranici

Kako se grade react komponente?

Na drugom mestu smo govorili o tome šta je to react.js. Ovde ćemo pokazati kako se upotrebljava i kako se grade komponente unutar react aplikacija.

Da biste uopšte radili sa reactom, neophodno je da na svom računaru imate instaliran node i da znate da upotrebljavate npm. Ukoliko niste upoznati sa tim kako ovo funkcioniše, savetujemo da se zaustavite ovde i da prvo pročitate članke koji se tiču ovih dveju stvari. Za node upućujemo vas ovde, dok sve što bi trebalo da znate o npm-u kako biste pratili rad sa react-om možete pronaći ovde.

Dakle, preporucujemo da upotrebljavate zvaničan react-ov paket za pokretanje react aplikacija koga možete naći na npm-u. Sve što bi trebalo da uradite nakon što ste instalirali node i npm na vaš računar je da otvorite terminal vašeg računara i da ukucate sledeću komandu npm install create-react-app. Potom, nakon što sačekate da se instalira na vašu mašinu create reat app, ukucajte u terminalu sledeće komande:
npm create-react-app mala-aplikacija
cd mala-aplikacija
npm start

Nakon toga će se najverovatnije otvoriti vaš pretraživač na adresi localhost:3000. Ukoliko se ne otvori, idite sami na ovu adresu vašeg pretraživača i videćete da je pokrenuta vrlo prosta mala aplikacija u kojoj vas react pozdravlja. U vašem omiljenom tekst editoru koga koristite da bi programirali, otvorite folder mala aplikacija jer ćemo tu dodavati komponente. Uđite u src folder. Kada otvorite folder, videćete da se tu nalazi par fajlova od kojih je jedan index.js. Dodajte pored njega button.js fajl i u njega upišite sledeće:

import React from "react";

const onButtonClick = () => alert("Kliknuto je dugme");

function Button() {

return <"button">Klikni mene<"/button"> // samo bez navodnika

}

export default Button;

Ovo je prosta react komponenta koja se sastoji iz jednog dugmeta koje je povezano sa funkcijom koja poziva alert funkciju javascripta. Da bi ovo bilo unutar naše aplikacije, moramo to ubaciti unutar komponente koja se pikazuje u našem pretraživaču, a to je komponenta koja se zove App i koja se nalazi u index.js fajlu. To ćemo uraditi na sledeći način:
Udjite u index.js fajl i ispod
import ReactDOM from "react-dom";
dodajte
import Button from "./button.js";

a zatim ispod
<"h2">Start editing to see some magic happen!<"/h2"> // samo bez navodnika
dodajte samo sledeću liniju koda
<"Button /"> // samo bez navodnika

Zatim u pretraživaču pritisnite dugme koje se sada pojavilo i videćete alert box sa tekstom “Kliknuto je dugme”.

Znači, komponente se najčešće razvijaju u posebnim fajlovima. Potom se iz tog fajla komponenta izveze komandom export. U fajl/komponentu gde bi novostvorenu komponentu trebalo upotrebiti se potom uveze komponenta komandom import i upotrebi se ta komponenta na mestu gde je potrebno i to je to.

Šta je to react.js?

Ukoliko pogledate oglase za posao u IT industriji, u poslednjih nekoliko godina su programeri koji rade react.js veoma traženi. U pitanju je biblioteka koja je bazirana na JavaScript jeziku u koja je nastala u majstorskoj, programerskoj radionici velike svetske kompanije Facebook. Naime, Facebook je imao problem što je ogroman broj ljudi širom sveta upotrebljavao njihove servera kako bi pristupio svom profilu na ovoj društvenoj mreži, a Facebook-ov sajt je dosta komplikovan i veoma bogat sadržajem.

Tako veliki broj ljudi koji stalno traže neke resurse sa facebook-ovih servera je predstavljao veliko opterećenje za njihove servere, kao i za računare njihovih korisnika, pa su hteli da smisle način kako da u što je moguće manjim fajlovima spakuju kompletno korisničko iskustvo Facebook platforme svojim korisnicima kako bi olakšali život svojim serverima i računarima njihovih korisnika. Zbog toga su odlučili da upotrebe drugačiju vrstu prikazivanja elemenata na svojim stranicama od onoga što im je prvobitno nudio PHP na kojm je originalno i napisan Facebook.

Tako je nastao react, biblioteka koja je veoma mala, ali dovoljno moćna da pokreće ne samo veliku facebook društvenu mrežu, već i ogroman broj biznis aplikacija širom sveta. React je ono što se u svetu programiranja zove SPA ili single Page Application. To znači da se cela aplikacija spakuje u jedan ili samo par fajlova koji se šalju korisnikovom pretraživaču i sve rute, sve stranice tog sajta ili aplikacije se zapravo nalaze unutar tog jednog fajla. Ono što se nakon toga šalje korisnicima su samo podaci u vidu json formata koje react onda prikazuje unutar strutkure aplikacije.

React aplikacije se sastoje od komponenti koje su osnovna gradivna jedinica react aplikacija. Te komponente unutar sebe sadrže pod komponente i tako dalje u dubinu. Ono što je bitno u vezi sa react aplikacijama je da se te komponente samo jednom proglašavaju unutar aplikacija, a onda se te definisane komponente samo pozivaju unutar drugih komponenti onoliko puta koliko je to željeno. Ovo znači da se količina koda koja je potrebna kako bi se napravila aplikacija obrnuto srazmerna veličini aplikacije. Što je veća aplikacija, to je proporcionalno manje koda neophodno da bi se ona napisala (kada se react poredi sa nekim starijim bibliotekama koje su radile slične stvari). Zvanični sajt reacta možete pronaći na ovom linku.

 

Na kraju, vredi napomenuti da je React.js u odnosu na neke druge biblioteke/framework-e koji rade slične stvari poput Vue.js ili Angular.io mnogo lakši za učenje i da je razvojni proces aplikacija zbog toga lakši. Ovo su samo par razloga medju pregršt drugih koji govore u prilog toga da bi trebalo posvetiti vreme za učenje React.js Javascript biblioteke.

Pravimo server u node.js-u

Node js je odličan i za pravljenje servera između ostalog jer je uraditi tako nešto upotrebom noda i npm-a vrlo lako. Pa ćemo ovde objasniti kako se to radi.
Za ovaj program je neophodno da imate instalirano na svom računaru mysql i postman, mada ovaj poslednji nije neophodan jer ćemo rezultate makar nekih ruta videti u internet pretraživaču.
Prvo što bi trebalo da uradite je da napravite unutar mysql-a bazu koja će se zvati edutechucenici i da napravite u njoj tabelu ucenici a potom da je napunite nekim podacima.

U novostvorenom folderu napravite fajl koji će se zvati package.json čiji značaj smo objasnili ovde.

U njega upišite sledeći kod:

{
"name": "servernode",
"version": "1.0.0",
"description": "mali node server",
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
"author": "Edutech",
"license": "ISC",
"dependencies": {
"express": "^4.16.4",
"mysql": "^2.16.0",
"nodemon": "^1.18.10",
"body-parse": "0.1.0"
}
}

Zatim, tu, unutar foldera gde se nalazite otvorite terminal i ukucajte komandu npm install. Ona će vam pokrenuti proces instaliranja svih dependency paketa koje vaš program ima i videćete da se unutar vašeg foldera pojavio još jedan koji se zove node_modules. U njemu se nalaze svi paketi koje će vaš program trebati za normalno funkcionisanje. Ako pogledate šta smo uneli u package.json, videćete da pod main stoji index.js. Ovo znači da je glavni, ulazni fajl u naš program index.js i u njemu ćemo upisati sledeći kod koji je zapravo naš server:

 

 

const aplikacija = require('express');
const konektor = require('mysql');
const upiti = require('./dbQueries.js');

const konekcija = konektor.createConnection({
host: "localhost",
user: "root",
password: "",
database: "edutechucenici",
})

const server = aplikacija();

server.get('/', (req, res) => res.send('Pocetak klijent aplikacije'));

server.get('/ucenici', (req, res) => {
konekcija.query(upiti.vratiSveUcenike, (err, rows) => {
if(!err) {
res.send(rows);
} else {
console.log(err);
}
})
});

server.get('/ucenik/:id', (req, res) => {
const { id } = req.params;
konekcija.query(upiti.vratiJednogUcenika + id, (err, rows) => {
if(!err) {
res.send(rows);
} else {
console.log(err);
}
})
});

server.delete('/ucenik/:id', (req, res) => {
const id = req.params.id;
konekcija.query(upiti.obrisiJednogUcenika + id, (err, rows) => {
if(!err) {
res.send(rows);
} else {
console.log(err);
}
})
});

server.post('/ucenik', (req, res) => {
const podaciOUceniku = req.body;
console.log(req.body)
konekcija.query(upiti.ubaciJednogUcenika, podaciOUceniku, (err, rows) => {
if(!err) {
res.send(rows);
} else {
console.log(err);
}
})
});

server.listen(3000, () => console.log('Server je ziv'));

Da bi ovo radilo kako treba, potrebno je još na kraju da stvorite fajl u kojem će se nalaziti naši upiti ka bazi i on neka se zove dbQueries.js:

const upiti = {
vratiSveUcenike: "SELECT * FROM ucenici",
vratiJednogUcenika: "SELECT * FROM ucenici WHERE id = ",
obrisiJednogUcenika: "DELETE FROM ucenici WHERE id = ",
ubaciJednogUcenika: "INSERT INTO ucenici SET ?",
}


module.exports = upiti;

Da biste proverili funkcionisanje ovog programa, u terminalu ukucajte node index.js ili nodemon index.js i otvorite vaš pretraživač sa adresom localhost:3000/ucenici.

Instaliranje Node.js-a i pokretanje prvog programa

Da bi uopšte mogli da pravimo programe za Node.js moramo prvo da imamo instaliran Node na našoj lokalnoj mašini. Proces instalacije je relativno jednostavan i nije previše zahtevan za vaš kompjuter. Svaki računar koji može da instalira internet pretraživač, mora da bude u stanju i da instalira na svoj hard disk i Node.js. Za početak, trebalo bi otići na zvaničnu internet stranicu Node.js-a i odande skinuti ili najnoviju ili poslednju stabilnu verziju Node.js okruženja. Instalacione fajlove za Node.js možete pronaći klikom na ovaj link.

 

Odlaskom na ovaj link pronaći ćete opcije za skidanje Node.js verzija za vaš operativni sistem. Nakon što odaberete Linux, Windows ili macOS, sačekajte da se na vaš računar svuče instalacioni fajl sa Node.js-om. Nakon toga pronađite folder gde je Node skinut i otvorite instalacioni fajl. Odatle je sve prilično jednostavno. Samo bi trebalo da propratite uputstva za instaliranje i da klikom na Next dugme završite sam proces instalacije. Nakon što vam je Node instaliran na vaš računar, bićete u stanju da pišete Javascript programe koji će moći da se izvršavaju na vašoj lokalnoj mašini. Pa hajde da probamo zajedno da napravimo jedan takav prost program.

 

Prvo, napravite folder negde na vašem kompjuteru i unutar tog programa napravite jedan fajl koji će se zvati index.js.

U njemu dodajte sledeći kod:

var a = 5;

var b = 5;

console.log('Rezultat je ', a + b);

Da biste pokrenuli ovaj program, ono što treba da uradite je da izdate komandu za pokretanje ovog programa. Ukoliko ste na Windows kompjuteru, otvorite terminal tako što ćete stisnuti Windows dugme + r i ukucati cmd u input polje pa onda Enter. Zatim pronadjite dir i cd komandama folder koga ste malopre napravili. Ukoliko ste na Linuxu, samo u folderu gde ste napravili ovaj index.js fajl desnim klikom miša odaberite opciju Open terminal here. Na macOS-u ćete otvoriti terminal kombinacijom dirki na tastaturi Control + Option + Shift + T. Nakon toga pronadjite vaš folder pomoću cd i ls komandi. Kada uđete unutar terminala u folder gde se nalazi fajl koga ste malopre napisali, sve što bi trebalo da uradite da pokrenete napisan program je da ukucate node index.js. I eto ga izvršeni program. U vašem terminalu bi trebalo da vidite “Rezultat je 10”.

 

Možda nije mnogo, ali za početak znate kako da napravite i pokrenete Node.js program.

Šta je to Node?

U poslednjih desetak godina se u svetu programiranja dešava jedna vrlo zanimljiva pojava. Jedan programski jezik postaje sve popularniji i sve prisutniji među programerima.
Taj jezik je JavaScript. Sve do završetka prve polovine dvehiljaditih, nekoako je bilo ustaljeno da ukoliko želiš da programiraš mašine, da se to obično rdi u C++ jeziku, ukoliko želiš da praviš servere, to se radilo u Javi ili C# jeziku i tome slično. JavaScript jezik je nekako uvek bio vezan za internet pretraživače i njegov zadatak je bio samo da se bavi ponašanjem elemenata na web stranicama i nije bio u stanju da radi mnogo više od toga.

Međutim, na jednoj medjunarnodnoj programerskoj konfernciji je, 2009. godine u Berlinu, programer Rajan Dal predstavio svoj projekat koga je nazvao Node.js i tada je nastala eksplozija upotrebe JavaScripta koja se nije zaustavila ni do danas. Zahvaljujući Nodu, Javascript je postao najpopularniji i trenutno najupotrebljavaniji programski jezik na svetu sa ubedljivo najviše pitanja postavljanih na poznatom sajtu StackOverflow kao i sa najviše otvorenih pozicija u svetu zapošljavanja programera.

 

Šta je zapravo Node.js?

Budući da je JavaScript bio vezan za pretraživače i da je to script jezik u pitanju, JavaScript nikada nije bio u stanju da direktno komunicira sa kompjuterskim hardverom, već je uvek morao da postoji jezički sloj između JavaScript izvršnog konteksta i same mašine. Taj jezički sloj je zapravo bio browser engine koji je bio pisan u C++ jeziku i svaki od čuvenih proizvođača internet pretraživača je sam razvijao svoje browser engine-e. Google je razvio svoj koga je nazvao V8 i taj engine je bio otvoren za upotrebu. Ono što je Rajan Dal uradio je bio to da je izolovao iz Google-ovog internet pretraživača taj V8 engine i omogućio da se on samostalno instalira na kompjuteru kao što se instalira i bilo koji drugi program, a onda on služi kao interpretator između Javascript programa i samog kompjutera. Ovo znači da bilo koja mašina na koju može da se instalira Node, može da se programira pomoću Javascripta.

 

Ovo je odjednom značilo da Javascript nije više samo jezik koji se upotrebljava za ponašanje elemenata na internet stranicama, ono što se obično naziva frontend programiranje, već da sada može da se koristi Javascript i za programiranje servera, takozvani backend, kao i za programiranje mašina, takozvani embeded. Danas se preko Noda, u Javascriptu razvijaju i veštačka inteligencija, prave se baze podataka i radi se analiza velikih količina podataka. Zato je bitno da se kao ljudi koji su zainteresovani za programiranje bavimo i Node.js-om, te ćete ovde na sajtu Edutech školice moći da čitate više o tome.

Struktura teme WordPress sajta

Ova slika sa leve strane je savršen prikaz strukture koju fajlovi unutar jedne WordPress teme moraju da imaju kako bi činili dobru i funkcionalnu temu unutar WordPress sajta. Naime, da bi WordPress prihvatio temu kao način na koji bi sajt trebalo da izgleda, ovakva struktura fajlova mora biti izpoštovana. Hajdemo onda da pogledamo šta nam ova slika govori…

 

Da bi tema uopšte mogla da se iskoristi na WordPress-ovom sajtu, neophodno je da ima  makar dva fajla. Jedan je index.php koji se nalazi srkoz desno na ovoj slici, a drugi je style.css. Šta rade ovi fajlovi. Index.php je fajl koji je najosnovniji fajl unutar jedne teme. Ukoliko ne postoji ni jedan drugi php fajl teme, onda je za celokupan izgled sajta zadužen index.php fajl. On je kao backup fajl koga ukoliko za određene vrste stranica WordPress ne pronađe prigodan fajl, on onda iskoristi index.php. Ukoliko korisnik želi da pogleda neki post na našem sajtu, a tema nema fajl koji je zadužen za single post, onda će se Wrodpress vratiti index.php-u da iz njega pričita i izvuče kako bi stranica koju je korisnik tražio trebalo da izgleda. Tako isto i za ostale stranice. Početna stranica sajta, takozvani homepage je nešto što obično vlasnici sajta žele da im izgleda drugačije u odnosu na ostatak sajta. Ukoliko ne postoji fajl koji je zadužen za to, WordPress se opet vraća index.php-u. Ovo je upravo i razlog zbog koga WordPress tema ne može da postoji bez index.php fajla. Svi ostali fajlovi unutar teme služe za dodatno ponašanje teme, za dopunsko prilagožđavanje izgleda sajta.

 

Sledeći fajl koji je verovatno i najpotrebniji je style.css. Ovaj css fajl služi da bi se u njemu registrovala tema, jer WordPress kao softver, kada traži teme koje bi mogle da se uključe sa strane admin panela, traži po folderima u kojima su smeštene teme stzle.css fajlove koji bi trebalo da se u folderu teme nalaze. Kao i svi ostali css fajlovi, i ovaj je zadužen za izgled svakog od elemenata koji se nalazi na sajtu. Dakle, ovaj fajl služi za registrovanje teme, kao i za prolagođavanje izgleda svakog od elemenata na stranici.

 

Na kraju, pored ove strukture prikazane na slici i fajlova koje smo pobrojali, vrlo je bitan i fajl koji se zove functions.php. U ovom fajlu bi trebalo da budu smeštene sve dodatne funkcionalnosti koje će omogućiti administratorskom delu sajta da komunicira sa korisničkim delom, kao i da omogući administratoru da radi prilagođavanje teme. Svaki novi plugin koji se instalira na sajtu, registruje se na WordPress sistem preko ovog fajla, te je za bilo kakvo prilagođavanje teme različitim korisničkim potrebama neophodno da ovaj fajl postoji unutar teme.

Kako se instalira WordPress?

WordPress je softver koji se koristi za razvoj web stranica. Budući da je softver, kao i svi ostali softveri, mora se instalirati na kompjuter kako bi mogao da se pokrene. Kompjuter na koga bi trebalo instalirati WordPress se obično zove server. Šta to znači? Serveri su kompjuteri kojima je dodeljena uloga da budu u internet saobraćaju zaduženi za “davanje odgovora”. Naime, kada vi u vašem pretraživaču ukucate internet adresu nekog sajta, sadržaj tog sajta se nalazi unutar nekog foldera na nekom kompjuteru.

 

Nakon što vi u pretraživaču ukucate adresu sajta i pritisnete Enter komandu, vaš pretraživa, preko DNS sistema, nađe na kom kompjuteru se nalazi sajt koga ste vi tražili i podnese zahtev tom kompjuteru da mu se taj sadržaj da. Taj kompjuter onda, na podneti zahtev odgovori sa sadržajem koji je povezan sa tom adresom tako što ili pošalje fajlove koji su povezani sa tom adresom, ili izvuče podatke iz baze podataka i te podatke u nekom formatu, obično JSON formatu, ponekad i XML-u, vrati nazad onom kompjuteru koji je zahtev i podneo.

 

Kompjuter koji prima zahteve i koji šalje odgovore se naziva server. Wordrpress o kojem govorimo, je softver koji se instalira na server kompjuteru. Medjutim, da bi WordPress uopšte obavljao posao za koji je namenjen, trebalo bi da na serveru prvo bude instaliran neki od sledećih programa: MAMPP, WAMPP ili XAMPP. Nakon što se instalira neki od ovih softvera koji služe da se napravi baza podataka, trebalo bi da skinete sa wordpressovog sajta najsvežiju WordPressovu instalaciju. Nju možete pronaći klikom na ovaj link.

 

Ukoliko ste već zakupili negde neki domen i hosting (obično su hostinzi radjeni u CPanel-u) potrebno je da u root folderu, folderu koji se nalazi na vrhu vaše hosting strukture, napravite folder čije će ime biti www i u njega ubacite celokupan sadržaj onoga što vam je došlo sa wordpress instalacionim paketom.

Ukoliko razvijate vaš sajt na lokalnoj mašini, u zavisnosti od toga koji ste od malopređašnje pomenutih programa skinuli (MAMPP, WAMPP ili XAMPP), potrebno je da odete u folder tih programa, koji se obično nalazi na C:// particiji vašeg kompjutera i da tamo napravite ili uđete u www folder i prebacite kompletan sadržaj vaše wordpress instalacije.

 

Sledeći korak je da odete ili na domen, ukoliko ste ga već zakupili, ili da odete preko pretraživača na adresu localhost i da samo propratite korake koje vam sama WordPress instalacija predlaže.

Instaliranje WordPressa je poprilično lako, te samo bi trebalo da pratite korake i uputstva koje vam WordPress predlaže.

Šta je to CMS, a šta je WordPress?

Od kada je sredinom devedesetih internet ušao u široku upotrebu, broj sajtova koji su se pojavljivali na internetu rastao je neverovatnom brzinom. Taj rast nije usporio n i do danas, te je broj sajtova koji sačinjavaju svetsku mrežu poznatu kao Word Wide Web astronomski.

U ranim danima svetske mreže, sajtovi su se sastojali od pojedinačnih HTML i CSS fajlova za svaku od stranica koje su sačinjavale jedan sajt. Ovakav pristup, osim što je bio neekonomičan u smislu internet resursa – brzine protoka i količine podataka koja se prenosila mrežom, bio je nezgodan iz još jednog razloga. Ljudi i firme koji su želeli da budu prisutni na svetskoj mreži, morali su da unajmljuju obučene ljude, programere, kako bi mogli da pune svoje sajtove novim ili da prepravljaju već postojeći sadržaj. Kako bi se prevazišao ovaj problem, te omogućilo ljudima i firmama da sami budu administratori svog prostora na internetu, smišljen je sistem za održavanje sajtova.

CMS ili Content Management System – Sistem za upravljanje sadržajima je softver načinjen od fajlova pisanih u četiri jezika. U pitanju su HTML, CSS, JavaScript i PHP. Ovaj softver se sastoji iz dva sloja. Jedan je ono što vide korisnici, a drugi je onaj koga vide i imaju mu pristup samo odabrani ljudi kojima je dodeljena uloga administratora sajta. Takav softver omogućava ljudima koji imaju administratorsku ili neku drugu ulogu na odabranom sajtu, da vrlo lako i jednostavno, menjaju sadržaj, strukturu, izgled i ponašanje web mesta za koga su zaduženi. Među najpoznatijim CMS sistemima na svetu nalaze se Joomla, Drupal i WordPress.

WordPress je dakle, najkraće rečeno, sistem za upravljanje sadržajima. WordPress je usled izuzetne upotrebne jednostavnosti vrlo brzo uspeo za sebe da izbori lidersko mesto medju CMS sistemima. Njegova lakoća upotrebe, brzina kojom radi i mogućnost da se bez gotovo ikakvog predznanja upotrebljava učinili su ga brojem jedan medju CMS-ovima. I ne samo to, već skoro trećina svetskog interneta se nalazi na WordPress sistemu. Zapravo, ovaj sajt na kojem se trenutno nalazite sačinjen je pomoću WordPress-a.

Ono što je za WordPress značajno jeste da je to opensource softver. Što znači da nije u vlasništvu nikakve korporacije, već ga održava planetarna zajednica entuzijasta i ljudi koji svoje developersko umeće koriste kako bi pomogli da se ovaj brzi i lak za upotrebu CMS omogući što većem broju ljudi za korišćenje. Postoji veliki broj i nacionalnih zajednica koje rade na prevodu wordpress-a na lokalne jezike, pa smo i mi dali naš doprinos ovoj svetskoj platformi koga možete naći klikom ovde.

Nizovi, asocijativni nizovi i njihove funkcije u PHP-u

Kao i u većini drugih programskih jezika i PHP jezik ima kao vrstu podataka nizove. Oni služe da se podaci pakuju tako da mogu da budu iterabilni.

Ovo znači da su podaci koji se čuvaju u nizu takvi da mogu da se uzimaju, menjaju ili snimaju kroz petlje što je u programiranju višestruko korisno.

U PHP-u se niz proglasava na sledeći način: $numbers = array( 1, 2, 3, 4, 5);

Ovako proglašeni podatak možemo iskoristiti da odštampamo ove brojke u pretraživaču pozivajući funkciju:
foreach( $numbers as $value ) { echo "Trenutna vrednost u petlji je $value";}

Ukoliko nas iz niza zanima pojedinačna vrednost, možemo izvući vrednost na osnovu položaja unutar niza, vodeći računa da indexi vrednosti u nizu počinju od 0. Tako da nam $numbers[0] vraća 1.

Na ovaj način se čuvaju proste vrednosti u nizovima. Međutim, ukoliko želimo da u nizu čuvamo složenije konstrukcije podataka, to je moguće učiniti kroz asocijativne nizove.

Oni se kreiraju na sledeći način: $ocene= array("milos" => 2, "vuk" => 5, "konstantin" => 5);

Ovako konstruisan podatak nam omogućav da dobijemo ocenu iz niza na osnovu imena đaka. Ukoliko želimo Miloševu ocenu, dobićemo je pozivanjem $ocene["milos"]:

Budući da su nizovi vrste podataka u PHP-u, sam jedzik nam daje mogućnost da koristimo već postojeće funkcije koje nam omogućavaju da manipulišemo podacima koji se nalaze u nizu.

Od postojećih funkcija izdvajamo array_map() koji iterira kroz niz, array_push() koji ubacuje u niz i array_search().

Lista postojećih funkcija jezika koje rade sa nizovima možete pronaći na zvaničnoj dokumentaciji na sledećem linku: kliknite ovde

Boolean i String u Pajtonu

Boolean

Boolean je vrsta podataka koja u programskim jezicima može imati samo dve vrednosti, true ili false. S tim u vezi, ni Pajton nije ništa drugačiji, osim što se kod njega te vredsnoti pišu velikim početnim slovima: True i False. Da bi proverili istinosnu vrednost unutar Pajtona, upotrebljavamo bool() funkciju propuštajući joj kao argument ono što želimo da bude provereno. Tako sledeći izrazi nam vraćaju True ukoliko ih upotrebimo u Pajton terminalu:

bool("abc")
bool(123)
bool(["jabuka", "visnja", "banana"])

Ali će nam zato sledeći izrazi vratiti False:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})

 

String

Stringovi su vrsta podaaka koji služe da se u njima čuvaju tekstualne vrednosti. Primer za takav podatak je: ime = "Edutech škola programiranja"

Stringovi, kao i sve druge vrste podataka imaju funkcije koje se mogu izvršavati na njima kako bi im se promenila vrednost. To su metode koje su date sa samim jezikom pa ih možemo upotrebljavati bez problema. Evo neke od metoda koje su najupotrebljavanije za manipulaciju stringovima u Pajtonu:

capitalize() Pretvara prvo slovo svake reci u veliko slovo
casefold() Prebacuje sve u mala slova
count() Vraća broj ponavjanja određene vrednosti u stringu
endswith() Vraća boolean vredsnot na pitanje da li se string završava određenom vrednoću
find() Vraća na kojoj poziciji se nalazi tražena vrednost
join() Spaja dve string vrednosti
replace() Vraća string u kojem je promenjena jedna vrednost drugom vrednošću
split() Vraća listu napravljenu od stringa koji je podeljen na određenoj vrednosti

Paradigme programiranja i vrste podataka u Pajtonu

Pajton je kao programski jezik multiparadigmatičan. Ovo znači da je u stanju da podržava različite pristupe programiranja. U Pajtonu je moguće programirati u Objektno orijentisanoj paradigmi kao i na funkcionalno orijentisan način. Moguće je raditi metaprogramiranje i proceduralno programiranje.  Neke od drugih paradigmi je moguće upotrebljavati u Pajtonu putem raznih ekstenzija za Pajton koje su nastajale u proteklih tri decenije postojanja Pajtona.

Pajton nije strogo tipski jezik već spada u takozvane dinamičko tipske jezike, mada njegovi tipovi nisu toliko dinamički, kao u JavaScriptu – na primer. On koristi kasno vezivanje podataka za ime varijable što ga čini malo sporijim od strogo tipskih jezika, ali je ta brzina sa današnjim hardverskim osobinama zanemarljiva. Što se tiče memorije, poput svih novijih jezika, Pajton ima cikličnog sakupljača neupotrebljavane memorije, što znači da kod koji je upotrebljen jednom i više se ne koristi tokom ostatka izvršavanja programa se briše iz memorije i ne opterećuje kompjuter.

Vrste podataka u Pajtonu

Podaci u Pajtonu se dele na promenljive i nepromenljive podatke (mutable and immutable). Promenljivi podaci su oni čiju vrednost možemo da menjamo a da se njihovo fizičko mesto u memoriji ne promeni. To znači da oni ostaju tamo gde su bili upisani u memoriji prilikom proglašavanja, i prilikom menjanja, memorijski prostor se ili menja, ili dodaje/oduzima. Sa druge strane nepromenljivi podaci su oni koji kad god jednoj varijabli menjamo njenu vrednost, nova vredsnot biva upisana na drugoj memorijskoj lokaciji, i ime te varijable više ne upućuje na staro mesto u memoriji već na novo.

Medju promenljive vrste podataka spadaju:

Medju nepromenljivim vrstama podataka pronalazimo:

Klikom na svaku od ovih vrsta podataka možete pronaći dodatna objašnjenja na ovom sajtu.

Ovaj kratak program ukoliko pokretnete u Pajton terminalu videćete šta se dešava sa, recimo, celobrojnim brojevima kada im menjate vrednost:

number = 42
print(id(number))

number += 1
print(id(number))

Izlazne vrednosti će biti
1657696608
1657696640

Ovo znači da je za istu varijablu nakon promenjene vrednosti dodeljeno novo mesto u memoriji.

Rečnici i skupovi u Pajtonu

Rečnici (dictionary) i skupovi (set) su vrste podataka u Pajtonu koji su takođe iterabilni i ovo su promenljive vrste podataka.

Rečnici u Pajtonu

Rečnici u Pajtonu služe kako bi se u njima čuvala komplikovanija struktura podataka. Ovo su takozvani asocijativni nizovi (kako se obično nazivaju u programiranju) i služe da bi se podaci čuvali u takozvanoj ključ vrednost strukturi (key value pair).

recnik = {
'name': 'Toma',
'prezime': 'Stosic',
'godine': 12,
'omiljeniSportovi': ['kriket', 'bacanje bumeranga'],
}

Kao što možemo videti, vrednost nekog ključa u rečniku može biti i lista, ali može biti i nov rečnik. Kako ćemo napraviti naš rečnik zavisi od toga kakva nam struktura podataka treba unutar našeg programa.

Metode koje su nam omogućene u Pajtonu za rečnike su sledeće:

clear() Čisti sve vredsnoti iz rečnika
copy() Vraća kopiju rečnika
fromkeys() Pravi novi rečnik od ključ vrednost parova na osnovu ključeva prosleđenih metodi
get() Vraća vrednost određenog ključa
items() Vraća listu torki svih ključ vrednost parova iz rečnika
keys() Vraća listu svih ključeva
pop() uklanja određeni ključ vrednost par
popitem() Uklanja poslednji ključ vrednost par
update() Ažurira rečnik novim parom
values() Vraća listu svih vrednosti iz rečnika

Skupovi u Pajtonu

Skup je kolekcija koja je nesortirana i neindexirana. U pajtonu se pišu sa vitičastim zagradama.

voce = {"jabuke", "banane", "visnje"}

Evo prikaza nekih od metoda koje žive na skupovima i koje se bez problema mogu upotrebljavati su sledeće:

add() Dodaje element skupu
clear() Uklanja sve elemente skupa
copy() Vraća kopiju skupa
difference() Vraća skup koji je razlika poredjenja dva skupa
discard() Uklanja odredjenu vrednost iz skupa
intersection() Stvara skup koji je rezultat preseka dva skupa
issubset() Vraća boolean koji je rezultat operacije da li je jedan skup podskup drugog skupa
issuperset() Vraća boolean koji je rezultat operacije da li je jedan skup nadskup drugog skupa
pop() Uklanja jedan element iz skupa
remove() Uklanja odredjeni element iz skupa
union() Vraća skup koji je unija dvaju skupova
update() Ažurira skup unijom sa drugim skupom

Brojevi u Python-u

Brojevi se u Pajtonu dele kao i u većini drugih programskih jezika na celobrojne brojeve i brojeve sa decimalom.
Celobrojni se nazivaju inidžerima (integers) a decimalni su float vrsta podataka.

Evo primer ovih brojeva:

x = 1 # int
y = 2.8 # float

Na ovim brojevima je moguće izvršavati sve matematičke operacije bez problema, sa jednim ograničenjem. Float brojevi u Pajtonu garantuju matematičku preciznost samo do petnaeste decimale. Posle toga se očekuju greške usled fizičkog ograničenja predstavljanja decimalnih brojeva kao binarnih brojeva na hardveru savremenih računara. Ukoliko nismo sigurni koji broj će biti izbačen iz našeg programa, uvek ga možemo proveriti Pajtonovom funkcijom type():
print(type(x))
print(type(y))

Istu ovu funkciju možemo upotrebiti kako bismo proverili bilo koju drugu vrednost kako bismo videli kojoj vrsti podataka pripada.

Ukoliko imamo potrebu da jednu vrstu broja promenimo u drugu, upotrebljavaćemo sledeće metode:

Pretvara celobrojni u decimalni:
a = float(x)

Pretvara decimalni u celobrojni broj:
b = int(y)

Šta je Python i za šta se koristi?

Programski jezik Pajton postoji već duže od tri decenije i za to vreme je polako ali sigurno sticao sve veću i veću popularnost. Nastao je u Holandiji krajem osamdesetih godina prošlog veka i od tada pa do danas je open source jezik, što znači da je besplatan za upotrebu i da ga održava zajednica programera koji su zaljubljeni u ovaj jezik i njegovu sintaksu.
A sintaksa ovog jezika je jedinstvena. Naime, za razliku od ogromne većine drugih programskih jezika, ovaj jezik ne upotrebljava vitičaste zagrade kako bi razdvojio blokove koda, niti zahteva od korisnika da stavlja tačku zarez na kraju komande kako bi jezički interpreter znao kada je kraj komande. Pajton jednostavno za ovo upotrebljava indentaciju, upotrebljava tab dugme vaše tastature.

Zbog ovoga, kao i zbog mnogih drugih osobina, na primer, kako mu se pišu petlje i uslovi, ovaj jezik vrlo često služi kao uvod u programiranje za mnoge mlade ljude širom planete. Ogroman broj država koje u školskim kurikulumima imaju programiranje, upravo za ovu potrebu koriste Pajton, te ni Srbija ne odstupa od ovog pravila. Pajton se za ovu upotrebu, kao uvod u programiranje pokazao kao vrlo koristan jezik. Madjutim, ovde se ne završava njegova upotrebna vrednost.

Danas se Pajton jezik koristi uglavnom za par stvari. Prva je za embeded programiranje. Veliki broj paketa, paketnih programa koje Pajton ima (po ovome je Node.js sličan Pajtonu), služi da bi se isprogramirale mašine koje su povezane sa nekim kompjuterom. U pitanu su mali kompjuteri poput Arduina, RaspbarryPi ili Xbee.

Takodje, Pajton se upotrebljava veoma često i za programiranje i razvoj platformi za veštačku inteligenciju. Pajtonov TensorFlow je najupotrebljavanija biblioteka za sve aplikacije koje imaju veštačku inteligenciju u sebi.

Pajton je, kada se upotrebljava za veštačku inteligenciju odličan i za analiziranje velikih količina podataka (Big Data), te ga upotrebljavaju ljudi koji se bave statističkom analizom, analiziranjem i menjanjem DNK ili velikih količina podataka koji se dobijaju sa interneta ili iz drugih izvora podataka.

Ono po čemu je Pajton možda i najpoznatiji jeste njegova sposobnost da brzo pretražuje internet i da pronalazi na njemu željene podatke. Ovo je jedan od razloga zbog čega ga u Google kompaniji upotrebljavaju za indeksiranje i rangiranje internet stranica unutar svog pretraživača.

Pajton možete instalirati na vaš kompjuter prateći uputstva koja možete pronaći klikom na sledeći link.