Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
改行には気をつけよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ゆるゆる
September 18, 2024
Programming
79
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
改行には気をつけよう
runn で trim() を忘れてバグった話
ゆるゆる
September 18, 2024
More Decks by ゆるゆる
See All by ゆるゆる
Docker bake(とCache)でCI/CDを改善する
sunyryr
0
700
WebAPI の設計
sunyryr
0
92
OpenAPI×LaravelでAPI開発を格段に便利にする方法
sunyryr
0
1.2k
OpenAPIことはじめ
sunyryr
0
150
server side swift - codable
sunyryr
0
280
iOSアプリだけじゃないSwift
sunyryr
0
180
Other Decks in Programming
See All in Programming
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.3k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
220
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
Seven New Principles of Software Engineering
yegor256
0
400
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
190
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
12
7.8k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
350
Modernizing iOS Apps
seyfoyun
0
140
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
210
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
290
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
360
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
620
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
730
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Transcript
改行には気をつけよう runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門
自己紹介 ゆるゆる / Taiyo Minagawa 株式会社ゆめみ バックエンドエンジニア 趣味 : 旅行、名取さな、最近は自宅
K8s @sun_yryr エンジニアミートアップ @WeWork KDX虎ノ門
runnとは? シナリオベースのテストツール /自動化ツール HTTP、 gRPC、 DB、 Chrome DevTools、シェルコマンドなどの操作を YAMLで記述 返り値のバリデーションを行ったり、返り値を次のステップに渡したりできる
k1LoW/runn 改行には気をつけよう - runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 3
runn の exec ランナー シェルコマンドを実行可能 runn を動かしているホストにインストールされているコマンドを組み込めるた め、これのおかげで自由度がすごいことになります 例: 直前のHTTPレスポンスのuser_idをbase64エンコード
(して後続で使う) steps: - exec: cmd: echo '{{ previous.res.body.user_id }}' | base64 bind: token: '{{ current.stdout }}' - req: /api/v1/users/me: post: headers: Authorization: 'Bearer {{ token }}' 改行には気をつけよう - runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 4
遭遇した問題 後続の API リクエストで認証エラーが発生する 改行には気をつけよう - runn exec 編 エンジニアミートアップ
@WeWork KDX虎ノ門 5
原因 コマンドによっては出力の最後に改行が入る この改行がトークンの一部として扱われてしまう つまり、こういうことです → token = {base64_encoded_token}\n 改行には気をつけよう -
runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 6
解決策 trim() 関数を使用して改行を除去 steps: - exec: command: echo '{{ previous.res.body.user_id
}}' | base64 bind: token: '{{ trim(current.stdout) }}' 改行には気をつけよう - runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 7
(個人的な ) 関連する落とし穴 echo ではなく echo -n $ echo "foo"
| base64 Zm9vCg== $ echo -n "foo" | base64 Zm9v 改行には気をつけよう - runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 8
まとめ 改行コードには気をつけよう とりあえず出力のバインドの時は雑に trim() を使っても良いと思う 改行には気をつけよう - runn exec 編
エンジニアミートアップ @WeWork KDX虎ノ門 9
ご清聴ありがとうございました! 改行には気をつけよう - runn exec 編 エンジニアミートアップ @WeWork KDX虎ノ門 10