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
210
0
Share
LT Slide 2025-04-22
#kanjava
Shigeki Shoji
April 22, 2025
More Decks by Shigeki Shoji
See All by Shigeki Shoji
2025-12-19-LT
takesection
0
130
2025-12-11 nakanoshima.dev LT
takesection
0
130
アジャイルテストで高品質のスプリントレビューを
takesection
0
210
Introduction to kanjava
takesection
0
130
Instructional Designer
takesection
0
180
Zero to Hero
takesection
0
260
Fargateを使った研修の話
takesection
0
380
20240730_kanjava.pdf
takesection
0
190
JavaのJCP会員になろう
takesection
0
130
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
QGISプラグイン CMChangeDetector
naokimuroki
1
260
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
100
Digitization部 紹介資料
sansan33
PRO
1
7.3k
2026年に相応しい 最先端プラグインホストの設計<del>と実装</del>
atsushieno
0
120
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
140
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
240
CloudSec JP #005 後締め ~ソフトウェアサプライチェーン攻撃から開発者のシークレットを守る~
lhazy
0
190
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
980
Data Hubグループ 紹介資料
sansan33
PRO
0
2.9k
今年60歳のおっさんCBになる
kentapapa
2
390
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Statistics for Hackers
jakevdp
799
230k
Prompt Engineering for Job Search
mfonobong
0
260
How STYLIGHT went responsive
nonsquared
100
6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
500
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
270
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
A Modern Web Designer's Workflow
chriscoyier
698
190k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
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 ありがとうございました