Press "Enter" to skip to content

Observable JavaScript playbook, asynchronous generators and hacking the Fun Fun Forum


buon lunedì mattina oggi andiamo a
dai un’occhiata a osservabile che è a
servizio che fornisce interattivo
Playbook JavaScript con osservabili
dipendenze è uno spettacolo diverso
tu ad essere onesti occhi e poi PJ e
stai guardando la funzione
[Musica]
nel caso ti stia chiedendo perché sono
indossare un cappello è perché vivo
Svezia e adesso in Svezia cose
sono incredibilmente freddi come così freddo che tu
arrabbiarsi così freddo che in realtà ho un
riscaldatore come si chiama uno spazio
riscaldatore nel mio piccolo studio qui
ma non posso farlo funzionare mentre sono
registrando così mi piace che mi copra
con i tessuti tutto bene, quindi cos’è
osservabile se si ha familiarità con
i playbook di ipython sono fondamentalmente
che tranne che è in JavaScript di
Certo e il suo software in hosting è un
servizio in modo da non aver bisogno di sedersi e
pasticciare con l’ impostazione e lo è anche
è consapevole delle sue dipendenze e
ricalcoli dinamicamente se stesso quando
è cambiata una dipendenza che è enorme
enormi implicazioni per il tutto
sistema di playbook e lo rende così tanto
più potente del playbook ipython di sempre
da quando ho provato il playbook ipython molti
anni fa ho voluto questo specifico
prodotto e sono così felice che sia
finalmente creato ed è incredibile e
sarà enorme questo non è un
video sponsorizzato che non hanno nemmeno chiesto
per rendere questo questo è solo un prodotto
che sono incredibilmente entusiasta di tutto
giusto quindi questo è un playbook se lo sei
non ha familiarità con il playbook di ipython
probabilmente è solo meglio mostrarlo
tu quello che è è un po ‘ come
jsfiddle o codice penna ma è invece
scrivi cose in piccole cellule
dipendere dipende l’uno dall’altro giocare
i libri sono usati quasi esclusivamente per
mina i dati e visualizza i set di dati
come va bene abbiamo questo database di utenti
e abbiamo bisogno di capire quotidianamente attivo
utenti e abbiamo bisogno
mostra un grafico di quel tipo di lalala
di cosa è un po ‘come un excel su
super super super poteri
blah-blah-blah-blah-blah lascia che ti mostri
quello che sembra è osservabile
Ho appena creato il mio taccuino in modo che tu possa vederlo
qui che c’è un blocco di markdown qui
quindi questo vale per qualunque cosa io scriva
qui in markdown ciao osservabile e io
basta premere shift enter e render e io
può continuare a digitare qui e lo farà
sai renderlo bene così com’è
genere di freddo si può scrivere come documento
qualunque cosa tu stia lavorando
con quello al momento fai il tuo gioco
prenota bene per il futuro del tuo
generazioni future quindi questi URL dopo
li pubblichi sono condivisibili
osservabile è un prodotto molto precoce
sapere che stanno lavorando su privato
Privati ​​privati giocano libri e squadre
ma per ora tutti i libri di gioco che tu
pubblicare sono pubblici o privati
non c’è niente in mezzo, quindi puoi
scrivi JavaScript 5 + 5 it shift-enter
sono le dieci e puoi anche assegnarle
variabili così posso farlo odio questi tipi
di nomi di variabili, ma sto andando assegnare
foo e quindi posso riferirmi a quelli
variabili da altre celle
Sì, ho creato un nuovo cellulare qui e lo farò
fare cibo più più 25 che valuta
35 questo finora non è molto impressionante
questo è esattamente ciò che io gioco Python
fa ma lascia che ti mostri questo mi lascia
cambia questo in 8 e premi shift enter
notare che questo stronzo qui aggiorna lascia
me lo cambio di nuovo, vedi che questo live
aggiornamenti qui e questo è perché è così
non perché l’ intero playbook
indietro Enders tutto il tempo no è perché
del perché questa cellula ne è consapevole
dipendenza da questo ci sono alcuni interessanti
implicazioni con quello, ma ho intenzione di farlo
mostra come dichiarare prima una funzione
quindi diciamo che dichiaro una funzione
e lo chiamiamo ciao e lo farò
lasciatemi fare un ritorno a colori
promettiamo nuove promesse e questo è come
fai promesse va bene ci vuole un
funzione ed è una funzione risultato e
quella funzione risolutiva sarà
freddo con ciao chiamiamolo
saluto invece di essere onesto e io
non voglio che venga chiamato immediatamente io
voglio che faccia freddo dopo una seconda volta
è quel momento ahi e poi sta andando
per risolvere e poi sta per o così
dopo aver detto oh vediamo se questo
valuta nope uno inaspettato
i genitori troppo fighi lo vedono ora
il saluto è una funzione, quindi se mi limito a chiamare
saluto, dopo un secondo lo vedi
ci sono aggiornamenti in basso così vedi
che osservabile è molto consapevole di
il concetto di promesse e volontà di tipo
lo capirò solo così posso
in realtà assegna questo a una variabile solo
chiamalo attuale saluto lì BAM e
allora ho intenzione di dettarlo ha esortato
fammi un saluto di conteggio dei riferimenti
da qui l’attuale saluto si vede bene
che valuta di ciao 25 ​​perché
JavaScript non ha senso
lasciami cancellare questo
vendi qui in modo da non farci troppo
confuso mi piacerebbe davvero
supporto drag-and-drop qui in modo che io
potrebbe trascinare la lettura perché loro
l’ordine di queste cose non ha senso
forse l’ Ursa posso spostarli in qualche modo io
non so come
qual è il tasto di scelta rapida per lo spostamento non lo faccio
so che probabilmente c’è un po ‘di là
Lì, ecco, ora diamo un’occhiata a questo quando
Cambio qui per comprare e basta
aggiorna dopo un secondo avviso quanto elegante
questo è che l’ambiente è a conoscenza
promette e li rivaluta costantemente
tutto il tempo è così incredibilmente
elegante a lavorare con lasciami fare riferimento a questo
cosa essere un ritardo di funzione di ritardo
millisecondi e lo chiameremo
lì e poi sarà ora così
il ritardo è ora una funzione che restituisce a
prometto che si risolve dopo il suo certo
quantità di millisecondi e come vedi
qui ora queste cellule dipendono da
avendo ma esiste il saluto di funzione
ora sono rotti perché lo sai
che ha senso quindi non c’è questo concetto
in dentro anche un libro chiamato blocchi I
penso che siano chiamati blocchi qualunque e
Voglio chiamare questo numero e lo sono
creeremo blocchi quindi questo non è un
oggetto letterale che sto creando ora
questo è un blocco, quindi può farlo
il churn così blocchi sono più che puoi
pensa a loro come probabilmente se ti piace
è solo come una funzione che è
valutato immediatamente così puoi farlo è
un po ‘come un implicito e posizionarlo
così questo è un po ‘come sembra
piace ma ma ha anche il suo tipo di
come un implicito una funzione sinc pure
quindi posso solo
se faccio questo ritardo 10 1000 e solo io
dì oh aspetta e poi tocchi tutto
a destra 17 e giocherò che vedo che oh
aspetta un secondo e poi restituisce a
1017 ed è anche un generatore implicito
aspetta quello che lascerò affondare in un
un po ‘perché non sapevo nemmeno che a
i generatori sincroni erano una cosa e
è incredibilmente utile nel
contesto di analisi dei dati lascia che ti mostri
mi permetta di fare un po ‘di vero e stiamo andando
per fare è uguale a 0 e lo faremo
aspetta per 100 millisecondi e poi siamo
andando a fare plus plus e poi siamo
andando a cedere I e posso correre a guardare
che è così bello e, naturalmente, posso
dipende da questo quindi lasciami cancellare questo
cellula qui e dì semplicemente come posso fare
ciao, più numeri e vedi che questo
leary dinamico valuta che potrebbe essere quello
non hai familiarità con i generatori o
una funzione sincrona allora questo è
piegati alla mente che potresti desiderare
controlla il mio episodio sui generatori qui
Ho anche fatto un video su un lavandino attendono che
probabilmente troverai molto interessante
butta fuori se questo ti confonde
perché questo sta per essere il modo più
confondendo più tardi tutto bene
oltre a essere solo bello c’è
qualcosa che possiamo effettivamente usare questo
per avermi permesso di mostrarti, ma così c’è
c’è un punto finale che ho per
il forum Fun Fun che è il privato
forum per i clienti dove le persone possono
nel loro profilo
basta inserire JSON arbitrario e questo è
esposto attraverso un endpoint che tutto
altri ex membri possono usare così puoi
usalo per creare dei servizi di dumping
senza il mio coinvolgimento lasciami solo mostrare
tu quello che sembra quindi sto solo andando
corri che va bene se lo prendo semplicemente
dà a dà un oggetto di risposta che
non è molto utile per noi lasciatemi valutare
sai che possiamo effettivamente fare un blocco
qui e attendo questo miss fetch mettilo
in una risposta e poi noi e facciamo a
corpo sai cosa possiamo fare questo
con le ossa puntino JSON e torniamo indietro
va bene così abbiamo questo
quello che sembra è solo un nome utente
sul lato sinistro e poi forse su JSON
il lato giusto quindi i membri sono altamente
incoraggiato a inserire cose che lo faranno
rompere le applicazioni di altri
gli utenti mi permettono di chiuderlo per un po ‘
guarda il mio Jason, quindi voglio come facciamo
assegna questo a una variabile che stiamo andando
chiamalo vecchi dati peggiori nome variabile che sono
andando a creare una nuova cella ho intenzione di fare
Tutti i dati
e controlla il mio utente che ha mpj così
ecco alcuni Jason diciamo che è giusto
una stringa JSON quindi fammi fare un json.parse
per cento va bene
lookie lookie ecco un oggetto così questo
è una cosa piuttosto interessante che posso
mostra che in realtà andiamo al divertimento divertente
mucca del forum e le loro orecchie un colpo mostrarti
era e c’è questa bella mappa
quella valenza ha fatto quale è il moderatore
sulla parte anteriore di informare è attualmente
rotto perché ho appena riscritto questo
endpoint ma in pratica mostra tutti voi
le posizioni dei membri del carattere
sul forum che ha messo le loro cose dentro
lì l’endpoint JSON hackable così
ecco la mia posizione a Göteborg e tu
è necessario inserirlo nella mappa utente
la posizione sa che è ciò che l’app
si aspetta che tu faccia effettivamente avere un
dare un’occhiata a questo questo è il mio
la mia posizione , facciamo la posizione dell’utente
Lam là ora sarebbe bello se
questa posizione è stata aggiornata dal vivo quando io
aggiornato sul forum cosa intendo con
che in realtà andiamo al mio utente
profilo e ho appena cambiato la mia didascalia
qui per avere il naso lulu lululu oopps
e salva le modifiche e vai
– osservabile e tu sai che io proprio davvero
mangiato questa cella qui e vedi quella lulu
Lululu sarebbe bello se non avessi
per farlo se ci fosse un qualche modo di
noi per ascoltare i cambiamenti e avere
questa cosa aggiorna la vita risulta
c’è la prima cosa che voglio
faremo lo assegneremo a
variabile lo chiamerò a sinistra o utente
mappa sì hash utente in modo che non lo facciamo
confonderci e dobbiamo aspettare
che mi permetta di restituire l’hash dell’utente in modo che tu
puoi vedere a cosa stiamo pensando si
sembra ancora buono ora c’è in realtà a
Endpoint WebSocket come si fa a
WebSocket è nuovo WebSocket lascia il dovere
per e consueto copiare questo è l’endpoint
il diritto quindi è sicuro WebSocket e
è divertente divertente App Automator Heroku calma
la palliazione degli hacker è fondamentalmente la stessa
cosa come questo end point ma giusto
WebSocket e lo faremo
presa di corrente e quindi stiamo andando a
guarda i bit quindi prendi il messaggio e
questo ci dà una funzione o e abbiamo dato
è una funzione e che prende la funzione
accetta ed evento e no console.log
possiamo distribuire i juji juji che conosci
quello che ho intenzione di fare questo in un separato
bloccare in modo che possiamo pensare a uno
cosa alla volta
oh là ci andiamo andiamo stiamo andando
console.log out evento dot data no data
è dati ed esegui quello o inizia a correre
quello che scarica i dati della console qui è
ping ping tutto bene, sì, ci fa ping
ogni sembra che termina ping come dati
ogni cinque secondi o almeno lasciami
cambia il mio profilo cambialo di nuovo in no
Lulu cosa sta succedendo ne conosci qualcuno
ordine strano lamentarsi qui che io
non voglio farlo lì oh mio dio cosa
ciò che sta accadendo come OSX è confuso
per quanto riguarda il mio, questo campo va bene
dai un’occhiata e vedi l’ era che se noi
ora ottieni un po ‘di nuovo l’utente aggiornato
qui, quindi vogliamo voler aggiornare questo
vecchi oggetti dati cache con quello e
quindi dai da mangiare fino a quest’anno, quindi come
lo facciamo
bene se guardo il vecchio endpoint di dati
potremmo iniziare a cedere cose qui
perché è un generatore ma in
Per fare ciò dobbiamo essere in grado di farlo
tipo di attesa per il flusso o per
la porta D per i dati e non c’è
modo di noi farlo così
refactoring questo è una sorta di promessa
chiameremo questa funzione in seguito
e ha restituito un nuovo
prometto che si risolverà a fare boom boom
[Musica]
eccoci e sul messaggio che siamo
andando a dare i dati del punto dell’evento non lo è
il ping
a noi non interessa il ping che hai appena fatto
voglio che l’utente aggiorni, quindi stiamo andando
per risolverlo con l’evento punto di dati così
Guarda quel chiamiamolo andiamo chiamata
chiamiamolo una funzione e facciamolo
chiamalo inizia a trasmettere qualcosa di simile
quello e M allora saltiamo a questo
e facciamo così creiamo un blocco, facciamolo
assegna accanto alla funzione che è
tornato dallo streaming iniziale vedi cosa
questo sembra
e poi giriamo dopo quello che succede
non sta succedendo nulla
quindi cosa ha senso perché non c’è
aggiornamenti degli utenti aggiorniamoci e io
chiese Lululu e oh mi dispiace per quello
Salva le modifiche vedi l’ ordine ottieni qualcosa oh
abbiamo fatto boom
quindi ora questa prossima funzione tornerà
la prossima cosa nel flusso così se io
in realtà solo
J figlio dot parse e ho bisogno di aspettare questo
così come altrimenti la frustrazione dot parse
vuole un valore reale , né la promessa
guarda cosa sembra e sto per farlo
aggiorna nuovamente il mio profilo Moodle e salva
i cambiamenti e ora vedi qui oh è
nell’oggetto JSON e chiudo questo perché noi
sapere che funziona
ora voglio perché questo è solo fare
questa volta voglio fare in modo che questo
piace come lo mostra come noi come noi
aggiorna quindi chiamiamolo solo io
e poi io punto così lo sguardo che vogliamo il
in realtà vogliamo analizzare il
jason hackerabile lo chiameremo
hackerabile, mi farò fare non hackerare
JSON nuovo Jason parsing è jason all’interno
il JSON è tutto molto confuso
posizione utente e punto del pacchetto impacchettabile
lalalalala cosa abbiamo?
Voglio che la didascalia della didascalia sia restituita
su cosa succede e lascia che lo aggiorni
ancora
sostanza di alcune cose obbligatorie e
è stata una fine inaspettata di input di Jason perché
è questo che mi confonde un po ‘forse
non è valido, Jason, in realtà
controllalo forse l’ho incasinato
me lo incollo in una nuova cella, sì, io
penso di aver cancellato accidentalmente cancellato a
cosa di parentesi graffa alla fine quindi
in realtà lascia che aggiusti i loro ricci cosa
parentesi graffa va bene così ora invece
di avere questo flusso solo una volta volevo
essere un generatore, quindi lo faccio
selvaggio vero e sto andando fare il suo presente
l’interno del selvaggio non è vero
ci andiamo e ora invece di tornare
ci arrenderemo in modo da cedere solo
è un po ‘come un possibile ritorno è
un po ‘come invece di terminare il
la funzione fa una pausa, va bene, ehi
Ti darò qualunque cosa mi stia facendo
generatore di un certo valore e quindi io sono
andando a continuare a eseguire il file qui
e andando a cambiare questa stringa qui due
torna indietro e ho intenzione di colpire
salva dai un’occhiata qui e lo vedi
Aggiornalo aggiornalo fammelo fare di nuovo
[Musica]
dillo di nuovo e si aggiorna e tu
so che potremmo chiamare questa etichetta, ora
in realtà integrare questo nel vecchio
cosa di dati così invece di restituire l’utente
hash qui ce la faremo e
quindi ci accingiamo a iniziare
faccio prossima Sono gonna start in streaming grab
questo in realtà e tornare ai vecchi dati
mentre siamo veri abbiamo questo afferreremo
il tuo aggiornamento per usare il tuo hash e lo siamo
afferra come me non usare il tuo nome
e firmalo con l’hacker Bob JSON
perché è così strutturato e
una volta che abbiamo finito, stiamo andando
per l’intero hash dell’utente e lo sappiamo
BAM
cancelliamo effettivamente questi osservabili
numeri anche perché sono stati
ci distraggono abbastanza a lungo e qui
chiamiamolo mpj e come vediamo
qui ora
questo si riferisce al vecchio come mpj nel
vecchio giorno – così come se ti ricordi di questo
è un hash di tutti gli utenti e ora siamo
riferendosi a un PJ e all’utente
applicazione qui così prima che questo fosse ora
come dobbiamo aggiornare per questo a
aggiorna comunque se tutto questo funziona ora
Dovrei essere in grado di cambiare questo qui e
Salva modifiche e questo dovrebbe essere aggiornato in tempo reale
e vede che salverò
di nuovo boom ed è che sto per pubblicare
questo questo notebook qui in modo che si può
giocare con esso basta trovarlo nel
link nella descrizione dell’episodio e io
penso che sia molto bello
l’osservabilità ha molto senso per a
l’ambiente dei playbook è così facile
lavorare con
javascript è
anche straordinariamente utile per cose del genere
questo è veramente buono a questo
a proposito qualcosa che non ho nemmeno
ti ho mostrato che puoi semplicemente entrare
I moduli NPM qui come Randa o lo sai
qualunque cosa tu abbia bisogno , puoi anche renderizzare
Google Maps e HTML a destra in modo da qui
che puoi visualizzare questa mappa e come
fare tutti i tipi di shenanigans è davvero
davvero carino che probabilmente andrai a vedere
Mi fa un po ‘di più osservabile
cose nei prossimi mesi perché
questo è un prodotto che io sono io sono molto
entusiasta di spero che tu l’abbia trovato
utile se sei confuso per favore post
domande in basso o se sei un
Patron puoi postarlo sull’apposito
argomento di discussione sul forum Fun Fun di
cliccando qui o nel link in
descrizione dell’episodio se sei nuovo
vieni hai appena visto un episodio di
Fun fun function a release è every
Lunedì mattina Oh 800 GMT se lo siete
smemorato puoi iscriverti qui così
di non perdere o semplicemente guardare un altro
episodio adesso cliccando qui io sono
NPJ fino al prossimo soggiorno Lunedi mattina
curioso
Please follow and like us: