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.

 

Rust

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

Blender Layer Weight

Blender Layer Weight kako postaviti

Konzole

igraće konzole su uređaji koji omogućuju igranje video igara i pružaju interaktivno iskustvo

Datum između dva datuma

Kako provjeriti dali je neki datum između dva datuma

fractal tree

The drawTree function is called recursively to draw smaller branches, which in turn spawn even smaller branches, creating the fractal pattern.

C64

C64 je bio vrlo pristupačan i omogućio je mnogima da se upoznaju s računalstvom