28Oct

Inversion of layered architecture

Hosszú ideje nem volt már technikai jellegű bejegyzés a blogon, épp itt az ideje kicsit változtatni ezen. A cikket az egyik stackoverflow kérdésre adott válaszom ihlette, ahol megkaptam, hogy a kedvenc UML-emről igazán írhatnék valami cikket, ezt pedig megfogadom :) A legtöbben ismerjük az úgynevezett layered architektúrát, aminek a lényege az, hogy alkalmazásunkat több különböző rétegre bontjuk. Ezek a rétegek egymásra épülnek és a felhasználó, legyen az egy tényleges felhasználó vagy valami egyéb kliens, mindig a tetejével lép kapcsolatba. Na most a dependency inversion elve nem csak osztályokra értelmezhető, hanem ilyen modulokra is. Na de mégis hogyan?

Tovább »

15Oct

Hogy indult a podcastünk?

Párszor felmerült már bennünk, hogy azok a témák, amikről egymás között beszélgetünk, meg kellene osztani másokkal. Pásztor János barátom hónapokkal ezelőtt rámírt facebook-on, azonban akkor még nem volt az ismerőslistámon, viszont a webconfon és a refaktor.hu-n át ismertem már korábbról. Viszont így csak három hónapra rá vettem észre az engedélykérések között. Az üzenet ennyi volt:

Hello. Ha esetleg akarsz egy podcastet inditani, abban benne lennek, akar magyar nyelven is.
Mikor elfogadtam a felkérést persze rögtön megkaptam, hogy a reakcióidőmön még lehetne mit javítani :) Elkezdtünk beszélgetni, előhozakodtunk pár témával, amivel lehetne kezdeni és az én tanácsomra behívtuk a beszélgetésbe egy másik fejlesztőtársunkat, Turcsán Ádámot. Egy hétvégi napon leültünk mindannyian a gép elé és felvettük az első részt, hogy megnézzük, mennyire vevő rá a magyarországi programozó közösség. Meglepően sokaknak tetszett, mára már több, mint százan követtek minket Soundcloudon, úgyhogy sikerült validálni a kis ötletünket. Heti egy epizódban állapodtunk meg és remélhetőleg még jó sokáig el leszünk látva ötletekkel, hogy ezt tudjuk tartani is :) Akinek új lenne a podcast, az ezen a linken elérheti. Akinek viszont nem új, azok figyeljék az oldalunkat, a soundcloudot vagy az iTunes-t az új részekért! :)
Update: kértétek, hogy kerüljön fel az RSS link is, amit podcast playerben tudtok használni. Itt is van :)

27Jul

Videóportál készenlétben

Hosszú ideje már, hogy utoljára írtam a blogra, lassacskán el is felejtem, hogy is kell ezt :) Az elmúlt időszakban teljesen más volt fókuszban, mégpedig a https://app.letscode.hu cím alatt található, screencast videókat tartalmazó oldal. Még kell egy kis idő, hogy rendeződjenek a dolgok ott, utána ismét visszatérek a blogoláshoz is.    Aki elég szemfüles volt, az már korábban feliratkozott egy ingyenes próbaidőért, aki viszont nem így tett, az se keseredjen el, ugyanis nemsokára ismét lesz hasonló akció :) Addig is látogassatok el az oldalra, nézzetek szét és ha hiányzik valami a tartalomból, netán hibát találtok, akkor nyugodtan jelezzétek a fejlesztes@letscode.hu emailcímre!

13May

Logfájlok pokla 2. - MDC keretrendszer alatt

Az előző cikkben arról volt szó, hogy is tudjuk elszeparálni az egyes logbejegyzéseket az apache loggerével. Mint kiderült, van hasonló funkcionalitás a monologban is, csak ott még nem volt ekkora ráhatása Martin Fowlernek és társainak, mert nem MDC néven, hanem processor néven tudunk belenyúlni és plusz információkkal kiegészíteni az egyes bejegyzéseket. Első körben a Laravelt fogjuk megvizsgálni ezen szempontból, mégpedig az 5.4-es verzióját.

Tovább »

11May

Mit tegyünk ha már elvesztünk a logfájlokban?

Ismert a mondás, hogy a fejlesztők idejük 90%-ában debuggolnak, a másik 10%-ban pedig bugokat írnak. Ez utóbbi egy lokális/remote alkalmazás esetében még a nyelvspecifikus debuggerrel megoldható, lépegethetünk soronként, megnézhetjük hogy mi is történt pontosan egy/egy request/thread mentén. Viszont amikor mindez éles, netán tesztkörnyezetbe került, akkor ez az opció elveszett, így marad az, hogy a hibakeresés szempontjából lényeges információkról logbejegyzéseket hagyunk hátra és reménykedünk hogy sosem kell belenézzünk.

Tovább »

18Feb

Circuit breaker, avagy mi van akkor, ha nem megy?

Amikor szoftvert írunk, akkor törekszünk arra, hogy bolondbiztos legyen. Amikor webre fejlesztünk sem történik ez másként. Minden tőlünk telhetőt megteszünk annak érdekében, hogy bizony a felhasználó mindig megkapja, amit akar, hiszen nekünk közvetve belőlük van pénzünk. Azonban akadnak olyan esetek, mikor külső tényezők is befolyásolhatják a szolgáltatást, amit nyújtunk? Akkor bizony tudni kell esni. Ahogy manapság egyre nő a microservice hype, egyre gyakrabban fogunk találkozni azzal, hogy bizony, ki kell hívni egy külső service felé, ami nem mindig végződik egy boldog 200-as válasszal. Cikkünkben a Circuit breaker patternről lesz szó és arról, hogy is segíthet ez nekünk, ha külső szolgáltatásokra épül az oldalunk.

Tovább »

06Feb

Laravel dockerben

A korábbiakban már láthattuk, hogy is tudunk apache alapú webszervert futtatni, azonban akadnak esetek, főleg ha a Laravel eszközkészletét vesszük figyelembe, mikor egy szimpla webszervernél több kell, vegyük csak a workereket, scheduled jobokat. A docker alapvetően egy process-t (és azokat, amiket az spawnolt) tud futtatni és addig tart egy konténer futása, amíg a process tart, ennélfogva fontos, hogy az úgymond foreground fusson, tehát ne daemonként. Most nézzük meg, hogy is hívhatjuk segítségül a supervisord-t és indítsunk konténert cronnal workerekkel és futó apache-al! 

Tovább »

30Jan

Vissza a jövőbe - Legacy kódok

A mai nap az egyik facebook csoportban felröppent a kérdés, miszerint óhatatlanul is 'gány'-e minden kód, amit öröklünk. Az eddigi cikkekel ellentétben most nem fogunk hirtelen legacy kódot gyártani, tehát nem lesz semmiféle gyakorlati megvalósítás, így aki copy-paste ügyében jött, azt most el kell keserítsem. Akit viszont érdekel egy hosszabb vélemény a legacy kódokról, az a tovább gomb után megtalálja :)

Tovább »

23Jan

SOAP, avagy 'Run you fools!'

Az eddigi cikkekben főleg a RESTful irányába mentünk el, ami mostanában elterjedőben van, viszont óhatatlan, hogy az ember belefusson a jó öreg SOAP-ba. Már volt róla szó, hogy hogy is néz ki mindez, viszont az még nem derült ki, hogy is tudunk ilyet létrehozni, valamint egy kliens se ártana, mert "jó" esetben mi inkább használni fogjuk ezeket, nem pedig szervert írni rá PHP-ben. Mindenesetre mindkét opcióról szót ejtünk majd. Na de zuhanjunk is neki, mert semmi se lesz belőle!

Tovább »

21Jan

Ezeket a cikkeket olvastátok legtöbben 2016-ban

Köszönöm, hogy 2016-ban is követtétek és olvastátok a Letscode.hu-t, remélhetőleg 2017-ben sem döntötök másképp. De mi is történt az elmúlt évben? Sajnos közel sem akadt annyi időm, mint terveztem, ezért csupán 31 cikk született ez idő alatt, ellenben tartottunk meetupokat, előadtunk a webkonfon, az oldalt átemeltük Wordpress alól Laravel 5.3 alá, hírlevélben is értesítünk az új tartalmakról és még sok mást! 2017-ben pedig remélhetőleg sokkal sűrűbben hallhattok felőlem. Ha bármilyen téma ötletetek van, nyugodtan keressetek meg Facebook oldalunkon vagy ezen az e-mail címen. Végül pedig amiért midannyian jöttetek, alább azok a cikkek, amiket 2016-ban a legtöbben olvastatok:

Tovább »

2014-2018 © Letscode.hu. Minden jog fenntartva. Build verzió: