GraphQL

GraphQL je jezik upita za API-je koji je nastao kao alternativa tradicionalnim REST API-jima. Umjesto da koristi niz različitih endpointova, GraphQL koristi samo jedan endpoint i omogućuje klijentima da specificiraju točno što žele dobiti od tog API-ja.

GraphQL je stvoren u tvrtki Facebook 2012. godine, a kasnije je postao open-source projekt 2015. godine. Danas ga koriste mnoge tvrtke poput GitHuba, Shopifya i Netflix-a.

Glavna prednost GraphQL-a je to što omogućuje klijentima da specificiraju samo ono što im je potrebno, što dovodi do smanjenja količine podataka koju klijent mora preuzeti s servera. Također omogućuje klijentima da specificiraju složene upite koje bi u REST API-ju bile teško ili nemoguće izvršiti.

GraphQL koristi tipove podataka kako bi opisao podatke koje API može vratiti, što ga čini vrlo jasnim i lako razumljivim za razvojne programere i klijente. Također podržava promjene podataka, što znači da klijenti mogu stvarati, mijenjati i brisati podatke na serveru pomoću GraphQL-a.

Kao što je već spomenuto, GraphQL ima samo jedan endpoint, što olakšava skaliranje API-ja i smanjuje kompleksnost. Također pruža mogućnost za izradu grafova podataka koji mogu biti vrlo korisni u analizi podataka.

Primjer GraphQL upita

Evo jednostavnog primjera GraphQL upita i odgovora:

Recimo da imate API koji vraća informacije o filmovima. U tradicionalnom REST API-ju, mogli biste imati endpoint za dohvaćanje svih filmova, a zatim drugi endpointi za dohvaćanje pojedinačnih filmova, ocjena, glumaca, itd.

S druge strane, u GraphQL-u, klijenti mogu specificirati samo ono što im je potrebno, koristeći jedan endpoint.

 

Na primjer, evo jednostavnog GraphQL upita koji traži nazive i žanrove svih filmova:


 query { 
   movies { 
    title 
    genre 
  } 
}

 

U odgovoru na ovaj upit, API bi vratio samo nazive i žanrove svih filmova:

{ 
"data": 
 { "movies": 
  [ 
    { 
      "title": "Forrest Gump", 
      "genre": "drama" 
    }, 
    { 
      "title": "Star Wars", 
      "genre": "sci-fi" 
    }, 
    { 
      "title": "The Godfather", 
      "genre": "drama" 
    } 
  ] 
 } 
}

Kao što vidite, API je vratio samo tražene informacije (naziv i žanr) za svaki film, umjesto da vrati sve informacije o filmu. Ovo je jedna od velikih prednosti GraphQL-a - klijenti mogu specificirati samo ono što im je potrebno, a ne moraju preuzeti nepotrebne podatke.

Ovo je samo jedan jednostavan primjer, ali GraphQL omogućuje i složenije upite i omogućuje klijentima da specificiraju svoje zahtjeve za podacima na vrlo precizan način.

 

Blender

Blender je besplatni open source softvera za 3D računalnu grafiku koji se koristi za stvaranje animiranih filmova, vizualnih efekata, umjetnosti, 3D tiskanih modela

Programiranje

Programiranje je vještina koja omogućava stvaranje računalnih programa i alata za automatizaciju zadataka.

JavaScript Url redirekt

Kako redirektirati url pomoću javascript-a

Budućnost programiranja

Općenito, budućnost programiranja vjerojatno će karakterizirati stalne inovacije i brze promjene, budući da programeri nastavljaju pomicati granice onoga što je moguće u svijetu tehnologije.

Sortiranje brojeva

Kod nizova u javascriptu prilikom sortiranja stringova koristimo metodu sort(), kod sortiranja brojeva trebamo dodati dodatnu funkciju

Rust

Rust je programski jezik koji pruža brojne prednosti za programere koji žele pisati siguran i performantan softver.

VS code

Evo mojih 10 najboljih savjeta za korištenje Visual Studio Code-a: