Try { DateTime.toString() } Catch (WhatTheFuckException ex) { log("Go to bed!") }

Inu ano, (doslova) celé dny pracuji na semestrální práci do programování v dot netu, po letech programuji objektově a úplně vidím to znechucení, až zase budu muset něco dělat v PHP. Nelze to srovnávat. Tak propracovaný a promyšlený jazyk, tak dokonalý vývojový nástroj jako Visual Studio 2008, takové možnosti s windows presentation foundation,… teď už by to chtělo jen objektově myslet a nejdříve analyzovat model místo bastlení funkcí, ale to se snad časem doladí :)

Není o čem jiném psát, protože je to opravdu celý den u počítače. A na čem že to dělám?

Jako semestrálku musím udělat nějakou aplikaci v jazyce C# nad frameworkem .Net (dot net). Měla by mít grafické rozhraní, nějaké to tlačítko na klikání a musí umět pracovat s daty ve formě XML nebo jakékoli databáze. Učitel kladl velký důraz na to, abychom nedělali blbosti, ale zkusili vymyslet něco opravdu užitečného. No a já tou dobou prakticky dokončoval e-shop a v budoucnu visela otázka jeho propojení s účetním softwarem klienta, aby se daly jednoduše a hromadně aktualizovat počty kusů zboží na skladě. Software díkybohu umí komunikovat via XML, ale nemá pro to prakticky žádné rozhraní. Ve výsledku, pokud z něj chci dostat XML s databází produktů (a tedy i jejich počtů), tak mu musím předložit jiné XML, ve kterém mám pomocí několika desítek elementů napsáno, že chci export produktů. Funguje to. Ale kdo tohle kurva vymýšlel a který debil implementoval??? Nebylo by moc těžké mít v programu tlačítko ve smyslu „Vytvořit XML export aktuálního skladu“ a bylo by to. „Importovat objednávky ze souboru … Vyberte soubor“ atd. Formát XML je daný dokumentací, takže by nebylo co řešit. Ale ono ne…

No a tím pádem mi bylo jasné, že klient – přes počítače průměrný uživatel – si s tímhle asi moc hrát nebude, ale na aktuálnosti stavu skladu on-line mu záleží. A v tu dobu první druhá hodina programování a my tvoříme jednoduché windowsácké aplikace. Došlo mi, že mám ideální šanci spojit příjemné s užitečným. Respektive užitečné s ještě užitečnějším. Naprogramováním aplikace, která by se o šachování s XML a komunikaci mezi e-shopem a účetním programem postarala, bych jednak splnil požadavky na ukončení předmětu, druhak i přání klienta a nadosmrti bych měl vyděláno. Yeah $$$$$! Nebo tak nějak.

A tak jsem se nyní už třetí den mořím s ne úplně známou syntaxí a super-typovým prostředím plným všelijakých typů (kdo programuje pochopí, kdo neprogramuje, nepochopil by ani kdybych se snažil vysvětlovat). Ale strašně mě to baví a jen díky tomu jsem schopný sedět u pc hodiny a hodiny v tahu a nechci se jít ani napít, protože přece teď už to konečně byldnu a už to musí fungovat, když jsem tamto přepsal a tohle předělal atd. stokrát dokola.

Ve výsledku půjde prakticky o dvě samostatné aplikace. První z nich je regulérní na pozadí běžící windowsácká služba starající se o automatické volání účetního programu z příkazové řádky, přebírající od něj XML soubor a odesílající jej do e-shopu, a možná i stahující XML soubor s uskutečněnými objednávkami a futrující je do účetnictví. Tahle služba svoji činnost inteligentně loguje do nativních Událostí operačního systému, což považuji za vypečené řešení. Původně k tomu měl sloužit nějaký XML soubor, ale tohle mi přijde vhodnější. Když už to v těch windowsech je…

Druhá aplikace bude tradiční grafický klient zobrazující poslední zalogované aktivity služby a umožňující její restartování a ukládání nastavení. Funkčnost se dolaďuje za běhu.

Možná to takto z rychlíku vypadá docela jednoduše, ale třeba včera jsem pět hodin (PĚT HODIN!!!) dumal nad tím, jak umožnit jednu věc, dané funkce jsem x-krát přepisoval, google kvůli mému frenetickému vyhledávání musel spustil další datacentrum a po těch pěti hodinách (PĚTI HODINÁCH!!!) jsem zkusil přepsat Class Logovani {... na public Class Logovani { ... a ono to fungovalo. Na kulku. Obdobně jsem pak večer vytuhl u dalšího problému, kdy jsem nebyl tři hodiny schopný donutit onu službu vykonávat určitou akci, až jsem si uvědomil, že ona se … jaksi … za ty tři hodiny vůbec nezměnila. Celou dobu jsem re-buildoval projekt, instaloval jej přes instalátor, ale… ne-rebuildoval jsem instalátor. A ten tak tři hodiny stále dokola instaloval starou verzi služby a já dumal nad tím, proč sakra do logu nepíše to, co by měla.

Takže tak. Včera večer jsem si udělal radost a na hodinu jsem s peťákem vypadl ven, temným lesem jsme se táhli se sáňkami do kopce až do opuštěných a děsivě působících luk, abychom jednou sjeli nejdelší a nejprudší svah v okolí a pak se zase vrátili domů. Sněhu je málo, ale šli jsme tam především proto, že byl den po úplňku a to je v oněch končinách za jasných nocí světlo skoro ke čtení. Zážitky, které se mnohokrát za zimu nezažijí, noční sáňkování v údolí zalitém stříbrným světlem… jenže včera přišla inverze, mlha, a prd. Tma. I strach se tam kolem vochomýtal. Snad se někdy vyjasní. A zítra by prý mohlo sněžit. Ale to půjdu bruslit.

Abych taky dělal něco jiného než bušil do klávesnice.

před devíti roky | Programování Ze života | 1 komentář

Komentáře

1 | TDLmarek | před devíti roky

Vím naprosto přesně o čem mluvíš :) Na podzim jsem kvůli jednomu projektu po několika letech oprášil php a věčně jsem byl někde zaseklej. Třeba cca 30 minut na řádku:

for (int i = 0; i < max; i++)

Jak říkáš, na kulku :)

PS: VS2008 je fakt mašina a ještě lepší dojem dělá po napojení na SVN :)

reagovat

Připojte váš komentář!

Můžete používat Texy! syntaxi.

* Hvězdičkou jsou označeny povinné informace.