RSS

Monthly Archives: February 2017

Spring Core Basics

Episode 58

This week I was planning to publish introduction to Amazon Web Services, but since I’m working on preparing Spring-based web applications development course for Wrocław University of Technology students with my two colleagues, I decided to change the schedule a bit. I planned to write few articles about Spring framework anyway, but in order to fit everything before particular classes in March and April I need to start exactly now.

a1dac3474b1a296e8ec8b14647ec7798.jpg

I wrote a Spring Hello World article over two years ago actually, but today I wanted to talk a bit more about some fundamental concepts: Inversion of Control and dependency injection. Let us take a closer look at application structure, configuration, components and wiring. There will be quite a lot of code snippets. If you would like to play with complete application working out of the box, visit my GitHub project Spring Angular Intro. The application is based on the one I prepared for Angular Intro article in September 2016, but now we will focus on back-end exclusively. This tag corresponds to project state at the time of writing this article.

Concepts

Classic approach to program structure is that we write custom, high-level code which calls lower level code.  The flow of control goes from our code to a generic framework or libraries. Inversion of control is a technique, where Read the rest of this entry »

 
1 Comment

Posted by on February 23, 2017 in Spring, Technology

 

Tags: , , , ,

Cloud Computing Intro

Episode 57

Last week we talked about virtual machines and containers and rapidly growing popularity of the latter. Another subject that people in software development talk a lot is the cloud. Everyone wants to be in the cloud nowadays, there is a number of good reasons to do that and some reasons not to.

2322dc8bfd0a655059a0b4d0301ea218.jpg

Originally, I wanted to write an introduction to Amazon Web Services this week, since I’m into this topic recently. However, I realized that the introductory paragraph about the cloud in general is growing too fast and it requires a separate article. Let’s start with a bit of history of cloud computing. Remember: There is no cloud. There is just someone else’s computer.

Cirrus: Long Time Ago…

After the initial developments in computing technology, in sixties and seventies, it was typical, that organization had one large computer, the mainframe, and people were connecting to it over the network using terminals, just to send data and receive results. Then, there was the microcomputer revolution, and Read the rest of this entry »

 
Leave a comment

Posted by on February 16, 2017 in Technology

 

Tags: , , , ,

Virtualization and Containers Intro

Episode 56

Container revolution is one of the hottest topics nowadays in software development industry. The little blue whale, the Docker logo, can be seen on most programming conferences as well as numerous Twitter feeds of, so called, IT influencers.

676811.jpg

Today, along with containers, we will talk about their older and fatter siblings: virtual machines. It’s good to understand similarities and differences between those two and how to take advantage of that. We will talk about what containers are and what they are not. Contrary to what might have seem, containers did not render virtual machines entirely obsolete and there are reasons to use both.

Virtual Machines

Virtual machines are emulations of computer architectures and provide functionality of a physical machine using appropriate combination of software and hardware. It’s not a new concept, as first implementation dates back to systems developed in the sixties like IBM CP-40. They are commonly used to Read the rest of this entry »

 
1 Comment

Posted by on February 9, 2017 in Technology

 

Tags: , , ,

Software Gardening: Beyond Craftsmanship

Episode 55

In the past I wrote quite a lot about the nature of software developer. There was a comparison to scientist, then engineer, martial artist and finally to something based on medieval craftsman, who combines all three to an extent. However, some time ago I’ve encountered yet another metaphor for our profession that felt quite appealing.

little_gardener_by_irina_ponochevnaya-d9qc7m0

It’s the Software Gardener. The person that works not on an inanimate object, but on living, organic ecosystem that is constantly changing in unpredictable ways, and depends greatly on environmental factors. Let’s see what it’s all about.

Birds Are Chirping About the Gardener

The metaphor is not that common. I sit quite a lot on LinkedIn (probably more than typical software developer does and should) and I recall only one person that called herself that. Google finds about 5k results on “software gardener”, not much compared to 159k on “software craftsman”, 33M on “software developer” or 44M on “software engineer”. While the parallel to software craftsmanship was first drawn in 1992 by Jack Reeves, the parallel to gardening is not that young either. Read the rest of this entry »

 
Leave a comment

Posted by on February 2, 2017 in Misc

 

Tags: ,