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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
290
Other Decks in Technology
See All in Technology
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Kiro Crewをはじめよう
kizawa2020
1
160
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
180
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
Rust で関数型ドメインモデリング
takonda
0
140
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
870
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
Local CI × GitHub Actions
gogutan
2
190
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Rails Girls Zürich Keynote
gr2m
96
14k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Leo the Paperboy
mayatellez
10
2.4k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Visualization
eitanlees
153
17k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
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 ありがとうございました