Posts

Showing posts from March, 2020

Design Patterns for MongoDB

Image
Since the dawn of computing, data is ever growing — this has a direct impact on the needs for storage, processing and analytics technologies. The past decade, developers have moved from SQL to NoSQL databases, with MongoDB being  dominant in terms of popularity , as an operational data store in the world of enterprise applications. If you have read any of my recent articles or know me in person you may realise how much I value  software architecture and patterns . Most people think that they are only applicable on the server side. I truly believe though that the  backend design  should not be an afterthought, but a key part of the architecture. Bad design choices are explicitly affecting the solution’s scalability and performance. As such today I will introduce you to a few  practical  MongoDB design patterns that any full stack developer should aim to understand, when using the MERN/MEAN collection of technologies: Polymorphic Schema Aggregate Data Model ❗️ Assumption: Basic familiari

Performance Optimisations in Java

Image
There has been a lot of hype about the buzzword “ web scale “, and people are going through lengths of reorganising their application architecture to get their systems to “scale”. But what  is  scaling, and how can we make sure that we  can  scale? Different aspects of scaling The hype mentioned above is mostly about scaling  load , i.e. to make sure that a system that works for 1 user will also work well for 10 users, or 100 users, or millions. Ideally, your system is as “stateless” as possible such that the few pieces of state that really remain can be transferred and transformed on any processing unit in your network. When load is your problem, latency is probably not, so it’s OK if individual requests take 50-100ms. This is often also referred to as  scaling out An entirely different aspect of scaling is about scaling  performance , i.e. to make sure that an algorithm that works for 1 piece of information will also work well for 10 pieces, or 100 pieces, or millions. Whether this t

The State of Java : Trends And Data For One of The World's Most Popular Programming Language

The modern software industry is vast, and there’s no shortage of programming languages to choose from. Yet even within a single technology stack, like the Java ecosystem, it can be difficult to draw useful conclusions about its market. Java is incredibly successful, and it’s present in almost every major industry and economic sector—this, in part, is what makes it so difficult to come to a single declarative point of view about the state of the Java ecosystem. But that doesn’t mean we can’t try to assess the state of the world. Every day, tens of millions of Java virtual machines (JVMs) share their data with New Relic. To build this report, we anonymized and deliberately coarse-grained that data to give some broad overviews of the Java ecosystem as we see it. We also avoided any detailed information that could help attackers and other malicious parties. We hope that these observations provide some new context and insights about the state of the Java ecosystem today. With that said, we

MIT’s deep learning found an antibiotic for a germ nothing else could kill

Image
Scientists at MIT and Harvard’s Broad Institute and MIT’s CSAIL built a deep learning network that can acquire a broad representation of molecular structure and thereby discover novel antibiotics. The resulting compound, halicin, can destroy a pathogen for which no cure has existed, and it could even help in the fight against coronavirus. One hundred years ago, the state of the art in finding antibiotics was epitomized by the playful explorations of Alexander Fleming, the Scotsman who discovered penicillin.  "I play with microbes," Fleming is quoted as having said. "It is very pleasant to break the rules and to be able to find something nobody had thought of." Today's research in antibiotics is conducted somewhat more mechanically, perhaps, but it's still important to break the rules sometimes, to look where one might not otherwise. Scientists at the Massachusetts Institute of Technology and Harvard  last month described in the scholarly journal Cell  how th