Press "Enter" to skip to content

GOTO 2018 • Kotlin – Lessons From the Backend • Attila Houtkooper


[Musica]
Parlerò un po ‘del
lezioni dal rovescio che siamo stati
facendo un progetto qui per l’anno scorso
e questo è in realtà vivo così noi in realtà
hai scelto di scegliere questa roba non andando
per parlare di molte cose fantasiose
o almeno penso che non sia non il
roba di fantasia perché ne parlerò
ciò che effettivamente usiamo quando effettivamente
goditi dal dal linguaggio stesso
come è stato detto che sono CTO della macchina
imparando anche se questo non è niente
a che fare con quello, ma mi piace davvero
la lingua e volevo condividere questo
con te così tanto come ho detto caratteristiche noi
usare così un po ‘ sulle basi può
essere una buona dimostrazione di mani sarebbe come
molti stanno usando Copland dal vivo in una realtà
domanda va bene così tante persone così io
farà questa diapositiva per diapositiva se le persone
non sono interessato a vedere esempi di
roba di base allora ci sposteremo altrimenti
Ho esempi di cose di base buone così
Parlerò un po ‘la
integrazione con quadri primavera e
Jackson keto e poi discutere alcuni di
alcune delle cose che abbiamo tipo
lottato con o non veramente lotta
ma ha avuto una prima lotta con
e poi uno oh sì
prima dico PHP e quindi ho così ho
uno sfondo in PHP non volevo mostrare
tu questo questo è il modo in cui ho ottenuto
introdotto in Cokely e in effetti
qualcuno ha capito bene questo è quello che io
volevo dire e applicando questo a un
applicazione interna che ho fatto per
me stesso e che inizialmente è stato costruito
PHP okay quindi ho scelto PHP a quel punto
perché è quello che ho imparato a fare quando
Avevo quindici anni o qualcosa del genere così
bene era molto veloce da fare
il software è molto semplice , sai che lo è
è molto bello fare questo tipo di
le cose, ma a volte le colpisci
qualche punto che hai colpito colpisci il muro e tu
cambiare volentieri in quella velocità e
semplicità per scala
la certezza di una cosa fortemente tipizzata
e questo ti rende davvero felice
punto perché si vuole la cosa giusta per
lavoro ma poi lo sai, credo
Ottobre 2016
Mi sono imbattuto in questa cosa di Coquelin e io
ho deciso di fare qualcosa per dargli un’occhiata
fondamentalmente e ho ottenuto la semplicità indietro di meno
codice Ho sempre amato meno meno codice desu
e ho recuperato le cose funzionali II
Ho lavorato per otto mesi in cui ho lavorato a Scala
e questo aveva un sacco di cose funzionali
in esso ma non potremmo non potremmo realmente
fai in modo che funzioni in un modo semplice così è
bello che potremmo avere quel mix qui così
quella fu la mia introduzione e poi
quando l’anno scorso a maggio abbiamo iniziato un nuovo
progetto per un grande cliente ho detto perché
non lo facciamo in questa roba perché
è davvero interessante da fare
fare in modo che accada sarà questo
sarà caldo e tu lo sai, ragazzi
qui mostra che i clienti così importanti loro
bisogno di allontanarsi ovviamente da un
monolito esistente che la maggior parte dei clienti fa e noi
necessario per sostituire una parte di così
questo è quello che abbiamo iniziato a maggio come
Ho detto che gli stivali primaverili da comprare adesso
scalare un graticcio Gradle inizialmente Java
ma molto presto si muoverà verso il
roba comune quindi oh sì, lo sarà
lezioni da esso quindi questa è la lezione uno
è bello così per quelli che sono già
usare Copelan è abbastanza ovvio, ma io
indovina alcuni degli altri vogliono avere
alcune delle munizioni da dire al tuo
per dire alla tua squadra perché dovrebbero davvero
inizia a imparare questa roba così sono
qui per aiutarti quindi prima di tutto perché
voglio il Kotlin che non mi piace
scrivi o leggi lanugine che voglio raggiungere
punto
Coughlin mi permette di fare questo mi piacerebbe
per capire gli errori che io
perché faccio dei difetti, sono un uomo
Rendo le donne false non fare mai errori e
così io
Mi piace capire perché con quello che è
Amo la documentazione aggiornata
Ognuno fa
Sono davvero interessato e prevedibile
le api e le persone lo capiscono molto
facilmente, quindi penso che sia abbastanza buono
poi c’è ovviamente un mucchio di altri
motivi per cui li ho messi tutti in una parola
Nuvola con animazione comunque così tanto
ragioni quindi ora andiamo al codice e
questa potrebbe essere la roba di base quindi andrò
Basta sfogliare e vedere quello che ci serve giusto
cosa ho bisogno di approfondire perché
anche parlare con persone che non hanno usato
codifica tanto sì sì voglio colpire
un bel bilanciamento così andrò
parlare di questi argomenti molto semplici
roba primi tipi impliciti non più no
più specificando il tipo quando tu
dichiara somes qualcosa no no safety is
una funzione con cui ci divertiamo molto
i metodi che possiamo fare sulle liste così
la parte di programmazione funzionale di quello
e qualcosa su estensioni e tipo
alias che è fondamentalmente ciò che questo
parlare parla di in termini di
roba di base di Copland, quindi prima di tutto
tipi impliciti molto semplice, si arriva a
definire una funzione sembra che sia a
funzione che trasforma una stringa in
un’altra stringa in modo che possiamo chiamare con
il mio sempre creativo esempio di stringa blaah
che vedrai molto di più di me
pensa e poi se mi oppongo solo a
Java, quindi, otteniamo un po ‘di più
pezzo di codice ma ci piace ancora
questa nuova sintassi che Scala quello
Java introdotto anche se non mi piace
applica non so perché ha da dire
applicare qui non ho mai chiesto che ho
non ti interessa applicare ma sai okay
va bene, non c’è una buona ragione, sì, così ora
voglio fare una funzione che ha un po ‘
un po ‘ più di argomenti perché scrivo
software e con cui funzioni
nota per gli argomenti balbetto pure in modo da
sai che a volte è davvero così
eccitante cosa è
succederà ancora una volta l’ho fatto
quindi sì, ma purtroppo che questo tipo di
sembra carino in Koplin e poi in Java
è un pezzo di storia triste ma ce ne sono due
due modi per essere tristi, ce n’è uno in cui tu
dove ti trovi in qualche modo in cui fai il nido
queste funzioni così allora sembra
stai facendo qualcosa che è bello così
è bello e poi si arriva ad applicare
un po ‘di più quindi è bello, naturalmente
non sarà una serata bashing Java
ma non posso dire di resistere all’altro
la cosa è dove devi determinare
determinare un’interfaccia separata che ordina
di ti dà quello che vuoi e poi tu
può usare quello e quello dice che sai
segreto interessante yeah che sorta di
si avvicina a dove voglio essere
anche se non voglio essere lì e io
ancora ottenere quello si applica a nessuno
voglio vedere un esempio di questa roba
si
è visibile per tutti sì oh
sì , è molto stupido e semplice
esempio ma possiamo eseguirlo almeno e
allora è una cosa troppo grande ma lo sai
va bene, è interessante quindi genera
una funzione o è essa che genera
stringa oh sì sì chiamo questa stringa
com’è stato stupido quello che avrebbe dovuto essere
destra bla Non mi piace che fare quel
ovvio, quindi non ci sei, quindi è così
possiamo fare cose molto semplici
definire una funzione senza che sia il
membro di una classe o qualsiasi cosa solo un
cosa in linea e quindi basta usare l’uso
che finora così semplice direi se
ci sono domande e sto guardando il mio
schermo molto per favore basta gridare e
dimmi, ma aspetta che tu sappia qualcosa
e quindi, naturalmente, un equivalente Java è
è come ho detto, come ho mostrato a
slide è un po ‘più coinvolto
ok bene guardiamo qualcos’altro
nessuna sicurezza nulla quindi uno di questi tipi di
gli errori di miliardi di dollari sono così
è stato soprannominato è è è al
introduzione di no a causa di tutto il
difetti che sono morti e poi noi
prova ancora ad affrontare questa roba e
Coughlin fa questo penso che in una realtà
in linea di principio in linea di principio si dice
in un modo molto breve dici bene questo
potrebbe essere una stringa che potrebbe anche non essere un
stringa in questo caso sono molto essendo
davvero esplicito che non è una stringa
ma quello poteva essere un var o esso
potrebbe essere stato qualcosa che viene fuori
di una funzione e che avrebbe potuto essere
non è così ovvio e quindi abbiamo un modo
per dire bene prendiamo un valore predefinito così
qui quello che vedi anche è un if
la dichiarazione in realtà restituisce un valore così
puoi usarlo come una cosa in linea come a
sostituzione per l’operatore ternario così
qui diciamo se non è poi che darmi
anonimo o altrimenti lo uso
stringa e ciò che è bello di cotone è
bene
è che fa un costo intelligente così
forse stringa fuori da questo al di fuori di
questo altro blocco era una stringa che poteva
essere un no ma qui dentro sarà un
stringa vera come una stringa dura perché
sappiamo che abbiamo già controllato
se il punto interrogativo era lì e
se non è così, lo sappiamo
questa sarà una stringa reale quindi
è davvero bello ma potremmo farlo
un po ‘ più breve usando Elvis
operatore che è bello e poi sì
quello diventa una piccola cosa carina così
Fin qui tutto bene mi piace molto
salvare le chiamate qui possiamo ordinare la catena
chiama che vorremmo fare su un
oggetto in questo caso questa stringa ma fallo
su un presupposto che non è non così
qui diremmo qui direbbe prendermi
la lunghezza della stringa se quella stringa
Non c’è bene va bene
vuoi un esempio di questo sicuramente meno
l’entusiasmo già va bene, va bene
va bene no va bene va bene io
appena trascorso ore su questa roba uomo non IS
C’è qualcos’altro che ho mostrato sul
scivolo sì un pochino che non ho mostrato
questa parte in cui dici bene lo so
potrebbe essere no ma in questo caso lo sono
davvero sicuro che non sarà il no
c’è solo sai II è sufficiente sapere che
non sarà idealmente no
avere molto di questo nel tuo codice ma dentro
Alla fine stai usando i framework
non so davvero di questa roba e
poi vedrete che si sta utilizzando questo
più di quanto vorresti ma è sì
significa che funziona così sì, questo è tutto
bene dopo sono così felice che ho portato un
clicker perché non sono mai su una tastiera
e oh sì ho una domanda credo di si
c’è una cosa che mi piace di Java
o per quello che riguarda un altro linguaggio
fa anche la classe cosa opzionale e
cioè che posso mappare sopra l’opzionale
che più spesso di quanto vorrei
fare il
perché cos’è la mappatura di un opzionale
nient’altro che solo una forma generalizzata di
questo caso finale proprio qui
qui qui sto dicendo se ho una stringa
Voglio il campo lunghezza va bene
ma forse mi piacerebbe fare un
operazione arbitraria una volta che quello
la stringa è una stringa effettiva e Java
mi dà che posso fare un optional
qual è il tipo di equivalente
di quella cosa punto interrogativo e poi io
può fare una mappa su quella roba in modo che
significa che se questo fosse questo fosse un
stringa vera che diventerebbe valore
oltre a quella stringa, ma se fosse no
mette o se lo era se era un vuoto
facoltativo o no in questo caso
lascia che sia così che vorrei
vedere questo tuttavia questo non funziona
che fondamentalmente dice bene, dobbiamo andare
abbiamo di nuovo la nostra stringa preferita
e poi diciamo bene se è lì
questa operazione ce la mettiamo e poi la sua
variabili di default che usi all’interno
questi all’interno di questi all’interno di questi
operazioni tuttavia è ottenuto ottenuto il suo
dita incrociate lì non è non è
forse nella futura versione futura di
questo facciamo
va bene grazie, credo di aver fatto un
sbaglio ok bene, lo guarderò oh
sì così giù allora che quel punto
non importa che ti abbia
passare ai funzionali giusti solo per
tutti coloro che non sono a conoscenza di funzionale
programmazione non ho inserito un elenco completo di
cosa cosa cosa tipo di voglio dire con da quel
ma questi sono questi tre dei più
funzioni comuni quanti di voi no
fare programmazione funzionale, ma per
tu per ragazzi ho fatto questa diapositiva così
è davvero molto semplice Mac trasforma a
lista di qualcosa in alcuni in una lista
di qualcos’altro mappa piatta trasforma una lista
di liste che più spesso di quanto vorresti
aspettarsi che in realtà avvenga nel codice in a
elenco di qualcos’altro che è veramente
bello e poi gruppo fa il gruppo
pregiudizio che ti aspetteresti da SQL o
qualunque cosa tu abbia che trasforma una lista
in X in una mappa di qualcos’altro e
indicando un elenco di cose che hanno
lo stesso Y per dire poi che guarda dentro
sembra così
che è più grande fallo così ecco qui cosa
creato è questa breve trasformazione
funzione ci vuole un elenco di questi report
oggetto in alto lì in questo caso
è solo uno ma sai che ero pigro
e lo trasforma in un oggetto che
detiene la media dei punteggi che sono
incluso negli oggetti originali e
alcune cose chiamavano qualcosa di una lista
di alcune cose chiamate record di punteggio ora
che è davvero bello è la media
abbastanza facile da ottenere basta fare un te
basta assicurarsi che il punteggio che
stai parlando non è no e da
quella volta sei sicuro che quel punteggio
quello che era un nullable int è è un
int reale e poi puoi farlo tu
può avere la media di quello che tu
gruppo per il quale ancora una volta parla per
per se stesso e IntelliJ è bello
abbastanza da mostrarci, ma poi quello
tipo sarebbe e e noi abbiamo mappa piatta di
su quella roba
trasformare una lista che sono loro che è
l’elenco dei report River in un elenco di
il suo punteggio registra che è quello che è
vogliamo e poi con la mappa piatta ne prendiamo uno
elenco che contiene tutte queste cose tutte
insieme e poi finalmente finalmente noi
avere una sorta di controllo che dice bene se
che riporta cosa era vuota o
era in realtà vuoto quindi non importa
dammi niente altrimenti mi dai
questa nuova cosa va bene così va bene così
come appare in Java e basta
ottimo quindi hai avuto la stessa cosa
cosa devo avere per ottenerlo
un po ‘fuori mano, ma la
la media diventa una meraviglia
del flusso roba da collezionista strano
fare una media doppia poi ottenere il doppio
valore per gli standard è solo un molto
molto difficile da leggere un sacco di cose allora
qui c’è un per ciascuno che genera
quel valore e raccogliendo una cosa di gruppo
è per me che so cosa mi piace di più e
in effetti se guardo il codice attuale
questo in realtà diventa molto difficile
leggi cose molto difficili da leggere, um
Va bene, sento sospiri, quindi mi sto muovendo
sopra
Le mani di Coughlin dicono che ti sta bene
so che è stata una lunga giornata
quindi Kotlin ha un pregiudizio verso
immutabilità così è così ed è così
in realtà qualcosa che io davvero
Mi piace molto nel mio locale
variabili e nei miei campi che posso
dite bene che in realtà c’è una vocale in
termini comuni e non lo vogliamo
essere cambiato mai più , ecco cos’è
davvero bello ed è una bella scorciatoia
loro hanno la valvola per le 40 cose
quello per le cose che non possono
cambia nel VAR per le cose che
può e per le classi hanno fatto un po ‘
un po ‘di una cosa diversa che hanno appena detto
beh, la cosa predefinita è finale, quindi quando
dichiari una classe che tu tu
Ottieni automaticamente una lezione finale finale
e quando solo quando dici esplicitamente
questo è aperto, quindi ottieni una lezione
quello che può essere esteso quale lo farò
tornare a ma è importante da mantenere
questo in mente che quello è
c’è un’altra bella caratteristica di Copelan
che non usiamo molto ma è ancora
bello da mostrare è la funzione di estensioni
dove puoi dire che in realtà lo metti
metodo su qualsiasi cosa che il debito è
di un certo tipo
molto simile a quello che puoi fare in
JavaScript così si può solo estendere
l’ API di un oggetto standard standard in
in questo modo o un oggetto che è finale o
qualcosa di simile in questo caso io
volevo un intervallo casuale di un certo elenco
quindi potrei semplicemente dire di aggiungerlo al
lista per l’interfaccia della lista un’altra cosa
che è bello qui è che ottieni questo
operatore che ti darà una gamma con
una funzione infissa che è più alla
Il lato DSL delle cose, ma comunque bello
caratteristica di essere a conoscenza di pure
gli alias di tipo sono davvero utili per l’ordinamento
di astrarre la complessità nel tuo
strutture dati che ho mostrato che Java
funzione sorta di firma sarebbe
davvero utile per quella roba
ora non possiamo usarlo in Java così così
non va ma ma per tutti gli altri
casi all’interno di Cokely stessa è
davvero molto utile avere dove tu
si può dire bene se parlo di un file
tavolo quindi in realtà davvero quello che sono
parlare di una mappa muta mutevole di
le cose e poi posso usare che in
incarichi ora non è davvero quello
utile in questo esempio ma ciò che abbiamo trovato
essere davvero utile è quando siamo
passando attorno a questi tipi di oggetti
da un metodo all’altro ma lo siamo
non facendo davvero niente , siamo solo
passandolo a quello successivo poi è
davvero utile avere una scorciatoia così tu
non ho questa firma di questo
questo di questo oggetto dappertutto
quello è buono, così come il secondo
in secondo luogo puoi farlo anche con
con le funzioni dove sembra
hai una lezione ora ma è davvero
solo una funzione anonima che dice che sono
trasformare una stringa in qualcos’altro
qualunque cosa possa essere e poi possiamo
in realtà usi la scelta in quel modo
è davvero bello, credo
la digitazione è sì, proprio così
così solo sì, penso che le auto
buono ok
quindi quella è stata la lezione uno, è bello qualsiasi
domande finora
sì questo
intendi questo sul fondo
linea sì, cosa vuoi sapere?
il ballottaggio o semplicemente osservando ciò come
spettatori si ok
bene hai il tipo di funzione
che è questo
quindi questo fondamentalmente dice che questo è il
firma di ciò che stai per creare
che dice che prendo una corda e io
generare una chiave sì ho capito ho capito
Sì, stavo andando lì da cui stavo andando
tu sai e poi il compito
dice bene se voglio qualcosa di quello
tipo che è alla fine ciò che questa cosa
sta dicendo o almeno è int che io
voglio voglio dichiararlo così
è la dichiarazione di quella funzione
in questo caso una parentesi graffa
dicendo che sai darmi una corda e io
ti darà la lunghezza di quella stringa
vuoi dire potresti dirlo
In realtà l’ho provato e penso a te
non posso anche se mi aspetterei da te
sarebbe in grado di ma se qualcuno più intelligente
di me per favore fatemelo sapere
Mi sbaglio, ma mi aspetterei davvero che
Saresti in grado di tirarlo fuori
perché sarebbe in grado di trovarlo
digitare passando attraverso il
Dichiarazione e tipo di vedere ah
deve essere una stringa che non sai proviamo
fuori
oh scusa scusa stai gareggiando bene
si , non è che non stia aiutando
quella potrebbe essere la cattiveria sì esattamente e noi
può farlo in modo che diventi ancora più uniforme
più corto si tu sei assolutamente
destra
Penso di provare a rimuovere lì o
qualcosa che dovevo fare
la stessa cosa è stupida ma si
anzi, allora diventa ancora più uniforme
più interessante dove dice okay noi
può prendere questa scorciatoia perché se questo
è questo se non vogliamo darlo
un nome esplicito quindi abbiamo il
nome di default di esso in modo da non dover
Qualcuno di quello che sto ricevendo e ora io
voglio farlo con questo no, è solo
sarò io voglio farlo e quello è
questo è fondamentalmente ciò che fa bene
roba okay
giusto così che era la lezione uno e qualsiasi
altre domande super super nitide
bene, prendiamone uno
implementando Copland nei tuoi progetti
c’è che ho fatto una diapositiva divertente che ricordo
ora è con i Simpson che non ho
ho deciso come fare ancora così
sei tu sarai il grande il grande
gruppo sperimentale quindi questo è Homer
parlando a destra Homer ha deciso di cambiare
hai bisogno di un pochino di
la storia qui Homer a un certo punto ha deciso
per cambiare il suo nome in potenza massima no
sai perché, perché l’ha fatto bene, è così
che è una parte della storia, ma pure
non entriamo nei dettagli e ora
sta dicendo ai suoi figli cosa vuol dire
sii quell’uomo così lui dice che ci sono bambini
tre modi di fare le cose nel modo giusto
il modo sbagliato e il modo di massima potenza si raffreddano
così Bart chiede non è quello nel modo sbagliato
e Homer dice di sì ma più velocemente
quindi parliamo dei modi per farlo
cambia bene così il primo è woohoo
fare tutto in accoppiamento giusto
buttare fuori tutte quelle cose Java è tutto
troppo ed è fastidioso e giusto
rendono tutta roba bella e pulita farlo
per me
a condizione che non eri super-guru a
Coughlin e tu e tu ne hai un po ‘
esperienza in Java questo è probabilmente un
idea piuttosto brutta
così vorrei chiamarlo il prossimo
modo potente di fare le cose anche se questo
non è il modo sbagliato più veloce
Devo ammettere, ma comunque è carino
abbastanza sì abbastanza sicuramente l’altra
è dire che mi piace molto il
La roba in Scozia è davvero breve e
bello e posso fare dettagli ed è molto
bel modo di classe dati e whoohoo facciamo
usarlo solo per le prove che non ho davvero
prendilo per quello che è anche quello
strano dal mio lato ma si, così è
anche nel modo sbagliato perché così sei
perdendo molto più divertente
avresti avuto se tu fossi solo
usalo ovunque ma poi usalo
ovunque non dovrebbe essere fatto tutto in uno
un grosso grosso colpo ma facendolo passare
passo così cosa ha detto la squadra quando io
quando ho detto quando quando sorta di
si sono uniti e hanno detto bene, ok
apparentemente stanno facendo questa cosa così
inizialmente qualcuno ha detto chi è qui
in questo momento forse lo possono fare ciò che è
questa merda giusto perché sono abituato a Java
cos’è questa roba su Var e Val’s
questo JavaScript o qualcosa e
poi molto presto arrivano al reale
realizzazione e in realtà funziona davvero
davvero bene è molto, è molto
modo intuitivo quello che ho trovato è che a parte
dalla configurazione dell’applicazione iniziale
e facendo il genere delle parti difficili
di fare in modo il corniciaio funziona sorta di
i piccoli angoli e le crepe a parte
che è andato davvero molto bene
in termini di una squadra che non è stato utilizzato per
la lingua a tutti che applica e tu
lo scegli e lo trovi davvero
veramente bello al punto in cui loro loro
RiRi è rientrato in un’altra cosa di Java e
in realtà ho detto che sai che preferirei fare il
cosa invece pulita ma tu sai che è
la vita quindi è così che è davvero
davvero bravo però non puoi averlo
a meno che non lo fai in modo intelligente
perché non vuoi essere il ragazzo
quello è quello che questo deve
dì ai clienti sì, abbiamo trascorso una settimana
cercando di capire come questa mappa piatta
la cosa funziona e sì per volontario ma io
non so per fortuna che mai
è successo perché lo abbiamo fatto passo dopo passo
abbiamo fatto le piccole cose prima il semplice
roba e poi abbiamo incrementalmente preso
oltre le altre classi , ma non farlo
essere non essere la squadra che tipo di fini
con qualche causa in Java e alcuni
in Koplin perché allora si sta perdendo
su molto di questa semplicità che tu
starebbe avendo allora ancora
devi tenere a mente oh si questo
è il modo in cui funzionerà in Java
e e come funziona con il
Getters nei setter e tutto il resto
roba, assicurati solo di essere onesto
strada lenta e costante verso solo un puro
della tua applicazione cosina che era
lezione due
domande su questo
si
yeah Così la domanda è: come si fa come
introduci Kotlin su un a a su a
su una squadra che sta già lavorando su a
fondamentalmente penso che il grande progetto Java
c’è un numero di modi per farlo
questa la cosa bella è che il cotone
Non è che non c’è bisogno di fare tutto in
Cortland quindi potrebbe essere uno dei passaggi secondari
per esempio, le prove dicono
bene fammi fare un test fammi creare questo
test suite a Kotlin e vedere quanto siamo lontani
può prendere questo, ma se vuoi
la gente è davvero irritata ed entusiasta
Lascia che facciano loro da soli
avere una sessione in cui inizi a dire
beh, se potessimo creare questa parte
dell’applicazione di nuovo e quindi utilizzando
usando questa nuova cosa e poi
persone effettivamente mettere le mani su di esso
invece di questo ragazzo che conosci
fa le cose nuove e calde diventa a
cosa che appartiene a tutto il team
questo dice hey ci piace davvero tanto
cose che vorremmo fare come una squadra
impara questa roba e vai verso questo
questa è una cosa nuova, quindi penso che siano così
quelle sono le cose che potresti farti
potrebbe sembrare duca a quel tipo di
rispondi alla tua domanda va bene si
membro produttivo si verifica entro due o
tre giorni direi il cambiamento e
e poi sto parlando di fare a buon mercato
modifiche al codice esistente che è dovuto a
una API molto intuitiva sai che hai un
elenco con cui vorresti fare qualcosa
quell’elenco e quell’API è probabile che abbia
stato scritto già così non hai
per aggirare l’API, basta usare il
API è così che è molto molto
bello per diventare veramente padrone di questo
roba ci sono un po ‘come me
ha detto angoli e fessure dove lavoro dove
il mix di Copelan con un esistente
quadro ti darà una sorta di
una sorta di mal di testa dove hai bisogno
qualche esperienza e bisogno di tempo per
capire come dovresti fare questa roba
quindi sì, ecco che è così
che lo descriverei direi
con i membri del team che ho ho
discusso di questo e e io non vedo un
curva di apprendimento molto ripida pure
perché l’interoperabilità è buona così
se qualcuno dice qualcosa come voglio
questa lista è di tipo
arrailista per esempio che non è un
cosa che avresti bisogno di fare sarebbe
accettarlo ancora direbbe ancora sì
certo, lo farò un aereo
lo sai, ma sì, diranno solo loro
bene lo trasformo nel mio piccolo
lista di accoppiamenti e andare avanti così
rispetto è molto permissivo nella sua
anche la sintassi e poi ovviamente tu
ho bisogno di avere in mente che a volte
puliscilo e dillo bene dove arriviamo
un sacco di cose java.util lasciaci andare
pulisci quella roba perché non lo facciamo
ne ho bisogno, ma sì, è così che andiamo
rispondi alla tua domanda un’altra domanda
lì nella parte posteriore sì
Non ho e ho intenzione di parlarne
in pochi minuti abbiamo usato fondamentalmente JJ
unità per esso
qualsiasi altra domanda va bene così qui
qui parlo di una sorta di
problemi che possono essere costanti
in altre parole ce ne sono pochissimi
problemi nel lontano allargamento straniero tra
quindi prima di tutto ottieni il
l’interoperabilità con Java è molto semplice
un esempio di questo è guardiamo
collezioni trasforma di nuovo questo codice
ha più linee rispetto a Copelan di a
kolten Wong
beh, anche il cotinino ce l’ha
ha anche le classi degli oggetti
quello su cui stiamo lavorando e il
java uno in realtà lo scegli così
solo ottiene un rapporto che non è il
classe java è solo una classe che noi
dichiarato qui e poi ti facciamo sapere
otteniamo i nostri getter e setter di studio e
tutta quella roba appena fuori dal
libri che è ancora molto molto bello se
ne costruirai una parte
in Koplin sarai in grado di usarlo
quello in java e l’altro modo in altro modo
intorno pure
accanto a quella un po ‘ho già parlato
le liste e le loro liste di commissioni e
cose del genere
accanto a quello è quando in Java lo fai
dichiara una stringa che si trasforma in a
stringa che potrebbe non essere così qui la trovi
alcuni scontri con quadri dove sono
si dice bene questo sta per essere un
stringa ma sai che si trasforma in a
stringa che potrebbe essere no e ora hai
occuparsi di tutte queste cose che possono
sii mulino mentre sei davvero certo
sono loro che non lo sono, quindi sì
guardiamo un po ‘un po’
un po ‘ di jackson perché nei pin
il resto roba che fa la primavera e io
penso che sia un buon modo per iniziare
semplicemente quale la lunghezza di questo codice
rivelerà tutto ok quindi quello che ho fatto è molto
semplice mapper e solo pochi
esempi di questo di questa cosa lasciami
eseguirlo così sì quindi ho una classe che io
vorrei leggere lo farei come
questo fondamentalmente sta passando in un tipo
parametro dicendo bene questo è supposto
essere un’istanza di questo tipo e poi
e poi passando nella Jade Jade JSON
stringa quello che ho fatto è stato aggiunto un paio di
cose interessanti qui prima di tutto io
fatto una classe di dati che è una stenografia
modo di dichiarare immediatamente un corso
arrivare a te devi solo scrivere questa parte
fondamentalmente e quello solo profondo ancora
dichiara l’intera cosa ai setter
per riunirsi per fare tutto ciò che è
ciò che è poi interessante da vedere è questo
possiamo avere che possiamo avere un ID che ha
essere lì ma la descrizione necessita
ha bisogno della descrizione non è così se noi
salta che diventa sapere cos’è e
la stessa cosa vale per il codice di fantasia
e il e questo fantastico in realtà lo fa
dobbiamo essere lì anche noi vediamo che siamo
ottenendo valori di valori predefiniti che
non mi rende super felice per esempio
per le cascate e per lo zero ma tu
so che è quello che immagino cosa otterremo
Tornerò su questo in un minuto
ciò che è bello qui è che possiamo
scavalcare la non mi piace caratteristica di
rimuovere il prefisso è da JSON
oggetti
quindi possiamo solo passare una cosa reale
quello realmente corrisponde al campo che noi
voglio riempire il quale mi piace di più di
dall’altra parte, quindi dobbiamo farlo
una sorta di annotazione nuova per me che consente
a noi per manipolare il valore
impostare in modo che è uno la seconda cosa è
molto bello è un DC réaliser per questo
caso una sorta di un magicamente formattato
stringa che vorrei avere dentro
di un oggetto così qui creo un D
il serializzatore che va in va nel
Albero dei nodi JSON e tipo di ottiene quello
stringa se è lì e in altro modo
non va bene è bello vedere o
ciò che è interessante qui vedere è quello
abbiamo qui un’annotazione
indica che stiamo facendo un
sovraccarico su una classe java per il
costruttore qui è stato anche bello da vedere
che possiamo immediatamente passare il valore
che siamo arrivati ​​qui immediatamente
noi siamo in Java, tu faresti un costruttore
che poi chiama super ecc ecc. qui
può averlo solo all’interno di quella linea
dicendo bene questa mappa direttamente a quello
argomento sulla classe che siamo
estendendo che penso sia un bel
funzione anche di domande su questo
nessuno ancora sì , non ho domande
preparato così o dovrai farlo
mangia i cioccolatini da solo o se tu
hai delle domande a cui puoi passare
la stanza va bene scusa avrei dovuto dire
stai bene così Jackson
si
questa è una buona domanda e io non ho
una risposta per te per questo e B si
come differisce da qualsiasi è che a
cosa può indicare qualcuno la differenza
tra questo c’è anche in ogni sorta di
maleducato maleducato okay aumento okay
va bene così è davvero è davvero
oltre a ciò non ha bisogno di essere
qualsiasi cosa di base fondamentalmente
ok, oh, va bene, va bene
Non l’ho ancora fatto
va bene la prossima è clausole sono definitive da
default che è assolutamente ottimo quando
non stai usando alcun framework perché
allora ottieni esattamente quello che vuoi
voglio che tutto sia definitivo e corretto
a meno che tu non lo apra sai che questo è
questo è un nuovo modo di fare le cose e noi
lo amo davvero , lo adoro per la valvola
valori ma per le classi hmm è una specie di
è una sorta di fastidioso perché abbiamo usato per
non eravamo abituati a non sapere quale era bello
la primavera farebbe ogni genere di roba magica
estendere le nostre classi e avvolgendolo
intorno alle cose e e io non ero abituato
non essere veramente la preghiera di questo e
ora dobbiamo farlo
perché si scopre che nessuno dei
classi che sono annotate con questo
roba in realtà deve essere aperto perché
saranno estesi in fase di runtime quindi noi
puoi farlo in due modi che puoi
passa attraverso il nostro codice e alla parola aperta
per tutte le cose che sappiamo primavera
estenderà o centralizziamo quello
conoscenza e utilizzare l’ accoppiamento tutti aperti
hmm
ergun per il quale vedi il Gradle
sintassi e sorta di aggiungere l’elenco di
annotazioni che noi per cui vogliamo
la classe e i metodi per essere pienamente
apri quale è bello posso mostrare il Gradle
file ma non mostra altro
Di questo, quindi, me ne dimenticherò
domande o osservazioni su questo
eccellente quindi credo che la conoscenza sia
centralizzato che sarebbe bello davvero
quello è buono
quindi sull’interoperabilità con
quadro così come ho già detto a
molti di questi quadri diranno bene
questo restituisce una stringa in Java e quella
10 giri in una stringa che potrebbe essere no
in Koplin che è davvero fastidioso per
roba per cui sai solo che è
sarà una stringa e se non è un
stringa, allora dammi solo un errore di I
non voglio occuparmi di questa roba
per fortuna con lo stivale primaverile 2 hanno aggiunto a
molte annotazioni che dicono specificamente
questo non è mai andare a essere conosciuta in modo
questo è davvero utile
sviluppo per Kotlin a 2 punti dove
dove la primavera parla con precisione di sì
questa è un’ottimizzazione per
Kaufmann e questo è come scegli tu
così ora anche accanto allo stack Android
la primavera guarda attivamente a questa lingua
come una seria opzione seria diamo un’occhiata a
un po ‘al controller restante lì
Sì, è fantastico, è ridicolo
quindi quello che ho fatto qui è che volevo andare
piuttosto in profondità in questo che fondamentalmente in
la fine è la tua argomentazione contro l’ uso
classi di dati ma esso e potrebbe essere dovuto a
la mia mancanza di mancanza di comprensione così io
vorrebbe veramente
Fondamentalmente posso averne tre tre
modi alternativi di leggere un JSON
oggetto e in realtà sponsorizzandolo
a chi l’ha inviato e il tipo di
la più lunga è la più lunga
modo che ciò mi dà effettivamente quello che io
voglio ma è anche un po ‘strano perché io
annotare un campo per non essere no e poi I
dì sì quella cosa forse no che fa schifo
per me, ma l’ unica cosa che in realtà
funziona in realtà mi dà un errore quando
Invio un ID che in realtà non dice
questo è sbagliato
ecc. ecc. vediamo
se avrò quella cosa aperta cinque minuti
è deprimente quindi diamo un’occhiata a questo
così ho rimosso l’idea dal carbone e
Ottengo un meraviglioso errore di 17 volte quello
dice che qualcuno mi dia mi danno un manico I
non è possibile ottenere una maniglia lì è
appena sopra la linea, naturalmente, così io do
a 7 ottengo un’enorme quantità enorme di
informazioni che mi dicono questo campo
manca quello che è gay, immagino cosa
voluto o o dovrei fare qualcosa con
questa eccezione sul retro che
lo rende più corto ma se uso uno qualsiasi dei
altri metodi ottengo di nuovo il mio temuto
zero predefinito per per cose mancanti
e poi lo provo in un altro modo in cui ottengo il
stessa cosa quindi non non super non super
contento che qualcuno ne abbia qualcuno
Esperienza con questo e tipo di fatto
questo in un modo più carino che risolvono questo
scusa voglio ottenere un errore quando passo
in sapere per un ID o perdere la metà
il campo mancante e vorrei lo farei
in realtà vorrei dire questo e in
Infatti vorrei dire anche questo questo
sta andando essere impostato solo una volta così non lo faccio
voglio questo voglio vedere questo no
funziona ma II sarebbe vedere questo
perché questa cosa ha senso e io no
voglio cambiare
Non voglio che nessuno lo cambi questo
questa cosa perché questo è ciò che il
il cliente ha detto che non voglio che nessuno
operare su di esso voglio avere quel
Ho davvero molto stretto i miei guanti
questo dovrebbe essere abbastanza giusto
l’ annuncio non so non è nemmeno necessario
ma supponiamo che io sia un po ‘
bene flessibile ma che dovrebbe dovrebbe
davvero non essere lì quindi è quello che io
vorrebbe raggiungere
è su VAR e questo non è così
fare bene per forint penso che fosse un sì
dirà che non è permesso
tipi primitivi quindi quindi cosa ho allora
vorrei fare è vorrei avere un sacco di
questi campi che sarebbe che, ma poi
l’ins non sarebbe quello che è anche
facendo in modo che la mia faccia diventasse tutta aggrottata e
roba quindi sì, ricordo qualcosa
circa cinque minuti quindi a meno che qualcuno
ora dice oh volevi fare quello che è
facile basta usare innanzi nessuno va bene, sì freddo
grazie eccellente quindi è stato un po ‘di tempo
fa no quei cinque minuti andiamo e
oh si, riguardo ai test, non ti voglio
ragazzi a perdere su questo e nessuno
Adele dovrebbe essere il giusto test del trasformatore
molto molto molto semplice il più elementare
forma base di test è solo la cosa
che oh sì, devo mostrarti il
classe trasformatore che trasforma a
stringa e fa fondamentalmente ciò che il
funzione anonima ha fatto in passato I
voglio solo renderlo semplice ma avere un
classe intorno così si trasforma una stringa
in un bene int
e il test poi dice che lo affermano
quel trasformatore è in realtà in realtà
pensa che l’unica cosa sia quella sorta
di fastidioso e interessante qui è quello
perché questa è una parola chiave che dobbiamo fare
la cosa dei backticks che è fastidiosa
ma tu sai bene ci abitueremo a quello
Immagino che allora abbiamo qualcosa che fa
una sorta di iniezione di dipendenza così
dice bene, questa è una superficie e diventa
un trasformatore non so cosa sia
il trasformatore è ma quando lo capisco lo sono
chiamerò quella trasformazione su a
trasformatore da trasformare l’ attrito in
ha detto qualcosa sui trasformatori così così
come affrontiamo ciò che facciamo noi
Mach ora abbiamo di nuovo le tattiche per
quando perché c’è anche una cosa del vento
e otteniamo e ora un po ‘di più
di una cattiveria che è a
questione quadro che dobbiamo passare
il sapore Java della classe ora va bene
bene ci sono ci sono modi e mezzi
per aggirare questo, ma sostanzialmente finisce
fare e fare una funzione
lo fa per te e può essere è ed ecc
possiamo prendere in giro quella roba che è
interessante da vedere è quella classe
allora deve essere aperto perché il mojito funzioni
deve essere in grado di estenderlo
classe così e se mi lasci vedere che è sorta
di quello sì posso mostrarti tutto
cose che capitano quando non lo fai
che c’è un esempio per la classe chiusa
che fallisce in una classe aperta con una chiusura
metodo che fallisce e poi qualcosa
quello è aperto funziona effettivamente in linea
va bene
ed è invece del mojito standard
okay, sì, entro un mese di noleggio o
qualcosa di simile a destra yeah yeah Sono
utilizzando tale uno pure, ma allora che
non apre le tue lezioni, lo penso
solo si yeah si eccellente buono buono
punto Grazie
qualsiasi altra domanda si
qual è la tua domanda su xx
sì
questo potrebbe essere vero nel momento in cui ho provato
mojito: non ha funzionato bene o
era una caratteristica sperimentale
quello ha fatto l’estensione di classe in quel io
non so se è stabilizzato ora ma
va bene
ok, oh questo è bello, ecco
un grande anche per cui grazie
quel grande bene siamo probabilmente nel
negativo solo quantità di minuti rimasti così
andiamo avanti oh sì
lezioni future quindi sono quasi arrivato
questo è quello che è buono
quindi le cose fantasiose che non abbiamo ancora usato
quindi non abbiamo usato le routine che ho sentito
una o due persone sono davvero eccitate
a tale proposito
non usiamo ancora una valutazione pigra
anche se è molto carino
caratteristica e c’è un esempio che io
ti mostrerei che non usiamo Copelan
alla tua cella e ha detto del gradle
quello standard l’ ho esaminato a breve
ma poi mi sono imbattuto in problemi API e io
era come se Gradle avesse ancora dei problemi
e non usiamo le cari celle in generale
e abbiamo guardato al cotone nativo o
qualsiasi altra di quell’altra lingua
roba così non sul lato client non su
anche il lato JavaScript
um pensieri conclusivi sì è gratis
Le lezioni spero che si sia imbattuto così
è bello mi piace davvero davvero
divertiti che è così facile da imparare, ma se
lo fai davvero, passo dopo passo
avere il vantaggio di usare Java e
Kotlin uno accanto all’altro per un po ‘di tempo
almeno per essere sicuro di non esserlo
all’interno di un nuovo mondo in cui sei come
sì, ero un ottimo Java
sviluppatore e ora faccio schifo così
scusa cliente devi aspettare per tre
settimane prima di capire che roba
non essere così a quel punto che è
non va bene e poi ma i problemi che
colpirai sono davvero molto minori o
davvero limitato nel numero quindi sì che è
esso
tu

Please follow and like us: