béta

Receptek, amiket senki sem kért, mégis mindenki megörökölt.

Üdv a konyhánkban, ahol a kód sose romlik meg — csak megsavanyodik.

Fűszerezve technikai adóssággal, tálalva pénteken 17:00-kor.ÚJ!

🍲

Öreg Szerver Gulyás

„Ha Működik, Ne Nyúlj Hozzá" Style

★★★★★
6 éve főAdag: az egész cégNehézség: ne nyúlj hozzá

Hozzávalók

  • 1 fizikai szerver egy irodai szekrény alján, aminek a ventilátora már 6 éve zúg megállás nélkül
  • PHP 5.6, mert „a migráció túl kockázatos lenne"
  • Egy csomó cron job, amit senki sem ír le, csak azt tudni, hogy ha leállnak, vége a világnak
  • FTP hozzáférés, jelszó: admin123, változatlanul 2011 óta
  • 1 fejlesztő, aki egyedül érti az egészet, és épp nyugdíjba megy jövő hónapban

Elkészítés

  1. Ne frissíts semmit. Soha. A frissítés az ellenség.
  2. Ha a szerver full lehal, kapcsold ki, majd vissza – ez 87%-ban működik.
  3. Backup? Minek, hisz „eddig sose volt gond".
  4. Amikor a kulcsfejlesztő elmegy, add át a tudást egy 3 oldalas Word dokumentumban, amit soha senki nem fog elolvasni.
Tálalás módja: Rettegéssel, minden pénteken, amikor valaki azt mondja: „csak egy gyors deployt csinálok még a hétvége előtt."
Teljes recept »
🍮

var_dump(); die(); Debug Desszert

avagy a Fejlesztő Utolsó Vacsorája

★★★★
Idő: egész hétvégeAllergén: var_dumpNehézség: pénteki

Hozzávalók

  • 47 var_dump() hívás, szétszórva a kódban, mint a morzsák Jancsi és Juliska meséjében
  • 1 elfelejtett die();, ami miatt a teljes checkout egy üres fehér oldalon landol production-ben
  • Xdebug, amit soha senki nem állított be rendesen, úgyhogy inkább print-eljük ki az egészet
  • Pánik, frissen őrölve, közvetlenül a „MIÉRT NEM MŰKÖDIK" pillanat előtt

Elkészítés

  1. Debugoláshoz szórd szét a var_dump()-okat mindenhova, ötletszerűen.
  2. Találd meg a hibát, javítsd ki.
  3. Felejts el kitörölni EGYETLEN var_dump(); die();-t egy mélyen beágyazott függvényből.
  4. Deployold pénteken este.
  5. Told magad hétvégén, amikor az ügyfél ír, hogy „az oldal üres, csak egy szám van rajta: array(3) { ... }".
Séf megjegyzése: Ez az étel garantáltan tökéletes minden alkalommal – legalábbis addig, amíg valaki élesben nem próbálja meg.
Teljes recept »
🍝

PHP Spagetti Kód alla Legacy

egy fájl, ezer könny

★★★★★
500 sor / 1 fájl12 egymásba ágyazott ifNehézség: olvashatatlan

Hozzávalók

  • 500 sornyi kód egyetlen fájlban, mert a mappák túl bonyolultak
  • 12 egymásba ágyazott if, mindegyik más indentálással
  • 1 nagy adag include és require, random sorrendben
  • Só és bors helyett @ operátor mindenhova, hogy a hibák csendben maradjanak

Elkészítés

  1. Mindent egy tálba öntünk, jól összekeverjük.
  2. Reménykedve tálaljuk, hogy senki nem akarja majd módosítani.
  3. Ha valaki mégis hozzányúl, az egész szétesik – ez a titkos fűszer.
A séf titka: A refaktorálás olyan, mint a Jenga: húzz ki egy sort, és imádkozz.
Teljes recept »
🥩

PHP Szték alla Deprecated

2003-as hőmérsékleten, well done

★★★★★
Hőfok: 2003error_reporting(0)Nehézség: garantált SQL injection

Hozzávalók

  • 1 db <?php tag – a becsületére legyen mondva, ez az egyetlen konzisztens dolog a nyelvben
  • 3 marék globális változó, mert a scope az gyengéknek való
  • 1 csomag == és ===, hogy sose tudd biztosan, mi történik ("0" == false? Persze, miért ne)
  • Egy csipet mysql_query() – 2015 óta deprecated, de a nagyi receptje ez
  • Rendesen kevert array_map, array_filter, array_walk – mindegyik más sorrendben veszi az argumentumokat
  • 1 üveg Composer dependency hell, jól felrázva
  • Egy csepp NULL, ami valójában "", ami valójában 0, ami valójában igaz is meg hamis is

Elkészítés

  1. A szervert felmelegítjük 2003-as hőmérsékletre – a PHP ott érzi otthon magát.
  2. Beleírjuk a kódot, lehetőleg HTML-lel összekeverve, mint egy jó gulyáslevesbe.
  3. Hozzáadjuk az error_reporting(0)-t, hogy ne lássuk, mennyire ég a konyha.
  4. Lassú tűzön pároljuk, amíg elő nem jön egy Warning: Undefined variable – ez a jel, hogy jól halad.
  5. var_dump()-oljuk időnként, csak hogy szenvedjünk egy kicsit együtt vele.
  6. Frissen tálaljuk, mielőtt rájövünk, hogy a $id útközben string-ből int-té, majd vissza stringgé változott.
Tálalás: Egy oldalán JavaScript, másikon SQL injection lehetőség – így hagyományos. Garnírungnak egy csipet „de a Facebook is PHP-t használ, szóval nem is lehet olyan rossz" önigazolás.
Teljes recept »
🍛

Az Örök $_GET['id'] Ragu

avagy „Bízzunk a Felhasználóban" különlegesség

★★★★★
Fűszer: OR 1=1Prepared statement: 0Nehézség: DROP TABLE users

Hozzávalók

  • 1 nagy adag nyers, szűretlen felhasználói input, közvetlenül az URL-ből kanalazva
  • 1 SQL lekérdezés, amibe simán belefűzzük a fenti inputot, mert a prepared statement az drága étterem
  • Egy csipet htmlspecialchars() – de csak elvétve, ünnepnapokon
  • 3 evőkanál naiv bizalom, hogy „úgyse fog senki '; DROP TABLE users;---t írni oda"
  • Egy teáskanál pánik, amit majd 2 év múlva adunk hozzá, amikor kiderül, hogy valaki mégis megtette

Elkészítés

  1. Az inputot egyenesen a lábosba öntjük, keverés vagy tisztítás nélkül – a nyers íz a lényeg.
  2. Az SQL lekérdezést string-összefűzéssel készítjük, mert a ? placeholder túl sok gépelés.
  3. Lassú tűzön főzzük, amíg valaki rá nem jön, hogy az admin jelszavát meg lehet nézni egy OR 1=1-gyel.
  4. Tálalás előtt imádkozunk, hogy a pentester ne vegye észre – vagy ha igen, legalább kedvesen írja meg a jelentésben.
Séf megjegyzése: Ez az étel azoknak való, akik szeretik az izgalmat és a hajnali 3-as „PROD ADATBÁZIS ÜRES" telefonhívásokat.
Teljes recept »
🍜

Régi PHP Leves

7-es verzió, de valójában még 5.6 szagú

★★★★
10 év érlelésJelszó: plaintextNehézség: ha leáll, nem indul újra

Hozzávalók

  • 1 szerver, amit „majd frissítünk, csak most nem érünk rá"
  • mysql_* függvények, mert az mysqli már túl modern
  • 1 csipet register_globals, ha épp valaki nagyon nosztalgiázik
  • Jelszavak, sima szövegben tárolva, mert „úgyse néz bele senki"

Elkészítés

  1. Hagyd állni 10 évig egy sarokban futó szerveren.
  2. Ne érj hozzá, mert ha egyszer leáll, soha többé nem indul újra.
  3. Tálald félelemmel és imádsággal.
A séf tanácsa: A legjobb leves az, amit sosem kavarsz meg. És sosem nézel bele. És a létezéséről is elfeledkezel.
Teljes recept »
🎂

WordPress Torta

47 réteg tiszta technikai adósság

★★★★★
47 plugin8 mp betöltésNehézség: 3 plugin ütközik

Hozzávalók

  • 1 alap PHP tészta
  • 47 plugin, ebből 30 már nem frissült 2019 óta
  • 1 sablon, amit „valaki egyszer testreszabott", senki sem tudja hogyan
  • Bőséges wp_options tábla, ami folyamatosan dagad

Elkészítés

  1. Rétegezzük egymásra a pluginokat, amíg az oldal betöltési ideje el nem éri a 8 másodpercet.
  2. Tálalás előtt győződj meg róla, hogy legalább 3 plugin ütközik egymással – ez adja az igazi „miért nem működik" élményt.
A cukrász jegyzete: Ha a torta összedől, az nem a te hibád. Az egy plugin update volt.
Teljes recept »
🥪

isset() vs empty() vs is_null() Szendvics

Klasszikus Zavarodottság, három feltétben

★★★★★
Eredmény: mindig másDokumentáció: 0Nehézség: vibe-alapú

Hozzávalók

  • 1 szelet változó, aminek az értéke lehet null, "", 0, false, vagy egyszerűen nem is létezik
  • 3 különböző ellenőrző függvény, mindegyiket más fejlesztő preferálja
  • Egy nagy adag vita a code review-ban arról, hogy melyik „a helyes"
  • Semmi dokumentáció, csak vibe-ok

Elkészítés

  1. Az első fejlesztő isset()-et használ, mert „ez a standard".
  2. A második empty()-t, mert „ez lefedi az összes esetet is".
  3. A harmadik === null-t ír, mert „explicit jobb, mint implicit", majd csodálkozik, hogy a kód mindenhol hibát dob.
  4. A negyedik egyszerűen @-ot rak elé, és hazamegy.
Tálalás: Mindenki más eredményt kap ugyanarra a bemenetre. Ez nem hiba, ez feature – a PHP demokratikus nyelv, mindenkinek igaza lehet egyszerre.
Teljes recept »