Home
Videos uploaded by user “Parleys”
The Future of Dependency Injection with Dagger 2
 
54:03
Dagger is a fast dependency injector for both Java and Android. Its second major version not only brings new features for parity with other frameworks but continues to push the boundaries of speed. This talk will start with a brief introduction to Dagger and dependency injection in general. We will then cover the new concepts and new APIs provided by Dagger v2 with real-world examples. Finally we'll demonstrate some powerful and fun behavior which can greatly enhance the quality of your apps. The concepts covered in this talk apply to both Java targeting the JVM and Android. If you are new to Dagger or dependency injection in general you can watch my "Architecting Android Apps with Dagger" talk from last year's Devoxx on Parleys: http://parleys.com/play/529bde2ce4b0e619540cc3ae/ (even if you aren't an Android developer!) Author: Jake Wharton Android, Java, open source, french bulldogs. View more trainings by Jake Wharton at https://www.parleys.com/author/jake-wharton Find more related tutorials at https://www.parleys.com/category/developer-training-tutorials
Views: 56063 Parleys
Real-Time Delivery Architecture at Twitter
 
43:34
With hundreds of millions of users, Twitter operates one of the world's largest real-time delivery systems, large enough and pervasive enough to exert noticeable "pressure" on the overall internet itself. At steady state, Twitter receives thousands of tweets a second that it needs to deliver to disks, in-memory timelines, email, and mobile devices. The name of the game for Twitter is "now", so those deliveries, which multiply according to the graph of who follows whom, need to occur in real-time. In this session, we will dive into both the "write path" and "read path" of Twitter to understand the architecture which supports those tweets, and also how Twitter serves them through one of the world's largest web sites. Author: Attila Szegedi Attila Szegedi is a Principal Member of the Technical Staff at Oracle, working on dynamic language features on the Java platform and the Nashorn JavaScript runtime for the JVM. Before joining Oracle, Attila worked as a Staff Engineer in Twitter's Runtime Systems group. He is also known for his work on several Open Source projects, most notably he is a contributor to Mozilla Rhino, an earlier JavaScript runtime for the JVM, a contributor to Kiji, Twitter's server-optimized Ruby runtime, the author of Dynalink, the dynamic linker framework for languages on the JVM, as well as one of the principal developers of the FreeMarker templating language runtime.
Views: 18189 Parleys
Effective Scala
 
56:09
This talk covers best practices of using the Scala language on the JVM. In this session, hear how to avoid null pointer exceptions, what the use of traits implies on object oriented design and how to best interface Java and Scala programs. This talk promotes general best practices in Scala, as exemplified in the book: Scala In Depth. Author: Joshua Suereth Josh Suereth is a Senior Software Engineer at Typesafe and the author of "Scala In Depth". He has been a Scala enthusiast ever since he came to know this beautiful language in 2007. He started his professional career as a software developer in 2004, cutting his teeth with C++, STL and Boost. Around the same time, Java fever was spreading and his interest was migrating to web-hosted distributed Java-delivered solutions to aide health departments discover the outbreaks of disease. Everything from EJB to Hibernate/Spring and even some Applets. He introduced Scala into his company code base first in 2007 and soon after he was infected by Scala fever, contributing to the Scala IDE, maven-scala-plugin and Scala itself. In 2009 he began writing the book "Scala In Depth" which provides practical support for using Scala in every day applications. Today, Josh is the author of several open source scala projects, including the scala automated resource management library, the PGP sbt plugin, as well as contributing to key components in the Scala ecosystem, like the maven-scala-plugin. His current work at Typesafe Inc. has him doing anything from building MSIs to profiling performance issues. Josh regularly shares his expertise in articles and talks.
Views: 5706 Parleys
The Reader Monad for Dependency Injection
 
32:27
There are a number of approaches to Dependency Injection. Some approaches get more attention than others. This talk is about how to do Dependency Injection using the Reader Monad. It will focus on: What Dependency Injection is and why we use it.What the Reader Monad is and how it can be applied to Dependency Injection.Some potential problems applying this pattern in an application, along with possible solutions. Author: Jason Arhart Jason works for Originate as the Scala Architect. He is in charge of setting best practices for the company and ensuring that Scala projects are constantly improving in quality.
Views: 4604 Parleys
Apache Active MQ
 
49:29
Apache ActiveMQ is the most widely used message-oriented middleware that uses messaging to connect remote applications written in Java, C/C++, Python, Perl, Ruby and many more. ActiveMQ is standards based and supports messaging protocols such as AMQP 1.0, WebSockets, Stomp, OpenWire and MQTT. Used from M2M to global enterprise deployments, this talk will cover the features, functionality and secret ninja ticks to get ActiveMQ to both perform and scale, without loosing messages. Author: Rob Davies undefined
Views: 30642 Parleys
Essential Scala: Six Core Principles for Learning Scala
 
36:38
In this talk I will discuss six fundamental concepts that underly effective Scala. How can programmers quickly and effectively learn to write idiomatic Scala? This is a question we at Underscore had to answer when developing our own training material. We knew we wanted to go beyond teaching syntax and give developers the concepts and techniques they needed to develop Scala in a systematic and idiomatic way. We identified six core concepts that cover a wide range of Scala programs. These concepts give programmers a reproducible way to create code -- once the problem domain is understood the code follows through a series of systematic and reproducible steps. The resulting code is robust and easily maintained. In this talk I will describe these six concepts, which are:  - expressions, values, and types; - objects and methods; - algebraic data types; - structural recursion; - functors and monads; and - type classes. I will show how they let us create code in a systematic manner, and how we can go about teaching the concepts to new Scala developers. This talk should be of interest to anyone who is transitioning to, or leading a team that is transitioning to, Scala, and anyone interested in guidelines for idiomatic Scala code. Author: Noel Welsh Noel is a partner at Underscore, the leading Scala consultancy. Noel has over fifteen years experience in software architecture and development, and over a decade in machine learning and data mining.
Views: 18533 Parleys
No one at Google uses MapReduce anymore - Cloud Dataflow explained for dummies
 
55:32
Warning: this an an algorithmics talk, and it also involves parallel processing. The MapReduce paper, published by Google 10 years ago (2004!), sparked the parallel processing revolution and gave birth to countless open source and research projects. We have been busy since then and the MapReduce model is now officially obsolete. The new data processing models we use are called Flume (for the processing pipeline definition) and MillWheel for the real-time dataflow orchestration. We are releasing them as a public tool called Cloud Dataflow which allows you to specify both batch and real-time data processing pipelines and have them deployed and maintained automatically - and yes, dataflow can deploy *lots* of machines to handle Google-scale problems. What is the magic behind the scenes ? What is the post-MapReduce dataflow model ? What are the flow optimisation algorithms ? Read the papers or come for a walk through the algorithms with me. Authors: Martin Gorner Martin is passionate about science, technology, coding, algorithms and everything in between. He graduated from Mines Paris Tech, enjoyed his first engineering years in the computer architecture group of ST Microlectronics and then spent the next 11 years shaping the nascent eBook market, starting with the Mobipocket startup, which later became the software part of the Amazon Kindle and its mobile variants. He joined Google Developer Relations in 2011 and now focuses on entrepreneurship outreach. Blog: https://plus.google.com/+MartinGorner Thomas Park Google software engineer working to put the power of BigQuery and Dremel in the hands of developers worldwide. Blog: http://googledevelopers.blogspot.com/
Views: 10695 Parleys
Open Source workflows with BPMN 2.0, Java and camunda BPM
 
15:33
The Business Process Model and Notation (BPMN) is a wordwide ISO standard not only to draw but also to execute business processes. As Java developer you should not be afraid of BPMN thanks to a new generation of embeddable workflow/process engines. This session gives a hands-on introduction into the Open Source camunda BPM platform - expect more live coding than slides. Furthermore I want to share insights of our real-life project experience, for example Zalando processing huge amounts of orders over the platform. Afterwards you are able to decide if and how you may apply camunda in your own (workflow) project. Author: Falko Menge Falko is a senior technical consultant at camunda. He has a lot of experience with process automation and application integration and is a co-founder and committer of several Open Source projects in this area including camunda BPM. As the official representative of camunda at the OMG, Falko is a co-author of the BPMN and CMMN standards as well as the OCEB 2 certification. Blog: http://www.bpm-guide.de/
Views: 26031 Parleys
Scala Tricks
 
50:02
Scala is a very powerful hybrid functional pure object oriented language on the JVM. Scala is known for its conciseness and expressiveness. In this presentation we will look at some common tasks you do everyday in developing applications and see how they manifest in Scala. We will look at the strengths of Scala from application development point of view. Rather than focusing on the syntax of Scala, we will focus here on Scala idioms and powerful Scala libraries to perform routine tasks Author: Venkat Subramaniam Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions.
Views: 4753 Parleys
Parallella: An open hardware platform for teaching parallel programming
 
01:00:30
Making parallel computing easy to use has been described as "a problem as hard as any that computer science has faced." The goal of the Parallella project is to democratize access to parallel computing through affordable open hardware and open source tools so that the whole world can participate in solving this grande challenge problem.The talk will give an in depth technical review of the Parallella platform and will conclude by showing real parallel code samples written for Parallella in bare metal threads, MPI, OpenCL, and Java 8 fork/join. Author: Andreas Olofsson Andreas Olofsson (@adapteva) founded Adapteva in 2008 with a mission to create a new class of low power parallel processors. Andreas is the architect and designer of the Epiphany processor chips, currently the world's most energy efficient microprocessors in the world. In the fall of 2012, Adapteva launched the Parallella parallel computing project with the goal of producing a $99 credit card sized "supercomputer" that consumes less than 5 watts. Prior to starting Adapteva, Andreas worked at Analog Devices for 10 years developing energy efficiency DSPs and mixed signal SOCs. Andreas holds a BS degree in Physics and BS/MS degrees in Electrical Engineering from the University of Pennsylvania. Blog: http://www.adapteva.com/
Views: 16578 Parleys
An Overview of Guava: Google Core Libraries for Java
 
55:57
This talk will provide an overview of the Guava libraries (http://code.google.com/p/guava-libraries/), touching on topics such as collections, caching, hashing, primitives support, concurrency utilities, common annotations, string processing, I/O, math utilities, etc. Authors: Iulia Ion Iulia Ion is a PhD student and research assistant at ETH Zurich, in the Institute for Pervasive Computing. Previously, she received her B.Sc. and M.Sc. degrees from International University in Germany, and worked in the CREATE-NET research institute, in Trento, Italy. She carried out numerous internships and project collaborations with industry (SAP Walldorf, Nokia Research, Lausanne, Deutsche Boerse Systems, Frankfurt) and academia (University of Cambridge, UK, Carnegie Mellon, Pitsburgh, PA, Université de Provence, Marseille, France). She is currently working on reconciliating usability and security, with a special focus on mobile interactions. Previous work includes extending the Java ME architecture to support and enforce fine-grained security policies. Kurt Kluever Kurt Alfred Kluever is a software engineer at Google in New York City with 9 years of Java experience. Prior to working on Google’s Java Core Libraries team, he worked on backend infrastructure that supported a wide array of products such as Google+, YouTube, Docs, Photos, Ads, and Feedburner.
Views: 10840 Parleys
Git++ : Passez au niveau supérieur de la gestion de version
 
30:52
On utilise tous git mais on constate trop souvent qu'il est utilisé comme SVN malheureusement. Git apporte de la valeur dans le quotidien d'un développeur sans forcément ajouter de complexité.Avec git rebase et un peu de volonté, on peut réussir à avoir un historique expressif qui aidera tous les développeurs à s'y retrouver et il vous permettra même de générer un changelog fonctionnel ! Vous pouvez aussi récupérer des commits d'une branche sur une autre. Et plus encore!Venez apprendre quelques astuces simples qui vous permettrons d'améliorer votre manière de gérer votre code! Authors: Cyril Lakech @cyril_lakech Web & Java Dev @ Groupe Adeo @chtijug leader Hubert Sablonnière Hubert Sablonnière est un développeur Web passionné d’HTML, CSS et JavaScript. Depuis 6 ans il intervient chez INEAT Conseil en conseil et développement sur des projets Web (desktop et mobile). Habitué des plateformes Java et PHP, sa spécialité reste le JavaScript qu'il a enseigné pendant 2 ans. Sur son temps libre, il bidouille sur différents projets open-source en essayant de pousser la plateforme Web jusqu'à ses limites. Blog: http://hsablonniere.com
Views: 1860 Parleys
Ludicrously Fast Builds with Buck
 
51:59
It's a truism that your builds are never fast enough. But your builds could be faster, be they plain Java, Android apps, native code perhaps used via JNI, or even (whisper it) iOS code. Back in the mists of time, Facebook built its large and complex Android codebase using "ant", as was recommended. However, we found it hard to modularize the codebase, and our build times were a constant source of frustration. Buck was born out of this frustration, and was designed to properly use modern developer hardware --- multiple cores, plentiful memory, fast networks and SSDs --- in order to bring build times down from minutes to seconds. We now have ludicrously fast build times, particularly for incremental builds. Since Buck is Open Source, you could also have lightning fast builds. In this talk, we'll discuss how Buck works, what makes it so fast, and how Facebook structure their code base to take advantage of the ease of modularity that Buck brings, and we'll look at some of the other features, such as exopackage and IDE configuration for IntelliJ and XCode. Being hopelessly honest, we'll also cover some of Buck's flaws too! Author: Simon Stewart Often described as a fire hazard and sporting more hair than most primates, Simon is a Software Engineer on Facebook’s internal tools team primarily working on Buck, a next generation build tool. He is best known for having turned his hairy hands to the invention of WebDriver, the Open Source browser automation tool, as well as leading the Selenium project. When he is not saving kittens from fires he enjoys talking incessantly about Facebook’s commitment to OSS and how the company organizes its source control repos. Please ask him for what makes for a truly pleasurable London bus experience.
Views: 3712 Parleys
50 JMS 2.0 Best Practices in 50 Minutes
 
01:01:42
What is JMS? When should you use a queue, and when should you use a topic? Should your topic subscriptions be durable or nondurable, shared or unshared? Do your messages need to be persistent, or is nonpersistent better? Which of the four JMS APIs should you be using, and how do they interrelate? These and many other questions about JMS are addressed in this quick-fire session, which answers 50 common questions about how your applications can get the best out of JMS. The introductory-level session is technical in nature, with lots of code examples. Author: Nigel Deakin Nigel Deakin is specification lead for JMS and a principal member of technical staff at Oracle, working on the development of the WebLogic and GlassFish application servers. Blog: https://jms-spec.java.net
Views: 4436 Parleys
Scaling Agile with Tribes, Squads, Chapters & Guilds
 
47:38
Dealing with multiple teams in a product development organization is always a challenge! One of the most impressive examples we've seen is Spotify, a fascinating company that is transforming the music industry. Spotify has kept an agile mindset despite having scaled to over 30 teams across 4 cities and 3 timezones. So how is this managed? How do handle dependencies? How do we avoid technical debt? How do we synchronize multiple teams? How do share knowledge across the organization? How do we get stuff into production? And what the heck are tribes, squads, chapters, and guilds anyway? Authors: Henrik Kniberg Best Speaker Award at Jfokus 2008 - Henrik Kniberg is a consultant at Crisp in Stockholm, specializing in Java and Agile software development. He takes a holistic approach and enjoys adopting different roles such as manager, developer, Scrum Master, teacher, or coach. He is passionate about helping companies build excellent software and excellent teams, taking on whatever role is necessary. His interests and twelve years of experience cover most aspects of the art of software development including team leadership, development, architecture, requirements management, configuration management, and quality assurance. As cofounder of several Swedish IT companies he has spent many years experimenting with agile processes in teams of up to 45 people. In late 2005 Kniberg was contracted as chief of development at a Swedish company in the gaming business. The company was in a crisis situation with urgent organizational and technical problems. Using Scrum and XP as a tool, he helped the company out of the crisis by implementing agile and lean principles at all levels in the company. This is described in the popular book ‘Scrum and XP from the trenches’. Anders Ivarsson Anders works at Spotify as Agile Coach since October 2011. As an agile coach, my goal is to help our squads work as effectively as possible - through continuously improving us, finding better ways of working, making us more autonomous and also to have fun at the same time. Another key challenge for me is enabling the company to grow very fast, while still staying agile and moving closer to our vision on how we want to work.
Views: 10586 Parleys
Composable application architecture with reasonably priced monads
 
45:31
Most of us have an experience of functional programming that is isolated to small libraries or specific immutable data structures. But can we design our entire application architecture in a purely functional way? Can we do "aspect-oriented" programming with cross-cutting concerns that are compositional and checked by the type system? Yes we can, and in this talk we will look at a conceptually simple recipe for making that happen. We will see that the best things in Scala are Free. Author: Rúnar Bjarnason Rúnar Bjarnason is a senior software developer at Verizon OnCue. Rúnar is co-author of the book "Functional Programming in Scala", and an occasional speaker and blogger on Scala and functional programming.
Views: 8084 Parleys
Design Patterns in modern JVM Languages
 
50:36
The GOF design patterns were quite centered around OOP languages. Now that we have dynamic and functional languages on the JVM, there are quite a few other patterns that come in handy with these capabilities. In this presentation we will explore patterns that allow us to make better use of closures and functional style of programming. Author: Venkat Subramaniam Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions.
Views: 8134 Parleys
Architecting Android Applications with Dagger
 
49:37
Dagger is a new, fast dependency injector for Java and Android. Using dependency injection in your app helps promote clean, modular code that also lends itself very well to testing in both automated and manual fashions. This talk will start with a basic overview of dependency injection including why you would use it and how Dagger differs from other injectors. Following that we will look at what is necessary to use Dagger in the scope of an Android app. We’ll wrap up with some advanced concepts as well as general tips and tricks for achieving maximum utility. Author: Jake Wharton Android, Java, open source, french bulldogs.
Views: 20685 Parleys
Spicing up JMX with Jolokia
 
30:13
**The evolution of the Java Management Extensions (JMX) has stalled. Its fossilisation started some years ago but although JMX's future is more than unclear, it is still present in every JVM out there. However, JMX is not without severe issues in a polyglot world with regard to remote access. Jolokia is an open source project which provides an easy HTTP access to JMX not only for Java clients.** Originally intended as backbone for lightweight Nagios monitoring, Jolokia is nowadays used as a general purpose management API adopted by platforms such as ActiveMQ or Spring XD and used by HTML5 consoles like hawt.io. This talk gives a detailed overview of Jolokia and its architecture. Jolokia uses an agent based approach where multiple variants with support for many platforms are available. In addition to standard JMX operations, Jolokia provides unique features like bulk requests or policy based security. The live coding part in this presentation demonstrates how easily a custom browser based JMX-JavaScript client can be developed. A live sneak preview of the forthcoming Jolokia 2.0 release finally completes this session. Author: Roland Huß Roland Huß is a senior software architect and head of research and development at ConSol Software, a consulting company focused on Java development and IT services. He has been developing in Java for eighteen years now but never forgot his roots as system administrator. Roland is an active open source contributor, lead developer of the JMX-HTTP bridge Jolokia and loves chili pepper. Blog: http://www.jolokia.org
Views: 4315 Parleys
Machine Learning, Python et Open Data : démonstration d'un cas d'usage pour geek
 
32:44
Nous ferons une démonstration réelle d’un cas d’usage de machine learning (apprentissage automatique) à l’aide des librairies Python scikit-learn et pandas. Le jeu de données : un set de 30 000 combinaisons Euromillions, soumises par des joueurs réels (via la plateforme de crowdsourcing http://www.onewinner.me) Le challenge : entrainer un modèle pour prédire si une combinaison donnée (exemple : 3 - 9 - 19 - 32 - 45 / 2 6) est plutôt humaine, ou parfaitement aléatoire L'objectif : aider les geeks à choisir des combinaisons vraiment aléatoires ! Author: Christophe Bourguignat Night Data Scientist tweeting fresh content about #BigData #DataScience #MachineLearning #FrenchData. Practicing at Kaggle and OneWinner.Me
Views: 19689 Parleys
Software Craftsmanship
 
49:37
After over ten years since the Agile summit, software projects are still failing and developers are still behaving and being treated as factory workers. The software development industry is still very amateur when compared to other professions. Why Agile was not sufficient? Why so many clients are unhappy with their software projects? Why is it so difficult to find good developers? In this talk Sandro will be explaining: what Software Craftsmanship really is, the value of technical practices, what it means to be a professional software developer, and what to do to satisfy our customers. Author: Sandro Mancuso Software craftsman and co-founder of the London Software Craftsmanship Community (LSCC). Sandro has been coding since a very young age but just started his professional career in 1996. He has worked for startups, software houses, product companies and international consultancy companies. Having worked as a consultant for the majority of his career, he had the opportunity to work in a good variety of projects, with different languages and technologies, and across many industries. Currently he is a director at UBS Investment Bank, where he works as a hands-on mentor, giving technical directions, looking after the quality of the systems and pair-programming with developers in the UK and abroad. His main objective is to help developers to become real software craftsmen.
Views: 2884 Parleys
Les nouveaux outils du développeur web
 
56:22
A travers une série de démos, vous découvrirez les meilleurs outils pour développer votre application web en 2015:Prototypez avec atom, emmet, et firebaseAbandonnez votre IDE: utilisez les devtoolsIndustrialisez votre projet avec yeomanMaitrisez grunt ou gulp: asset pipeline, tests, sourcemapsDéveloppez pour les mobiles avec votre styleguideTests sur devices: créez et maintenez un browserlabDéployez dans le cloud avec JavaScriptAnalysez la qualité de votre codeOptimisez vos performances avec web page test et les audits chrome Author: Philippe Antoine Philippe est SCRUM Master chez Xebia mais pas seulement: HTML5 n'a plus de secret pour lui et javascript est sa deuxième langue maternelle. Le jour il développe en équipe des applications web mobiles, la nuit il éxpérimente les dernières nouveautés techniques. Toujours disponible pour des dicussions passionnées, vous le croiserez surement dans les différents évenements à Paris: Devoxx, JavaCamp, ParisJS, Coding Dojo, Agile Tour... Philippe is SCRUM Master at Xebia, but not only: HTML5 has no secret for him, and he speaks javascript fluently. He loves to work with his team on web application by day, and experiment bleeding edge technology at night.
Views: 18435 Parleys
Scalable real-time data processing with Apache Samza
 
49:56
High-volume event streams are becoming widespread: IoT sensor data, activity events on social media, and monitoring events for fraud detection, to mention just a few. Hadoop is great for analysing data after the fact, but it's often too slow to respond to things happening right now. Traditional event processing frameworks are not scalable enough to handle the onslaught of data. Apache Samza and Apache Kafka, two open source projects that originated at LinkedIn, have set out to solve this problem. They are designed to go together: Kafka is a fault-tolerant message broker, and Samza provides a scalable and powerful processing model on top of it. This talk will introduce those projects, and explain how you can use them to solve your real-time big data problems. Author: Martin Kleppmann Martin is a committer on Apache Samza and author of the O'Reilly book "Designing Data-Intensive Applications". Previously he was a senior software engineer at LinkedIn, and he co-founded and sold two startups, Rapportive and Go Test It. He is a regular speaker at conferences and is based in Cambridge, UK.
Views: 4048 Parleys
Les monoïdes démystifiés, en Java et avec des verres de bière
 
51:10
Les monoïdes , c'est puissant, élégant, indispensable. C'est surtout facile à comprendre et à utiliser en Java, sans framework, et même en Java 1.4. Même si vous ne voulez pas entendre parler de monades, les monoïdes sauront vous convaincre.Expliqué avec des verres de bière et de nombreux exemples de code, découvrez un style de code qui séduit les développeurs dans le monde entier. Vous ne verrez plus les verres de bière ni votre code de la même manière ! Author: cyrille martraire Après 9 ans à développer avec passion des logiciels dans plusieurs startups et banques, Cyrille est co-fondateur et directeur technique d'Arolla, une société spécialisée en développement logiciel. Toujours accro au développement, il consacre une grande partie de son énergie chez des clients dans la finance de marché, en prenant intégralement en charge des projets en équipe, les mains dans le code et avec une forte implication dans l'analyse métier. Passionné de design sous tous ses aspects (Clean Code, TDD, BDD, DDD), il a aussi fondé la communauté Software Craftsmanship Paris.
Views: 1263 Parleys
Introduction à Cassandra - 1
 
50:57
Cassandra est un système distribué de gestion de données créé par FaceBook puis Open Sourcé en 2008. Cette présentation introduit de manière pragmatique et pédagogique différents concepts avancés mis en oeuvre par Cassandra. Les thèmes suivants sont abordés: Historique de Cassandra Modèle de données de Cassandra et requêtage Ecriture et réplication Tuneable Consistency en lecture et écriture Reprise sur erreur & Communication Peer to Peer inter-serveurs (Gossip) Problématique de la suppression en environnement distribué Réplication inter-datacenter Author: Nicolas Romanetti Nicolas Romanetti et Florent Ramière ont chacun plus de dix années d'expérience dans le développement logiciel et la conduite de projets informatiques. Ils ont passé plusieurs années aux Etats-Unis où ils se sont rencontrés chez un éditeur de logiciels. A leur retour en France, ils ont travaillé en tant que consultants avant de fonder Jaxio. Depuis 2005 ils mettent à la disposition de leurs clients leur savoir-faire et les meilleures pratiques via leur produit de génération de code Celerio.En 2009 ils ont lancé www.SpringFuse.com, une version en ligne de Celerio. Vous pouvez retrouver Nicolas et Florent aux soirées Java sur Paris (JavaCamp, ParisJug, Coding-Dojo, …)
Views: 2928 Parleys
Futures and Async: When to Use Which?
 
53:13
Async is a new Scala module designed to simplify non-blocking concurrency using futures. At first glance, Async appears to be yet another option to do concurrent or parallel programming in Scala, besides actors, futures, and parallel collections. This talk attempts to provide simple and clear guidelines on when to use futures and when to use Async. Concrete real-world examples will shed light on the relationship between futures and Async and their synergy. By showing the idiomatic use of futures and Async, the talk aims to simplify the choice of concurrency constructs in Scala. Author: Philipp Haller Not available
Views: 4916 Parleys
Logstash: l’arme secrète pour vaincre le coté obscur de vos logs
 
52:46
Les logs générés par vos applications, services, systèmes d’exploitations et équipements réseaux (soit toutes les composantes nécessaires au fonctionnement des systèmes d’information) sont typiquement une masse obscure de données non-structurée et décentralisée. La nature non structurée de cette information la rend chaotique et pratiquement incompréhensible.Grâce à sa flexibilité et sa simplicité, Logstash vous permet de transformer cette information non-structurée en données structurées, indexables et analysables.Venez découvrir comment l’outil Open Source Logstash peut vous aider à collecter et transformer les streams de données hétérogènes, décentralisées et non-structurées tels que les logs, pour passer du mode réactif de la recherche de la cause à la visualisation et l’analyse pro-active, en temps-réel, de vos données opérationnelles. Author: Colin Surprenant software engineer @elasticsearch. open source software developer, self-starter/entrepreneur, distributed/realtime data/stream processing. rock climbing.
Views: 2112 Parleys
JHipster, le générateur d'applications Spring Boot + AngularJS
 
51:03
JHipster est un générateur de code permettant de créer une application Spring Boot + AngularJS en quelques minutes. Cette présentation couvrira rapidement les technologies utilisées par JHipster (Spring Boot, AngularJS, Bower, Grunt, etc...), et se focalisera sur une session de 'live coding' où nous développerons une application métier, la modifierons, et la déploierons dans le cloud. Author: Julien Dubois Julien Dubois est directeur du pôle conseil chez Ippon Technologies, société spécialisée dans le développement et l’architecture d’applications Java. Il y dirige une équipe de consultants et architectes de haut niveau, et intervient régulièrement chez les clients de la société. Julien est connu dans le monde Java pour avoir co-écrit le livre "Spring par la pratique", avoir dirigé la filiale française de SpringSource, et pour parler régulièrement à des conférences.
Views: 6914 Parleys
De zéro à héros avec Spring Boot
 
03:01:54
Un JDK, maven/gradle et votre IDE préféré - c’est tout ce dont vous aurez besoin pour démarrer avec Spring Boot.Ensemble, nous partirons de zéro pour découvrir Spring Boot par la pratique, en construisant une application étape par étape :démarrer un nouveau projet Boot facilementcréer des services RESTintégrer un datastoresécuriser l’applicationconfigurer l’application selon les environnementsutiliser hypermedia dans vos APIs RESTajouter des health checks préparer l’application pour la production (devops)et plus encore!A la fin de cette session, vous connaîtrez les possibilités de Spring Boot et repartirez peut-être avec votre application dans le cloud! Authors: Stéphane Nicoll Stéphane has a thing for code quality and robustness. He's been spreading the word for more than ten years while developing large scale Java enterprise applications in the geospatial, financial, or logistics sectors. An Apache Maven PMC member since 2006, he joined the core Spring Framework development team early 2014, being one of the main contributors to both Spring Framework and Spring Boot since. During his free time, he loves traveling around the world brian clozel Spring Framework core committer, focusing on web and messaging. Lead developer of Sagan, the Spring reference app that powers http://spring.io Blog: http://spring.io/team/bclozel
Views: 26176 Parleys
Je déploie dans mon datacenter virtuel avec OpenStack
 
49:05
72% des entreprises françaises prévoient de mettre le cap sur le cloud hybride en 2015 et OpenStack est devenu l'implémentation open-source de choix pour ce type de cloud. Mais en tant que DevOps que peut-t-on en tirer ? Dans cette session, nous allons déployer les différents composants et tuyaux d'une application (load balancer, firewall, ...). Author: Sylvain Avril Geek à toute heure, j'ai eu l'occasion d'avoir une expérience diversifiée qui m'a amenée à occuper différentes responsabilités, à faire du réseau, du système, du dév, de l'architecture... Après mes années de formation de dev-shaolin, c'est donc naturellement que j'évolue plus désormais dans le domaine du DevOps.
Views: 8961 Parleys
The Lightning Memory-Mapped Database
 
46:15
The Lightning Memory-Mapped Database (LMDB) is a new database library written by Symas Corp. for the OpenLDAP Project. LMDB is a highly optimized B+tree implementation that is orders of magnitude faster and more efficient than everything else in the software world. Reads scale perfectly linearly across arbitrarily many CPUs with no bottlenecks, and data is returned with zero memcpy's. Writes are on average twenty times faster than commonly available databases such as SQLite. The entire library compiles down to only 32K of object code, allowing it to execute completely inside a typical CPU's L1 cache. Backends for OpenLDAP slapd, Cyrus SASL, Heimdal, SQLite, OpenDKIM and many other projects have already been written. This talk gives an overview of the library design, example code, and operational results of using LMDB in various projects. Author: Howard Chu undefined
Views: 2951 Parleys
REST on Akka: Connect to the world
 
50:04
Geared towards providing and consuming REST APIs in high-performance systems, akka-http enhances the increasingly popular Akka toolkit (akka.io) with its own client- & server-side HTTP stack: - Fully async & non-blocking - Reactive-Streams "all the way through (reactive-streams.org) - Flexible and concise, yet powerful and type-safe high-level APIs - Entirely written in Scala, no external deps - Deeply typed, immutable HTTP model - Successor of spray.io Akka-http delivers an excellent tool for connecting your applications to the world. In this session we'll look into what akka-http brings to the table, how it is used and how it improves upon previous solutions. You'll learn about best practices, who'll benefit most from its features as well as the roadmap forward. Author: Mathias Doenitz Among many other things Mathias is the original author of spray.io, which was acquired by Typesafe in 2013. As a long-time and active member of the Java and Scala open-source communities he is especially excited about everything performance-, scalability- and web-related.
Views: 3608 Parleys
Flyway - Database Migration made easy
 
52:07
We all take version control for granted. And it is, when it comes to code. On the database side, however schema evolution is often performed ad-hoc: a quick statement here, a little script there. The result: confusion and uncertainty. Has this update already been applied on this instance? Should we apply this other script first? Is our application going to run against this database? No more! This is where database migration tools come to the rescue! We'll look at a popular open-source choice called Flyway. By the end of the session, you'll have a solid understanding of what it does, how it works and how to effectively integrate it into your project. We'll look at concepts and solutions. We'll tackle the hard problems and show you how this fits in a Continuous Delivery and Zero Downtime workflow. This will transform how you deal with your database, and you'll never look back. Author: Axel Fontaine Axel Fontaine is a software development expert and independent consultant based in Munich. He specializes in Continuous Delivery and hates complexity with a passion. He is the founder and the project lead of Flyway, the agile database migration framework for Java. He is regular speaker at technical conferences. You can find him online at axelfontaine.com and on Twitter as @axelfontaine.
Views: 6560 Parleys
Introduction to Mutation Testing
 
14:08
Unit testing ensures your production code is relevant. But what does ensure your testing code is relevant? Come discover mutation testing and make sure your never forget another assert again. In the realm of testing, the code coverage metrics is the most often talked about. A line (or a branch) is considered to have been covered if during test execution this line has been run. However, it doesn't mean that the test has been useful or even that an assert has been coded. Mutation testing creates mutants from code - a deviation from the written code, and test them also. If a test still passes on a mutant, then the test is not relevant. PIT is a Java tool that makes mutation testing possible. Author: Nicolas Frankel Nicolas Fränkel is a Software Architect with +12 years experience in consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). He's generally focused on Java and JavaEE technologies, but he's narrowed interests like Software Quality, Build Processes and Rich Internet Applications. I'm currently working for a eCommerce solution vendor leader. He also double as a teacher in universities and higher education schools, and a trainer for experienced pros, and triples as a book author. Blog: http://blog.frankel.ch
Views: 8495 Parleys
Designing the Tesla Model S touch screen UI
 
01:01:46
Designing the Tesla Model S touch screen UI Author: Joe Nuxoll Joe is best known in the Devoxx world as a former co-host of the popular podcast "The Java Posse". By day, Joe is an independent user experience designer, race driving instructor, and avid photographer. He was the lead user experience designer for the touchscreen in the Tesla Model S, as well as the Tesla Model S mobile application. He has held significant positions at several top-tier Silicon Valley technology companies including Tesla Motors, Apple, Sun, Navigenics, Borland, and more than his fair share of startups. View more trainings by Joe Nuxoll at https://www.parleys.com/author/joe-nuxoll Find more related tutorials at https://www.parleys.com/category/developer-training-tutorials
Views: 19715 Parleys
Comparing different concurrency models on the JVM
 
53:32
For many years threads and locks have been the only concurrency model available on the JVM and they are still the default way to develop parallel and concurrent programs in Java. Nevertheless in many cases they are a too low level abstraction: using them correctly is hard and understanding the Java Memory Model even harder. For this reason different alternative concurrency models have been popularized in recent years. Scala and Akka made available on the JVM the actor-based model originally implemented in Erlang. Conversely Clojure's approach clearly separates an identity from the series of different values associated to it over time introducing the concept of Software Transactional Memory. Finally functional programming principles like immutability and referential transparency greatly simplify concurrent programming in many cases and this caused a FP renaissance as also witnessed by the introduction of lambda expressions in Java 8. The purpose of this talk is comparing all these different concurrency models underlining their strengths and weaknesses and giving some guidelines to choose the one that best fit a specific scenario. Author: Mario Fusco Mario joined the Java developers community during his studies at university, and has been a Java enthusiast since. He has a more than decennial experience as Java developer having been involved in (and often leading) many enterprise level successful projects in several industries ranging from media companies to the financial sector. Among his interests there are also the functional programming and languages, mostly Scala, and the development of Domain Specific Languages. By leveraging these 2 passions he also created the open source library lambdaj with the purposes of providing an internal Java DSL for manipulating collections and allowing a bit of functional programming in Java
Views: 2946 Parleys
API Design With Java 8 Lambda and Streams
 
01:00:48
During the nearly twenty years of evolution of Java, a set of API design idioms and styles have emerged, based on the existing language features and APIs. Certain language features, such as generics, have had great impact: twelve years after generics, APIs that use raw types look distinctly old-fashioned. Java 8 has introduced lambdas, perhaps the most significant new language feature in Java's history. Lambdas introduce new capabilities to the API designer: the ability to parameterize by behavior, and the ability to use higher-order functions. Java 8 has also introduced default methods, which allow implementations to appear on interfaces. Along with the language changes, Java 8 has also introduced significant new core APIs, including the Streams package, the Optional class, and new default method implementations on existing interfaces. These changes raise new design issues for API designers. These new language and core API features create opportunities for designers to make their APIs more concise and more expressive. In this talk we will examine a variety of techniques and idioms enabled by these new features, and show how API design has already begun to evolve in Java 8. Authors: Brian Goetz Brian Goetz has been a professional software developer for more than twenty five years. Brian is the author of the very successful 'Java Concurrency in Practice', and has written over 75 articles on Java development. He was the specification lead for JSR-335 (Lambda Expressions for the Java Language) and has served on numerous other JCP Expert Groups. Brian is the Java Language Architect at Oracle. Stuart Marks Stuart Marks is a Principal Member of Technical Staff in the Java Platform Group at Oracle. He is currently working on enhancing the core libraries of the JDK. He has previously worked on JavaFX and Java ME at Sun Microsystems. He has over twenty years of software platform product development experience in the areas of window systems, interactive graphics, and mobile and embedded systems. Stuart holds a Master's degree in Computer Science and a Bachelor's degree in Electrical Engineering from Stanford University.
Views: 5504 Parleys
Reactive Slick for Database Programming
 
50:33
When it comes to using relational databases in a reactive, scalable and non-blocking application design, Java's standard JDBC API and the way in which it is traditionally used has always been a sore point. Scoping database sessions correctly and configuring a connection pool in an efficient way were already non-trivial in blocking JEE-style applications, but if you try to fit the inherently blocking JDBC API into a Play or Akka app, it gets even harder. In the newest version of Slick, Typesafe's database library, we provide a different way of sequencing database actions, based on the ideas of Haskell's IO monad. This talk will show you how to use this new API to safely compose and execute database calls, returning Futures and Reactive Streams from them. Bridging the gap between the blocking JDBC API and your non-blocking applications also requires a very different threading model and connection pool configuration than in a blocking app. You will learn what Slick does behind the scenes to take care of these issues in order to give you good scalability and performance out of the box. Author: Stefan Zeiger Stefan Zeiger is the tech lead for Slick. He joined Typesafe in 2011 after developing ScalaQuery, the predecessor to Slick, in order to work on the new project full-time. He has been a user of Java and the JVM platform professionally since 1996, working on a diverse range of projects from web servers to GUI frameworks and programming language design, and moving on from Java to Scala since 2008.
Views: 5975 Parleys
50 minutes to develop a full Java EE application with Forge? Is that all?
 
52:11
So your Java EE project looks like this: 2 days to get a pom.xml right, 10 days to map the database with JPA, 5 days to deploy your first EJB, 15 days to create the JSF presentation tier, and 20 days for a decent REST interface. If yes, come to this session where you will discover the power of JBoss Forge. In 50 minutes I'll introduce Forge 2.0, its internal architecture, command line ... and will develop a Java EE application. Only 4 slides allowed, and the rest is for live coding! Author: Antonio Goncalves Architecte senior, Antonio Goncalves intervient chez ses clients comme consultant et formateur. Ancien consultant Weblogic chez BEA Systems, il s'est spécialisé depuis 1998 dans l'architecture logicielle et les technologies Java. Antonio est l'auteur du livre Java EE 5 aux éditions Eyrolles, et de "Beginning Java EE 6 Platform With GlassFish 3" chez Apress. Il est membre du JCP et intervient sur les JSR 316 (Java EE 6), JSR 317 (JPA 2.0) et JSR 318 (EJB 3.1). Il enseigne également la plate-forme Java EE au Conservatoire National des Arts et Métiers. Il est rédacteur technique pour les sites DevX et developpez.com. Antonio est co-fondateur et co-responsable du Paris Java User Group.
Views: 3513 Parleys
Using Traits, Mixins and Monads in JVM Languages
 
03:03:06
Java eliminated quite a bit of complexity by eliminating multiple inheritance (MI). But that also meant we lost some design capabilities. The primary problem with MI was method collisions. What if methods can collaborate rather than collide. Traits and mixins, in languages like Scala and Groovy, offer us some real nice design choices. These can be used to implement more elegantly some common design patterns. In this presentation, you'll learn about traits and mixins and how you can benefit from them. Monads are quite unheard of in imperative style of programming. Monads, however, play an interesting roll in a purely functional programming language. Come to this session if you are heard of monads and wondered what in the world they were. What are monads? Why care about them? Where you have used them before. Types of monads. Building your own monads. Author: Venkat Subramaniam Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions.
Views: 4749 Parleys
React.js: Super-fast Single Page Web Applications
 
49:04
React.js is a view library from Facecbook for building performant user-interfaces in JavaScript. In this session, we'll explore React.js and understand why it's a great step forward for building complex UI's that run fast. We'll code up an example web application using React.js and step through the basics of using the library while discussing concepts like the shadow DOM and components. Author: Pratik Patel Pratik Patel is the CTO of Atlanta based TripLingo (http://www.triplingo.com/). He presents at several conferences a year and is the organizer of Atlanta HTML5 meetup and Atlanta Mobile Dev meetup. Pratik's specialty is in large-scale applications for mission-critical and mobile applications use. He has designed and built applications in the travel, health care, financial services, and telecoms sectors. Pratik holds a master's in Biomedical Engineering from UNC, has worked in places such as New York, London, and Hong Kong, and currently lives in Atlanta, GA. Blog: http://www.triplingo.com
Views: 74801 Parleys
JavaScript for Java Developers
 
01:02:20
Some developers have an impression that JavaScript is a second-league interpreted language with the main purpose of making Web pages a little prettier. But JavaScript is a powerful, flexible, dynamically typed language. JavaScript functions are the first class citizens that can live their own lives. But mastering JavaScript can present a challenge to Java developers who quickly find themselves in the Wild West Land of dynamic programming. Why you may want to learn JavaScript? First, learning how things done in another language makes you a better Java developer. Second, HTML5 becomes a new buzzword and adding JavaScript to your skill set make you more valuable software developer. You may not know the best kept secret – any HTML5 project is about learning some new tags, APIs and CSS,but mainly it’s about writing JavaScript code. The goal of this presentation is to introduce you to this interesting language highlighting the differences with the Java way of doing stuf... Author: Yakov Fain Yakov Fain works for Farata Systems, a company that provides consulting services in the field of development of the enterprise Web applications. He authored several technical books. Yakov was awarded with title of Java Champion. His book "Java Programming. 24-Hour Trainer" was published by Wiley in 2011. Recently he co-authored the O'Reilly book "Enterprise Web Development". Yakov leads Princeton Java Users Group (USA).
Views: 2851 Parleys
Options in Futures, how to unsuck them
 
44:25
Many libraries are asynchronous, and will return everything in a Future. For-comprehensions is a nice way to deal with the contents of Futures, but when the content is wrapped in a container like Option or Either, for-comprehensions alone are not enough. The result is often ugly nested code. This talk will show you how to make for-comprehensions work nicely with such structures. You'll learn how to fuse a Future and an inner container together, and nicely work with them in for-comprehensions. In an asynchronous application, this will give great readability benefits. Finally, we'll see that these friendly and easy to understand things are actually monad transformers.    Additional notes  ---  This talk is a condensed version of a successful longer hands-on session that I did with multiple groups of Scala programmers at companies and a Scala user group event. Most of them really liked this content, because they run into this problem of deeply nested code in practice, usually caused by Future[Option[X]] values. In this talk we don't start with an off-the-shelve monad transformer, but we build one ourselves, by first building a monadic wrapper specialized for Future[Option[X]]. To most people that's surprisingly simple, and immediately after this step we can . We then generalize that into a proper monad transformer for Option inside any other monad, which is also a nice introduction to monads in itself.  Finally we highlight a couple use cases for this, one of them being Play Framework action methods, than can often be written as a single for-comprehension, given a proper monad stack. Author: Erik Bakker undefined
Views: 3126 Parleys
Resilient Applications with Akka Persistence
 
45:46
In this presentation you will learn how to leverage the features introduced in Akka Persistence: opt-in at-least-once delivery semantics between actors and the ability to recover application state after a crash. Both are implemented by storing immutable facts in a persisted append-only log. We will show you how to create persistent actors using command and event sourcing, replicate events with reliable communication, scale out and improve resilience with clustering. All examples will be available as an Activator template allowing you to get started right away. Authors: Björn Antonsson Björn Antonsson is a passionate software engineer whose experience ranges from the lowest levels of hardware memory models right through the operating system and the JVM as a founder and long time developer of JRockit, and straight up into high volume financial data systems and large traffic website. He has been part of the Akka team for the last 2 years. Konrad Malawski Konrad is a late-night passionate dev living by the motto "Life is Study!". His favourite discussion topics range from distributed systems and type systems to capybaras. In those rare times he's not coding, he spreads the joy of computer science, through helping local user groups and whitepaper reading clubs. Patrik Nordwall Patrik Nordwall is a developer in the core Akka team since 3 years. He has a passion for technology and new knowledge. Professional developer and software architect since 1996.
Views: 2926 Parleys
Do you REST Assured?
 
15:03
Today it's easy to expose services as REST/HTTP with frameworks like Jersey and Spring but validating that the server actually behaves as expected can be cumbersome in Java. REST Assured is an open source Java DSL that allows you to avoid boiler-plate code to make requests and validate even complex responses in a simple manner. Come and see how easily you can validate e.g. XML and JSON payloads by making use of Groovy data structures and closures from Java using a simple BDD-like syntax. It also comes with support for popular authentication schemes, integrates flawlessly with JUnit and TestNG and much more. Testing and validating REST services in Java cannot be much simpler! Author: Johan Haleby Johan Haleby is a Swedish developer, speaker, and writer with a profound interest in software engineering and testability in particular. He has founded and contributed to numerous open source projects such as PowerMock, REST Assured and Awaitility and has spoken at several conferences and user groups.
Views: 2416 Parleys
Keynote: Scala - where it came from, where it's going
 
01:10:00
Scala - where it came from, where it's going  Author: Martin Odersky Martin Odersky is a professor at EPFL in Lausanne, Switzerland. His research interests focus on programming languages, more specifically languages for object-oriented and functional programming. His research thesis is that the two paradigms are just two sides of the same coin and should be unified as much as possible. To prove this he has experimented with a number of language designs, from Pizza to GJ to Functional Nets. He has also influenced the development of Java as a co-designer of Java generics and as the original author of the current javac reference compiler. His current work centers around the Scala programming language, which unifies FP and OOP while staying completely interoperable with Java and .NET.
Views: 1396 Parleys
60 useful Linux commands in 15 minutes
 
21:32
The challenge here is to present you 4 command-line tips per minute, one new command or tip per 15 seconds during 15 minutes. This will be very fast-paced and a difficult exercise. Please come support the speaker during this harassing sprint! Have your lunch while entertaining and possibly learning stuff! Author: Pierre-Antoine Grégoire Pierre-Antoine Grégoire is a Software Craftman trained to the arcanes of web and java development since 2000. He has then taken a few steps back thanks to interesting problem-solving opportunities in software integration, and software industrialization optimisations. He is now an I.T. Architect at Agile Partner S.A., advocating Agile practices, and providing expertise in JavaEE, Architecture, Security, and Software development factories. He has participated from time to time in open source projects (Spring IDE, Mule transport...) and initiated some (ORG tools and ORG libs...)
Views: 110199 Parleys
Liquibase- Database Change Management
 
19:56
You never develop code without version control, why do you develop your database without it? With Liquibase, database changes are stored in human XML-files and committed to the source control system. Changes are applied to the developers local databases. As changes are committed they are distributed to all other environments including all developers local databases, test databases, staging databases, and even to production databases. This presentation will introduce you to Liquibase and the topic database change management. The presenters will also some advanced topics based on real life experience, a few tips and tricks and lots of demonstrations on stage. Author: Rikard Thulin Rikard Thulin has been working with Java for over 10 years. Rikard is a board member of the Swedish Java User Group ?Javaforum Sweden?. Rikard holds a Master of Science in Software Engineering.
Views: 5384 Parleys
The Seven Deadly Sins of Microservices
 
50:35
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell. Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a Distributed Monolith ; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices. Author: Daniel Bryant Daniel Bryant is leading change within organisations and technology with OpenCredo and Container Solutions. His current work includes enabling agility within organisations by introducing better requirement gathering and planning techniques, focusing on the relevance of architecture within agile development, and facilitating continuous integration/delivery. Daniel’s current technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms and microservice implementations. He is also a leader within the London Java Community (LJC), contributes to several open source projects, writes for well-known technical websites such as InfoQ and DZone, and regularly presents at international conferences such as QCon, JavaOne and Devoxx.
Views: 1689 Parleys
Akka HTTP: the Reactive Web Toolkit
 
48:59
If you want to provide or consume HTTP services with your Actors then this talk is for you: Akka HTTP is the successor of spray.io and building on this excellent foundation it takes reactive web interactions to the next level. Fully asynchronous and non-blocking, a type-safe and very powerful declarative API, an immutable HTTP model without compromises, all these are perfectly fitted to the Actor world. And being based entirely on Akka Streams enables interoperation with all other Reactive Streams implementations for producing or consuming data.This presentation details how Akka HTTP is structured, how it is used and why you will not want to use anything else after having tried it. Author: Roland Kuhn Roland Kuhn is leading the Akka project at Typesafe, a co-author of the Reactive Manifesto and of the book Reactive Design Patterns, co-teaching the Coursera course "Principles of Reactive Programming" and a passionate open-source hakker. He also holds a PhD in particle physics and has worked in the space industry for several years. See also rolandkuhn.com.
Views: 4614 Parleys