Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
PRZEDMOWA
jesttooczywiścieproblemsamwsobie,przykładtenilustruje,jakdługajestlistazależności
naszychaplikacjiodelementówśrodowiskawykonawczego,zktórychistnieniamożemy
nawetniezdawaćsobiesprawy.
Mimożezrozumieniewewnętrznychmechanizmówzwiązanychzoprogramowaniem
zcałąpewnościąprzydajesięwpracyprogramisty,muszęprzyznać,żegłównąmotywa-
cjąwielubadań,którewspólniezautoremtejksiążkiprzeprowadziliśmypodczasnaszej
11-letniejznajomości,byłazwyczajnaciekawośćirozrywka.Zagłębianiesięwcoraztoniż-
szepartieśrodowiskawykonaniaaplikacjiiskryptów,systemówoperacyjnychczywkońcu
samegoprocesorazczasemstałosięswegorodzajuuzależnieniempozwalającymnaza-
spokojeniegłoduwiedzy.Szczególniemiłowspominamwczesnelatategozauroczenia,gdy
nierzadkowaktywnejjeszczesieciIRCwystarczyło,byktośrzuciłhasło:hZróbmykonkurs
nanajmniejszykompilatorezoterycznegojęzykaBrainfuck!”,ijużgrupaludzirozmyślała
przeztydzieńnadekstremalnymioptymalizacjamiwasemblerze.Wkrótcepotemzami-
łowaniedoniskopoziomowychaspektówinformatykiiinżynieriiwstecznejwnaturalny
sposóbskierowałaGynvaelaimnienatorbezpieczeństwaoprogramowania.Dalszepra-
cepozwoliłynaodebranieprestiżowychnagródPwnieAward(wtymwspólnejw2013r.
wkategoriihNajbardziejInnowacyjneBadaniaNaukowe”),astworzeniepolskiejdruży-
nyDragonSectornakonkurowanieznajlepszymizespołamiSecurityCTFnaświecieoraz
zajęciepierwszegomiejscawglobalnymrankinguCTFtime.orgwroku2014.
Książka,którątrzymaszwręku,jestwynikiempasji,dociekliwościiwyjątkowegoza-
cięciadydaktycznegoautora,któredotychczasujawniałosięwrozmaitychformachod
licznych,długichnakilkastronekranowychpostównaforachpowiązanychzprogramo-
waniemibezpieczeństwem,poprzezinicjatywęIRCowychwykładów(wyklady.net),po-
stynaprywatnymblogu,wystąpienianakonferencjachispotkaniachbranżowych,po
technicznepodcastypublikowanewserwisieYouTube.Dziełotoodbieramosobiściejako
swoisteukoronowanieedukacyjnejdziałalnościautora.Oprawdziwejwyjątkowościksiążki
świadczyjednakprzedewszystkimfakt,żepodchodzidotematykiinaczejniżpodobne
opracowaniategotypu.Nieznajdziemytutajopisuskładnilubwstępudożadnegojęzyka
programowania,metodyktworzeniaoprogramowaniaczywzorcówarchitektonicznych
tematytezostałyjużgruntownieopisanewinnychpublikacjach,aichznalezienieniesta-
nowiproblemu.Wzamianautor,opierającsięnaswoimponad20-letnimdoświadczeniu,
skupiłsięnarównieistotnychkwestiach,którebywajązregułypomijanewinnychźród-
łach,coskutkowałotym,żepoczątkującyprogramiścibylizmuszenidochodzićdonich
saminapodstawiepróbibłędów,tracącprzytymenergięinabierającniekonieczniepra-
widłowychnawykówlubprzekonań.
Większośćopisanychtutajmechanizmów,technikizachowańmacharakterogólnyipo-
siadazastosowanieniezależnieodużytegojęzykaprogramowania,dotykającproblemutwo-
rzeniapoprawnychiprzemyślanychprogramów,aniewyłączniekompilującegosiękodu.
CzęśćIporuszazagadnieniazwiązanezcodziennymiczynnościamiprogramistycznymi,ze
szczególnymuwzględnieniemkonsoliioknapoleceń.Aspekttenjestważnygłówniedla
niedoświadczonychkoderów,stawiającychswojepierwszekrokiwśrodowiskachkonsolo-
wych,choćczęstoignorowanylubtraktowanypomacoszemu.CzęśćIIopisujenajbardziej
12