Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LT Slide 2025-04-22
Search
Shigeki Shoji
April 22, 2025
Technology
260
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
1
140
OpenID Connectによるサービス間連携
takesection
0
300
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
150
2025-12-19-LT
takesection
0
180
2025-12-11 nakanoshima.dev LT
takesection
0
200
アジャイルテストで高品質のスプリントレビューを
takesection
0
260
Introduction to kanjava
takesection
0
160
Instructional Designer
takesection
0
230
Zero to Hero
takesection
0
300
Other Decks in Technology
See All in Technology
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
大型犬好きによるPugの紹介
yamanoku
1
160
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
290
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5k
パッチ更新でterraform initが落ちた日
grimoh
1
140
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
今さら理解するウェブフォントver.2026
takanorip
3
890
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
310
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Google's AI Overviews - The New Search
badams
0
1.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Design in an AI World
tapps
1
350
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 ありがとうございました