SlideShare una empresa de Scribd logo
1 de 155
привет
Tuesday, May 28, 13
Piotr Sarnacki
Tuesday, May 28, 13
@drogus
Tuesday, May 28, 13
TravisCI
Tuesday, May 28, 13
TravisCI
What’s inside?
Tuesday, May 28, 13
Poland
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
ZOMG!
THIS IS MY DREAM JOB!
Tuesday, May 28, 13
Getting back to presentation...
Tuesday, May 28, 13
A few questions first
Tuesday, May 28, 13
Tuesday, May 28, 13
Distributed CI
Tuesday, May 28, 13
Distributed CI
for Open Source!
Tuesday, May 28, 13
Distributed CI
and for private projects
Tuesday, May 28, 13
Distributed CI
and for private projects
soon!
Tuesday, May 28, 13
We’re for builds
what RubyGems
is for libraries
Tuesday, May 28, 13
A few facts
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
over 5MLN builds total!
Tuesday, May 28, 13
close to 23,000 builds daily
A few facts
over 5MLN builds total!
ruby, python, java, node... etc.
Tuesday, May 28, 13
What about Jenkins?
Tuesday, May 28, 13
Реальный опыт работы с Jenkins
What about Jenkins?
Tuesday, May 28, 13
What’s the purpose
of this presentation?
Tuesday, May 28, 13
Open Source distributed
application
Tuesday, May 28, 13
Open Source distributed
application
we need to scale
Tuesday, May 28, 13
Open Source distributed
application
you can watch the entire process
we need to scale
Tuesday, May 28, 13
Open Source distributed
application
you can see us fail and learn from
our mistakes
you can watch the entire process
we need to scale
Tuesday, May 28, 13
Running an app is different
than running Open Source
library
Tuesday, May 28, 13
Tuesday, May 28, 13
A bit of a history
Tuesday, May 28, 13
It all started with a mustache
Tuesday, May 28, 13
Tuesday, May 28, 13
svenfuchs/travis-ci
Tuesday, May 28, 13
Tuesday, May 28, 13
It worked
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Monolithic application
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Two concerns
Tuesday, May 28, 13
Two concerns
serving web requests
Tuesday, May 28, 13
Two concerns
serving web requests
background worker
Tuesday, May 28, 13
Problems
Tuesday, May 28, 13
Problems
growing complexity
Tuesday, May 28, 13
Problems
growing complexity
growing test suite
Tuesday, May 28, 13
Solution: Travis Worker
Tuesday, May 28, 13
Tuesday, May 28, 13
Great improvement!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Single box, no VMs
Tuesday, May 28, 13
No clean state
Tuesday, May 28, 13
Leftovers after tests
Tuesday, May 28, 13
Solution: VirtualBox
Tuesday, May 28, 13
VirtualBox
Tuesday, May 28, 13
VirtualBox
snapshotting
Tuesday, May 28, 13
VirtualBox
snapshotting
always clean state
Tuesday, May 28, 13
VirtualBox
snapshotting
always clean state
free
Tuesday, May 28, 13
Tuesday, May 28, 13
Still only one box
Tuesday, May 28, 13
Still a lot of coupling
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Master plan
Tuesday, May 28, 13
Master plan
use AMQP for messaging
Tuesday, May 28, 13
Master plan
use AMQP for messaging
create travis-hub
Tuesday, May 28, 13
Master plan
use AMQP for messaging
create travis-hub
use jruby for the worker
Tuesday, May 28, 13
Why AMQP?
Tuesday, May 28, 13
Unify messaging
Tuesday, May 28, 13
Log output
Tuesday, May 28, 13
Tuesday, May 28, 13
When rails app fails,
builds still run
Tuesday, May 28, 13
So many changes
Tuesday, May 28, 13
All at once?
Tuesday, May 28, 13
Not that smart move
Tuesday, May 28, 13
3 months of
development
Tuesday, May 28, 13
A lot of firefighting
Tuesday, May 28, 13
Lesson learned
Tuesday, May 28, 13
Lesson learned
smaller incremental
changes are better
Tuesday, May 28, 13
Overally,
great improvement again
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Meet travis-listener
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Better reliability
Tuesday, May 28, 13
Rare changes
last deploy: 2012-12-05.11-27
Tuesday, May 28, 13
Small chance of loosing
an event
Tuesday, May 28, 13
It’s great!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
Travis Hub does a lot
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
A great improvement again!
Tuesday, May 28, 13
but...
Tuesday, May 28, 13
API is coupled with client
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
API does not change that often
Tuesday, May 28, 13
Easier deploys
Tuesday, May 28, 13
Separate domains?
Tuesday, May 28, 13
CORS to the rescue
Tuesday, May 28, 13
CORS
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
allows remote ajax requests
Tuesday, May 28, 13
CORS
Cross Origin Resource Sharing
allows remote ajax requests
client and API isolation
Tuesday, May 28, 13
Service Oriented Architectures
Tuesday, May 28, 13
SOA - benefits
Tuesday, May 28, 13
SOA - benefits
reliability
Tuesday, May 28, 13
SOA - benefits
reliability
scalability
Tuesday, May 28, 13
SOA - benefits
reliability
scalability
maintainability
Tuesday, May 28, 13
SOA - drawbacks
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
more overhead
Tuesday, May 28, 13
SOA - drawbacks
more apps to change
more overhead
distributed computing is hard
Tuesday, May 28, 13
From monolithic app to SOA!
Tuesday, May 28, 13
We’re awesome, aren’t we?
Tuesday, May 28, 13
we can always do better
Tuesday, May 28, 13
Can you spot the problem?
Tuesday, May 28, 13
Tuesday, May 28, 13
Still a lot of sharing
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Tuesday, May 28, 13
Future direction:
remove more coupling
Tuesday, May 28, 13
Well defined public APIs
Tuesday, May 28, 13
Our code sharing
is not optimal
Tuesday, May 28, 13
travis-core
Tuesday, May 28, 13
Tuesday, May 28, 13
Split travis-core
Tuesday, May 28, 13
A few tips
Tuesday, May 28, 13
Small changes
Tuesday, May 28, 13
Metrics
Tuesday, May 28, 13
Tuesday, May 28, 13
Don’t break public APIs
Tuesday, May 28, 13
If you need,
deprecate first
Tuesday, May 28, 13
Always deployable master
Tuesday, May 28, 13
Feature flips
Tuesday, May 28, 13
if Travis::Features.active? :foo
do_foo()
end
Tuesday, May 28, 13
Bulletproof DB changes
Tuesday, May 28, 13
if column_names.include? :branch
where(branch: 'master')
else
joins(:commit).
where(commit: { branch: 'master' })
end
Tuesday, May 28, 13
Google for:
Fallacies of distributed
computing
Tuesday, May 28, 13
Thank you
Tuesday, May 28, 13
Questions?
Tuesday, May 28, 13

Más contenido relacionado

Similar a Travis CI – what's inside?

The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is ResponsiveJonathan Smiley
 
Midem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of ContextMidem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of ContextRobert Scoble
 
UX, UI, WTF
UX, UI, WTFUX, UI, WTF
UX, UI, WTFwcfay
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the UnknownR/GA
 
PostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitDavid Fetter
 
Future technologies for business simulations
Future technologies for business simulationsFuture technologies for business simulations
Future technologies for business simulationsMichal Augustini
 
Responsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility ToolResponsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility ToolGeorge Zamfir
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaCodemotion
 
Conexao Java: Criando uma App Android
Conexao Java: Criando uma App AndroidConexao Java: Criando uma App Android
Conexao Java: Criando uma App AndroidErich Egert
 
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"Gigaom
 
Apachecon cassandra transport
Apachecon cassandra transportApachecon cassandra transport
Apachecon cassandra transportzznate
 
The New API at SXSW 2013
The New API at SXSW 2013The New API at SXSW 2013
The New API at SXSW 2013duvander
 
Holistic slides lightning_testing_bof
Holistic slides lightning_testing_bofHolistic slides lightning_testing_bof
Holistic slides lightning_testing_bofTerry Peppers
 
DevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran TavoryDevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran TavoryDevOpsDays Tel Aviv
 

Similar a Travis CI – what's inside? (16)

Easy Mobile
Easy MobileEasy Mobile
Easy Mobile
 
The Future is Responsive
The Future is ResponsiveThe Future is Responsive
The Future is Responsive
 
Midem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of ContextMidem Visionary Monday: The Age of Context
Midem Visionary Monday: The Age of Context
 
UX, UI, WTF
UX, UI, WTFUX, UI, WTF
UX, UI, WTF
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the Unknown
 
PostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and Profit
 
Future technologies for business simulations
Future technologies for business simulationsFuture technologies for business simulations
Future technologies for business simulations
 
Responsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility ToolResponsive Web Design - An Accessibility Tool
Responsive Web Design - An Accessibility Tool
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David Bonilla
 
Storyplayer
StoryplayerStoryplayer
Storyplayer
 
Conexao Java: Criando uma App Android
Conexao Java: Criando uma App AndroidConexao Java: Criando uma App Android
Conexao Java: Criando uma App Android
 
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
WHY YOU SHOULD NEVER ASK, "HOW IS THIS BETTER THAN HADOOP?"
 
Apachecon cassandra transport
Apachecon cassandra transportApachecon cassandra transport
Apachecon cassandra transport
 
The New API at SXSW 2013
The New API at SXSW 2013The New API at SXSW 2013
The New API at SXSW 2013
 
Holistic slides lightning_testing_bof
Holistic slides lightning_testing_bofHolistic slides lightning_testing_bof
Holistic slides lightning_testing_bof
 
DevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran TavoryDevOps Jungle of Tools, Ran Tavory
DevOps Jungle of Tools, Ran Tavory
 

Más de Olga Lavrentieva

15 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v415 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v4Olga Lavrentieva
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceСергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceOlga Lavrentieva
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraАндрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraOlga Lavrentieva
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееOlga Lavrentieva
 
Brug - Web push notification
Brug  - Web push notificationBrug  - Web push notification
Brug - Web push notificationOlga Lavrentieva
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Olga Lavrentieva
 
Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Olga Lavrentieva
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Olga Lavrentieva
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Olga Lavrentieva
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Olga Lavrentieva
 
Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Olga Lavrentieva
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Olga Lavrentieva
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Olga Lavrentieva
 
Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Olga Lavrentieva
 
«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»Olga Lavrentieva
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»Olga Lavrentieva
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»Olga Lavrentieva
 
«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»Olga Lavrentieva
 
«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»Olga Lavrentieva
 
«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»Olga Lavrentieva
 

Más de Olga Lavrentieva (20)

15 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v415 10-22 altoros-fact_sheet_st_v4
15 10-22 altoros-fact_sheet_st_v4
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive PerformanceСергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности CassandraАндрей Козлов (Altoros): Оптимизация производительности Cassandra
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Brug - Web push notification
Brug  - Web push notificationBrug  - Web push notification
Brug - Web push notification
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
 
Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"Максим Жилинский: "Контейнеры: под капотом"
Максим Жилинский: "Контейнеры: под капотом"
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"Александр Протасеня: "PayPal. Различные способы интеграции"
Александр Протасеня: "PayPal. Различные способы интеграции"
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
 
Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»Егор Воробьёв: «Ruby internals»
Егор Воробьёв: «Ruby internals»
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»Дмитрий Савицкий «Ruby Anti Magic Shield»
Дмитрий Савицкий «Ruby Anti Magic Shield»
 
Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»Сергей Алексеев «Парное программирование. Удаленно»
Сергей Алексеев «Парное программирование. Удаленно»
 
«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»«Почему Spark отнюдь не так хорош»
«Почему Spark отнюдь не так хорош»
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
 
«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»«Дизайн продвинутых нереляционных схем для Big Data»
«Дизайн продвинутых нереляционных схем для Big Data»
 
«Обзор возможностей Open cv»
«Обзор возможностей Open cv»«Обзор возможностей Open cv»
«Обзор возможностей Open cv»
 
«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»«Нужно больше шин! Eventbus based framework vertx.io»
«Нужно больше шин! Eventbus based framework vertx.io»
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Travis CI – what's inside?