Si dice che il tempo voli velocemente quando ci si diverte. Per me, personalmente, la parte del divertimento è particolarmente importante nel percorso quotidiano di startup e crescita aziendale. Mi fa divertire, anche se le mie risorse energetiche interne vengono consumate dall'impegno settimanale.
(Nella prossima puntata, seguirò l'argomento dell'umorismo sul posto di lavoro per approfondirlo un po', solo perché posso. "Perché tanta serietà?").
A proposito di tempo, sono passate 2 settimane dalla mia ultima pubblicazione ed è quindi giunto il momento del 4° episodio del nostro #ilCodestoRecensione serie.
Elenco degli argomenti trattati questa settimana:
- Come farsi prendere la mano dall'React
- Tutto quello che avreste voluto sapere sul View Caching in Rails
- Il responsabile dell'ingegneria come master recruiter
Il commento sulla cache delle viste è stato fornito dal nostro sviluppatore fullstack e dal podcast del responsabile dell'ingegneria commentato dal mio umile io.
In quanto noto maestro dell'applicazione Paint e ammiratore di GIF e meme che, come i cioccolatini Merci, dicono più di 1000 parole, ho deciso che d'ora in poi ne aggiungerò qui un assaggio. E indovinate un po'?
Darth Sidious, pensi di potermi fermare GIF da GIF di Darthsidious
L'ultima volta abbiamo deciso di puntare i riflettori su StimulusReflex, che si sta imponendo all'attenzione della comunità Ruby come una nuova realtà, un'alternativa all'utilizzo dei moderni Javascript nei progetti Rails per evitare l'eccesso di risorse.
Vedi: StimoloRiflesso alias ReactiveRails
Per renderla una battaglia ad armi pari, volevo che React rispondesse a Stimulus. Poiché sono anche un noto uomo d'onore, che fa sempre ciò che dice e mantiene le sue promesse, ecco che si va avanti:
Nel prossimo episodio ho il piacere e l'onore di annunciare che avremo come ospite l'ingegnere React di Vinted.com. Per coloro che non hanno mai sentito parlare di Vinted (probabilità bassa, ma ancora possibile), Vinted è un mercato della moda originario di Vilnius, in Lituania, che ha raggiunto una valutazione da unicorno nel 2019. La piattaforma si basa su solide fondamenta Ruby on Rails supportate da React sulla parte frontend.
Nota a margine: mia moglie adora Vinted e ha quasi completamente smesso di usare OLX come destinazione principale per il decluttering del nostro guardaroba e la vendita di vestiti usati (era una vera fan sfegatata). STATE FACENDO LE COSE PER BENE!
È mio privilegio dare il benvenuto a un primo collaboratore ospite della nostra serie:
Meryl Streep Sì GIF da GIF di Merylstreep
Ugnė Kryževičiūtė - Ingegnere React di Vinted
Quando ho letto il titolo del recente podcast di LadyBug ("Getting Hooked On React"), mi aspettavo che si parlasse soprattutto degli hook React. Invece, pur non approfondendo gli hook, il podcast ha fornito un'eccellente introduzione alle basi della libreria React per JavaScript.
Ali ed Emma del podcast LadyBug discutono di React, dalla struttura generale della libreria e i suoi vantaggi a vivaci discussioni sui componenti, la gestione dei dati o il ciclo di vita di React, il tutto presentato con un pizzico di esperienza personale. È un'occasione da non perdere per tutti gli sviluppatori front-end che non hanno avuto la possibilità di provare le meraviglie di React.
Il mio primo incontro con React risale a circa tre anni fa, quando ho iniziato il mio percorso di sviluppatore. Anche se Ali ed Emma suggeriscono che l'React potrebbe sembrare confuso all'inizio, in base alla mia esperienza personale l'ho trovato relativamente facile all'inizio e probabilmente il più facile da far progredire rispetto ad altri framework front-end. Ci sono molti tutorial, articoli, librerie open-source e altri tipi di materiali didattici disponibili ovunque. Tuttavia, è necessario essere consapevoli dello sviluppo attivo di React quando si consultano tali risorse. Questo episodio del podcast di LadyBug non fa eccezione: alcuni aspetti e metodi citati sono già stati deprecati da tempo. Pertanto, è meglio seguire i consigli di Emma stessa e consultare la documentazione più recente.
React si è evoluto e maturato molto, rendendo codice La scrittura è ancora più semplice con gli Hooks, che consentono di utilizzare i metodi di stato e del ciclo di vita senza scrivere componenti di classe. Ma per i principianti - come osserva accuratamente Ali - la varietà di modi in cui si può scrivere React (come componenti di classe/funzionali/agganci) aggiunge ulteriore complessità, poiché a volte può essere difficile visualizzare ciò che sta accadendo. Inoltre, dover distillare ciò di cui si ha bisogno e trovare informazioni rilevanti sull'implementazione del codice può essere impegnativo.
Tra i principali vantaggi dell'React, Ali sottolinea che è basato su componenti, consentendo la modularizzazione del codice e rendendo più facile la collaborazione con altri sviluppatori. Inoltre, la possibilità di utilizzare JSX è un grande aiuto visivo quando si lavora con l'interfaccia utente nel codice JavaScript: non è necessario avere file HTML separati!
Ali ed Emma riassumono bene anche la flessibilità che offre un sistema di componenti. Un ottimo esempio pratico è rappresentato dalla mia azienda Vinted, che ha registrato una rapida crescita per quanto riguarda la prodotto così come il team di sviluppo negli ultimi anni. React ci ha fornito enormi vantaggi: ci ha permesso di scrivere un codice molto più pulito, di utilizzare componenti dell'interfaccia utente riutilizzabili e di testare più facilmente il nostro codice.
Nel complesso, questo episodio del podcast di LadyBug offre una discussione vivace e affascinante sugli aspetti principali della React. Lo consiglio a tutti coloro che iniziano il loro viaggio con la React. Ricco di esempi divertenti e di analogie con la vita reale, l'episodio "aggancia" senza problemi l'attenzione di ogni ascoltatore, compresa la mia.
Le viste in Rails, purtroppo, diventano sempre più lente con il passare del tempo. Questo perché la quantità di oggetti memorizzati nel database cresce. Ciò causa tempi di interrogazione più lunghi e, naturalmente, un'elaborazione più lunga se si sta facendo qualcosa con ciascuno degli oggetti. Quando ciò accade, non si è lasciati senza scampo, perché esiste la cache delle viste di Rails.
Grazie a ciò è possibile risparmiare parecchio tempo caricando i dati pesanti per il database dalla cache (caricando un singolo file html salvato invece di interrogare il database ed elaborare gli oggetti). Si può anche rendere meno costoso il caricamento di oggetti e parziali diversi, ovviamente se gli oggetti non cambiano troppo spesso. Si può anche cercare di mantenere gli oggetti in cache in partials separati, risparmiando ad esempio il rendering di 19 post su 20 (magari con molti campi).
Per impostazione predefinita, Rails utilizza il file_store e mantiene i dati in cache nelle cartelle. Ma non cancella le vecchie voci della cache (che potrebbero essere scadute da tempo). Questo può portare a un overflow della quantità di file o addirittura all'esaurimento dello spazio libero su un server. L'altro metodo è memory_store, che ha anche alcuni aspetti negativi (poiché la cache è conservata su un singolo server). Inoltre, può superare la quantità di RAM presente sul server (o la mancanza di cache se questa viene cancellata di continuo). Ecco perché il miglior meccanismo di cache su larga scala è il metodo Memcached/Redis. Questo vi dà la possibilità di usare una macchina separata per mantenere la cache che può essere usata da tutti i server. Grazie a ciò, non ci saranno problemi di mancanza di cache o di spazio su disco in un server.
La cache in Rails è mantenuta in base a un identificatore, che può essere dato subito come stringa o generato automaticamente quando si passa un oggetto alla funzione di cache. Nel caso degli oggetti, si tratta più spesso dell'attributo updated_at. Si può anche fornire una chiave statica dai parametri dell'oggetto.
Un metodo diverso di memorizzazione nella cache consiste nell'utilizzare Javascript per aggiornare un campo che viene modificato una volta al giorno. In questo modo è possibile visualizzare sempre una data valida, senza dover aggiornare il sito web, che potrebbe essere piuttosto grande o lento da eseguire.
Per non spoilerare troppo, la tavola rotonda che affronta il tema del ruolo del responsabile dell'ingegneria nel processo di assunzione è di grande valore per tutti coloro che si chiedono quando sia il momento giusto per il leader tecnologico di entrare nel ciclo di colloqui. A Codestmettiamo in pratica ciò che i relatori predicano e i nostri CTO è il primo punto di contatto con gli ingegneri che si rivolgono a noi, mentre nella fase successiva i colloqui sono tenuti da squadra manager con cui i potenziali nuovi assunti lavoreranno a stretto contatto. Alcuni consigli praticabili che potete applicare subito per migliorare le vostre assunzioni come manager di ingegneria:
-
Rivedete il vostro processo e assicuratevi di unirvi al flusso il prima possibile, idealmente essendo il primo punto di contatto per i candidati, poiché la prima impressione gioca un ruolo fondamentale nel modo in cui la vostra azienda viene vista dai migliori talenti.
-
Rivolgetevi ai responsabili delle assunzioni più efficaci della vostra organizzazione (magari quelli che vi hanno assunto in passato) e chiedete di poter seguire alcuni dei loro colloqui programmati, verificate le loro tecniche, chiedete consigli. Osservate e imparate. Entrate in ogni colloquio con una genuina curiosità nei confronti dei candidati.
-
Cercate il potenziale e assumete in base al potenziale e alla capacità di crescere rapidamente.
-
Parlate dei vostri annunci di lavoro con tutti i vostri ingegneri e chiedete se si candiderebbero per quel lavoro. In caso contrario, chiedete che cosa non va e applicate il loro feedback all'annuncio di lavoro per la costruzione 2.0 che state per pubblicare sulle job board.
-
Considerate il primo colloquio come un'opportunità per creare un ottimo rapporto con i vostri potenziali futuri colleghi.
Vi invito a guardare l'intero video, ma se siete appassionati di podcast e vi piace ascoltarli mentre guidate, vi allenate o lavate i piatti, qui avete anche uno Spotify link.
Grazie mille per aver letto e se siete arrivati fin qui, vi ringrazio per il tempo che mi avete dedicato e ogni feedback (che sia positivo o che mi critichi) è più che benvenuto. LinkedIn o al mio e-mail.
A breve il prossimo episodio!
Yippie Ci vediamo presto GIF danzante da GIF di Yippieiwillseeyousoon
Per saperne di più:
TheCodestReview #3 - succo settimanale di ingegneria del software
TheCodestReview #2 - succo settimanale di ingegneria del software
TheCodestReview #1 - succo settimanale di ingegneria del software