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
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
200
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
180
JavaのJCP会員になろう
takesection
0
130
Other Decks in Technology
See All in Technology
From Senior to Staff : To infinity and beyond !
kuahyeow
0
110
Phase12_総括_自走化
overflowinc
0
1.4k
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
0
160
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
180
AI時代のIssue駆動開発のススメ
moongift
PRO
0
210
ABEMAのバグバウンティの取り組み
kurochan
1
690
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
270
Phase05_ClaudeCode入門
overflowinc
0
2.1k
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
140
Why we keep our community?
kawaguti
PRO
0
210
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Marketing to machines
jonoalderson
1
5k
Google's AI Overviews - The New Search
badams
0
940
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
150
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Accessibility Awareness
sabderemane
0
84
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
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 ありがとうございました