Slides of my talk at ApacheCon @Home 2020 - code at https://github.com/apache/sling-org-apache-sling-graphql-core/ (look for the "sample website") - video recording at https://youtu.be/KTMObGt0YKU
Slides of my talk at the September 2017 adaptTo() conference, Berlin. https://adapt.to/2017/en/schedule/get-the-cattle-out--let-s-build-a-large-scale-sling-rendering-pr.html
Video of that talk at https://www.youtube.com/watch?v=8bH9envZXik
In the last two years, we presented our experimental work that enables developers to precompile scripts to allow them to build Sling applications that are compiled ahead-of-time.
Our saga continues: since the last adaptTo() we made several improvements to make this idea a reality, including:
* Support for any Sling-supported Script Engine
* Support for precompiled units in the JSP Script Engine
* Support for both versioned and non-versioned resource types
* Support for servlet resolution based on the current resource and path, so that language-specific features like data-sly-include and sling:call work just as before
We actively worked on reducing the migration efforts required to take advantage of the Apache Sling Scripting Bundle Tracker, allowing it to work in existing projects.
In this talk, we will show our progress and demonstrate how you can adapt your existing projects with minimal effort. As an example, we have converted the Sling Starter application, including the Composum content browser, to perform rendering with precompiled scripts.
Finally, we will provide an outlook on how this paves the way for a future natively compiled Sling, that will help make applications more cloud-friendly.
For more details head over to https://adapt.to/2020/en/schedule/paving-the-way-to-a-native-sling.html.
Apache Sling is an OSGi-based, scriptable applications layer, using REST principles, that runs on top of a JCR content repository. In this talk, we'll see how Sling enables rapid development of JCR-based content applications, by leveraging the JSR 223 scripting framework. We'll also look at the rich set of OSGi components provided by Sling. We will create a simple application from scratch in a few minutes, and explain a more complex multimedia application that does a lot with just a few lines of code. This talk will help you get started with Sling and understand how the different components fit together.
Slides of my "Sling and Serverless, Best Friends Forever?" presentation at adaptTo() 2019, Berlin. A video recording will be available later at https://adapt.to/2019/en/schedule/sling-and-serverless-best-friends-forever.html
Repoinit: a mini-language for content repository initializationBertrand Delacretaz
Slides of my adaptTo2021 talk on the Apache Sling Repoinit module, https://adapt.to/2021/en/schedule/repoinit-a-mini-language-for-content-repository-initialization.html
Slides used during a Webinar on Feb 11, 2009 that introduces the Day CRX Version 1.4.1. CRX is a content application platform based on JSR-170 and a RESTful web framework. Learn more on www.day.com/crx
Slides of my talk at the September 2017 adaptTo() conference, Berlin. https://adapt.to/2017/en/schedule/get-the-cattle-out--let-s-build-a-large-scale-sling-rendering-pr.html
Video of that talk at https://www.youtube.com/watch?v=8bH9envZXik
In the last two years, we presented our experimental work that enables developers to precompile scripts to allow them to build Sling applications that are compiled ahead-of-time.
Our saga continues: since the last adaptTo() we made several improvements to make this idea a reality, including:
* Support for any Sling-supported Script Engine
* Support for precompiled units in the JSP Script Engine
* Support for both versioned and non-versioned resource types
* Support for servlet resolution based on the current resource and path, so that language-specific features like data-sly-include and sling:call work just as before
We actively worked on reducing the migration efforts required to take advantage of the Apache Sling Scripting Bundle Tracker, allowing it to work in existing projects.
In this talk, we will show our progress and demonstrate how you can adapt your existing projects with minimal effort. As an example, we have converted the Sling Starter application, including the Composum content browser, to perform rendering with precompiled scripts.
Finally, we will provide an outlook on how this paves the way for a future natively compiled Sling, that will help make applications more cloud-friendly.
For more details head over to https://adapt.to/2020/en/schedule/paving-the-way-to-a-native-sling.html.
Apache Sling is an OSGi-based, scriptable applications layer, using REST principles, that runs on top of a JCR content repository. In this talk, we'll see how Sling enables rapid development of JCR-based content applications, by leveraging the JSR 223 scripting framework. We'll also look at the rich set of OSGi components provided by Sling. We will create a simple application from scratch in a few minutes, and explain a more complex multimedia application that does a lot with just a few lines of code. This talk will help you get started with Sling and understand how the different components fit together.
Slides of my "Sling and Serverless, Best Friends Forever?" presentation at adaptTo() 2019, Berlin. A video recording will be available later at https://adapt.to/2019/en/schedule/sling-and-serverless-best-friends-forever.html
Repoinit: a mini-language for content repository initializationBertrand Delacretaz
Slides of my adaptTo2021 talk on the Apache Sling Repoinit module, https://adapt.to/2021/en/schedule/repoinit-a-mini-language-for-content-repository-initialization.html
Slides used during a Webinar on Feb 11, 2009 that introduces the Day CRX Version 1.4.1. CRX is a content application platform based on JSR-170 and a RESTful web framework. Learn more on www.day.com/crx
Talk given at Devoxx Belgium 2018
Spring Boot is awesome. Docker is awesome. Together you can do great things. But, are you doing it the right way? We'll walk you through, in detail, the optimal way to structure Docker images for Spring Boot applications for iterative development. Structuring your Docker images correctly is really important for teams doing continuous integration and continuous delivery. Using Docker best practices, we'll show you the code and the technologies used to optimize Docker images for Spring Boot apps!
DCSF19 Tips and Tricks of the Docker Captains Docker, Inc.
Brandon Mitchell, BoxBoat
Docker Captain Brandon Mitchell will help you accelerate your adoption of Docker containers by delivering tips and tricks on getting the most out of Docker. Topics include managing disk usage, preventing subnet collisions, debugging container networking, understanding image layers, getting more value out of the default volume driver, and solving the UID/GID permission issues with volumes in a way that allows images to be portable from any developer laptop and to production.
Il s’agit dans un premier temps de présenter Docker, ses cas d’usage et quelques bonnes pratiques d’utilisation.
Le but est de présenter Docker, son mode de fonctionnement et son écosystème.
Ce qu’il peut apporter et les pièges à éviter
https://github.com/kanedafromparis/prez-fabric8-dmp
Continuous Integration: SaaS vs Jenkins in CloudIdeato
Dopo la diffusione del Cloud Computing e di Docker, è ancora preferibile
adottare i classici SaaS di Continuous Integration rispetto ad un
sistema Jenkins in cloud?
L'intervento ha l’obiettivo di mostrare un caso d'uso applicato in
Ideato di migrazione da un SaaS quale Travis ad un sistema Jenkins in
cloud, sfruttando funzionalità di on demand tramite il cloud di Amazon
Web Services e di containerizzazione tramite Docker.
Tenendo in considerazione gli aspetti tecnici legati all’implementazione
e quelli che potrebbero impattare sul fronte economico come la mancanza
di automatizzazione e i tempi di setup, verranno mostrati pregi e
difetti di questo sistema e come può essere applicato ad una serie di
progetti. Infine verranno elencati una serie di prodotti recentemente
rilasciati e in grado di far evolvere ulteriormente l'attuale sistema.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.
Streamline your development environment with dockerGiacomo Bagnoli
These days applications are getting more and more complex. It's becoming quite
difficult to keep track of all the different components an application needs in order to
function (a database, a message queueing system, a web server, a document
store, a search engine, you name it.). How many times we heard 'it worked on my
machine'?. In this talk we are going to explore Docker, what it is, how it works
and how much it can benefit in keeping the development environment consistent.
We are going to talk about Dockerfiles, best practices, tools like fig and vagrant,
and finally show an example of how it applies to a ruby on rails
application.
What is DocuOps. How does Asciidoctor contribute? How to add it to your Maven & Gradle build. Tying all of the tech documentation together in a single project from commit to publish.
Cooking Perl with Chef: Real World Tutorial with JitterbugDavid Golden
This tutorial provides a command-by-command walk-through for deploying the Jitterbug continuous integration application using the Chef configuration management tool
Swift Cloud Workshop - Swift MicroservicesChris Bailey
How to deploy Swift micro-services using Docker and Kubernetes, with scaling, monitoring and fault tolerance using the Kitura server side Swift framework.
1. Why we moving API from REST to Graphql?
2. What is Graphql?
3. Graphql in Golang (Why we choose Golang)
4. How to testing Graphql in Golang
5. Deploy Graphql application
Scripting is not something you do with Java. You use bash, python, groovy, kotlin, or something else other than Java. What if I told you that it does not need to be that way? Since January 2020 there has been a way to use Java as a language for scripting. No maven, no gradle, no scaffolding–just a single .java file that can use external libraries and you are off the races. This session will cover how jbang came to be, what challenges it solves, and how it helps you to explore and teach Java.
Speaker: Max Rydahl Andersen
GraphQL across the stack: How everything fits togetherSashko Stubailo
My talk from GraphQL Summit 2017!
In this talk, I talk about a future for GraphQL which builds on the idea that GraphQL enables lots of tools to work together seamlessly across the stack. I present this through the lens of 3 examples: Caching, performance tracing, and schema stitching.
Stay tuned for the video recording from GraphQL Summit!
GraphQL is quickly becoming mainstream as one of the best ways to get data into your React application. When we see people modernize their app architecture and move to React, they often want to migrate their API to GraphQL as part of the same effort. But while React is super easy to adopt in a small part of your app at a time, GraphQL can seem like a much larger investment. In this talk, we’ll go over the fastest and most effective ways for React developers to incrementally migrate their existing APIs and backends to GraphQL, then talk about opportunities for improvement in the space. If you’re using React and are interested in GraphQL, but are looking for an extra push to get it up and running at your company, this is the talk for you!
Talk given at Devoxx Belgium 2018
Spring Boot is awesome. Docker is awesome. Together you can do great things. But, are you doing it the right way? We'll walk you through, in detail, the optimal way to structure Docker images for Spring Boot applications for iterative development. Structuring your Docker images correctly is really important for teams doing continuous integration and continuous delivery. Using Docker best practices, we'll show you the code and the technologies used to optimize Docker images for Spring Boot apps!
DCSF19 Tips and Tricks of the Docker Captains Docker, Inc.
Brandon Mitchell, BoxBoat
Docker Captain Brandon Mitchell will help you accelerate your adoption of Docker containers by delivering tips and tricks on getting the most out of Docker. Topics include managing disk usage, preventing subnet collisions, debugging container networking, understanding image layers, getting more value out of the default volume driver, and solving the UID/GID permission issues with volumes in a way that allows images to be portable from any developer laptop and to production.
Il s’agit dans un premier temps de présenter Docker, ses cas d’usage et quelques bonnes pratiques d’utilisation.
Le but est de présenter Docker, son mode de fonctionnement et son écosystème.
Ce qu’il peut apporter et les pièges à éviter
https://github.com/kanedafromparis/prez-fabric8-dmp
Continuous Integration: SaaS vs Jenkins in CloudIdeato
Dopo la diffusione del Cloud Computing e di Docker, è ancora preferibile
adottare i classici SaaS di Continuous Integration rispetto ad un
sistema Jenkins in cloud?
L'intervento ha l’obiettivo di mostrare un caso d'uso applicato in
Ideato di migrazione da un SaaS quale Travis ad un sistema Jenkins in
cloud, sfruttando funzionalità di on demand tramite il cloud di Amazon
Web Services e di containerizzazione tramite Docker.
Tenendo in considerazione gli aspetti tecnici legati all’implementazione
e quelli che potrebbero impattare sul fronte economico come la mancanza
di automatizzazione e i tempi di setup, verranno mostrati pregi e
difetti di questo sistema e come può essere applicato ad una serie di
progetti. Infine verranno elencati una serie di prodotti recentemente
rilasciati e in grado di far evolvere ulteriormente l'attuale sistema.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.
Streamline your development environment with dockerGiacomo Bagnoli
These days applications are getting more and more complex. It's becoming quite
difficult to keep track of all the different components an application needs in order to
function (a database, a message queueing system, a web server, a document
store, a search engine, you name it.). How many times we heard 'it worked on my
machine'?. In this talk we are going to explore Docker, what it is, how it works
and how much it can benefit in keeping the development environment consistent.
We are going to talk about Dockerfiles, best practices, tools like fig and vagrant,
and finally show an example of how it applies to a ruby on rails
application.
What is DocuOps. How does Asciidoctor contribute? How to add it to your Maven & Gradle build. Tying all of the tech documentation together in a single project from commit to publish.
Cooking Perl with Chef: Real World Tutorial with JitterbugDavid Golden
This tutorial provides a command-by-command walk-through for deploying the Jitterbug continuous integration application using the Chef configuration management tool
Swift Cloud Workshop - Swift MicroservicesChris Bailey
How to deploy Swift micro-services using Docker and Kubernetes, with scaling, monitoring and fault tolerance using the Kitura server side Swift framework.
1. Why we moving API from REST to Graphql?
2. What is Graphql?
3. Graphql in Golang (Why we choose Golang)
4. How to testing Graphql in Golang
5. Deploy Graphql application
Scripting is not something you do with Java. You use bash, python, groovy, kotlin, or something else other than Java. What if I told you that it does not need to be that way? Since January 2020 there has been a way to use Java as a language for scripting. No maven, no gradle, no scaffolding–just a single .java file that can use external libraries and you are off the races. This session will cover how jbang came to be, what challenges it solves, and how it helps you to explore and teach Java.
Speaker: Max Rydahl Andersen
GraphQL across the stack: How everything fits togetherSashko Stubailo
My talk from GraphQL Summit 2017!
In this talk, I talk about a future for GraphQL which builds on the idea that GraphQL enables lots of tools to work together seamlessly across the stack. I present this through the lens of 3 examples: Caching, performance tracing, and schema stitching.
Stay tuned for the video recording from GraphQL Summit!
GraphQL is quickly becoming mainstream as one of the best ways to get data into your React application. When we see people modernize their app architecture and move to React, they often want to migrate their API to GraphQL as part of the same effort. But while React is super easy to adopt in a small part of your app at a time, GraphQL can seem like a much larger investment. In this talk, we’ll go over the fastest and most effective ways for React developers to incrementally migrate their existing APIs and backends to GraphQL, then talk about opportunities for improvement in the space. If you’re using React and are interested in GraphQL, but are looking for an extra push to get it up and running at your company, this is the talk for you!
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...The Software House
Robert Goik: Wszyscy kochamy type systems. TypeScript jest świetny, przenosi rozwijanie doświadczenia na zupełnie nowy poziom. GraphQL to system typów dla naszego API. W trakcie prezentacji, Robert spróbuje wycisnąć z niego jeszcze więcej za pomocą Apollo Federation. Wspólnie poszukamy odpowiedzi na pytanie o implementację GraphQL w architekturze rozproszonej.
https://www.learntek.org/apache-spark-with-java/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/apache-spark-with-java/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Converting an OpenAPI specification to a GraphQL Schema, making a LoopBack 4 speak GraphQL automatically.
This is an amazing library built by the IBM Research group, special thanks to Erik Wittern, Jim Laredo and Alan Chan.
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)Rob Crowley
The shift to microservices, cloud native and rich web apps have made it challenging to deliver compelling API experiences. REST, as specified in Roy Fielding’s seminal dissertation, has become the architectural pattern of choice for APIs and when applied correctly allows for clients and servers to evolve in a loosely coupled manner. There are areas however where REST can deliver less than ideal client experiences. Often many HTTP requests are required to render a single view.
While this may be a minor concern for a web app running on a WAN with low latency and high bandwidth, it can yield poor client experiences for mobile clients in particular. GraphQL is Facebook’s response to this challenge and it is quickly proving itself as an exciting alternative to RESTful APIs for a wide range of contexts. GraphQL is a query language that provides a clean and simple syntax for consumers to interrogate your APIs. These queries are strongly types, hierarchical and enable clients to retrieve only the data they need.
In this session, we will take a hands-on look at GraphQL and see how it can be used to build APIs that are a joy to use.
GraphQL can be one of the best ways to make your product development more fun and productive. In this presentation I talk about how GraphQL makes your life simpler, and how to write and deploy a GraphQL API with Apollo Server 2.0 and serverless deployment via Netlify Functions.
Scaling Your Team With GraphQL: Why Relationships MatterJoel Bowen
Have you used GraphQL yet? If you haven't, you're likely to encounter the technology soon. If you have, you might have questions about how to scale your team and what best practices large and small companies are following. What principles should I be following when developing a new GraphQL API? What tooling is available to help me be more productive and spend less time writing boilerplate code? How can many teams with many apps across one company share one graph?
GraphQL Conf 2019 just wrapped up in Berlin where I was fortunate to hear meet thoughtful leaders on these and other subjects related to GraphQL. So, whether you're brand new to GraphQL or have an active project using GraphQL, I'd like to share some of what I have learned so you can be productive with GraphQL and your teams - while keeping relationships at the center of our work.
It is a basic presentation which can help you understand the basic concepts about Graphql and how it can be used to resolve the frontend integration of projects and help in reducing the data fetching time
This presentation also explains the core features of Graphql and why It is a great alternative for REST APIs along with the procedure with which we can integrate it into our projects
Connecting the Dots: Kong for GraphQL EndpointsJulien Bataillé
GraphQL is a popular alternative to REST for front-end applications as it offers flexibility and developer-friendly tooling. In this talk, we will look into the differences between REST and GraphQL, how GraphQL API Management presents a new set of challenges, and finally, how we can address those challenges by leveraging Kong extensibility.
Sydney Apache Spark Meetup - Spark Natural Language ProcessingAndy Huang
In this talk, we shared our experience in using Spark to perform natural language processing tasks to drive business value for our clients. We demonstrated the capabilities of word embedding using Spark Word2Vec followed by showing how third party natural language models can be incorporated into Spark applications.
How Sparkling Water brings Fast Scalable Machine learning via H2O to Apache Spark.
By Michal Malohlava and H2O.ai
Our 100th Meetup at 0xdata, September 30, 2014
Open Source meets Out Door.
- Powered by the open source machine learning software H2O.ai. Contributors welcome at: https://github.com/h2oai
- To view videos on H2O open source machine learning software, go to: https://www.youtube.com/user/0xdata
Michal Malohlava talks about the PySparkling Water package for Spark and Python users.
- Powered by the open source machine learning software H2O.ai. Contributors welcome at: https://github.com/h2oai
- To view videos on H2O open source machine learning software, go to: https://www.youtube.com/user/0xdata
Overview of the Ratpack web framework.
Source for the talk (including demo apps) here:
https://github.com/ratpack/ratpack-talks/tree/master/talks/cdjdn
GraphQL is a new API technology that makes it easy to describe the data available in your backend, and then fetch it with a simple query language. In this talk, I go over some of the reasons this is especially great for frontend developers.
Similar to GraphQL in Apache Sling - but isn't it the opposite of REST? (20)
Slides of my talk at Very Tech Trip 2023, Paris, on what the Web Platform is and how I think it makes JavaScript Web Frameworks obsolete in many cases.
Surviving large online communities with conciseness and clarity Bertrand Delacretaz
Slides of my FOSS Backstage 2022 (remote) talk, https://pretalx.com/foss-backstage-2022/talk/9S3PJE/ - how conciseness & clarity help communicate efficiently in large online communities.
The Moving House Model, adhocracy and remote collaborationBertrand Delacretaz
Slides of my February 2021 talk at FOSS Backstage, https://foss-backstage.de
Moving house with the help of a group of friends is an interesting exercise in collective improvisation and coordination. Everybody can help with most of the jobs at hand, so the challenge is to keep people busy in a meaningful way, to make the best use of the physical and intellectual resources available, while keeping people happy and engaged.
Sounds familiar? The Moving House model does apply to other types of group projects, including software development. Adhocracy, Asynchronous Collaboration and a can-do attitude, as practiced in Open Source communities, are key elements that enable groups that have no formal structure to collaborate efficiently and smoothly - like when helping friends moving house.
Slides of my talk in the Community track of the ApacheCon @Home 2020 conference. The video will be available on the "TheApacheFoundation" channel on YouTube, https://www.youtube.com/channel/UCLDJ_V9KUOdOFSbDvPfGBxw
Ma présentation à https://www.blendwebmix.com/ 2019
Video: https://youtu.be/eE7YhQpPdcM?t=4560
Dans un monde qui se numérise toujours plus, les logiciels libres sont partout: dans votre téléphone, votre ascenseur, votre voiture, votre banque, etc… plus que jamais, l’Open Source est au coeur de notre monde numérique.
Au-delà de ces contributions très concrètes au bien-être de nos sociétés, les communautés Open Source ont aussi inventé et mis en pratique des techniques de collaboration innovantes, distribuées, asynchrones. Souvent sans chef clairement identifié, ni planification précise, ces groupes de travail informels produisent des logiciels de grande qualité, qui pour certains ont créé des marchés ou révolutionnés les pratiques numériques. Le succès de ces groupes est étonnant quand on le compare aux nombreux projets informatiques ratés dans des groupes beaucoup plus structurés, entreprises ou organismes d’Etat par exemple.
L’Open Source change le monde…vraiment? Tout en gardant les choses en perspective, nous présenterons plusieurs exemples concrets où cela se vérifie, par la création d’outils partagés, la découverte de talents, la diffusion des connaissances et la création de logiciels d’infrastructure qui sont devenus des standards de l’industrie.
Shared Neurons - the Secret Sauce of Open Source communities?Bertrand Delacretaz
Slides of my talk at ApacheCon EU 2019in Berlin, Germany: Shared Neurons - the Secret Sauce of Open Source communities? See also the video recording at https://www.youtube.com/watch?v=pWG-F3vW24w
Open Source communities sometimes speak of Shared Neurons when great ideas come together as if sparked by a giant collective brain. Can we take inspiration from them and foster such neuron sharing in our teams? We will describe the tools and techniques used by successful Open Source projects to "put their brains together", by communicating openly and often, exposing concrete ideas early in prototype code, collaborating asynchronously and deliberately slowing things down to take advantage of unexpected Eureka moments.
Based on years of experiences in multiple Open Source projects, this talk will help you better understand what makes our communities so powerful and how to transpose this in your own teams.
They don't understand me! Tales from the multi-cultural trenchesBertrand Delacretaz
Slides from my FOSS Backstage 2018 talk on the difficulties of collaborating in multicultural environments.
A video recording should be available soon.
https://foss-backstage.de/session/they-dont-understand-me-tales-multi-cultural-trenches
Prise de Décisions Asynchrone, Devoxx France 2018 (avec vidéo)Bertrand Delacretaz
Vidéo: https://www.youtube.com/watch?v=xkC4zjtAyRc - c'est la version française de ma présentation sur la Prise de Décisions Asynchrone, enregistrée à Devoxx France 2018.
Slides of my "Asynchronous Decision Making - why and how?" talk at the http://fossbackstage.de/ micro-summit, November 2017
I also gave this talk at FOSDEM 2018, a video recording (with somewhat poor audio unfortunately) is available at https://fosdem.org/2018/schedule/event/community_decision_making_why_how/
There's also a video recording of the French speaking version at devoxx.fr 2018, https://www.youtube.com/watch?v=xkC4zjtAyRc
See also my opensource.com article on the same topic at https://opensource.com/article/17/12/asynchronous-decision-making and a slightly older blog post at https://blogs.apache.org/foundation/entry/success-at-apache-asynchronous-decision
Who needs meetings? Asynchronous Decision Making to the rescueBertrand Delacretaz
Based on my "Success at Apache: Asynchronous Decision Making" blog post ( https://blogs.apache.org/foundation/entry/success-at-apache-asynchronous-decision ) combined with a previous presentation on how meetings are expensive and often inefficient ( https://www.slideshare.net/bdelacretaz/i-will-not-attend-your-meeting-im-an-open-source-person )
Slides of my ApacheCon 2014 talk on simplicity. Creating simple software is hard work, we shouldn't give up until what we are building is simple enough.
Slides of our talk at adaptTo 2016, Chetan Mehrotra and myself (https://adapt.to/2016/en/schedule/let_s-run-the-whole-web-on-apache-sling-and-oak-.html).
The code is at https://github.com/bdelacretaz/sling-adaptto-2016 and uses Docker to build a dynamic cluster of Apache Sling instances.
Italy Agriculture Equipment Market Outlook to 2027harveenkaur52
Agriculture and Animal Care
Ken Research has an expertise in Agriculture and Animal Care sector and offer vast collection of information related to all major aspects such as Agriculture equipment, Crop Protection, Seed, Agriculture Chemical, Fertilizers, Protected Cultivators, Palm Oil, Hybrid Seed, Animal Feed additives and many more.
Our continuous study and findings in agriculture sector provide better insights to companies dealing with related product and services, government and agriculture associations, researchers and students to well understand the present and expected scenario.
Our Animal care category provides solutions on Animal Healthcare and related products and services, including, animal feed additives, vaccination
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...JeyaPerumal1
A cellular network, frequently referred to as a mobile network, is a type of communication system that enables wireless communication between mobile devices. The final stage of connectivity is achieved by segmenting the comprehensive service area into several compact zones, each called a cell.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
GraphQL in Apache Sling - but isn't it the opposite of REST?
1. GraphQL in Apache Sling...
but isn't it the opposite of REST?
Bertrand Delacrétaz :: Principal Scientist, Adobe
Board Member, Apache :: @bdelacretaz
Images are from stock.adobe.com unless otherwise specified - slides revision: 2020-09-28
5. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020 5
Query with the
same "shape" as
the output JSON.
Also: Mutations and
Subscriptions
POST to server returns
JSON output with just
what you need.
6. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
GraphQL Schema
6
In our case, the schema is
generated from an
internal Sling request to
<resource>.GQLschema
So it can be specific to a
given sling:resourceType
7. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
GraphQL Schema Introspection
7
The schema information
helps us build this query:
9. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
Sling-samples GraphQL website demo
9
Both server-side and client-side
rendering use GraphQL and
Handlebars.
GraphiQL and similar clients
supported out-of-the-box.
Clean JSON rendering
available via GraphQL.
Server-side (GraphQL + hbs)
Client-side
(GraphQL + hbs)
sling-samples/
org.apache.sling.graphql.samples.website
Client-side
queries
10. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
Client-side query + rendering
10
GraphQL
Servlet
Content
Repository
Client Sling Server
POST
GraphQL query
JSON results
-> Handlebars
11. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
Client Sling Server
11
GraphQL
Script Engine
Content
Repository
Sling Scripts
Resolver
article.hbs
script
Handlebars
Script Engine
Internal Request
<path>.GQLSchema
json.GQL
script
Server-side query + rendering The Handlebars
engine renders
the .json output of
the GraphQL query
GET
article.html
Internal Request
<path>.json
HTML
13. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
Sling GraphQL Core 0.0.4
13
API
Script Engine
Servlet
Internally uses
https://github.com/graphql-java/graphql-java
package
o.a.s.graphql.core.api
14. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
Default SchemaProvider
14
$ curl http://localhost:8080/content/articles/culture.GQLschema
type Query {
section: Section @fetcher(name:"website/currentResource")
navigation: Navigation @fetcher(name:"website/navigation")
}
type Navigation {
root: String
sections: [Section]
previous: String
next: String
search: String
}
...
Full power of the Sling rendering
pipeline for resource-specific
schemas.
The @fetcher directive points to
SlingDataFetcher services.
15. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
SlingDataFetcher
15
Java:
SlingDataFetcher OSGi
service, returns a
Map or POJO
Server-side script:
selected by fetcher name,
returns a Map
16. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020 16
Sling GraphQL Core
Request Handling
Schema Acquisition
graphql-java
parsing + delegation
www.graphql-java.com
Content
Repository
Other
Data Sources
Under the hood: performance?
SlingDataFetcher Services
Data Acquisition + Processing
Caching?
Client Sling Server
Performance
Happens Here ->
Schema Generation
(Sling Request Processing)
18. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
HTTP-friendly caching?
18
Queries
Store
GraphQL
Servlet
Default POST-based
interaction is generally
not cacheable.
POST query text
201 Created -> /p/bc6f
GET /p/bc6f
200 OK -> query results
+ Cache-Control headers
Stored
Query
Text
Client Sling Server
future requests
can start here:
20. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
GraphQL and REST (+ RPC?)
20
Quoting Phil Sturgeon, builder of API design tools,
https://phil.tech/2017/graphql-vs-rest-overview/
We do need queries, but also
caching, hypertext, scalability.
GraphQL is certainly better than
a badly designed so-called REST
API...and it's a great query API.
22. GraphQL in Apache Sling - Bertrand Delacrétaz September 2020
CODA
GraphQL is a very nice query language
that also looks
useful on the server-side.
It's not better or worse than REST:
different animals that can
play well together!
I'm @bdelacretaz - thank you!
Code at https://github.com/apache/sling-org-apache-sling-graphql-core/
Fun text by https://github.com/apache/sling-whiteboard/tree/master/fake-content-generator
22
The Sling GraphQL Core is V0.0.4:
patches welcome!
Internal Sling requests FTW!