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
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LT Slide 2025-04-22
#kanjava
Shigeki Shoji
April 22, 2025
More Decks by Shigeki Shoji
See All by Shigeki Shoji
OpenID Connectによるサービス間連携
takesection
0
110
OpenID Connectによるサービス間連携
takesection
0
210
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
130
2025-12-19-LT
takesection
0
160
2025-12-11 nakanoshima.dev LT
takesection
0
170
アジャイルテストで高品質のスプリントレビューを
takesection
0
240
Introduction to kanjava
takesection
0
150
Instructional Designer
takesection
0
210
Zero to Hero
takesection
0
280
Other Decks in Technology
See All in Technology
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
170
制約理論(ToC)入門 2026版
recruitengineers
PRO
2
320
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
120
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
8
7.6k
SnowflakeCoCoでデータエンジニアリング!
foursue
0
170
モバイルアプリ開発概論2026
recruitengineers
PRO
1
290
ガバメントクラウドでのランサムウェア対策
techniczna
1
750
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
340
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
210
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
270
変化の早いClaude Codeを 書籍に落とし込む
oikon48
6
1.2k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
0
1.5k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
510
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Side Projects
sachag
455
43k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Ethics towards AI in product and experience design
skipperchong
2
340
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
GitHub's CSS Performance
jonrohan
1033
470k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
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 ありがとうございました