8. června 2014 23:59

SuperMartasův květen 2014

Jaký byl květen 2014 pro vás?
1/17%Dobrý
6Hlasovalo

Po velmi dlouhé době je mi potěšením přivítat vás u dalšího článku z naší pravidelné série SuperMartasových měsíců. Ačkoliv mě i v tomto měsíci škola nepřestává překvapovat, zmáhat a kdo ví co ještě, tento článek o ní nebude. A jaká témata jsem si pro vás přichystal tentokrát? Budete to hlavně o mojí tvorbě. Nejprve se podíváme na novinky mého programu zvaného Typewriter. Následně vám povím něco málo o zvratu, který zásadně změní a už vlastně mění mou programátorskou kariéru. Předposledním tématem bude mé seznámení s verzovacím systémem, na jehož jméno si budete muset počkat. A nakonec vám povím o mých začátcích s desktopovým jazykem C++.

Typewriter

Ani v květnu jsem nezahálel a pracoval o víkendech na Typewriteru. Ačkoliv by se na první pohled mohlo zdát, že až zas tak velké proměny se Typewriter nedočkal, opak je pravdou.

Hlavní novinkou je kompletní předělání zpracování vstupního textu a jeho následné odesílání do ostatních aplikací. Ačkoliv by se původní zpracování textu mohlo zdát jako plně dostačující, mě nestačilo. Dokud není vše podle mých představ, nenechává mě to klidným. Díky této předělávce jsem do Typewriteru mohl přidat bloky v textu, které jsem nazval sekvence. Pojďme si pár takových sekvencí ukázat.

  • /ENTER/ - odešle klávesu Enter
  • /"Ahoj"/ - odešle najednou text "Ahoj" (bez uvozovek)
  • /CTRL + A/ - odešle kombinaci kláves CTRL a A (klávesovou zkratku)
  • /"Nový řádek:" + ENTER, 5/ - 5x po sobě odešle najednou text "Nový řádek:" a zároveň klávesu ENTER
  • /LEFTMOUSE/ - odešle kliknutí myší

Jak vidíte, se sekvencemi v Typewriteru lze dělat úplná kouzla. Použít jde totiž nespočet dalších kláves, jako je Num Lock, Caps Lock, Scroll Lock, tabulátor, šipky, funkční klávesy (F1, F2, ...), kliknutí levým, pravým i prostředním tlačítkem myši a spousta dalších kláves. Poslední jmenované klávesy / tlačítka myši lze odeslat hlavně díky tomu, že jsem přešel na jiný způsob odesílání kláves. Ti z vás, co četli předchozí článek, jistě ví, že jsem použil metodu z WinApi, která tyto "kousky" umožňuje provádět.

Nejspíše poslední novinkou je opakování textu. Text umí Typewriter opakovat hned několika způsoby. Prvním způsobem je zadat Typewriteru počet opakování a on text zopakuje přesně tolikrát, jaké číslo mu bylo zadáno. Pokud zadáte jako číslo nulu, bude se text opakovat do té doby, dokud ho sami nezastavíte tlačítkem "Stop". Druhým způsobem je opakování textu určitou dobu. Můžete tak Typewriteru zadat, aby opakoval text 10 sekund, minut či hodin.

Ačkoliv mám spoustu dalších nápadů na vylepšení (ani současný systém sekvencí není dokonalý), nejen díky zvratu, o kterém si můžete přečíst níže, jsem tímhle ukončil vývoj Typewriteru. Sama o sobě je v této fázi aplikace reálně použitelná, jediné, co chybí, je nápověda (kterou mě opravdu nebaví psát). Možná se k Typewriteru někdy vrátím, ovšem když se podívám na ostatní aplikace, u kterých jsem také říkal, jak se k nim vrátím, šance je naprosto minimální.

Abyste si udělali lepší představu, jak Typewriter pracuje, rozhodl jsem se pro vás natočit video. Předem se omlouvám za jeho kvalitu, ale ani po několika hodinách marného zkoušení se mi nepodařilo dosáhnout lepšího výsledku.

Zvrat v programování

Mnohokrát tu již padla slova o RSS čtečce a mém nadšení pro ni. Nadšený jsem pro ni i dnes, ale mé nadšení je již mnohem menší a dokonce jsem již upustil na dobu neurčitou od nápadu webové čtečky, čtečky pro Android a vlastně i RSS čtečky v2.0. A ano, tohle je ten tolik očekávaný zvrat. Možná se teď ptáte, proč? Co se vlastně stalo?

Psal se 11. květen roku 2014 a já s Víčkem vedl vážný rozhovor. Jeho téma nebylo ze začátku až tak podstatné, ovšem téma, které následovalo, všechno změnilo. Víčko mi totiž začal vyprávět o svém projektu. Vyložil mi i pádné důvody, proč zrovna tento projekt. A zeptal se mě na otázku, díky které se nemuselo změnit vůbec nic, ale nakonec změnilo.

  • Víčko: Nechtěl bys zase, abychom spolu něco programovali?
  • SuperMartas: Rád bych s tebou někdy něco naprogramoval, ale teď mám prostě v plánu jiné věci, na které se nesmírně těším (RSS čtečku).
  • Víčko: Já vím. Ale myslím, že by to bylo lepší, než čtečka.
  • Víčko: Takže ne?
  • SuperMartas: Ne, teď se to opravdu nehodí, sorry.

Nakonec ještě proběhla dlouhá výměna názorů, při kterých už jsem se i přesto, že jsem poprvé napsal negativní odpověď, v podstatě rozhodl, že do toho jdu. Přes noc jsem ještě přemýšlel, ale nakonec jsem dospěl ke stejnému názoru. Tím se jakoby všechno změnilo.

Ještě, než bych vývoj čtečky chtěl (nejspíš nadobro) pozastavit, jsem se rozhodl, že udělám miniupdate. Update, ve kterém vylepším drobné nedostatky, které mně na čtečce osobně vadí, nebo přidám věci, které mi ve čtečce chybí.

Asi si říkáte, že jsme se oba, já i Víčko, zbláznili, že chceme nechat našich hlavních projektů (já čtečky, Víčko své Elfánie). Ale věřte, že až vám tento projekt představíme (ano, zatím ho budeme držet v tajnosti) a ukážeme nějaký prototyp, určitě budete nadšeni. Stoupáme na vrchol a stoupat nepřestaneme, dokud se tam nedostaneme!

Verzovací systém - Git

Abychom mohli s Víčkem vyvíjet společně a měli zaznamenanou naši "cestu na vrchol", navrhl jsem použít verzovací systém jménem Git. Chtěl jsem ho použít už dávno před touto události, ale nikdy jsem neměl čas ani potřebu se učit, jak s ním zacházet. Tak jsem si řekl, že tohle by mohla být ta pravá chvíle se ho naučit. A udělal jsem dobře! Z návodu na internetu jsem tak nějak moudrý nebyl, a tak jsem se rozhodl přečíst knížku, která vyšla zdarma v elektronické podobně od sdružení CZ.NIC a jmenuje se Pro Git. Celé jsem přečetl pouze první tři kapitoly, dále už jsem si vybíral jen to, co by mě mohlo zajímat.

Po přečtení knihy jsem byl naprosto nadšený. Přesně něco takového jsem hledal. S Víčkem jsme zprovoznili Git na jeho serveru (ale že to byla makačka) a začalo se verzovat. Víčko začal se svým projektem zvaným "Geometry", já s Typewriterem a následně i s RSS čtečkou.

Jako grafickou nadstavbu jsem původně používal vestavěný Git GUI, ale narazil jsem na nadstavbu, která mě naprosto uchvátila svým designem. Tato nadstavba je od GitHubu, tedy serveru, který se na Git přímo specializuje. Inu, posuďte sami:

Git Git - Typewriter

Git se mi strašně moc líbí, jen na jedno jsem zatím nepřišel ani po hledání na internetu. Jak využít Git při vývoji webových aplikací. Nějak si nedokáži představit, že abych se mohl podívat na výsledek toho, co jsem právě napsal, bych musel vytvořit a nahrát commit. Pokud s tím má někdo zkušenosti, byl bych velice rád, kdyby se s těmito zkušenostmi s námi podělil v komentářích.

Mistrovství v C++

C++

C++ jsem chtěl vždycky umět. Učit jsem se ho tak nějak začal již v únoru, ale z těch internetových seriálů toho většinou moc nepochopím. Učení jsem tedy pozastavil. Až do května. V květnu jsem se ho totiž začal znovu a tentokrát vážně učit. Ale proč právě teď, vám neprozradím. Možná to ty chytřejší napadne, ale do jisté doby to pro vás všechny bude velká neznámá.

Abych se tedy C++ pořádně do detailu naučil, na doporučení Víčka jsem si objednal knížku "Mistrovství v C++". Tím jsem překročil hned dva své milníky. Jednak to je moje vůbec první fyzická věc, kterou jsem si na internetu objednal. A za druhé to je nejspíš největší knížka, kterou celou přečtu. Se čtením jsem již začal, zatím jsem na nějaké 150. stránce a to jsem ještě přeskočil obsah. Bude to ještě pořádná fuška, ale strašně se na to těším. Věřím tomu, že kdybych nebyl tak strašně časově vytížen, jako jsem teď, měl bych načteno a vyzkoušeno již mnohem více věcí.

Závěr

Jak vidíte, květen byl pro mě velmi přínosným, ale i náročným měsícem. Proto jste se, sic s více jak týdenním zpožděním, dočkali extrémně dlouhého článku. Doufám tedy, že se vám článek líbil a já se na vás těším u dalšího článku, který budu psát již o prázdninách!

P. S. Málem bych zapomněl! Na přání Víčka jsem napsal miniprográmek v C++, který dokáže nechat "navždy" váš Num Lock v zapnutém stavu. Jmenuje se Num Forever Lock a stáhnout ho můžete na mém webu.

Hodnocení

Celkové hodnocení
4 hlasy
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:
Žádné komentáře.
© 2011 - 2019 SuperMartas a Tomáš Hypeš