On 8th and 9th October, more than 450 developers participated in the conference "Coding Serbia" in the premises of NIS Business Center, Novi Sad.
From the first day of the conference, we would especially underline following lectures: Pierre Yves Ritschard, in his lecture “Making distributed systems with easy Mesos", represents Apache Mesos as one of the solutions, which simplifies distributed systems and internal separation of the functionality of the system.
Johan Janssen Beyond had a lecture on the basics of SonarQube's. This open-source platform allows the user’s constant insight into the quality of his code. Detection of potential bugs, duplicate code, lack or excess comments in the code, unit tests, code complexity and design are just some of the problems that SonarQube can determine. Although the lecturer especially emphasizes the usage of SonarQube in JavaScript and CSS, this application, based on the web, covers over 20 programming languages among which are Java, C #, C / C ++ and PL / SQL.
"No Estimates" was separated theme of the conference “Coding Serbia”, which has been presented by Vasco Duarte through two-day lectures and workshops.
As an experienced agile coach and project manager, Vasco Duarte through, the "No Estimates" paradigm presents the approach to managing the development of software products without estimation. Starting from the assertion, that the estimations of software projects are unnecessary because according to statistics, they are inaccurate in 75% of cases, "No Estimates" focuses on the value of the product, rather than on the estimation of the time required for preparation. The objective is to determine what is the most important functionality of the product, the one that provides the greatest value of the product. Then, for a short period of time (two weeks), the project team works to develop a prototype of the main functionality. This allows you to quickly obtain feedback and provides room for improvements in functionality, at the very beginning of development. The idea behind this is to set a good basis for further development of these and all other functionalities of the product.
This is certainly a controversial topic, but it doesn’t aim to completely discard estimation, rather challenge current "estimate-driven" approach to develop software solutions and aims to find better alternatives.
On the second day, we attended the following sessions:
Gojko Adzic presented in which way we could improve applications deployment. He underlined differentiation between deploy and release. He emphasized the fact that release should be done on a smaller group of users – which would act as testers, and then to move to a larger group, all other users.
Peter Lawrey talked about lambda calculus in Java 8 - What are the advantages and disadvantages of lambda functions in Java. He presented when they should be used and when we don’t use them, and also how many objects it allocates in memory when used. Sometimes it turns out, that in a fairly simple function to create a string, lambda functions provoke many more objects than ordinary functions. The focus is on the optimization, "for and against" using lambda expressions in the code, bearing in mind the current assignment of resources to perform simple operations.
Jurg Stuker presented web applications load testing, with points on when to start testing and which steps to include. The results for linear and nonlinear systems were shown.
Link to the video in which he presented a live demo test:
The demo was performed using the tool ProxySniffer (https://www.proxy-sniffer.com). Good practice to start web application test is from the point "as close to the application as possible" - directly on the application server, as infrastructure issues should not necessarily cause functional problems.
Benjamin Cabé spoke about embedded development and integration Eclipse platform IoT (Internet of Things). Pi4J (http://pi4j.com ) and Eclipse Kura were used. It was mentioned what is required for the end user on the mobile and web platforms. The platform offers integration with a variety of services and potential applications in many fields, such as the implementation of control smart homes.
Heiko Seeberger has introduced a combination of Akka's and AngularJS code "Reactive" application. Communication between AngularJS's (the frontend) and Akka-s (the backend) is presented by sending messages. As for extras, Akka Distributed Data (CRDTs), Akka Cluster Sharding and Akka Persistence were used.
Jochen Mader talked about catching events with the help of Vert.xi Kafka, and quoted their use in gaming programming (multiplayer). Vert.x enables you to send one request from multiple users at the same time and supports a variety of programming languages. Kafka was presented as an intermediary between Game logic and net servers, as well as between rest routes and servers.
Ales Justin and Mark Lukša presented to us Docker platform for launching and distributing applications. The principles of the Docker are images, registers (used to record and read image) and containers (representing running images). Dockers have consisted of image layers and containers. Kubernetes is a system for management of the Docker containers, which supports deployment, maintenance and scaling, and also serves as automatically restart and rescheduling - replacement of the containers. Kubernetes concepts are pods, volumes and labels, replication controllers and services. OpenShift v3 - Service of Kubernetes was presented, as well as the Jube - special sort of Kubernetes without Docker.
We can say that this conference covered the current topics from the world of software development, from technological, business and project management point of view.