Yet another blog about software development

My thoughts about {Golang,Java,Cassandra,Docker,any-buzzword-here}

Cache, Cache, Cache…

by Adam Jędro. Categories: cache / programming Tags: cache / tips

Cache, cache, cache… it is used in various form in most applications. Among others, few cache types are: * opcode cache/accelerators such as APC for PHP * in-memory cache, very often it’s just hash table * distributed hash table like Memcached * CPU and its L1/L2/L3 * browser cache * and many others… Starting from ORM that caches query results, through typical CRUD applications that use cache for storing data, to your browser that caches static resources - cache is everywhere.

Read more →

Service discovery and deployment orchestration with Consul in the background.

by Adam Jędro. Categories: distributed-systems / programming Tags: consul / deployment / distributed / systems

Nowadays most of the enterprise applications bigger than just simple CRUD have numerous challenges to solve, both on engineering and business side. From the engineering perspective, apart from business specific tasks, the most common and challenging are: resilience, high availability, scalability, fault tolerance, ability to being deployed frequently. Lots of tools have been created to help us achieve these goals but new software and patterns are still emerging as in the software world solutions are neither perfect nor universal.

Read more →

Application monitoring is your friend so let me tell you the story.

by Adam Jędro. Categories: programming Tags: monitoring / alerting / opentsdb / grafana / scollector / newrelic

The story: When and why I understood that monitoring matters. You can’t improve if you don’t measure I have heard this sentence many times. After some time I understood that it is not just a random statement… but let me start from the beginning. After six months in my current company I was asked to be a technical owner of two services, not critical but quite important ones.

Read more →

Go vs Java: tools

by Adam Jędro. Categories: golang / java / programming Tags: golang / go / java / programming / tools

In Java, where I come from, there are plenty of programs that help developers in their work. Build tools such as Maven or Gradle and IDEs with their plugins actually can do (almost)everything I might want. A huge community of developers makes it easy to choose right tool to get the job done. Golang was created with other vision in mind. A lot of tools are built-in into the language itself, allowing to get things done in a standardized and organized way.

Read more →