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
81
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
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
140
さくらのクラウド開発ふりかえり2025
kazeburo
2
1.2k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
420
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
9
4.3k
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.3k
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
110
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
470
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
250
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.8k
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
130
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
150
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
240
How STYLIGHT went responsive
nonsquared
100
6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Rails Girls Zürich Keynote
gr2m
95
14k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
79
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Thoughts on Productivity
jonyablonski
73
5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Six Lessons from altMBA
skipperchong
29
4.1k
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 ありがとうございました