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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
88
2025-12-19-LT
takesection
0
140
2025-12-11 nakanoshima.dev LT
takesection
0
140
アジャイルテストで高品質のスプリントレビューを
takesection
0
210
Introduction to kanjava
takesection
0
130
Instructional Designer
takesection
0
180
Zero to Hero
takesection
0
270
Fargateを使った研修の話
takesection
0
390
20240730_kanjava.pdf
takesection
0
190
Other Decks in Technology
See All in Technology
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
AI 時代の Platform Engineering
recruitengineers
PRO
1
130
Tachikawa.any 運営挨拶
daitasu
0
130
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
250
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
220
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
160
新卒エンジニア研修、ハンズオンの設計における課題と実践知/ #tachikawaany
nishiuma
2
140
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
多角的な視点から見たAGI
terisuke
0
130
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
190
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Curious Case for Waylosing
cassininazir
0
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing Experiences People Love
moore
143
24k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
We Are The Robots
honzajavorek
0
220
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
Optimising Largest Contentful Paint
csswizardry
37
3.7k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
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 ありがとうございました