
[Musica]
Va bene , sì, il mio discorso parla
grafica e carisma e so che è
fondamentalmente l’ultima sessione per tutti
tu oggi non sarò pazzo se vedo persone
addormentarsi ma si spera che il
contenuto degli argomenti che è eccitante
abbastanza per tenerti sveglio così così mio
il nome è Nicolas Burke e questo qui dentro
Berlino Lavoro in una startup chiamata Prisma
e stiamo costruendo tutti i tipi di strumenti
nel grafico QL e nello spazio del database tu
puoi trovarmi su github e su Twitter come
un particolare sorriso sull’agenda per
il discorso per il discorso di oggi è triplice
quindi ho intenzione di iniziare con una grafica
introduzione in modo che siamo tutti sul
stessa pagina sui principali concetti di
grafico QL quindi voglio tuffarmi un po ‘
più profondo e voglio davvero che tu capisca
come funzionano effettivamente i server grafici
sotto il cofano e poi voglio che tu lo faccia
capire un po ‘ meglio come può costruire
grafico server QL con Prisma e ottenere
un po ‘di sentimento per il pubblico I
vorrebbe sapere solo per alzata di mano
chi vede uno sviluppatore front-end è ok
sviluppatori front-end che è un back-end
sviluppatore va bene credo che è un
lo sviluppatore di stack completo ne accetta alcuni
anche le persone alzando le mani sul
back-end che hanno utilizzato Java come
la loro lingua principale va bene chi sta usando
javascript e nodo e dattiloscritto forse
anche poche persone che usano una lingua
come go o Python o Scala forse
qualcosa del genere va bene
ok quindi farò anche un bel po ‘di soldi
del codice in tempo reale e così sarà
tutto è in JavaScript ma penso che
il codice dovrebbe essere abbastanza semplice per
tutti da seguire quindi iniziamo con
l’introduzione grafica e il grande
domanda cosa è grafico qui così tanto
brevemente dichiarato che è un nuovo standard API
che è stato sviluppato da Facebook nel 2015
e fondamentalmente è una specifica per
digita il sistema e per un linguaggio di query
quindi è solo un lungo documento in realtà
che puoi leggere online dov’è
precisamente descritto come il sistema di tipo
del grafico Gale funziona e come
linguaggio di query corrispondente in realtà
funziona e ci sono tre core
primitivi che stiamo per imparare
circa e che sono chiamati query mutation
e le furie degli abbonati sono la via d’accesso
grafico uccidere come è possibile leggere i dati da un
API e mutazioni sono il modo in cui tu
può causare una sorta di effetto collaterale su
il back – end e poi abbiamo anche
abbonamenti che sono per il tempo reale
operazioni ma non copriremo davvero
loro in questo discorso perché vorresti
usa il grafico qui, quindi prima di tutto
ha uno schema fortemente tipizzato per la tua API
e questo è il mio preferito forse
hai lavorato con API REST in passato
e se usi lo strumento come swagger o
come si chiama oggi penso API aperta e
lì ottieni una serie di benefici simili
ma grafico QL e ha il proprio schema
linguaggio di definizione che vedrà anche
in seguito in cui si utilizza per dichiarare il
schema e che lo schema di tipo fortemente ha
un paio di vantaggi come
generato automaticamente generato automaticamente
documentazione per la tua API che farai
esci sempre dalla scatola se lo sei
usando l’ innesto qui così non sarai mai lasciato
mettere in discussione le operazioni API e il tipo
del tipo di variabili che devi
fornire queste operazioni API e
quali sono le strutture dati restituite
in realtà sembra davvero un grande
vantaggio e questo è il vantaggio che
di solito ottiene gli sviluppatori front-end
agganciato è che puoi chiaramente esattamente
i dati di cui hai bisogno in un singolo
richiedere così se abbiamo la situazione
il front- end in cui dobbiamo implementare
la vista in cui avremmo colpito tre
diversi tre punti di riposo diversi
per ottenere i dati di cui abbiamo bisogno in questo
situazione dobbiamo fare tre rete
richiede di ottenere i dati e poi
localmente sul front end dobbiamo
in realtà mi piace mettere i dati nella cache
e poi eventualmente mostrarlo sull’interfaccia utente
con il grafico GL puoi community esattamente
i dati di cui hai bisogno in un singolo
richiesta inviando ciò che viene chiamato a
grafico
affrettati al server e a quello Cleary
risolve tutti gli altri requisiti che
hai davanti e poi te
può visualizzare i dati nell’interfaccia utente e
c’è anche un ecosistema davvero ricco e
grande comunità intorno al grafico QL
nonostante il fatto che sia davvero solo
tre anni quindi cosa fa un grafico
L’erezione coreana sembra così qui su
A sinistra abbiamo un client front-end e sul
back end abbiamo il server e questo è
che aspetto ha davvero un grafico di Kure
ha un numero di campi e questi
i campi descrivono i requisiti dei dati di
il front-end in modo da tradurre questo in
nei requisiti dei dati che sono
espresso da questa domanda siamo fondamentalmente noi
stai chiedendo un utente con un particolare
ID ma vogliamo solo recuperare il nome
dell’utente e poi c’è anche a
relazione da un tipo di utente a un tipo di post
e quindi stiamo chiedendo tutti i post
di quel particolare utente ma solo il
titoli del massimo quindi possiamo davvero a
livello a grana fine descrive i dati
che in realtà vogliamo ricevere da
il back – end invece di essere legato a
corretto per risolvere gli endpoint di riposo ed ecco
quale potenziale risposta potrebbe sembrare
in questo modo ciò che è veramente importante per
capire è che la query nel
teoria dei grafi determina la forma della
risposta che verrà restituita da
il server quindi la forma della query è
identico alla risposta che siamo
ricevendo dal server così un modo di
guardando un grafico curare un modo di
guardando un grafico cura curare è in realtà
come un oggetto JSON vuoto che tu
inviato al server dove solo tu
avere le chiavi dei campi che sei
interessato ma non i valori e
quindi lascia che sia il server a compilare il
valori per te e per il precedente
diapositive Ho menzionato tre motivi per cui
vorresti usare il grafico QL in questo
articolo hai effettivamente cinque ragioni
e poi se vuoi saperne di più e
ottenere un’introduzione più approfondita lo farei
raccomandare
come sito web di risultati grafici dove
c’è un’introduzione davvero completa
per l’intero argomento va bene così
mi porta alla prima parte della demo
Ho preparato un po ‘di grafica
server per te e voglio mostrarti
quale grafico tirannia e mutazioni
in realtà sembra come in pratica così qui io
avere un server grafico al momento
è in esecuzione sul mio computer locale e questo
tutta la cosa che vedi qui è chiamata
un gioco grafico grafico
campi da gioco si può immaginare come
un po ‘come un IDE grafico o una query
editore se hai lavorato con resto te
può confrontarlo con uno strumento come il postino
in pratica ti consente di inviare richieste
ad una API grafica e vediamo che vediamo il
risposta immediata e cosa è veramente
fantastico su innesto e ho menzionato questo
prima è già quello con ogni grafico
alzati un PR lo ottieni sempre così
documentazione API generata automaticamente qui
Posso fare clic sul pulsante dello schema e su I
può vedere esattamente che tipo di operazioni
sono disponibili a quell’API, quindi non lo faccio
ho bisogno di indovinare che tipo di operazioni
ora posso inviare ma invece posso solo guardare
li sopra così qui sul lato destro
dice che abbiamo una query e tre
mutazioni che possiamo attualmente inviare così
proviamoli qui comincerò con
la richiesta di posta e basta chiedere il post
che sono disponibili e qui ce n’è un altro
caratteristica davvero interessante del grafico
parco giochi che è anche dovuto a o
grazie allo schema grafico è quello
anche la chiave grafica o il parco giochi hanno un
funzionalità di completamento automatico che è anche
built-in così posso inviare questa query e questo
restituisce tutti i post che la grafica
il server è attualmente disponibile, quindi facciamolo
vai avanti e prova una mutazione quindi devo
creare bozze di mutazione disponibili e lo farò
basta creare un post draft con alcuni
dati casuali per ora
chiesto l’idea in cambio e lo farò
invia questo un paio di volte se io ora vado
torna alla query del post e inviala
di nuovo poi i nuovi post che mi limitano
creato come bozza quindi bozza fondamentalmente
significa che il campo pubblicato è impostato su
false queste nuove bozze appaiono nel
risposta del post modo in modo che ora posso andare
avanti e pubblicare una bozza usando il
pubblicare la mutazione
e se tornerò al post vedremo
che ora il server grafico ha fatto cosa
ci aspettavamo che dicesse i campi pubblicati
sono veri e possiamo anche usare il pulito
post mutazione per eliminare un post che mi limiterò
eliminare il primo in assoluto e tornando
alla query post vediamo che il primo
post scomparso
va bene così tanto per come un grafico uccide
o come è possibile utilizzare la chiave del grafico L in termini
di inviare equipaggi e mutazioni e cosa
un paio di questi strumenti davvero interessanti
ricevi gratis quando lavori
con l’ uccisione del grafico sembra proprio così
passiamo alla parte successiva e
capire come sono i server grafici
implementato sotto il cofano così una cosa
in anticipo è possibile creare un server grafico
nel tuo linguaggio di programmazione preferito così
non è legato a una lingua particolare
perché lo stesso affare grafico è solo
nella specifica quindi è solo il
specifica astratta di ciò che a
il server grafico sembra effettivamente come
ha bisogno di comportarsi e di come deve
risolvere le sue domande e non importa quale
il linguaggio di programmazione che stai usando lo farai
trova sempre queste tre parti per il tuo
server grafico così prima tu hai il
Definizione dell’API che è il grafico
schema quindi hai il concreto
implementazione che si chiama resolver
funzioni e poi hai la configurazione
per questo, di solito, probabilmente vorrai
per costruire il tuo server HTTP in un modo che
parla HTTP quindi è come il più
protocollo di trasporto comune che sei
usando per il servizio grafico oggi ma
potenzialmente potresti anche usarne un altro
livello di trasporto in modo da non siete tenuti a
http dalla specifica ma la maggior parte
librerie grafiche che troverete
oggi stiamo usando HTTP quindi prendiamo a
guarda ognuna di queste tre parti e
maggiori dettagli quindi prima la classe del grafico
lo schema grafico è fortemente tipizzato
e scritto in quello che viene chiamato lo schema
definizione del linguaggio così ha il suo
linguaggio per descrivere ciò che uno schema
sembra effettivamente e definisce il
Funzionalità API e può essere visto come il
contratto per la comunicazione client-server
così ogni volta che un cliente ha accesso ad alcuni
API grafica può leggere lo schema e
può dedurre tutte le operazioni che sono
possibile nel API e ci sono tre
tipi di percorsi speciali che si associano al nucleo
primitive fornite dal grafico
qui che sono chiamati computazione e
abbonamento e questi tipi di percorso
verificando i punti di ingresso per tutti i nostri
operazioni e vedremo che più tardi con
un esempio pratico che cosa significa e
eccoci qui sulla sinistra che hai
probabilmente il più semplice grafico
schema che potresti immaginare per a
semplice app Hello World così sarebbe
memorizzato sul lato server da qualche parte e
il server avrebbe implementato questo
schema grafico se un server implementa
questo schema come mi dice questo?
qualcuno che ha accesso allo schema cosa
tipo di carriera, acconsento a questo
caso particolare posso solo inviarne uno
query e anche questo sembra molto semplice
proprio come questo e usa solo il buongiorno
instradare i campi dal tipo di query in modo tale
è la query a cui può essere inviato un client
il server e quindi potrebbe ottenere a
risposta che assomiglia a questo
solo un semplice così solo un semplice oggetto
con un solo campo ciao
qualcosa dentro di esso e di nuovo il
forma della query detta la forma di
la forma della risposta in questo caso
è super semplice perché abbiamo solo
anche un solo campo nella comunità
avere un campo nell’oggetto risposta
ecco un esempio leggermente più utile
quindi qui stiamo usando il grafico noi nel mio
definizione del linguaggio per definire crud
operazioni per un utente quindi per prima cosa definiamo
un utente che ha un ID e
nome e poi i tipi di mutazione coreana
definiscono i punti di ingresso effettivi per
la nostra API in modo che definiscano il reale
operazioni e in questo caso ne abbiamo uno
operazione che ci permette di chiederne una
utente individuale per un elenco di utenti così
queste sono le operazioni di lettura e quindi
sul tipo di mutazione che dobbiamo creare
utente aggiorna utente ed elimina utente
mutazioni che ci permettono di eseguire il
creare operazioni di aggiornamento ed eliminazione per
l’utente se guardiamo solo l’utente
campo proprio qui cosa mi dice questo
come cliente dell’API su cosa a
la query grafica sembra che io possa
invia alla cura al server
in pratica mi dice che posso inviare un
query che inizia con il campo dell’utente
e accetta un parametro ID come questo ma
quindi perché il valore restituito o il
tipo del campo utente su query this
utente stesso posso ora annidare più campi
all’interno della query e in questo caso lo sono
solo interessato al nome dell’utente
con quel particolare ID e il server
di nuovo potrebbe rispondere con alcuni dati che
sembra così così questo è di nuovo il
stessa forma della query dell’oggetto JSON
Mi sembra lo stesso del grafico qui
è stato presentato di cui parliamo ora
risolver funzioni perché resolver
le funzioni sono il modo in cui la grafica
il server è effettivamente implementato, quindi cosa
succede quando un grafico arriva al
server e i dati devono effettivamente essere
recuperato quindi questo è il compito o il
responsabilità delle funzioni del resolver
forniscono l’implementazione concreta
dell’API e in pratica ne hai uno
funzione resolver per campo nell’SDL
schema e questo significa che la query
il processo di esecuzione praticamente diventa
una questione di invocare tutto il resolver
funzioni per i campi che sono
contenuto nella query in entrata e
in realtà la grafica viene a volte paragonata
ai sistemi di stile di procedura remota che
è quella che è una tecnologia
fondamentalmente ciò che ti permette di invocare
sulla tua macchina locale ma l’esecuzione
della funzione sta accadendo su un è
succede su una macchina remota e
a volte quella sensazione è paragonata a queste
tipi di sistemi perché se guardi
in quel modo
che il grafico q proprio come contiene tutto
la funzione chiama che dovrebbero
capita sul back-end
allora è effettivamente un qualche tipo di
Chiamiamo anche la procedura remota
guarda di nuovo un esempio così eccoci qui
abbiamo il nostro semplicissimo ciao mondo ciao
schema mondiale di nuovo e questo è quello che io
la funzione risolutiva corrispondente sarebbe
sembra come in JavaScript, quindi definiamo un
oggetto che si chiama resolver e quello
l’oggetto resolver ha un campo che è
chiamato query ciò che ottieni è un oggetto
quello ha un campo che si chiama ciao e
che ora è una funzione che restituisce solo
la stringa del mondo ciao cosa è importante
su questa configurazione è che i campi in
il soggetto risolutore ha gli stessi nomi
come i campi all’interno della tua grafica
schema quindi è importante scrivere in
esattamente nello stesso modo in cui l’hai scritto
nello schema grafico e nel
anche la funzione Ciao deve essere scritta
nello stesso modo in cui lo hai nel tuo
grafico nel tuo schema cosa lo farebbe
sembra come per il tipo di utente dell’unità di granchio
esempio così di nuovo abbiamo lo stesso
situazione che abbiamo e poi di nuovo se
seguiamo la stessa struttura e per
ogni campo nello schema grafico noi
avere una funzione resolver sulla destra
quindi abbiamo un resolver sia per l’utente che per
gli utenti per le due domande abbiamo a
creatività o aggiornamento utente e l’utente noi
risolvere una funzione per questi tre
mutazioni e poi abbiamo anche il
resolver per il tipo di utente che if
seguono questo schema molto banale
in realtà puoi ammettere perché at
almeno in JavaScript il
JavaScript infinity grafico è intelligente
abbastanza da dedurre queste riserve e poi
hai la terza parte del setup così tu
per prima cosa ha bisogno di ciò che viene chiamato un grafico
motore e il motore grafico è il
parte nel tuo respiro
questo è responsabile di invocare tutto il
funzioni di risultato per i campi che sono
contenuto nella query quando arriverà
così i mercati dei motori grafici a
la grafica del immesso Orkut
orchestra le indicazioni del resolver
allora hai bisogno di un livello di rete quindi se tu
crea il tuo server grafico con HTTP
allora puoi usare alcuni comuni come il web
quadro nel nell’esempio che io sono
andando a mostrarti più tardi sto andando a
utilizzare una libreria server grafica che sia
chiamato yoga grafico e che è basato
sulla struttura Express, quindi se avete
mai lavorato con il nodo e costruito come web
server Earth node è probabile che
ti sei imbattuto nel quadro espresso
che è molto popolare nel nodo
spazio e grafica e lo yoga è costruito su
in cima a quello in modo sostanzialmente grafico
combina le capacità HTTP di
Esprimi con la risoluzione grafica
dal grafico qui un riferimento
implementazione in JavaScript e poi
hai il tuo middleware che puoi
integrare così è anche dove vorresti
mettere in crash la registrazione degli analytics
riferendo tutto quel genere di cose
quindi mettiamo tutto insieme e giusto
usa il semplice esempio ciao mondo quindi
immagina che questo sia un nodo molto semplice
script in cui ha funzionato come il più
semplice server grafico che potresti
scrivi in un singolo file, quindi qui definiamo
lo schema è solo una stringa JavaScript
che si estende su più linee così noi
usa la notazione con il backtick che abbiamo
i risolutori obiettano così queste due cose
abbiamo visto sulle diapositive prima e poi
lo stiamo mettendo insieme usando il
server grafico che importiamo dalla
libreria di yoga grafica e quindi iniziamo
il server ed è così che abbiamo il nostro
e se vuoi saperne di più su questo
Vi consiglio questo grafico di articolo del blog
cancellare lo schema che ha davvero
introduzione completa a come il
lo schema grafico funziona effettivamente sotto
il cofano e tocca anche come
lo schema interagisce con tutto il
funzioni e quindi anche un grafico
tutorial del server su come graficamente
riguardo a venire che mi porta a questo
seconda parte della demo dove sto andando
per mostrarvi dal vivo come mettiamo in grafico la tua
server che ti ho appena mostrato in
la demo precedente è in realtà implementata
sotto il cofano ok e qui è il
implementazione del server grafico
quindi questo era il server grafico come a
promemoria abbiamo avuto queste quattro operazioni
ed ecco ora l’ implementazione e
questo schema grafico qui che definisce
queste operazioni che abbiamo visto qui nel
parco giochi nella documentazione API così
così questa documentazione API esattamente
è generato sulla base di questo grafico
schema proprio qui abbiamo una query post
possiamo effettivamente fornire anche una ricerca
stringa che possiamo creare una nuova bozza
fornire titolo e contenuto del nuovo
bozza possiamo pubblicare un post e possiamo
cancellare un post qui è l’interessante
parte quindi questa è ora l’ implementazione
nell’indice J sì, qui al momento sono
semplicemente usando dati di post locali per il
cose che stanno accadendo nel mio server
quindi non ho alcun livello di persistenza
setup al momento e ne ho appena uno
post e questo è stato il post che abbiamo visto
sulla domanda iniziale ed ecco come
li ha implementati in modo che il post interrogato
restituisce semplicemente l’array di dati post se
non c’è swing di ricerca fornito se
c’è una stringa di ricerca fornita poi io
filtro per il titolo e il contenuto di
tutti i post
e restituire solo quelli in cui il filtro
applica quindi la modifica della bozza di creazione
sembra che sto creando un nuovo
Oggetto JavaScript che si chiama nuovo
post che ho avuto questo piccolo aiutante qui per
incrementare i miei ID e quindi passare il
titolo e il contenuto che viene fornito
attraverso la query posso leggerlo con
questo argomento archi qui e poi da
impostazione predefinita pubblica su false, quindi è così
come creiamo un nuovo post alle bozze che ho messo
questo innesto nella matrice data posta e
quindi giriamo in modo che chi chiama chi
presentato la mutazione ottiene anche il
dati in cambio anche la mutazione di pubblicazione
è abbastanza semplice
quindi sto cercando il post all’interno del
matrice di data di post di cui il di cui
l’ID è stato fornito attraverso la mutazione
Ho detto che i campi di pubblicazione sono veri noi
giralo e anche il messaggio principale
semplice trovare il post giusto
cancellato dalla matrice e restituire entrambi
non ne aveva bisogno o ora se non c’era
tale post così ora riavvio il server
e ricorda perché tutti i dati sono a
locale se lo riavvio poi il post noi
semplicemente mi mostrerà l’ unico post che io
archiviare localmente nei miei dati postati e
sarebbe davvero bello se avessi un
query che mi consentirebbe di chiedere un
singolo post dal suo ID così qui vorrei
piace fare qualcosa come questo contenuto
invece di curare tutto il
post Vorrei creare degli obiettivi Ingle
ma al momento questo non funzionerà
lo schema grafico corrente
implementazione perché non ho questo
operazione post ancora così andiamo avanti e
implementalo la prima cosa di cui ho bisogno
fare per quello è in realtà dire il mio
schema grafico o server grafico
che voglio avere questa nuova operazione
nella mia API e funziona semplicemente da
aggiungendolo allo schema grafico a destra
Qui
quindi il punto esclamativo che ho detto
qui significa che questo parametro è
richiesto quindi il grafico del tuo server
rifiutare qualsiasi operazione in cui l’ID
parametro non è fornito e quindi esso
restituisce un oggetto post e qui non lo faccio
metti un punto esclamativo perché potrebbe
sia quel post con l’ID fornito
in realtà non esiste nel back – end
quindi in tal caso vorremmo tornare ora e
per l’attuazione che è anche
abbastanza semplice, aggiungo questo
nuova funzione resolver che trova il
post giusto all’interno dell’array di dati del post di
confrontando gli ID
e dovrebbe essere così
Sto riavviando il server che sto ricaricando
il mio schema e vedo che il post ha
stato aggiunto all’API generata automaticamente
documentazione e anche questi rossi
le linee ondulate e ondulate sono scomparse
quindi dovrei essere in grado di usarlo
operazione qui pure proviamo tutto
destra funziona tutto bene così ora si
capire quale sia lo schema grafico
la definizione sembra come sono i resolver
in fase di implementazione
quindi passiamo alla prossima parte
costruire server grafici con prigionieri
prima cosa è Prisma quindi in pratica Prisma
è un livello di accesso fortemente tipizzato per
il tuo database la pensa un po ‘come
ORM quindi cerca di risolvere un simile
problema ma ha molte più funzioni
ed è anche molto più potente di
Rime tradizionali come sei
usare Prisma per il tuo database è quello
c’è un client Prisma che è
generato automaticamente in base al modello di dati
che fornisci il modello di dati che faremo
parleremo più tardi verrà mappato
il tuo database ed è anche sicuro
un obiettivo centrale di noi che abbiamo come
Prisma è fondamentalmente abilitare ciò che noi
capire come sicurezza di tipo end-to-end così
che dovrebbe essere la tua intera applicazione
basato su un insieme coerente di tipi da
il database per il front-end e il grafico
QL è ciò che rende possibile e
afferrare e poi Prisma ha anche un
approccio dichiarativo per in realtà
modellando i tuoi dati e per il database
migrazioni e vedremo anche cosa
sembra
come funziona Prisma così ci sono
fondamentalmente questi quattro passaggi quando si ottiene
iniziato con Prisma prima devi
connetti il tuo o tu sei il database così
puoi usarne uno nuovo o puoi
usa quello che ha già dati esistenti
allora andresti a definire i tuoi dati
modello se hai già alcuni dati in
il tuo modello di dati poi farà Prisma
introspezione del tuo database e volontà
in realtà anche generare automaticamente quei dati
modello ma tu definisci di definire i dati
modello per la tua applicazione allora tu
migrare la base di dati in cui prisma prende
uno sguardo al tuo e al tuo modello di dati
e lo mappa al sequel sottostante
database o in realtà supportiamo anche
Mongo quindi sarebbe anche il metodo per
fondamentalmente le collezioni e Mongo dopo
è che si genera il Prisma
cliente che ti permette di parlare realmente
al tuo database attraverso quel tipo di salvataggio
strato e poi puoi andare e iniziare
costruire qualsiasi cosa tu voglia costruire
per dare un po ‘più di contesto in cui
il prizm si adatta effettivamente al tuo stack
il back – end
Voglio rappresentare graficamente
architetture che sono piuttosto comuni ma
c’è anche uno spettro tra questi
due quindi questi sono fondamentalmente due esempi
di come potresti costruire il tuo grafico
applicazione quindi il primo è cosa
chiamerei un monolite grafico che è a
architettura molto standard che ha
questi tre componenti molto classici che
lo sappiamo da tre livelli
architetture con il cliente che abbiamo
il server e abbiamo il database e
in questo caso particolare, Prisma siede
all’interno del tuo server grafico API
Prisma client e fondamentalmente collega
il tuo resolver funziona nel database
quindi l’intero obiettivo di questo è quello di
semplificare l’ implementazione di voi
il resolver funziona in modo tale che tu non lo faccia
scrivere sequel o cose simili
che all’interno delle funzioni del resolver e
rendere il risolutore funzioni davvero a lungo
e ingombrante se usi Prisma allora
l’implementazione dei tuoi risolutori
sarà abbastanza semplice e quindi
il più complesso dall’altra parte
del presente sull’altro lato della
lo spettro sarebbe un micro servizio
architettura con un gateway grafico così
in realtà la cura del grafico è come molto spesso
utilizzato anche come questa tecnologia proxy
che hai messo in cima ai sistemi esistenti
così che i tuoi sviluppatori front-end hanno
questa carriera e API che potevano
parlare con un singolo endpoint e tutto il
della più complessa orchestrazione di
da dove provengono effettivamente i dati
da quale sistema sta accadendo
all’interno di quel server gateway e qui tu
può anche usare Prisma dove effettivamente
anche in questo modo fondamentalmente
ti consente di usare Prisma come standalone
server in cima al database che tu
può essere implementato ad esempio con docker e
fondamentalmente quel server standalone
fornisce un dato
servizio pronto per il tuo database
e quindi puoi unire tutti questi
servizi all’interno del gateway grafico
per l’esempio che stiamo costruendo noi
sono molto sul lato sinistro, quindi questo
è l’architettura che sto usando in
la demo dal vivo perché il comando grafico Prisma
è un set così eccezionale prima di tutto
carisma si ottiene davvero esibirsi e
risoluzione chiara con killer grafico acceso
il lato server spesso ci imbattiamo in ciò che è
ha chiamato il problema n plus 1 che
in pratica significa che se lo sei
richiedere un utente particolare e poi
vuoi avere tutti i post di un utente
prima devi fondamentalmente fare un
richiesta del database per ottenere informazioni
sull’utente e tutti i post ID e
quindi è necessario creare più database
richieste per ogni post di quell’utente e
questo è chiamato il problema n plus 1 e
il client Prisma ha una modalità integrata
fondamentalmente alleviando quel problema
con il batching e la memorizzazione nella cache e quindi con
Prisma diventi grezzo e in tempo reale
operazioni per il tuo database
out-of-the-box così gentile di simile
funzionalità come si ottiene anche con noi
ripensare la TB per esempio quando ci arriviamo
può ricevere aggiornamenti sulla vita degli eventi in
anche il database Prisma è morto per la prima volta
e poi di nuovo il punto sul punto
sulla sicurezza del tipo di partecipante in modo da poter utilizzare
Prisma anche per costruire un’API REST o alcuni
tipo di altro strumento in cui potresti forse
altrimenti usa l’oggetto tradizionale
mappatore relazionale ma questo end-to-end
tipo approccio di sicurezza è qualcosa che
puoi davvero ottenere solo con WebGL e
questo è quello che stiamo cercando di abilitare e
in realtà solo la settimana scorsa abbiamo rilasciato un
strumento che si chiama gioiello grafico
è uno strumento di generazione del codice che guarda
il tuo schema grafico e scaffold il
implementazioni resolver di cui hai bisogno
in seguito e rende anche il tuo
risolutori interamente
sicuro quindi se stai usando tipi buoni se
stai usando, ad esempio, il prisma
attrarre è anche disponibile andiamo
allora questo ti permette di avere davvero
digita i risolutori sicuri in modo da non correre
in modo da non imbattersi in nessuno stupido
frecce contemporaneamente e se vuoi
scopri di più su Prisma che puoi controllare
fuori il QuickStart nella nostra documentazione
o con l’ introduzione di Prisma, facciamo
ora vai all’ultima parte della demo
dove voglio mostrarti come possiamo
regolare l’implementazione della corrente
server grafico tale che in realtà
memorizzare i dati e memorizzare i dati e
quindi persistenza effettiva persistenza
strato con cui ho intenzione di creare
Prismo ma prima voglio solo mostrarti
che come funziona Prisma in modo molto semplice
script nodo e per quello che sto andando
[Musica]
andando a creare una nuova cartella qui
nel mio progetto
e vai alla demo 1-2-3 e inizializza a
nuovo progetto Prisma e qui usando il
Prisma CLI quindi il sigillo Prisma I am is a
strumento che è possibile installare con homebrew
o con NPM e consente o aiuta
con tutti i flussi di lavoro tipici che
devi fare in giro per Prisma e qui
ora mi ha chiesto un paio di domande
come voglio impostare Prisma per questo nuovo
progetto in modo da poter utilizzare uno
database esistente nel qual caso Prisma
avremmo introspettato il database e poi
generare l’ API client in aggiunta a quella I
potrebbe andare e iniziare da zero con a
nuovo database che verrebbe configurato
con la finestra mobile in questo caso, ma voglio
utilizzare un database ospitato impressionare il mio cloud
per rendere le cose davvero molto semplici
Questo
una demo particolare qui sto andando
rispondi ad un paio di domande e poi
Dirò che voglio usare il
Client JavaScript poiché non sto utilizzando TAS
in questa applicazione quindi vediamo cosa
il comando init di Prisma ora generato
per me tre file per essere precisi abbiamo
il Prisma llamo che è il tipo di
configurazione principale utilizzata per
Prisma punta a un modello di dati e
quel modello di dati è quello che stavo citando
prima di quando stavo parlando
modellizzazione e migrazione dei dati dichiarativi
quindi qui per impostazione predefinita
prigioniero inserisce questo tipo di utente ma per
la nostra applicazione ciò che realmente bisogno è
un tipo di post che è simile alla
uno che abbiamo definito nel nostro
schema grafico e una cosa che farai
l’avviso è anche che stiamo usando il
linguaggio grafico dello schema anche per il
modello di dati proprio qui nel futuro noi
potrebbe aprire l’API che puoi anche
usa qualche altro tipo di linguaggio dello schema
per definire ciò che il tuo centro commerciale dati
dovrebbe assomigliare al momento in cui siamo
usando stiamo usando STL grafico ed è
davvero adatto perché è super-super
semplice, intuitivo e allo stesso tempo
il tempo è anche molto potente, così
supporta costrutti come interfacce e
sindacati e così puoi davvero esprimere
un sacco di cose qui e perché questo è
il modello di dati che sarà
mappato al mio al mio database che è
ospitato nel cloud sul server demo I
può aggiungere alcune di queste direttive speciali
proprio qui che esprimono certo
vincoli o funzionalità extra per
cosa dovrebbe succedere con questi
tipi nel mio database e in questo caso I
voglio sempre ogni idea di ogni post
essere unico e voglio che ogni post
che non è stato creato esplicitamente come
pubblicato per avere un valore predefinito di
falso per mettere quell’API in posto ho bisogno
per eseguire la distribuzione di Prisma e poi andare
avanti e generare i miei clienti Prisma
e ora posso andare avanti nella mia nota
script e uso che ha generato Prisma
cliente per eseguire operazioni contro il mio
database quindi ecco il codice che era
che è stato generato per il mio cliente FISMA
e perché mettiamo anche i tipi buoni
definizioni strette qui dentro in realtà
inoltre ho anche il completamento automatico
per le operazioni sul client Prisma
istanza proprio qui nel mio editore lo farò
che mostrano in appena un secondo ho
creato questa funzione principale proprio qui
e chiamalo così che possiamo fare in modo che noi
può fare operazioni asincrone, quindi facciamolo
inizia semplicemente richiedendo tutti i post
che attualmente abbiamo memorizzato nel
database quindi creo una query su
Client Prisma e qui il mio editor di codice
mi suggerisce tutte le diverse operazioni
che ho già a disposizione così
punto che, fondamentalmente, di sfruttare
questo strato fortemente tipizzato per il tuo
database nonostante il fatto che sto usando
javascript
Otterrò ancora il completamento automatico per il
operazioni che posso usare sul prizm
il nostro cliente che personalmente trovo
il mio è davvero fantastico, eccoci qui
abbiamo appena chiesto tutti i post e poi
li stamperemo al
console e vedere cosa succede cosa facciamo
aspettiamo a questo punto in realtà ci aspettiamo
un array vuoto ma prima che effettivamente corro
lo script dobbiamo fare ciò che JavaScript
gli sviluppatori adorano di più e questo è l’aggiunta
nuove dipendenze dal progetto, quindi sono
aggiungendo il prizm il nostro cliente alza e
gradualmente la pendenza e ora sono davvero
in grado di eseguire questo script
mi spiace ah grazie grazie tanto
Sto facendo live coding e per favore se tu
prendere uno di questi tipi di problemi
Non ti ringrazio di cuore, lo vediamo
all’array vuoto viene stampato esattamente
come ci aspettavamo perché il nuovo database
sulla FISMA nube ha in realtà non ci sono dati a
ma così andiamo avanti e cambiamo
creando un nuovo post usando il create
funzione post proprio qui di nuovo solo
fornendo dati casuali ma sempre con
Completamento automatico e se eseguo di nuovo questo
allora vediamo che un post è stato
creato posso farlo funzionare di nuovo e vediamo
che entrambi i post fanno ora parte del tutto
la politica quindi voglio mostrare subito
ancora una cosa così qui questo campo postale
mi consente anche di fornire un paio di
filtri per l’impaginazione o semplicemente
filtro in base alle proprietà specifiche
quindi qui se fornisco il filtro di usura I
posso vedere tutti i diversi modi come posso
filtro i post e potrei ad esempio
fai un filtro per i post che contengono
questo nel loro titolo e quindi mi aspetto
che ho appena ottenuto quello che ho creato
prima torna tutto bene finora per il
Cliente prisma e ora cerchiamo di portare questi
due mondi insieme
il client Prisma e il mio risultato
funziona per vedere come il client Prisma
mi aiuta a implementare i miei risolutori
cancellando tutto il precedente
implementazioni perché non ne ho bisogno
loro più
questo e inizierò solo con la creazione
le query in realtà così messi commenti su
tutte le mutazioni in modo che possiamo testare
tutto passo dopo passo quindi il modo in cui io
ora implementa il posteriore proprio qui
è fondamentalmente semplicemente chiamando il post
domanda sul mio cliente prigioniero ma perché
abbiamo questa stringa di ricerca proprio qui così
qui voglio assicurarmi di essere in grado
filtrare per gli oggetti giusti che voglio
per fornire questo gioco qui e poi io
in realtà hanno due condizioni o il
il titolo contiene la ricerca o il
il contenuto contiene la mia stringa di ricerca e
per l’operazione postale è anche abbastanza
Ho semplicemente semplice uso del post
query che ho disponibile qui e
passare l’ID fornito nel
query testiamo questo così sto iniziando il mio
server grafico e tornare qui e
ora eravamo di nuovo nel parco giochi
Vi ho mostrato in fin dall’inizio dove
questa volta se lo aggiorno perché io
commentato tutte le mutazioni che abbiamo appena
avere i post e pubblicare quella cura è
disponibile al momento ma se lo faccio ora
invia la query del post che mi aspetto di vedere
due post che ho creato in precedenza
la sceneggiatura quindi quei due con il
contenuto casuale e il titolo casuale
c’è un leggero ritorno al momento
perché sono sull’ultima beta è quello
a volte la mutazione è il cliente
eseguito due volte ma quello è nella beta così
puoi ancora sentirti al sicuro, va bene
quindi la ricerca post funziona in realtà
vediamo se possiamo anche
chiedi un singolo post solo per ID di nuovo
e là andiamo questo curry funziona anche così
andiamo avanti e inviare il mutazioni
per la creazione della bozza di mutazione abbiamo solo
usa la mutazione post creata che era
generato da Prisma per il titolo noi
fornire il titolo e il contenuto
il contenuto che è stato presentato tramite
la query e una nota rapida, quindi se
stai usando dattiloscritto allora
questi argomenti risolutivi proprio qui e
anche i valori di ritorno saranno digitati così
al momento per me è come un po ‘
un po ‘difficile perché ho bisogno di essere sicuro
che non introduco titoli se io
stavo usando dattiloscritto poi il compilatore
prenderebbe tutti i problemi che io
introdotto nella mia forma resolver per il
notazione pubblicata stiamo usando il
aggiorna l’ operazione sui post fornita
dal cliente Prisma che prende un dove
argomento per descrivere o specificare quale
i post dovrebbero essere aggiornati e poi cosa
dati vogliamo aggiornare aggiornamento così vogliamo
per impostare il campo pubblicato su true e
finalmente per cancellare abbiamo l’eliminazione
post mutazione dove possiamo anche fornire
l’ID del ne abbiamo bisogno iniziamo il
server oh così ora grafico i tuoi reclami
perché ho solo implementato i resolver
e sta cercando di abbinare quei risolutori
contro lo schema grafico ma perché
attualmente non c’è alcuna mutazione
reclami quindi sto mettendo in
definizione della mutazione che inizia il
server che rinfresca il parco giochi che vedo
che tutte le mie operazioni sono tornate posso andare
avanti e creare una nuova bozza
quindi probabilmente questo è stato creato di nuovo sì
ed è stato creato due volte, quindi usiamo il
elimina la mutazione del post per sbarazzartene
di quelli e vediamo ora dovremmo
ne resta solo uno, questo è tutto
giusto è la demo come puoi costruire
il tuo server grafico con prigioniero
prima che ti lascio andare, voglio subito
aggiungo che ci importa molto del
comunità grafica e stiamo ospitando
il grafico conf il prossimo anno qui a
Berlino quindi abbiamo rimarchiato ciò che era precedentemente
in realtà chiamato il grafico in Europa
conferenza quest’anno abbiamo avuto circa 500
i partecipanti lo scorso anno c’erano 300
ai partecipanti abbiamo avuto relatori da github
Facebook da Twitter da Shopify da
Yelp è un’azienda davvero di alto profilo
che stanno usando grafica in produzione
oggi
dopo abbiamo anche avuto la gravità
i co-creatori parlano all’evento, quindi posso
consiglio solo se sei interessato a
grafico e come puoi introdurlo
nella tua azienda che ottieni il tuo
biglietti per l’anno del contesto grafico e
questo è tutto ciò che ti ringrazio tanto
[Applausi]
Va bene , sì, il mio discorso parla
grafica e carisma e so che è
fondamentalmente l’ultima sessione per tutti
tu oggi non sarò pazzo se vedo persone
addormentarsi ma si spera che il
contenuto degli argomenti che è eccitante
abbastanza per tenerti sveglio così così mio
il nome è Nicolas Burke e questo qui dentro
Berlino Lavoro in una startup chiamata Prisma
e stiamo costruendo tutti i tipi di strumenti
nel grafico QL e nello spazio del database tu
puoi trovarmi su github e su Twitter come
un particolare sorriso sull’agenda per
il discorso per il discorso di oggi è triplice
quindi ho intenzione di iniziare con una grafica
introduzione in modo che siamo tutti sul
stessa pagina sui principali concetti di
grafico QL quindi voglio tuffarmi un po ‘
più profondo e voglio davvero che tu capisca
come funzionano effettivamente i server grafici
sotto il cofano e poi voglio che tu lo faccia
capire un po ‘ meglio come può costruire
grafico server QL con Prisma e ottenere
un po ‘di sentimento per il pubblico I
vorrebbe sapere solo per alzata di mano
chi vede uno sviluppatore front-end è ok
sviluppatori front-end che è un back-end
sviluppatore va bene credo che è un
lo sviluppatore di stack completo ne accetta alcuni
anche le persone alzando le mani sul
back-end che hanno utilizzato Java come
la loro lingua principale va bene chi sta usando
javascript e nodo e dattiloscritto forse
anche poche persone che usano una lingua
come go o Python o Scala forse
qualcosa del genere va bene
ok quindi farò anche un bel po ‘di soldi
del codice in tempo reale e così sarà
tutto è in JavaScript ma penso che
il codice dovrebbe essere abbastanza semplice per
tutti da seguire quindi iniziamo con
l’introduzione grafica e il grande
domanda cosa è grafico qui così tanto
brevemente dichiarato che è un nuovo standard API
che è stato sviluppato da Facebook nel 2015
e fondamentalmente è una specifica per
digita il sistema e per un linguaggio di query
quindi è solo un lungo documento in realtà
che puoi leggere online dov’è
precisamente descritto come il sistema di tipo
del grafico Gale funziona e come
linguaggio di query corrispondente in realtà
funziona e ci sono tre core
primitivi che stiamo per imparare
circa e che sono chiamati query mutation
e le furie degli abbonati sono la via d’accesso
grafico uccidere come è possibile leggere i dati da un
API e mutazioni sono il modo in cui tu
può causare una sorta di effetto collaterale su
il back – end e poi abbiamo anche
abbonamenti che sono per il tempo reale
operazioni ma non copriremo davvero
loro in questo discorso perché vorresti
usa il grafico qui, quindi prima di tutto
ha uno schema fortemente tipizzato per la tua API
e questo è il mio preferito forse
hai lavorato con API REST in passato
e se usi lo strumento come swagger o
come si chiama oggi penso API aperta e
lì ottieni una serie di benefici simili
ma grafico QL e ha il proprio schema
linguaggio di definizione che vedrà anche
in seguito in cui si utilizza per dichiarare il
schema e che lo schema di tipo fortemente ha
un paio di vantaggi come
generato automaticamente generato automaticamente
documentazione per la tua API che farai
esci sempre dalla scatola se lo sei
usando l’ innesto qui così non sarai mai lasciato
mettere in discussione le operazioni API e il tipo
del tipo di variabili che devi
fornire queste operazioni API e
quali sono le strutture dati restituite
in realtà sembra davvero un grande
vantaggio e questo è il vantaggio che
di solito ottiene gli sviluppatori front-end
agganciato è che puoi chiaramente esattamente
i dati di cui hai bisogno in un singolo
richiedere così se abbiamo la situazione
il front- end in cui dobbiamo implementare
la vista in cui avremmo colpito tre
diversi tre punti di riposo diversi
per ottenere i dati di cui abbiamo bisogno in questo
situazione dobbiamo fare tre rete
richiede di ottenere i dati e poi
localmente sul front end dobbiamo
in realtà mi piace mettere i dati nella cache
e poi eventualmente mostrarlo sull’interfaccia utente
con il grafico GL puoi community esattamente
i dati di cui hai bisogno in un singolo
richiesta inviando ciò che viene chiamato a
grafico
affrettati al server e a quello Cleary
risolve tutti gli altri requisiti che
hai davanti e poi te
può visualizzare i dati nell’interfaccia utente e
c’è anche un ecosistema davvero ricco e
grande comunità intorno al grafico QL
nonostante il fatto che sia davvero solo
tre anni quindi cosa fa un grafico
L’erezione coreana sembra così qui su
A sinistra abbiamo un client front-end e sul
back end abbiamo il server e questo è
che aspetto ha davvero un grafico di Kure
ha un numero di campi e questi
i campi descrivono i requisiti dei dati di
il front-end in modo da tradurre questo in
nei requisiti dei dati che sono
espresso da questa domanda siamo fondamentalmente noi
stai chiedendo un utente con un particolare
ID ma vogliamo solo recuperare il nome
dell’utente e poi c’è anche a
relazione da un tipo di utente a un tipo di post
e quindi stiamo chiedendo tutti i post
di quel particolare utente ma solo il
titoli del massimo quindi possiamo davvero a
livello a grana fine descrive i dati
che in realtà vogliamo ricevere da
il back – end invece di essere legato a
corretto per risolvere gli endpoint di riposo ed ecco
quale potenziale risposta potrebbe sembrare
in questo modo ciò che è veramente importante per
capire è che la query nel
teoria dei grafi determina la forma della
risposta che verrà restituita da
il server quindi la forma della query è
identico alla risposta che siamo
ricevendo dal server così un modo di
guardando un grafico curare un modo di
guardando un grafico cura curare è in realtà
come un oggetto JSON vuoto che tu
inviato al server dove solo tu
avere le chiavi dei campi che sei
interessato ma non i valori e
quindi lascia che sia il server a compilare il
valori per te e per il precedente
diapositive Ho menzionato tre motivi per cui
vorresti usare il grafico QL in questo
articolo hai effettivamente cinque ragioni
e poi se vuoi saperne di più e
ottenere un’introduzione più approfondita lo farei
raccomandare
come sito web di risultati grafici dove
c’è un’introduzione davvero completa
per l’intero argomento va bene così
mi porta alla prima parte della demo
Ho preparato un po ‘di grafica
server per te e voglio mostrarti
quale grafico tirannia e mutazioni
in realtà sembra come in pratica così qui io
avere un server grafico al momento
è in esecuzione sul mio computer locale e questo
tutta la cosa che vedi qui è chiamata
un gioco grafico grafico
campi da gioco si può immaginare come
un po ‘come un IDE grafico o una query
editore se hai lavorato con resto te
può confrontarlo con uno strumento come il postino
in pratica ti consente di inviare richieste
ad una API grafica e vediamo che vediamo il
risposta immediata e cosa è veramente
fantastico su innesto e ho menzionato questo
prima è già quello con ogni grafico
alzati un PR lo ottieni sempre così
documentazione API generata automaticamente qui
Posso fare clic sul pulsante dello schema e su I
può vedere esattamente che tipo di operazioni
sono disponibili a quell’API, quindi non lo faccio
ho bisogno di indovinare che tipo di operazioni
ora posso inviare ma invece posso solo guardare
li sopra così qui sul lato destro
dice che abbiamo una query e tre
mutazioni che possiamo attualmente inviare così
proviamoli qui comincerò con
la richiesta di posta e basta chiedere il post
che sono disponibili e qui ce n’è un altro
caratteristica davvero interessante del grafico
parco giochi che è anche dovuto a o
grazie allo schema grafico è quello
anche la chiave grafica o il parco giochi hanno un
funzionalità di completamento automatico che è anche
built-in così posso inviare questa query e questo
restituisce tutti i post che la grafica
il server è attualmente disponibile, quindi facciamolo
vai avanti e prova una mutazione quindi devo
creare bozze di mutazione disponibili e lo farò
basta creare un post draft con alcuni
dati casuali per ora
chiesto l’idea in cambio e lo farò
invia questo un paio di volte se io ora vado
torna alla query del post e inviala
di nuovo poi i nuovi post che mi limitano
creato come bozza quindi bozza fondamentalmente
significa che il campo pubblicato è impostato su
false queste nuove bozze appaiono nel
risposta del post modo in modo che ora posso andare
avanti e pubblicare una bozza usando il
pubblicare la mutazione
e se tornerò al post vedremo
che ora il server grafico ha fatto cosa
ci aspettavamo che dicesse i campi pubblicati
sono veri e possiamo anche usare il pulito
post mutazione per eliminare un post che mi limiterò
eliminare il primo in assoluto e tornando
alla query post vediamo che il primo
post scomparso
va bene così tanto per come un grafico uccide
o come è possibile utilizzare la chiave del grafico L in termini
di inviare equipaggi e mutazioni e cosa
un paio di questi strumenti davvero interessanti
ricevi gratis quando lavori
con l’ uccisione del grafico sembra proprio così
passiamo alla parte successiva e
capire come sono i server grafici
implementato sotto il cofano così una cosa
in anticipo è possibile creare un server grafico
nel tuo linguaggio di programmazione preferito così
non è legato a una lingua particolare
perché lo stesso affare grafico è solo
nella specifica quindi è solo il
specifica astratta di ciò che a
il server grafico sembra effettivamente come
ha bisogno di comportarsi e di come deve
risolvere le sue domande e non importa quale
il linguaggio di programmazione che stai usando lo farai
trova sempre queste tre parti per il tuo
server grafico così prima tu hai il
Definizione dell’API che è il grafico
schema quindi hai il concreto
implementazione che si chiama resolver
funzioni e poi hai la configurazione
per questo, di solito, probabilmente vorrai
per costruire il tuo server HTTP in un modo che
parla HTTP quindi è come il più
protocollo di trasporto comune che sei
usando per il servizio grafico oggi ma
potenzialmente potresti anche usarne un altro
livello di trasporto in modo da non siete tenuti a
http dalla specifica ma la maggior parte
librerie grafiche che troverete
oggi stiamo usando HTTP quindi prendiamo a
guarda ognuna di queste tre parti e
maggiori dettagli quindi prima la classe del grafico
lo schema grafico è fortemente tipizzato
e scritto in quello che viene chiamato lo schema
definizione del linguaggio così ha il suo
linguaggio per descrivere ciò che uno schema
sembra effettivamente e definisce il
Funzionalità API e può essere visto come il
contratto per la comunicazione client-server
così ogni volta che un cliente ha accesso ad alcuni
API grafica può leggere lo schema e
può dedurre tutte le operazioni che sono
possibile nel API e ci sono tre
tipi di percorsi speciali che si associano al nucleo
primitive fornite dal grafico
qui che sono chiamati computazione e
abbonamento e questi tipi di percorso
verificando i punti di ingresso per tutti i nostri
operazioni e vedremo che più tardi con
un esempio pratico che cosa significa e
eccoci qui sulla sinistra che hai
probabilmente il più semplice grafico
schema che potresti immaginare per a
semplice app Hello World così sarebbe
memorizzato sul lato server da qualche parte e
il server avrebbe implementato questo
schema grafico se un server implementa
questo schema come mi dice questo?
qualcuno che ha accesso allo schema cosa
tipo di carriera, acconsento a questo
caso particolare posso solo inviarne uno
query e anche questo sembra molto semplice
proprio come questo e usa solo il buongiorno
instradare i campi dal tipo di query in modo tale
è la query a cui può essere inviato un client
il server e quindi potrebbe ottenere a
risposta che assomiglia a questo
solo un semplice così solo un semplice oggetto
con un solo campo ciao
qualcosa dentro di esso e di nuovo il
forma della query detta la forma di
la forma della risposta in questo caso
è super semplice perché abbiamo solo
anche un solo campo nella comunità
avere un campo nell’oggetto risposta
ecco un esempio leggermente più utile
quindi qui stiamo usando il grafico noi nel mio
definizione del linguaggio per definire crud
operazioni per un utente quindi per prima cosa definiamo
un utente che ha un ID e
nome e poi i tipi di mutazione coreana
definiscono i punti di ingresso effettivi per
la nostra API in modo che definiscano il reale
operazioni e in questo caso ne abbiamo uno
operazione che ci permette di chiederne una
utente individuale per un elenco di utenti così
queste sono le operazioni di lettura e quindi
sul tipo di mutazione che dobbiamo creare
utente aggiorna utente ed elimina utente
mutazioni che ci permettono di eseguire il
creare operazioni di aggiornamento ed eliminazione per
l’utente se guardiamo solo l’utente
campo proprio qui cosa mi dice questo
come cliente dell’API su cosa a
la query grafica sembra che io possa
invia alla cura al server
in pratica mi dice che posso inviare un
query che inizia con il campo dell’utente
e accetta un parametro ID come questo ma
quindi perché il valore restituito o il
tipo del campo utente su query this
utente stesso posso ora annidare più campi
all’interno della query e in questo caso lo sono
solo interessato al nome dell’utente
con quel particolare ID e il server
di nuovo potrebbe rispondere con alcuni dati che
sembra così così questo è di nuovo il
stessa forma della query dell’oggetto JSON
Mi sembra lo stesso del grafico qui
è stato presentato di cui parliamo ora
risolver funzioni perché resolver
le funzioni sono il modo in cui la grafica
il server è effettivamente implementato, quindi cosa
succede quando un grafico arriva al
server e i dati devono effettivamente essere
recuperato quindi questo è il compito o il
responsabilità delle funzioni del resolver
forniscono l’implementazione concreta
dell’API e in pratica ne hai uno
funzione resolver per campo nell’SDL
schema e questo significa che la query
il processo di esecuzione praticamente diventa
una questione di invocare tutto il resolver
funzioni per i campi che sono
contenuto nella query in entrata e
in realtà la grafica viene a volte paragonata
ai sistemi di stile di procedura remota che
è quella che è una tecnologia
fondamentalmente ciò che ti permette di invocare
sulla tua macchina locale ma l’esecuzione
della funzione sta accadendo su un è
succede su una macchina remota e
a volte quella sensazione è paragonata a queste
tipi di sistemi perché se guardi
in quel modo
che il grafico q proprio come contiene tutto
la funzione chiama che dovrebbero
capita sul back-end
allora è effettivamente un qualche tipo di
Chiamiamo anche la procedura remota
guarda di nuovo un esempio così eccoci qui
abbiamo il nostro semplicissimo ciao mondo ciao
schema mondiale di nuovo e questo è quello che io
la funzione risolutiva corrispondente sarebbe
sembra come in JavaScript, quindi definiamo un
oggetto che si chiama resolver e quello
l’oggetto resolver ha un campo che è
chiamato query ciò che ottieni è un oggetto
quello ha un campo che si chiama ciao e
che ora è una funzione che restituisce solo
la stringa del mondo ciao cosa è importante
su questa configurazione è che i campi in
il soggetto risolutore ha gli stessi nomi
come i campi all’interno della tua grafica
schema quindi è importante scrivere in
esattamente nello stesso modo in cui l’hai scritto
nello schema grafico e nel
anche la funzione Ciao deve essere scritta
nello stesso modo in cui lo hai nel tuo
grafico nel tuo schema cosa lo farebbe
sembra come per il tipo di utente dell’unità di granchio
esempio così di nuovo abbiamo lo stesso
situazione che abbiamo e poi di nuovo se
seguiamo la stessa struttura e per
ogni campo nello schema grafico noi
avere una funzione resolver sulla destra
quindi abbiamo un resolver sia per l’utente che per
gli utenti per le due domande abbiamo a
creatività o aggiornamento utente e l’utente noi
risolvere una funzione per questi tre
mutazioni e poi abbiamo anche il
resolver per il tipo di utente che if
seguono questo schema molto banale
in realtà puoi ammettere perché at
almeno in JavaScript il
JavaScript infinity grafico è intelligente
abbastanza da dedurre queste riserve e poi
hai la terza parte del setup così tu
per prima cosa ha bisogno di ciò che viene chiamato un grafico
motore e il motore grafico è il
parte nel tuo respiro
questo è responsabile di invocare tutto il
funzioni di risultato per i campi che sono
contenuto nella query quando arriverà
così i mercati dei motori grafici a
la grafica del immesso Orkut
orchestra le indicazioni del resolver
allora hai bisogno di un livello di rete quindi se tu
crea il tuo server grafico con HTTP
allora puoi usare alcuni comuni come il web
quadro nel nell’esempio che io sono
andando a mostrarti più tardi sto andando a
utilizzare una libreria server grafica che sia
chiamato yoga grafico e che è basato
sulla struttura Express, quindi se avete
mai lavorato con il nodo e costruito come web
server Earth node è probabile che
ti sei imbattuto nel quadro espresso
che è molto popolare nel nodo
spazio e grafica e lo yoga è costruito su
in cima a quello in modo sostanzialmente grafico
combina le capacità HTTP di
Esprimi con la risoluzione grafica
dal grafico qui un riferimento
implementazione in JavaScript e poi
hai il tuo middleware che puoi
integrare così è anche dove vorresti
mettere in crash la registrazione degli analytics
riferendo tutto quel genere di cose
quindi mettiamo tutto insieme e giusto
usa il semplice esempio ciao mondo quindi
immagina che questo sia un nodo molto semplice
script in cui ha funzionato come il più
semplice server grafico che potresti
scrivi in un singolo file, quindi qui definiamo
lo schema è solo una stringa JavaScript
che si estende su più linee così noi
usa la notazione con il backtick che abbiamo
i risolutori obiettano così queste due cose
abbiamo visto sulle diapositive prima e poi
lo stiamo mettendo insieme usando il
server grafico che importiamo dalla
libreria di yoga grafica e quindi iniziamo
il server ed è così che abbiamo il nostro
e se vuoi saperne di più su questo
Vi consiglio questo grafico di articolo del blog
cancellare lo schema che ha davvero
introduzione completa a come il
lo schema grafico funziona effettivamente sotto
il cofano e tocca anche come
lo schema interagisce con tutto il
funzioni e quindi anche un grafico
tutorial del server su come graficamente
riguardo a venire che mi porta a questo
seconda parte della demo dove sto andando
per mostrarvi dal vivo come mettiamo in grafico la tua
server che ti ho appena mostrato in
la demo precedente è in realtà implementata
sotto il cofano ok e qui è il
implementazione del server grafico
quindi questo era il server grafico come a
promemoria abbiamo avuto queste quattro operazioni
ed ecco ora l’ implementazione e
questo schema grafico qui che definisce
queste operazioni che abbiamo visto qui nel
parco giochi nella documentazione API così
così questa documentazione API esattamente
è generato sulla base di questo grafico
schema proprio qui abbiamo una query post
possiamo effettivamente fornire anche una ricerca
stringa che possiamo creare una nuova bozza
fornire titolo e contenuto del nuovo
bozza possiamo pubblicare un post e possiamo
cancellare un post qui è l’interessante
parte quindi questa è ora l’ implementazione
nell’indice J sì, qui al momento sono
semplicemente usando dati di post locali per il
cose che stanno accadendo nel mio server
quindi non ho alcun livello di persistenza
setup al momento e ne ho appena uno
post e questo è stato il post che abbiamo visto
sulla domanda iniziale ed ecco come
li ha implementati in modo che il post interrogato
restituisce semplicemente l’array di dati post se
non c’è swing di ricerca fornito se
c’è una stringa di ricerca fornita poi io
filtro per il titolo e il contenuto di
tutti i post
e restituire solo quelli in cui il filtro
applica quindi la modifica della bozza di creazione
sembra che sto creando un nuovo
Oggetto JavaScript che si chiama nuovo
post che ho avuto questo piccolo aiutante qui per
incrementare i miei ID e quindi passare il
titolo e il contenuto che viene fornito
attraverso la query posso leggerlo con
questo argomento archi qui e poi da
impostazione predefinita pubblica su false, quindi è così
come creiamo un nuovo post alle bozze che ho messo
questo innesto nella matrice data posta e
quindi giriamo in modo che chi chiama chi
presentato la mutazione ottiene anche il
dati in cambio anche la mutazione di pubblicazione
è abbastanza semplice
quindi sto cercando il post all’interno del
matrice di data di post di cui il di cui
l’ID è stato fornito attraverso la mutazione
Ho detto che i campi di pubblicazione sono veri noi
giralo e anche il messaggio principale
semplice trovare il post giusto
cancellato dalla matrice e restituire entrambi
non ne aveva bisogno o ora se non c’era
tale post così ora riavvio il server
e ricorda perché tutti i dati sono a
locale se lo riavvio poi il post noi
semplicemente mi mostrerà l’ unico post che io
archiviare localmente nei miei dati postati e
sarebbe davvero bello se avessi un
query che mi consentirebbe di chiedere un
singolo post dal suo ID così qui vorrei
piace fare qualcosa come questo contenuto
invece di curare tutto il
post Vorrei creare degli obiettivi Ingle
ma al momento questo non funzionerà
lo schema grafico corrente
implementazione perché non ho questo
operazione post ancora così andiamo avanti e
implementalo la prima cosa di cui ho bisogno
fare per quello è in realtà dire il mio
schema grafico o server grafico
che voglio avere questa nuova operazione
nella mia API e funziona semplicemente da
aggiungendolo allo schema grafico a destra
Qui
quindi il punto esclamativo che ho detto
qui significa che questo parametro è
richiesto quindi il grafico del tuo server
rifiutare qualsiasi operazione in cui l’ID
parametro non è fornito e quindi esso
restituisce un oggetto post e qui non lo faccio
metti un punto esclamativo perché potrebbe
sia quel post con l’ID fornito
in realtà non esiste nel back – end
quindi in tal caso vorremmo tornare ora e
per l’attuazione che è anche
abbastanza semplice, aggiungo questo
nuova funzione resolver che trova il
post giusto all’interno dell’array di dati del post di
confrontando gli ID
e dovrebbe essere così
Sto riavviando il server che sto ricaricando
il mio schema e vedo che il post ha
stato aggiunto all’API generata automaticamente
documentazione e anche questi rossi
le linee ondulate e ondulate sono scomparse
quindi dovrei essere in grado di usarlo
operazione qui pure proviamo tutto
destra funziona tutto bene così ora si
capire quale sia lo schema grafico
la definizione sembra come sono i resolver
in fase di implementazione
quindi passiamo alla prossima parte
costruire server grafici con prigionieri
prima cosa è Prisma quindi in pratica Prisma
è un livello di accesso fortemente tipizzato per
il tuo database la pensa un po ‘come
ORM quindi cerca di risolvere un simile
problema ma ha molte più funzioni
ed è anche molto più potente di
Rime tradizionali come sei
usare Prisma per il tuo database è quello
c’è un client Prisma che è
generato automaticamente in base al modello di dati
che fornisci il modello di dati che faremo
parleremo più tardi verrà mappato
il tuo database ed è anche sicuro
un obiettivo centrale di noi che abbiamo come
Prisma è fondamentalmente abilitare ciò che noi
capire come sicurezza di tipo end-to-end così
che dovrebbe essere la tua intera applicazione
basato su un insieme coerente di tipi da
il database per il front-end e il grafico
QL è ciò che rende possibile e
afferrare e poi Prisma ha anche un
approccio dichiarativo per in realtà
modellando i tuoi dati e per il database
migrazioni e vedremo anche cosa
sembra
come funziona Prisma così ci sono
fondamentalmente questi quattro passaggi quando si ottiene
iniziato con Prisma prima devi
connetti il tuo o tu sei il database così
puoi usarne uno nuovo o puoi
usa quello che ha già dati esistenti
allora andresti a definire i tuoi dati
modello se hai già alcuni dati in
il tuo modello di dati poi farà Prisma
introspezione del tuo database e volontà
in realtà anche generare automaticamente quei dati
modello ma tu definisci di definire i dati
modello per la tua applicazione allora tu
migrare la base di dati in cui prisma prende
uno sguardo al tuo e al tuo modello di dati
e lo mappa al sequel sottostante
database o in realtà supportiamo anche
Mongo quindi sarebbe anche il metodo per
fondamentalmente le collezioni e Mongo dopo
è che si genera il Prisma
cliente che ti permette di parlare realmente
al tuo database attraverso quel tipo di salvataggio
strato e poi puoi andare e iniziare
costruire qualsiasi cosa tu voglia costruire
per dare un po ‘più di contesto in cui
il prizm si adatta effettivamente al tuo stack
il back – end
Voglio rappresentare graficamente
architetture che sono piuttosto comuni ma
c’è anche uno spettro tra questi
due quindi questi sono fondamentalmente due esempi
di come potresti costruire il tuo grafico
applicazione quindi il primo è cosa
chiamerei un monolite grafico che è a
architettura molto standard che ha
questi tre componenti molto classici che
lo sappiamo da tre livelli
architetture con il cliente che abbiamo
il server e abbiamo il database e
in questo caso particolare, Prisma siede
all’interno del tuo server grafico API
Prisma client e fondamentalmente collega
il tuo resolver funziona nel database
quindi l’intero obiettivo di questo è quello di
semplificare l’ implementazione di voi
il resolver funziona in modo tale che tu non lo faccia
scrivere sequel o cose simili
che all’interno delle funzioni del resolver e
rendere il risolutore funzioni davvero a lungo
e ingombrante se usi Prisma allora
l’implementazione dei tuoi risolutori
sarà abbastanza semplice e quindi
il più complesso dall’altra parte
del presente sull’altro lato della
lo spettro sarebbe un micro servizio
architettura con un gateway grafico così
in realtà la cura del grafico è come molto spesso
utilizzato anche come questa tecnologia proxy
che hai messo in cima ai sistemi esistenti
così che i tuoi sviluppatori front-end hanno
questa carriera e API che potevano
parlare con un singolo endpoint e tutto il
della più complessa orchestrazione di
da dove provengono effettivamente i dati
da quale sistema sta accadendo
all’interno di quel server gateway e qui tu
può anche usare Prisma dove effettivamente
anche in questo modo fondamentalmente
ti consente di usare Prisma come standalone
server in cima al database che tu
può essere implementato ad esempio con docker e
fondamentalmente quel server standalone
fornisce un dato
servizio pronto per il tuo database
e quindi puoi unire tutti questi
servizi all’interno del gateway grafico
per l’esempio che stiamo costruendo noi
sono molto sul lato sinistro, quindi questo
è l’architettura che sto usando in
la demo dal vivo perché il comando grafico Prisma
è un set così eccezionale prima di tutto
carisma si ottiene davvero esibirsi e
risoluzione chiara con killer grafico acceso
il lato server spesso ci imbattiamo in ciò che è
ha chiamato il problema n plus 1 che
in pratica significa che se lo sei
richiedere un utente particolare e poi
vuoi avere tutti i post di un utente
prima devi fondamentalmente fare un
richiesta del database per ottenere informazioni
sull’utente e tutti i post ID e
quindi è necessario creare più database
richieste per ogni post di quell’utente e
questo è chiamato il problema n plus 1 e
il client Prisma ha una modalità integrata
fondamentalmente alleviando quel problema
con il batching e la memorizzazione nella cache e quindi con
Prisma diventi grezzo e in tempo reale
operazioni per il tuo database
out-of-the-box così gentile di simile
funzionalità come si ottiene anche con noi
ripensare la TB per esempio quando ci arriviamo
può ricevere aggiornamenti sulla vita degli eventi in
anche il database Prisma è morto per la prima volta
e poi di nuovo il punto sul punto
sulla sicurezza del tipo di partecipante in modo da poter utilizzare
Prisma anche per costruire un’API REST o alcuni
tipo di altro strumento in cui potresti forse
altrimenti usa l’oggetto tradizionale
mappatore relazionale ma questo end-to-end
tipo approccio di sicurezza è qualcosa che
puoi davvero ottenere solo con WebGL e
questo è quello che stiamo cercando di abilitare e
in realtà solo la settimana scorsa abbiamo rilasciato un
strumento che si chiama gioiello grafico
è uno strumento di generazione del codice che guarda
il tuo schema grafico e scaffold il
implementazioni resolver di cui hai bisogno
in seguito e rende anche il tuo
risolutori interamente
sicuro quindi se stai usando tipi buoni se
stai usando, ad esempio, il prisma
attrarre è anche disponibile andiamo
allora questo ti permette di avere davvero
digita i risolutori sicuri in modo da non correre
in modo da non imbattersi in nessuno stupido
frecce contemporaneamente e se vuoi
scopri di più su Prisma che puoi controllare
fuori il QuickStart nella nostra documentazione
o con l’ introduzione di Prisma, facciamo
ora vai all’ultima parte della demo
dove voglio mostrarti come possiamo
regolare l’implementazione della corrente
server grafico tale che in realtà
memorizzare i dati e memorizzare i dati e
quindi persistenza effettiva persistenza
strato con cui ho intenzione di creare
Prismo ma prima voglio solo mostrarti
che come funziona Prisma in modo molto semplice
script nodo e per quello che sto andando
[Musica]
andando a creare una nuova cartella qui
nel mio progetto
e vai alla demo 1-2-3 e inizializza a
nuovo progetto Prisma e qui usando il
Prisma CLI quindi il sigillo Prisma I am is a
strumento che è possibile installare con homebrew
o con NPM e consente o aiuta
con tutti i flussi di lavoro tipici che
devi fare in giro per Prisma e qui
ora mi ha chiesto un paio di domande
come voglio impostare Prisma per questo nuovo
progetto in modo da poter utilizzare uno
database esistente nel qual caso Prisma
avremmo introspettato il database e poi
generare l’ API client in aggiunta a quella I
potrebbe andare e iniziare da zero con a
nuovo database che verrebbe configurato
con la finestra mobile in questo caso, ma voglio
utilizzare un database ospitato impressionare il mio cloud
per rendere le cose davvero molto semplici
Questo
una demo particolare qui sto andando
rispondi ad un paio di domande e poi
Dirò che voglio usare il
Client JavaScript poiché non sto utilizzando TAS
in questa applicazione quindi vediamo cosa
il comando init di Prisma ora generato
per me tre file per essere precisi abbiamo
il Prisma llamo che è il tipo di
configurazione principale utilizzata per
Prisma punta a un modello di dati e
quel modello di dati è quello che stavo citando
prima di quando stavo parlando
modellizzazione e migrazione dei dati dichiarativi
quindi qui per impostazione predefinita
prigioniero inserisce questo tipo di utente ma per
la nostra applicazione ciò che realmente bisogno è
un tipo di post che è simile alla
uno che abbiamo definito nel nostro
schema grafico e una cosa che farai
l’avviso è anche che stiamo usando il
linguaggio grafico dello schema anche per il
modello di dati proprio qui nel futuro noi
potrebbe aprire l’API che puoi anche
usa qualche altro tipo di linguaggio dello schema
per definire ciò che il tuo centro commerciale dati
dovrebbe assomigliare al momento in cui siamo
usando stiamo usando STL grafico ed è
davvero adatto perché è super-super
semplice, intuitivo e allo stesso tempo
il tempo è anche molto potente, così
supporta costrutti come interfacce e
sindacati e così puoi davvero esprimere
un sacco di cose qui e perché questo è
il modello di dati che sarà
mappato al mio al mio database che è
ospitato nel cloud sul server demo I
può aggiungere alcune di queste direttive speciali
proprio qui che esprimono certo
vincoli o funzionalità extra per
cosa dovrebbe succedere con questi
tipi nel mio database e in questo caso I
voglio sempre ogni idea di ogni post
essere unico e voglio che ogni post
che non è stato creato esplicitamente come
pubblicato per avere un valore predefinito di
falso per mettere quell’API in posto ho bisogno
per eseguire la distribuzione di Prisma e poi andare
avanti e generare i miei clienti Prisma
e ora posso andare avanti nella mia nota
script e uso che ha generato Prisma
cliente per eseguire operazioni contro il mio
database quindi ecco il codice che era
che è stato generato per il mio cliente FISMA
e perché mettiamo anche i tipi buoni
definizioni strette qui dentro in realtà
inoltre ho anche il completamento automatico
per le operazioni sul client Prisma
istanza proprio qui nel mio editore lo farò
che mostrano in appena un secondo ho
creato questa funzione principale proprio qui
e chiamalo così che possiamo fare in modo che noi
può fare operazioni asincrone, quindi facciamolo
inizia semplicemente richiedendo tutti i post
che attualmente abbiamo memorizzato nel
database quindi creo una query su
Client Prisma e qui il mio editor di codice
mi suggerisce tutte le diverse operazioni
che ho già a disposizione così
punto che, fondamentalmente, di sfruttare
questo strato fortemente tipizzato per il tuo
database nonostante il fatto che sto usando
javascript
Otterrò ancora il completamento automatico per il
operazioni che posso usare sul prizm
il nostro cliente che personalmente trovo
il mio è davvero fantastico, eccoci qui
abbiamo appena chiesto tutti i post e poi
li stamperemo al
console e vedere cosa succede cosa facciamo
aspettiamo a questo punto in realtà ci aspettiamo
un array vuoto ma prima che effettivamente corro
lo script dobbiamo fare ciò che JavaScript
gli sviluppatori adorano di più e questo è l’aggiunta
nuove dipendenze dal progetto, quindi sono
aggiungendo il prizm il nostro cliente alza e
gradualmente la pendenza e ora sono davvero
in grado di eseguire questo script
mi spiace ah grazie grazie tanto
Sto facendo live coding e per favore se tu
prendere uno di questi tipi di problemi
Non ti ringrazio di cuore, lo vediamo
all’array vuoto viene stampato esattamente
come ci aspettavamo perché il nuovo database
sulla FISMA nube ha in realtà non ci sono dati a
ma così andiamo avanti e cambiamo
creando un nuovo post usando il create
funzione post proprio qui di nuovo solo
fornendo dati casuali ma sempre con
Completamento automatico e se eseguo di nuovo questo
allora vediamo che un post è stato
creato posso farlo funzionare di nuovo e vediamo
che entrambi i post fanno ora parte del tutto
la politica quindi voglio mostrare subito
ancora una cosa così qui questo campo postale
mi consente anche di fornire un paio di
filtri per l’impaginazione o semplicemente
filtro in base alle proprietà specifiche
quindi qui se fornisco il filtro di usura I
posso vedere tutti i diversi modi come posso
filtro i post e potrei ad esempio
fai un filtro per i post che contengono
questo nel loro titolo e quindi mi aspetto
che ho appena ottenuto quello che ho creato
prima torna tutto bene finora per il
Cliente prisma e ora cerchiamo di portare questi
due mondi insieme
il client Prisma e il mio risultato
funziona per vedere come il client Prisma
mi aiuta a implementare i miei risolutori
cancellando tutto il precedente
implementazioni perché non ne ho bisogno
loro più
questo e inizierò solo con la creazione
le query in realtà così messi commenti su
tutte le mutazioni in modo che possiamo testare
tutto passo dopo passo quindi il modo in cui io
ora implementa il posteriore proprio qui
è fondamentalmente semplicemente chiamando il post
domanda sul mio cliente prigioniero ma perché
abbiamo questa stringa di ricerca proprio qui così
qui voglio assicurarmi di essere in grado
filtrare per gli oggetti giusti che voglio
per fornire questo gioco qui e poi io
in realtà hanno due condizioni o il
il titolo contiene la ricerca o il
il contenuto contiene la mia stringa di ricerca e
per l’operazione postale è anche abbastanza
Ho semplicemente semplice uso del post
query che ho disponibile qui e
passare l’ID fornito nel
query testiamo questo così sto iniziando il mio
server grafico e tornare qui e
ora eravamo di nuovo nel parco giochi
Vi ho mostrato in fin dall’inizio dove
questa volta se lo aggiorno perché io
commentato tutte le mutazioni che abbiamo appena
avere i post e pubblicare quella cura è
disponibile al momento ma se lo faccio ora
invia la query del post che mi aspetto di vedere
due post che ho creato in precedenza
la sceneggiatura quindi quei due con il
contenuto casuale e il titolo casuale
c’è un leggero ritorno al momento
perché sono sull’ultima beta è quello
a volte la mutazione è il cliente
eseguito due volte ma quello è nella beta così
puoi ancora sentirti al sicuro, va bene
quindi la ricerca post funziona in realtà
vediamo se possiamo anche
chiedi un singolo post solo per ID di nuovo
e là andiamo questo curry funziona anche così
andiamo avanti e inviare il mutazioni
per la creazione della bozza di mutazione abbiamo solo
usa la mutazione post creata che era
generato da Prisma per il titolo noi
fornire il titolo e il contenuto
il contenuto che è stato presentato tramite
la query e una nota rapida, quindi se
stai usando dattiloscritto allora
questi argomenti risolutivi proprio qui e
anche i valori di ritorno saranno digitati così
al momento per me è come un po ‘
un po ‘difficile perché ho bisogno di essere sicuro
che non introduco titoli se io
stavo usando dattiloscritto poi il compilatore
prenderebbe tutti i problemi che io
introdotto nella mia forma resolver per il
notazione pubblicata stiamo usando il
aggiorna l’ operazione sui post fornita
dal cliente Prisma che prende un dove
argomento per descrivere o specificare quale
i post dovrebbero essere aggiornati e poi cosa
dati vogliamo aggiornare aggiornamento così vogliamo
per impostare il campo pubblicato su true e
finalmente per cancellare abbiamo l’eliminazione
post mutazione dove possiamo anche fornire
l’ID del ne abbiamo bisogno iniziamo il
server oh così ora grafico i tuoi reclami
perché ho solo implementato i resolver
e sta cercando di abbinare quei risolutori
contro lo schema grafico ma perché
attualmente non c’è alcuna mutazione
reclami quindi sto mettendo in
definizione della mutazione che inizia il
server che rinfresca il parco giochi che vedo
che tutte le mie operazioni sono tornate posso andare
avanti e creare una nuova bozza
quindi probabilmente questo è stato creato di nuovo sì
ed è stato creato due volte, quindi usiamo il
elimina la mutazione del post per sbarazzartene
di quelli e vediamo ora dovremmo
ne resta solo uno, questo è tutto
giusto è la demo come puoi costruire
il tuo server grafico con prigioniero
prima che ti lascio andare, voglio subito
aggiungo che ci importa molto del
comunità grafica e stiamo ospitando
il grafico conf il prossimo anno qui a
Berlino quindi abbiamo rimarchiato ciò che era precedentemente
in realtà chiamato il grafico in Europa
conferenza quest’anno abbiamo avuto circa 500
i partecipanti lo scorso anno c’erano 300
ai partecipanti abbiamo avuto relatori da github
Facebook da Twitter da Shopify da
Yelp è un’azienda davvero di alto profilo
che stanno usando grafica in produzione
oggi
dopo abbiamo anche avuto la gravità
i co-creatori parlano all’evento, quindi posso
consiglio solo se sei interessato a
grafico e come puoi introdurlo
nella tua azienda che ottieni il tuo
biglietti per l’anno del contesto grafico e
questo è tutto ciò che ti ringrazio tanto
[Applausi]
Please follow and like us: