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
190
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
91
2025-12-11 nakanoshima.dev LT
takesection
0
94
アジャイルテストで高品質のスプリントレビューを
takesection
0
190
Introduction to kanjava
takesection
0
110
Instructional Designer
takesection
0
160
Zero to Hero
takesection
0
240
Fargateを使った研修の話
takesection
0
340
20240730_kanjava.pdf
takesection
0
170
JavaのJCP会員になろう
takesection
0
120
Other Decks in Technology
See All in Technology
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
350
OCI技術資料 : OS管理ハブ 概要
ocise
2
4.2k
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
42
20k
Claude in Chromeで始める自律的フロントエンド開発
diggymo
1
190
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
970
GitHub Copilot CLI 現状確認会議
torumakabe
10
3.3k
AWS監視を「もっと楽する」ために
uechishingo
0
210
「違う現場で格闘する二人」——社内コミュニティがつないだトヨタ流アジャイルの実践とその先
shinichitakeuchi
0
540
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
690
CodeRabbit CLI + Claude Codeの連携について
oikon48
0
540
20260120 Amazon VPC のパブリックサブネットを無くしたい!
masaruogura
2
140
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
49k
Deep Space Network (abreviated)
tonyrice
0
35
A better future with KSS
kneath
240
18k
How to build a perfect <img>
jonoalderson
1
4.9k
Mind Mapping
helmedeiros
PRO
0
53
How to train your dragon (web standard)
notwaldorf
97
6.5k
Raft: Consensus for Rubyists
vanstee
141
7.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
890
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
47
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
58
41k
The Pragmatic Product Professional
lauravandoore
37
7.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
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 ありがとうございました