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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shigeki Shoji
April 22, 2025
Technology
0
200
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
120
2025-12-11 nakanoshima.dev LT
takesection
0
130
アジャイルテストで高品質のスプリントレビューを
takesection
0
210
Introduction to kanjava
takesection
0
130
Instructional Designer
takesection
0
170
Zero to Hero
takesection
0
260
Fargateを使った研修の話
takesection
0
370
20240730_kanjava.pdf
takesection
0
190
JavaのJCP会員になろう
takesection
0
130
Other Decks in Technology
See All in Technology
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
320
韓非子に学ぶAI活用術
tomfook
3
1k
Cursor Subagentsはいいぞ
yug1224
2
110
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
210
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
780
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
Phase01_AI座学_基礎
overflowinc
0
4.4k
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
350
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
170
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
150
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
270
Everyday Curiosity
cassininazir
0
180
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
230
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
The browser strikes back
jonoalderson
0
850
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
A Soul's Torment
seathinner
5
2.5k
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 ありがとうございました