Agenda
-
13:00 14:15
Front-end for large scale applications
Martin ChaovMartin ChaovSoftware designer, SBTech13:00 14:15Hacker Mindset
Martin KnoblochHacker Mindset We write software to enable information sharing and business functionality with the best intends. Considering usability, initiative design, availability, continuity, time-to-market and all those business driven aspects of modern software development. Unfortunately, security (secure architecture, design and secure development) are hardly considered. This is no wonder, as it is not always clear what is meant by security. Whereby, for example availability is easy to understand and all types of performance testing tools are out there, how to test security? To help you design and build (more) security software in the future, this talk will guide you towards understanding how a hacker works, what is a hackers gain and goals and how to look differently at your applications source and functionality.Martin Knobloch14:30 15:45Reactive Programming with Project Reactor
Ivaylo PashovOur everyday life is changing rapidly over the recent years. People are used to get their tweets now. Millions of players expect responsive online games. People need the lights turned on once they enter home. Global finance demands most accurate prices as of now. These dramatic changes in requirements are driving the migration towards reactive system architectures. Project Reactor gives you an amazing toolbox to rapidly implement reactive systems and services. In this talk we will lay the foundations of reactive streams. We will also go through topics like integration with other synchronous/asynchronous APIs, operators, backpressure, error handling, multicasting, adjusting concurrency, testing and debugging with Project Reactor.Ivaylo PashovA developer highly specialized in asynchronous distributed systems. He has broad experience in different languages including Java, JavaScript (both frontend and backend), Delphi and C.14:30 15:45Building a different Web Experience with HTML5
Samuil AleksovAre you bored of seeing the same bootstrap based web apps over and over again? Do you hate staring at tables?
If you answered “Hell Yes” to both of the above, this is the talk you want to attend!
We’ll look at what we can do today, to change the recipe for building the WOW Web tomorrow!.Samuil AleksovSam is a Lead Software Engineer at EPAM Systems with a decade of experience in the most obscure places of CS. His large technology stack plays a key role in offering working solutions and crazy ideas. He's best known for his unconventional proposals that more than once turned out to be winners. After years behind the monitor, collaborations with clients from different business fields, infinite requirements and the never ending search for unicorns, he is sharing with you the good, the bad and the evil of software development. Sam speaks about "The Full-stack developer", Xamarin, SignalR, Cross-platform development, React, WebGL and Data Driven Documents.16:00 17:15Testing JavaScript
Radoslav StankovSelf-testing code is essential for producing quality software. Unfortunately, a lot of people think testing in JavaScript is too hard. But a lot of people thought it was a toy language too. In the presentation, I talked about how to write good tests for JavaScript and shared a lot of tips and tricks.Radoslav StankovRadoslav is web developer for more than a decade. He believes that frontend and backend are equally important. Several years ago he started VarnaConf. Currently he works at Product Hunt, winner of Best New Startup Of 2014 Crunchies Awards.17:30 18:45Creating Angular Progressive Web App: which option will work better for you
Maxim SalnikovIt eventually happened: Progressive Web Applications took a worthy place in the modern web landscape, and there is no more need to convince developers why to go for performant, reliable, and engaging apps. Your Angular application is not the exception: adding PWA features is getting it to the next level of user experience.
We have at least two very interesting options to get there. First, the native Angular Service Worker (NGSW) by Angular team, super-powered by Angular CLI and some extra ng-pwa-tools. Second, the all new framework-agnostic Workbox library by Google Chrome team.
What's easier to set up for your Angular app? What has wider functionality? What's faster and more robust? Let's go exploring, coding and testing! You will have 100% full overview of these two approaches after my session, but the final decision is only yours!Maxim Salnikov16:00 17:15JUnit5 - The Next Generation
Kostadin GolevJUnit is the standard way to test things in Java. In fact, it is the most commonly included library for Java projects! Here is another fact - JUnit4 release was 11 years ago and no feature releases were added in recent years. What you knew about JUnit in 2010 is still 100% relevant today, in 2017. So finally, time for an upgrade! What took 11 years? What is new? What changed and what stayed the same? What about IDE and build tool support? When is the release date? What will testing on the JVM look like in the future? Attend this talk to find out!Kostadin Golev17:30 18:45Safely Shoot Yourself in the Foot with Java 9
Dr. Heinz KabutzSo what work do you do?" "Um, computers." "Oh nice, what exactly?" "Well, I code Java". And then: "Actually, I have a question about that. My PC says I must update Java ..."
Two decades ago, the world gasped as an applet moved pixels on a web page. Dynamic content on the World Wide Wait! We were hooked. "And it's 100% secure!"
Java 9 finally keeps the promise of "... it's 100% secure!" by removing Unsafe, deep reflection on system classes, etc. All those lovely toys to peek and poke into native memory ... they're gone. Well, not entirely. We can still do almost anything from Java 8. We can change Strings using deep reflection, Unsafe or even VarHandles. We can throw checked exceptions as unchecked. We can mark fields as @Contended. But this needs special privileges to work. It won't work in Java 10. Promise. (We'll see)
This talk will show you how to use some of the new Java 9 features, such as VarHandles, jshell and Stream improvements. We explain why you need to move over to G1 soon. We show how you can do all the old Java nasties, such as deep reflection into java.lang and throwing asynchronous exceptions.Dr. Heinz KabutzPartners
Venue
Flora Complex, Burgas Sea Garden, Burgas (Moskata Gradina)