SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
When it all GOes right
Writing applications with Go for PostgreSQL
Senior Consultant/Developer
Pavlo Golub
MAIL
pavlo.golub@cybertec.at
Twitter
@PavloGolub
WEB
www.cybertec-postgresql.com
www.cybertec-postgresql.com
ABOUT CYBERTEC
Highly specialized,
fast growing
IT company
International Team
(10 countries),
six locations worldwide
PostgreSQL Services &
Support
Owner managed
since 2000
www.cybertec-postgresql.com
www.cybertec-postgresql.com
CUSTOMER
SECTORS
■ ICT
■ Finance
■ Regulatory
■ Automotive
■ Production
■ Trade
■ Universities
■ and many more.
DATABASE - PRODUCTS
www.cybertec-postgresql.com
WHY
PostgreSQL?
www.cybertec-postgresql.com
SCALABILITY
ADVANCED OPEN
SOURCE DATABASE
SYSTEM
EXTENSIVE
FUNCTIONALITY
25 YEARS OF
DEVELOPMENT
RELIABILITY
NO
LICENSE COSTS
LOW
SUPPORT COSTS
www.cybertec-postgresql.com
AGENDA
● Intro to Go
● IDE’s and tools
● Drivers
● Useful extensions
● Testing
● CI/CD
www.cybertec-postgresql.com
When it all GOes right
Intro to Go
www.cybertec-postgresql.com
Why Go?
Native binaries
Go compiles quickly and produces binary
code fast.
Simplicity
It’s designed to be simple and easy to learn
for developers of all levels.
Concurrency
Go provides simple and efficient support
for concurrent programming.
Comprehensive tools
Go comes with a comprehensive set of
tools and libraries.
Cross-platform
Go is designed to allow programs to be
compiled and run on any platform.
www.cybertec-postgresql.com
Go Developer
Survey 2022
How did survey
respondents
use Go?
www.cybertec-postgresql.com
https://go.dev/blog/survey2022-q2-results
Go Developer
Survey 2020
I work with Go
in the areas listed
www.cybertec-postgresql.com
https://go.dev/blog/survey2020-results
Top products written in Go
● Kubernetes (K8s) - production-grade container management
● OpenShift - a family of containerization software products
● Moby - a collaborative project for the container ecosystem
● Hugo - the world’s fastest framework for building websites
● Grafana - observability and data visualization platform
● frp - a fast reverse proxy to expose a local server behind a NAT
● Gogs - painless self-hosted Git service
● Etcd - distributed reliable key-value store
● Caddy - fast, multi-platform web server with automatic HTTPS
www.cybertec-postgresql.com
Postgres-related Go products
● CockroachDB - a cloud-native distributed SQL database
● pgweb - a сross-platform client for PostgreSQL databases
● stolon - a cloud native PostgreSQL manager
● postgres operators by Zalando and by Crunchy
● wal-g - archives and restoration for Postgres
● pgcenter - top-like admin tool for troubleshooting Postgres
● pgwatch2 - PostgreSQL metrics monitor/dashboard
● pg_timetable - advanced scheduling for PostgreSQL
● pg_flame - a flamegraph generator for EXPLAIN output
www.cybertec-postgresql.com
FIND MORE
Top products written in Go
https://awesome-go.com/
https://github.com/avelino/awesome-go
A curated list of awesome Go frameworks,
libraries and software
www.cybertec-postgresql.com
When it all GOes right
IDE’s and tools
www.cybertec-postgresql.com
Go Developer
Survey 2022
“My preferred editor for
Go code is…”
www.cybertec-postgresql.com
https://go.dev/blog/survey2022-q2-results
Go Developer
Survey 2020
“My preferred editor for
Go code is…”
www.cybertec-postgresql.com
https://go.dev/blog/survey2020-results
My environment
● VSCode with the official vscode-go plugin
● mfridman/tparse - summarizes go test output with color tables
● golangci-lint - fast linters Runner for Go
● Tabnine - the AI code completion tool
● GoReleaser - deliver Go binaries as quickly and easily as possible
● PostgreSQL - most advanced object-relational database
● gitpod.io - container-based ready-to-code developer environments
www.cybertec-postgresql.com
When it all GOes right
PostgreSQL Drivers
www.cybertec-postgresql.com
www.cybertec-postgresql.com
Why do people
use ORM’s?
www.cybertec-postgresql.com
Why shouldn’t
people
use ORM’s?
www.cybertec-postgresql.com
Drivers’ availability
● database/sql is a set of database access interfaces
○ standard de facto creates database applications
○ needs implementation to work
○ read go-database-sql.org for more information
● github.com/lib/pq - pure Go Postgres driver for database/sql
○ is currently in maintenance mode
● github.com/jackc/pgx — PostgreSQL driver and toolkit for Go
○ is the default choice nowadays
○ use this even with database/sql
www.cybertec-postgresql.com
www.cybertec-postgresql.com
pgx vs database/sql
● Use jackc/pgx interface (not database/sql) when
○ The application only targets PostgreSQL.
○ No other libraries that require database/sql are in use.
● Otherwise use database/sql with jackc/pgx/stdlib
○ compatibility with non-PostgreSQL databases is
required
○ when using other libraries that require database/sql
such as sqlx or gorm
www.cybertec-postgresql.com
pgx unique features
● Support for approximately 70 different PostgreSQL types
● Automatic statement preparation and caching
● Batch queries
● Single-round trip query mode
● Full TLS connection control
● Binary format support for custom types
● COPY protocol support for faster bulk data loads
● Extendable tracing and logging support
● Connection pool with after-connect hook
www.cybertec-postgresql.com
pgx unique features
● Listen / Notify
● Conversion of PostgreSQL arrays to Go slice mappings
● inet, cidr, hstore, json and jsonb native support
● Large object support
● NULL mapping to Null* struct or pointer to pointer
● Supports database/sql.Scanner and
database/sql/driver.Valuer interfaces for custom types
● Notice response handling
● Simulated nested transactions with savepoints
www.cybertec-postgresql.com
Hello World:
database/sql
www.cybertec-postgresql.com
Hello World:
jackc/pgx
www.cybertec-postgresql.com
Hello World:
pgx/pgxpool
www.cybertec-postgresql.com
When it all GOes right
Useful extensions
www.cybertec-postgresql.com
Useful Extensions:
database/sql +
jmoiron/sqlx
www.cybertec-postgresql.com
Useful Extensions:
database/sql +
jmoiron/sqlx
www.cybertec-postgresql.com
Useful Extensions:
database/sql +
jmoiron/sqlx
www.cybertec-postgresql.com
Useful Extensions:
jackc/pgx
www.cybertec-postgresql.com
It’s perfect!
No extensions
needed!
Useful Extensions:
jackc/pgx
www.cybertec-postgresql.com
When it all GOes right
Testing
www.cybertec-postgresql.com
Testing Approaches
● Real PostgreSQL server
● Mocking libraries
○ DATA-DOG/go-sqlmock
○ pashagolub/pgxmock
● Mock PostgreSQL wire protocol
○ jackc/pgmock
○ cockroachdb/cockroach-go/testserver
○ cockroachdb/copyist
www.cybertec-postgresql.com
Mocking Example:
pgxmock
www.cybertec-postgresql.com
Mocking Example:
pgxmock
www.cybertec-postgresql.com
Mocking Example:
pgxmock
www.cybertec-postgresql.com
Coverage:
go test + tparse
www.cybertec-postgresql.com
Coverage:
go tool cover
www.cybertec-postgresql.com
When it all GOes right
CI/CD
www.cybertec-postgresql.com
GitHub Integration
● Dependabot - maintains repository's dependencies automatically
● CodeQL - action runs analysis engine to find security vulnerabilities
● Build & Test - action runs on each pull request, or manually
● Release - action runs on new tag, publishes release
● Docker - action runs on every commit, publishes Docker images
www.cybertec-postgresql.com
Github Actions:
Dependabot
www.cybertec-postgresql.com
Github Actions:
CodeQL
www.cybertec-postgresql.com
Github Actions:
Build & Test
www.cybertec-postgresql.com
Github Actions:
Release
www.cybertec-postgresql.com
Github Actions:
Docker
www.cybertec-postgresql.com
When it all GOes right
Takeaways
www.cybertec-postgresql.com
Takeaways
www.cybertec-postgresql.com
● Go language is popular, fast, easy and well-scaled
● 45% of developers use Go to work with databases (go.dev survey)
● You can use your preferred editor or use special IDE’s to work
● Kubernetes operators (including Postgres ones) are written in Go
● Go is flexible when working with Postgres: use sql or pgx interfaces
● Go has powerful programming tools and GitHub/GitLab integration
● Go is backwards-compatible. The API’s may grow but not in a way
that breaks existing Go v1 code
DON’T BE A STRANGER
CYBERTEC GITHUB
www.github.com/cybertec-postgresql
PERSONAL GITHUB
www.github.com/pashagolub
CYBERTEC BLOG
www.cybertec-postgresql.com/en/blog/
www.cybertec-postgresql.com
Be Inspired
“I would rather have questions that can't be
answered than answers that can't be questioned.”
Richard Feynman
www.cybertec-postgresql.com
#StandWithUkraine
www.cybertec-postgresql.com

Mais conteúdo relacionado

Semelhante a When it all GOes right

Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverlessgjdevos
 
Ducksboard - A real-time data oriented webservice architecture
Ducksboard - A real-time data oriented webservice architectureDucksboard - A real-time data oriented webservice architecture
Ducksboard - A real-time data oriented webservice architectureDucksboard
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleSean Chittenden
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Useful PostgreSQL Extensions
Useful PostgreSQL ExtensionsUseful PostgreSQL Extensions
Useful PostgreSQL ExtensionsEDB
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Demi Ben-Ari
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryCodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryMárton Kodok
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsPostgreSQL Experts, Inc.
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksCommand Prompt., Inc
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
 
Distributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDLDistributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDLYulia Tell
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...François-Guillaume Ribreau
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Redis Labs
 
Using the PostgreSQL Extension Ecosystem for Advanced Analytics
Using the PostgreSQL Extension Ecosystem for Advanced AnalyticsUsing the PostgreSQL Extension Ecosystem for Advanced Analytics
Using the PostgreSQL Extension Ecosystem for Advanced AnalyticsChartio
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsJuan Picado
 

Semelhante a When it all GOes right (20)

Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 
Ducksboard - A real-time data oriented webservice architecture
Ducksboard - A real-time data oriented webservice architectureDucksboard - A real-time data oriented webservice architecture
Ducksboard - A real-time data oriented webservice architecture
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at Scale
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Useful PostgreSQL Extensions
Useful PostgreSQL ExtensionsUseful PostgreSQL Extensions
Useful PostgreSQL Extensions
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQueryCodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
 
Go dla elektronika
Go dla elektronikaGo dla elektronika
Go dla elektronika
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and Variants
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQL
 
Distributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDLDistributed Deep Learning At Scale On Apache Spark With BigDL
Distributed Deep Learning At Scale On Apache Spark With BigDL
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
 
Using the PostgreSQL Extension Ecosystem for Advanced Analytics
Using the PostgreSQL Extension Ecosystem for Advanced AnalyticsUsing the PostgreSQL Extension Ecosystem for Advanced Analytics
Using the PostgreSQL Extension Ecosystem for Advanced Analytics
 
Optimizing a React application for Core Web Vitals
Optimizing a React application for Core Web VitalsOptimizing a React application for Core Web Vitals
Optimizing a React application for Core Web Vitals
 

Último

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 

Último (20)

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

When it all GOes right