Noi programmatori abbiamo diverse competenze e tanti pattern che utilizziamo, ma credo che la cosa che maturiamo nel tempo e ci accomuna di più è l’ottimizzazione delle risorse per risparmiare tempo. Tutti sanno che il tempo è la cosa più importante! Lo dice lo stesso modo di dire: il tempo è denaro. Il detto si basa su tempo umano. Il tempo umano deve essere utilizzato come valore aggiunto per la creatività, invenzione, innovazione costruzione e implementazione. Noi programmatori siamo fortunati, abbiamo a disposizione un’altra unità di misura del tempo, oggigiorno tendente quasi all’infinito, che possiamo e dobbiamo sfruttare al massimo e questo tempo e il tempo macchina.
Un tempo si facevano fatigare gli schiavi poi i cavalli, i muli, i motori oggi ci siamo evoluti, culturalmente e mentalmente, Gli schiavi di quest’era sono le macchine. Per macchine intendo i nostri pc, o meglio ancora i nostri server, il cloud o i robot.
Ho deciso di scrivere questo articolo per riportare delle tecniche utili per efficientare il nostro lavoro e di conseguenza ottenere più tempo. La mia tecnica principale da utilizzare per ottenere questo risultato è:
appuntare gli step manuali che compiamo per fare un compito
ricercare possibili soluzioni alternative
riflettere su come possiamo automatizzare ogni singolo step
mettere tutto assieme
ripartire dal punto 1 se il nostro tempo d’impiego non è ancora = 0 per l’attività scelta
Spesso per velocizzare il nostro lavoro scriviamo degli script, questi script sono necessari altrimenti dovremmo scrivere n istruzioni di comandi. Giornalmente o mensilmente o dopo aver fatto qualcos’altro, dobbiamo eseguirli. Quindi apriamo il terminale e lanciamo lo/gli script. Per evitare di lanciare lo script a mano, che implica ricordarci, trovare lo script e lanciarlo, possiamo procedere nel seguente modo:
se si tratta di qualcosa che va eseguito con una schedulazione fissa
Se invece non c’è una schedulazione fissa e dobbiamo eseguirlo al bisogno
In linux ma anche su Windows e molto semplice settare una una scorciatoia. Nel mio caso usando Ubuntu basta andare sotto *impostazioni *-> scorciatoie da tastiera e aggiungiamo il nostro nuovo parametro che conterà il path al nostro script e la scorciatoia desiderata. Come potete vedere nella seguente immagine, io lo uso ad esempio per lanciare in debug il mio blog e successivamente per fare il deploy:
per quanto questo possa sembrare bello e può aiutarci a renderci più efficienti, con due tasti, il gioco è fatto, si può sempre ottimizzare. Voi direte, che altro puoi fare per ottimizzare questo? e perchè? Il perchè è semplice, per poterlo eseguire ho necessariamente bisogno di avere la mia macchina a disposizione e accesa. Quindi sarebbe meglio laddove possibile utilizzare sempre un server o il cloud in modo da fare tutto da remoto in modo così da poter avere più controllo e soprattutto non dipendere da una macchina.
Oggi ci sono tanti strumenti che abbiamo a disposizione per eseguire script o creare piccole pagine web o piccole applicazioni o siti vetrina. Il piano gratuito di questi servizi, mette a disposizione tanti strumenti fra i quali:
Spazio hosting.
Spazio database.
Funzioni per micro servizi
Container
Macchine virtuali
e chi più ne ha più ne metta
C’è ne sono così tanti che a volte tendiamo a non vederli, nonostante siano sotto il nostro naso. Quelli che utilizzo io maggiormente, sono:
L’ultimo servizio a differenza degli altri non è un servizio cloud ma semplicemente un motore di funzioni con schedulazione o attivazione in funzione dei servizi Google. Sono molto integrate con il nostro account Google e se lo usiamo come mail principale ci darà davvero delle grandi potenzialità per automatizzare:
invii di mail
sincronizzazione di dati
editing di documenti
chiamare API esterne
memorizzare dati in excel
ecc ecc… è brutto dire ecc ecc ma davvero, l’elenco sarebbe troppo lungo, vi permette di automatizzare tutto ciò che è Google.
Gli altri tre sono i primi tre migliori provider Cloud. Per cominciare io consiglio di usare Firebase perchè mette a disposizione davvero tanti servizi e se si tratta di primo inzio con il cloud, l’accesso con Firebase, credo sia più semplice e con una linea di apprendimento più rapida.
Cerchiamo di fare più attenzione a quello che ogni facciamo senza pensare. Se ogni giorno facciamo una cosa ripetitiva, anche se ci mettiamo davvero poco a farla, teniamola in considerazione e pensiamoci. Dopo anni le cose ripetitive possono diventare tante e rischiamo di saturare tutto il nostro tempo col fare solo cose ripetitive. Vi lascio e vi saluto con una frase che mi è venuta adesso. Probabilmente non ha senso o forse è già di qualcuno ma io non lo so. Meglio creare un sistema che ci risolve un problema che risolvere il problema stesso!