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-2017 © Letscode.hu. Minden jog fenntartva. Build verzió:

Mik azok a sütik?


As is common practice with almost all professional websites this site uses cookies, which are tiny files that are downloaded to your computer, to improve your experience. This page describes what information they gather, how we use it and why we sometimes need to store these cookies. We will also share how you can prevent these cookies from being stored however this may downgrade or 'break' certain elements of the sites functionality.

Áltálnos információkat nyújthat ez a Wikipedia cikk a HTTP sütikről...

Hogy használjuk a sütiket?


We use cookies for a variety of reasons detailed below. Unfortunately is most cases there are no industry standard options for disabling cookies without completely disabling the functionality and features they add to this site. It is recommended that you leave on all cookies if you are not sure whether you need them or not in case they are used to provide a service that you use.

Sütik kikapcsolása


You can prevent the setting of cookies by adjusting the settings on your browser (see your browser Help for how to do this). Be aware that disabling cookies will affect the functionality of this and many other websites that you visit. Disabling cookies will usually result in also disabling certain functionality and features of the this site. Therefore it is recommended that you do not disable cookies.

A sütik amiket mi használunk


This site offers newsletter or email subscription services and cookies may be used to remember if you are already registered and whether to show certain notifications which might only be valid to subscribed/unsubscribed users.

In order to provide you with a great experience on this site we provide the functionality to set your preferences for how this site runs when you use it. In order to remember your preferences we need to set cookies so that this information can be called whenever you interact with a page is affected by your preferences.


Harmadik féltől származó sütik


In some special cases we also use cookies provided by trusted third parties. The following section details which third party cookies you might encounter through this site.

This site uses Google Analytics which is one of the most widespread and trusted analytics solution on the web for helping us to understand how you use the site and ways that we can improve your experience. These cookies may track things such as how long you spend on the site and the pages that you visit so we can continue to produce engaging content.

For more information on Google Analytics cookies, see the official Google Analytics page.

The Google AdSense service we use to serve advertising uses a DoubleClick cookie to serve more relevant ads across the web and limit the number of times that a given ad is shown to you.

For more information on Google AdSense see the official Google AdSense privacy FAQ.

We also use social media buttons and/or plugins on this site that allow you to connect with your social network in various ways. For these to work the following social media sites including; Facebook, will set cookies through our site which may be used to enhance your profile on their site or contribute to the data they hold for various purposes outlined in their respective privacy policies.


More Information


Hopefully that has clarified things for you and as was previously mentioned if there is something that you aren't sure whether you need or not it's usually safer to leave cookies enabled in case it does interact with one of the features you use on our site. However if you are still looking for more information then you can contact us through one of our preferred contact methods.

Email: fejlesztes@letscode.hu

Bezárás