Dal cuore alla Terra: alla pulizia di Cosenza con Pixeltek e Plastic Free

Dal cuore alla Terra: alla pulizia di Cosenza con Pixeltek e Plastic Free

Se la Terra chiama, noi rispondiamo! Per la Giornata Internazionale della Terra, Pixeltek ha scelto di scendere ancora una volta in campo e schierarsi col sociale. Insieme a Plastic Free, l’azienda ha infatti scelto di promuovere un evento di raccolta di rifiuti partendo da una location del tutto inedita: il cuore di Cosenza.

Dal cuore alla Terra: alla pulizia di Cosenza con Pixeltek e Plastic Free

Se nello scorso appuntamento abbiamo scelto infatti di puntare ad una delle spiagge più frequentate nell’hinterland bruzio, ovvero Paola, quest’anno abbiamo sinergicamente optato per dedicarci ad una realtà molto più vicina al quotidiano di tutti coloro che vivono attivamente la città di Cosenza Centro, ovvero il quartiere di Via Panebianco.

Armati di guanti, sacchi per la raccolta e tantissima voglia di trasmettere la necessità di un cambiamento radicale nelle nostre abitudini, il 20 aprile 2024 tutti i team designati di Plastic Free, Pixeltek, Munnizza Social Club, R-Accogliere e La Spiga ODV si sono incontrati infatti presso l’area de la Città dei Ragazzi per un breve briefig organizzativo. In aggiunta, tutti i cittadini che hanno scelto di sposare la causa e unirsi insieme al gruppo per dare man forte.
L’evento è infatti stato pubblicato e reso accessibile a tutti coloro che seguono l’azienda, le associazioni o il network Plastic Free.

Dal cuore alla Terra: alla pulizia di Cosenza con Pixeltek e Plastic Free

Il ricco gruppo, organizzato in modo dinamico in più team, si è spinto fino ad una sezione abbondante di Via Padre Giglio che costeggia il Parco Corrado Alvaro, raccogliendo in poche ore decine di sacchi di rifiuti dalla più differente natura: dalla plastica alla carta, dal vetro agli indumenti, fino al purtroppo residuo indifferenziato. I rifiuti sono stati ovviamente smistati e predisposti allo smaltimento presso le aree di pertinenza.

Davvero piacevole aver coinvolto persone di tutte le età, dai più adulti ed esperti fino ai più piccoli, ovviamente sotto la tutela di adulti e con un ruolo più di supporto. Tutto si è svolto con estrema armonia, ma ha sottolineato come gli eventi di questo tipo siano estremamente più (purtroppo) necessari e frequenti.

Abbiamo bisogno di un cambiamento radicale nelle nostre abitudini, a partire dall’uso smodato dei rifiuti plastici fino allo smaltimento corretto di tutti i vari ed eventuali rifiuti, tuttora troppo spesso abbandonati o differenziati in malo modo.

 

Ringraziamo di vero cuore tutti coloro che hanno reso anche questo appuntamento possibile. Pixeltek continuerà a spingere, nel proprio piccolo, alla sostenibilità e al rispetto dell’ambiente.

Il nostro pianeta ne ha bisogno, ed ovviamente l’evento del 20 aprile 2024 è solo una gocciolina, ma insieme possiamo e dobbiamo diventare un mare. Un mare diverso, cristallino, limpido soprattutto per chi arriverà dopo di noi.

Autore: Claudio Carelli

Ciclo di vita del software – Modelli incrementali

Il software è sottoposto a continua evoluzione, dall’idea iniziale di un possibile prodotto fino all’implementazione e alla consegna al cliente (e in seguito, alla sua manutenzione). In generale il ciclo di vita del software è costituito da varie fasi.
Nel più tradizionale modello waterfall, ogni fase ha un inizio e una fine ben definiti. Inoltre, ogni fase termina con la produzione di un qualcosa, un artefatto o un elaborato che ne costituisce l’output e che viene fornito in “input” alla fase successiva.

• L’analisi e specifica dei requisiti è la prima fase, viene effettuata a valle di uno studio di fattibilità per definire i costi e i benefici della realizzazione del sistema.
• Una volta definiti i requisiti, occorre progettare un sistema software che li soddisfi. Quindi viene definita l’organizzazione del sistema in termini di componenti di alto livello e delle loro interazioni.
• Qui si passa dalla progettazione alla codifica, quindi alla scrittura del codice e alla realizzazione dei componenti.
• Tutti i moduli sviluppati nella fase precedente sono assemblati, integrati e testati come un unico sistema.
• Il sistema viene consegnato al cliente e si entra nella fase di manutenzione.

Questo modello organizza le attività in una sequenza rigida, una sequenza di fasi che vengono una dopo l’altra.

I modelli a cascata nascono alla fine degli anni 50 per i sistemi di difesa aerea e furono resi popolari negli anni 70. Questa tipologia di modelli presentano una importante difficoltà nella stima dei costi, poiché esse sono effettuate sulla base di informazioni limitate che si hanno all’inizio e quindi non si può dare un’informazione precisa su quanto costerà l’intero sistema. Ciò avviene perché è difficile identificare tutti i requisiti insieme in una sola volta, gli utenti possono non sapere ciò che vogliono e scoprirlo man mano che si relazionano al sistema.

Dalla critica dei modelli a cascata ne sono nati altri, prendono il nome di Modelli Incrementali. In questi modelli, il progettista accetta il fatto che i fallimenti di una versione dell’applicazione comporti il bisogno di rifare parte dell’applicazione. La prima versione è un prototipo preliminare che viene fatto evolvere.

Boehm diede una definizione che risale al 1988 e dice che un modello di processo evolutivo è “un modello le cui fasi consistono in versioni incrementali di un prodotto software operazionale con una direzione evolutiva determinata dall’esperienza pratica”.
Con questo vogliamo dire che l’evoluzione non può essere anticipata, ma quello che possiamo fare è rilasciare una versione e poi incrementarla.

Questi modelli prevedono dei rilasci incrementali, cioè le versioni sono rilasciate al cliente man mano che sono sviluppate. Possiamo definire una versione incrementale rilasciabile, un’unità software funzionale auto-contenuta (cioè, non deve essere necessariamente completo) che esegue qualche funzione utile al cliente e che viene prodotto come artefatto nelle varie attività del ciclo di vita (specifiche dei requisiti, piani di test, manutenzione etc.).

La strategia evolutiva può essere riassunta come una sequenza di tre passi che vengono eseguiti finché non converge verso il prodotto finale:
1. RILASCIO di una o più funzionalità all’utente (si rilascia un prototipo);
2. MISURA del valore aggiunto per il cliente (si verifica se va bene o se va modificato qualcosa);
3. AGGIUSTAMENTO (del progetto e degli obiettivi).

Dalla definizione di Boehm nasce il Modello a Spirale, che è un meta-modello, cioè si può applicare sia all’intero ciclo di vita di un sistema software che all’intera fase. È costituito da quattro fasi in un diagramma cartesiano, e ogni quadrante rappresenta una fase mentre il raggio rappresenta il costo accumulato durante l’evoluzione.

È un modello ciclico. Ogni ciclo consiste di quattro fasi, ciascuna delle quali corrisponde ad un quadrante del diagramma cartesiano. Il raggio della spirale corrisponde al costo accumulato e la dimensione angolare rappresenta il progresso del progetto.

Le fasi del ciclo di vita sono 4:
• Identifica gli obiettivi della porzione di prodotto che si sta considerando in termini di qualità da ottenere. Identifica le alternative e i vincoli imposti dalla scelta di una di esse;
• Si valutano le alternative, si identificano i rischi e si pianificano le attività quali prototipazione e /o simulazione;
• Si sviluppa e si verifica il prodotto;
• Si effettua la revisione dei risultati ottenuti e si pianifica la prossima iterazione della spirale.

In definitiva adottando un modello incrementale si ha una precisa identificazione del rischio che riduce le possibilità di fallimento del progetto.

 

Autore: Eugenio Turco

Apache JMeter, cos’è e come viene utilizzato?

JMeter è un’applicazione desktop nata per permettere di eseguire test di automazione, sia funzionali che di performance, principalmente sulle Web Application.

Infatti, attraverso l’utilizzo di opportuni file con estensione JMX, permette la scrittura di scenari di test, e quindi di capire se la Web Application sia in grado di soddisfare i requisiti funzionali.

Inoltre, come sappiamo, le Web Application spesso devono affrontare il problema della scalabilità all’aumentare del numero di utenti utilizzatori: perciò è importante avere uno strumento che permetta di verificare se l’applicazione riesce a garantire le specifiche previste e/o richieste, in termini di velocità e stabilità, all’aumentare del carico di lavoro.

Con JMeter, scrivere uno scenario di test è abbastanza semplice:

infatti, dopo aver avviato il tool e, tramite interfaccia grafica, aver creato un nuovo file JMX, possiamo descrivere la casistica che vogliamo testare direttamente stilando una lista di request (che possiamo eseguire verso le API esposte o verso il database), le quali rappresentano gli step che durante il test devono essere eseguiti e/o verificati.

 

Inoltre, se abbiamo bisogno di memorizzare i dati ottenuti dalle response, JMeter permette innanzitutto di poter verificare la validità della response, mediante opportune Assertion, e dopodiché memorizzare questi dati in opportune variabili (che potranno essere utilizzate dalle chiamate successive).

Da notare che, il modo in cui è possibile inserire Assertion e lavorare sulle variabili, può essere eseguito mediante opportuni script, che possono essere realizzati con diversi linguaggi di programmazione (ad esempio, in Java o Groovy).

 

Apache Jmeter

(esempio di request al sito www.corriere.it, nello scenario di test)

 

Infine, dopo aver impostato il numero di utenti che si vuole simulare, attraverso la GUI, è possibile lanciare lo scenario di test in esecuzione, visualizzare a video i risultati ottenuti ed eventualmente memorizzarli in opportuni file (es. CSV).

 

Apache Jmeter

(esempio di schermata di visualizzazione dei risultati, dopo aver avviato lo scenario di test, simulando 5 utenti)

 

Ricapitolando, JMeter permette:

  • di eseguire chiamate verso le API esposte dalla nostra Web Application o realizzare interrogazioni al DB;
  • di aggiungere controlli sulle chiamate, mediante opportune Assertion e recuperare dati da queste;
  • di utilizzare diversi linguaggi di programmazione per poter realizzare script, in cui gestire i dati ottenuti dalle chiamate eseguite, nonché realizzare logiche complesse;
  • di adottare approccio black-box alla scrittura degli scenari di test, poiché permette di focalizzarsi sui risultati ottenuti dalle response, direttamente a seconda dei parametri passati dalle request;
  • di effettuare una misurazione delle performance ed estrapolare statistiche;
  • la realizzazione di progetti complessi, poiché permette di organizzare gli scenari di test in opportuni file JMX, i quali possono essere richiamati a loro volta da ulteriori JMX padre.

 

A cura di

Luigi Annuzzi

 

 

SOAP vs REST

SOAP vs REST. Qual è la differenza?

Immaginate un alveare composto da una colonia di migliaia e migliaia di api (di quelle vere) che, ogni giorno, passano di fiore in fiore per recuperare e riportare pollini e informazioni dell’ambiente che li circonda.

Nel mondo dell’informatica, la funzione delle API (Application Programming Interface) non è poi così distante da quella delle nostre amiche impollinatrici. Infatti consentono a due componenti, generalmente il “server” (il campo di fiori) e il “client” (l’alveare), di comunicare tra loro usando una serie di definizioni e protocolli (polline e informazioni).

Diverse sono le policy di rilascio delle API, suddivisibili in tre specifiche categorie:

  • API private: destinate esclusivamente ad un uso interno aziendale, per mettere informazioni e funzionalità a disposizione di dipendenti, clienti o fornitori;
  • API pubbliche: accessibili ed utilizzabili da chiunque voglia farne uso. Sono talvolta usate anche con finalità di branding per incentivare l’utilizzo della piattaforma in modo professionale e tecnico, ma anche l’innovazione open source;
  • API partner: utilizzate per permettere la collaborazione tra diverse organizzazioni, quindi accessibili solo agli sviluppatori esterni autorizzati per agevolare la collaborazione tra aziende.

Ma quali sono le API più utilizzate e quali sono i vantaggi (e gli svantaggi) che ne conseguono?

Diverse sono le tipologie di API, ma oggi ci soffermeremo su quelle maggiormente utilizzate: API SOAP e API REST.

Le prime, disegnate da Microsoft nel 1998, utilizzano il cosiddetto protocollo SOAP per l’implementazione di servizi Web (“Simple Object Access Protocol”).

Con queste API, client e server si scambiano messaggi tramite il linguaggio XML (“eXtensible Markup Language”) in un formato leggibile sia per gli uomini che per le macchine, e ricevono le richieste mediante HTTP o SMTP. Ad oggi, SOAP continua ad essere maggiormente utilizzato per i Web services a livello aziendale che richiedono elevata sicurezza e transazioni complesse, seppur essendo API meno flessibili e non di facilissima lettura.

Dall’altro lato, invece, le API REST (“Representational State Transfer”), introdotte nel 2000 da Roy Fielding, sono ad oggi le più diffuse e flessibili sul Web.

REST, a differenza di SOAP, non è un protocollo ma uno stile di architettura impiegato nella progettazione di applicazioni network, che nasce volutamente per un pubblico esteso di utilizzatori. Le API REST utilizzano richieste (o metodi) HTTP per dialogare con le risorse (GET, PUT, POST,  DELETE, PATCH, OPTIONS).

Il formato di dati più comune per le API Web è probabilmente il JSON (“JavaScript Object Notation”), diretto concorrente del formato XML, ma con una sintassi più semplice e compatta, in quanto basata su due tipi di strutture di dati: gli oggetti, serie di coppie chiave/valore – {“chiave1″:”valore1”, “chiave2″:”valore2”} – e array, liste ordinate di valori – [“valore1”, “valore2”].

In conclusione, che tipo di API conviene utilizzare?

Beh, così come ogni cosa, dipende dal contesto.

La caratteristica principale delle API REST è l’assenza di stato (stateless), con i dati generati dal client che NON verranno salvati in una sessione per l’impiego degli stessi (come, ad esempio, in fase di pagamento).

Tuttavia, non tutti i fornitori di servizi Web elaborano operazioni con questo stato, ma potrebbe capitare di imbatterci in altre tipologie di operazioni (“stateful”), come nel caso di bonifici bancari: queste, infatti, salvano i dati internamente a ciascuna sessione client e li utilizzano la volta successiva che il client effettua una richiesta: ed è qui che entrano in gioco le API SOAP!

 


Per finire, ecco a voi una piccola carrellata di API da provare e testare:

PokéAPI: API per scoprire le caratteristiche di qualsiasi Pokémon.

Chuck Norris: API su fatti satirici e barzellette su Chuck Norris.

TheCocktailDB: API per berci su con gli amici.

The Rick and Morty API: API che ti permetterà di familiarizzare con i personaggi di Rick and Morty.

RestCountries: API che fornisce dati come nome del paese, capitale, popolazione, area, valute, lingue e altro.

SuperHero: API che restituisce supereroi e villain di qualunque universo.

FoodAPI: API per accedere ad oltre 330.000 ricette da tutto il mondo.

 

A cura di: Mattia Rovito

Visione artificiale

L’occhio che tutto vede: Il potenziale rivoluzionario della visione artificiale

Nel regno della tecnologia, non c’è forse campo più affascinante della visione artificiale. La capacità delle macchine di interpretare e comprendere i dati visivi ha il potenziale per rivoluzionare molte industrie, dalla sanità, alla produzione, fino ad arrivare alla sicurezza.

Ma cos’è la visione artificiale esattamente e come funziona?

La visione artificiale è la risposta della tecnologia alla nostra capacità di osservare e decifrare il mondo che ci circonda. Ma mentre i nostri occhi possono essere ingannati, i computer possono invece avere occhi in grado di vedere oltre le illusioni. La visione artificiale è la capacità di un computer di guardare una foto o un video e capire cosa ci sia dentro. Potrebbe sembrare una magia oscura e complessa, ma in realtà è solo matematica e algoritmi. Il computer analizza ogni pixel, ogni colore, ogni forma, cercando modelli e relazioni, e così come un detective esperto, costruisce una comprensione del mondo visibile.

Le potenziali applicazioni della visione artificiale sono vaste e varie, con la capacità di impattare tutto, dall’industria dei veicoli autonomi, all’imaging medico, fino ad arrivare alla tecnologia di riconoscimento facciale.

Tuttavia, come ogni tecnologia, la visione artificiale ha i suoi punti di forza e di debolezza.

Uno dei principali punti di forza della visione artificiale è la sua capacità di elaborare grandi quantità di dati visivi in modo rapido e preciso. Ciò la rende uno strumento ideale per compiti come il riconoscimento degli oggetti, la classificazione delle immagini e il riconoscimento facciale.

E rendendoci conto delle possibilità infinite di questo strumento, non possiamo non parlare del suo potenziale utilizzo oppressivo, metodologia conosciuta a fondo da alcuni paesi, come la Cina, che hanno adottato la tecnologia della visione artificiale su vasta scala per sorvegliare la propria popolazione. Ci sono timori che questo possa portare a un uso improprio della tecnologia, con conseguenze negative per la privacy e la libertà individuali, ed è importante considerare questi rischi mentre si cerca di bilanciare i benefici della tecnologia con i diritti umani fondamentali.

Nel campo della robotica medica, la visione artificiale sta rivoluzionando la chirurgia. La capacità dei robot di interpretare e comprendere le immagini mediche consente ai chirurghi di operare con maggiore precisione e sicurezza. Ad esempio, i robot dotati di visione artificiale possono analizzare le immagini ottenute da una risonanza magnetica o una TAC per identificare con precisione il tumore o il tessuto malato. Inoltre, la visione artificiale può anche essere utilizzata per guidare i robot durante l’intervento chirurgico, migliorando la precisione e riducendo il rischio di lesioni, risultati che ho personalmente trovato mind-blowing durante i miei studi universitari sull’argomento.

D’altra parte, la visione artificiale ha anche i suoi punti deboli. Una delle principali sfide che la visione artificiale deve affrontare è la capacità di interpretare e comprendere con precisione i dati visivi in una varietà di ambienti e condizioni. Ciò può includere tutto, dalle condizioni di scarsa illuminazione, alle occlusioni, fino alle variazioni negli angoli e nelle prospettive delle fotocamere.

Nonostante queste sfide, i potenziali sviluppi futuri nella tecnologia di visione artificiale sono vasti e vari, infatti si prevede che la sua crescita e il suo potenziale avranno un impatto enorme anche sull’utilizzo massiccio di nuove tecnologie come il 5G e l’Internet of Things.

Sebbene ci siano sicuramente sfide e preoccupazioni da affrontare, i potenziali benefici della tecnologia della visione artificiale sono troppo grandi per essere ignorati. Mentre continuiamo a esplorare e sviluppare questo campo entusiasmante, è importante farlo con un focus sull’uso responsabile ed etico, garantendo che i benefici di questa tecnologia siano condivisi da tutti.

 

A cura di: Giovanni Lavigna

 

Fonti per approfondire l’argomento:

Computer vision in surgery: from potential to clinical value (https://www.nature.com/articles/s41746-022-00707-5)

Deep-learning system explores materials’ interiors from the outside (https://news.mit.edu/2023/deep-learning-system-explores-interiors-0428)

Using sound to model the world (https://news.mit.edu/2022/sound-model-ai-1101)

 

Web Scraping

È sempre più comune per aziende e liberi professionisti trovarsi in questa situazione: stai svolgendo un’attività, stai investendo le tue energie nel suo sviluppo e stai lavorando sodo. Ma, se alzi un attimo lo sguardo e ti guardi attorno, ti rendi conto che non sei l’unico a svolgere quell’attività, a vendere quel prodotto o fornire quel servizio. Sei circondato da competitors che operano nel tuo stesso settore e vorresti avere un confronto con queste ultime per poter migliorare l’attività che stai svolgendo.

L’unico modo per controllare cosa sta succedendo attorno a noi è quello di reperire dati e studiarli, per poi poter giungere a delle conclusioni adeguate e prendere le relative decisioni. Iniziando però la nostra ricerca sul web, ci renderemo subito conto della innumerevole vastità di link su cui cliccare per poter reperire tutte le informazioni che ci servono. Analizzare tutti i risultati ottenuti sul web diventa a quel punto un’attività dispendiosa, sia a livello di tempo che a livello di concentrazione e impegno.

Non sarebbe fantastico se, cliccando un bottone, riuscissimo a reperire tutte le informazioni che ci servono e ritrovarcele tutte in un file Excel?

Beh, con un minimo di setup è possibile. Possiamo ricorrere al Web Scraping.

 

Cos’è il Web Scraping?

Il Web Scraping è una tecnica che viene utilizzata in informatica per estrarre dei dati attraverso l’utilizzo di software che ci permettono di simulare la navigazione web – sia emulando la navigazione standard da browser che utilizzando le chiamate http – e si basa sulla creazione di bot per le web automation.

Infatti, il verbo inglese “to Scrape” significa, letteralmente, grattare/raschiare, e rende molto bene l’intento sotteso all’utilizzo di questa tecnica: raccogliere dati, filtrando solo quelli che sono di nostro interesse, eliminando cioè tutto quel che è superfluo e rendendo la ricerca più agevole. Alcuni esempi sono le ricerche di Mercato e l’Automazione Aziendale.

Le tecniche di Web Scraping:

Le due principali tecniche di Web Scraping sono lo scraping manuale e quello automatico.

  • Lo Scraping Manuale utilizza come processo principale il copia-incolla di singoli dati. E’ molto utilizzato nelle occasioni in cui si vogliano trovare e memorizzare singole informazioni mirate, permettendo di tener traccia delle stesse;
  • lo Scraping Automatico viene invece attuato attraverso software e/o algoritmi di scansione delle pagine web.

 

Come fare Scraping di un sito web? È possibile fare Scraping con diversi linguaggi di programmazione. La scelta è veramente vasta, ma tra i linguaggi più utilizzati e più famosi abbiamo Python o Java, che dispongono di diverse librerie, sia per fare Scraping attraverso l’HTTP Request (ad esempio in Java utilizzando OkHTTP) sia tramite la navigazione Browser (ad esempio utilizzando Cucumber Gherkin, disponibile sia per Python che per Java).

La principale differenza tra i due metodi è che con le HTTP Request non riusciremo a visualizzare direttamente il contenuto e avremo bisogno di tener traccia di come il sito risponde alle varie azioni della navigazione, mentre attraverso la simulazione browser avremo tutti i vari step fatti dal bot in modo visuale, potendo così seguire, passo passo e con più facilità, quel che stiamo facendo.

 

Ma il Web Scraping è legale? La prima sensazione che si ha, parlando di Web Scraping, è quella di trovarsi di fronte ad una sorta di “furto” di dati altrui, assumendo una connotazione quasi negativa, ma il Web Scraping è assolutamente legale, almeno finché si rispettano determinati principi.

Infatti, il Web Scraping diventa malevolo e illegale nel momento in cui viene utilizzato per:

  • la pubblicazione di contenuti che violano il diritto d’autore;
  • la raccolta di dati personali per scopi commerciali;
  • la raccolta di dati, violando le regole sulla concorrenza.

Nella vita di tutti i giorni vediamo diverse applicazioni del Web Scraping, anche senza saperlo. Viene utilizzato, ad esempio, per:

  • Monitorare le modifiche di un sito web;
  • Per tenere traccia dei dati meteorologici;
  • Per la ricerca scientifica;
  • Confronto dei prezzi online;
  • Motori di ricerca (Google, Bing, ecc.).

Insomma, il Web Scraping è uno strumento utilissimo e molto più diffuso di quel che si potrebbe pensare!

 

A cura di: Nicola Marino

Proattività e problem solving: le armi segrete dei software developer vincenti

Il mondo si evolve, senza tregua. Con esso, anche l’essere umano e i suoi metodi di sopravvivenza. Checché se ne dica, i lavori che fanno parte della ormai nota “Industria 4.0” sono sempre di più, e sempre più abbracciati dall’utenza più giovane alla ricerca di qualcosa di stimolante, fuori dagli schemi ed in grado di stravolgere la vita quotidiana.

Fra questi vi è sicuramente colui che ad oggi rappresenta un po’ l’artigiano degli applicativi più o meno complessi: lo sviluppatore software. I giovani affascinati da questo mondo sono davvero tanti, e la domanda da parte delle aziende cresce a dismisura. Aumentano i corsi di studio superiori o universitari, aumentano le Accademy; aumenta la necessità di avere nuovi giovani pronti a diventare programmatori.

Se la domanda è tanta, tanto è l’interesse delle aziende nell’identificare candidati ideali ad essere anche formati, completamente da zero. Ma cos’è che caratterizza una persona propensa allo sviluppo del software, solitamente considerato piuttosto complesso e con una struttura molto avanzata?

Potremmo dire che le competenze tecniche, derivate dallo studio pregresso, sono un fulcro importante per diventare developer. Eppure i numeri ottenuti dalle analisi degli ultimi anni negli ambienti in cui si fa software developing non ci dicono affatto ciò.

Essendo lo sviluppo software un contesto in cui regna sovrano il lavoro di team, va da sé che si applica sempre (e comunque, inevitabilmente) il proverbio de “L’unione fa la forza”. Proprio per questo motivo chi si approccia allo sviluppo deve valutare anche una buona dose di soft skill, ovvero quelle abilità intrinseche nell’approccio produttivo della persona, a prescindere dalla situazione e dal contesto.

Queste sono ormai sempre più richieste, anche perché i linguaggi, i servizi, i framework e chi più ne ha più ne metta, si evolvono alla velocità della luce: è impossibile conoscere sempre tutto. Ciclicamente, chi sviluppa dovrà studiare, facendo tesoro del proprio bagaglio culturale e aprendosi a nuove conoscenze.

Ed ecco dunque che sugli annunci di lavoro di ogni azienda nel mondo IT, che sia un colosso o una piccola/media impresa, subentrano dei prerequisiti che fanno riferimento a parole come “dinamico” o “smart”. Tutti hanno un minimo comune multiplo: l’essere proattivi e avere buone doti di problem solving.

 

 

Parliamo di due soft skill vere e proprie, estremamente ricercate anche in contesti al di fuori della semplice programmazione. Capiamo insieme cosa vi aspetta se non avete mai programmato: approfondiamole brevemente.

Per “proattività” si intende la capacità di predire l’incombere di eventuali problemi, cambiamenti o tendenze, attuando quelli che sono i processi utili dal proprio punto di vista per poterli fronteggiare in anticipo. La proattività va di pari passi con quella che è la propensione al cambiamento, o forse meglio dire all’evoluzione, e soprattutto con l’auto-iniziativa: uno sviluppatore proattivo non dovrà mai attendere che qualcuno gli dica di agire, agirà sempre per colmare le proprie lacune o risolvere i cambiamenti imminenti.

Per “problem solving” invece si intende, benché possa sembrare banale, la capacità di risolvere in modo agile i problemi di qualsiasi entità. Non conta se si tratta di qualche riga di codice che non girano come dovrebbero oppure di un bug di entità decisamente molto grave: il vero problem solver, allo scatenarsi dell’evento, pensa a tutti i passi dettagliati da compiere per poter risolvere il tutto.

Come avrete capito, queste due skill lavorano in modo simbiontico l’una con l’altra: in modo proattivo si può intercettare con anticipo una complessità e risolverla alla radice prima che venga addirittura definita problema, senza intaccare il proprio workflow.

Se volete iniziare a sviluppare, tenete bene a mente queste due particolari abilità e, se volete, iniziate ad allenarle. Lo studio del codice di programmazione, dei framework e di tutti gli strumenti presenti nel mondo del developing è sicuramente la qualcosa di valore, ma prevenire i problemi e saperli risolvere agilmente sono due vere e proprie armi che, una volta consolidate, possono aprirvi le porte di tutte le strade.

 

A cura di: Claudio Carelli

Recruiting Day 13 marzo – UNICAL

Sei un giovane che vuole mettersi in gioco iniziando a costruire la propria carriera?

Lunedì 13 marzo, alle ore 10:30, avrà luogo il Recruiting Day di Pixeltek s.r.l., organizzato in collaborazione con l’Università della Calabria.

Siamo alla costante ricerca di giovani talenti, con i quali crescere insieme e costruire qualcosa di concreto, partendo soprattutto dalla ripartenza e valorizzazione della nostra Calabria. La “fuga di cervelli” verso il nord è un fenomeno sempre più massiccio e problematico: il nostro obiettivo è quello di dare un’ opportunità vera a tutti quei ragazzi che si sentono scoraggiati dal sistema lavorativo odierno.

Il Recruiting Day è rivolto a laureandi e laureati dell’Università della Calabria (CS) nei seguenti corsi: Matematica, Fisica; Ingegneria gestionale; Ingegneria informatica; Informatica.

Per partecipare è necessario prenotarsi entro il 6 marzo al seguente link: https://careerservices.unical.it/

L’incontro avrà luogo in modalità telematica, sulla piattaforma Microsoft Teams. Riceverete il codice di accesso alla riunione dopo aver effettuato la prenotazione.

Avremo modo di conoscervi e parlarvi dell’azienda, nonché di raccogliere le vostre candidature.

Vi aspettiamo numerosi!

 

Intelligenza artificiale vantaggi

Intelligenza Artificiale e i suoi vantaggi nella Sicurezza Informatica

Nell’ultimo periodo si sente sempre più spesso parlare di Intelligenza Artificiale.

Sembra quasi che i due termini entrino in antinomia: come può un’intelligenza essere “artificiale”?

È curioso come il concetto di intelligenza sia sempre stato considerato, nel corso dei tempi, una prerogativa esclusivamente umana, quella “scintilla” che ci contraddistingueva da qualsiasi altro organismo e che ci apparteneva in maniera totalmente naturale.

L’intelligenza Artificiale (AI) è una tecnologia basata sull’utilizzo di algoritmi e raccolta di dati per creare sistemi che possono eseguire compiti (anche complessi come il ragionamento, il riconoscimento delle immagini, il prendere decisione ecc) senza la necessità di essere esplicitamente programmati. Il sistema si basa sull’analisi di una vasta mole di dati che vengono utilizzati per “allenare” gli algoritmi e i modelli matematici dell’IA, in modo che questa possa riconoscere schemi e modelli nel mondo reale.

Ad oggi, grazie alla sua versatilità e alla sua velocità di elaborazione delle informazioni, l’AI può essere utilizzata in una vasta gamma di ambiti e settori (finanza, assistenza sanitaria, marketing ecc.).

Nel campo della sicurezza informatica, in particolar modo, i vantaggi derivati dall’intelligenza artificiale sono veramente molti: può essere utilizzata infatti per identificare e prevenire minacce informatiche, analizzare i dati di sicurezza in tempo reale e fornire una protezione continua contro le minacce emergenti.

 

Intelligenza artificiale vantaggiUno dei vantaggi principali dell’utilizzo dell’IA nella sicurezza informatica è sicuramente la sua capacità di analizzare grandi quantità di dati in modo rapido ed efficiente. Con l’aumento del volume e della complessità delle minacce informatiche, infatti, diventa sempre più difficile per gli esseri umani gestire manualmente questi dati e individuare situazioni potenzialmente pericolose. L’AI aiuta a processare questi dati in modo più efficiente e veloce, identificando le minacce in modo più rapido e fornendo una protezione più efficace.

L’AI può anche aiutare a prevenire le minacce informatiche utilizzando tecniche di apprendimento automatico per individuare modelli e comportamenti anomali. Ad esempio: un sistema di intelligenza artificiale potrebbe essere addestrato per riconoscere i comportamenti tipici di un utente e identificare eventuali deviazioni dal normale comportamento, che potrebbero indicare una minaccia informatica.

Può essere molto utile anche in fase di risposta agli incidenti, rendendo automatici processi come la quarantena di un dispositivo infetto o la riparazione automatica di un sistema compromesso. Ad esempio, un’azienda di sicurezza informatica utilizza l’IA per identificare e isolare automaticamente i dispositivi compromessi nella propria rete.

Altro vantaggio, non di poco conto, nell’utilizzo dell’IA nella sicurezza informatica è la sua capacità di fornire una protezione continua. A differenza dei sistemi di sicurezza tradizionali, che vengono aggiornati solo periodicamente, i sistemi di intelligenza artificiale possono essere aggiornati in tempo reale per affrontare le nuove minacce informatiche non appena emergono.

 

In conclusione, l’IA può aiutare a migliorare l’efficacia della sicurezza informatica, facendo il lavoro più velocemente, con maggiore accuratezza e a costi inferiori rispetto alle metodologie tradizionali: insomma, è il futuro.

 

A cura di: Lorenzo Presta

Voucher Digitali Impresa 4.0 (Anno 2019)

A partire dal 10 Aprile le imprese possono presentare domanda per accedere ai voucher messi a disposizione dalle Camere di Commercio. Le aziende avranno tempo fino al 15 luglio 2019 per richiedere l’erogazione del voucher presso la propria Camera di commercio di riferimento.

Fino a 10.000 euro di contributi per le MPMI in Voucher Digitali Impresa 4.0 per l’acquisto di beni strumentali (attrezzature, software, servizi informatici) servizi di consulenza e formazione per le nuove competenze e tecnologie digitali.

Pixeltek, azienda attiva nel mondo IT, offre esperienza, professionalità e performance nel fornirti i suoi servizi.

Cosa possiamo fare noi per la tua attività?

  • sistemi di e-commerce
  • sistemi informativi e gestionali
  • soluzioni tecnologiche digitali
  • software, piattaforme e applicazioni digitali
  • formazione qualificata IT

Porta la tua azienda su internet!

Utilizza il form contattaci per richiedere il nostro aiuto e verificare la tua idoneità.

 

Per approfondimenti sul bando clicca sul seguente link: https://www.cs.camcom.gov.it/it/content/service/voucher-digitali-i-40-2019