Anormálně funkcionální parsování dat z databáze

2

Na jednom projektu jsem použil Anorm, vrstvu pro přístup k relační databázi, která se jednoduše integruje s Play! frameworkem. Co znamená "Anorm"? "Anorm is Not an Object Relational Mapper" (rekurzivní akronym).

Anorm nám tedy nenabídne klasické ORM, ale výsledky databázového dotazu lze zato parsovat pomocí flexibilního Parser API, které je nám schopné kýžený objekt naplněný daty vrátit. V tomto článku se prakticky podíváme na to, jak parsery Anormu vhodně znovupoužitelně definovat, skládat dohromady a aplikovat.

Více...






Scala in Depth - podrobná recenze

0

Joshua Suereth vytvořil v podobě své knihy Scala in Depth perfektní kuchařku, sadu best practices, která poskytuje "kuchtíkům ve Scale" tolik potřebný rámec a ideje pro využití mnoha zajímavých vlastností jazyka, který přirozeně kombinuje vlastnosti objektově orientovaného (OOP) i funkcionálního programování - dvě dosud typicky odděleně používaná paradigmata.

Více...



Czech Scala Enthusiasts v Brně

0

Czech Scala Enthusiasts je největší komunitou Scala programátorů a nadšenců v České Republice. Byla založena v červenci 2011 a od té doby uspořádala řadu setkání, přednášek a coding dojos. Dosud se všechny akce odehrávaly v Praze, to se však toto léto změní. Jeden z organizátorů a zakladatelů, Karel Smutný, se na léto přestěhoval za prací do Brna a rád pomohl utvořit komunitu i v našem druhém největším IT centru. To by v tom byl čert, aby tu o Scale nikdo neslyšel.

Jsi-li Scala programátor, ať už začátečník nebo profesionál, nebo jsi o ní jen slyšel a rád by ses dozvěděl více, zaregistruj se ve skupině na meetup.com a přijď na První brněnský Scala meetup. Notebooky s sebou, nejsme žádný diskuzní kroužek. Těšíme se na Tebe!

Více...


Akka: Actor model a use cases pro výkonné paralelní systémy

2

V Etneteře pod taktovkou Karla Smutného, organizátora Czech Scala Enthusiast, proběhly dva workshopy zaměřené podle přání Etneteráků na Akka framework přinášející čerstvý vítr do končin paralelního programování. V tomto článku se podíváme na základní principy aktorů a příklady aplikací, ve kterých se  mohou aktoři uplatnit.

Více...










Scala - pro a proti

5

I tak by se dal shrnout obsah přednášky Czech Scala Enthusiasts komunity v rámci informatického večera na FITu.

Přednáška byla zamýšlena především jako motivační úvod do širokého spektra možností, které Scala přináší, poukázala na zajímavé konstrukce jazyka, které mohou ulehčit každodenní práci, redukovat boilerplate kód a snižovat prostor pro případné chyby, ale představila také současné největší problémy Scaly při jejím zavádění do praxe.

Více...




Play! Iteratees pro realtime streamování dat - 1. část

0

Iteratee je immutable abstrakcí pro konzumenta dat, který iteruje přes skupiny dat za použití neblokujícího asynchronního přístupu. V tomto článku se podíváme blíže na zoubek konzumentům a producentům dat v Play! frameworku, v druhém navazujícím článku si potom představíme možnosti adaptování a filtrování dat a iteratees si demonstrujeme prakticky na jednoduchém příkladu streamování textu.

Více...


Czech Scala Enthusiasts spustili blog

0

Česká komunita Scala nadšenců sdružená ve skupině na meetup.com spustila blog czechscala.com. Zatím je ještě v plenkách, ale jeho první ambicí na jednom místě prezentovat použitelný návod, jak začít se Scalou. Postupně tam bude vznikat rozcestník na zdroje užitečné především pro začátečníky a budou přibývat vlastní články ze seriálu představujícího Scalu.

Více...






Scala Collections Workshop

0

V Etneteře se konal v pořadí druhý workshop zaměřený tentokrát na základní principy a techniky Scala Collections API, do kterých nás zasvěcoval agilní kouč a školitel Scaly Karel Smutný. Společně jsme kódovali příklady manipulující se seznamem modelů automobilů a poctivě testovali v duchu Test Driven Development. Co zajímavého nám Scala kolekce nabízí a proč byste je mohli chtít použít i ve vašich projektech, si představíme v tomto článku.

Více...



Velikost objektů v Javě – mapy

0

V návaznosti na poslední článek, kde jsem psal, jak spočítat velikost objektů v Javě, jsem provedl několik empirických měření, jak jsou na tom mapy.

Test je jednoduchý: kolik paměti zabere mapa, jejíž klíče jsou integery a hodnoty také integery, která obsahuje pět milionů hodnot? Jde o celkem reálný případ, protože tohle se děje vždycky, když chceme zjisťovat četnost nějakých hodnot, které můžeme zredukovat na celé číslo. Dohromady tedy chceme v mapě uložit 10 milionů integerů, které představují 40MB užitečných dat.

Více...


Skriptování ve Scale

2

Scalu jako škálovatelně navržený jazyk lze používat jak pro tvorbu velkých systémů (jako čistě objektový jazyk s bohatým typovým systémem), tak pro psaní různých skriptů (díky expresivnosti a funkcionálním konstrukcím). Psaní skriptů si představíme prakticky na příkladu dumpu dat z velké databázové tabulky do více souborů, s jejichž velikostí si ještě filesystém poradí.

Více...


Slick

0

Světy in-memory kolekcí a relačních databází se vždy velice rozcházely. Expresivní jazyky jako Scala mám umožňují s kolekcemi pracovat skoro až deklarativně. Na druhou stranu práce s databázemi byla vždycky odlišná. Buď to byly neohrabané SQL řetězce nebo touha všechno schovat za závojem ORM a zapomenout.

SLICK je knihovna, která spojuje tyto dva světy a umožňuje nám ve Scale pracovat s relačními databázemi, jako kdyby to byly běžné kolekce v paměti. Místo v SQL můžeme dotazy psát přímo ve Scale. Získáme tím typovou bezpečnost a kompozici dotazů, ale stále budeme mít plnou sílu relačních databází na dosah ruky.

Více...



Czech Scala Enthusiasts: Dependency Injection ve Scale

0

Kdy: 29.1.2013, 19:00

Kde: Fakulta informačních technologií ČVUT v Praze, Thákurova 9, 160 00 Praha 6

Dependency Injection (DI) je v dnešní době denním chlebem mnoha (nejen) Java programátorů. Jak funguje ve Scale? Scala o sobě tvrdí, že je 100% kompatibilní s JVM. Je tedy interoperabilní s prověřenými DI frameworky, které známe z Javy a jsou to buď de facto nebo de jure standardy pro DI? Má nějaké vlastní řešení tohoto problému?

Více...





Play! 2

2

Když zavítáme na web Play! Frameworku do očí nás hned udeří celá kanonáda buzzwordů: MVC web framework, lightweight, stateless, web-friendly, minimal resource consumption, highly-scalable, reactive, Iteratee IO, for Scala and Java. Co to všechno znamená a proč právě tyto vlastnosti potřebujeme, vysvětlím na následujících řádcích.

Více...



Nastal čas škálovatelnosti, čas Scaly

3

Málokdo to čekal, ale je to tady. V Et neteře se rodí Scala entuziasté. Jako odborníci na Javu nalézáme nově zalíbení i ve Scale, která svými pokročilými vlastnostmi navazuje na vlastnosti Javy, ale jako mladší, modernější jazyk měla šanci poučit se už od svého raného vývoje z některých nepříliš šťastných rozhodnutí designérů Javy a naopak využít vlastností časem prověřených.

Více...


Proč jsme se pustili do Scaly

10

Chcete svobodu se vyjádřit a posouvat (se) dopředu i za cenu občasného šlápnutí vedle nebo vám jde o eliminování chyb? Možná jednodušeji, chcete prgat podle pravidel nebo podle sebe?

Více...