Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Guardrail State of the Union 2021-04-13
Search
sullis
April 13, 2021
Programming
0
320
Guardrail State of the Union 2021-04-13
Guardrail project
Portland Java User Group
2021-04-13
#openapi
#java
#scala
sullis
April 13, 2021
Tweet
Share
More Decks by sullis
See All by sullis
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
47
Netty - Montreal Java User Group 2024-05-21
sullis
0
120
Netty Chicago Java User Group 2024-04-17
sullis
0
750
Java 21 - Portland Java User Group 2023-10-24
sullis
0
280
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
130
Code generation on the Java VM 2022-04-19
sullis
0
100
Mockito 2022-01-25
sullis
0
160
GitHub Actions 2021-12-16
sullis
0
35
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
53
Other Decks in Programming
See All in Programming
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
140
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
0
210
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
120
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
4
2.8k
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
530
Server Driven Compose With Firebase
skydoves
0
350
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
370
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
21
9k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
2.1k
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
110
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
3
1.2k
Featured
See All Featured
Designing for humans not robots
tammielis
249
25k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Writing Fast Ruby
sferik
626
60k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Visualization
eitanlees
143
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.8k
How GitHub (no longer) Works
holman
311
140k
Six Lessons from altMBA
skipperchong
26
3.4k
Transcript
Sean Sulliva n April 13, 202 1 Portland Java User
Group Guardrai l State of the Union
Introductio n What’s ne w Artisan qualit y 2021 Roadmap
Guardrai l is a code generation tool
Guardrail OpenAPI Java Scala
generated code OpenAPI
January 2017
First public release : September 2017
First blog post: March 2018
Guardrail is opinionated
API First development
Strongly typed code
Make illegal states unrepresentable
Leverage th e type system t o ensure correctness
Embrac e referential transparency
Favor immutability
Generate idiomatic code
What’s New?
https://github.com/guardrail-dev New GitHub org
sbt plugi n Maven plugi n Gradle plugin
None
Java collection s VAVR collections
VAVR support
<plugin > <groupId>com.twilio</groupId > <artifactId>guardrail-maven-plugin_2.12</artifactId> <version>0.62.2</version > … <modules >
<module>java-vavr</module > <module>jackson</module > <module>dropwizard</module > <module>async-http-client</module> </modules > … <plugin > VAVR pom.xml
Dropwizar d Spring MVC
Spring
Sample apps
None
None
None
Artisan quality
Continuous integration
Travis CI GitHu b Actions
None
None
Which version of Java?
JDK 8 JDK 1 1 JDK 13 JDK 1 4
JDK 1 5 JDK 16
Build matrix
Publish to Maven Central
ScalaTes t ScalaChec k Scoverage Testing, Testing, Testing
EqualsVeri fi e r sbt-tes t maven-invoker-plugin Testing, Testing, Testing
maven-invoker-plugin Integration tests
Roadmap
OpenAPI 3. 1 Dropwizard 2. x Scala 3.0
Final thoughts
Guardrail is awesom e API First developmen t Code generation
is a force multiplier
Contribute to guardrail !
Questions?
The End