Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AIが無かった頃の素敵な出会いの話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
コドモン開発チーム
PRO
July 20, 2026
Programming
790
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIが無かった頃の素敵な出会いの話
コドモン開発チーム
PRO
July 20, 2026
Transcript
106 slides
AIが無かった頃の 素敵な出会いの話 株式会社コドモン 松浦 康介
※先にご案内※ 5分ギリギリなので 早口です🙏 2
いやはや AI時代ですね 3
Github Copilotの登場は 2021年 4
ChatGPTの登場は 2022年 5
ここ4年ですごく浸透 6
今日はAI時代の前の ノスタルジーな話 7
さて、それは何年前の話? 8
今から遡ること 9
444年前の話 10
1582年 11
時は戦国 12
安土桃山時代 13
1582年の 有名な出来事 14
本能寺の変 (1582年6月21日) 15
1582年6月 歴史が変わった 16
この年の10月 17
暦史も変わった 18
ここでクイズ 19
1582年10月4日の翌日は? 20
1582年 Q. 10月4日の翌日は? A. 10月15日(+11日) 21
123 4 5 6 7 8 9 10 11 12
13 14 15 10日間くらい スキップされてる 22
1582年は 10月5日〜14日 存在しないらしいです 23
ウソみたいな真実 24
え?何言ってるの? って感じですよね? 25
でも本当なのです 26
何が起きたか 27
当時使われていた ユリウス暦から 28
現行のグレゴリオ暦に 変わった 29
ユリウス暦はうるう年の 考慮がやや弱く 30
実世界と暦が10日間くらい ズレてしまっていた 31
例: 夏至とか冬至の日付と 実世界の明るさがズレちゃう (あくまでイメージとして) 32
グレゴリオ暦では うるう年の扱いを改善する 33
ユリウス暦→グレゴリオ暦 に変えよう in 1582年 34
by グレゴリウス13世 35
変えるにあたって すでに約10日ズレいる 36
まあ、省いちゃおう (強気の運用回避) 37
みたいな流れらしい 38
ちなみに 39
うるう年の判定 40
as 隠れ Hello World (みんな一度は通るのでは?) 41
覚えてますか? スラスラ言えちゃう? 42
(私は言えない) 43
西暦年号が 1. 4で割り切れること 2. ただし、100で割り切れて 400で割り切れない年は平年 44
一般解 45
function isLeapYear($year) { // 「4の倍数かつ100の倍数でない」 // または「400の倍数」なら true return (
($year % 4 === 0 && $year % 100 !== 0) || $year % 400 === 0 ); } 46
実はこれ、 現行のグレゴリオ歴での うるう年の定義 47
ユリウス暦の判定は シンプル 48
function isLeapYear($year) { // 「4の倍数かつ100の倍数でない」 // または「400の倍数」なら true return (
($year % 4 === 0 && $year % 100 !== 0) || $year % 400 === 0 ); } 49
function isJulianLeapYear($year) { // 4の倍数はうるう年 return $year % 4 ===
0; } 50
4で割り切れたらうるう年 という割り切り 51
でも実運用上のズレは 割り切りにくい 52
そのズレを抑える例外が グレゴリオ暦では追加 53
ユリウス暦(4の倍数) + いくつかの修正(例外) = グレゴリオ暦 54
みたいなイメージ (コード上は) 55
ここから小話 56
私がなぜこれを知ったか 57
私のキャリアが始まった 2009年(グレゴリオ暦) 58
Javaを勉強 JavaDocとか色々読んでた (PHPじゃなくてごめんね) 59
日付関連のパッケージで 偶然訪れた素敵な出会い 60
java.util.Calendar setLenient(boolean) 61
Lenient means 寛容 62
setLenient(true) 不正な日付を黙って繰上げ補正 (ちなみにデフォルト動作) 63
setLenient(false) 不正な日付で IllegalArgumentException 64
「不正な日付」とは? 65
うるう年 ◯2028年2月29日 ×2029年2月29日 66
存在しない日付 ◯2026年7月31日 ×2026年7月32日 67
存在しない日付2 ユリウス暦とグレゴリオ暦の狭間 ×1582年10月5〜14日 68
これを「暦狭間の戦い」と言う (言わない) 69
この暦の「狭間」の話 70
PHPでの暦の扱いは? 71
基本、寛容らしい 72
checkdate() 73
1582年10月5〜14日の 存在しない日付 →許容(優しい) 74
グレゴリオ歴の仕様上は◯ その運用実績としては△ 75
こういうことなのかな (正確じゃない、ごめんね) 76
これはAIに聞いた (誠実であろう) 77
ちなみにグレゴリオ暦も 完璧じゃなく、ズレるらしい 78
実際の1年(太陽年) 約365.2422日 365.0日ではない 79
「1年」の長さ 天文学的な1年 (太陽年) 約365.2422日 0.2422日の端数 ユリウス暦 平均365.2500日 約11分長い グレゴリオ暦 平均365.2425日
約26秒長い 80
1年あたり26秒ズレ 81
どうやら 約3300年に1日ズレるらしい 82
つまり、今から1274年後の 西暦3000年 83
現行グレゴリオ歴と実世界は 1日ズレる 84
その日まで 共に長生きしましょう 85
西暦年号が 1. 4で割り切れること 2. ただし、100で割り切れて 400で割り切れない年は平年 3. 4000で割り切れる年は平年 86
うるう年の判定に 条件を追加する案もあるらしい 87
が、まだ実現していない 88
なぜなら、 1000年以上も先のこと 89
かつ、 地球の自転速度も関係する 90
ちなみに、地球の自転は 少しずつ遅くなっているらしい (1000年後の予測が難しい) 91
つまり、自然現象の話と 制度としての暦の話があり 現時点で決めにくい 92
AIに聞いても答えが出ない系 面白いですね〜 93
そしてうるう年の話は 「AIに答えを聞く」じゃ 辿り着きにくい系 94
これで私の話は おしまいなのですが 95
デフォルトで「寛容」な みなさんへ改めてお願い 96
ここまでの話、 間違いがあるかもしれないので 97
setLenient(true) //寛容 98
とご理解いただけると ありがたいです 99
なにとぞ 🙏 100
さて、 地球(自転)を取り巻く環境も 大切ですが 101
子どもたちを 取り巻く環境も大切 102
私はそういう思いが強く そういう会社にいます 103
お時間あれば スポンサーブースに ぜひお越しください 104
ありがとうございました 105
None
More Decks by コドモン開発チーム
See All by コドモン開発チーム
夫婦で子育てするための育児標準化
codmoninc
PRO
0
710
関数型プログラミングに出会って考え方の幅が広がった話 / server_side_kotlin_meetup_20_functional_fujimura
codmoninc
PRO
0
26
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
1.3k
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
490
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
710
「正解の仕様」を求めて、決断する
codmoninc
PRO
0
100
AI時代のPHP開発にASTクエリツール で コードベースの地図を作る / ast-query-tool-php-codebase-map
codmoninc
PRO
0
560
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
PRO
0
580
コドモンに入社してAI活用により、 設計がより重要だと感じた背景
codmoninc
PRO
0
170
Other Decks in Programming
See All in Programming
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
150
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
200
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
はじめてのPLATEAU
nokonoko1203
1
650
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
620
SODA - FACT BOOK(EN)
sodainc
1
240
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
300
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
990
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
Testing 201, or: Great Expectations
jmmastey
46
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
How GitHub (no longer) Works
holman
316
150k
ラッコキーワード サービス紹介資料
rakko
5
5.8M
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
330
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k