Biró Zsolt

web-programozó, PHP fejlesztő


Telefon
+3630/5059287
E-mail
info@codercrew.eu
Cím
Győr

Hello World!_

Több mint 5 éve foglalkozom webfejlesztéssel. Az első munkahelyemen főleg Joomla és más nyílt forráskódú CMS alapú weboldalakat készítettem, ebben szereztem mélyebb ismereteket. Egyedi komponens, modul és plugin fejlesztésben szereztem nagy gyakorlatot. Ezenkívül responsive sitebuildeket is készítettem.

Később egy müncheni start up-nak dolgoztam backend fejlesztőként. A kommunikáció angol nyelven folyt, napi szinten. Az itt végzett munkámról bővebben olvashat a portfólióm alatt.

Jelenleg szabadúszóként dolgozok. Folyamatosan fejlesztem magam, keresem az új kihívásokat, akár más platformokon is (pl. JAVA).

Szakmai tapasztalat_

zu-zweit.de (német startup)

2014 - 2016

Backend fejlesztő, devops

Pannako Internetes Tanácsadó Kft.

2012 - 2014

PHP programozó, sitebuilder

Alkalmazott technológiák_

PHP

Az elkészített szoftvereimnél mindig különös figyelmet fordítok a kód minőségére. Számomra nem elég, hogy a program hiba nélkül működjön. A jó minőségű kód ennél sokkal többet jelent.

Néhány technika azok közül, amiket használok:

 

  • Objektum orientált szemléletmód. A PHP nyelvben ma már alapvető és elengedhetetlen az objektum orientált szemléletmód.
  • Kommentek a forráskódban. Munkám során folyamatosan kommentelem a kódomat, ami szintén a könnyebb érthetőséget segíti. Ezen technikák segítségével a program sokkal hatékonyabban bővíthető új funkciókkal.
  • DRY coding (Don't Repeat Yourself). Lényege, ahogy a neve is mutatja: ne ismételd önmagad. Azonos funkciókat ellátó programkód csak egyszer szerepeljen a forrásban. Ha később módosítani kell a programot, így elég csak egy helyen átírni a kódot.
  • Hibakezelés. Mindig sorraveszem a program futása közben elképzelhető hibákat (pl. hiányzó paramétereket) és ezeket a megfelelő módon lekezelem.
  • Naplózás. A program futásának naplózásával jelentősen lecsökkenthetjük a hibakeresésre fordított időt.
  • Betöltődési idő. Különböző gyorsítótárazási technikákkal (memory cache, CDN) egy összetett weboldal betöltési ideje is jelentősen lecsökkenthető, ami felasználóbaráttá teszi a honlapot. Egy webáruháznál ezen rengeteg sikeres vásárlás múlhat.
  • És talán a legfontosabb: a biztonság. Itt nem csak a lehetséges hacker támadások megelőzésére gondolok, a spam robotok, crawlerek által generált extra forgalom is jelentős károkat okozhat a weboldalon. Szerencsére ezek kivédésére is megvannak már az eszközök, melyek hatékony alkalmazása a programozó feladata.

 

Az elmúlt években megismertem egy módszertant, amivel rendkívül produktív, modern szoftert építhetek. Ez a Twelve-Factor App módszertan (Bővebben itt olvashat róla: 12factor.net). Pontosabban a metodika nem csak a szoftver készítését, hanem a teljes háttér infrastruktúrát is felöleli. A gyakorlatban nem mindig követhető 100%-osan, de véleményem szerint törekedni kell a legközelebbi megoldások alkalmazására.

MySQL / PostgreSQL

Adatbázis-kezelő szoftverek közül a MySQL-ből és a PostgreSQL-ből szereztem nagy gyakorlatot.

DevOps / AWS

Rendszergazdai tapasztalatokra is szert tettem, így sokkal jobban átlátom a háttérben zajló folyamatokat. Egy VPS telepítése, konfigurálása nem jelent gondot. Manapság a nemzetközi piacon az Amazon Web Services a legelterjedtebb felhő alapú internetes szolgáltatás, ami szinte minden webes szoftver igényeit ki tudja elégíteni: felhő alapú virtuális szerverek, terhelés elosztás (load balancing), adatbázis szerverek, CDN szerverek, SSL szolgáltatás, a teljes infrastruktúra monitorozása, és még sorolhatnám.

Docker

Kezdőként minden fejlesztő szembesül azzal, hogy a megírja a szoftvert, teszteli és a látszólag hibátlan kódot feltölti a fejlesztő környezetről az éles szerverre. És az eddig hibátlanul futó program teljesen használhatatlanná válik. A probléma elkerülésére használható a Docker nevű program.

A Docker egy viszonylag új technológia. Egy nyílt forráskódú szoftver, melynek lényege, hogy virtuális szervereket (containers) futtat. Ezeket a container-eket tetszés szerint konfigurálhatjuk, image-eket készíthetünk belőle.

Az image-ek tartalmazzák a szoftver futtatásához szükséges teljes fájlrendszert, forráskódot, rendszereszközöket és függőségi könyvtárakat. A Docker teljesen platform független, használatával garantálhatjuk, hogy a programunk mindig ugyanolyan környezetben fog futni, a kiszolgáló szervertől függetlenül.

Git

A Git a legelterjedtebb verziókezelő rendszer. Használatával követhetjük programunk változásait, tetszőlegesen visszatérhetünk korábbi verziókra.

Node.js

 

Shell scripting

 

Portfólió_

 

 

zu-zweit.de

Az oldal társkereső oldalak elemzésével, ajánlásával foglalkozik. A szoftver egy facebook alkalmazással kap hozzáférést a felhasználók profiljához, ami alapján egyedi ajánlatot készít arról, hogy melyik társkereső oldalra érdemes regisztrálniuk.

Az oldal fejlesztése során sok munkafolyamatban részt vettem. A következőket szeretném kiemelni:

- Continuous deployment rendszer kialakítása. Ennek segítségével hatékonyan ki tudtuk szűrni az esetleges hibás kódot még mielőtt az felkerülne az oldalra. Minden git push után lefutnak a tesztek a kódon és csak akkor kerülnek ki az éles oldalra, ha minden teszt sikeres volt. A deployment folyamat egy erre a célra fejlesztett online eszközön fut, ahol shell scriptek segítségével programoztam le a tesztekhez szükséges lépéseket.

- PHPUnit teszteket készítettem, amikkel azonnal kiszűrhető a hibás kód.

- Az oldal a Processwire nevű CMSre épül. Ehhez a CMS-hez készítettem egyedi modulokat.

- RESTful API fejlesztése, integrációja. Slim nevű keretrendszer használatával fejlesztettem egy belső API-t, ami postgresql adatbázist használ. Az API-t adatok kezelésére, feldolgozására használtuk.

- Képkezelő, tömörítő rendszer feljesztése Node.js-ben. Egy olyan megoldást fejlesztettünk ki, aminek segítségével a minimálisra tudtuk csökkenteni a betöltendő képek méretét. A script segítségével az oldalon minden kép pixel pontosan a megfelelő méretben van legenerálva. Egy nagyon hatékony online szolgáltatás segítségével a képek feltöltés után rögtön tömörítve vannak. A teljes folyamat automatikus.

A munka során devops feladataim is voltak, átfogóan megismertem és használtam az Amazon Web Services szolgáltatásait.

Használt technológiák:

  • PHP7
  • PostgreSQL
  • Shell
  • Node.js
  • REST API
  • AWS
  • Git
zu-zweit.de
 

 

hankookracercup.com

A teljes verseny kezelő rendszert kellett megvalósítanom. Az oldal Joomlára készült, minden komponens, modul egyedi fejlesztésű. Versenykategóriák, versenyek, versenyzők, csapatok, pontrendszerek adatait kezeli a rendszer. Az oldal a felvitt verseny eredmények alapján, a dinamikusan megadható pontozási rendszert figyelembe véve generálja le az eredménytáblázatokat.

Használt technológiák:

  • PHP5
  • MySQL
  • jQuery
  • Joomla 3
hankookracercup.com
 

 

pihipakk.hu

Egyes aloldalak sitebuildjét készítettem el.

Használt technológiák:

  • CSS 3
  • HTML 5
  • jQuery
pihipakk.hu
 

 

holtoltsek.hu

A Google Map integrációja volt a feladatom. Frontenden egy keresőmodult, backenden egy töltőállomások adatait kezelő komponenst készítettem el. A térképre adminisztrációs felületen keresztül lehet pontokat felvinni. A hozzá tartozó szűrővel kereshetünk a térképre felvitt pontok között. A tervezett útvonalat és a magassági diagramot is láthatjuk.

Használt technológiák:

  • PHP5
  • MySQL
  • Joomla
holtoltsek.hu

Kapcsolat_

Írjon üzenetet_