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
OpenID Connectによるサービス間連携
takesection
0
100
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
100
2025-12-19-LT
takesection
0
140
2025-12-11 nakanoshima.dev LT
takesection
0
150
アジャイルテストで高品質のスプリントレビューを
takesection
0
220
Introduction to kanjava
takesection
0
140
Instructional Designer
takesection
0
190
Zero to Hero
takesection
0
270
Fargateを使った研修の話
takesection
0
400
Other Decks in Technology
See All in Technology
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
15
14k
Javaで学ぶSOLID原則
negima
1
140
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
460
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
5
540
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
150
Geek Woman の育ち方 〜コミュニティとAIと〜
chicaco
0
420
TypeScript で Platform SDK を作る技術
toiroakr
1
310
その英語学習、AWSで代替できませんか?
suzutatsu
1
260
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
0
120
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
880
AI活用の格差をなくす:チーム全体のAI開発生産性を底上げする方法
moongift
PRO
1
100
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
150
Featured
See All Featured
Docker and Python
trallard
47
3.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
7
660
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
The untapped power of vector embeddings
frankvandijk
2
1.7k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Testing 201, or: Great Expectations
jmmastey
46
8.2k
The Spectacular Lies of Maps
axbom
PRO
1
770
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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 ありがとうございました