SlideShare a Scribd company logo
API 
An&pa)erns 
…iden&fying, 
and 
avoiding 
them 
Manish Pandit 
@lobster1234
Manish 
Pandit 
@lobster1234 
mpandit 
at 
neAlix 
dot 
com 
linkedin.com/in/mpandit 
slideshare.net/lobster1234 
@lobster1234
APIs 
A 
means 
for 
soGware 
to 
interact 
with 
other 
soGware. 
@lobster1234
@lobster1234
@lobster1234 
Image 
Credit: 
h)p://en.wikipedia.org/wiki/Internet_of_Things
@lobster1234
REST 
API 
REST 
is 
not 
a 
standard, 
but 
an 
architecture 
@lobster1234
REST 
API 
REST 
is 
not 
a 
standard, 
but 
an 
architecture, 
which 
uses 
HTTP 
as 
a 
model 
for 
all 
interac.ons. 
If 
HTTP 
is 
a 
standard, 
REST 
is 
a 
conven&on. 
@lobster1234
@lobster1234
REST 
API 
Noun 
è 
Resource, 
or 
the 
En&ty 
Verb 
Ac&on 
+ 
è 
Iden.fier 
@lobster1234
Image: 
h)p://www.educa&on.com/study-­‐help/ar&cle/nouns/ 
@lobster1234
Protocol 
May 
or 
may 
not 
be 
standard 
@lobster1234
Protocol 
May 
or 
may 
not 
be 
standard 
Indicates 
an 
agreement 
between 
the 
par&es 
@lobster1234
@lobster1234
Payload 
Format 
(XML, 
JSON, 
Custom 
Text, 
Binary..) 
Transport 
(HTTP, 
Binary 
over 
sockets, 
FTP..) 
@lobster1234
@lobster1234
h)p://www.neAlix.com/header/neAlix_logo.gif 
Or, 
reques.ng 
a 
resource 
from 
the 
server 
by 
giving 
its 
path 
using 
a 
protocol. 
@lobster1234
Every 
request 
deserves 
a 
response. 
@lobster1234
Headers 
describe 
the 
response 
@lobster1234
Headers 
describe 
the 
response 
Status 
Code 
indicates 
the 
success/failure 
@lobster1234
Headers 
describe 
the 
response 
Status 
Code 
indicates 
the 
success/failure 
Body 
contains 
the 
actual 
payload 
@lobster1234
Tell 
the 
server 
what 
to 
do 
via 
ac.ons 
@lobster1234
Ac&ons 
are 
HTTP 
methods, 
which 
map 
nicely 
to 
(most 
of) 
the 
business 
interac&ons 
@lobster1234
Create 
– 
POST 
Read 
– 
GET 
Update 
– 
PUT 
(or 
PATCH) 
Delete 
-­‐ 
DELETE 
HEAD, 
OPTIONS, 
TRACE, 
CONNECT 
@lobster1234
Pa)erns 
@lobster1234
Pa)erns 
Pa)erns 
are 
re-­‐usable 
solu&ons 
to 
commonly 
occurring 
problems. 
@lobster1234
Common 
Scenarios 
Gebng 
data 
from 
the 
server 
@lobster1234
Common 
Scenarios 
Gebng 
data 
from 
the 
server 
Sending 
data 
to 
the 
server 
@lobster1234
An&pa)erns 
An&pa)erns 
are 
re-­‐usable 
solu&ons 
to 
commonly 
occurring 
problems, 
that 
look 
great 
on 
the 
surface, 
but 
really 
aren’t. 
@lobster1234
Request 
An&pa)erns 
@lobster1234
Over-­‐using 
Query 
Strings 
@lobster1234
/pets?name=scruffy 
vs. 
/pets/name/scruffy 
@lobster1234
/pets?name=scruffy&zip=94568 
vs. 
/pets/name/scruffy/loca&on/zip/94568 
@lobster1234
Avoid 
query 
strings 
for 
resource 
iden&fica&on 
But 
use 
them 
for 
request 
metadata 
* 
*Except 
for 
search 
@lobster1234
Pagina&on 
Filtering 
Sor&ng 
.. 
@lobster1234
@lobster1234
Query 
Strings 
h)p://some.api.com/movies? 
start=0&count=10&sortBy=name&fields=name, 
cast,releaseDate 
@lobster1234
Allowing 
clients 
to 
scrape 
the 
data 
via 
your 
APIs 
@lobster1234
@lobster1234
Think 
batch 
jobs 
reques&ng 
the 
catalog 
nightly! 
@lobster1234
Request 
metadata 
to 
the 
rescue? 
@lobster1234
….how 
about 
a 
?since=1d 
…or 
?since=UTC 
@lobster1234
Method 
An&pa)erns 
@lobster1234
Using 
Query 
Strings 
to 
overload 
verbs 
@lobster1234
/pets?perform=update&name=scruffy&id=24 
@lobster1234
Use 
the 
appropriate 
HTTP 
Method 
to 
represent 
your 
ac&on 
@lobster1234
Using 
POST 
for 
all 
writes 
@lobster1234
GET 
to 
retrieve, 
or 
search 
POST 
to 
create, 
or 
upsert 
PUT 
to 
update 
(or 
be)er 
yet, 
PATCH) 
DELETE 
to 
delete 
@lobster1234
Using 
HTTP 
PUT 
or 
POST 
to 
set 
a 
value 
to 
null 
@lobster1234
Updates 
vs. 
Deletes 
Everything 
works 
when 
there 
is 
data, 
but 
what 
when 
there 
is 
no 
data..? 
@lobster1234
Use 
HTTP 
DELETE 
to 
set 
a 
value 
to 
null 
Remember, 
we 
have 
a 
path 
to 
not 
just 
the 
resource, 
but 
also 
it’s 
a)ributes 
@lobster1234
DELETE 
/pets/<id>/collartag 
@lobster1234
Response 
An&pa)erns 
@lobster1234
Always 
returning 
HTTP 
200 
@lobster1234
@lobster1234
HTTP 
200 
OK 
{ 
“success” 
: 
false 
} 
@lobster1234
HTTP 
200 
OK 
{ 
“error” 
: 
”Person 
jdoe 
not 
found” 
} 
@lobster1234
2xx 
for 
success 
3xx 
for 
redirects/caching 
4xx 
for 
request/client 
errors 
5xx 
for 
server 
errors 
@lobster1234
Some 
Useful 
(and 
not 
so 
common) 
Codes 
Return 
aGer 
a 
delete 
-­‐ 
204 
Failed 
database 
constraint 
-­‐ 
409 
Method 
not 
supported 
-­‐ 
405 
Trying 
to 
ask 
for 
too 
much 
data 
-­‐ 
413 
Valida&on 
Failure 
-­‐ 
418 
@lobster1234
Always 
returning 
a 
401 
for 
auth 
failures
@lobster1234
Auth 
Use 
HTTP 
401 
Unauthorized 
to 
indicate 
that 
the 
client 
needs 
to 
authen&cate 
@lobster1234
Auth 
Use 
HTTP 
403 
Forbidden 
to 
indicate 
that 
the 
client’s 
creden&als 
do 
not 
allow 
access 
to 
the 
requested 
resource 
@lobster1234
401 
vs 
403 
401 
= 
Come 
back 
with 
a 
key 
403 
= 
Your 
key 
does 
not 
work 
for 
this 
lock. 
@lobster1234
Processing 
requests 
synchronously, 
even 
&me 
intensive 
ones 
@lobster1234
Async 
the 
opera&on, 
and 
return 
HTTP 
202 
– 
Accepted 
@lobster1234
@lobster1234
Async 
opera&on’s 
response 
should 
help 
the 
caller. 
{“statusUrl”: 
<some 
URL>} 
@lobster1234
Organiza&onal 
An&pa)erns 
@lobster1234
Not 
differen&a&ng 
between 
en..es 
and 
instances 
@lobster1234
/pets?type=dog&name=big 
vs 
/pets/dogs/name/big 
@lobster1234
Namespace 
your 
resources 
in 
a 
collec&on 
Use 
paths 
and 
iden&fiers 
to 
traverse 
@lobster1234
Using 
id 
in 
the 
resource 
iden&fica&on 
path 
@lobster1234
/pets/id/1234 
vs 
/pets/1234 
@lobster1234
Use 
all 
other 
a)ributes 
in 
the 
path, 
except 
the 
id. 
id 
is 
implied 
@lobster1234
@lobster1234 
Resources 
in 
an 
island
@lobster1234
Every 
en&ty 
or 
a 
resource 
is 
&ed 
to 
others. 
@lobster1234
Every 
en&ty 
or 
a 
resource 
is 
&ed 
to 
others. 
And 
you’re 
stuck 
guessing 
the 
connec&ons! 
@lobster1234
@lobster1234 
We’ll 
just 
return 
the 
IDs!
HATEOAS 
(or 
something 
similar) 
@lobster1234
Read 
code 
to 
figure 
out 
the 
resources 
and 
a)ributes. 
@lobster1234
@lobster1234
Use 
Meta 
pages 
for 
resource 
descrip&on 
/resource/meta 
/collec&on/meta 
@lobster1234
APIs 
are 
not 
discoverable 
@lobster1234
Consider 
a 
documenta&on 
generator 
like 
Swagger, 
IODocs 
@lobster1234
Relying 
on 
cookies 
for 
authen&ca&on 
@lobster1234
@lobster1234
Accept 
cookies 
as 
a 
fallback, 
but 
prefer 
a 
query 
parameter 
or 
HTTP 
request 
header. 
@lobster1234
Storing 
state 
on 
the 
server 
nodes 
@lobster1234
Stateless 
== 
Simple 
@lobster1234
Requests 
either 
modify 
the 
state 
of 
a 
resource, 
or 
read 
it. 
All 
requests 
to 
the 
cluster 
see 
the 
same 
state 
of 
the 
resource 
@lobster1234
Avoid 
state 
as 
much 
as 
possible. 
Maintain 
the 
state 
in 
the 
database. 
If 
you 
need 
to 
store 
transient 
state 
on 
the 
server, 
it’s 
a 
code 
(or 
architecture) 
smell. 
@lobster1234
Versioning 
Using 
301s 
to 
redirect/re&re 
APIs 
Caching 
Using 
HTTP 
headers 
correctly 
Caching 
response 
bodies 
@lobster1234
@lobster1234 
Fin
Ad

More Related Content

What's hot (18)

The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing VulnerabilitiesThe Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
TechWell
 
Building Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET CoreBuilding Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET Core
Nate Barbettini
 
Enhance Your Google Search
Enhance Your Google SearchEnhance Your Google Search
Enhance Your Google Search
Valentini Mellas
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
Leigh Dodds
 
Google Search Techniques
Google Search TechniquesGoogle Search Techniques
Google Search Techniques
Duc Chau
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Hosang Jeon
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-final
Romania Testing
 
Demystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
Demystifying Apache Kafka, once and for all | Jonathan Santilli, SnykDemystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
Demystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
HostedbyConfluent
 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studies
Diego Valerio Camarda
 
1-04: HTML Elements
1-04: HTML Elements1-04: HTML Elements
1-04: HTML Elements
apnwebdev
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile Descriptions
Tony Hammond
 
Google search techniques
Google search techniquesGoogle search techniques
Google search techniques
Nirav Ranpara
 
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Lucidworks
 
Chris Gutteridge: RDF Crash Course
Chris Gutteridge: RDF Crash CourseChris Gutteridge: RDF Crash Course
Chris Gutteridge: RDF Crash Course
devxs
 
Google
GoogleGoogle
Google
sunil sharma
 
Googlesearchtechniques 090402135045-phpapp01
Googlesearchtechniques 090402135045-phpapp01Googlesearchtechniques 090402135045-phpapp01
Googlesearchtechniques 090402135045-phpapp01
Charles Erwin
 
Google search tips
Google search tipsGoogle search tips
Google search tips
Yashwant Shet Talaulikar
 
Google searching techniques
Google searching techniquesGoogle searching techniques
Google searching techniques
abbas mohd
 
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing VulnerabilitiesThe Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
TechWell
 
Building Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET CoreBuilding Beautiful REST APIs in ASP.NET Core
Building Beautiful REST APIs in ASP.NET Core
Nate Barbettini
 
Enhance Your Google Search
Enhance Your Google SearchEnhance Your Google Search
Enhance Your Google Search
Valentini Mellas
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
Leigh Dodds
 
Google Search Techniques
Google Search TechniquesGoogle Search Techniques
Google Search Techniques
Duc Chau
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Hosang Jeon
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-final
Romania Testing
 
Demystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
Demystifying Apache Kafka, once and for all | Jonathan Santilli, SnykDemystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
Demystifying Apache Kafka, once and for all | Jonathan Santilli, Snyk
HostedbyConfluent
 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studies
Diego Valerio Camarda
 
1-04: HTML Elements
1-04: HTML Elements1-04: HTML Elements
1-04: HTML Elements
apnwebdev
 
Agile Descriptions
Agile DescriptionsAgile Descriptions
Agile Descriptions
Tony Hammond
 
Google search techniques
Google search techniquesGoogle search techniques
Google search techniques
Nirav Ranpara
 
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Building Smarter Search Applications Using Built-In Knowledge Graphs and Quer...
Lucidworks
 
Chris Gutteridge: RDF Crash Course
Chris Gutteridge: RDF Crash CourseChris Gutteridge: RDF Crash Course
Chris Gutteridge: RDF Crash Course
devxs
 
Googlesearchtechniques 090402135045-phpapp01
Googlesearchtechniques 090402135045-phpapp01Googlesearchtechniques 090402135045-phpapp01
Googlesearchtechniques 090402135045-phpapp01
Charles Erwin
 
Google searching techniques
Google searching techniquesGoogle searching techniques
Google searching techniques
abbas mohd
 

Viewers also liked (20)

OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
Manish Pandit
 
Fonts N Tht
Fonts N ThtFonts N Tht
Fonts N Tht
benjo7
 
Funcionlinealyafin
FuncionlinealyafinFuncionlinealyafin
Funcionlinealyafin
Rodolfo A
 
Activities Done
Activities DoneActivities Done
Activities Done
IaaC
 
Speedinterviewing Sept2009
Speedinterviewing Sept2009Speedinterviewing Sept2009
Speedinterviewing Sept2009
Cindy Edwards
 
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Christos Gotzaridis
 
Clas.Cruz09
Clas.Cruz09Clas.Cruz09
Clas.Cruz09
JOAQUIN
 
Jointure Naturelle3
Jointure Naturelle3Jointure Naturelle3
Jointure Naturelle3
ADB2
 
20150901 Mapping Yorkshire
20150901 Mapping Yorkshire20150901 Mapping Yorkshire
20150901 Mapping Yorkshire
dbyhundred
 
Jason's timeline
Jason's timelineJason's timeline
Jason's timeline
jlee16
 
Makro Sunum2
Makro Sunum2Makro Sunum2
Makro Sunum2
Makro Grup
 
Silicon Valley Code Camp: 2011 Introduction to MongoDB
Silicon Valley Code Camp: 2011 Introduction to MongoDBSilicon Valley Code Camp: 2011 Introduction to MongoDB
Silicon Valley Code Camp: 2011 Introduction to MongoDB
Manish Pandit
 
How To
How ToHow To
How To
Amy
 
Small Group Makeup Workshops in Tauranga
Small Group Makeup Workshops in TaurangaSmall Group Makeup Workshops in Tauranga
Small Group Makeup Workshops in Tauranga
Lillybeth: A Beautiful Education
 
13112282 Aig Risk Bankruptcy Report
13112282 Aig Risk Bankruptcy Report13112282 Aig Risk Bankruptcy Report
13112282 Aig Risk Bankruptcy Report
jubin6025
 
Research Into Our Potential Target Audience
Research Into Our Potential Target AudienceResearch Into Our Potential Target Audience
Research Into Our Potential Target Audience
3246
 
Pervasive And Personnal Learning
Pervasive And Personnal LearningPervasive And Personnal Learning
Pervasive And Personnal Learning
Yvan Peter
 
Tom Gorham Class Content
Tom Gorham Class ContentTom Gorham Class Content
Tom Gorham Class Content
aahawkins
 
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
Manish Pandit
 
Fonts N Tht
Fonts N ThtFonts N Tht
Fonts N Tht
benjo7
 
Funcionlinealyafin
FuncionlinealyafinFuncionlinealyafin
Funcionlinealyafin
Rodolfo A
 
Activities Done
Activities DoneActivities Done
Activities Done
IaaC
 
Speedinterviewing Sept2009
Speedinterviewing Sept2009Speedinterviewing Sept2009
Speedinterviewing Sept2009
Cindy Edwards
 
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Προτάσεις για τη διδασκαλία ΠΕ4 γυμνασίου Γενάρης 12
Christos Gotzaridis
 
Clas.Cruz09
Clas.Cruz09Clas.Cruz09
Clas.Cruz09
JOAQUIN
 
Jointure Naturelle3
Jointure Naturelle3Jointure Naturelle3
Jointure Naturelle3
ADB2
 
20150901 Mapping Yorkshire
20150901 Mapping Yorkshire20150901 Mapping Yorkshire
20150901 Mapping Yorkshire
dbyhundred
 
Jason's timeline
Jason's timelineJason's timeline
Jason's timeline
jlee16
 
Silicon Valley Code Camp: 2011 Introduction to MongoDB
Silicon Valley Code Camp: 2011 Introduction to MongoDBSilicon Valley Code Camp: 2011 Introduction to MongoDB
Silicon Valley Code Camp: 2011 Introduction to MongoDB
Manish Pandit
 
How To
How ToHow To
How To
Amy
 
13112282 Aig Risk Bankruptcy Report
13112282 Aig Risk Bankruptcy Report13112282 Aig Risk Bankruptcy Report
13112282 Aig Risk Bankruptcy Report
jubin6025
 
Research Into Our Potential Target Audience
Research Into Our Potential Target AudienceResearch Into Our Potential Target Audience
Research Into Our Potential Target Audience
3246
 
Pervasive And Personnal Learning
Pervasive And Personnal LearningPervasive And Personnal Learning
Pervasive And Personnal Learning
Yvan Peter
 
Tom Gorham Class Content
Tom Gorham Class ContentTom Gorham Class Content
Tom Gorham Class Content
aahawkins
 
Ad

Similar to Scalabay - API Design Antipatterns (20)

Silicon Valley 2014 - API Antipatterns
Silicon Valley 2014 - API AntipatternsSilicon Valley 2014 - API Antipatterns
Silicon Valley 2014 - API Antipatterns
Manish Pandit
 
API Design Antipatterns - APICon SF
API Design Antipatterns - APICon SFAPI Design Antipatterns - APICon SF
API Design Antipatterns - APICon SF
Manish Pandit
 
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
javier ramirez
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
Matthew Turland
 
Django O/R Mapper
Django O/R MapperDjango O/R Mapper
Django O/R Mapper
Ian Lewis
 
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
Patrick Viafore
 
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Woodruff Solutions LLC
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript
3scale
 
Subj3ct - Oxford Geek Night
Subj3ct - Oxford Geek NightSubj3ct - Oxford Geek Night
Subj3ct - Oxford Geek Night
NetworkedPlanet
 
Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...
Woodruff Solutions LLC
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
Alex Moundalexis
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
Phil Windley
 
Experiments in Data Portability
Experiments in Data PortabilityExperiments in Data Portability
Experiments in Data Portability
Glenn Jones
 
JoomlaDay Conference_September 2023 PDF.pdf
JoomlaDay Conference_September 2023 PDF.pdfJoomlaDay Conference_September 2023 PDF.pdf
JoomlaDay Conference_September 2023 PDF.pdf
Oliver Brett
 
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
Alessandro Nadalin
 
Services web RESTful
Services web RESTfulServices web RESTful
Services web RESTful
goldoraf
 
Semantic Web Applications
Semantic Web ApplicationsSemantic Web Applications
Semantic Web Applications
Julian Higman
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Balázs Tatár
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
Paul James
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API Design
OCTO Technology
 
Silicon Valley 2014 - API Antipatterns
Silicon Valley 2014 - API AntipatternsSilicon Valley 2014 - API Antipatterns
Silicon Valley 2014 - API Antipatterns
Manish Pandit
 
API Design Antipatterns - APICon SF
API Design Antipatterns - APICon SFAPI Design Antipatterns - APICon SF
API Design Antipatterns - APICon SF
Manish Pandit
 
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
API Analytics with Redis and Bigquery. NoSQLmatters Cologne '14 edition. Javi...
javier ramirez
 
Django O/R Mapper
Django O/R MapperDjango O/R Mapper
Django O/R Mapper
Ian Lewis
 
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
Patrick Viafore
 
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Woodruff Solutions LLC
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript
3scale
 
Subj3ct - Oxford Geek Night
Subj3ct - Oxford Geek NightSubj3ct - Oxford Geek Night
Subj3ct - Oxford Geek Night
NetworkedPlanet
 
Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...
Woodruff Solutions LLC
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
Phil Windley
 
Experiments in Data Portability
Experiments in Data PortabilityExperiments in Data Portability
Experiments in Data Portability
Glenn Jones
 
JoomlaDay Conference_September 2023 PDF.pdf
JoomlaDay Conference_September 2023 PDF.pdfJoomlaDay Conference_September 2023 PDF.pdf
JoomlaDay Conference_September 2023 PDF.pdf
Oliver Brett
 
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
Alessandro Nadalin
 
Services web RESTful
Services web RESTfulServices web RESTful
Services web RESTful
goldoraf
 
Semantic Web Applications
Semantic Web ApplicationsSemantic Web Applications
Semantic Web Applications
Julian Higman
 
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019Let's write secure Drupal code! DUG Belgium - 08/08/2019
Let's write secure Drupal code! DUG Belgium - 08/08/2019
Balázs Tatár
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
Paul James
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API Design
OCTO Technology
 
Ad

More from Manish Pandit (20)

Disaster recovery - What, Why, and How
Disaster recovery - What, Why, and HowDisaster recovery - What, Why, and How
Disaster recovery - What, Why, and How
Manish Pandit
 
Serverless Architectures on AWS in practice - OSCON 2018
Serverless Architectures on AWS in practice - OSCON 2018Serverless Architectures on AWS in practice - OSCON 2018
Serverless Architectures on AWS in practice - OSCON 2018
Manish Pandit
 
Disaster Recovery and Reliability
Disaster Recovery and ReliabilityDisaster Recovery and Reliability
Disaster Recovery and Reliability
Manish Pandit
 
OAuth2 primer
OAuth2 primerOAuth2 primer
OAuth2 primer
Manish Pandit
 
Immutable AWS Deployments with Packer and Jenkins
Immutable AWS Deployments with Packer and JenkinsImmutable AWS Deployments with Packer and Jenkins
Immutable AWS Deployments with Packer and Jenkins
Manish Pandit
 
AWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and JavaAWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and Java
Manish Pandit
 
AWS Primer and Quickstart
AWS Primer and QuickstartAWS Primer and Quickstart
AWS Primer and Quickstart
Manish Pandit
 
Securing your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID Connect
Manish Pandit
 
Motivation : it Matters
Motivation : it MattersMotivation : it Matters
Motivation : it Matters
Manish Pandit
 
Building Apis in Scala with Playframework2
Building Apis in Scala with Playframework2Building Apis in Scala with Playframework2
Building Apis in Scala with Playframework2
Manish Pandit
 
Scala at Netflix
Scala at NetflixScala at Netflix
Scala at Netflix
Manish Pandit
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGNIntroducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Evolving IGN’s New APIs with Scala
 Evolving IGN’s New APIs with Scala Evolving IGN’s New APIs with Scala
Evolving IGN’s New APIs with Scala
Manish Pandit
 
IGN's V3 API
IGN's V3 APIIGN's V3 API
IGN's V3 API
Manish Pandit
 
Java and the JVM
Java and the JVMJava and the JVM
Java and the JVM
Manish Pandit
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
Manish Pandit
 
Silicon Valley Code Camp 2011: Play! as you REST
Silicon Valley Code Camp 2011: Play! as you RESTSilicon Valley Code Camp 2011: Play! as you REST
Silicon Valley Code Camp 2011: Play! as you REST
Manish Pandit
 
NoSQLCamp : MongoDB at IGN
NoSQLCamp : MongoDB at IGNNoSQLCamp : MongoDB at IGN
NoSQLCamp : MongoDB at IGN
Manish Pandit
 
MongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social PlatformMongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social Platform
Manish Pandit
 
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hoodSilicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Manish Pandit
 
Disaster recovery - What, Why, and How
Disaster recovery - What, Why, and HowDisaster recovery - What, Why, and How
Disaster recovery - What, Why, and How
Manish Pandit
 
Serverless Architectures on AWS in practice - OSCON 2018
Serverless Architectures on AWS in practice - OSCON 2018Serverless Architectures on AWS in practice - OSCON 2018
Serverless Architectures on AWS in practice - OSCON 2018
Manish Pandit
 
Disaster Recovery and Reliability
Disaster Recovery and ReliabilityDisaster Recovery and Reliability
Disaster Recovery and Reliability
Manish Pandit
 
Immutable AWS Deployments with Packer and Jenkins
Immutable AWS Deployments with Packer and JenkinsImmutable AWS Deployments with Packer and Jenkins
Immutable AWS Deployments with Packer and Jenkins
Manish Pandit
 
AWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and JavaAWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and Java
Manish Pandit
 
AWS Primer and Quickstart
AWS Primer and QuickstartAWS Primer and Quickstart
AWS Primer and Quickstart
Manish Pandit
 
Securing your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID Connect
Manish Pandit
 
Motivation : it Matters
Motivation : it MattersMotivation : it Matters
Motivation : it Matters
Manish Pandit
 
Building Apis in Scala with Playframework2
Building Apis in Scala with Playframework2Building Apis in Scala with Playframework2
Building Apis in Scala with Playframework2
Manish Pandit
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGNIntroducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Evolving IGN’s New APIs with Scala
 Evolving IGN’s New APIs with Scala Evolving IGN’s New APIs with Scala
Evolving IGN’s New APIs with Scala
Manish Pandit
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
Manish Pandit
 
Silicon Valley Code Camp 2011: Play! as you REST
Silicon Valley Code Camp 2011: Play! as you RESTSilicon Valley Code Camp 2011: Play! as you REST
Silicon Valley Code Camp 2011: Play! as you REST
Manish Pandit
 
NoSQLCamp : MongoDB at IGN
NoSQLCamp : MongoDB at IGNNoSQLCamp : MongoDB at IGN
NoSQLCamp : MongoDB at IGN
Manish Pandit
 
MongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social PlatformMongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social Platform
Manish Pandit
 
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hoodSilicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Silicon Valley Code Camp 2010: Social Platforms : What goes on under the hood
Manish Pandit
 

Recently uploaded (20)

Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 

Scalabay - API Design Antipatterns