Kategorie: Zájmy

  • Co je RxJava a k čemu je vlastně dobrá

    Už před pár měsíci jsem si tento nadpis přidal mezi rozpracované koncepty tohoto blogu, ale záhy jsem si uvědomil, že na tuto otázku ještě nedokážu zcela uspokojivě odpovědět. Vzpomínám si, když jsem na Devoxxu v Krakově viděl RxJavu poprvé, krom toho, že mi nebylo úplně jasné, jak to přesně funguje, jsem si kladl jednu a tu samou otázku: „K čemu je to sakra dobré?“. Není to to samé, co už umí Streamy v Javě 8? Čas i zkušenosti pokročily a tak nastala chvíle podělit se o to, jak vidím RxJavu já.

  • Travní lyže a kite – první dojmy

    Zima je pryč a sníh ještě dřív, nastává landkitingu čas. Mountainboard mám sice schovaný ve sklepě, ale je tu jedna věc, která mě trápí. Asi největším problémem pro kitování na MTB je mít pro něho opravdu dobrý spot. Tím myslím uválcovanou a posekanou travnatou plochu. U nás je nejbližší v Příboře, avšak má jednu vadu: aby se na ní dalo jezdit podélně, musí foukat velmi specifický směr větru (SZ nebo SSZ), který co? Ano, nefouká téměř nikdy 😀 . Když půjdete na běžnou hrbolatou louku, sice to taky pojede, ale kolečka budou mít mnohem větší odpor, což znamená, že budete muset jezdit více agresivně a taky více padat.

  • Mapa discgolf hřiště Rekovice

    Zatím jsem ještě na oficiálních stránkách discgolfu ČR neviděl zveřejněnou mapu DG hřiště v Rekovicích (Frenštát p.R.), tak jsem se rozhodl, že místa jamek vyznačím dle svého odhadu. Jinak oficiální score card i s mapkou je možno zakoupit přímo v restauraci za 20Kč (2.4.2017). Za úplnou přesnost neručím, ale snad byste měli být schopni ke každé jamce trefit 🙂 .

  • Zahájení landkitingové sezóny 2017

    Pojezdy nic moc, pár skoků a nebezpečí kamery na helmě :-).

  • Jeden z posledních snowkitingů sezóny

    V práci jsem skončil dříve, abych mohl využít snad již jeden z posledních dnů této sezóny, kdy je ještě někde trochu sněhu a nějaký vítr. V druhé polovině videa jsem se i odvážil na nějaké skoky, neb jsem si říkal, že buď to zkusím dnes, anebo až za rok 🙂 . Ne zcela se to vyvedlo, ale pro začátečníky ve skoku (jako jsem já) mám jednu radu: Kite toč ostře zpět do směru jízdy hned už v momentě, kdy tě to zvedne do vzduchu! 🙂 A musím říct, že dostat se do vzduchu není vůbec nic těžkého …

  • Snowkiting (level 2): Do kopce a z kopce v Lichnově

    Naše první do kopce/z kopce a musím říct, že mě to bavilo podstatně více, než jen rovinka. Pokud fouká málo, muže člověk nabrat energii tím, že se pomalu nechá vytáhnout na kopec, pak to otočí a může si i za takových podmínek užít rychlou jízdu 🙂 . Čas zkusit level 3 – místa by byly, ale chtělo by to přisněžit.

    PS: Jediné, co mi na tomto spotu v Lichnově nevyhovovalo, byla přítomnost těch trnitých keřů. Jinak jsem si myslel, že tam bude dostatek prostoru i poblíž rodinných domů, ale jsou tam různé studny, dráty, atd …

  • Veselský skowkiting nářez (Den 1.)

    Tak jsem konečně navštívil zdejší proslulý snowkiting spot – Veselský kopec. Nalákala mě především zpráva, že se zde přes víkend budou konat v oba dny kurzy od Hara-kiri. V sobotu jsme se sice s Hara-kirákami téměř minuli, ale počasí bylo parádní. Slunce svítilo a i když se to zpočátku nezdálo, vítr se pak pěkně rozfoukal.

    GPS tracking jsem zapnul sice s opožděním, ale i tak mě naměřené údaje docela potěšily. Zdá se, že jsem během jedné hodiny na lyžích s kitem najel více než za celý život 🙂 (moc jsem nelyžoval).

  • Java tip: For není fór a split není řiť

    For()

    Už jste se někdy přistihli při psaní tohoto cyklu?

    for(int i = 1; i < something; i++) {
        //Do something
    }
    

    Pak vězte, že v (dle mého názoru) opravdu velkém počtu případů je to znamení, že je něco špatně. Buď máte špatný design, anebo to jde celé udělat jinak a mnohem lépe. Ne vždy se tomu člověk vyhne, ale čím častěji, tím líp.

    Split()

    Další věcí je metoda String.split(). Použili jsme ji asi všichni, ale přiznejte se, kolik z vás ji opakovaně používá na parsování Stringu ve smyslu, že pak použijete pouze něco z výsledné množiny? Na to mám pouze jednu odpověď: Naučte se regulární výrazy a vyzkoušejte Rojo 🙂.

    NějakýInterfaceImpl

    Původně jsem se domníval, že je to spíše věc ojedinělá, ale nedávno jsem v praxi narazil již na druhého člověka, který, jak se zdá, má až chorobnou touhu vytvářet interfacy 🙂 . Jedná se především o DAO třídy. Moje představa o použití interfacu z hlediska designu je taková:

    1. Očekává se, že něco může mít vícero implementací
    2. Tyto implementace jsou volány „přes jediné API“ / nebo též „stejným způsobem“

    Pokud si tyto dvě otázky položím v případě DAO tříd, tak jsem názoru, že každé DAO má mít vždy pouze jednu jedinou implementaci, a i kdybych připustil, že by někdo někdy chtěl mít pro 1 DAO implementací více, tím hůře si dokážu představit, proč by je chtěl volat stejným způsobem? 🙂 S tímto i úzce souvisí názvosloví končící na Impl, kde vám hned vysvětlím, proč ho nemám rád. Samotná neurčitost názvu na mě působí dojmem, že implementace daného interfacu je skutečně pouze jedna, čímž smysl interfacu samotného vlastně popírá, jinak by se přeci jmenovala nějak smysluplně, nebo ne? Např. měl-li bych interface Service, čekal bych implementace jako FileService, NetworkService, ale rozhodně ne ServiceImpl 🙂 . Z tohoto mi plynou hned dvě ponaučení:

    1. Přemýšlejte nad názvoslovím, protože již ono samotné může odhalit chybu ve vašem myšlení
    2. Nedržte se striktně naučených pouček o čistém kódu, ale běžte více do hloubky daného problému a, zkrátka, přemýšlejte 🙂 . Aneb jak již jednou někdo řekl: „Všechny generalizace jsou mylné, včetně této“.

    PS: Další důvod proč nedělat interfacy tam, kde jsou zjevně zbytečné, je ten, že když si na některou metodu takového objektu v Eclipsu se stiskem CTRL kliknu, nedostanu se přímo do kódu, ale do interfacu samotného, což je strašně otravné 🙂 .

  • Kiting: V jakém větru (ne)lítat

    Rozhodl jsem se, že si zpříjemním Štědrovečerní dopoledne malou kitingovou popotahovačkou směrem do kopce. Dle Windguru mělo foukat mezi 7 – 13m/s a tak jsem vzal na záda své Gyro 7m a šel. Nicméně na místě byly poryvy mnohem větší, řekl bych okolo 15m/s a výše na kopci to mohlo být i 18m/s, což už je docela peklíčko, ale ani to mě neodradilo a začal jsem rozbaloval.

  • Rojo benchmark s JMH

    Zrovna nám nedávno vyšlo Rojo ve verzi 1.0.3 a já jsem si říkal, jak je na tom tato knihovna s výkonem. Rozhodl jsem se ji tedy trochu otestovat a proměřit pomocí JMH a i přesto, že se mi způsob vytváření nového benchmarku přes maven archetyp příliš nepozdával, tak se mi to nakonec rozjet podařilo 🙂 .