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
120
OpenID Connectによるサービス間連携
takesection
0
220
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
130
2025-12-19-LT
takesection
0
170
2025-12-11 nakanoshima.dev LT
takesection
0
180
アジャイルテストで高品質のスプリントレビューを
takesection
0
250
Introduction to kanjava
takesection
0
150
Instructional Designer
takesection
0
220
Zero to Hero
takesection
0
280
Other Decks in Technology
See All in Technology
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
150
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
TypeScript入門 2026
recruitengineers
PRO
3
690
強化学習「理論」入門
enakai00
3
3.6k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
790
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
700
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
120
PLATEAU で バーチャル花火大会
tatsuya1970
0
170
Model Studio CLI × Token Plan
maigo999
0
190
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.6k
2026-08-05 IBM Z開発最前線!IBM Bob Premium Package for Zって何がすごいの?
yutanonaka
0
330
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
660
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
470
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Agile that works and the tools we love
rasmusluckow
331
22k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
420
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Design in an AI World
tapps
1
280
Mobile First: as difficult as doing things right
swwweet
225
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
420
The Invisible Side of Design
smashingmag
301
52k
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 ありがとうございました