Osamělý boj na bitevním poli k vítězství
Poslední měsíc byl pro mě jako sólového vývojáře pořádná zkouška. Zatímco zbytek týmu přes léto odpočíval, já jsem byl v epicentru boje s kódem, opravami a úpravami modulů. Sám proti chaosu, krok za krokem, jsem prošel bitvou plnou překážek. Ale dnes, s hrdostí, můžu říct, že jsem vyšel vítězně!
Začátek osamělé bitvy: Boj s chaosem
Všechno to začalo, když jsem zjistil, že naše API už není jen jednoduchá struktura, ale spíš chaotický labyrint plný chyb. Nikdo jiný se do toho nechtěl pustit, takže jsem byl sám, kdo se odhodlal tenhle nepořádek vyřešit. Začal jsem s commitem 4c4b6ca, kde jsem modularizoval API a zlepšil zachytávání chyb. Musel jsem si proklestit cestu a vytvořit pevné základy, aby všechno drželo pohromadě a nerozpadalo se při každé nečekané situaci. Což znamenalo i vytvoření abstrakcí a hlídání interfaců – od té doby už nemusím řešit miliardy dat, co do API jdou, protože to za mě Spedice řeší automaticky. Uff, aspoň něco!
Nedoceněné detaily – Třída, co se jmenovala špatně
Commit 83e8d76? Klasika. Oprava třídy, která se jmenovala jinak, než měla. Jak tohle člověk přehlédne, to už nevím. Ale naštěstí jsem si toho všiml dřív, než to udělalo větší bordel. Opravil jsem to, aby třída odpovídala názvu souboru, ale věděl jsem, že tahle změna může rozházet některá API. Musel jsem se připravit na “odvetu” a řešit následky. Prostě takový ten pocit, že víš, že je něco blbě, ale nevidíš co. Do toho CLI a autoVendor… no někdy je potřeba udělat i codeReview.
Vylepšení formulářů a nové systémy
S commitem 212113e jsem se vrhl na vylepšení formulářů. Automatický výběr některých polí? Hotovo. Taky jsem připravil systém pro stížnosti a reklamace přijatých zásilek a zboží. Protože když si pobočka objedná 20 kilo uzenin a dostane jich jen 5, tak je fajn, že se o tom dodavatel automaticky dozví. Možná ještě dostane omluvný email a recept na salát, kdo ví.
Spotify? Proč ne!
V rámci commitu 29b077b jsem si připomněl, že i malé věci mají význam. Když dlouho makáš na nějakém projektu, tak potřebuješ občas něco odlehčit. Tak jsem si ze srandy implementoval statistiky Spotify do Spedice a rovnou přidal ovládání Spotify přímo z ní – bez nutnosti aplikace na mém Macu. Prostě, kdo si hraje, nezlobí. A víš co? Teď aspoň vím, že v poslední době mi nejvíc jede “Burn Witch Burn” od The 69 Eyes. Jo, hudba kódění.
Prototypy pro chytré převody
Pak jsem narazil na další výzvu s commitem 0ac2006 – převod čísel na text a naopak, s podporou diakritiky. Jde v podstatě o šifrování a převod řetězců pro nenáročný hash mezi front-endem a back-endem, aby API nebylo v některých částech tak snadno čitelné. Prostě šifrování pro hipstery.
Spojení dat, co nesmí selhat
Pustil jsem se i do vylepšení leftDataJoin v commitu f6d790a. Spojení dat je základem pro to, aby systém fungoval bez problémů, a tak jsem se do toho pořádně zakousl. Teď tečou data hladce jako řeka, bez ucpaných mostů a žádné rozbité spoje. Všechno běží jak má, a já jsem o další krok blíž tomu, že mi to už jednou pro vždy přestane hlásit chyby.
Mistr PDF a dokumentů
V několika následných commitech (např. b23bd76, 8927373, b84fe91) jsem se pustil do boje s PDF soubory. Přidal jsem import a zpracování dat z PDF, což je klíčová věc, když chceš, aby systém uměl pracovat s dokumenty. Teď už zvládám všechno – import, konverzi i správu dat z PDF formátů. Člověk by si skoro myslel, že už z toho bude doktorát z PDF inženýrství.
Nezapomínám ani na bezpečnost
Samozřejmě, zabezpečení je klíčové. V commitu eb7920c jsem upravil kód tak, abych zvýšil ochranu systému. Protože co by to bylo za moderní aplikaci bez zabezpečení, že jo? S každou dírou, kterou zalepím, je ten pocit o něco lepší. A já už teď vím, že dalších X bezpečnostních děr je minulostí.
SQL nebo MariaDB? Teď už je to jedno
A nejlepší část? Když jsem tímhle vším prošel, můžu teď s klidem říct, že je úplně jedno, jestli naše Spedice běží na SQL nebo MariaDB. Můj kód to zvládá levou zadní. Teď už se můžu soustředit na důležitější věci než na preference databáze. Prostě věci, co opravdu dělají radost, jako třeba kdy konečně ten zbytek týmu přijde zpátky z dovolené.
Závěr
Byl to osamělý boj, ale každý commit mě posunul blíž k cíli. Dnes je systém stabilnější, rychlejší a připravený na všechny výzvy, které přijdou. A co je nejlepší? Nemusím se už bát, jestli náš systém funguje na SQL nebo MariaDB. Všechno teď jede jako po másle, a já můžu hrdě říct, že jsem to zvládl.
Napsat komentář