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
150
LT Slide 2025-04-22
#kanjava
Shigeki Shoji
April 22, 2025
Tweet
Share
More Decks by Shigeki Shoji
See All by Shigeki Shoji
アジャイルテストで高品質のスプリントレビューを
takesection
0
160
Introduction to kanjava
takesection
0
94
Instructional Designer
takesection
0
140
Zero to Hero
takesection
0
220
Fargateを使った研修の話
takesection
0
310
20240730_kanjava.pdf
takesection
0
150
JavaのJCP会員になろう
takesection
0
110
JAWS-UG Okayama 2024 LT
takesection
0
110
IaCツールのいろいろ
takesection
0
440
Other Decks in Technology
See All in Technology
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
970
BirdCLEF+2025 Noir 5位解法紹介
myso
0
190
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
250
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
330
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
BtoBプロダクト開発の深層
16bitidol
0
270
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
420
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
120
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.2k
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
6
2.3k
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
23
17k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Building Applications with DynamoDB
mza
96
6.6k
Embracing the Ebb and Flow
colly
88
4.8k
Bash Introduction
62gerente
615
210k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Being A Developer After 40
akosma
91
590k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
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 ありがとうございました