Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
73
2025-12-11 nakanoshima.dev LT
takesection
0
86
アジャイルテストで高品質のスプリントレビューを
takesection
0
180
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
接客歴・営業歴の方が長いエンジニアから見たre:Invent2025
yama3133
0
100
LayerX QA Night#1
koyaman2
0
210
AlmaLinux + KVM + Cockpit で始めるお手軽仮想化基盤 ~ 開発環境などでの利用を想定して ~
koedoyoshida
0
150
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
1.9k
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
540
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
2
180
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
210
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
120
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.1k
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
1
150
202512_AIoT.pdf
iotcomjpadmin
0
130
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
41
Code Review Best Practice
trishagee
74
19k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
How to Think Like a Performance Engineer
csswizardry
28
2.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
940
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
250
Reality Check: Gamification 10 Years Later
codingconduct
0
1.9k
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 ありがとうございました