Informatika
Fascinující svět neustálého vývoje a pokroku.
Pracovní zkušenosti
V IT se pohybuji již více než dvě dekády. Po studiu na škole a krátkém intermezzu ve školství jsem se vrhnul do světa nul a jedniček. Níže se tedy nachází stručný přehled mé dosavadní praxe...
Vybrané projekty a použité technologie
-
C# (WinForms / DevExpress): Komplexní vývoj
souboru několika aplikací pro
správu bezpečnostních boxů
na převoz finanční hotovosti.
- Kompletní tvorba GUI pomocí knihovny DevExpress WinForms.
- USB komunikace pomocí knihovny třetí strany s připojeným HW proprietárním protokolem výměny dat.
- Práce s databází pomocí ORM frameworku DevExpress XPO.
- R/W operace s DESFire kartami (EV1, EV2, EV3) pomocí vlastního wrapperu knihovny čtečky karet.
- Použití knihovny ANTLR pro tvorbu vlastního skriptovacího jazyka, vč. jednoduchého IDE.
- Jednotné rozhraní aplikace pro práci s více typy boxů, vč. virtuálního boxu (uložený stav boxu).
- Správa Windows Service a Windows Firewall pomocí COM komponent.
- C# (WinForms / DevExpress): Interní nástroj pro programování DESFire karet.
- C# (WinForms / DevExpress): Interní nástroj pro evidenci výroby (malý proprietární IS).
- C# (WPF): Drobná utilita pro notifikaci změn v docházkovém systému.
-
ASP.NET (WebForms / DevExpress, IIS),
JavaScript: Port desktopové
verze
docházkového systému
na web.
- Automatizovaná instalace do IIS.
- Práce s databází pomocí ORM frameworku DevExpress XPO.
- MQTT, GraphQL, AWS, JavaScript: Komunikace s IoT zařízením firemní provenience prostřednictvím Amazon cloudu.
- InnoSetup: Nástroj třetí strany pro tvorbu Windows instalačních balíčků pomocí proprietárního skriptovacího jazyka.
Vybraní významní klienti
-
Česká pošta, s.p. (převoz finanční hotovosti bezpečnostními boxy)
-
Magyar Posta Zrt. (převoz finanční hotovosti bezpečnostními boxy)
Vybrané projekty a použité technologie
-
Java (JFC / Swing):
Nástavby grafických knihoven
pro firemní aplikace.
- Rozšíření či přizpůsobení funkcionality grafických komponent internímu protokolu výměny dat mezi klientem a serverem.
- Dynamické načítání dat ze serveru na vyžádání klienta.
Vybraní významní klienti
-
Třinecké železárny (český výrobce ocelových válcovaných výrobků)
-
TimkenSteel Corp. (americká společnost vyrábějící mj. ložiska)
Vybrané projekty a použité technologie
-
C++: QA (Quality Assurance), support a
příležitostný vývoj vybrané části API produktu
Systinet Server for C++.
- Multiplatformní přenositelná implementace protokolu SOAP (Linux, HP UX, AIX, Solaris, Windows).
- DII (Dynamic Invocation Interface) - implementace rozhraní na zakázku pro Progress Software.
- XML serializér - implementace rozhraní.
- Test framework - implementace proprietárního testovacího frameworku na bázi JUnit.
- Logger - implementace proprietárního loggeru.
-
Java: Release inženýr a vývojář instalátoru
produktu
Systinet Registry.
- Používání různých skriptovacích jazyků a dalších vývojových nástrojů (Ant, Maven, CVS, Perl, bash, Bugzilla, Wiki, RT, …).
Vybraní významní klienti
-
Progress Software Corp. (americká společnost produkující podnikový SW)
-
Wells Fargo (americká banka, největší na světě)
-
Adobe Systems, Inc. (americká SW společnost v oblasti počítačové grafiky aj.)
-
TIBCO Software, Inc. (americká společnost produkující podnikový SW)
-
Amazon.com, Inc. (americká technologická společnost)
Akvizice
-
Mercury Interactive Corporation (izraelská společnost založená v roce 1989, světový lídr v oblasti optimalizace podnikových technologií) - akvizice v roce 2006.
-
Hewlett-Packard Software, LLC (známá americká IT společnost) - následná akvizice společnosti Mercury Interactive ještě v témže roce 2006.
Dovednosti
Během své kariéry jsem se setkal s řadou technologií, s některými intenzivně, s jinými spíše okrajově. Jejich hrubý přehled, vč. toho, na čem na sobě dál průběžně pracuji (ukázkou mého studia budiž i tento web :-)), přikládám rozdělené do příslušných kategorií.
Pravidelné používání
Zde se nachází technologie, se kterými jsem dříve nebo v současnosti pracoval na denní bázi. Některé z nich již mohou být pozapomenuty, ale osvěžit si je není problém :-).
-
C#
- 14 let (2010 – 2024)
- .NET 4.8
- WinForms
-
DevExpress
- 14 let (2010 – 2024)
- WinForms
- XPO
-
Java
- 5 let (2004 – 2009)
- JFC / Swing
-
C++
- 3 roky (2001 – 2004)
-
XML,
SOAP,
WSDL
- 5 let (2001 – 2005)
Občasné používání
V této části jsou technologie, se kterými jsem přišel do styku spíše řídčeji, nebo jednorázově (i když jsem se jimi zabýval třeba i delší dobu). Popř. oblasti, které jsem používal už dávněji.
-
ASP.NET
- ½ roku (2010)
- WebForms
-
DevExpress
- ½ roku (2010)
- WebForms
-
IoT
- ¼ roku (2024)
- MQTT
- GraphQL
- AWS
- JavaScript
Studium
Oblasti, kterým se aktuálně věnuji ať už formou samostudia, nebo nějakých různých kurzů. Buď se zdokonaluji v mi méně známé problematice, nebo se učím nové či novější technologie.
-
Web
- Viz tento web :-)
- HTML 5
- CSS3, Bootstrap
- JavaScript, TypeScript
- React
- Material-UI
- PHP
-
.NET Core
- .NET 9
- EF Core
- Blazor
- WPF
- MAUI
-
Databáze
- SQL, PL/SQL




Projekty
V této sekci se nachází vybrané projekty, na kterých jsem pracoval v průběhu své kariéry. Výčet není úplný, mj. z důvodu, že ne vše mám zdokumentováno.
Projekt společnosti Phobos, s.r.o., který byl kompletně vyvíjen od hardware, přes firmware až po obslužný software. Měl jsem na starosti vývoj sady aplikací pro ovládání boxu personálem, který jsem realizoval v C# WinForms s pomocí knihovny DevExpress. Přístup do databáze je řešen přes ORM framework DevExpress XPO. Komunikace s boxem pak přes USB.
V projektu jsem mj. použil knihovnu ANTLR pro tvorbu vlastního skriptovacího jazyka pro ovládání boxu dávkovými příkazy.
Stav boxu je možno uložit do tzv. dumpu, se kterým pak lze pracovat jako s virtuálním boxem. Aplikace má taktéž jednotné rozhraní pro více druhů příbuzných boxů.

Základní přehled o boxu.
Projekt společnosti Phobos, s.r.o., kterým je modulární docházkový systém pro Windows, vč. vlastního terminálu. Mým úkolem bylo portovat hotový desktopový systém na web, což jsem realizoval v C# ASP.NET WebForms s pomocí knihovny DevExpress. Přístup do databáze je řešen přes ORM framework DevExpress XPO.
Systém umožňuje mít nakonfigurováno více pojmenovaných databázových připojení, ke kterým se uživatel připojuje dle výběru z nabídky.
Součástí instalačního balíčku je i nástroj na administraci webové aplikace v IIS serveru, či databázových připojení, vč. instalace webové aplikace přímo do IIS. Obojí bez nutnosti bližší znalosti IIS.

Přehled dovolené.
Interní projekt společnosti Phobos, s.r.o., který byl součástí vývoje bezpečnostního boxu a slouží k programování DESFire karet (EV1, EV2, EV3), kterými personál ovládá boxy.
Prováděl jsem kompletní vývoj vč. komunikace se čtečkou karet, ke které jsem vytvořil nějaké obecnější DESFire API. Vývoj byl realizován v C# WinForms s pomocí knihovny DevExpress.
Vedle komunikace se čtečkou karet a rozličné manipulace s přiloženými kartami aplikace umožňuje vytváření profilů programovaných karet pro snazší práci. Programovací profil i naprogramované karty jsou uloženy v databázi. K databázi se přistupuje přes ORM framework DevExpress XPO.

Hlavní obrazovka programátoru.
Interní projekt společnosti Phobos, s.r.o., který slouží k jednoduché evidenci vyrobených produktů a specifickým operacím s nimi.
Prováděl jsem kompletní vývoj. Vývoj byl realizován v C# WinForms s pomocí knihovny DevExpress.
Aplikace umožňuje různé konfigurovatelné způsoby zobrazení, vč. seskupování podle druhu výrobku a hierarchicky členěnému datumu výroby. K databázi se přistupuje přes ORM framework DevExpress XPO.

Přehled všech výrobků.
Cesta k informatice
A na závěr takovou odlehčenější formou v kostce můj příběh, jak jsem k informatice a počítačům přišel... :-) Od prvopočátků až k současnosti. Začalo to již dávno...
První setkání
Podobně jako matematika mě svět počítačů fascinoval již od dětství, kdy to bylo sice nedostupné zboží, ale přesto se občas našel někdo šťastnější, kdo vlastnil legendární osmibitové stroje Sinclair ZX Spectrum nebo Atari.
Tehdy jsem si jako dítě starající se o akvárium představoval, jak by to mohlo třeba sloužit k automatizovanému krmení rybiček...
Poprvé jsem se kupodivu setkal s něčím, co se možná trochu blížilo k informatice, již někdy na ZŠ ve volitelném semináři z matematiky. V učebnici bývaly sofistikovanější úlohy a vzpomínám si třeba na jednu z nich, kdy se měl bez znalosti klíče rozluštit zašifrovaný text, což bylo hodně zajímavé.
Vzdělání
Regulérní výuka informatiky pro mně započala na gymnáziu, kde jsme se seznamovali s prvními algoritmy, vývojovými diagramy a trápili s jednoduchými prográmky, nejprve v jazyce Karel, později Basic, to vše na dobovém stroji zvaném IQ 151.
Ve vyšších ročnících už jsme dostali první PC, kde jsme se společně s vyučujícím :-) učili programovat v jazyce Pascal.
Následovalo studium na Přírodovědecké fakultě Univerzity Palackého, kde byl hlavním programovacím jazykem C++, což byl asi ten nejlepší základ, z nějž vycházím dodnes.
Vedle toho různé teoretické základy (počítačové sítě, formální jazyky a gramatiky, databáze, ...), které více či méně platí stále.
Praxe
Do své první IT profese jsem nastoupil v Praze a působil jsem zde 5 let na několika pozicích, počínaje unit testerem a release inženýrem konče.
Společnost nesla jméno Systinet a významně ovlivnila můj IT život. Později ji koupila známá americká firma Hewlett-Packard... Rád na to období vzpomínám.
Pak jsem se vrátil do rodného Frenštátu p. R., kde jsem postupně pracoval ve dvou zdejších firmách LOGIS, a.s. a Phobos, s.r.o.
V praxi jsem programoval v jazycích C++, Java a poslední dlouhá léta zejména v C#. Vedle dalších jiných technologií.