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
LT Slide 2025-04-22
Search
Shigeki Shoji
April 22, 2025
Technology
220
0
Share
LT Slide 2025-04-22
#kanjava
Shigeki Shoji
April 22, 2025
More Decks by Shigeki Shoji
See All by Shigeki Shoji
OpenID Connectによるサービス間連携
takesection
0
140
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
110
2025-12-19-LT
takesection
0
150
2025-12-11 nakanoshima.dev LT
takesection
0
160
アジャイルテストで高品質のスプリントレビューを
takesection
0
220
Introduction to kanjava
takesection
0
140
Instructional Designer
takesection
0
190
Zero to Hero
takesection
0
270
Fargateを使った研修の話
takesection
0
400
Other Decks in Technology
See All in Technology
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
470
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
7.8k
開発を止めない CI/CD ~CI Visibilityによる継続的最適化~
pensuke628
0
210
組織の中で自分を経営する技術
shoota
0
220
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
150
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
150
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
320
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
120
Kiro CLI v2.0.0がやってきた!
kentapapa
0
220
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
320
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
380
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Everyday Curiosity
cassininazir
0
210
Writing Fast Ruby
sferik
630
63k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Thoughts on Productivity
jonyablonski
76
5.2k
Statistics for Hackers
jakevdp
799
230k
Test your architecture with Archunit
thirion
1
2.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
710
Code Reviewing Like a Champion
maltzj
528
40k
Done Done
chrislema
186
16k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Transcript
再帰関数 2025年04月22日 Shigeki Shoji
庄司重樹 Instructional Designer 受賞歴 2024 Japan AWS All Certifications Engineers
2023 Japan AWS Top Engineers
このコードを見て不安になりますか? 3 def hoge: Unit = { val line =
StdIn.readLine("入力(終了したいときは exit と入力): "); if (line != "exit") { hoge; } }
スタックオーバーフローになるのでは? • コードがコンピュータの中でどのように処理されるかを認識し て、コンピュータに寄り添ったコードを書いてませんか? • コードがどういう問題を起こすかを想像して書くよりも、もっと直感 的に人間中心にしたい。もしそれが深刻な問題を起こすのであれば、 コンパイラなり処理系が警告するか、可能な限り自動的に問題が起こ らない動作になるようにしてほしい 4
Scalaなら末尾再帰が使用可能 5 import scala.annotation._; @tailrec def hoge: Unit = {
val line = StdIn.readLine("入力(終了したいときは exit と入力): "); if (line != "exit") { hoge; } } コンパイル後のコードはループに最適化され、繰り返し回数 が原因のスタックオーバーフローは発生しない
6 ありがとうございました