2023

2022

Az első IT munkahely – 2. rész

Az első IT munkahely – 2. rész

Az első IT munkahely sorozatunk első részében megérkeztél a céghez, bemutattak a tagoknak, megkaptad a céges laptopod, készen áll a fejlesztői környezet és már az alkalmazás is ott dübörög a gépeden.…

Az első IT munkahely – 1. rész

Az első IT munkahely – 1. rész

Egy új munkahely szinte mindenkit izgalommal tölt el, pláne ha az egy teljesen másik iparág, mint ahol korábban dolgoztál. Egy bootcamp után még ingatag lábakon van a tudásod, de bízol magadban,…

Dockerbe zárva – 1. rész

Dockerbe zárva – 1. rész

Akik nem egyetlen monolit alkalmazással dolgoznak éveken át, azok valószínűleg szembesültek már azzal a problémával, hogy bizony menedzselni kell az eszközök, fordítók, stb. verzióit a projektek és…

Terminálor 3 – a tmux sessionök lázadása

Terminálor 3 – a tmux sessionök lázadása

A korábbi vim-es cikkem sikertelenségén felbuzdulva most egy újabb terminálhoz kapcsolódó cikkel érkezem, amivel remélhetőleg sikerül áttériteni pár olvasót a fekete alapon fehér oldalra. Figyelem!…

Előtte-utána: CV refaktorálás programozóknak + Interjú

Előtte-utána: CV refaktorálás programozóknak + Interjú

A programozóknak széles körű készségekkel kell rendelkezniük ahhoz, hogy a munkahelyükön lévő sokféle feladatot a legmagasabb szakmai színvonalon eltudják látni. A leghatékonyabb fejlesztők a tudást,…

A portfólió oldalak szerepe, jelentősége programozóknál – első munkahely

A portfólió oldalak szerepe, jelentősége programozóknál – első munkahely

A portfólió avagy referencia oldalak célja minden szakmában az, hogy bemutassa munkáinkat, tanulmányainkat, digitális önéletrajz is valamilyen szinten. De vajon szükség van-e erre ahhoz, hogy több…

2021

2020

PHP 8.0 – Az OPCache-től a JIT-ig – Pt. II.

PHP 8.0 – Az OPCache-től a JIT-ig – Pt. II.

Az első rész itt megtalálható. A PHP 5.5-től kezdve a PHP 7.0-val és gyakorlatilag az azt követő minor verziókkal mind folyamatos performancia növekedést produkáltak a fejlesztők hol kisebb, hol…

PHP 8.0 – Az OPCache-től a JIT-ig – Pt. I.

PHP 8.0 – Az OPCache-től a JIT-ig – Pt. I.

<div class="wp-block-group"<div class="wp-block-groupinner-container is-layout-flow wp-block-group-is-layout-flow"<div class="wp-block-group"<div class="wp-block-groupinner-container is-layout-flow…

ASDF – a fura nevű verziómenedzser

TLDR; Az asdf képes menedzselni a rendszerünkön a globális és projekt specifikus verziókat, legyen az node, java, maven, kubectl vagy bármi. A github projekt itt található, ahol a leleményesebbek már…

Vim felturbózva

A legutóbb volt egy bejegyzésem, ami arról szólt, hogy váltani készülök a menő IDE-k felől a Vim felé. Akkor még csak két hete játszadoztam vele, így túl sokat nem tudtam még nyilatkozni róla. Azóta…

Ha nem értesz a COBOL

Aki mostanság figyeli a híreket, az biztos hallhatott róla, hogy az egyébként is kihalófélben lévő <skobaltbányászokból</s COBOL fejlesztőkből mégtöbbre van szükség, mert az USA munkaügyi segélyeket…

k3s – Kubernetes egyszerűen?

Aki követi a munkásságomat tudja, hogy noha aláírom, hogy a Kubernetes tud hasznos lenni, óvatos optimizmussal közelítem meg a kérdést. Azt gondolom, hogy a nagy játékosok kivételével…

Kalandozások Vimmel

A szokásostól eltérő bejegyzés következik tőlem, mert ennek most nem feltétlenül a tudás átadása a célja, mintsem inkább egy kis történet, vagy épp folyamat megosztása. Ez a folyamat pedig nem más,…

Teszt F.I.R.S.T

Automata teszteket írni szinte bárki tud. Jó teszteket írni viszont már közel sem. Na de mégis mitől lesz egy adott teszt jó? Itt nyílván elővehetnénk a tesztlefedettséget, netán azt, hogy mutációs…

Klasszikus ::class

Az a csodálatos feladat hárult rám, hogy értesítsem az itt egybegyűlteket a PHP-s hírekről, újdonságokról, és egyéb finomságokról. És valljuk be, ez számomra nem esik túl távol. Mivel ez az első…

A tesztelés elveszett előnye

Unit tesztelni jó. Rengeteg előnnyel jár, de valahogy nagyon sokan vannak akik még mindig utálják. Ezért nem a tesztelést kell hibáztatni, hanem azt, ahogy végezzük. (A cikkben több helyen a…

Java kivételek – Checked vagy unchecked?

<figure class="wp-block-image"</figureJava nyelvben kétféle kivételt különböztetünk meg: - Checked — ezek azok, amiket a compiler maga is ellenőríz. Amikor eldobod, akkor vagy helyben kezelned kell,…

A dummy, a spy, és a tíz kicsi stub

TL;DR Dummy: placeholder. Stub: metódusok visszatérési adatokkal előprogramozva. Spy: olyan stub, ami képes figyelni a felparaméterezett metódushívásokat. Mock: olyan spy, ami ellenőrzi is a hívások…

2018

2017

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…

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…

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…

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…

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ó,…

Saját CDN kevesebb mint 100$-ból?

Aki dolgozott már velem az tudja, hogy ha egy mód van rá, nem a szokványos megoldásokat választom. Az elmúlt hónapok műszaki kalandozásai az Amazon Web Services tengereire sodortak, és a sok munka…

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ó…

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…

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,…

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,…

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,…

Konstruáljunk web API-t – Passporticus maximus

Az előző cikkben láthattuk, hogy az Apigility, habár nagyon sok mindenben megkönnyíti az ügyünket, amikor az OAuth dolgaira kerül a sor, itt sem ússzuk meg azt, hogy belemásszunk a rendszerbe. A…

2016

PHP Docker mögé bújva

Ígértem korábban a Passportos verzióját a REST API-nk authentikációjához és ennek az első lépése az, hogy 5.3-as Laravel kell hozzá, ahol bele is futottam a hibába, miszerint lokálisan csak 5.6.3-as…

Pushbreaker – Az élet CI szerver nélkül

Ha körbenézünk, hogy milyen/mekkora projekteken dolgozunk nap, mint nap (és itt főleg a kisebb projektekre gondolok), akkor számunkra is világos lesz, hogy bizony nem minden projekt érdemli meg azt,…

OAuth 2.0 Apigility módra

Habár legutóbbi cikkemben a Laraveles Passportot ígértem, gondoltam teszek egy próbát az Apigility átlal biztosított OAuth2.0-ás authentikációval is, részben azért, mert a B. Shaffer féle Oauth2…

Hacklang: a PHP jövője?

Aki dolgozott már velem az tudja, hogy szeretem a PHP-t. Rengeteg olyan előnye van, amit más nyelvekben egyáltalán nem lehet megtalálni. Emellett viszont van jónéhány hülyesége is, amitől minden…

Konstruáljunk web API-t – 2. felvonás

Amikor az ember webről beszél, a legtöbb esetben színes weboldalakat képzel el, ezerféle közösségi platform belépéssel, ahol az ember minden mozzanatát lépésen tudják követni különböző módszerekkel,…

Angular Typescript módra – 3. rész

Az előző cikkben összeraktunk egy igen egyszerű statikus adatokat használó listázást. Jelenleg kegyetlenül vacakul fest, no meg a lényeg még nincs benne, a routing, amivel bele tudnánk navigálni az…

Az SQL injectionről egyszerűen

Ha régóta fejlesztesz, ez a téma valószínűleg a könyöködön jön ki. De épp a mai nap kaptam egy fájlt amiben egy egyetemi oktató által írt program volt és igen, 2016-ban volt benne SQL injection…

Learning Functional Programming with JavaScript by Anjana Vakil

\[youtube id="e-5obm1G\FY" width="1100" height="618" autoplay="yes" api\params="" class=""\] Nem jön be az objektum-orientált programozás? JavaScriptben programozol és nincs más választásod? Íme egy…

Angular 2 TypeScript módra – 2. rész

Most, hogy megvan az angularos appunk alapja, nem ártana, hogy építsünk is valami értelmeset belőle. A todoAppokkal immáron Dunát lehetne rekeszteni, ezért most valami más irányba kellene elmenni.…

Az objektum-orientált programozás alapjai

Korábban már beszéltünk a haladó objektum-orientált programozás kérdéseiről, de azt hiszem, nem árt visszatérni az alapokhoz. Ma az objektum-orientált programozást vesézzük ki, egészen az alapoktól…

Megváltoztathatatlan objektumok

Objektum orientált programozásban gyakran használunk objektumokat adatok továbbítására. Ebben a cikkben egy olyan tervzési mintát szeretnék bemutatni, ami elsőre talán nem intuitív, de annál…

Angular 2 TypeScript módra – 1. rész

Az előző cikkben kitértünk arra, hogy mi is az a TypeScript és miért is lehet a hasznunkra <delés, hogy eggyel növelhessük végre a használt tool-ok és supersetek sokaságát, mert ettől JS a JS</del. A…

Nyárvégi nagytakarítás: Weboldal Metaadatok

Ahogy készül a Refaktor szép új motorja, kénytelenek voltunk kicsit foglalkozni azzal, hogy hogyan jelenik meg a közösségi médiában, keresőgépekben. Ahogy az lenni szokott, ahány szolgáltató, annyi…

Biztonságos jelszótárolás

Adott egy alkalmazás, ami felhasználói jelszavakat tárol, jelszóellenőrzés céljából. Igen ám, de mivel a a felhasználók többsége ugyanazt a jelszót használja több szolgáltatáshoz, ez igen kényes…

HypeScript

A múltkori mobilos cikkre megkaptam, hogy inkább az Ionic 2-re vagy React Native-ra kellene fókuszálnom. A dolgot megfogadom, ám ahhoz, hogy az Ionic 2-re rátérhessünk, nem ártana végigjárni az utat…

Cross Platform mobilosodás – 2. rész

Az előző részben kitárgyaltuk hogy is lehet könnyen hibrid mobilalkalmazásokat készíteni, aztán szó esett a RESTful webservicek készítéséről is, amivel aztán ezt ki is tudjuk majd szolgálni. Most…

Tiszta infrastruktúra, 4. rész – Magas rendelkezésre állású rendszer két gépből?

A <acronym title="Hungarian Unix Portal"HUP-on</acronym immáron sokadjára felmerült a kérdés, hogy hogyan lehetne két gépből magas rendelkezésre állású rendszert építeni? Ugorjunk fejest az ilyen…

Konstruáljunk Web API-t!

Amikor a legtöbben meghallják azt a rövidítést, hogy API, rendkívül különféle dolgokra asszociálnak. Van akinek a Java Persistence API jut eszébe, van akinek a Facebook API, míg másoknak valami…

Félreértett programnyelvek: PHP

Talán meglepő egy ilyen cím 21 évvel a nyelv megjelenése után, de érdemes megnézni, hogy a világ harmadik legnagyobb oldalát hajtó technológia hova fejlődött az elmúlt pár évben. Félreértés ne essék:…

Tiszta infrastruktúra, 3. rész — Mit monitorozzak?

Lássuk be: egy nagyobb rendszert monitorozni kihívás. Amíg 4-5 egyszerű weboldalról könnyű megmondani, hogy működik-e, addig egy nagyobb, bonyolultabb infrastruktúra működési ellenőrzése már komoly…

Tiszta infrastruktúra, 2. rész — Bevezetés a rendszerautomatizálásba

Számomra egy gyengén felépített infrastruktúra egyértelmű jele, amikor már egy SSH kulcs kimásolása is problémákba ütközik. Kézzel hegesztett konfigurációk, tarkabarka szerverek, kimaradt biztonsági…

Cross-Platform mobilosodás – 1. rész

Vannak dolgok, amik univerzálisak. Ilyen pl. a nevében is magában rejtő USB, az univerzális soros busz. Viszont nagyon sok esetben azt látjuk, hogy mindenki a saját kis dolgait erőlteti és emiatt…

Utószó a Tiszta kód sorozathoz

A tiszta kód sorozat vége óta rengeteg visszajelzést kaptunk tőletek, és sokan kerestetek meg a különböző projektjeitekkel véleményt kérve. Frameworkök, függőségek A sorozatban többször is…

Law of Demeter – Ne állj szóba idegennel!

Az utolsó design cikkhez értünk, ez a SOLID utáni ráadás. Law of Demeter, más néven a principle of least knowledge egy ajánlás a szoftverfejlesztéshez, azon belül is az objektumorientált nyelvekhez.…

She wants the DI

A SOLID sorozatunk utolsó része következik, ahol a Dependency Inversion Principle, röviden DIP lesz terítéken. Alkalmazásunk felépítését tekintve többszintű hierarchiát képez. Ha megvizsgáljuk az…

Knitting to the Moon! — A holdraszállás számítógépei

\[youtube id="f2ZCVnk-oRU" width="1100" height="618" autoplay="yes" api\params="" class=""\] Hogyan készítettek hordozható számítógépeket a holdraszálláshoz a 60-as években?

ISP – Interface segregation principle

Amikor új applikáció tervezésébe kezdünk, akkor nem árt komolyan fontolóra venni, hogy milyen absztrakciókat is fogunk használni az egyes modulok és submodulok esetén. Ha ezen modulok egyike…

Betonozás 3.0 – Liskov és a haverok

Kódolni pofonegyszerű. Legalábbis a facebook hirdetéseink alapján ma már mindenféle tudás nélkül bármit össze lehet kattintgatni és még lehet külsőre jól is néz ki. Ellenben ha minőségi munkáról van…

Betonozás 2. rész – OCP

Az előző cikkben elkezdtük tárgyalni a SOLID elveket. Az SRP-t ki is végeztük, így jöjjön a SOLID második pillére az OCP, azaz az open-closed principle, ami annyit tesz, hogy "open for extension,…

A szilárd alapok

Sok minden szóbakerült már a blogon, viszont egy igen fontos részt kihagytam, vagy csak érintőlegesen volt szó róla. Nem is biztos, hogy valaha direktben megkérdezik azt valakitől, hogy pontosan mit…

Tiszta infrastruktúra, 1. rész — Ha fáj, csináld gyakrabban!

Ha üzemeltetésről beszélünk, jellemzően van néhány olyan dolog, amitől a rendszer gazdái hihetetlenül félnek. Ez lehet akár az, hogy egy felszentelt gép leállása, vagy a biztonsági mentések…

„Nem kívánatos” alkalmazások üzemeltetése Linuxon

Időnként sajnos elkerülhetetlen, hogy olyan alkalmazásokat üzemeltessünk, amiket legszívesebben bottal sem piszkálnánk meg. Kinek a WordPress, kinek a Joomla, de szeretnénk minél jobban bezárni,…

Adatbázis változások kezelése

A tesztgépen még tökéletes volt, de az éles rendszeren hiányzik az adatbázis fele? Rémálom az élesítés? Beszélgessünk az adatbázis változások kezeléséről! A probléma A problémát szinte mindenki…

A Comment on How We Learn by Aino Vonge Corry

\[youtube id="ozYipg-ox8Y" width="1100" height="618" autoplay="yes" api\params="" class=""\] Hol hibádzik az informatika oktatás? Hogyan legyünk jobb oktatók, hogyan tanuljunk hatékonyabban? Erről…

Programming is terrible — Lessons learned from a life wasted

\[youtube id="csyL9EC0S0c" width="1100" height="618" autoplay="yes" api\params="" class=""\] A programozás borzalmas? Ez a rengeteg humorral és szarkazmussal teli előadás megmutatja, hogy hogyan…

Tiszta kód, 9. rész – Helyezzük üzembe a blogot!

Az előző részben megírtuk egy blog üzleti logikáját, teljesen figyelmen kívül hagyva a tényleges adatbázist vagy böngészőt. Most itt az ideje, hogy üzembe is helyezzük. Ez a cikk erősen épít a…

Tiszta kód, 8. rész – Egy tiszta kód blog kezdetei

Az elmúlt hetekben rengeteget beszéltünk a különböző tiszta kódhoz kapcsolódó koncepciókról, elvekről és tervezési mintákról. Eljött az idő, hogy implementáljuk egy teljes projektet, elejétől a…

Az oktrojátor pattern és az IoC container

Az objektumorientált programnyelvekben értelemszerűen objektumokkal dolgozunk. Apróbb programok esetén, mikor nem használunk erre kitalált keretrendszert, az objektumpéldányaink menedzselése…

Tiszta kód, 7. rész – Mi a fene az a Dependency Injection (Container)?

A S.O.L.I.D. elvek kapcsán beszéltünk arról, hogy nem jó, ha a moduljaink szorosan függenek egymástól. De mégis, hogy a fenébe működik ez a gyakorlatban? Figyelem! A cikk erősen épít a korábbi…

Repository-k a verziókövetésen is túl

Amikor az ember kódolásba kezd, akkor gyakorta törekszik arra, hogy a kódja egyes részeit újra tudja hasznosítani, hogy azok modulárisak legyenek, át tudjuk vinni őket A projektből B projektbe,…

The Future of Programming by Robert C. Martin

\[youtube id="9Xy3QC7yxJw" width="1100" height="618" autoplay="yes" api\params="" class=""\] Mi a programozás, mint szakma, jövője? Robert C. Martin (Uncle Bob) a számítástechnika kezdeti idejétől…

Az ImageTragick biztonsági hiba margójára

Mostanára szinte biztos, hogy olvastad, hogy súlyos biztonsági hibákat találtak a népszerű ImageMagick nevű képfeldolgozó programkönyvtárban. Miután már a csapból is ez folyik, minket inkább az…

Tiszta kód, 6. rész – Beszélnünk kell az MVC-ről…

Beszédünk van. Múltkor azt állítottam, hogy az MVC-t szinte mindenki ismeri a szakmában. Az az igazság, hogy sokan azt hiszik, hogy ismerik. Mielőtt azonban belevágunk, nézzük is meg, hogy mi az az…

Díszítsük fel a wrappert!

A decorator pattern a struktúrális minták közé tartozik, és a célja roppant egyszerű: magába foglal egy másik osztályt és plusz funkcionalitással látja el azt, így az eredeti osztály metódusai…

Tiszta kód, 5. rész – A S.O.L.I.D. alapelvek

Ma a programozás terén szinte mindenki hallott már a Model-View-Controller kódszervezési elvről. Annak ellenére, hogy ez rengeteget segített abban, hogy a kód karbantarthatóbb legyen, a hosszú távú…

Laravelre át

Az elkövetkező pár napban lehetnek az oldalon furcsaságok, mivel végre megszabadulunk a wordpress legtöbb kötöttségétől. Laravelre állt át az oldal, egy korábbi cikk alapján viszon az adminfelület…

Tiszta kód, 4. rész – TDD a gyakorlatban

Itt az idő, most vagy soha: írjunk webáruházat tesztvezérelten! Ebben a cikkben azt nézzük meg, hogy hogyan is működik ez a TDD kérdés a gyakorlatban. Mivel ez a cikk némileg időigényes, előre…

Eureka!

Az elmúlt pár cikkben igyekeztem meglovagolni én is azt a hype-ot, ami a microservice architektúrával kapcsolatos, de eddig eléggé elméleti megközelítése volt a dolgoknak, így gondoltam most kicsit…

Tiszta kód, 2. rész: teszteljünk TDD-vel!

Az előző részben arról értekeztünk, hogy egyáltalán miért érdemes tesztelni. Ebben a részben bele is vágunk a kellős közepébe és megnézzük, hogy hogyan is zajlik egy egységteszt írása. Az…

Facade pattern

Az elmúlt időszakban kissé eltávolodtunk a kódtól, pedig nem csak rendszerszinten lehet tekinteni itt a dolgokra, így most kicsit visszatérünk a hétköznapi kóder életbe, a tervezési minták világába.…

The Transformation Priority Premise by Robert C. Martin

\[youtube id="B93QezwTQpI" width="1100" height="618" autoplay="yes" api\params="" class=""\] Ha már mostanában elkezdtünk a teszteléssel foglalkozni, hogyan működik a tesztvezérelt fejlesztés? Erről…

A microservice hype

Már egy jó ideje a csapból is az folyik (szerencsére már megunták), hogy a microservice architektúra mennyire cool és hogy a monolit alkalmazások fejlesztése buzis. A cikkben arról lesz szó, hogy is…

Tiszta kód, 1. rész: teszteljek vagy ne teszteljek?

Minden program köztudottan tartalmaz legalább egy hibát. Néha kezeljük, néha a szőnyeg alá söpörjük. Hogyan lehet automatizálni a tesztelést? Érdemes egyáltalán vele vesződni? Ez a cikk jelentős…

Agility and Architecture by Robert C. Martin

\[youtube id="0oGpWmS0aYQ" width="1100" height="618" autoplay="yes" api\params="" class=""\] Hogyan fér meg egymás mellett az architekturális tervezés és az agile szemlélet? Van-e lehetőség…

Hogyan működik az Internet, 3. rész: az ICMP, a UDP és a TCP

Az előző cikkeinkben azzal foglalkoztunk, hogy a csomagok hogyan találnak a megfelelő helyre az Interneten. Most végre elérkezett az idő, hogy megnézzük mire is lesz ez jó. Ezúttal három, IP-re épülő…

Refactoring a javából

Elképesztő módon elmaradtam az írásokkal, amire semmilyen (még az ivás se) lehet mentségemre. Ezért most ha tudom, akkor megpróbálom pótolni, de már inkább nem is ígérek semmit, mert eddig nem úgy…

Steal Everything, Kill Everyone, Cause Total Financial Ruin! by Jayson E. Street

\[youtube id="JsVtHqICeKE" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Professional Software Development by Robert C. Martin

\[youtube id="zwtg7lIMUaQ" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Low level debugolás, 2. rész: hálózati eszközök

A sorozat első részében megnéztük, hogy hogyan lehet egy folyamat rendszerhívásait nyomon követni. Sokszor ez azonban körülményes, ha csak a hálózati forgalomra vagyunk kíváncsiak. Ilyenkor jól jön,…

Core Design Principles for Software Developers by Venkat Subramaniam

\[youtube id="llGgO74uXMI" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Hogyan működik az Internet, 2. rész: az Internet Protokoll

A cikksorozatunk előző részében azzal foglalkoztunk, hogy hogyan kommunikálnak az eszközök a helyi hálózatban. Ebben a részben azt nézzük meg hogyan tudunk kitörni a helyi hálózatból, és kijutni a…

115 batshit stupid things you can put on the internet by Dan Tentler

\[youtube id="hMtu7vV\HmY" width="1100" height="618" autoplay="yes" api\params="" class=""\]

5 ok, hogy miért felejtsd el az FTP-t

Az FTP az internet kezdeti napjai óta létezik, és elterjedt módja a fájlok átvitelének. Mindazonáltal, mint megannyi régi protokoll, rengeteg problémával küzd. Sok más protokollal ellentétben sajnos…

Az automatizált rendszer(gazda)

Kilencvenes évek. Valahol egy sötét szobában egy magányos alak ül egy CRT monitor előtt. Egyszer csak nyílik egy ajtó, világosság látszik, és félve lép be egy irodai alkalmazott, halkan megköszörüli…

Don’t Look For Things! by Misko Hevery

\[youtube id="RlfLCWKxHJ0" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Hogyan működik az Internet, 1. rész: az Ethernet

Sokszor a hibakeresésnél fontos lenne, ám nem tudjuk: hogyan is működnek az alapok. Éppen ezért ebben a cikksorozatban az Internetet szedjük szét, kezdve a legalsó szoftveres réteggel: hogyan működik…

How To Design A Good API and Why it Matters

\[youtube id="aAb7hSCtvGw" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Időkezelés a programozásban

Talán nincs még egy olyan téma a fejlesztés terén, ahol annyi hibát és téves értelmezést látok, mint az időkezelésben. Tény, hogy valóban nem egyszerű kérdés, rengeteg mindennel kell foglalkoznunk,…

Low level debugolás, 1. rész: strace

Teljesen mindegy, hogy fejlesztünk vagy üzemeltetünk, időnként előfordul, hogy olyan szoftvert kell életre lehelnünk, amely kódminősége finoman szólva hagy némi kívánni valót maga után. Ilyen esetben…

The Silver Bullet Syndrome by Hadi Hariri

\[youtube id="3wyd6J3yjcs" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Transzparencia a fizetésekben?

Az IT közösségben sokszor felmerül egy-egy álláshirdetés kapcsán az az aggály, hogy a hirdető cég nem adja meg a várható fizetést, vagy fizetési sávot, a munkavállalói fizetéseket pedig szokás üzleti…

Unit Testing by Misko Hevery

\[youtube id="wEhu57pih5w" width="1100" height="618" autoplay="yes" api\params="" class=""\]

Partizánkodás 3 – Tele a puttonyt!

Az előző részben elkezdtük csinálni a saját kis composer package-ünket, ami egyelőre még elég szegényes funkcionalitással bír. Most nem ártana telepakolni azokkal a bizonyos tutiságokkal és ha…

Helyszíni teszt – 2016 Február

Ismét kivetítő elé engednek! Ezúttal az előadás témája : Tesztelés laravel 5 alatt. Akárki akármit mond, a fejlesztők hibáznak. Minél komplexebb egy feladat, annál több apróság csúszhat be. Mindent…

Partizánkodás 2 – Csomagolástechnika

Amikor az ember fejlesztésbe kezd, és eljut arra a pontra, hogy egy kódrészletet átmásol A helyről B-be, akkor a józan ész azt diktálja, hogy bizony ezt lehetne szebben is csinálni. Azt a részt, amit…

Partizánkodjunk a laravel 5-el!

Ismert a mondás, miszerint amit automatizálni lehet, azt automatizálni is kell. Nincs ez máshogy a programozásban sem, sőt itt kellene kiélni mindezt. Bizonyára mindenki szeret kódolni, jó érzés…

Új év, új témakör

A 2015-ös év végén kicsit megnyomtam a Javascript vonalat, ami már igencsak kellett, viszont a szervezetem is megérezte, ugyanis eléggé lebetegedtem tőle. Így a következő napokban (vagy hetekben,…

2015

2015 review

Most, hogy több, mint egy év eltelt az első bejegyzés óta, épp itt az ideje, hogy meginterjuholjalak benneteket: - Jó irányba halad-e az oldal? - A tartalom nem lett unalmas? Ugyanis fő célom az…

Javascript pakk 3 – Kinek kell a JS?

Azt már az előző cikkemben is említettem, hogy bizony frontendesnek lenni nem <delcsak a húszéveseké</del fenékig tejfel. A böngészők, habár okosak, mindent nem tudnak helyettünk, főleg azért, mert a…

Javaspricc pakk 2 – Babel

Az előző cikkemben szó volt az ECMAScript 6 újításairól. Itt kitértem arra is, hogy azért nem szabad rögtön fejest ugrani a dologba, lévén a böngészők támogatottsága elég vegyes. Viszont az előző…

Javascript pakk No. 1 – ECMAScript 6

A frontend fejlesztők élete nem csak játék és mese. Nem elég hogy a javascript prototype object modelje sokakban a hányingerre kisértetiesen emlékeztető érzéseket kelt, mindezt megfejelik aszinkron…

Back (up) me baby one more time!

Akárki akármit mondd, biztonsági mentéseket csinálni fontos. Előző cikkemben átvettünk pár dolgot a mentések mibenlétét illetően és elindultunk a legegyszerűbb módszerektől, amit most folytatnánk az…

Scooter – Back it up

A biztonsági mentés és visszaállítás létfontosságú<del aki azt mondja, hogy nem, az fütyül és/vagy hazudik</del. A legtöbben saját kárukon tanulják meg mindezt, mikor is végleg oda lesz valamennyi…

Backup FTW

Akik rendszeresen látogatják az oldalt, azoknak bizonyára feltűnt ez a kis hétvégi leállás és káosz. Gondok adódtak az adatbázissal, de egy jól szituált backup mindent megoldott, így a következő…

Élőben jelentkezünk a helyszínről!

Aki Budapest belvárosában tartózkodik november 25.-én és nem tud jobb alternatívát találni arra mivel is üsse el az időt este 7-től, annak felajánlanék egy alternatívát: \[box type="shadow" \]…

Laravel 5.0 – Request és Response

Az előző részekben átvettük hogy is épül fel egy átlagos laravel alkalmazás könyvtárstruktúrája, hogy lehet route-okat definiálni, valamint szóba kerültek a controllerek és middleware-ek. Mivel…

Dokkolnám, dokkolnám!

<figure aria-describedby="caption-attachment-782" class="wp-caption aligncenter" id="attachment782" style="width: 515px"<figcaption class="wp-caption-text" id="caption-attachment-782"A konténerek…

Martin papa színrelép – Az adataink

Az bizonyára köztudott, hogy manapság már nem weboldalakat, hanem webalkalmazásokat készítünk, azok mérete és komplexitása miatt. Ezzel a mérettel és komplexitással szinte egyenes arányban egyre…

Eredményhirdetés

Egyéb platformokon megtudakoltam, hogy mi is legyen annak a bizonyos előadásnak a témája és az alábbi eredmények születtek 1. Általános OO programozás (pl. design patternek, stb.) - 19 2. Laravel -…

Strategy pattern, az objektumok lázadása

Minden fejlesztő életében vannak nehéz napok, mikor <deliOS push notificationt akar megvalósítani C-al</del úgy érzi, hogy az általa kreált objektum jónak jó, de mi lenne ha több mindenre lenne jó,…

Command Pattern és a pénzügy/számvitel

Most, hogy a mai napi <delorbitális szívás</del programozási kihívásokon túlestem, ideje megosztani az infót<del valami másról, hogy mások is szívjanak annyit, mint én</del. <figure…

Controller és middleware a két jóbarát

Most, hogy a routingot tisztába tettük, nézzünk egy kicsit bele abba, hogy azokat a route-okat, amiket belőttünk miféle controllerekbe tudjuk belevezetni? Hiszen nem gondolhatjuk komolyan, hogy a…

Martin papa strikes back – Domain Logic 2.

Az előző cikk elég kuszára sikerült, úgyhogy most muszáj lesz kárpótolni benneteket. A folytatás témája a Table Module és a Service Layer lesz, amikkel együtt kellő alapot hoztunk létre, hogy…

Martin papa közbelép – Domain Logic

Sok helyen és cikkben lehet olvasni a Domain, Domain Logic szót, azonban a legtöbb helyen nincs leírva, hogy ez pontosan mi? A Domain Logic írja le azokat a funkcionális algoritmusokat vagy épp…

Gittegylet 4 – Jegyeket, bérleteket

A verziókövetésnek bármelyikről is beszéljünk, van egy bizonyos workflow-ja, amit ha nem is teljesen, de egyes részeit bizonyára megismertük már a használat közben. A Git, más rendszerekhez hasonlóan…

Nyelvtani alapok.. Lara-val..Laravel

Igen, eljutottunk ide is, mainstream keretrendszerekről is írok. Múltkor felmerült a kérdés a Zendes cikkem kapcsán, hogy miért pont Zend? Nos, habár sem magyar, sem világ viszonylatban nem egy…

ZENDülés 1. rész – Skeleton application

Amikor az ember belekezd a webfejlesztésbe és már némileg túllépett a "Hello world!" szinten, akkor ahogy sorra ontja ki magából a webalkalmazásokat, amiket autentikusan nulláról húz fel, akkor előbb…

Termi(ter)ator 2

A mai téma egy roppant egyszerű tervezési minta lesz, amire - ahogy a későbbiekben kiderül - a programnyelveink többségében már példát is találunk. Ha valaha volt már dolgod valamilyen adatbázissal…

Observer pattern és a Robotics Facility

<figure aria-describedby="caption-attachment-537" class="wp-caption aligncenter" id="attachment537" style="width: 724px"<figcaption class="wp-caption-text" id="caption-attachment-537"Protoss observer…

Javascript O(O)P

A webfejlesztésnek, akár akarjuk, akár nem, bizony szerves részét képezi a frontend, így az életutunkbizony keresztezni fogja némi javascript, kivéve, ha dedikáltan backendesek vagyunk. Viszont amit…

Húsvéti különkiadás – AMQP

Mivel vége lett az elmúlt hetek epikus hajtásának, ezért most fogom elkezdeni bepótolni a finomságokat, úgyhogy a napokban visszatér a már megszokott 2-3 poszt/hét tempó. Ha már az egyik korábbi…

A gyárba vissza E! – ServiceLocator

Az alábbi cikk főképp azoknak lehet hasznos, akik: <figure aria-describedby="caption-attachment-526" class="wp-caption aligncenter" id="attachment526" style="width: 640px"<figcaption…

Git 3 – Under the hood

Szedd össze, amid van... Aki ismeri a fenti 30Y számot, annak se lesz világos, hogy miről lesz most szó, úgyhogy ne is foglalkozzunk vele, hanem rántsuk le a leplet a hőn áhított git merge-ről! Az…

Gittegylet 2 – A karosszérialakatos visszavág

Az előző részbenegylet") kitárgyaltunk egy pár parancsot, amik a git alapvető használatához szükségesek (igen, a pull kimaradt, ezt mindjárt orvosoljuk) , ebben a részben kicsit mélyebben belemegyünk…

Vagrant és Rio de Janeiro

A webfejlesztők életének sok-sok fázisa van. Legtöbbünk úgy kezdi, hogy valahol látja/hallja, megtetszik neki, utána tutorialokat olvas, utánajár, majd felpatkol otthon egy AMP stack-et és azon…

Composer – A PHP fejlesztők kedvenc zeneszerzője

Van egy mondás, miszerint az okos/rutinos programozó nem fogja újra és újra feltalálni a kereket, hiszen az teljesen felesleges időpocséklás lenne, hanem leakaszt egy már meglévő library-t a polcról…

Memcached – Serve it or do not serve it, but serve it fast

Amikor az ember rákeres a PHP és cache szavakra, óhatatlan, hogy rábukkanjon az apc/memcache/memcached szócskára (kéretik nem összetéveszteni). Mi most ez utóbbit fogjuk a műtőasztalra emelni, a…

Kincs, ami nincs – 2. rész

Az előző cikkemben volt szó arról, hogy mi is alapjában véve a MongoDb és milyen flexibilitást nyújt, ellenben arra nem tértem ki, hogy is tudjuk ezt fellőni. Aki türelmetlen és nem akar vesződni a…

Anulu élete Pongo-MongoDB szigetén

Aki <dellátta már a Kincs, ami nincs című szuperprodukciót</del találkozott már a MongoDB szócskával, demindeddig halvány gőze se volt arról, hogy ez pontosan mi is és mire való, azt leszámítva, hogy…

Long polling, SSE, Websocket, MMX és más szép szakszavak

A betyárnagy érdeklődésre hallgatok és a mostani témánk az lesz, hogy mi is az a polling, long polling és cikkemben kitérek a kliens-szerver kommunikáció egyéb módjaira és azok megvalósítására.…

De jegyezd meg jól, míg a Föld kerek, mindig lesznek névterek!

Tudom, hogy tartozom még mindenféle cikkel, ezért rangsorolnom kell őket, aszerint, hogy épp mennyire nagy a baj az adott területen vagy épp mennyire sürgető lenne megismerni olyan dolgokat, amik így…

A git (t)egylet

Aki sokat nézegeti a programozói álláshirdetéseket, annak bizonyára ismerős lehet a verziókövető rendszer kifejezés, ami vagy a követelmények vagy az "előnyt jelent" kategóriában, de igen gyakran…

A Proxy Pattern szerepe az ókori rómában

A mai témánk egy igen egyszerű, ám hasznos tervezési minta lesz, mégpedig a proxy. A név sokaknak ismerős lehet, akik próbáltak már céges netről betyárkodni és a dolog nem akart sehogy se összejönni…

Builder Pattern és a 7 hardveres

Mai cikkemben a Builder Pattern kerül terítékre, hogy egy újabbat leleplezzünk a létrehozási minták közül. Mielőtt azonban beleugranánk abba, hogy mit is csinálunk ezen mintában, előtte valamit át…

Kérésre: SessionManager

Az egyik előző cikkemben felmerült a kérdés, hogy mégis hogy néz ki egy ilyen sessionkezelés a gyakorlatban és mivel ez egy hozzászólás keretein belül nem kivitelezhető, úgy gondoltam akkor egy…

It’s a kind of __magic()!

A PHP nyelvben objektumainknak akadnak olyan metódusai, melyeket nem tudunk direkt módon hivatkozással elérni, hanem egy bizonyos működéshez kötődnek. Ezeket a függvényeket mágikus metódusoknak…

Az MD5 árt az egészségnek!

Mázlim volt és ezen a szerveren se volt letiltva az eval függvény (ahogy sok más sem 3:)), így most szabadon garázdálkodhatok rajta. Hozzá is adtam rögtön egy felhasználót magamnak c999-en át Mai…

Cache, avagy a dugikészletek.

Ahhoz, hogy igényesen elmélyüljünk a gyorsítótárazás mikéntjében, első körben tisztáznunk kellene azt, hogy pontosan mit is értünk cache alatt. Gyorsítótárazásnak nevezzük azt az átmeneti információ…

Keresőoptimalizálás másképp – OPcache

Aki valaha elmélyült a keresőoptimalizálásban az tudja, hogy rengeteg buktatója van a dolognak és a kedves Google valamikor úgy döntött, hogy ezt az optimalizálási folyamatot egy újabb tényezővel…

Önvédelmi gyakorlatok – CSRF és Session hijacking

Az előző részben végigvettünk pár támadási formát és az ellenük való védekezés lehetőségét. Ebben a részben a CSRF-el, a cross site request forgery-vel és a session hijackingel fogunk foglalkozni. A…

Tervezési minták – Adapter pattern

Kicsit megtörjük most a sort és a létrehozási minták helyett (amik közül a jómunkásember Builder következne) egy másik csoportból fogunk elővenni egyet, mégpedig a struktúrális minták közül, az…

Prototype Pattern II – A klónok támadása

A prototype pattern olyan esetekben lehet segítségünkre, mikor adott objektumból sok másolatot készítünk és mindeközben a teljesítményt tartjuk szem előtt. A minta a létrehozási minták közé tartozik…

Factory Pattern – A munkának vége, kijössz a…

A tervezési mintákkal foglalkozó sorozatunk második részéhez értünk, ahol az objektumainkat bizony egy gyártósor fogja ontani magából. A factory pattern az egyik leggyakrabban használt minták közé…

Tervezési minták – Singleton és a hét törpe

Elérkeztünk hát a tervezési minták taglalásához, így hát vegyük is át pontosan mit is értünk ez alatt. Az informatikában programtervezési mintáknak (angolul Software Design Patterns) nevezik a…

Önvédelmi gyakorlatok – 1. rész

Aki már helyezett ki kódot éles környezetbe (és volt némi felelősségérzete persze :D) abban bizonyára felmerült többször is, hogy "vajon mindent megtettem a szerverem biztonsága érdekében?". Nos a…

OOP’s I DI’d it again!, avagy dependency injection praktikák

Mielőtt bármibe is belekezdenénk, először is tisztáznunk kell mi is az a dependency injection ( függőség injektálás, magyarul elég morbidul hangzik). Az objektumorientált programozásban az…

PHP OOP – Absztrakt osztályok és interfészek

Az előző OOP részben átvettük hogyan is kell osztályokat definiálni, példányosítani, valamint az access modifier kulcsszavakat. Mostani részünkben az absztrakt osztályokat és interfészeket vesszük…

Szabjuk át a szerverünket – 1. rész

Ha az ember webfejlesztéssel foglalkozik, óhatatlan, hogy előbb-utóbb elcsábuljon, netán rendszergizda híján rákényszerüljön, hogy a szerverüzemeltetésbe belekóstoljon. Itt most csak és kizárólag…

We want you!

Ha úgy érzed, hogy akadnak olyan témák a programozás területén, amikhez értesz és a tudásodat - netán a problémákat, amikkel szembesültél a megoldás során -, meg akarod osztani másokkal, akkor írj…

PHP Model-View-Controller

Annyira divatos kifejezés az MVC manapság, ellenben amikor valaki megpróbálja elmagyarázni, akkor eszembe jut, hogy ezt talán lehetne másképp is értelmezni. Az MVC a címben is szereplő hármast, a…

PHP OOP – mielőtt bármibe kezdenénk

Rövidke PHP-s fórumokon lebzselő pályafutásom alatt a legtöbb kérdés az objektum-orientált programozás témaköréből került ki és, habár száznál is több oldalt lehet találni az interneten, talán ez a…

Unit test meg amit akartok

A szoftverek tesztelésének több fajtája van, amik közül néhányról azok is hallhattak már, akik igazából nem foglalkoznak fejlesztéssel ( Ilyen például a béta-tesztelés). Ellenben van egy tesztelési…

2014