Skvělá aplikace na výuku morseovky, vhodná třeba pro skautský tréning. Naučíte se morseovy značky psát i
přijímat poslechem a užijete si spoustu legrace. Navíc se můžete učit morseovku kdekoliv, kde zrovna jste.
Pomozte Hadovi dostat se z jeho starého mobilního telefonu do báječného světa venku. Proveďte ho bludišti
plnými nástrah a zapojte přitom svůj mozek. A užijte si báječnou hru z doby, kdy telefony měly ještě tlačítka!
Zkuste dámu po italsku; netradiční a šarmantní verzi dámy. Zahrajte si proti Androidu na jedné z pěti úrovní
obtížnosti - vybere si každý od nováčka až po zkušeného borce
Ponořte se do světa starobylého Sumeru a zkuste, zda dokážete vládnout po celých dlouhých deset let! Čelte
přírodním katastrofám, nepředvídatelným výnosům půdy - a když už příroda nebude dělat problémy, přijde
populační exploze! A užijte si starou osmibitovou klasiku z dob, kdy se hry ještě psaly v BASICU.
Palubní počítač lunárního modulu se porouchal zrovna - jak na potvoru! - na začátku přistávacího manévru. Dokážete
s modulem bezpečně přistát a zachránit posádku?
Robert Nystrom. Game Programming Patterns
Katalog návrhových vzorů užitečných při programování her se spoustou detailů o jejich konkrétní implementaci
(rychlost, paměťová efektivita, práce s haldou, ...). Užitečné čtení pro ty, kteří už jsou skamarádění se
základními návrhovými vzory.
Martin
Fowler. Refactoring. Katalog refaktoračních technik. Kniha prezentuje techniky, jak systematicky zlepšit
kvalitu existujícího kódu - zlepšit jeho udržovatelnost, otevřenost k úpravám, zvýšení čitelnosti, atd. Je to
rozhodně povinné čtení pro každého programátora!
Roy Osherove. The Art of Unit
Testing. Skvělá kniha o testování software, testovatelnosti a implementaci software tak, aby byl
testovatelný se spoustou příkladů.
Java a správa paměti (ani sběr odpadků neřeší všechny problémy :-) )
Java má garbage collector... takže se nás memory leaky netýkají, ne? Kdepak! Pár zajímavých linků
na toto téma: Eight
Ways Your Android App Can STOP Leaking Memory.; nebo si přečtěte tohle
a
třeba tohle... Má
oblíbená cesta k memory leakům je reference na aktivitu v inner class :-).
Když už se bavíme o alokacích paměti, když jsem psal deskovou hru dámu - Damone game, dost
jsem se
snažil optimalizovat kód v Javě na rychlost. Potřeboval jsem, aby algoritmus MiniMax, který počítá další tah, byl
co
nejrychlejší. Jedna věc, která mi docela pomohla, bylo omezit počet "zbytečných" dynamických alokací
objektů
pomocí "pools of objects". Pár rad jak na to lze nalézt třeba v článku Developing for
Android
II The Rules: Memory.
Funkcionální programování a vícevláknové aplikace vyžadují po programátorovi dobré uchopení principu imutability. A moderní garbage collectory jsou tak rychlé, že
vlastně téměř pořád si můžeme dovolit se nestarat o jejich režii - a z imutability objektů tak profitovat.Why is Java making so many things immutable?
A když už jsme zabrousili ke garbage collectoru, nedávno jsem četl tři zajímavé články o GC v
Javě:
Class Loaders - jak lze v Javě modifikovat mechanismus načítání tříd?
Mechanismus načítání tříd v Javě a možnosti jeho modifikace mě zaujal. Umožňuje třeba appletu načíst
"bezešvým" způsobem třídy po síti, dešifrovat zašifrované třídy při načítání,
odstínit jednotlivé třídy od sebe tak, že ani nesdílí statické proměnné... a současně se můžete trochu víc
ponořit do filosofie Javy a práce virtuálního stroje.
Následuje pár linků na podrobnější informace na jednom blogu. Našel jsem a četl víc, ale tohle mi přišlo
nejlepší.
Things
you may not know: tools attributes je shrnutí atributů prvků GUI, které ovlivňují jen chování layout
editoru v Android studiu. Můžete tak například nastavit vykreslování layoutu v editoru tak, aby bylo blíž
reálné podobě na telefonu. Detaily tool attributes se zabývá článek v dokumentaci Androidu. Konečně
mi přišel také zajímavý tento blog post.