How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?
In this talk I'll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you'll learn that it's possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,... Isn't that amazing?
ConFoo 2016 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?
In this talk I'll present the technological stack of Polaromatic, and you'll learn that it's possible to write the whole stack using Groovy. Isn't that amazing?
Spring I/O 2015 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term “Full-Stack developer”? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS… What if I told you that you can be a Full-Stack developer using only Groovy?In this talk I’ll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you’ll learn that it’s possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,… Isn’t that amazing?
Like it or not, many open source developers are moving to the Microsoft .NET platform, and we're bringing our favorite tools with us!
In this session, we look inside ASF projects that are creating software for .NET and Mono, like Logging and Lucene.net -- to show you how to create leading-edge ASP.NET applications with ASF open source libraries, and how you can integrate with other appications using Thrift, Chemistry/DotCMIS, QPid or ActiveMQ.
We'll also look at integrating other .NET open source projects, like Spring.NET, NVelocity, and JayRock, into your C# application to create a complete open source .NET stack.
Amazon has been using and building workflow services for years now. They use Simple Workflow (SWF) internally to lay down OS and all required software onto a new Amazon server before it joins Amazon fleet. Every Amazon server being put in service is provisioned in a workflow using SWF.
During this brown-bag session you will be taken through the example of real application which uses SWF.
This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.
Today I am going to tell a story
And every story has a begging, a middle, and the end.
This one is not an exclusion.
The story about history of React-Hot-Loader
Spring Boot Actuator 2.0 has been refactored and now supports Micrometer for instrumentation and metrics collection. Micrometer allows instrumentation without vendor lock-in and supports many monitoring systems including Prometheus, Datadog, and Cloud Foundry Metrics. New features in Spring Boot Actuator 2.0 include support for Spring WebFlux, more secure configuration of endpoints, and histograms and percentiles for more detailed metrics. Micrometer provides a common API for instruments like timers, counters, and gauges and supports adding custom meters.
ConFoo 2016 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?
In this talk I'll present the technological stack of Polaromatic, and you'll learn that it's possible to write the whole stack using Groovy. Isn't that amazing?
Spring I/O 2015 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term “Full-Stack developer”? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS… What if I told you that you can be a Full-Stack developer using only Groovy?In this talk I’ll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you’ll learn that it’s possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,… Isn’t that amazing?
Like it or not, many open source developers are moving to the Microsoft .NET platform, and we're bringing our favorite tools with us!
In this session, we look inside ASF projects that are creating software for .NET and Mono, like Logging and Lucene.net -- to show you how to create leading-edge ASP.NET applications with ASF open source libraries, and how you can integrate with other appications using Thrift, Chemistry/DotCMIS, QPid or ActiveMQ.
We'll also look at integrating other .NET open source projects, like Spring.NET, NVelocity, and JayRock, into your C# application to create a complete open source .NET stack.
Amazon has been using and building workflow services for years now. They use Simple Workflow (SWF) internally to lay down OS and all required software onto a new Amazon server before it joins Amazon fleet. Every Amazon server being put in service is provisioned in a workflow using SWF.
During this brown-bag session you will be taken through the example of real application which uses SWF.
This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.
Today I am going to tell a story
And every story has a begging, a middle, and the end.
This one is not an exclusion.
The story about history of React-Hot-Loader
Spring Boot Actuator 2.0 has been refactored and now supports Micrometer for instrumentation and metrics collection. Micrometer allows instrumentation without vendor lock-in and supports many monitoring systems including Prometheus, Datadog, and Cloud Foundry Metrics. New features in Spring Boot Actuator 2.0 include support for Spring WebFlux, more secure configuration of endpoints, and histograms and percentiles for more detailed metrics. Micrometer provides a common API for instruments like timers, counters, and gauges and supports adding custom meters.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1DXFg0h.
Ben Christensen summarizes why the Rx programming model was chosen and demonstrates how it is applied to a variety of use cases. Filmed at qconsf.com.
Ben Christensen is a software engineer on the Netflix Edge Services Platform team responsible for fault tolerance, performance, architecture and scale while enabling millions of customers to access the Netflix experience across more than 1,000 different device types.
This document provides an overview of Git, including what it is, its internals, and workflows. Git is a distributed version control system that was designed as a content tracker and file system rather than a traditional SCM. It uses a non-linear development model and stores content in compressed objects including blobs for files, trees for directories, commits for snapshots, and tags for labels. Git allows for distributed and non-linear workflows through features like branching, merging, and rebasing. Common Git workflows include Gitflow and GitHub Flow.
This document discusses various topics related to programming efficiently in Groovy and Grails, including:
- Organizing classes into packages in Eclipse and importing dependencies
- The structure of a Grails project and where different types of code belong
- Automatically and manually generating controllers and views in Grails
- Using log4j for logging instead of println statements
- Examples of useful Grails plugins
- Tips for choosing and using Grails plugins
- Maintaining a clean coding style
Everything you wanted to know about writing async, concurrent http apps in java Baruch Sadogursky
As presented at CodeMotion Tel Aviv:
Facing tens of millions of clients continuously downloading binaries from its repositories, JFrog decided to offer an OSS client that natively supports these downloads. This session shares the main challenges of developing a highly concurrent, resumable, async download library on top of an Apache HTTP client. It also covers other libraries JFrog tested and why it decided to reinvent the wheel. Consider yourself forewarned: lots of HTTP internals, NIO, and concurrency ahead!
The document discusses distributed version control systems (DVCS) like Mercurial and demonstrates basic Mercurial commands. It shows initializing a repository, making commits, viewing history, cloning, pushing and pulling changes, resolving merge conflicts, and using commands like backout to undo previous commits.
This document provides an overview of Akka streams and Reactive Streams. It discusses how Akka streams allows for building asynchronous stream processing applications with back pressure. It provides examples of using Akka streams to process a large number of integers, build a numbers service, and compare different approaches for parallel pancake cooking using stream processing.
This talk was delivered at JavaOne 2013, together with Andrzej Grzesik. We mention the new Date APIs, changes to Collections as well as Streams APIs and of course... Lambdas!
1) The document provides steps for performing a manual rolling upgrade of an Oracle database from a single-instance configuration to Real Application Clusters (RAC) with zero downtime.
2) It outlines taking backups of the production database, control files, and redo logs before upgrading the database software and migrating to a RAC configuration.
3) The rolling upgrade process involves restoring the backups, recovering the database through archived redo logs, and repeating the backup and recovery steps incrementally until the database can be opened in RAC mode after upgrading the catalog.
Presentation: Everything you wanted to know about writing async, high-concurr...Baruch Sadogursky
Facing tens of millions of clients continuously downloading binaries from our repositories, we decided to offer an OSS client that natively supports these downloads. In this talk we will share the main challenges in developing a highly-concurrent, resumable, async download library on top of Apache HTTP client. We will cover other libraries we tested and why we decided to reinvent the wheel. We will see important pitfalls we came across when working with HTTP and how using the right combination of techniques can improve performance by a magnitude. We will also see why your initial assumptions may completely change when faced with other players on the network. Consider yourself forewarned: lots of HTTP internals, NIO and concurrency ahead!
As presented at JFokus 2015 (http://www.jfokus.se/jfokus/talks.jsp#Everythingyouwantedt)
Angular Optimization Web Performance MeetupDavid Barreto
This document summarizes techniques for optimizing Angular applications, including ahead-of-time compilation, lazy loading, change detection strategies, avoiding memory leaks, and server-side rendering. It provides code examples and compares the performance of different approaches by measuring load times. The main takeaways are that ahead-of-time compilation, lazy loading, and server-side rendering can each significantly improve load performance, and that change detection strategies and unsubscribing from observables are important for memory usage and efficiency.
Reactive programming with Rx-Java allows building responsive systems that can handle varying workloads and failures. It promotes asynchronous and non-blocking code using observable sequences and operators. Rx-Java was created at Netflix to address issues like network chattiness and callback hell in their API. It transforms callback-based code into declarative pipelines. Key concepts are Observables that emit notifications, Operators that transform Observables, and Subscribers that receive emitted items. Rx-Java gained popularity due to its support for concurrency, error handling, and composability.
This document summarizes updates and changes between Spring Boot 1 and Spring Boot 2, including updates to Gradle, Spring Cloud Config Server, Spring Web, Spring Data, Spring Data JPA, Flyway, testing, and configuration property binding. It provides details on specific changes such as dependency and API changes.
This document describes how to import and analyze GitHub event data stored in JSON files using the Neo4j graph database. It provides examples of Cypher queries that can be used to analyze relationships between users, repositories, pull requests, forks and other GitHub elements from the events data. These include queries to find the most active user, most forked repository, number of comments on pull requests before being merged, and users who have worked on the same repositories through merged pull requests.
This document provides an overview of using CodePush and Ionic 2 to enable hot updates across the development lifecycle for mobile apps. It covers setting up CodePush and configuring an Ionic 2 app to use CodePush. The document demonstrates how to check for updates, sync to different deployment stages, and track detailed sync and download progress. It also shows how to deploy updates to CodePush and promote them between stages like staging and production.
Terraform is an open source tool that helps you control your infrastructure configuration through code. This talk will serve as a primer showing how to build a basic infrastructure in the Google Cloud and how we can re-use our code to construct multiple, identical environments.
(1) c sharp introduction_basics_dot_netNico Ludwig
This presentation comes with many additional notes (pdf): http://de.slideshare.net/nicolayludwig/1-c-sharp-introductionbasicsdotnet-38638887
- History
- Bird's Eye View of Features
The document discusses profiling Puppet performance, including profiling Facter facts, catalog compilation, and the agent run. It shows how to use tools like 'facter --timing', 'puppet apply --profile', and processing reports to identify slow areas. Specific optimizations discussed include caching external facts, avoiding repeated Hiera lookups, and profiling resources by type and time.
Slides from Orbitz's use case for microservices on docker & mesos at Velocity Santa Clara 2015 conference.
Details: http://velocityconf.com/web-mobile-business-conf-2015/public/schedule/detail/40700
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1DXFg0h.
Ben Christensen summarizes why the Rx programming model was chosen and demonstrates how it is applied to a variety of use cases. Filmed at qconsf.com.
Ben Christensen is a software engineer on the Netflix Edge Services Platform team responsible for fault tolerance, performance, architecture and scale while enabling millions of customers to access the Netflix experience across more than 1,000 different device types.
This document provides an overview of Git, including what it is, its internals, and workflows. Git is a distributed version control system that was designed as a content tracker and file system rather than a traditional SCM. It uses a non-linear development model and stores content in compressed objects including blobs for files, trees for directories, commits for snapshots, and tags for labels. Git allows for distributed and non-linear workflows through features like branching, merging, and rebasing. Common Git workflows include Gitflow and GitHub Flow.
This document discusses various topics related to programming efficiently in Groovy and Grails, including:
- Organizing classes into packages in Eclipse and importing dependencies
- The structure of a Grails project and where different types of code belong
- Automatically and manually generating controllers and views in Grails
- Using log4j for logging instead of println statements
- Examples of useful Grails plugins
- Tips for choosing and using Grails plugins
- Maintaining a clean coding style
Everything you wanted to know about writing async, concurrent http apps in java Baruch Sadogursky
As presented at CodeMotion Tel Aviv:
Facing tens of millions of clients continuously downloading binaries from its repositories, JFrog decided to offer an OSS client that natively supports these downloads. This session shares the main challenges of developing a highly concurrent, resumable, async download library on top of an Apache HTTP client. It also covers other libraries JFrog tested and why it decided to reinvent the wheel. Consider yourself forewarned: lots of HTTP internals, NIO, and concurrency ahead!
The document discusses distributed version control systems (DVCS) like Mercurial and demonstrates basic Mercurial commands. It shows initializing a repository, making commits, viewing history, cloning, pushing and pulling changes, resolving merge conflicts, and using commands like backout to undo previous commits.
This document provides an overview of Akka streams and Reactive Streams. It discusses how Akka streams allows for building asynchronous stream processing applications with back pressure. It provides examples of using Akka streams to process a large number of integers, build a numbers service, and compare different approaches for parallel pancake cooking using stream processing.
This talk was delivered at JavaOne 2013, together with Andrzej Grzesik. We mention the new Date APIs, changes to Collections as well as Streams APIs and of course... Lambdas!
1) The document provides steps for performing a manual rolling upgrade of an Oracle database from a single-instance configuration to Real Application Clusters (RAC) with zero downtime.
2) It outlines taking backups of the production database, control files, and redo logs before upgrading the database software and migrating to a RAC configuration.
3) The rolling upgrade process involves restoring the backups, recovering the database through archived redo logs, and repeating the backup and recovery steps incrementally until the database can be opened in RAC mode after upgrading the catalog.
Presentation: Everything you wanted to know about writing async, high-concurr...Baruch Sadogursky
Facing tens of millions of clients continuously downloading binaries from our repositories, we decided to offer an OSS client that natively supports these downloads. In this talk we will share the main challenges in developing a highly-concurrent, resumable, async download library on top of Apache HTTP client. We will cover other libraries we tested and why we decided to reinvent the wheel. We will see important pitfalls we came across when working with HTTP and how using the right combination of techniques can improve performance by a magnitude. We will also see why your initial assumptions may completely change when faced with other players on the network. Consider yourself forewarned: lots of HTTP internals, NIO and concurrency ahead!
As presented at JFokus 2015 (http://www.jfokus.se/jfokus/talks.jsp#Everythingyouwantedt)
Angular Optimization Web Performance MeetupDavid Barreto
This document summarizes techniques for optimizing Angular applications, including ahead-of-time compilation, lazy loading, change detection strategies, avoiding memory leaks, and server-side rendering. It provides code examples and compares the performance of different approaches by measuring load times. The main takeaways are that ahead-of-time compilation, lazy loading, and server-side rendering can each significantly improve load performance, and that change detection strategies and unsubscribing from observables are important for memory usage and efficiency.
Reactive programming with Rx-Java allows building responsive systems that can handle varying workloads and failures. It promotes asynchronous and non-blocking code using observable sequences and operators. Rx-Java was created at Netflix to address issues like network chattiness and callback hell in their API. It transforms callback-based code into declarative pipelines. Key concepts are Observables that emit notifications, Operators that transform Observables, and Subscribers that receive emitted items. Rx-Java gained popularity due to its support for concurrency, error handling, and composability.
This document summarizes updates and changes between Spring Boot 1 and Spring Boot 2, including updates to Gradle, Spring Cloud Config Server, Spring Web, Spring Data, Spring Data JPA, Flyway, testing, and configuration property binding. It provides details on specific changes such as dependency and API changes.
This document describes how to import and analyze GitHub event data stored in JSON files using the Neo4j graph database. It provides examples of Cypher queries that can be used to analyze relationships between users, repositories, pull requests, forks and other GitHub elements from the events data. These include queries to find the most active user, most forked repository, number of comments on pull requests before being merged, and users who have worked on the same repositories through merged pull requests.
This document provides an overview of using CodePush and Ionic 2 to enable hot updates across the development lifecycle for mobile apps. It covers setting up CodePush and configuring an Ionic 2 app to use CodePush. The document demonstrates how to check for updates, sync to different deployment stages, and track detailed sync and download progress. It also shows how to deploy updates to CodePush and promote them between stages like staging and production.
Terraform is an open source tool that helps you control your infrastructure configuration through code. This talk will serve as a primer showing how to build a basic infrastructure in the Google Cloud and how we can re-use our code to construct multiple, identical environments.
(1) c sharp introduction_basics_dot_netNico Ludwig
This presentation comes with many additional notes (pdf): http://de.slideshare.net/nicolayludwig/1-c-sharp-introductionbasicsdotnet-38638887
- History
- Bird's Eye View of Features
The document discusses profiling Puppet performance, including profiling Facter facts, catalog compilation, and the agent run. It shows how to use tools like 'facter --timing', 'puppet apply --profile', and processing reports to identify slow areas. Specific optimizations discussed include caching external facts, avoiding repeated Hiera lookups, and profiling resources by type and time.
Slides from Orbitz's use case for microservices on docker & mesos at Velocity Santa Clara 2015 conference.
Details: http://velocityconf.com/web-mobile-business-conf-2015/public/schedule/detail/40700
Proactive Web Performance Optimization.(Marcel Duran)Ontico
The document discusses using YSlow, a web performance optimization tool, in a continuous integration (CI) workflow. It provides examples of running YSlow from the command line and integrating YSlow with a Node.js server to analyze HAR files from a CI system. Running YSlow as part of CI allows catching performance regressions earlier by comparing performance across branches. The best practice shown is combining real user monitoring (RUM) data with YSlow and other tools like WebPageTest to monitor production performance and catch issues.
https://github.com/Alfresco/alfresco-ng2-components
In this slides we are going to see how to easy customize:
Customize Document List
Customize Viewer
Customize Login
1. The document discusses considerations for building a streaming service using Apache Flink, including an overview of Flink's dataflow model, streaming concepts, APIs, operations and monitoring.
2. It provides details on Flink's streaming APIs like ParDo, GroupByKey, windows, process functions and connectors. Monitoring with the Flink dashboard and REST APIs is also covered.
3. Methods for detecting abnormal statuses through metrics and rules are outlined, along with channels for alerts like email, SMS and Slack. The importance of only alerting on meaningful issues is discussed.
The document discusses using YSlow to measure website performance. It provides information on using YSlow from the command line and integrating it with continuous integration workflows. Key points include:
- YSlow can analyze HAR files from the command line to generate performance metrics and scores. It has options to customize the output format, information displayed, and ruleset used.
- YSlow results can be logged to a URL for monitoring. Integrating YSlow with PhantomJS allows running performance tests from scripts.
- Continuous integration of YSlow analyses allows catching performance regressions early. Combining it with real user monitoring and WebPageTest gives a comprehensive performance testing suite.
Automating Your Workflow with Gulp.js - php[world] 2016Colin O'Dell
Gulp is a powerful utility for automating development workflows. Tasks are written using code, not configuration, enabling the easy creation of highly-custom and flexible automations. This talk introduces developers to the core concepts of gulp.js, and how to leverage it for new & existing projects. We’ll cover several examples of common tasks for managing CSS, JS and PHP, including: compiling Sass, minifying files, running PHP tests, checking code styles, ensuring legacy browser support & more.
Net-a-Porter has embarked on the mission of separating database refactoring from code deployment. The solution we've come up with is "refactoring as a service" and a soon-to-be released Perl module which drives it.
I'll explain how Liquibase, our Git repositories, Puppet and Jenkins all fit together to make database refactoring easy and deployment safe and roll-backable.
I'll also tell you how I just discovered Sqitch as a possible replacement for Liquibase.
... and all within 20 minutes!
The document provides instructions for setting up a basic business process management system (BPMS) using Ruby on Rails and open source components. It describes registering various participants like XForms, SPS, and WNS to handle tasks in a sample EO-1 satellite tasking workflow. It also explains how to execute the workflow by launching it from a Rails controller and view, and includes code snippets for setting up the workflow engine and defining participants.
The document provides instructions for setting up a basic business process management system (BPMS) using Ruby on Rails and open source components. It describes registering various participants like XForms, SPS, and WNS to handle tasks in a sample EO-1 satellite tasking workflow. It also explains how to execute the workflow by launching it from a Rails controller and view, and includes code snippets for the necessary classes, files, and configuration.
2012 coscup - Build your PHP application on Herokuronnywang_tw
The document discusses deploying PHP applications on Heroku. It provides an overview of Heroku, including that it is a Platform-as-a-Service, was launched in 2007, uses Amazon Web Services, offers many add-ons, allows easy scaling, supports PostgreSQL, and offers some free usage. It then walks through deploying a basic "Hello World" PHP app on Heroku, including creating an app, adding code, committing and pushing to Heroku, and viewing the deployed app.
1. The document discusses using GitLab CI to automate software development tasks like testing, packaging, and deployment.
2. It provides examples of configuring GitLab CI pipelines to run tests, package code as gzip and ISO files, and deploy artifacts to S3 storage and GitLab pages.
3. The document also covers more advanced topics like using environments to separate staging and production, enabling manual deployment for production, and automatically deploying feature branches to separate review environments.
This document provides information about getting started with Fastlane, an automation tool for beta deployments and releases of iOS and Android apps. It discusses installing Fastlane, configuring the Appfile and Fastfile, common Fastlane actions like match, cert, and sigh for code signing, and provides examples of using Fastlane with Flutter projects to build and deploy iOS apps.
Workshop: Introduction to Web Components & Polymer John Riviello
From Little Rock Tech Fest 2017
With the updates to iOS and Android phones released earlier this year, Web Components are now supported natively. With libraries such as Polymer that are built on top of Web Components, it is now possible to easily create fast Progressive Web Apps (PWAs) without the overhead of a framework. In this workshop, we'll begin with a brief introduction to Web Components and Polymer, and then dive into hands-on experiences with the core aspects of Web Components: the <template> tag, Custom Elements, and the Shadow DOM.
This workshop assumes an understanding of HTML, CSS & JavaScript. No prior experience with Web Components, Polymer, or any library or framework (Web Components or otherwise) is required.
The Kubernetes audit logs are a rich source of information: all of the calls made to the API server are stored, along with additional metadata such as usernames, timings, and source IPs. They help to answer questions such as “What is overloading my control plane?” or “Which sequence of events led to this problematic situation?”. These questions are hard to answer otherwise—especially in large clusters. At Datadog, we have been running clusters with 1000+ nodes for more than a year and during that time, the audit logs have proved invaluable.
In this presentation, we will first introduce the audit logs, explain how they are configured, and review the type of data they store. Finally, we will describe in detail several scenarios where they have helped us to diagnose complex problems.
Similar to GR8Conf 2016 - Mum, I want to be a Groovy full-stack developer (20)
Es 2024 y ya hemos dado por sentado que testear nuestras aplicaciones es esencial. Escribimos test unitarios sin problemas, pero, ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring? Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker.
En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfIván López Martín
In 2024, we all agree that testing our applications is essential. We write unit tests without any trouble, but what about integration tests? How can we test the different services we use in our Spring applications in a safe and reliable way?
Testcontainers integrates seamlessly and transparently with Spring Boot to offer a unit testing-like experience, but with integration tests that use real services running in containers: Kafka, Postgresql, MySql, Elasticsearch, and anything else that can be run in Docker.
In this talk, you will learn how to use Testcontainers in your Spring Boot tests without compromising the speed of your development cycle and leveraging all the potential it offers
Es 2023 y ya hemos dado por sentado que tenemos que testear nuestras aplicaciones. Escribimos test unitarios sin problemas y somos relativamente felices.
Pero ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring?
Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker.
En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewayIván López Martín
Imagine this scenario. You follow an OpenAPI-first approach when designing your services. You have a distributed architecture with multiple services and all of them expose a RESTful API and have their OpenAPI Specification. Now you use Spring Cloud Gateway in front of them so you can route the requests to the appropriate service and apply cross-cutting concerns. But, what happens with the OpenAPI of every service? It would be great if you could generate a unique OpenAPI for the whole system in the Gateway. You could also expose and transform only selected endpoints when defining them as public. And what about the routes? You would like to reconfigure them dynamically and on-the-fly in the Gateway when there is a change in a service, right?
Stop imagining. In this talk, I will show you how we have done that in our product and how we are leveraging the programmatic Spring Cloud Gateway API to reconfigure the routes on the fly. You will also see it in action during the demo!
Codemotion Madrid 2023 - Testcontainers y Spring BootIván López Martín
Es 2023 y ya hemos dado por sentado que tenemos que testear nuestras aplicaciones. Escribimos test unitarios sin problemas y somos relativamente felices.
Pero ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring?
Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker.
En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
CommitConf 2023 - Spring Framework 6 y Spring Boot 3Iván López Martín
El documento habla sobre Iván López, un desarrollador JVM y speaker que presentará sobre las nuevas versiones de Spring Framework 6 y Spring Boot 3. Menciona mejoras en rendimiento, seguridad y nuevas características en Java 17 y Jakarta EE 9/10, así como actualizaciones en dependencias como Hibernate y Spring Security. También cubre nuevas funcionalidades en Spring como cliente HTTP, observability, AoT y soporte para GraalVM.
¿Quieres aprender cómo desarrollar un API REST con Spring Boot? ¿Que acceda a base de datos? ¿Que esté listo para desplegar en producción? ¿Y qué me dices de GraalVM? ¿Quieres ver como tu aplicación construida como imagen nativa arranca en unos pocos milisegundos?
En esta charla verás todo eso y mucho más sin usar slides, sólo el IDE para desarrollar la aplicación en menos de 50 minutos.
jLove 2020 - Micronaut and graalvm: The power of AoTIván López Martín
Micronaut is a reflection-free app-development framework that uses ahead-of-time (AoT) compilation to precompute everything in the application, paving the way for lightning-fast startup times and significantly reduced memory consumption. What if I told you that you can reduce the startup time by orders of magnitude? And what if you could reduce memory consumption even more?
GraalVM is a new universal virtual machine from Oracle that supports a polyglot runtime environment. GraalVM has the ability to compile Java applications down to native machine code, making it an ideal partner for Micronaut.
In this talk you will learn how you can take advantage of GraalVM's powerful capabilities to convert your Micronaut applications to run as binary native images.
Este documento describe cómo Micronaut, un framework para microservicios en Java, puede usarse para crear aplicaciones serverless. Explica las diferencias entre crear una función serverless individual versus una aplicación completa, y cómo AWS Lambda maneja el problema del "cold start". También muestra cómo el uso de GraalVM puede mejorar significativamente los tiempos de inicio en frío al compilar aplicaciones Java a binarios nativos. Finalmente, presenta una demostración comparando el rendimiento de versiones JVM y GraalVM de una aplicación de ejemplo.
Micronaut es un nuevo framework de la JVM para desarrollar microservicios modulares y muy fácilmente testeables en Java, Kotlin y Groovy.
Es esta sesión de live-coding verás qué fácil es empezar a desarrollar tus aplicaciones cloud-native con Micronaut. Aprenderás cómo funciona el soporte reactive, a testear las aplicaciones, el cliente http, service discovery y el soporte para GraalVM.
Micronaut es un framework para microservicios de la JVM que utiliza ahead-of-time (AoT) compilation en lugar de reflection. GraalVM es una nueva máquina virtual de Oracle que tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut. Con ambos el arranque de las aplicaciones es extremadamente rápido y el consumo de memoria muy pequeño.
En esta charla aprenderás cómo sacar provecho a GraalVM en tus aplicaciones Micronaut convirtiéndolas a aplicaciones nativas y cómo funciona la integración de ambos frameworks.
Micronaut es un framework para microservicios de la JVM que utiliza ahead-of-time (AoT) compilation en lugar de reflection. GraalVM es una nueva máquina virtual de Oracle que tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut. Con ambos el arranque de las aplicaciones es extremadamente rápido y el consumo de memoria muy pequeño.
En esta charla aprenderás cómo sacar provecho a GraalVM en tus aplicaciones Micronaut convirtiéndolas a aplicaciones nativas y cómo funciona la integración de ambos frameworks.
Developing Micronaut Applications With IntelliJ IDEAIván López Martín
The document discusses developing Micronaut applications with IntelliJ IDEA. Micronaut is an ultra-lightweight framework for building microservices and serverless applications on the JVM. It features ahead-of-time compilation, no reflection or proxies for high performance, and native support for cloud-native and serverless environments. The presentation will demonstrate how to code Micronaut applications directly in IntelliJ IDEA. Resources for learning more about Micronaut are provided.
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaIván López Martín
Micronaut es un framework para microservicios en la JVM que no utiliza reflection y pre-calcula todo lo necesario para el funcionamiento de las aplicaciones ahead-of-time (AoT) durante la compilación. De esta forma consigue que las aplicaciones arranquen extremadamente rápido y que consuman muy poca memoria.
¿Qué pasaría si te dijera que puedes reducir el tiempo de arranque en órdenes de magnitud? ¿Y si pudieras reducir aún más el consumo de memoria?
GraalVM es una nueva máquina virtual de Oracle que soporta muchos lenguajes en runtime. Además GraalVM tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut. En esta charla aprenderás cómo funciona GraalVM y cómo puedes aprovechar toda su potencia para convertir tus aplicaciones Micronaut a binarios nativos.
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Iván López Martín
Micronaut es un framework para microservicios de la JVM que utiliza ahead-of-time (AoT) compilation en lugar de reflection. GraalVM es una nueva máquina virtual de Oracle que tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut. Con ambos el arranque de las aplicaciones es extremadamente rápido y el consumo de memoria muy pequeño. En esta charla aprenderás cómo sacar provecho a GraalVM en tus aplicaciones Micronaut convirtiéndolas a aplicaciones nativas y cómo funciona la integración de ambos frameworks.
Micronaut provides out-of-the-box integrations with a lot of tools and third-party libraries: Consul, Eureka, Hibernate, Kafka, Mongo, Micrometer, Zipkin, Hystrix, Swagger,... But sometimes this is not enough and you need to integrate with a new one.
In this talk, we will discuss the different options that we have to create a new configuration for Micronaut: bean factories, conditional beans, configuration properties,... and you will learn how to make the most out of it.
Alexa, Siri, Cortana, Google Assistant … voice assistants are in fashion and have come to stay. With them it is possible to do many actions that a few years ago seemed like science fiction: controlling the lights of the house, listening to our favorite music, knowing the weather tomorrow,… controlling everything with our voice!
In this talk we will talk about Amazon Echo and Alexa. You will learn how easy it is to develop new skills and deploy them to AWS Lambda without spending a euro.
I’ll bring an Echo Dot to the talk to show you the fun things you can do with it. I’m pretty sure that after this talk you can’t wait to have one!
Ivan Lopez presented on Micronaut, a new Java framework for building microservices. Some key features of Micronaut include being ultra-lightweight and reactive using Netty, ahead of time compilation with no reflection at runtime for improved performance, and native support for cloud-native applications and serverless environments. It also aims to improve developer productivity through features like dependency injection and reflection-free compilation. Lopez demonstrated example Micronaut code and provided several links for learning more about Micronaut.
CrossDvlup Madrid 2019 - Alexa, encantado de conocerteIván López Martín
Alexa, Siri, Cortana, Google Assistant,... los asistentes de voz están de moda y han llegado para quedarse. Con ellos es posible realizar muchas acciones que hace unos años parecían ciencia ficción: controlar las luces de casa, escuchar nuestra música favorita, conocer el tiempo que hará mañana... controlando todo con ¡nuestra voz!
En esta charla hablaremos de Amazon Echo y su asistente Alexa y aprenderás lo fácil que es desarrollar nuevos skills y desplegarlos en AWS Lambda sin gastar un euro y de una manera muy fácil y sencilla. Llevaré un Echo a la charla para mostrar las cosas divertidas que puedes hacer con él.
¡Seguro que después de esta charla no podrás esperar a tener uno!
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
47. Spock
class BrowserPushServiceSpec extends Specification {
void 'should push a converted photo to the browser'() {
given: 'a photo'
def output = File.createTempFile("output", "")
def photo = new Photo(output: output.path)
and: 'a mocked SimpMessagingTemplate'
def mockSimpMessagingTemplate = Mock(SimpMessagingTemplate)
and: 'the push service'
def browserPushService = new BrowserPushService(template: mockSimpMessagingTemplate)
when: 'pushing the photo to the browser'
browserPushService.pushToBrowser(photo)
then: 'the photo is pushed'
1 * mockSimpMessagingTemplate.convertAndSend('/notifications/photo', "")
}
}