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
0
190
LT Slide 2025-04-22
#kanjava
Shigeki Shoji
April 22, 2025
Tweet
Share
More Decks by Shigeki Shoji
See All by Shigeki Shoji
2025-12-19-LT
takesection
0
99
2025-12-11 nakanoshima.dev LT
takesection
0
100
アジャイルテストで高品質のスプリントレビューを
takesection
0
200
Introduction to kanjava
takesection
0
120
Instructional Designer
takesection
0
160
Zero to Hero
takesection
0
240
Fargateを使った研修の話
takesection
0
350
20240730_kanjava.pdf
takesection
0
170
JavaのJCP会員になろう
takesection
0
120
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
210
Greatest Disaster Hits in Web Performance
guaca
0
260
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
560
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
220
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.9k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
250
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
940
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
800
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Google's AI Overviews - The New Search
badams
0
910
Code Reviewing Like a Champion
maltzj
527
40k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Everyday Curiosity
cassininazir
0
130
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Prompt Engineering for Job Search
mfonobong
0
160
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
68
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
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 ありがとうございました