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...