DreamHost interjú Michael PHP fejlesztővel…

Michael Bodnarchuk egy kijevi webfejlesztő, aki a Codeception tesztelési keretrendszer vezető fejlesztőjeként szolgál. Technikai tanácsadóként és trénerként is dolgozik az SDCLabs consultingnál. Jelenleg egy tesztkezelő rendszeren dolgozik nem tesztkezelési felhasználók számára. Örülünk, hogy Michael itt van ma velünk, és mesél nekünk az utazásáról, a PHP-vel való munka során szerzett tapasztalatairól, a Codecepcióval kapcsolatos tapasztalatairól és még sok másról.

Shahzeb: Hello Michael, köszönöm, hogy időt szakított erre az interjúra. Mielőtt elkezdenénk, mesélne egy kicsit magáról, hogy olvasóink jobban megismerhessenek?

Michael: Webfejlesztő vagyok Kijevből, Ukrajnából. Mindig is szenvedélyesen szerettem új dolgokat létrehozni, és ez vezetett a technikához. Az elmúlt 10 évben saját nyílt forráskódú projektjeimen dolgoztam, mint pl Kodecepció és CodeceptJS.

Nagyon szeretek szerszámokat fejleszteni, ezért sokáig nem volt rendes munkám. Technikai tanácsadóként, trénerként és szabadúszóként dolgoztam. Ez lehetővé teszi számomra, hogy pénzt szerezzek a termékeimből, és javítsam azokat. Elég olcsó országban élek, szóval ez bőven elég az életemre. A nyílt forráskód építése a szenvedélyről és nem a pénzről szól. Szóval nincs sok pénzem, de nagy a szenvedélyem, hogy nagyszerű dolgokat csináljak!

Növelje PHP alkalmazásának sebességét 300%-kal

A DreamHost dedikált szervereket kínál SSD tárhellyel, egyéni teljesítménnyel, optimalizált veremmel és még sok mással a 300%-kal gyorsabb betöltési idő érdekében.

Jelenleg a következő projektemen dolgozom – a Testomat.io-n, amely egy tesztmenedzsment rendszer mindenkinek, aki egyáltalán nem használja a tesztkezelést. Az ötlet egyszerű – a teszteknek láthatóságra van szükségük. Szeretné, ha megosztaná őket a csapatokkal, futtatási jelentéseket jeleníthet meg, és teszteket szeretne készíteni, hogy több legyen, mint rejtett gyöngyszemek egy kódban. Ha csapata látja őket, javasolja a következő teszteket, és ellenőrizheti a tesztüzemi jelentéseket, jobban megértik az aktuális tesztlefedettséget.

Olvasni:  5 CMS beépülő modul, amelyet tudnia kell

Shahzeb: Meg tudod osztani az utazásodat a PHP-vel? Érdekesnek találsz történetet a karrieredből? Mi volt a legnagyobb kihívás, amellyel pályafutása elején szembesült, és hogyan birkózott meg ezzel?

Michael: 2004-ben kezdtem. Mint a legtöbb akkori fiatal fejlesztő, én is megpróbáltam felépíteni a saját számítógépes játékomat. A web volt a legolcsóbb fejlesztési platform – nem kellett minőségi grafikára, animációra vagy 3D-re gondolnia. Így a PHPBB fórummotorját használtam a játékom alapjául. A kód minősége nagyon gyenge volt (nem csak az enyém, hanem a PHPBB-é is), ezért valamikor feladtam, mert a projekt túl bonyolult lett.

De mivel már jó tapasztalataim voltak a PHP-vel, megpróbáltam weboldalakon dolgozni. Elkezdtem használni a Seagull, Symfony 1 és más keretrendszereket. Ezek voltak a régi szép idők, amikor csak elkezdtek megjelenni a keretek, és még nem volt győztes a versenyen.

Shahzeb: Hogyan jellemeznéd a Codeceptiont valakinek, aki még soha nem hallott róla?

Michael: A kodecepció olyan dolog, amire szüksége van, ha nem szeret teszteket írni. Ez egy tesztelési keretrendszer azoknak készült, akiknek fogalmuk sincs, hogyan teszteljék alkalmazásaikat, de szeretnének gyorsan és egyszerűen elindítani, és olyan eszközzel rendelkeznének, amely integrálható a saját keretrendszerükkel. Leírja az alkalmazással való interakciókat, és ellenőrzi az eredményeket: mit küldtek a felhasználónak, mi került az adatbázisba stb. A Codecepció minden eszközt biztosít, így Ön csak az egyszerű és értelmes tesztek írására összpontosít!

Shahzeb: Miért fejlesztetted ki a Codeceptiont?

Michael: Egy amerikai cégnél dolgoztam, és most kezdtem el az egységtesztelés felé vezető utat. És írtam néhány tesztet. Nagyon jók voltak, mivel információkat adtak az alkalmazásunk stabilitásáról. Ahogy a műszaki igazgatónk mondta: a tesztek néhányszor megmentették az életünket. Volt azonban egy nagy probléma – senki sem értette meg ezeket a teszteket. Ezért megkérdeztem a vezérigazgatót, szánhatok-e egy kis időt és átalakíthatom tesztjeinket valami értelmesebbé. Így találtam ki egy olyan szintaxist, ahol minden parancs I-vel kezdődik – az oldalon vagyok, kattintok, látom. Ezek a szintaktikai tesztek könnyen olvashatóvá és könnyen írhatóvá váltak. Ebből a paradigmából származott a Codecepció.

Olvasni:  Miért részesítik előnyben a fejlesztők a PHP programozási nyelvet?

Shahzeb: Hogyan jött a Codeception ötlete? Milyen kihívásokkal szembesült a fejlesztés során?

Michael: A Codecepció kezdetekor paradigmaváltás történt a PHP keretrendszerében. A fejlesztők PHP 5.2-ről 5.3-ra váltottak, és elkezdődött a névterek bevezetése. Ezzel a régi keretrendszerek, például a Symfony 1, yii 1, Zend Framework örököltekké váltak, míg az új keretrendszerek, mint a Symfony 2 vagy a Laravel még nem foglalták el a helyüket.

Így a legnehezebb dolog a PHP keretrendszer kiválasztása volt a Codecepcióval való integrációhoz. Az eredeti verzióm a Symfony 1-re épült. De ez már nem volt jó ötlet. Ezért úgy döntöttem, hogy támogatom az összes népszerű PHP keretrendszert. Ez valószínűleg nem volt jó ötlet, ha összeszámolom az integrációjukkal töltött időt, de a végeredmény nagyon jó lett. Nem számít, milyen keretet használ – a tesztek ugyanazok lesznek.

Hallottam egy történetet, miszerint az egyik vállalat a Zend Framework 1-ről a Symfony-ra költözött anélkül, hogy a tesztjei során bármiféle kódmódosítás történt volna. Számomra ez nagyon jól hangzik! Így a Codeception általános tesztelési eszközzé vált bármilyen PHP-be épített webalkalmazáshoz.

Shahzeb: Széles körű ismeretekkel rendelkezik a PHP fejlesztésről. Szeretne beszámolni olvasóinknak a legjobb PHP projektekről, amelyeken dolgozott?

Michael: A PHP-nek nagyszerű közössége és elég jó ökoszisztémája van. Szeretem Laravel ökoszisztémáját, bár nem használtam túlzottan. Tetszik, hogy vannak olyan vállalatbarát keretrendszerek, mint a Symfony, indítási keretrendszerek, mint a Yii vagy Laravel, és olyan hatékony CMS-ek, mint a WordPress vagy a Drupal. Lehetővé teszi, hogy a PHP a legtöbb esetet lefedje webfejlesztéssel kapcsolatban. Abbahagytam a termékek kódjuk alapján történő megítélését, így azt mondanám, hogy az összes projekt, amely egyedivé teszi a PHP ökoszisztémáját, fantasztikus.

Olvasni:  Interjú Tom Herudekkel, a WordPress fejlesztővel...

Shahzeb: Ön szerint melyek a PHP-tesztelők legfontosabb előnyei a Codeception eszközöktől?

Michael: A kódfogadás egy egyszerű eszköz az indításhoz, de tervezésénél fogva vállalati szintű méretezhetőséget biztosít. A Codeception tehát arra ösztönzi a fejlesztőket, hogy kövessék a bevált gyakorlatokat – ne keverjék a kódot a konfigurációval, távolítsák el a támogatási kódot a tesztekből, tartsák olvashatóan a teszteket, részesítsék előnyben az integrációs teszteket, kapjanak futtatási jelentéseket és így tovább!

Más tesztelőeszközökkel ellentétben a Codeception nem hagyja magára a fejlesztőt a problémáival. A Codecepcióban a legtöbb integráció már megtörtént, és a problémák megoldva. A tesztek Codeception által javasolt módon történő megírása megkönnyíti azok írását, olvasását és karbantartását.

Shahzeb: Mi a személyes véleménye a tesztelésről? Miért elengedhetetlen része a termékfejlesztésnek a tesztelés?

Michael: A tesztelés a bizalomról szól. Bízol a kódodban? Nem bízom a sajátomban. Ezért biztonsági övként tesztelem. Neked sem szabad hamis önbizalmadnak lenni. Végezzen annyi automatikus ellenőrzést, amennyit csak tud. Kezdje linterekkel és kódelemzéssel, adjon hozzá további funkcionális, integrációs teszteket és így tovább, így egyre nagyobb magabiztosságot ad a projekthez.

Shahzeb: Melyik típusú webtárhelyet részesítené előnyben? Véleménye szerint milyen előnyökkel jár, ha egy webhelyet felügyelt megoldásszolgáltatón tárol a hagyományos megosztott tárhely helyett?

Michael: A saját tárhelyem fenntartásához egy csomó Ansible szkripttel élek, amelyeket frissítenem és karban kell tartanom. Elég tapasztalt vagyok benne, és elég könnyen hangolhatom és méretezhetem a szerveremet. Én azonban szívesebben bíznám ezt a feladatot valaki másra. Tehát ha időt takaríthat meg a szerverek kezelésével, és extra pénzt fizethet a gazdagépnek, akkor valószínűleg megéri.

Shahzeb: Mi a véleménye az olyan menedzselt hosting megoldásokról, mint a DreamHost, amelyek optimalizált PHP-vermet biztosítanak a webalkalmazásaik üzembe helyezéséhez szükséges funkciókkal?

Olvasni:  Közösségi könyvjelzők bloggereknek

Michael: Szerintem nagyszerű, hogy a PHP fejlesztőknek van ilyen lehetőségük. Ez drámai időt takaríthat meg a termék ötletétől a gyártásig való eljuttatása során.

Shahzeb: Nagyon fontos, hogy egyensúlyba hozza a magánéletét és a szakmai életét. Mivel tölti az idejét, ha nem dolgozik?

Michael: Szeretek kajakozni, túrázni, kerékpározni és egyéb tevékenységeket. Ez elkerüli, hogy kiégjek.

Shahzeb: Kivel készítsünk interjút legközelebb és miért?

Michael: Szerintem ennek Anton Tsitounak kellene lennie. Forradalmi technológiát épít a PHP-hez – Spiral Framework a RoadRunnerrel, a PHP aszinkron webszerverével.

Shahzeb: Davert, biztos vagyok benne, hogy sokan jegyzeteltek. Biztos vagyok benne, hogy szívesen látnának egy képet a munkaállomásáról, ha megosztaná!

Shahzeb: Még egyszer köszönöm, Davert!

×

Szerezze meg hírlevelünket
Legyen Ön az első, aki megkapja a legújabb frissítéseket és oktatóanyagokat.

Köszönjük, hogy feliratkozott ránk!

Új publikációk:

Ajánlott