“It makes deployment easier”, “It makes environments more equal to each other”, “It is just a trend”. These are some quotes people give to the phenomena Docker. In this tutorial, I show some basic things with Docker.
But first; What the hell is Docker? Docker is a light weight opensource framework to package an application in a container. The purpose of this container is that it can runs anywhere (in the cloud, on your own computer or in your own datacenter) without configuring each environment seperately. The idea behind this principle is that the container contains everything; your application, the configuration of your applications, shares and also a OS, which is mainly Linux. Continue reading
Some of you might know; I play in a soccer team located in Balkbrug, just for fun and also maintain their website. The club I play for, SC Balkbrug, has a facebook page, twitter and a website to reach several groups of people. All these pages takes a lot of time to maintain. For example, if there is a news item, we have to put it on facebook and the website which is manually 2 actions. It is also difficult to find volunteers who want to update every page with news items and competition information. Wouldn’t it be easier to update one resource and the other resource gets updated automatically? In this blog, I am going to show how to setup and make use of data from external resources facebook and voetbalnoord.
Last few weeks, I’ve been working with the beta versions of Angular 2. Some history: I started in december 2015 with Angular 1 and it took some time to learn. However, I liked the framework and posibilities. I also went this year to NG-NL, an Angular conference in the Netherlands. The Angular team announced that a stable version of Angular 2 will be released this year (2016). Angular 2 is a huge difference compared to Angular 1, because the Angular team started the framework from scratch. In my opinion, the framework is much easier to learn and also much easier to understand. However, that are opinions :). Secondly, my company decided to use Angular 2 for one of their applications so I decided to dive a bit more into Angular 2.
MongoDB is an opensource NoSQL database implementation, founded by the people behind DoubleClick, ShopWiki and Gilt Groupe. NoSQL is a different approach compared to traditional RMDBS databases. Traditional RMDBS databases (for example Oracle databases and MS SQL databases) are based on structured data. In a typical RMDBS environment, we first analyse how data could be saved in a structured way. Based on that analysis, we create tables and queries to store and retreive data from the database. The power of NoSQL databases is that it does not use a predefined relational data model. NoSQL databases stores data in a more generic way, based on keys with corresponding values.
Nowadays, indexes are essential in every database to support fast search to retrieve specific database rows. Not only databases but also applications could use data structures, for example the System.Collections.Generic.Dictionary in C# and the java.util.HashMap in Java could be used for for fast searches using specific keys. In terms of the Big O notation, the retrieval time for items in a hashmap and dictionary based on a key is O(c) (constant). These data structures are very handy to support fast searches in specific items in applications. Database indexes are a bit slower compared to the map and dictionary, because most databases use a B-Tree on the background. The retrieval time of these indexes are O(log n) in a worst case scenario but still it is very fast. Last month, I got in touch with the phenomena called ‘inverted index’. I never heart of the inverted index before, but people told me positive stories about it and also the usual stories that this type of index is ‘tha bomb’ and should be used for everything related to search, so I decided to dive into this topic. Continue reading