Snakes exploring Pipelines – A “System Engineering and Management” Project

Part 4: Jenkins and Wrap Up

This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines.

Our first blog entry for this year will at the same time be the final one for this project as well, but to ease your pain of separation, we saved a highlight for the very end: Jenkins integration!
Starting with a short introduction to Jenkins, in this entry we’ll guide you through installation and configuration.

Continue reading

Snakes exploring Pipelines – A “System Engineering and Management” Project

Part 3: Coding Guidelines

This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines.

An important part of any professional software development process (like ours 😀 ) are coding guidelines and methodologies, so we’ll deal with these in today’s blog entry. A fancy system we learned about in the course was the 12 factor methodology. It is mainly applicable for web-based, software as a service (SaaS) applications and defines high-level aspects an application should follow in order to remain robust and maintainable throughout its lifecycle.

Continue reading

Snakes exploring Pipelines – A “System Engineering and Management” Project

Part 2: Initial Coding

This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines.

Onwards to the fun part: The actual coding! In this blog entry, we will focus on test-driven development. Like we learned in the course, the very first task to do was to set up unit tests with JUnit, and so we did. As a quick reminder (or an introduction) the basic concept of test driven development:

Continue reading

Snakes exploring Pipelines – A “System Engineering and Management” Project

Part 1: Tool Setup

This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines.

Welcome to the next part our project, on its way to become the Snake game with the very best underlying code base ever. (If you somehow missed the introduction to our project, you may want to give it a read: Click ) Today, we’ll take a look at the most important tools we use for building and versioning our code: Eclipse, Gradle and Github.

Continue reading

Snakes exploring Pipelines – A “System Engineering and Management” Project

Part 0: Introduction

This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines.

Once upon a time, which was about one and a half months ago, an illustrious group of three students found together, united by the shared interest to learn more about systems engineering and software development in the aptly named course “System Engineering and Management”.

As we had to choose a project to work on for the course, we decided to explore modern, professional development methodologies as employed in software development companies.
In particular, we wanted to focus on pair programming and test driven development with unit tests for the actual coding, as well as using a build and deployment pipeline for continuous integration, supported by tools and a version control system.
Continue reading

Malvertising – Part 1: Internet advertising basics

bildschirmfoto-2016-10-03-um-20-53-58Imagine surfing the web on a normal trustworthy website. On the top of the page you see an ad for something that interests you, e.g. the newest smartphone you like for an unbelievable cheap price. You click on the ad. Why wouldn’t you? You’re on a trustworthy site after all. The ad turns out to be a hoax, there are no smartphones for a price that cheap. Over the next few days you notice some strange behaviour from your computer.  Turns out, your computer is infected with some malware. How could this happen? In this case, you’ve been a victim of malvertising. Malvertising is a word composed of Malware and Advertising. As you probably already suspect right now, it means infecting users with malware via advertising on the internet. In this series of articles, I want to give you an introduction to malvertising, first by looking at some basics of advertising on the internet.

Continue reading