Christmas is an amazing time and spending time with the family is often considered the most important thing. Some people, however, love to take the days off to look into some technologies left alone all year long. I’m one of those people, too.
That said I thought it’d be interesting to spend some time to compile a quick list of things to investigate during the 12 days of Christmas.
Because time’s money (and time that could also be spend with family), let’s jump right into it.
Kotlin is a general purpose programming language, mainly based on object-oriented principles, but providing functional style features, too.
A quick intro to Kotlin is the Kotlin Koans which offer a set of exercises available here.
2. Spring Boot
Spring Boot is a framework to build micro services applications in Java and other JVM languages.
It provides a set of dependencies which are tested, designed and highly integrated into each other, to provide a fast, easy access to micro services functionality to developers.
Kubernetes is a container orchestration system to automate and manage software deployments. Even though most people might have already looked into it, there’s most probably still many who haven’t. Now is the time to make sure this technology won’t leave you behind.
Tutorials Point offers a great, multi-chapter tutorial on all things Kubernetes for a wide range of people incl. DevOps, developers and generally interested people.
Based on declarative configuration, UI-definition and rendering, vue.js also offers advanced features often required by more complex applications like routing, deep linking, state management and more.
For the first steps into vue.js and for a bit of a change from reading all the time, why not go with a short video tutorial this time.
Neo4j is a database engine storing data according to the graph theory which makes queries based on relations easy, fast and incredibly better than with relational databases.
Why would a database engine require to invest time? Simple answer, storing data in graphs is very different from traditional relational databases and key-value stores. To get all the benefits of graph relations it is important to understand how to model datasets.
The probably best material on Neo4j is still coming from the company backing the project itself and can be found as part of their developer portal in the Getting Started section.
grpc, the Google RPC framework, is an easy to use, code generation supported, remote procedure call solution available for almost all available programming languages.
Given the fact, that grpc provides a fixed set of datatypes interoperability even between multiple different programming languages is possible by generating code with the respective generators from the grpc service specification.
Tutorials on grpc are highly depending on the programming language being looked into, therefore the folks over at the project collected Getting Started sections for the most common ones.
Go provides some pretty interesting concepts like support for generators, fibers, co-routines (or go-routines), channels and a lot more. Even though I’m not a major fan of the syntax, I think the language is worth an eye or two.
Most people might know or at least have heard about Linux these days, however it is not the only free and amazing server operating system out there.
FreeBSD is mostly known as the base for network attached storage systems like FreeNAS or firewall appliances like pfsense or opnsense, but there’s more to it. A look into FreeBSD, and in general all BSD’s like OpenBSD and more, is always worth it to see if it better matches the use case than Linux, not to mention Windows 😊.
Due to the similarities of FreeBSD and Linux, as both are based on Un*x, the entry is pretty fast for people familiar with Linux. However there’s still a great set of resources for beginners.
Dragonfly is a peer-2-peer based image and file distribution system to build large scale CDN solutions. Developed and used by Alibaba, Dragonfly serves more than 3PB of data with more than 2 billion requests every month.
Unfortunately it’s a little bit more complicated to find resources on Dragonfly, but the projects offers a good set of write ups themselves on how to use it and get started.
10. Go kit
Micro services are still the hot 💩, therefore yet another micro services framework, but for Go.
Go kit is designed to provide fast and easy development of micro services based solutions for Go developers. The main purpose of Go kit is to provide developers with the chance to focus on the business logic and leave out most of the weirdness of the infrastructure bits. Definitely worth a look if you already looked into Go.
Thanks to the Go kit team, example services with tutorial and source code are available right on their projects website.
Haven’t looked into purely functional programming languages yet, here’s your chance.
Clojure is such a fully functional language which provides all of the beauty of immutable data structures, code as data (you have to see for yourself 😏), specs and many more. Just be aware of parenthesis, you’ll learn to love it ….. or to hate it!
If you’re not yet into functional languages getting into Clojure is a little bit more complicated than with the other languages presented, however there’s an amazing resource with lots and lots of tutorial links.
Last but not least, GraphQL is a query language designed by Facebook to query data for visualization on the website. That way, web-developers are in charge to request only the data necessary to be presented on the current view.
GraphQL provides a lot of goodies, such as type safety, schema definitions, filters and much more.
To understand the basic and more complex concepts in GraphQL, the project offers a vast number of resources through their Introduction documentation.
Family and Friends
Those 12 technologies are obviously not all you should try or look into, however during the days you definitely want to spend time with friends, family and other loved ones.
If you really want to invest more time, I bet you’ll find lots and lots of technologies worth spending time with. And who knows, maybe in the end you’ll figure out a technology that you can deep-dive into and that eventually helps you with your job or even a new and better one.
Anyway, enough of the words, time’s money still. Therefore, merry Christmas and happy and fun days.