Technologie Gadgets, SEO Tipps, Geld Verdienen mit WEB!

Intervista di DreamHost con lo sviluppatore PHP Michael…

Intervista di DreamHost con lo sviluppatore PHP Michael...

Michael Bodnarchuk è uno sviluppatore web di Kiev, Ucraina, che funge da sviluppatore principale del framework di test Codeception. Lavora anche come consulente tecnologico e formatore presso SDCLabs Consulting. Attualmente sta lavorando a un sistema di gestione dei test per utenti che non gestiscono i test. Siamo felici di avere Michael qui con noi oggi mentre ci parla del suo viaggio, della sua esperienza di lavoro con PHP, della sua esperienza con Codeception e molto altro ancora.

Shahzeb: Ciao Michael, grazie per aver dedicato del tempo per questa intervista. Prima di iniziare, puoi raccontarci qualcosa di te in modo che i nostri lettori possano conoscerti meglio?

Michael: Sono uno sviluppatore web di Kiev, Ucraina. Ho sempre avuto la passione di creare cose nuove e questo è ciò che mi ha portato alla tecnologia. Negli ultimi 10 anni ho lavorato ai miei progetti open source come Codecezione E CodeceptJS.

Mi piace molto sviluppare strumenti, quindi non ho avuto un lavoro regolare per molto tempo. Ho lavorato come consulente tecnico, formatore e libero professionista. Questo mi permette di trarre profitto dai miei prodotti e di migliorarli. Vivo in un paese piuttosto economico, quindi è più che sufficiente per la mia vita. Costruire open source è una questione di passione e non di denaro. Quindi non ho molti soldi, ma ho tanta passione per fare grandi cose!

Migliora la velocità della tua app PHP del 300%

DreamHost ti offre server dedicati con archiviazione SSD, prestazioni personalizzate, uno stack ottimizzato e altro ancora per tempi di caricamento più rapidi del 300%.

In questo momento sto lavorando al mio prossimo progetto: Testomat.io, che è un sistema di gestione dei test per tutti coloro che non utilizzano affatto la gestione dei test. L’idea è semplice: i tuoi test hanno bisogno di visibilità. Vuoi condividerli con i team, mostrare i report eseguiti e fare in modo che i test siano qualcosa di più che gemme nascoste in un codice. Se il tuo team può vederli, proporre i test successivi e controllare i report sull’esecuzione dei test, comprenderà meglio la copertura attuale dei test.

Shahzeb: Puoi condividere il tuo viaggio con PHP? Ci sono storie della tua carriera che trovi interessanti? Qual è stata la sfida più grande che hai dovuto affrontare all’inizio della tua carriera e come l’hai affrontata?

Michael: Ho iniziato nel 2004. Come la maggior parte dei giovani sviluppatori dell’epoca, stavo cercando di creare il mio gioco per computer. Il web era la Piattaforma più economica da sviluppare: non dovevi pensare alla qualità della grafica, delle animazioni o del 3D. Quindi ho utilizzato il motore del forum PHPBB come base per il mio gioco. La qualità del codice era pessima (non solo mia ma anche di PHPBB), quindi ad un certo punto ho rinunciato perché il progetto era diventato troppo complicato.

Ma poiché avevo già una buona esperienza con PHP, ho provato a lavorare sui siti web. Ho iniziato a Utilizzare i framework Seagull, Symfony 1 e altri. Erano i bei vecchi tempi in cui i framework cominciavano appena ad apparire e non c’era ancora nessun vincitore in quella competizione.

Shahzeb: Come descriveresti Codeception a qualcuno che non ne ha mai sentito parlare?

Michael: Codeception è una cosa di cui hai bisogno se non ti piace scrivere test. È un framework di test pensato per coloro che non hanno idea di come testare le proprie applicazioni ma vorrebbero iniziare in modo semplice e veloce e avere uno strumento che si integri con il proprio framework. Descrivi le interazioni con l’applicazione e controlli i risultati: cosa è stato inviato all’utente, cosa è stato salvato nel database, ecc. Codeception fornisce tutti gli strumenti in modo che tu possa concentrarti solo sulla scrittura di test semplici e significativi!

Shahzeb: Perché hai sviluppato Codeception?

Michael: Lavoravo per un’azienda statunitense e ho appena iniziato il mio viaggio verso i test unitari. E ho scritto alcuni test. Sono stati abbastanza bravi in ​​quanto hanno fornito informazioni sulla stabilità della nostra applicazione. Come ha detto il nostro CTO: i test ci hanno salvato la vita alcune volte. Tuttavia c’era un grosso problema: nessuno riusciva a capire quei test. Quindi ho chiesto al CEO se potevo prendermi un po’ di tempo e trasformare i nostri test in qualcosa di più significativo. È così che ho inventato una sintassi in cui ogni comando inizia con I – sono sulla pagina, clicco, vedo. Questi test di sintassi sono diventati facili da leggere e facili da scrivere. Da questo paradigma è nata Codeception.

Shahzeb: Come ti è venuta l’idea di Codeception? Quali sfide hai incontrato durante lo sviluppo?

Michael: Ai tempi in cui è stato avviato Codeception, si è verificato un cambiamento di paradigma nei framework PHP. Gli sviluppatori passarono da PHP 5.2 a 5.3 e iniziarono ad essere introdotti i namespace. Ciò ha fatto sì che vecchi framework come Symfony 1, yii 1, Zend Framework diventassero legacy, mentre nuovi framework come Symfony 2 o Laravel non hanno ancora preso posizione.

Quindi la cosa più difficile è stata scegliere il framework PHP da integrare con Codeception. La mia versione originale era basata su Symfony 1. Ma questa non era più una buona idea. Quindi ho deciso di supportare tutti i framework PHP più diffusi. Probabilmente non è stata una buona idea se considero tutto il tempo che ho dedicato alla loro integrazione, ma il risultato finale è stato piuttosto buono. Non importa il framework che utilizzi, i test saranno gli stessi.

Ho sentito una storia secondo cui un’azienda è migrata da Zend Framework 1 a Symfony senza alcuna modifica al codice nei test. A me sembra piuttosto interessante! Quindi Codeception è diventato uno strumento di test generale per qualsiasi tipo di applicazione web costruita in PHP.

Shahzeb: Hai una vasta conoscenza dello sviluppo PHP. Ti piacerebbe parlare ai nostri lettori di alcuni dei migliori progetti PHP su cui hai lavorato?

Michael: PHP ha una grande comunità e un ecosistema piuttosto buono. Mi piace l’ecosistema di Laravel, anche se non l’ho utilizzato ampiamente. Mi piace il fatto che esistano framework di facile utilizzo come Symfony, framework di avvio come Yii o Laravel e potenti CMS come WordPress o Drupal. Consente a PHP di coprire la maggior parte dei casi di sviluppo web. Ho smesso di giudicare i prodotti dal loro codice, quindi direi che tutti i progetti che rendono unico l’ecosistema PHP sono fantastici.

Shahzeb: Quali pensi siano i principali vantaggi che i tester PHP ottengono dagli strumenti Codeception?

Michael: Codeception è uno strumento semplice per iniziare, ma ha una scalabilità di livello aziendale in base alla progettazione. Pertanto Codeception incoraggia gli sviluppatori a seguire le migliori pratiche: non mescolare il codice con la configurazione, rimuovere il codice di supporto dai test, mantenere i test leggibili, preferire i test di integrazione, ottenere report di esecuzione e altro ancora!

A differenza di altri strumenti di test, Codeception non lascia lo sviluppatore solo con i suoi problemi. In Codeception la maggior parte delle integrazioni sono già state eseguite e i problemi risolti. Scrivere i test nel modo proposto da Codeception li rende facili da scrivere, leggere e mantenere.

Shahzeb: Quali sono le tue opinioni personali sui test? Perché i test sono una parte essenziale dello sviluppo del prodotto?

Michael: Il test riguarda la fiducia. Ti fidi del tuo codice? Non mi fido dei miei. Ecco perché ho i test come cintura di sicurezza attorno ad esso. Non dovresti avere anche una falsa fiducia in te stesso. Esegui quanti più controlli automatici possibile. Inizia con linter e analisi del codice, aggiungi altri test funzionali, di integrazione e così via, aggiungendo sempre più sicurezza al tuo progetto.

Shahzeb: Quale tipo di web hosting preferiresti? Secondo te, quali sono i vantaggi di ospitare un sito su un fornitore di soluzioni gestite piuttosto che su un hosting condiviso convenzionale?

Michael: Per mantenere il mio hosting, vivo con una serie di script Ansible che devo aggiornare e mantenere. Ho abbastanza esperienza e posso ottimizzare e ridimensionare il mio server abbastanza facilmente. Preferirei però delegare questo lavoro a qualcun altro. Quindi, se puoi risparmiare tempo nella gestione dei server e pagare soldi extra a un host, probabilmente ne vale la pena.

Shahzeb: Cosa ne pensi delle soluzioni di hosting gestito come DreamHost che forniscono uno stack PHP ottimizzato con funzionalità per distribuire le proprie app Web?

Michael: Penso che sia fantastico che gli sviluppatori PHP abbiano un’opzione del genere. Ciò può far risparmiare notevolmente tempo nel passaggio del prodotto dall’idea alla produzione.

Shahzeb: È davvero importante bilanciare la tua vita personale e professionale. Come trascorri il tuo tempo quando non lavori?

Michael: Mi piace il kayak, l’escursionismo, il ciclismo e altre attività. Evita che mi esaurisca.

Shahzeb: Chi dovremmo intervistare dopo e perché?

Michael: Penso che questo dovrebbe essere Anton Tsitou. Sta costruendo una tecnologia rivoluzionaria per PHP – Spiral Framework con RoadRunner, server web asincrono per PHP.

Shahzeb: Davert, sono sicuro che molte persone hanno preso appunti. Sono anche sicuro che adorerebbero vedere una foto della tua postazione di lavoro se desideri condividerne una!

Shahzeb: Grazie ancora, Davert!

×

Ricevi la nostra newsletter
Sii il primo a ricevere gli ultimi aggiornamenti e tutorial.

Grazie per esserti iscritto!