Viewing entries in
Level: Intermediate

Sane Single Page Apps: Easy Data Handling with DTOs

Sane Single Page Apps: Easy Data Handling with DTOs

When a software collapses, it’s usually due to it being no longer maintainable because of complexity. Brian Kernighan, the creator of AWK programming language, puts it quite explicitly: "Controlling complexity is the essence of computer programming".

Practical Intro to Monads in JavaScript: Validation

Practical Intro to Monads in JavaScript: Validation

Few weeks ago I published a practical Intro to Monads in JavaScript where I covered basics of Identity and Maybe monads. Some time later I added a tutorial on Either monad and fails-fast error handling. This time I will show you error accumulation in a simple Validation use case.

Tackling a 1 Billion Member Social Network - Fast Search on a Large Graph

Tackling a 1 Billion Member Social Network - Fast Search on a Large Graph

At Evojam we always seize opportunities for R&D. So when a former client asked us for cooperation on an existing project, which involved a 1 billion member social network, we jumped at the opportunity. We joined the team and did our best to fix bugs and solve data consistency, performance and reliability issues. Additionally, we presented a more effective approach to the application’s architecture. This article briefly covers our journey through the 1 billion member social network.

Practical Intro to Monads in JavaScript: Either

Practical Intro to Monads in JavaScript: Either

My simple and practical Intro to Monads in JS, where I covered basics of Identity and Maybe monads, seemed to be helpful for a lot of folks, so I’ve decide to continue the topic. Now it’s time for Either – a tool for fast-failing, synchronous computation chains. A tool that may increase readability and quality of code while reducing error proneness. The best part is that we can still ignore the category theory!

Presentation: Awesomely descriptive JavaScript with monads

Can unfamiliar pattern from world of statically typed functional languages improve JavaScript world? For sure YES! The elastic nature of JavaScript can handle great ideas from many alien worlds. With a little help of modern tools like ​monet.js​ and ​TypeScript​ we can achieve awesomely descriptive aesthetics of our code and drop some imperative bloat.

Keep Your Library Simple: Scala API Design Case Study

Keep Your Library Simple: Scala API Design Case Study

We've been using Play Framework with Elasticsearch and elastic4s for a while. Getting it all to work together requires some boilerplate code, though. We decided to create a small library that would make things easier in future projects. We learned some lessons about building Scala libraries along the way.

Practical Intro to Monads in JavaScript

Practical Intro to Monads in JavaScript

If you’ve heard about Monads but never had time learn them, here’s a simple explanation. Not a theoretical nonsense. It’s a simple, practical tutorial for JavaScript developers showing how some monads can be used. It’s for engineers, not scientists.

Static Typing in JavaScript & Best Tools to Do It

There are three popular possibilities – jsDoc (with e.g. Google Closure Compiler), Facebook Flow and Microsoft TypeScript. First one uses comment like annotations – does not corrupt pure JS – while next two extend JS so they have to be transpiled. I will compare them briefly in a moment.