The document contains an agenda for a Java User Group meeting in July 2011. It lists the scheduled presentations and speakers, including topics on Java 7, JVM garbage collection tuning, fork/join parallelism, and InvokeDynamic. The meeting is scheduled from 18:15-22:00 and includes breaks for coffee and networking. Information is provided on how to follow the group on their website, Twitter, LinkedIn, and Google groups. The next meeting is scheduled for September 2011.
DevOps Days Riga 2017 talk about creating a delivery pipeline on Windows using tools like: * jenkins * ansible * powershell * chocolatey * nssm
The document discusses using Hadoop infrastructure for big data processing. It describes Intrum Justitia SDC, which has data across 20 countries in various formats and a high number of data objects. Hadoop provides solutions like MapReduce and HDFS for distributed storage and processing at scale. The Hadoop ecosystem includes tools like Hive, Pig, HBase, Impala and Oozie that help process and analyze large datasets. Examples of using Hadoop with Java and integrating it into development environments are also included.
The document provides an overview of using Flyway and JOOQ together to manage database migrations and generate Java objects from database schemas. Flyway is used to run SQL scripts for schema migrations, while JOOQ generates Java classes that correspond to database tables and can be used to write type-safe SQL queries. Examples are given of using JOOQ to build queries, fetch results in various formats, perform CRUD operations on records, and integrate Flyway and JOOQ into build systems like Gradle.
This document discusses best practices for developing useful APIs. It recommends treating all reusable code as an API and following principles like using minimal dependencies and packaging code appropriately. It also provides examples of API design patterns at the module, class, and method level, such as using dependency injection, builder patterns, and exception handling conventions. The goal is to make APIs easy to read, use, extend, and hard to misuse by learning from open source projects and following trends in API design.
This document summarizes some of the new features introduced in Java 8, including streams, lambda expressions, default methods, and date/time API changes. It discusses streams in more detail, covering stream operations like filter, map, distinct, and collect. It also covers new features like Optional for returning absent/present values, annotations for null checks, parallel array sorting, and concurrency utilities.
This document provides an overview of a Dart workshop that teaches Dart fundamentals and building full-stack Dart applications. The workshop is divided into five parts that cover Hello World examples, integrating Google Maps, dynamic HTML, adding a server backend, and connecting to MongoDB. Each part includes tasks to complete and concepts to learn, such as the Dart project structure, writing unit tests, manipulating the DOM, making HTTP requests, and using the MongoDB Dart driver. The conclusion discusses why Dart may be better than JavaScript and considers if Dart has the potential to be the future for web development.
This document discusses how Redis can be used to solve various data and application scenarios for a social Q&A platform. It describes 6 scenarios including using Redis strings for counters, Redis lists for a message queue, Redis hashes for user activity tracking, Redis bits for feature flags, Redis sorted sets for a social wall, and Redis pub/sub for real-time monitoring. It provides examples of how Redis data structures map to each use case and discusses capabilities like performance, scalability and data consistency.
This document discusses refactoring Java code to Clojure using macros. It provides examples of refactoring Java code that uses method chaining to equivalent Clojure code using the threading macros (->> and -<>). It also discusses other Clojure features like type hints, the doto macro, and polyglot projects using Leiningen.
This document discusses ways to introduce functional programming concepts into Java code using existing Java 8 features, third-party libraries like Guava and LambdaJ, and by implementing common functional patterns and data structures yourself. It provides examples of using higher order functions, pure functions, recursion, and currying in Java code. It also summarizes capabilities of the Guava and LambdaJ libraries for functional programming in Java.
This document discusses continuous delivery, which is an agile methodology for frequently delivering incremental software changes to users. It involves fully automating the build, deployment, testing and release processes through a deployment pipeline. This reduces costs and risks while ensuring that quality software is delivered to users quickly. The document outlines various goals and best practices of continuous delivery, such as automating everything possible, testing excessively, and avoiding anti-patterns like code freezes or manual deployments. It also discusses tools that can help with continuous delivery and adopting this approach.
This document provides an introduction to infrastructure as code and DevOps. It discusses how infrastructure complexity has increased over time from mainframes to multi-tier applications to cloud computing. It also covers how separate development and operations teams can be merged into a unified DevOps team. Infrastructure as code is introduced as treating infrastructure like code by automating server provisioning, configuration, and changes using tools like Puppet, allowing infrastructure to be version controlled and changes to be tested. This enables continuous delivery of infrastructure updates alongside application code changes.