Press "Enter" to skip to content

GOTO 2018 • Zen and the Art of Convincing Your Company to Use Rust • Ashley Williams


[Musica]
così il mio discorso oggi si chiama zen e il
arte di convincere la tua azienda a usare
ruggine ci sono alcuni disegnati a mano
illustrazioni come puoi vedere qui
Parlerò un po ‘di NPM
e se non sai che la mascotte di NPM è
un vombato quindi è il vombato qui su a
moto e poi la mascotte ruggine è un
il granchio di nome Ferris se vuoi saperlo
i giochi di parole dietro che li spiegherò
a voi più tardi
sono ampi quindi sì, il mio nome è
Ashley Williams potresti conoscermi dal
internet come un g-dub se mi segui su
Twitter Mi dispiace se non segui
a vostro rischio e quindi attualmente lavoro come
appaltatore per Mozilla e lavoro su
ruggine linguaggio di programmazione quindi questo è un
piccola serie di titoli che tengo
perché si scopre che un open-source
il progetto è molto simile a un piccolo
avvio e cercando di fare solo una cosa
è incredibilmente difficile così al
cena dei relatori mi sono reso conto che non lo so
Conosco davvero il trucco del pubblico
quindi ho voluto tirare per ottenere un
senso di ciò che le persone fanno così quante
le persone qui scrivono ruggine quante persone
qui voglio scrivere la ruggine va bene
spero alla fine che possa averlo
convinto un altro paio di voi se tu
non voglio scriverlo, sono molto curioso
mentre sei qui questo sarà divertente come
molte persone qui scrivono JavaScript tutto
bene, c’è un po ‘al
terminare l’uso di ruggini per rendere il vostro
JavaScript fantastico quindi sono davvero eccitato
per parlare di questo, oltre tutto a posto
quindi questo discorso di oggi è una mia storia su
ottenere la compagnia NPM che potresti avere
sentito parlare
usare la ruggine e così NPM come tutti sappiamo
sta per macchina quasi perfetta
sicuramente non va giù o lo è
problemi in questo parleremo un po ‘di
quei problemi più tardi oggi, ma ho lavorato
al NPM fino a gennaio di quest’anno
quando sono uscito da quella compagnia così
Potrei fare il lavoro dei miei sogni che è lavoro
a tempo pieno e open source così quando ero
facendo quello che ho avuto anche io
un sacco di titoli diversi e quindi io
ne conservo ancora alcuni di questi oggi
loro non se non quando vieni coinvolto in un
open source tutti vogliono che tu faccia
tutto e io sono incredibilmente cattivo
dicendo no , questo è solo un insieme di
cose che ho anche fatto ma che tu
potrebbe notare che è nella mia lista di ruggine
attività mi capita anche di gestire il
il gestore di pacchetti per la ruggine è lo strumento CLI
chiamato cargo ed è fantastico e il
registro è chiamato I / O e così io
solo tu conosci parte di questa squadra di
animali molto carini che muovono pacchetti di
Codice intorno ho una battuta che quando andrò in pensione
Lavorerò con UPS che è il
sistema di pacchi per gli Stati Uniti
perché è semplicemente la mia unica abilità
ma sì, se non sai di MPM
A NPM piace sempre parlare di quanto sia grande
i loro numeri sono così presi
prima oggi è divertente perché quando io
ha dato questo discorso una versione di questo discorso
circa un anno fa i numeri erano circa
Il 50% di questi numeri così grandi sono grandi NPM
è un enorme ecosistema e così è
modulo conta se non si conosce
questo è un sito che aggrega tutto
dei pacchetti in tutti i diversi
registri dei pacchetti e mi piace questo
perché come puoi vedere NPM ha questo
cosa in termini di avvio chiamato un hockey
stick curve Non so perché chiamano
è solo una curva esponenziale
ma chiaramente puoi vedere che è piuttosto grande
e in modo esilarante se dai un’occhiata
la linea gialla è casse di I / O quindi non lo siamo
abbastanza alla stessa scala, ma io mostro
questi per dire che NPM è il più grande
registro dei pacchetti nel mondo e
subito dopo aver detto questo tutto
I commenti di YouTube che ottengo sono come in realtà
no e quindi se vuoi combattere
questo commento di YouTube esiste, credo che um
questo è probabilmente il miglior posto per farlo
principalmente quello che voglio dire è questo è un
servizio incredibilmente grande che deve
gestire molte richieste e così via
questa sarà una grande ragione per cui finiamo
parlare di ruggine quindi nel 2016, quindi
quasi due anni fa ho avuto modo di farlo
incredibile richiesta di pull che ha aggiunto NPM
alla pagina degli amici per quelli di voi che
non so sul sito web del wrestling
tutte le aziende che utilizzano la ruggine in
la produzione è molto blockchain
aziende
cosa sono i piccoli ma c’è anche
alcuni grandi e nel dicembre del 2016 I
devo aggiungere NPM a quella lista e quello era
incredibile quante persone ci hanno provato
per convincere la loro compagnia a fare una scommessa su a
nuovo tipo di tecnologia tagliente come
molte persone ci sono riuscite bene così
va bene ma se vuoi avere successo
questo è davvero l’obiettivo del discorso di oggi
quindi NPM usa la ruggine e questo era come il mio
la cosa più eccitante è stata incredibilmente
felice di questo, ma me ne sono reso conto
molte persone in questa stanza potrebbero non saperlo
cos’è la ruggine, quindi non entrerò
troppi dettagli tecnici
la ruggine, se si vuole chiedere quelle del
domande Sono super felice di rispondergli
ma per iniziare possiamo parlare di come la ruggine
si descrive sul suo sito web ruggine
dice che è una programmazione di sistemi
linguaggio che scorre incredibilmente veloce
previene errori e garanzie seg
filo sicurezza ora che suona credo
tipo di buono ma maggior parte delle persone che ascoltano
questo tipo di sentire questo è come va bene
che cosa è la programmazione di sistemi
ogni volta che chiedo a qualcuno hanno un
risposta diversa e così mi piace tipo
di raccontare la storia di ruggine così tante persone
non rendersi conto che la ruggine era un
linguaggio di programmazione che era in origine
progettato per sostituire C ++ in Firefox
Codebase codebase Firefox necessaria per
muoversi molto rapidamente alla velocità del
web forse e si è scoperto che il
C ++ avevano era incredibilmente difficile da
mantenere particolare a causa della
mancanza di garanzie di sicurezza cercando di
refactoring o modifica qualcosa nel
codebase potrebbe causare davvero enormi
problemi in un altro punto quante persone
qui mai scritto qualche C ++ quante
le persone qui hanno scritto C ++ non sicuro tutto
le mani dovrebbero essere ancora in ordine, ma
questo non vuol dire che il C ++ sia un male
il linguaggio è incredibilmente potente ma ruggine
è stato concepito per essere come bene abbiamo bisogno di
avere una base di codice C ++ che sarà vecchia
e dobbiamo essere in grado di muoverci rapidamente
su di esso e quello era l’originale
ispirazione per la ruggine quindi se molte persone
qui ho sentito parlare della specie della battaglia
tra ruggine e via è una specie di an
artificiale che è un po ‘sviluppato
ed è emerso dal
comunità come originariamente eravamo veramente
cercando di sostituire C ++ così un paio di
le caratteristiche del linguaggio sono
siamo tipizzati staticamente è compilato
lingua non abbiamo alcun runtime
ci sono molti modi diversi di parlare
sui tipi di garbage collection alcuni
alle persone piace dire che devi manualmente
gestire la memoria e riposare non lo è
del tutto accurato ma c’è sicuramente
non succede nulla in fase di esecuzione con questo
gestione della memoria come risultato del resto
programmi che si scrivono sono gonna hanno
un ingombro di memoria incredibilmente piccolo e
ancora più importante abbiamo la sicurezza della memoria
garanzie e ne parlerò in a
Poco modo così il mio preferito per
definire la ruggine è che la ruggine è a
linguaggio di programmazione che vuole
consente a tutti gli sviluppatori di essere sistemi
sviluppatori che dire forse lo sei
come scrivere JavaScript, forse lo sei
scrivere PHP e tu sei come me
roba sul web che non voglio ottenere
vicino al metallo e la ruggine è qui per
dì non solo puoi, ma dovresti e
questo è il tipo di linguaggio che tu
può farlo con così la ruggine è sempre stata
tipo di guardare a queste idee di
trade-off e ogni volta che parliamo
strumenti di programmazione di cui spesso parliamo
trade-off, ma quello che la ruggine vuole fare è
di ‘alcuni di questi tipi originali di simili
al forno e trade-off in modo che tipo di prendere
per scontato cosa succede se non lo facciamo e se noi
potrei dire oh sai che spesso c’è un
conosci una separazione tra l’idea
di velocità o sicurezza e quindi produttività
ed ergonomia e siamo come se
con la magia dei compilatori di compilatori
sono così fantastici con la magia dei compilatori
non possiamo dover fare di questo un trade-off
cosa succede se possiamo avere tutti e tre ora Russ
è un linguaggio molto nuovo per certi
estensione soprattutto rispetto a molti
le lingue che le persone scrivono qui
ma stiamo lavorando molto duramente nei confronti
questo obiettivo e ne abbiamo visti molti
successo quindi oggi voglio saperne di più
in particolare ti parlo dell’idea
di come convincere la tua azienda a usare
ruggine quindi faremo un passo un po ‘
lontano dalla definizione tecnica di
la ruggine è la ruggine e parla di come
puoi convincere la tua azienda a farlo
detto questo se lo sei già
ho deciso dopo il mio piccolo spunto sulla ruggine
quella ruggine non sembra la cosa
per te uno bello ma due a
penso che molti dei consigli qui saranno
aiutarvi a difendere per qualsiasi tipo di
tecnologie come la tua compagnia così tu
può o non può aver riconosciuto che il mio
il titolo è un riferimento a un libro chiamato
zen e l’arte della moto
manutenzione quindi che strano
illustrazione di una moto al
all’inizio ma in quel libro c’è un
affermazione che dice il numero di
ipotesi razionali che possono spiegare qualsiasi
dato il fenomeno è infinito così il reale
la risposta è come puoi convincere il tuo
compagnia di usare la ruggine come c’è
probabilmente un numero infinito di risposte
ma oggi ne rappresenterò dieci
loro e tu potresti o non potresti accorgertene
molti di loro hanno contraddizioni
perché si scopre che le cose sono
difficile quindi sì cerchiamo di iniziare in modo
il primo consiglio per ottenere il tuo
la compagnia di scrivere la ruggine non deve riscrivere
il tuo software si arrugginisce proprio come te
cosa no
quindi quello che intendo dire è che dovresti
non riscrivere completamente il tuo software in
ruggine e questo è incredibilmente importante così
si scopre che le riscritture complete sono
spesso molto infruttuoso quante persone
qui ho provato a sforzarmi su a
completa riscrittura che non ha funzionato
Sì, così uno dei modi migliori per
parlare di questo è in realtà da
qualcuno che fa ingegneria dei sistemi
ma è anche un pediatra che ha scritto a
libro chiamato antics del sistema su come
sistemi di successo ma in particolare come
i sistemi falliscono e ecco cosa dice
riguardo ai sistemi, dice un sistema complesso
che funziona è invariabilmente trovato per avere
evoluto da un semplice sistema che ha funzionato
un sistema complesso progettato da zero
non funziona mai e non può essere corretto
farlo funzionare bisogna ricominciare con
un sistema semplice e così con questa citazione
potresti chiedere oh oh, tutti gli sforzi lo faranno
fallire come posso introdurre un nuovo
tecnologia nella mia azienda e così quando io
stava lavorando a MPI il nostro CTO è chiamato CJ
Silverio e lei fanno un discorso chiamato
barare chiama legge come possiamo imbrogliare questo
idea che dobbiamo sempre iniziare con a
sistema semplice e questo è un po ‘come noi
fallo così è esattamente come lo facciamo noi
MPM che è originariamente NPM
iniziato come un monolite ancora peggio era
un sollevamento mono che era praticamente tutto
all’interno di una raccomandazione del database no
fallo, ma si scopre che per ottenere MPM
è iniziata è stata una buona idea
così come NPM è cresciuto e ha avuto tonnellate di ridimensionamento
problemi se qualcuno stava cercando di fare
JavaScript come 2000 ha colpito 1011 NPM era
tipo di fuoco e così il nostro modo
iniziato a trattare con questo era al posto di
provando a riscriverlo completamente da
zero che penso che possiamo essere tutti d’accordo
probabilmente sarebbe stata una cattiva idea noi
ha iniziato a introdurre un proxy e poi
dividendo piccoli servizi e
quindi questi sono ben noti come micro
servizi e quindi questo è come un termine caldo
e probabilmente non c’è bisogno di spiegarlo
a te ma si scopre che se vuoi
per presentare una nuova tecnologia al tuo
azienda è un’architettura di micro servizi
un ottimo modo per farlo in modo di follow-up
con questo suggerimento 2 si deve mostrare con il codice
quindi inevitabilmente questo significa che potresti
stare lavorando un po ‘ fuori orario
di notte intrufolarsi in qualche lavoro da fare e
quindi il primo codice di riposo che io abbia mai
ha scritto stava usando questo framework chiamato
Tokyo che se qualcuno qui è familiare
con ruggine questa è la nostra soluzione asincrona e
quando lo stavo facendo nel 2015, si trasforma
fuori che questo era davvero un immaturo
biblioteca e così la storia oggi intorno
asincrono e ruggine sono ancora belli
complicato ma indietro nel giorno era
anche peggio, ma non so che mi piace un
sfida
e così ero come me ora che abbiamo
asincrono in ruggine che suona come un grande
sostituzione per nodo quindi abbiamo a
mazzo di nodi i nodi non funzionano così
fantastico fammi provare questo in ruggine quindi come
molte persone qui hanno sentito parlare di a
seguace di registro tutto bene
quindi il registro NPM include tutto
questi eventi e li manda fuori e tu
puoi scrivere un seguace per seguirli
eventi e attività fai e parlerò a
un po ‘ più tardi ma
questo è quello che ho deciso di fare perché
fondamentalmente questo è come tutto il NPM
l’architettura del registro funziona così quando io
parlato di quel database il nostro database
l’applicazione era tutta all’interno di CouchDB che
è un divano rosso che è il loro logo e così
si può vedere che tutti questi tipi di
gli eventi arrivano nel CouchDB e poi
cosa possiamo fare in NPM
registro ha follower che possono
segui quegli eventi e
quindi in un po ‘meno illustrativo
termini questo è un po ‘come sembra
come se le modifiche vadano nel
registro il registro emette eventi e
quei seguaci si iscrivono a quelli
eventi e basato su particolarmente
dati particolari in quegli eventi che siamo
in grado di fare una gamma più ampia di cose questo
è letteralmente come tutto nel NPM
Registro di sistema funziona e se vi capitasse di voler
fare cose divertenti con i dati del registro questo è
come lo fai è molto meglio di
in realtà il download dell’intero NPM
registro che a questo punto è
incredibilmente grande quindi cosa decido di fare
era scrivere uno di questi seguaci e così via
questo è ciò che il mio codice sembrava essere
un po ‘stupefacente quanto è conciso, ma questo
sta sfruttando questo è il punto finale il
replica il carattere di sottolineatura della barra di NPM J Escom
modifiche e tutto questo codice fa bene
qui è inserire le modifiche e poi
stampali sullo schermo ma quello è
tutto quello di cui avevo bisogno per essere davvero in grado di farlo
dimostrare di dire che la ruggine è pronta per
essere in grado di separarsi per far parte del nostro
architettura e così qui questo aggiunge un
un po ‘di più questo è il j / s che tu
scrivi di fare la stessa cosa, quindi questo è
il nodo e quella è la ruggine che gira
fuori che la ruggine è più corta che soffiava
la mia mente va bene
quindi mostrare quello che era veramente quel codice
davvero buono ma uno dei più chiave
cose su come essere uno sviluppatore avvocato
è non vendere ciò che è giusto, quindi ciò che io
originariamente arrivò in NPM il nostro CTO aveva
guardandola , lei era davvero
entusiasta di Go Go è incredibilmente
linguaggio eccitante e quindi se avessi camminato
e sono stato come CJ, non lo fanno nemmeno
avere dei farmaci generici è terribile
questo è un go go davvero di nicchia, mi spiace ma
come puoi vedere bashing altre lingue
fa sembrare tutti così sfortunati
spesso quando lavori
linguaggi di programmazione un sacco di gente
vederlo come un gioco a somma zero che è
dì se questa lingua è buona che deve
significa che tutte le altre lingue sono cattive
ora potenzialmente si può credere che in
il tuo cuore di cuori ma si scopre
che se vuoi davvero cambiare
la mente di qualcuno è terribile
strada terribile per andare e quindi vedo molto
di persone che sono un po ‘quiete, immagino
è perché sto facendo un discorso ma
Questo
è una cosa enorme che vedo nel
comunità ed è incredibilmente difficile
per convincere davvero le persone a non farlo
questo ma oltre a quello dell’altro
le cose che penso siano molto interessanti
sull’introduzione di una nuova tecnologia per
la gente è che non devi controllare
la prima esperienza di ruggine di qualcun altro
e questo significa che tu come qualcuno che è
vendendolo ma anche il linguaggio ruggine
e i suoi strumenti in generale, quindi ho un
piccola storia su come dire a CJ e andare
attraverso questo progetto con lei così che io
ho imparato che non tutti lo faranno
ama tutto di ruggine subito
si riscalderanno e così è
qualche incantesimo di punteggiatura divertente se tu
non conosci la ruggine, non devi preoccuparti
troppo ma questo è qualcosa che tu
può mettere in cima del vostro codice che è
per dire che non voglio che il compilatore avvisi
su come sto nominando le mie funzioni e
variabili e quindi si è scoperto che CJ
è qualcuno che ha un particolare
stile e farla godere della ruggine
necessario per assicurarsi che lei potesse solo
usa quello stile per ora lei davvero solo
volevo usare quello stile e lei lo era
come Ashley come faccio a spegnere questi
avvisi del compilatore come faccio e ho
era come oh sono sicuro che c’è un modo per farlo
io lo scopro e così stavo guardando attraverso
i documenti e io ero come oh no a proposito
si disattiva gli avvisi del compilatore
devo dire al mio CTO che deve farlo
scrivi permetti cattivi stili nel suo codice e
Sono come se questo non funzionasse
quindi questo è piuttosto meschino e così io
fatto e lei era come se tu fossi serio
Ero come se fossi serio e quello era un
peccato e così quando ho tenuto questo discorso
circa due anni fa qualcuno l’ha visto e
in realtà aperto un PR su Russ arte
questo è un problema ma nel nostro repository RFC
per dire hey forse potremmo essere come a
un po ‘meno Shamy per averlo come questo
avere un buon stile se sei solo
partendo come vogliamo che le persone usino
ruggine così dicendo loro che devono
vergognarsi costantemente non è probabilmente un
ottimo modo per convincerli a usarlo ora
potresti notare quelle reazioni github
eh, che ne dici di questo, nel resto?
comunità abbiamo lavorato molto duramente per essere
accogliente, ma le vecchie abitudini muoiono
difficile con un sacco di gente e quindi questo
thread è diventato molto controverso estremamente
polemico puoi vedere molto
azioni di moderazione qui lo mostro solo
per sottolineare che, nonostante questo
era una ruggine incredibilmente controversa
i valori sono inclusivi e accoglienti
nuove persone non ci riusciremo se le persone
non usare la ruggine e quindi abbiamo un forte
squadra di moderazione che tipo di chiudere quello
tutto giù e quindi puoi vedere così tanti
i commenti sono accaduti ma fondamentalmente noi
finito per ottenere questo nella lingua
quindi se vuoi provare la ruggine puoi nominare
le tue funzioni come vuoi tu
dire consentire lo stile non standard e ancora
sentirsi bene con se stessi
quindi in completo contrasto con il numero di punta
tre tip numero quattro è vendere vendere
vendere
così in ruggine perché siamo una nuova lingua
abbiamo così tanti principianti entusiasti
potresti averlo visto o meno in arancione
siti web l’idea dell’evangelismo della ruggine
forza d’attacco siamo arrabbiati per questo noi
non amare che sia un po ‘
aggressivo che viene detto che ci sono
modi davvero fantastici per vendere cose all’interno
della tua azienda che non sono aggressivi
è come andare in giro e archiviare un
problema su ogni repo di ogni open-source
progetto della nave che usi e dì per favore
riscrivi questo in ruggine non farlo
per favore e non sto esagerando lì
sono persone che lo fanno ed è incredibilmente
frustrante per tutti nella leadership
in fiducia, ma una cosa che ho fatto in MPM
per far funzionare questo è stato creato a
reagire G channeler che è qualcosa di noi
usare il gioco al NPM e così ogni volta
qualcuno ha condiviso qualcosa a seconda
qualunque canale ci fosse in te
reagire con un emoji granchio proprio qui e
porterebbe tutto in un singolo
canale quindi se si voleva sapere tutto di
i pezzi strani interessanti che le persone
stavate condividendo la ruggine al NPM che potevi
colpire l’ emoji del granchio e poi lo farebbe
tira su tutte le cose che lo hanno fatto
e semplicemente condividendo le cose che erano
fantastico come puoi vedere qui e così via
CJ stava facendo solo delle ricerche e lei
era come se ci fosse il sodio Lib
legature per la ruggine ed è super veloce
è stupefacente
e così lei è stata in grado di condividere questo e
allora potremmo indicarlo anche questo
tutti quelli che lavorano nell’azienda no
importa quale potesse essere il loro ruolo
fuori da cosa fossero quelle cose e tipo
lentamente ottenere
da soli, così da dare la mancia numero cinque così
la parte difficile della programmazione non lo è
programmazione va bene forse siamo tutti d’accordo
su questo ma questa è una cosa che arrugginisce
mi importa davvero e lo si scopre
nel vendere ruggine a CJ la cosa che
davvero convinta che lei fosse andata
gli elementi di supporto che la ruggine aveva così
avere una documentazione molto ampia
cultura abbiamo tonnellate di libri questo è
nemmeno a tutti loro una delle cose
quello che abbiamo fatto quest’anno è lavoro
creare ciò che chiamiamo il dominio funzionante
libri di gruppo il resto del libro che abbiamo
è molto concentrato sui principianti e
allora abbiamo qualcosa chiamato il
nomicon che è letteralmente come il buio
arti di ruggine che usano un sacco di insicurezze
e cose molto funky ma tipo
notato che il tipo di livello intermedio
di mancava e quindi cosa abbiamo fatto questo
l’anno è stato creare gruppi di lavoro di dominio
incentrato su elementi specifici di
programmazione che si sviluppa uno intermedio
lo sviluppatore sarebbe interessato a così noi
focalizzato sugli strumenti CLI embedded web
assemblaggio e networking e ognuno di
quei gruppi hanno prodotto il proprio libro così
vi stiamo allestendo per essere in grado di leggere
prima il libro di riposo poi abbiamo
un altro libro allineato per te e
allora anche noi sappiamo quando tu
voglio davvero andare a fondo in realtà
uno avanzato e pensiamo che
la strategia di documentazione è davvero molto
importante oltre alla documentazione
ci teniamo molto agli utensili così
specialmente sta arrivando come un C ++
sostituzione di un C ++ del XXI secolo
sostituzione di una delle cose che noi
volevo davvero avere un livello superiore
sistema di gestione dei pacchetti e così come te
possiamo vedere qui abbiamo merci e casse
I / O ma abbiamo così molto di più
quindi se vi capita di usare nodo o
forse qualcosa come Ruby che hai
probabilmente doveva occuparsi della versione
strumenti di gestione prima e quelle versioni
gli strumenti di gestione sono come i nostri strani
progetti di comunità ed è una specie di
difficile dire che uno è quello giusto
per usare un dato tempo in ruggine sei come
lo faremo di nuovo così indietro
abbiamo ruggine ed è così che tu
gestisci tutto il tuo versioning della catena di strumenti
inoltre molte persone non lo sanno
quella ruggine ha in realtà una documentazione
strumenti di fuori della borsa in modo da poter utilizzare un
commento di documentazione che è tre
taglia e poi lancia ruggine doc sul tuo
progetto e it
completamente generare documentazione HTML
per te quindi non è necessario aggiungere un separato
libreria appena cotta e questa è
perché generalmente vogliamo fare il
cose che sono buone da fare facilmente
Inoltre se vieni da JavaScript
probabilmente sei abituato a codificare per questioni
sei anche abituato alle persone che combattono
ferocemente sul codice per le questioni Russ
pettini era uno fuori dalla scatola è chiamato
formato ruggine se vuoi puoi farlo
configuralo ma i valori di default sono carini
bene e infine se ti capita
mai usare Microsoft Word che potresti ottenere
il riferimento di questa idea di Clippy
Clippy è un modo per non filtrare il tuo progetto
per stile o per sicurezza quali nostri
il compilatore lo fa già
Clippy ti aiuterà a scrivere in modo idiomatico
ruggine quindi fa analisi statiche sul tuo
progetto ed è in grado di dire hey sei
facendo questo ma lo sapevi che il
il modo migliore per farlo è questo sembra
stai scrivendo un’affermazione se lo sarebbe
essere davvero grandioso se non conosco le persone
stavano scherzando quando Github è stato acquisito da
Microsoft che il mio dio Github sta per
Ho Clippy ora e tipo di era come
la ruggine ha Clippy è così male
ma Clippy è uno dei più fantastici
strumenti sempre e soprattutto se lo sei
ricominciare è come avere
qualcun altro che programma con te
controlla quelle cose
Infine, la ruggine tiene a cuore la comunità
quindi se sei nuovo abbiamo un canale IRC
che non è un male terribile IRC
canale chiamato ruggine principianti che è
estremamente ben equipaggiato da entrambi i core team
membri e membri della comunità per rispondere
nessuna delle tue domande siamo eccitati
quando le persone arrivano con domande su
ruggine
non c’è RTFM ci interessa davvero
su di esso e sarà felice di sedersi e
lavora con te attraverso i tuoi problemi
inoltre abbiamo iniziato ad avere un
un sacco di conferenze questo è giusto
un piccolo set ma se sei interessato
assistere a una festa della ruggine ruggine Fest
viaggia in tutta Europa e loro sono
eventi davvero fantastici in aggiunta a noi
preoccupa di inclusività e si trasforma
fuori che la programmazione dei sistemi non è il
parte più diversificata della programmazione che
non è il più vario nulla al
momento e così abbiamo due programmi
aumentare la portata del seno che è
in pratica la nostra google Summer of Code e
Inoltre abbiamo programmi chiamati
Ponte russo che sono educativi
workshop focalizzati su under
le persone per farli entrare in ruggine, infine, se
fare dei problemi da solo è
la tua cosa è molto vivace
la comunità sull’esorcismo IO che è a
set di codice Coty’s che puoi fare in a
tonnellate di lingue diverse , ma il resto
uno è anche lì e super fantastico
quindi ho menzionato tutto questo e lo so
che sembra ovvio che tu sia
come ovviamente queste sono cose buone
giusto ma lo sai nonostante il fatto che
sembrano così facili in comune, davvero
non sono né incredibilmente difficili da fare
imposta questo tipo di cose e io sono
davvero felice che la ruggine è deciso a
investire in queste cose presto perché se
non prendi queste cose presto e tu
prova ad aggiungerli dopo che avrai finito
ho un brutto momento e lo so
perché ho partecipato al nodo per a
molto tempo così da ottenere questa roba
la scommessa è terrificante
che molte persone non sanno proprio
primo impegno per la ruggine era un codice di
condotta e molte persone dicono oh quelli
ruggine SJW è il codice di condotta è così
male e dicono che non userò mai la ruggine
a causa di questo e ad essere onesti che diciamo
bene pensiamo che sia fantastico
Va bene così suggerimento 6 la parte più difficile di
la programmazione in realtà sta programmando così
ovviamente quando stai cercando di vendere
sei un tipo di tecnologia per la tua azienda
vorrò venderlo su tecnico
meriti ma non ho intenzione di spendere troppo
il tempo qui perché si scopre che
in realtà vendendo qualcosa su tecnico
il merito è molto facile che le persone si sentano molto bene
concentrato su quella parte e molto distratto
e non concentrarti sulle altre parti
Personalmente ritengo che siano molto importanti
l’unica data un po ‘che ti darò qui
è per ragioni che continuano a essere un po ‘sconcertanti
la ruggine è stata la più amata
linguaggio di programmazione sullo Stack
Sondaggio di overflow per gli ultimi tre anni
dì quello che vuoi sui sondaggi dire cosa
si parla di Stack Overflow, a
comunità di persone che amano davvero
questo linguaggio e questo è davvero fantastico
Va bene così via per dare la mancia numero sette così
questo sarà un po ‘di a
vignetta ma questo è per dire essere preparati
perché le cose cambino
così alle M pm abbiamo un problema
potrebbe esserti familiare abbiamo il nodo
e in tutto quasi tutti i nostri servizi
e i nostri registri di servizio non sono solo
incredibilmente enorme immagina come
registrando tutti gli eventi che accadono
il registro ma hanno anche runtime
errori perché si scopre che
JavaScript ha errori di runtime e se tu
voglio essere in grado di pulirli
vuoi vedere il tuo
registra e li analizza ma risulta
che analizzarli è incredibilmente lento
come anche se ti iscrivi per uno dei
grandi servizi di fantasia che è incredibilmente
costoso anche allora ti stanno dando
come un’opzione di servizio di ore simili come
misurandolo in ore e basta
non funzionerà davvero per noi e così io
stava lavorando con uno dei miei colleghi
Ryan Dave e siamo stati davvero sconvolto
questo qualcuno ha avuto una giornata come questa a
settimana come questa è Pedro Duty in corso
fuori ogni dieci minuti per me su a
giorno mentre stavo lavorando in EM pm
sembra sempre piuttosto brutale accadere il
secondo sono andato in servizio come hanno mancato
io o qualcosa che sono come pagare
attenzione, mi piace, ma io sono qui
questa è una specie di enorme delusione e noi
voglio fare cose per cambiare questo così Ryan
ha deciso di tipo era come se dovessi
scrivi un parser di log Lo farò
e quindi non sapeva davvero molto per noi
usare la loro documentazione e solo gentile
di sceneggiato qualcosa e si è imbattuto in
questo era come se non lo si supponesse Russ
essere super veloce come è il mio parser Russ
due volte più lento del mio JavaScript
versione come questa non è quella che tu
Vendermi su um come è possibile
e quindi ci sono molti diversi
cose tra cui questo c’è un sacco di
gestione della memoria in corso
ruggine e quindi come si scrive la ruggine veloce è
in realtà solo un po ‘di più
complicato e quindi se scrivi un ingenuo
cosa c’è una possibilità che la cosa
quello che scrivi in ​​ruggine sarà
lento si è rivelato in questa situazione
che è un default che abbiamo finalmente
cambiato per fortuna era quello che eravamo
leggendo in un buffer la dimensione predefinita di
quel buffer era diverso da quello che il
la dimensione predefinita del buffer era un nodo
e si scopre che la nostra dimensione era
rendendo il buffer letto incredibilmente lento
quindi quando impostiamo manualmente quello per essere cosa
era sconosciuto , accelerò verso le tre
volte più veloce del JavaScript in modo da
penso che questa sia una citazione davvero interessante
dal mio collega in cui ha detto che ho appena
mi aspettavo completamente di farmi strada fino al 50% /
/ jeaious ma a volte mi dimentico che v8
è
abbastanza maledettamente così mentre provi a vendere
ruggine sulla nota è di nuovo davvero
importante ricordare colpire attraverso
le lingue non funzionano come le altre
le lingue sono davvero un buon nodo è davvero
veloce e così cercando di ottenere quella velocità è
sempre non sempre esattamente quello che sei
cerca quindi questo è un’altra citazione
da quell’arte della moto
manutenzione e dice che non lo farai mai
dedicato a qualcosa che hai completato
la fiducia in nessuno è fanatica
gridando che il sole sta per sorgere
Domani sapranno che salirà
domani quando le persone sono fanaticamente
dedicato a politici o religiosi
Fede o tecnologia forse è sempre perché
questi dogmi o obiettivi sono in dubbio così
cosa dire è che quando siamo un po ‘
promuovendo questo tipo di cose come
è perché c’è una domanda lì
c’è un compromesso interessante che c’è
un potenziale che forse è ancora insoddisfatto
e quindi qualcosa che ho trovato è stato davvero
interessante è che inizialmente pensavo
Venderei la ruggine a causa sua
velocità ma alla fine ho davvero finito
vendendo ruggine a causa della sua sicurezza e
così quando vai a promuovere le tecnologie
all’interno della tua azienda puoi entrare
ragioni particolari ma essere preparati a
reagisci alle altre reazioni che ottieni e
potenzialmente cambiare queste ragioni così
anche se la curva di apprendimento è in ordine
rendere la ruggine un po ‘più veloce di quanto lo fosse il nodo
più alto di quanto inizialmente le persone volessero
garanzie di sicurezza ne hanno fatto la pena, ma
devi essere preparato se avessi giusto
improvvisamente visto oh è davvero difficile
rendere la ruggine più veloce rispetto al nodo I
mi sono fermato e sono stato come forse è questo
male
ma prestando attenzione a come sono le persone
reagire e poter dire ok essere
pronto a cambiare idea, può farlo
molto più facile e molto più efficace quindi
come ho detto c’è una curva di apprendimento per
fare in modo che la ruggine vada veloce, quindi ti ho detto gentile
di una triste storia sull’analisi del log ma ora
Ti racconterò una storia incredibile
sull’analisi del log quindi questo è Andre Arco
Andre Arco aiuta a mantenere il bundler che
è un gestore di pacchetti per ruby e
simile alla nostra situazione nel nodo che ha
un sacco di log e quindi era come sparare
sai che devo davvero capire come
analizzare tutti questi log e così via
originariamente lui ti ha iniziato
utilizzando AWS lambda e Python nel suo primo
tentativo ha finito per costargli intorno
$ 4000 in bollette del server e lui era tipo
whoops questo non funzionerà e così lui
ho iniziato ad essere come huh perché non ci provo
fuori ruggine e quindi cosa è veramente
interessante è che quando è finito
provandolo con la ruggine lo ha fatto velocemente
e poi perché stava leggendo i documenti
per la biblioteca che usava era il sabato
come oh, ecco un’altra libreria forse io
dovrebbe usare num e così l’ha fatto in Nam
e ha finito per accelerare solo a
un po ‘più lungo o solo un po’
più corto e poi ha detto di averlo mostrato
un amico e l’ amico lo guardarono e
è andato come se fosse partito da questi
sono i numeri da circa 525 record
al secondo a 50k e lui era come me
facendo grande questo è impressionante lo mostrò
ad un amico e il compagno era come com’è
che così lento dovremo al profilo
questo cosa sta succedendo perché è questo
incredibilmente lento e difficile era come me
già accelerato come 200% come cosa
cosa vuoi dire che è lento e gentile
esilarante a seconda di come sei stato usato
alle cose così Andrei viene da qualcosa
come Ruby dove ottimizzazioni del compilatore
non sono una cosa che ha capito che uno di
le cose che poteva fare era solo correre
build cargo – – release e così è stato
in grado di accendere tutto il compilatore
ottimizzazioni così ha ottenuto qualcosa
che pensava fosse incredibilmente veloce e
c’erano ancora piccole cose da imparare
su come farlo andare ancora più veloce
quindi la sua attuale implementazione è qui
la ruggine ora va così veloce che si adatta
la fila libera per un dubbia lambda così noi
è passato dal pagamento di circa cinquemila
dollari a nessuno che è incredibilmente
fantastico sì sì, il rischio è corretto
il diritto predefinito che lo rende veloce può
fai un po ‘di apprendimento ma il meglio
la cosa che la ruggine sta facendo è corretta
il default quindi ci piace dire disordini
che il problema più sicuro è il più sicuro
il programma è uno che non si compila a
tutto e questo perché abbiamo un
compilatore che farà un sacco di
analisi statica sul tuo programma ed è
sto per dirti molto di questo no
questo è male non farlo devi cambiare
e mentre un sacco di gente può tipo di
vedere come funziona attraverso gli errori del compilatore
qualcosa che è davvero difficile per a
inizio
uno dei miei modi preferiti è quello di tipo
cambia questa prospettiva e dì hey
non sarebbe fantastico solo per sempre
avere un paio che è incredibilmente intelligente e
sa come analizzare come razza
condizioni del tuo programma e sono
solo lì tutto il tempo così compilatore Russ
ha alcuni messaggi di errore davvero sorprendenti
ora dobbiamo ringraziare la comunità degli elm
per questo se hai mai usato l’ elm loro
ho messaggi di errore assurdamente buoni e io
non pensare che siamo ancora lì, ma noi
sono stati molto ispirati da quello che stanno facendo
ma un sacco di volte il nostro compilatore può
dai un’occhiata al tuo codice e solo
essere come hey questo non è gonna lavoro anche
ecco il codice esatto che dovresti scrivere
per farlo funzionare è davvero incredibile il
quantità di sforzo cognitivo che devo fare
in scrittura di un programma quando scrivo in
la ruggine è molto più bassa del cognitivo
sforzo di scrivere un linguaggio in cui scrivere
una lingua che non ha questi tipi
di garanzie si scopre che
i compilatori sono davvero fantastici così ogni volta
stai progettando un linguaggio sperabilmente
uno dei tuoi obiettivi è quello di fare almeno
la cosa giusta facile, vogliamo
incoraggiare le persone a fare la cosa giusta
quindi vogliamo renderlo un percorso felice e
Russ crede anche in questo, ma anche riposare
crede che dovremmo sbagliare
cosa difficile, impossibile, così ancora una volta
semplicemente non compilare il tuo programma se
avrà degli errori e così via
misura siamo come le speranze che proprio non possiamo fare
la cosa sbagliata e come risultato siamo
in grado di avere programmi che sono
incredibilmente affidabile così sul numero di punta
otto quindi eravamo preparati per
cose da cambiare
ma ora abbiamo bisogno di essere preparati per
cose per rimanere lo stesso codice così noioso
è il mio preferito in assoluto il codice quanti
la gente qui come il codice noioso non è abbastanza
Oh, il codice noioso è così fantastico che davvero
lo adoro
ma capisco che molte persone
scrivi amore scrivendo codice intelligente e
in particolare quando sei entusiasta di a
tecnologia che vuoi davvero iniziare
sfruttando tutti i suoi fantastici
superpoteri sei come questo è quello che io
voglio farlo è un po ‘ divertente quando io
ho iniziato a scrivere molto del mio primo riposo
codice ero preoccupato che non lo fosse
molto bene, quindi ho parlato con alcuni dei miei
amici e come il core team e io sono
è come questo è orribile Russ
codice e non mi hanno neanche guardare
e sono come se usassero come una scatola o
un arco o una di quelle cose e io ero
come no e sono fantastici come te
probabilmente bene
quindi raggiungere quei fantastici
i superpoteri di una lingua possono essere
qualcosa che è davvero attraente ma
di nuovo quando stai cercando di ottenere un
la compagnia per usarlo non vorrebbe la loro
i soldi sono a rischio , stanno scrivendo noiosi
il codice può essere super buono , solo perché
hai iniziato a usare la ruggine non significa quello
tutto cambierà nella tua azienda
in particolare sai che probabilmente è un
molto meglio se non quando sei
aggiungere società come quando si aggiunge
tecnologie per un’azienda che ha
qualcosa di essere noioso e non un grande
il cambiamento è davvero molto importante quindi io
piace parlare del metodo scientifico
qui un sacco di gente pensa che sia ferroso
è una cosa che mi è sfuggita
cosa non so non conosco la scienza
ma quello che vuoi fare è solo cambiare
una cosa alla volta in modo che tu possa effettivamente
misurare l’ impatto delle ruggini usando i dati che conosci
cambiamento basato sui dati è una specie di proverbio
che tutti dicono, ma in realtà
super importante quindi questo è uno dei miei
serie preferite di benchmark, quindi questo è
in realtà benchmarking generato da Russ
webassembly
ma è un marchio di mazzo per la ruggine e così via
questo è quando la mappa sorgente
implementazione per il fuoco da cosa per
quindi il college è la fonte mappa una mappa sorgente
implementazione e che è stato generato
e su quale assemblea si potrebbe scatenare
il browser e una delle cose che
Potete vedere qui è come cambiamo solo
una cosa quindi era facile da misurare ma
Voglio anche sottolineare qui è quello
mentre il Russ ha generato l’assemblaggio del web
più veloce non penso che sia quello che è il
cosa più straordinaria di questo grafico
la cosa più bella di questo grafico è
quanto è affidabile il profilo della memoria come
qualcuno che fa ops tutti gli operatori in
la casa va bene come qualcuno che
ops l’idea come guardare il
diffuso su web assembly e Firefox I
penso che sia così, mio Dio è così
terrificante per me come non posso prevedere
quanto questo sta andando a prendere in realtà
mentre se prendi un po ‘ di a
guarda come funziona nel web
assemblaggio è incredibilmente piccolo e quello
l’affidabilità è più importante per me e
probabilmente più importante per un’azienda
rispetto alla differenza di velocità effettiva e così via
di nuovo pronto a farti cambiare idea
essere in grado di misurare ed essere in grado di
mostra alcune delle cose più belle
su questo è incredibilmente importante
quindi l’altra cosa grandiosa solo
cambiare una cosa alla volta è questo se
cambi più di una cosa alla volta
probabilmente brucerai un sacco di
persone che hanno un sacco di cose dentro
l’ aria può essere incredibilmente stressante e
quindi anche se sei particolarmente
entusiasta della tecnologia non significa
che tutta la tua squadra vuole tutto
cambiare subito
a volte se sei in scadenza, vero?
vuoi raggiungere lo strumento che sei
super confortevole e così provando a
cambiare tutto in una volta è una ricetta
per fallimento quindi una di queste cose
abbiamo visto al NPM che Russ è un
linguaggio compilato siamo in grado di compilare
in binari che è super bello come un
ops person I’m like perfect binary just
attaccalo lì, annoiando, lo adoro ma
la squadra non era davvero pronta per farlo
ma abbiamo una vastissima estensione
set di file Yambol di nuovo non molte operazioni
persone in casa ma se fai ops
tutti i file delle munizioni , oh mio Dio, ma noi
avere tonnellate di gamal ed era una specie di a
grande dolore nel sedere e quello che abbiamo
capito è che anche se Russ è
in grado di generare un binario per noi
momento abbiamo solo bisogno di distribuire il resto
allo stesso modo in cui stavamo distribuendo il nodo
quindi questo è come lo facciamo di nuovo qui
alcuni gamal è delizioso ma noi
deciso di fare la stessa cosa che diciamo
abbiamo spinto il codice sorgente usando un git
gancio e in realtà abbiamo compilato il
server era lento sì
non ha incendiato tutta la squadra
e farli godere della ruggine assolutamente così
passare al prossimo consiglio è avere un
problema da risolvere di nuovo c’è molto
soluzione Orecchino e tecnologia e così
può essere fantastico ma ne abbiamo così tanti
soluzioni e tendiamo a tipo di perdere
di vista i problemi che ho visto un tweet che
detto come risolvere il problema che non hai
quello che vuoi avere eppure vedo
così tante persone che risolvono costantemente il
i problemi che pensano siano super cool
ma non in realtà quelli che hanno
ora mi piace dire che trovare un problema
dovrebbe essere facile perché tutto il software è
è terribile, davvero non lo so
sei qui e pensi che i computer funzionino
per favore portami speranza perché il mio
l’esperienza nel software è come
se funziona è bello ma piace
probabilmente non funzionerà a lungo
così come ti ho detto a MPM in grande
i numeri sono grandi quando stavo scrivendo questo
servizio che sto andando parlare con te di
abbiamo avuto circa 70 miliardi di download
sul servizio quindi è molto
traffico e questi sono i suoi rotoli settimanali
i download stanno andando dritti
per divertimento però potresti notarlo
l’enorme crepaccio che ci sono in realtà
prendi le vacanze a Natale è bello noi
letteralmente lo vediamo ci piace tutto il nostro
avvisi sulle metriche che sono come le tue cose
è rotto sempre squillare durante
Natale perché la gente si ferma davvero
scrivere JavaScript è positivo
e poi ricominciano chiaramente loro
non hanno in realtà solo scegliere terzino destro
fino a dove hanno lasciato così abbiamo
qualcosa in MPM chiamato Store file
trasforma ciò che è dire quando siamo
costruendo quando hai un pacchetto tu
hanno anche un sacco di altre cose
associato al pacchetto come a
readme e anche alcuni metadati e noi
bisogno di fare l’ elaborazione su questo e così se
sei curioso di qualcosa che arrugginisce
è particolarmente bravo in ruggine è super
bravo nell’elaborare il markdown dei file
tutto ciò è super eccellente in questo
e così abbiamo avuto questo tipo di simili
situazione in cui avremmo apportato cambiamenti in e
quelle modifiche erano particolarmente
pubblica e allora che cosa abbiamo bisogno di fare
doveva prendere un mucchio dei metadati e
file associati con quella pubblicazione e
quindi esegui un mucchio di trasformazioni su quelle
file e così stavamo facendo questo nel nodo
e stava cadendo nella memoria
i problemi erano terribili e così potresti
essere come uno sviluppatore cattivo e come
Voglio dire, probabilmente non siamo tutti cattivi
Gli sviluppatori ma siamo abbastanza come gran parte della
le risorse ingegneristiche di MPM
persone che sono come sul nodo TSC e
come lavorare letteralmente sui nodi, così siamo
abbastanza buono ma si scopre quel ricordo
è sempre ancora un problema e quindi cosa noi
siamo stati in grado di fare
quel pezzo solo un pochino e così via
se ti stai chiedendo dove sia la ruggine
NPM la ruggine è nel file di archivio
trasforma in realtà c’è una coppia
altri servizi di autenticazione per lo più associati
con il nostro prodotto aziendale ma il
le trasformazioni dei file di archivio sono tutte eseguite
ruggine e questo perché erano in grado
per farlo non necessariamente in un modo elegante
è più veloce ma non è così tanto
Più veloce
ciò che è stato fantastico e ciò che CJ
dice sempre che mi piace la ruggine perché la ruggine
è noioso abbiamo schierato quel servizio
due anni fa e non ha mai allertato
semplicemente fa solo quello che deve fare
e questo è fantastico ancora non super
appariscente non la parte più stravagante di NPM
ma è stata una scelta solida per questo
problema particolare e così come lo si cerca
aggiungi tecnologie alle tue aziende
una parte problematica del tuo prodotto e
poi prova a riscriverlo e arrugginiscilo
tipo di un esperimento interessante, ma assicurati
che in realtà è un problema perché
risolvere qualcosa che non è un problema
ancora una volta sta aggiungendo un mucchio di churn che
la maggior parte delle persone in una compagnia non lo è
interessato non fa prendere alle persone
rischio che non hanno bisogno di trovare le parti
dove hai già dei rischi e prova
e alleviare così la punta finale
il numero 10 è che le curve di apprendimento sono a
benedizione sotto mentite spoglie
quante persone hanno sentito che è
dura da imparare, ok, sono qui per
ti dico che molte persone riferiscono che è
incredibilmente difficile da imparare la ruggine tuttavia
una delle cose che devi
gestire in un’azienda è un dipendente
motivazione e quindi questo è il mio collega
Ryan che stava lavorando per te
conosco il tipo di parser logico strano che era
scrittura e quello che ha detto è questo è il
parte davvero divertente di imparare nuove
cose ho ancora la pazienza di fare
un numero qualsiasi di cose stupide e così è
tipo di aggiungere una gioia e quindi tutti noi
tipo di schiavo via scrivendo il codice per
i soldi e l’opportunità di imparare
qualcosa in particolare qualcosa di difficile
può essere davvero bello come è energizzante
e spesso può essere energizzante se si
sembra particolarmente stimolante in un certo senso
questo espanderà quello che capisci
se torniamo all’idea che cos’è la ruggine
vuole fare è rendere tutti a
sviluppatore di sistemi che porta la ruggine a
società in cui le persone non sono conosciute
gli sviluppatori di sistemi non solo tu sai
aiutarli a imparare una nuova tecnologia ma
aprire una nuova area della tecnologia
per loro di essere entusiasti
quindi in sintesi questi sono tutti i tuoi adorabili
i suggerimenti li applicano tutti in una volta
e goditi il ​​piacere delle contraddizioni
così alla fine dirò se lo farai
riparare una motocicletta in modo adeguato
di gumption è il primo e il più
strumento importante se non lo hai ottenuto
si potrebbe anche raccogliere tutto il
altri strumenti e metterli via perché
non ti faranno del bene
così grinta Ecco si conosce il
la definizione è un’iniziativa vivace
ma anche l’intraprendenza è davvero
entusiasta e urlante dal
i tetti che ami è una tecnologia
ottimo ma non è abbastanza devi
aggiungi una comprensione del contesto e un
apertura alla comprensione degli altri
esperienze per essere in grado di farlo
bene, quindi quello che dirò è per favore vai avanti
e cercare resto spero incoraggio alcuni dei
per essere entusiasti, ma la mia finale
la cosa è una spina per il progetto che sono
attualmente lavorando e questo è perché
se si dispone di qualsiasi componente lato client di
la tua applicazione che significa che sei
eseguendolo nel browser tutto questo
idea di prendere una piccola parte e provare a
usa la ruggine per renderla più veloce o più
responsabile è qualcosa che stiamo lavorando
su nella comunità ruggine da fare
webassembly fai in modo che tu possa prendere ruggine e
compilarlo all’assemblaggio web ed essere in grado
per collegarlo direttamente in alcuni
codice del browser o qualche codice nodo se lo sei
interessato a quello strumento questo è lo strumento
Mi sto occupando proprio ora si chiama Waze
impac se ti piace il granchio
Ho degli adesivi quindi esci e prova nuovi
cose questo è il pronti contro termine grazie mille

Please follow and like us: