Featured image of post Cashflow építkezéshez

Cashflow építkezéshez

Múlt év végén úgy döntöttünk, hogy építkezésbe kezdünk. De mielőtt idáig eljutottunk, sok mindent át kellett gondolnunk, többek között az anyagiakat is. Megmutatom, én hogy csináltam.

Honlap saját domain alatt Synology NAS-on

Egy egyszerűbb statikus weboldal kiszolgálása nem okozhat gondot az otthoni Synology NAS-unknak. A következőkben ezen honlap, vagyis az szjani.hu beállítását fogom taglalni.

Featured image of post Enum PHP-ben?

Enum PHP-ben?

Sok dolgot hiányolok PHP-ből és az egyik ilyen az enum. Az enum egy olyan típus, amelyben előre definiált konstansok vannak és minden ilyen konstans egy objektumot tárol, melynek típusa - nem találjátok ki - épp az az enum, amelyben az definiálva van. PHP-ben nincs enum, nem része a nyelvnek. Viszont lehet - ha kicsit nehézkesen és nem túl szépen - szimulálni azt.

Featured image of post DDD és CQRS a gyakorlatban

DDD és CQRS a gyakorlatban

Korábbi írásaimban a teljesség igénye nélkül próbáltam ismertetni néhány általam készített nyílt forráskódú libraryt. Most viszont azt tűztem ki célul, hogy megmutatom a "big picture"-t, azaz egy konkrét példán keresztül bemutatom, hogy is pakolgatom össze ezeket a kis építőkockákat és csinálok egy rugalmas, könnyen karbantartható architektúrát. Fontosnak tartom megjegyezni, hogy a továbbiakban vázolt architekturális megfontolások teljes mértékben nyelvfüggetlenek. Pusztán azért mutatom be PHP-n keresztül, mert ebben a nyelvben volt/van szerencsém használni a DDD-t, illetve CQRS-t.

Getterek és setterek: ördögtől való dolgok

A DDD-s előadásomban utaltam rá, hogy mi a gond a getterekkel és setterekkel, de talán érdemes külön is beszélni róluk, mert rengeteg problémát okoznak. Azt hiszem mindenki, aki ezt olvassa, valamilyen IDE-t használ, mert tudja, hogy rengeteg többletszolgáltatást biztosít egy egyszerű szövegszerkesztőhöz képest. Olyan plusz dolgokat ad, amivel felgyorsítható a munka. Ilyen a getter/setter generálás is. Létrehozza az ember az osztályt, felveszi a private membereket és legeneráltatja az IDE-vel a címben emlegetett metódusokat. Kész is vagyunk, csinálhatjuk a következő osztályt, ugye?