Biztos a májusi hőségnek
tudható be, hogy picit “bugosra” sikeredett az utolsó
szám (ezennel kérek elnézést Halász Gábor tisztelt kollégánktól,
hogy nevét három betűre lerövidítve kiadtam kezemből, és ez a
szarvashiba még az utolsó rostán se akadt fent). Az egész május
egyébként ilyen volt. Bugot bugra halmoztunk, nemcsak a cég keretein
belül, hanem úgy általában. Nekiálltam, hogy kibővítem a böngésző
programot, egy pár új feature-t adok hozzá, aztán a vége az lett,
hogy még a régi feature-ök se működtek jól. Nemhogy jól…
egyáltalán nem. Szerencsére volt (és mindig van) egy biztonsági
másolat.
A programozók világában
megszokott dolog a bug. Eredete egy molylepkére vezethető vissza,
mely befészkelte magát egy egyetem számítógépébe (még az ötvenes
években), aztán emiatt elfüstölt pár alkatrész. Ne felejtsük el,
hogy akkoriban a mikroszámítógép még tenyérnyi makroalkatrészekkel
volt szerelve, emiatt volt lehetséges a befészkelés. Aztán a lelkes
technikus megtalálta a molylepkét családostól, és miután a szerencsétlen
bogárcsaládot kitelepítették, valahogy megragadt az informatikában,
hogy “bugos” a számítógép. Bogaras.
A szoftverfejlesztésbe
általába nincs betervezve a hibajavítás, értsd ezalatt a debugolást
(bogártalanítás), ezért a programozók mindig azt hiszik, hogy
hibamentes kódot írnak (vagyis azt kellene írniuk). A terméket
kiadják, a felhasználó talál benne 123 hibát. A terméket kivonják
forgalomból, a programozógárda odaül a forráskód mellé, és kijavítja
a 123 hibát. A hibajavítás következtében 456 új hiba kerül a programba,
de mindezt nem veszik észre addig, amíg a végfelhasználók fel
nem fedezik. Az “alulfizetett” projekt menedzser beadja
a felmondását, majd elutazik Tahitira. Most már senki sem tudja,
hogy mit és hol talál a projektben. A programozógárda kap Tahitiról
egy képeslapot, a volt projekt menedzsertől. Egy emberként beadják
a felmondást. A cég vezetősége leszerződtet egy új programozógárdát,
akik hosszas tanakodás után úgy döntenek, hogy a költségek szempontjából
inkább kifizetődő újraírni a terméket, mint kijavítani a meglévő
bugokat. Az új programozógárda újraírja a terméket, és azt hiszi,
hibamentes programot adott ki...
Ez egy ilyen végtelen
ciklus, mint az önnön farkába harapó kígyó, a programozó kiadja
kódot, és nem is gondol olyan lehetőségekre, hogy a felhasználó
betükkel fogja beírni az életkorát, hiszen ő bízik abban, hogy
a világ úgy gondolkodik, ahogyan ő maga. Logikusan, szigorú algoritmusok
szerint vezérelve. Nem, a hibalehetőségre mindig gondolni kell,
a leglehetetlenebb helyeken, a legvalószínűtlenebb idő- és programpontokban.
Ősi tanácsot adok most: könnyebb a hibát megelőzni, mint kijavítani.
Hiszen a megelőzés még nem kerül pénzbe, illetve nem is presztízskérdés.
Máshogy néznek ránk az üzlettársak, amikor “hibamentes”
terméket adunk kezükbe, mint később, amikor átadjuk a programunk
első patch-elt változatát. Próbáljuk elkerülni a nagy hibákat.
Geiger Tamás – Delphi és WinAPI kapcsolat 5. rész
Szerzőnk immár alapírónak számít a CodeX gárdájában,
ugyanis az övé az egyik legrégibb sorozat, amelynek témája a Delphi
és a Win32API kapcsolatát boncolgatja. Most értünk el ahhoz a
részhez, amelyben az Application Desktop Toolbar–ok létrehozásához
szükséges Delphi ismeretek kerülnek bemutatásra.
Markó Imre - Az adatok szűrésének lehetőségei
Az adattáblák rekordjait nagyon sok esetben megadott
szempont szerint kell kiválogatni. Sok esetben nem csupán egy
rekordra van szükségünk, hanem bizonyos feltételeknek megfelelő
sorokra. Lássuk, hogyan alakulnak a feltételekhez kötött lekérések
...
Farkas Szilárd – Letöltésprogramozás
Idézek a szerzőtől: „A programkészítés
során sokszor előfordul, hogy egy állományt – dokumentumot,
program frissítést, stb. – kell letölteni az internetről.
Az alábbiakban ismertetett eljárással mindezt könnyen és gyorsan
megoldhatjuk.” És valóban, röviden, velősen, lényegretörő·en
bemutatásra kerül az eljárás, ne feledkezzünk el a programról
se, ott van a CD-n, tessék szépen megkeresni.
Hangya László Tamás – UDP Delphivel 2. rész
A Delphis Chat program lassan,
de biztosan halad a kiteljesedés fele. Most a protokoll kerül
bemutatásra, vagyis hogy a program miként fog kommunikálni egy
másik programmal... vagyis magával, de mégse... mindegy, a cikkben
ott van leírva pontosan.
Csubák Péter – Webböngésző készítése – 3. rész
A Webböngésző multifunkcionalitásának érdekében
beépítésre kerül egy webpage szerkesztő is, ennek a bemutatása
lesz a téma ebben a részben.
Halász Gábor – Objektumorientált programozás C++ ban 2.
rész
A cikk a múlt havi számban XYZ névvel fémjelzett
cikk folytatása. És ha már úgyis benne vagyok a bocsánatkérési
akció kellős közepében, hát akkor elnézést kérek Halász Gábortól,
hogy a múlt havi tartalomban drasztikusan lerövidítettem a nevét,
elnézést kérek a félrevezetésért a tisztelt olvasóktól, de a bemondásom
azért nem nyújtom fel... vagy a felmondásom be? Már azt se tudom,
hol a fejem.
Merczel László – OpenGL.HU 4. rész
Maniac sikeres OpenGL (legalábbis az én szűk
körömbe nagyon sikeres) sorozata elérkezett a negyedik részéhez.
Animálunk, mozgatunk, és ne feledjük a glut32.dll meglétét ellenőrizni
mielőtt elindítjuk a programot.
Viczián István - Jakarta Lucene keresőmotor
Ez a cikk azon gyakorlott Java programozóknak
szól, akiknek szükségük van teljes szövegben való keresési lehetőségre,
akár különálló programban, akár egy teljes webes alkalmazásban.
A Lucene egy nagyteljesítményű, minden alkalmazási területet lefedő
Java nyelven implementált keresőmotor, mely 2001-ben csatlakozott
a Jakarta projekthez, ezért szabad forrású, ingyenesen használható.
Bálint Aliz – CGI
Mit futtassunk, hogyan, mivel - a CGI tapasztalatai
egy olvasmányos cikk kereteibe ágyazva.
Horváth Richárd – Bevezetés a mesterséges intelligenciába
1. rész
A cikk egy érdekes kísérlet arra, hogy figyelmünket
az algoritmusok megtervezésére, a gépi gondolkodásra irányítsa,
mielőtt belemerülünk a mindennapi kódolási feladatokba, ahol pointerekkel
bűvészkedünk, biteket állítgatunk és memóriacímeket keresgélünk
a 4 giga teljes terjedelmében.
Kis Norbert – A rendszergazda újabb kalandjai
A RAID eszközök ennyire megbízhatatlanok lennének?
Olvassuk el a cikket, és okuljunk belőle.
Pammer Pál – pEdit 4.0 fejlesztői szövegszerkesztő
A PCW-ben megjelent a pEdit fejlesztői szövegszerkesztő
egy rövid leírása. Most, magának a programnak a programozói oldalát
szeretné a szerző ismertetni, pontosabban azt, hogy mi is rejlik
a „felszín” alatt.
Pammer Pál – pBase 3.5 adatbázis-kezelő program
A pEdit fejlesztői szövegszerkesztő programozója, készített egy
pBase adatbázis-kezelő programot is (dBase állományok részére).
Szűcs Tamás – Alap algoritmusok 3. rész
Egyre bonyolultabb :-) algoritmusok kerülnek
bemutatásra. A bonyolultság ugyan csak részben igaz, de a hasznosság
annál inkább. Kezdő (és nem csak középkezdő) programozóknak nagyon
ajánljuk, hisz egyszerűen bemutatva, sok mellébeszélés nélkül
itt van amit keresnek: Az ALGORITMUS. Már csak le kell programozni...
Szelei Tamás – C kezdőknek 3. rész
A C kezdőknek szóló cikksorozat harmadik
része az elágazásokat (szelekciókat) mutatja be. Rutinosabbak
számára: if és társai...
Németh Róbert – Programozzunk Assemblyben
Szerzőnk NAGY fába vágta a fej(sz)ét. Assembly
programozás cikket írt a CodeX olvasóinak. Reméljük a CodeX olvasói
ugyanolyan érdeklődéssel fogják várni a következő részt is, amilyen
érdeklődéssel olvassák ezt.
Magyar Attila – Hogyan írjunk saját BootManagert 2. rész
Beismerem, ezt a cikket vártam a legjobban a
múlt hónap óta. A feszültséget fokozására azonban a cikk csak
az utolsó pillanatok előtt pár perccel került leadásra. Aztán
rávetettem magam - a cikkre, ;-) - és amíg végig nem nyálaztam
(kétszer), nem nyughattam. Majd kipróbáltam és láss csodát, ment!
Kis Norbert – Vezérlés az LPT porton 5. rész
Másik törzs sorozatunk az LPT port programozása.
Gazdagon meghintve a szerző fotóival, részletes bemutatása a témának.
Kiszely Gábor – Adatbázisok 3. rész
Nagyon fontos és hasznos cikksorozat azoknak,
akik az adatbázisokkal szándékoznak foglalkozni. Ez a rész bemutatja
a normál formákat, illetve hogy miként lehet ezeket előállítani,
mit jelentenek, satöbbi....
Karsai Balázs – Asp kezdőknek 4. rész
A technikai hiba miatt múlt számunkból kimaradt
cikksorozat aktuális része a sütik illetve menetek bemutatását
tűzte ki céljául. Elnézést kérünk minden olvasónktól, akiknek
bármi kellemetlenséget okoztunk a cikk kimaradással.
Markó Imre – Táblaműveletek
Az SQL cikksorozatunk 3. számában betekintést
nyerhetünk az egyes táblaműveletek elvégzésének rejtelmeibe.
Finta Annamária – A JDBC használata 3. rész
A JDBC használatát részletesen bemutató sorozat
elért immár a harmadik (és egyben befejező) részéhez... Hogy mit
hoz a jövő? Titok.