A 2011. szeptember havi bejegyzésekhez jó szórakozást kíván Marty McFly!


JIRA munkafolyamat-kezelés

Múltkor bejelentkezve maradtam a JIRA-ban, alvó módba tettem a vasat, aztán másnap mikor kinyitottam, akartam valami kommentet, de közben ugye elévült a munkafolyamat. A legtöbb rendszer ezt nem tudja kezelni, max jelzi, hogy elveszik a dolog, amit írsz (a blogon például van ilyen funkció az adminfelületen). Egy lehetséges szép megodlás:

JIRA session

A kommentet ugyan nem küldi el, de nem a bejelentkezés ablakra dob, hanem egyszerűen kiírja, hogy mit akartál csinálni és hol. Közben ha bejelentkezel, egy gombnyomásra újra elküldi. Az extra finomság, hogy a CSRF hiányában sem hal meg, egyszerűen feldob egy captchát, és ismét dolgozhatunk tovább.

Király megoldás, gördülékenyen lehet dolgozni vele. A WordPress automatikus mentés szolgáltatása sem rossz, de azzal párszor szívtam már meg hasonló esetben.


iTunes Music Store

Sose, értsd, sose nyissátok meg a levelezőt tizenegy után néhány perccel, nyugodt lelkiállapotban, mert akkor tuti biztos, hogy lesz benne valami, ami felbosszanthatja az embert.

iTunes Music Store

No de, egy vidám dolog: tegnap este elindítottam az iTunest, nem volt elérhető a Store, aztán néhány másodperccel később beng, megjelent a Music gomb. Volt már ilyen anno, aztán el is tűnt. Most nem erről volt szó: el sem hiszitek, de 2011-ben lehetőségünk nyílik belekóstolni az USA-ban már 2003-ban elindult szolgáltatásba. Egyre több zene van, sajnos dollár-euró közvetlen váltás van (1 dollár = 1 euró), de így is viszonylag jó áron lehet hozzájutni rengeteg zenéhez. Szerencsére tucatnyi magyar is megtalálható; amik nekem bejönnek, azok közül majdnem mind, bár furcsa, hogy a külföldi előadók olcsóbbak. (Jobban belegondolva nem az.)

Az irodából rálátni az artisjus irodájára, remélem egy fillért sem kapnak ebből, és hamarosan eladják a gyönyörű nagy irodaházukat valami hasznosabb feladatot ellátó szervezetnek.


Tárhelyváltás

Oké, akkor most megosztok veletek egy tanulságos történetet, ami részben az üzemeltetők, részben a fejlesztők részben pedig a megrendelők nem mindig megfelelő döntéseiknek köszönhetően plusz több órányi munkát okozott.

Adott a szitu: egy félig-meddig rosszul meghozott döntés miatt tárhelyet kell változtatni. Szerencsére nem a teljes tárhelyszolgáltatót, pusztán a tárhelyszolgáltatón belül egy fizikailag másik helyre, új felhasználó alá kell költözni. Ezzel nincs is gond, a szolgáltató párezer forintért elvégzi a műveletet.

Ideális világban (ahol már alapból a váltás sem lenne szükséges, hangsúlyozom, rossz döntések): üzemeltető beír három sort, esetleg négyet a terminálba, gyakorlatilag másol-beilleszt szinten odébb mozgatja a dolgokat, éjszaka átírjuk a doménekre és egyebekre vonatkozó beállításokat, reggelre már az új helyen van a szoftver, változatlanul, leállás nélkül.

Sajnos nem így történt.

Adott az első probléma: FUNCTION és VIEW használata a MySQL-ben. Sajnos, a MySQL-nél érezni a határokat, ha programozni akarunk. Nem egy Oracle a cucc, de még csak nem is egy PostgreSQL; egyszerűen vannak dolgok amik nem a legjobbak. De persze lehet, hogy ez nem is a MySQL baja, egyszerűen a PHPMyAdminé. FUNCTION-ök, de főként VIEW-ok exportálása lehetetlen. Ha valaki rájött hogyan kell, dobja az okosságot. Az alap szcenárió az, hogy a VIEW-ból egyszerűen egy üres tábla lesz. A leírótáblákból még ki lehet nagyjából olvasni a forráskódját, de ha ezt megpróbáljuk lefuttatni, tuti lesz benne valami elcsúszás, amire hibát dob.

Első jótanács: a VIEW-ok és egyebek forráskódja mindig legyen meg, hogy csak egy mozdulat legyen újra létrehozni.

Aztán folytatódik a történet, tesztelném a szoftvert, bejelentkezek, nem történik semmi. A bejelentkezes.phpfájl egyszerűen visszaugrik saját magára, és még a hibás adatok üzenet sem jelenik meg. Gyorsan belenézünk az éles fájlba, var_dump(); és társai. Persze az ember rögtön tippel pár dologra (én arra tippeltem, hogy nem írták át az adatbázis-elérést, ez lehet a gond, de ez annyira triviális, hogy nem is néztem): fájlok betöltése, .htaccess, jogosultságok stb. A fájl egészen egyszerűen eldobta a $_POST tartalmát. Mi lehet a baj? További nyomozás után látom, hogy a beallitasok.php a ludas. Létrehozok egy teszt.php fájlt, behívom benne a beállításokat, minden hibajelzés bekapcsolva. Megnyitom, hopp, átugrik a bejelentkezésre. Mi lehet a baj?

Kellett hozzá kis idő, de kibogoztam: van egy modul, ami ügyesen ha hiba van, és éles környezetben működünk, egy szomorú szmájlit mutat a júzernek, közben naplózza a létező összes környezeti változót, és ürít minden szuperglobált. A bejelentkezésre azért irányítódunk át, mert ha nem vagyunk bejelentkezve, semmilyen modul nem elérhető, egyszerűen zongorázunk a bejelentkezéshez. Ami azonban a hiba miatt nem működőképes.

A hibát mondanom sem kell, az okozta, hogy az adatbázis-elérés nem volt átírva, egyszerűen nem sikerült csatlakozni a szerverhez, és hopp, máris nem működik az oldal. Persze, arra kínosan ügyelek, hogy a júzer ne kapjon ötméteres hibaüzenetet, ez a része rendben volt.

Mely elemek voltak rosszak, hibásak, gyengék?

  • A megrendelő nem egyeztetett informatikussal, így szükséges volt a tárhelyváltoztatás;
  • elrontottam a tervezést, és egy soha nem futunk bele hibába futottam bele;
  • az üzemeltető nem ismerte a kódot, így nem tudta, hol és mit kell átírnia.

Hogyan lehet ezeken javítani?

  • Mint megrendelő, minden a szoftverrel akár minimálisan is kapcsolatos témát azonnal egyeztetünk a szoftverért felelős informatikussal. Mindent, mindig.
  • Ennél sokkal jobban átgondolni. Megtervezni, lerajzolni, lefuttatni gondolatban, tesztelni, akármi. Mindent, mindig.
  • Lehetőleg avassunk be mindenkit, aki fontos lehet a kód működésébe. Dokumentáljunk, még ha regényt is kell írni, hogyan működik a folyamat, mi jön miből. (Ha egy olyan fejlesztőnek kellett volna belenyúlnia, aki nem ismeri a működést, ötször ennyi időbe telt volna megtalálnia a problémát.) Mindent, mindig.

Egyszóval figyeljünk oda, dolgozzunk egymással és egymásnak, legyünk igényesek magunkkal szemben, és ami a legfontosabb: ha elrontunk valamit, akkor merjük leírni és azt mondani, hogy én voltam a hülye, legközelebb erre kell odafigyelnem. Senki sem tökéletes, mindenki vét hibákat. A jó munkaerőt nem a hibátlan munkavégzés, hanem az arra való törekvés, és a saját hibáinak felismerése, azokból való okulása jellemzi.

Zuhanyfüggöny.


Animgifek

Belegondoltatok már abba, hogy 2011-ben, amikor már a HD képminőség is elavultnak számít, és lassan 3D-s tévé lesz minden háztartásban, meg ki tudja milyen újítások jönnek a későbbiek során, szóval ebben az erában a legtöbbet a weben animált képekkel találkozik az ember. Harminc-negyven képkocka, sokszor pocsék minőség, mégis, percekig tudjuk bámulni ezeket a képkockákat.

Hogy értsétek, mire gondolok:

egy száj nyílik-csukódik

Mókás.


Philips Fidelio DS1100

Ma az iJoe üzlet és maga iJoe, illetve netman urak segítségének köszönhetően az alábbi kütyüt sikerült beköltöztetni a hálószobába:

Philips Fidelio DS1100

Netman úr maga a JBL és hasonló minőségi termékek rajongója, kicsit ódzkodva fogadta a készüléket, főként a hangminőségre vonatkozóan, azonban neki is be kellett látnia, hogy ez a készülék bizony jól szól, a rajta lévő éjszakai világítás és óra, valamint a kellemes megjelenés pedig kifejezetten kívánatossá teszi. A dokkoló kialakításának köszönhetően nem szükséges kivenni a készülékeket a tokból, azzal is megeszi. Enyhe cöh kíséretében netman úr akkor jelezte, hogy még a végén ő is vásárol egy példányt, amikor az iPhone csatlakoztatásakor az eszköz azonnal beállította a saját óráját.

Urak és hölgyek: ez egy jó vétel a hálószobába! Akár a nappaliba is! De lehet, hogy a fürdőszobában is megállná a helyét!