0xDEADBEEF

[RSS]

Scala

21. 5.

Scala, mapy a čítače


Představte si následující situaci: Máte nějaký kód ve Scale (nebo Javě, na tom moc nesejde), který počítá frekvence prvků. Všechno funguje, jen vás hluboko v mozku začala hlodat otázka: Jak je to vlastně rychlé a šlo by to případně udělat rychleji? celý článek →
13. 5.

Další novinky ve Scale 2.13


Vyšel první kandidát pro vydání nové verze Scaly 2.13, který od poslední milestone verze přinesl několik užitečných novinek. Tohle jsou některé z nich: celý článek →
14. 4.

Parciální funkce ve Scale a dvojité vyhodnocování


Parciální funkce je taková, která není definována pro všechny vstupy. Ve Scale je reprezentována typem PartialFunction. celý článek →
26. 1.

Java, Scala a regulární výrazy #6 - znovupoužití Matcher objektu


Mnoho API v Javě je navrženo s ohledem na znovupoužití vytvořených objektů. Například XMLStreamWriter alokuje nezanedbatelné množství interních struktur a proto je podstatně rychlejší, když je vytvořen jen jednou a pak používán opakovaně. celý článek →
24. 12. 2018

Java IO & NIO - jak nejrychleji načíst soubor z disku


Bez většího důvodu jsem se začal zajímat jak v Javě co nejrychleji načíst data z disku. Java nabízí několik způsobů, jednak starý java.io způsob přes FileInputStream a BufferedInputStream a pak novou java.nio cestu přes FileChannel. Je v nich nějaký rozdíl, popřípadě jak velký? celý článek →
3. 11. 2018

Průnik množin ve Scale


Dneska je čas na jeden malý trik jak ve Scale vypočítat velikost průniku dvou množin. Když mám dvě množiny as a bs, dá se to zařídit vytvořením množiny průniku. celý článek →
23. 10. 2018

Čím nahradit Scala.XML


Ve Scale je možné v programu zapisovat přímo XML literály. Ještě pořád, ale už ne příliš dlouho. Martin Odersky (a jeho gang) není jejich fanda, už roky se jich chce zbavit a ve verzi 2.13 se mu to možná konečně podaří. celý článek →
11. 10. 2018

Novinky kolekcí ve Scale 2.13


Nadcházející verze Scaly 2.13 přinese jednu velkou změnu: Nový framework kolekcí. Došlo k jejich internímu překopání, zjednodušení a celkovému uhlazení (konečně funkční mechanismus pohledů). Velká část z těchto změn by měla být interní záležitostí. Nové kolekce sice nebudou binárně kompatibilní s… celý článek →
28. 7. 2018

Java, Scala a regulární výrazy #5 - posesivní regexy a StackOverflowError


Minule jsem psal o hladových a líných regexech, naznačil jejich implementaci a ukázal případ, kdy líný regex může předejít přetečení zásobníku a StackOverflowError. celý článek →
24. 6. 2018

Striktní a líné jazyky


František Řezáč napsal článek o tom, že Operátory nejsou (vždy) funkce. To je pravda a není k tomu třeba dodávat nic víc. celý článek →
19. 12. 2017

Java, Scala a regulární výrazy #4 - líné regexy a StackOverflowError


Jednou z nepříjemných vlastností regexů v Javě je to, že můžou snadno skončit přetečením zásobníku a StackOverflowError. Regexy dělají backtracking, jsou implementovány rekurzivně a proto jde o nevyhnutelnou eventualitu. celý článek →
5. 12. 2017

Java, Scala a regulární výrazy #3 - rychlost


Jak je na tom výkon regulárních výrazů ve srovnání s ručně psanými parsery? celý článek →
27. 11. 2017

Java, Scala a regulární výrazy #2 - rychlost


Stará poučka říká, že v Javě bychom měli regulární výrazy vždy dopředu zkompilovat a pak je opakovaně používat, protože kompilování je časově náročné. celý článek →
26. 11. 2017

Java, Scala a regulární výrazy


Poslední dobou zjišťuji, že práce s regulárními výrazy v Javě a Scale je neuspokojivá, matoucí a API nikdy nenabízí přesně to, co bych chtěl. celý článek →
píše k47 (@kaja47, k47)