days
hours
mins
secs
WORLD TRANSMISSION DATA
WORLD TRANSMISSION DATA
Clicca qui! Clicca qui!
Clicca qui! Clicca qui!

Archive for 2021

Home / 2021

Tra i problemi che si riscontrano nei posti di lavoro c’è la mancanza di un piano formativo e la possibilità di crescere professionalmente.

A seguito di un’analisi sia interna che esterna della nostra realtà, servita per comprendere le esperienze lavorative analizzate su diversi fronti da parte dei nostri collaboratori, abbiamo deciso di dare voce al Team Leader Eduardo Zapata, una nostra importante risorsa interna.

Di seguito elencati, sotto forma di domanda/risposta, i motivi che hanno spinto Eduardo ad iniziare con noi e soprattutto, a restare.


“Com’è iniziata la tua esperienza in Bluecube?”

 “La mia esperienza è iniziata come collaboratore: presentato come risorsa per il cliente SMA tramite Bluecube, mi hanno preso con un altro mio collega, per un progetto a breve termine di 6 mesi”.
Una volta terminato il progetto nessuno parlava di rinnovo del contratto e la collaborazione è continuata. 

Ad un certo punto mi si è presentata l’occasione di cambiare società ed ero stato contattato da una nota multinazionale Americana che lavora in ambito IT; ho valutato la possibilità di cambiare azienda ma continuavo a pensare al rapporto che avevo con Manuel: lui si interessava a me e si interessava a quello che facevo. 

Ricordo ancora le sue parole, – mi fido di te, credo in te e prenderai tot a tempo indeterminato e mi aspetto il tuo continuo impegno – . 

Ho deciso così di abbracciare la causa di Manuel e mi piaceva l’ambiente che respiravo qui: colleghi che mangiavano insieme, scherzavano, c’era molta libertà; tu hai i tuoi progetti e lavori su questi; se finisci i progetti qui si è tutti più contenti e c’è più spirito di collaborazione: è difficile trovare questi “ingredienti” in altre realtà.

Il cambio più significativo l’ho avuto nel momento in cui Manuel mi ha spostato in CEVA; ambiente con persone più grandi di me, molto ma molto competenti, che utilizzavano tecnologie che non avevo mai sentito prima d’ora ed io avevo fame di imparare e di crescere professionalmente sempre di più.

Ammetto che all’inizio ho fatto un po’ fatica ma dopo ho capito quanto ne valesse la pena. 

L’azienda non voleva lasciarmi andare poiché non aveva una risorsa ed io ho cercato sempre di insistere finché Manuel non si è stufato ed ha pensato che forse me ne volessi andare e di conseguenza, per non perdermi, mi ha incaricato di gestire un altro progetto, BOMI. 

BOMI è stato il primo progetto grosso che ho seguito io dall’inizio alla fine. 

E’ stato molto utile perché ho potuto costruire per la prima volta qualcosa da zero”.


“Formazione: cosa potresti dire ad un candidato?”

“La mia situazione non so se è normale o anomala; dal cliente nessuno ti insegna cosa devi fare. 

Il linguaggio di programmazione, o quello che dovevi produrre dovevi gia saperlo tu.

Io non ho un’esperienza formativa dal punto di vista di Bluecube

Io, ad esempio, ho collaborato molto con Manuel, ho imparato tanto da lui: guardandolo lavorare, come e cosa faceva, io ho imparato molto.

Io sento di aver imparato le cose perché ho lavorato sul campo: mi sono stati messi a disposizione strumenti da quando ho dovuto gestire un progetto da capo.

Inoltre, penso che dipenda sempre dal modo in cui una persona si vuole approcciare al mondo del lavoro e dell’informatica: io ho le capacità di problem solving e questo mi piace: è un atteggiamento valido perché anche se non hai le competenze ma ci provi, è un passo avanti. 

In Bluecube vige il riconoscimento dell’impegno anche se non hai la massima competenza in tutto. 

Ho imparato da Manuel a far capire al cliente che la soluzione scelta non sia delle migliori. 

Sono cresciuto con la mentalità che il cliente non è mio cliente ma mio collega quindi se funziona male, funziona male anche per me”.

 

“Errare è umano: hai mai commesso errori?”

“Si, ne ho commessi, ma tutti commettono errori.

Devi essere in grado di risolvere o seguire la risoluzione di quel problema; devo capire io perché  ho commesso l’errore e due come risolverlo. 

I “cazziatoni” non mi sono mai arrivati perché se alla fine se ho commesso errori sono sempre riuscito a sistemarli; questo vuol dire comunicare al cliente che ho sbagliato, ma che ho dimostrato che sono stato in grado di sistemarlo”.

 

“Cosa ti senti di dire a proposito della cooperazione con i colleghi?”

“Io personalmente non sono stato mai molto cooperativo nel senso che io ho sempre cercato di essere autosufficiente e quindi quando affidavo qualcosa a qualcuno era perché era semplice ma sono sempre stato autosufficiente.

Io ho imparato il significato di collaborazione tra colleghi proprio grazie a Bluecube. 

Quando ho iniziato a collaborare con loro ho imparato a conoscerli. capire le loro abilità, il modo in cui ci si approccia al problema.

Nel mio, m i aspetto che ci sia sempre una certa competenza poiché ho sempre lavorato con gente competente e mi piace pensare che noi siamo bravi perché se io faccio da interfaccia ad un cliente, lui vede me, è contento e sa che è l’azienda e sa che qualsiasi cosa possa fare, raggiunge l’obiettivo”.

 

“Cambieresti qualcosa in Bluecube?”

“Premetto che Bluecube ha molti punti di forza: è una società snella nella quale trovi ascolti, specialmente dall’amministratore delegato e, soprattutto, supporto. 

In questo momento siamo in balia di cambiamenti dettati dalla nostra crescita ed il rapporto vise-à-vise esclusivo tra Manuel ed io è venuto a mancare: ma l’ho accettato, nonostante io non sia abituato ad eccessivi cambiamenti: noi eravamo piccoli ed ora stiamo crescendo con tanti progetti.  Ora per rendere contente più persone (sorridendo), bisogna adattarsi sempre di più al cambiamento.

Ho cambiato la mentalità di voler trovare un mentore!

Altro punto di forza: il lavoro in smart e la flessibilità aziendale!! Non mi devo fare tre ore di viaggio: posso ritagliarmi anche 10 minuti in giornata per farmi una passeggiata e nessuno dice nulla: l’importante è lavorare”.

 

 

L’ AWS DAGLI OCCHI DI UN ESPERTO

 

Le skills validate tramite certificazione ti danno modo di essere un punto di riferimento ed anche un mentor per i colleghi così’ da guidare la crescita professionale del team” .

 

Queste, le parole del nostro Cloud Architect, Mourad Hassani.

Per Bluecube essere certificati vuol dire oltrepassare il confine della conoscenza fine a sé stessa.

Il mondo dell’IT e dell’High Tech è in continua evoluzione e la preparazione è fondamentale, in egual misura di come è la consapevolezza di lavorare in un team unito e preparato in grado di supportarsi e di farsi guidare per raggiungere i migliori risultati e di conseguenza, di raggiungere l’ottimizzazione dei processi e la soddisfazione dei propri clienti.

Sulla base di ciò, ottenere la certificazione AWS consente di:

  1. Migliorare la confidenza nella vita professionale -”Se ottieni la certificazione, la fai con principio e con voglia di imparare, acquisisci confidenza perché conosci le logiche di tale tecnologia. Tutto dipende da COME approcci il tuo studio e costruisci il tuo bagaglio di conoscenze ed approfondimenti che ti permettono di affrontare in serenità la gestione di progetti che ti vengono affidati”- dice Mourad. 
  2. “Inoltre”- aggiunge – “per un futuro professionale ti si aprono le porte a maggiori possibilità lavorative nelle quali puoi apportare un valore aggiunto di grande rilievo”.
  3. “Infine, hai più credibilità, poiché alla base di qualsiasi preparazione si ritrovano due pilastri indispensabili, quali dedizione all’impegno e studio continuo, che si congiungono nella ‘fame’ di essere sempre più al passo con gli sviluppi presenti sul mercato tecnologico ed ogni singola fase della formazione ti fa crescere: gli esami ti testano, ed una volta in campo, porti la soluzione più adatta a ciascun esigenza.
     
  4. Una volta che termini questo percorso, hai un biglietto da visita che attesta le tue competenze, tenendo sempre presente che dietro a questo ‘biglietto’ c’è costruito un duro percorso”, conclude Mourad.

Al nostro esperto, che ha conseguito la “SA” Associate e Professional abbiamo domandato quali fossero i vantaggi effettivi di possedere questa certificazione e di seguito, il pensiero di Mourad: 

“Nel momento in cui lavori come Architect ricopri un ruolo critico in quanto hai la responsabilità e le capacità  per disegnare la soluzione più efficiente in termini di sicurezza, affidabilità, gestione e riduzione dei costi in un determinato contesto”.  

Ed i vantaggi individuali?

Sicuramente ci troviamo di fronte ad una soddisfazione personale e come ben si sa, ogni traguardo che il singolo individuo raggiunge, è un passo in avanti verso un prossimo obiettivo dalle difficoltà e dalle sfide maggiori.

La soddisfazione e l’auto-riconoscimento personale sono fattori rilevanti che spingono una persona al conseguimento di obiettivi di successo.

Essere certificati AWS significa poter accedere a servizi, eventi oltre contribuire allo sviluppo della partnership per la propria azienda.

Per finire, è bene ricordare che il mondo della tecnologia di sposa con il termine Cloud, ed è per questo che se anche tu hai bisogno di utilizzarlo ma non sai come iniziare, potresti scegliere di affidarti a personale esperto.

Che aspetti?

Contattaci!

 

Best Php Design Patterns

Introduction

Design patterns are commonly defined as time-tested solutions to recurring design problems. The term refers to both the description of a solution that you can read, and an instance of that solution as used to solve a particular problem.

Why use design patterns?

Design patterns have two major benefits. First, they provide you with a way to solve issues related to software development using a proven solution. The solution facilitates the development of highly cohesive modules with minimal coupling. They isolate the variability that may exist in the system requirements, making the overall system easier to understand and maintain. Second, design patterns make communication between designers more efficient.

Right, can you show me some example?

Sure, i’ll show you some of the most used design patterns in PHP Language, starting by the Factory Pattern.

Factory Pattern

Factory is a creational design pattern which solves the problem of creating product objects without specifying their concrete classes. It defines a method, which should be used for creating objects instead of direct constructor call (new operator). Subclasses can override this method to change the class of objects that will be created.

<?php
class Automobile
{
    private $brand;
    private $model;

    public function __construct($brand, $model)
    {
        $this->brand = $brand;
        $this->model = $model;
    }

    public function getBrandAndModel()
    {
        return $this->brand . ' ' . $this->model;
    }
}

class AutomobileFactory
{
    public static function create($brand, $model)
    {
        return new Automobile($brand, $model);
    }
}

$automobile = AutomobileFactory::create('Ferrari', 'La Ferrari');

// if i print $automobile->getBrandAndModel(), the result will be "Ferrari La Ferrari"

This specific case is too much simple for explain the factory advantages, but if you need to do complex operations in order to instance the object, the factory pattern can include this complexity once, and avoid many possible mistakes.

Singleton

The Singleton pattern is Class has one instance and provides a global access point to it.

<?php
    class Singleton {
        public static function getInstance() {
            static $instance = null;
         
            if (null === $instance) {
                $instance = new static();
            }

            return $instance;
        }

        protected function __construct() {

        }
      
        private function __clone() {

        }
      
        private function __wakeup() {

        }
    }
   
    class SingletonChild extends Singleton {

    }
   
    $obj = Singleton::getInstance();
    $anotherObj = SingletonChild::getInstance();

    print_r($obj === Singleton::getInstance()); // true
    print_r($anotherObj === Singleton::getInstance()); // false
    print_r($anotherObj === SingletonChild::getInstance()); // true

Moresi.com e Bluecube annunciano una nuova partnership per offrire servizi di Azure DevOps

Moresi.com – società con sede in Ticino leader nella digital transformation e Gold partner Microsoft – e Bluecube – società italiana di soluzioni e specialisti IT che offre consulenza, servizi professionali e gestiti e sviluppo di software – annunciano di aver stretto un accordo di partnership che vedrà le due aziende collaborare sul tema del DevOps in Azure.

DevOps, una combinazione di sviluppo (Dev) e operazioni (Ops), è l’unione di persone, processi e tecnologia per offrire continuamente valore ai clienti. Si tratta di una delle componenti principali del mondo informatico del futuro, e il suo scopo è quello di creare un’efficiente collaborazione tra sviluppatori e sistemisti, automatizzando e velocizzando il processo di consegna delle applicazioni ed i relativi cambiamenti infrastrutturali annessi.

«Il DevOps è un nuovo modello culturale che mira alla creazione di un ambiente di lavoro che comprenda le fasi di progettazione, testing e rilascio del software. – afferma Manuel Fontana, CEO e fondatore di Bluecube – Noi vogliamo essere tra i primi a portare sul mercato un’offerta strutturata e completa DevOps, offrendo sia migrazioni di applicazioni verso il Cloud sia la progettazione di applicazioni native cloud. La partnership con Moresi.com, Gold Partner Microsoft in Ticino, nasce nell’ottica di integrare nella nostra offerta Azure, ovvero il Public Cloud di Microsoft».

«In qualità di partner Microsoft di riferimento in Ticino – aggiunge Andrea Nazari, Director di Moresi.com – siamo lieti di poter collaborare con Bluecube per offrire ai nostri clienti nel mercato svizzero, ma non solo, una serie di moderni servizi di Azure DevOps che permettano loro di pianificare in modo più intelligente, collaborare meglio e distribuire più velocemente».

Insieme, Moresi.com e Bluecube offriranno un processo complesso quale il DevOps di Azure, che comprende:

  • Azure Boards, per monitorare l’attività degli elementi di lavoro e di crearne nuovi direttamente da Microsoft Teams;
  • Azure Artifacts, per creare e condividere feed dei pacchetti Maven, NuGet e NPM da origini pubbliche e private con team di tutte le dimensioni.
  • Azure Test Plans: Soluzione di testing pianificato ed esplorativo per Migliorare la qualità del codice usando i servizi di testing pianificato ed esplorativo per le tue app.
  • Azure Pipeline: le pipeline sono il cuore della CI/CD, Continuous integration/ Continuous Delivery. Servono a certificare che le nuove modifiche che vengono rilasciate non creino danni in produzione.
  • Azure Repos: per creare repository Git privati ​​illimitati e ospitati nel Cloud e collaborare per creare codice migliore con richieste pull e gestione avanzata dei file.

Electronic Data Interchange

EDI, or Electronic Data Interchange, is a technology that helps trading partners and organizations get more done, speed up logistics timelines and eliminate manual errors by automating business-to-business (B2B) communications

The advantages of the EDI approach:

  • Unlimited EDI Translation on any desktop or server
  • EDI transfer ensures real-time processing and eliminates times associated with manually sending, receiving and entering orders
  • Increase business through secure connections between partners / suppliers / customers around the world.
  • Costs saving in operational efficiency

3 Reasons for Use Laravel

​I’m a web developer and I wish to talk about Laravel. Laravel is PHP framework, developed by Taylor Otwell in 2011 immediately finds a great consensus from the developers, why?​

1. Laravel implements the MVC pattern

The MVC is an architectural pattern using for developing UI, that divides an application into three interconnected parts; Model, View, Controller. The Model is the core of this pattern. It is not directly connected to UI and this means that the Model directly manages the data from the Database and the inputs recived from the Controller. The View is simply the visualization of the Model’s Data. Laravel use the Blade template to paginate the Data. The Controller is “The man in the Middle”, It encoding the View’s data for the model and organize the Model’s raw data for the View. This pattern have the Advantage of avoiding the code reuse, this reduces the time of Refactor and Debugging. In laravel, thanks to artisan comand, create a Model with the Controller is very fast:

php artisan make:model Easy --controller

2. Front-end

Laravel offers two way to develop very quickly you Front-end the Blade tempalate or the integration With Vue.js. Vue.js is a JavaScript framework, then it is logically separate from Laravel, for this reason is necessary a bundle of API to render the Back-end Data. But the real vantages of Vue.js is the possibilty to reuse some component with no fatigue and the possibility to create fully reactive View. On the other hand Blade is based on php, for this reason is not necessary the API approch to render the Back-end Data in this way you lose the reactivity of the View.​

3. Authentication

Laravel also offers the possibility to create pure API application using a single command:

php artisan passport:install

Laravel passport is a native package, developed for the api authentication, is very easy to use, it have all the necessary to setup the token and create the AuthMiddleware indipendenty. It have also the option to create some Vue component if you front-end is integrated in Laravel.

php artisan vendor:publish --tag=passport-components

Laravel by default implement the RESTFull standard for the API, for this the Laravel apps are much faster than apps that use SOAP standard and in these contexts every seconds is important.​For these reason Laravel has become the used and supported framework, on stackoverflow there are currently 122 455 questions about laravel against the 62 872 questions about Symfony.​If I could not convice you it will be necessary you googled laravel’s weak points​

References

Vue.js Docs Laravel Docs

 

A Briefing of Python

Introduction

Python is an interpreted, high-level, general-purpose programming language. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Python has a comprehensive standard library providing most commonly required functionalities, and it’s available for many operating systems. It has been first released in 1991.​

History

​In December 1989, Guido Van Rossum had been looking for a “‘hobby’ programming project that would keep him occupied during the week around Christmas” as his office was closed when he decided to write an interpreter for a “new scripting language. He had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers”. He attributes choosing the name “Python” to “being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus)”​

Wetting your appetite

​Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.​Let’s see some basic stuff:​

1. Functions Defined

The core of extensible programming is defining functions. Python allows mandatory and optional arguments, keyword arguments, and even arbitrary argument lists.​

# Python 3: Fibonacci series up to n
>>> def fib(n):
>>>     a, b = 0, 1
>>>     while a < n:
>>>         print(a, end=' ')
>>>         a, b = b, a+b
>>>     print()
>>> fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

2. Compound Data Types

Lists (known as arrays in other languages) are one of the compound data types that Python understands. Lists can be indexed, sliced and manipulated with other built-in functions.​

# Python 3: List comprehensions
>>> fruits = ['Banana', 'Apple', 'Lime']
>>> loud_fruits = [fruit.upper() for fruit in fruits]
>>> print(loud_fruits)
['BANANA', 'APPLE', 'LIME']
​
# List and the enumerate function
>>> list(enumerate(fruits))
[(0, 'Banana'), (1, 'Apple'), (2, 'Lime')]

3. Intuitive Interpretation

Calculations are simple with Python, and expression syntax is straightforward: the operators +, -, * and / work as expected; parentheses () can be used for grouping.​

# Python 3: Simple arithmetic
>>> 1 / 2
0.5
>>> 2 ** 3
8
>>> 17 / 3  # classic division returns a float
5.666666666666667
>>> 17 // 3  # floor division
5

4. Quick & Easy to Learn

Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn.​

# Python 3: Simple output (with Unicode)
>>> print("Hello, I'm Python!")
Hello, I'm Python!
​
# Input, assignment
>>> name = input('What is your name?\n')
>>> print('Hi, %s.' % name)
What is your name?
Python
Hi, Python.

5. All the Flow You’d Expect

Python knows the usual control flow statements that other languages speak — if, for, while and range — with some of its own twists, of course.​

# For loop on a list
>>> numbers = [2, 4, 6, 8]
>>> product = 1
>>> for number in numbers:
...    product = product * number
... 
>>> print('The product is:', product)
The product is: 384

So far, so good. Now, if you’re interested in learning Python, take a look at this wide collection of guides, from beginners to advanced programmers and… have fun!