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
180
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
82
2025-12-11 nakanoshima.dev LT
takesection
0
89
アジャイルテストで高品質のスプリントレビューを
takesection
0
190
Introduction to kanjava
takesection
0
110
Instructional Designer
takesection
0
150
Zero to Hero
takesection
0
240
Fargateを使った研修の話
takesection
0
340
20240730_kanjava.pdf
takesection
0
160
JavaのJCP会員になろう
takesection
0
110
Other Decks in Technology
See All in Technology
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
510
AI駆動開発の実践とその未来
eltociear
2
500
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
300
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
290
LayerX QA Night#1
koyaman2
0
270
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
400
コールドスタンバイ構成でCDは可能か
hiramax
0
100
Identity Management for Agentic AI 解説
fujie
0
490
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
200
Claude Skillsの テスト業務での活用事例
moritamasami
1
110
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
170
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
Discover your Explorer Soul
emna__ayadi
2
1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Context Engineering - Making Every Token Count
addyosmani
9
560
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
350
Large-scale JavaScript Application Architecture
addyosmani
515
110k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
Prompt Engineering for Job Search
mfonobong
0
130
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
94
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 ありがとうございました