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
91
2025-12-11 nakanoshima.dev LT
takesection
0
94
アジャイルテストで高品質のスプリントレビューを
takesection
0
190
Introduction to kanjava
takesection
0
110
Instructional Designer
takesection
0
160
Zero to Hero
takesection
0
240
Fargateを使った研修の話
takesection
0
340
20240730_kanjava.pdf
takesection
0
170
JavaのJCP会員になろう
takesection
0
120
Other Decks in Technology
See All in Technology
かわいい身体と声を持つ そういうものに私はなりたい
yoshimura_datam
0
240
AWS Amplify Conference 2026 - 仕様からリリースまで一気通貫生成 AI 時代のフルスタック開発
inariku
2
310
Kiro Power - Amazon Bedrock AgentCore を学ぶ、もう一つの方法
r3_yamauchi
PRO
0
110
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Vivre en Bitcoin : le tutoriel que votre banquier ne veut pas que vous voyiez
rlifchitz
0
340
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
350
SOC2は、取った瞬間よりその後が面白い
3flower
0
140
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
280
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
630
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
7
3.5k
Exadata Database Service ソフトウェアのアップデートとアップグレードの概要
oracle4engineer
PRO
1
1.2k
GitHub Copilot CLI 現状確認会議
torumakabe
10
3.3k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Color Theory Basics | Prateek | Gurzu
gurzu
0
180
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
91
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
560
Being A Developer After 40
akosma
91
590k
Navigating Team Friction
lara
192
16k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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 ありがとうございました