A Java geek

Nicolas Fränkel's blog

  • Me
  • Books
  • Speaking
  • Mentions
  • Focus
Oct 7, 2018 clojure dispatch defmulti defmethod

Learning Clojure: dynamic dispatch

This is the 4th post in the Learning Clojure focus series. A common pattern in software development is the dynamic dispatching (or routing) table. The table is responsible for returning the relevant output for a specific input. In the Object-Oriented programming world, the object model would look something like the following.

Nicolas Fränkel
Sep 30, 2018 clojure arrow threading

Learning Clojure: the arrow and doto macros

This is the 3rd post in the Learning Clojure focus series. For me, learning a new language is like getting into the sea: one toe at a time. This week, we will have a look at some powerful macros.

Nicolas Fränkel
Sep 23, 2018 clojure specifications type

Learning Clojure: coping with dynamic typing

This is the 2nd post in the Learning Clojure focus series. My new position requires me to get familiar with the Clojure language. In intend to document what I learn in a series of posts, to serve as my personal reference notes. As a side-effect, I hope it will also be beneficial to others who want to take the same path.

Nicolas Fränkel
Sep 16, 2018 career exoscale

A new milestone in my career

Two weeks ago, I started a completely new position at a new company: I’m now Developer Advocate (or to be more accurate, Developer Relationships Manager) at a company called Exoscale that offers Cloud Computing resources. There’s nothing technical this week, but a lot about me. You’re welcome to skip if that’s not your cup of tea. Or read on if you’d like to know more about me.

Nicolas Fränkel
Sep 9, 2018 jvm security policy

Crafting Java policy files, a practical guide

This is the 4th post in the JVM Security focus series. In one of my previous posts, I described how to create a custom policy file for one’s application. The process was manual and incremental. Because of that, it was painstakingly long, and hence not really useful. Since I wrote the post, I found a way to write the policy file under in a couple of hours, instead of days.

Nicolas Fränkel
Sep 2, 2018 api design interface default method java 8

Default methods in Java 8, and what it changes in API design

Java 8 introduced default methods in interfaces. This post describes what they are, and how they can change the design of APIs. A nominal design Earlier, in Java, interfaces could only have contracts - method signatures with no implementation. In order to add some implementation, a class was required, whether abstract or not. Hence, traditional API design then followed this hierarchy: The root interface defines the contractAn intermediate class implements common behavior i.e.

Nicolas Fränkel
Aug 26, 2018 dependency injection inversion of control

Back to basics: Dependency Injection

After years of near-ubiquitous usage of Dependency Injection, I see more and more posts and talks questioning its value. Some even go to the point where they argue against it. Most of it however is based on a whole lot of misconceptions, half-truths and blatant lies. In this post, I’d like to go back to the roots of DI, describe some related features and lists available frameworks.

Nicolas Fränkel
Aug 19, 2018 clojure functional programming

Decoding Clojure code, getting your feet wet

Recently, I had some some fun writing functional Kotlin to solve the FizzBuzz test. I asked for some feedback, and one of the answer I received was in Clojure: In Clojure there's the classic way, with condp and mod. There's also another way using cycle that I saw some years ago. The range and the 2 cycles will generate the fizz & buzz, the rest just decides what to print.Will be easier for you with syntax highlighting -> screenshots pic.twitter.

Nicolas Fränkel
Aug 12, 2018 serialization

Java serialization

In one of my recent courses, we talked about Java 5 annotations. I told my students that before that time, one had to use marker interface instead: an interface without any method. Then, I showed the Serializable interface as an example. I started to explain it, then realized I would need a lot of time to fully cover it. This post is an attempt at that. Serialization is the process of transforming an existing in-memory Java object to a stream of bytes.

Nicolas Fränkel
Aug 5, 2018 spring boot intellij idea ide

Spring Boot integration in IntelliJ IDEA

If you’re developing with Spring Boot, IntelliJ IDEA does offer a lot of niceties to speed up development. Let’s browse through some of them.

Nicolas Fränkel
« Newer Posts Page 40 of 83 Older Posts »
A Java geek © 2008-2026
v. c90dd4d646b9e4bbf57f27db1c7f530278e83315/13214997907
Latest Posts