SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
グローバル化はなぜ
日時処理問題を
引き起こすのか
Titled by ホッテントリメーカー

@atsukanrock
2013/10/26
C#ユーザー会
@atsukanrock
http://d.hatena.ne.jp/atsukanrock/

Enterprise Application Architect
になりたい

DDD Lover
@atsukanrock
http://d.hatena.ne.jp/atsukanrock/

Enterprise Application Architect
になりたい

DDD Lover
http://jigokuno.com/?eid=162
ゴール
この辺を伝えたい:
• 時差とは?
• タイムゾーンとは?
• UTC とは?
• 夏時間とは?
• .NET での日時処理
時差
外資系あるある
ピンチ!!
外人からメール来た!!
トレーニングのお誘いかー
28 日の 7 時から…
もー!はえーよー!!
ε-(´∀`*)ホッ
解読成功♪
ファッ!?
7 時じゃなくて 23 時!?
時差のせいです。
時差

カリフォルニアとか

アメリカ西海岸では 7:00
東京では 23:00
タイムゾーン
男闘呼組じゃないよ
東京の僕たちが
23 時に酒を飲んでいる頃

California の Charles は
7 時に Bacon Eggの
Breakfast を Eating
僕たちは東京標準時
(Tokyo Standard Time (UTC+9))
に生きていて
Charles は太平洋夏時間
(Pacific Daylight Time (UTC-7))
に生きている
タイムゾーンとはこの:
•東京標準時
•太平洋夏時間
とかのことで、
タイムゾーンが違うと
同じ瞬間なのに時刻が違う
タイムゾーンあるある
I永さん:
2013/10/26 13:00 から
C# ユーザー会やります!!
Charles:
Hey, どの Time Zone だい?
ただ「2013/10/25 13:00」
と言っても
どのタイムゾーンかによって
どの瞬間かが異なる
様々なタイムゾーンの
基準になる時間が
ないと何かと不便
そこで考えだされたのが UTC
1963年発足らしい
すべてのタイムゾーンは
UTC を基準にして
何時間進んでいるか
or 何時間遅れているか
で表される
進んでる

東京標準時:UTC+9
太平洋夏時間:UTC-7
遅れてる
プログラムの世界では
UTC のおかげで
とても楽になる
Charles (非 UTC Ver.):
Tokyo を 9 am に Departure して
California に 7 am に Arrive
したんだよ
何時間かかったか
分からない
Charles (UTC Ver.):
Tokyo を 12 am に Departure して
California に 2 PM に Arrive
したんだよ
14時間かかったんだね
おつかれさま
時刻を全て UTC で表せば
瞬間に基づく:
•足し算や引き算
•比較
•並べ替え
が簡単になる
lヽ ノ l
ll lヽ
ヽ
)'ーーノ( | | | 、
/ l| l ハヽ
|ー‐''"l
/ U | | |/| ハ / / ,/ /|ノ /l / l l l| l U ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| T l トー-トヽ| |ノ ''"´`
rー-/// | T |
| ・
|/
| l ||、 ''""" j ""''/ | |ヽl ・ |
| C |
| l | ヽ,
― / || l C |
| !! |
/ |||
` ー-‐ ' ´|| ,ノ| || !! |
ノー‐---、,|
/ │l、l
|レ' ,ノノ ノハ、_ノヽ
/
/ ノ⌒ヾ、 ヽ
ノハ,
|
,/
,イーf'´ /´ \ | ,/´ |ヽl
|
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ
| l
,/
| ヽ \ _,ノーf' ´ ノノ ヽ
| |
、_
_ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_
_,ノ ノ
 ̄ ̄
|
/
夏時間
Charles:
Listen してくれ、
Today から DST なんだ。
DST: Daylight Saving Time
•日本語では夏時間
•先ほどから登場している「太平
洋夏時間」は「太平洋標準
時」の DST
例えば Charles が住んでいる
California では
次の 2 つを使い分ける:
•太平洋夏時間:UTC-7
=> 3 月から 11 月 (夏)

•太平洋標準時:UTC-8
=> 11 月から 3 月 (冬)
3 月に夏時間に切り替える時
時計の針を 1 時間進める
↓
時間がスキップされる
1:59:59の1秒後が3:00:00!!
11 月に標準時間に切り替える時
時計の針を 1 時間戻す
↓
時間が繰り返す
1時から2時が2回!!
この
•スキップされる時間
•繰り返す時間
は .NET の世界でとても厄介な問題
を引き起こします…。
後ほど
.NET での日時処理
ポイントになる型:
•DateTime
•DateTimeOffset
•TimeZoneInfo
DateTime
•.NET 1.1 からある
•素朴な日時型
•時差、タイムゾーン、夏時間サ
ポートなし
DateTime
(おそらく時差、タイムゾーンサ
ポートのため) .NET 2.0 (SP1?) で Kind
プロパティが追加された
↓
使えない。ていうか邪魔
DateTime.Kind
DateTime の基準を表す:
•Utc:UTC
•Local:現地時刻
•Unspecified:未指定
ただし具体的にどのタイムゾーンかは
分からない (= 使えない)
DateTime.Kind
ちょくちょく邪魔する:
• TimeZoneInfo の UTC => Local 変換メソッドに
Kind が Local の DateTime を渡したら 死亡
※DateTime.(Today|Now) の Kind は Local
• WCF のクライアントとサーバーのタイムゾーン
が異なり、受け渡す DateTime の Kind が Local
だと、時差に応じて勝手に値が変換され
る
DateTime.Kind
結論:
認知度低いくせにちょくちょく邪魔する
↓
対策:
プロジェクト内で認知度高めてバグを防ぎま
しょう/(^o^)\
DateTimeOffset
•.NET 3.5 からできた
•MS 的には「DateTime よりこっち推奨」
•日時の値に加えて UTC からの時差情
報も持つ => 時差、タイムゾーンを部分
的にサポート
•夏時間はサポートなし
•SQL Server なら DateTimeOffset 型あり
DateTimeOffset
例:Charlesの移動時間問題
Tokyo を 9 am (UTC+9) に Departure して
California に 7 am (UTC-7) に Arrive
↓
DateTimeOffset なら普通に引き算可能
new DateTimeOffset(2013, 5, 28, 7, 0, 0, TimeSpan.FromHours(-7d)) –
new DateTimeOffset(2013, 5, 28, 9, 0, 0, TimeSpan.FromHours(9d))
DateTimeOffset
•結局 UTC との時差情報は DateTimeOffset
の外から与える必要あり
•DateTimeOffset 自身はローカルシステム
のタイムゾーンの時差情報しか調べら
れない。別タイムゾーンの時差情報は
外から与えることになる
DateTimeOffset
結論:
DateTime より有能だけど、グローバル対
応 (ローカルシステム以外のタイムゾーン
を扱う) プログラムでは補助が必要
TimeZoneInfo
•.NET 3.5 から
•タイムゾーン情報を得るためのオブジェ
クト
•世界中のタイムゾーンを扱ったり、夏
時間をサポートするにはこのクラスしか
ない
TimeZoneInfo
•ConvertTimeToUtc:Local => Utc 変換
•ConvertTimeFromUtc:Utc => Local 変換
•GetUtcOffset:指定された日時における
UTC との時差を返す ※夏時間にも対
応
=> DateTimeOffset に外から与える時差
情報はこれで取れる!!
ここまでのまとめ
というわけで
•DateTime は窓から投げ捨てて
DateTimeOffset を使おう!!
•ローカルシステム以外のタイムゾーンの
時差情報は TimeZoneInfo.GetUtcOffset で
取得!!
メデタシメデタシ…
と思わせておいて
まだ未解決問題があります。
覚えてますか…?
スキップされる時間

標準時間  夏時間
切り替え問題
繰り返す時間
スキップされる時間
•.NET では Invalid Time と呼ぶ
•TimeZoneInfo クラスに IsInvalidTime メソッド
がある
DST (UTC-1)

Local Time
00:00

01:00

02:00

03:00

04:00

03:00

04:00

05:00

Invalid Time

UTC
02:00

03:00
スキップされる時間
TimeZoneInfo クラスの Local Time を欲しがっ
ているメソッドに Invalid Time を渡すと容赦
なく死ぬ。例えば:
•ConvertTimeToUtc
•IsDaylightSavingTime
繰り返す時間
•.NET では Ambiguous Time と呼ぶ
•TimeZoneInfo クラスに IsAmbiguousTime メ
ソッドがある
Standard (UTC-2)

Local Time
00:00

01:00

02:00 -> 01:00

02:00

03:00

04:00

05:00

Ambiguous Time

UTC
01:00

02:00

03:00
繰り返す時間
•TimeZoneInfo.ConvertTimeToUtc メソッドに
Ambiguous Time を渡したら、標準時間だ
と仮定して変換される
Standard (UTC-2)

Local Time
00:00

01:00

02:00 -> 01:00

02:00

03:00

Ambiguous Time

.NET:こっちやろ
UTC
01:00

02:00

03:00

04:00

05:00
スキップされる時間再び
TimeZoneInfo クラスに IsInvalidTime メソッドは
あるが、Invalid Time の範囲を調べるメソッ
ドがない (公開されてない)
作るしかない
作りますた (http://pastebin.com/GX3EYKbG)
システムが Invalid Time を自動訂正で
きる
ちょびっと

DB 設計
複数のタイムゾーンを扱うシステムで
DB に日時をどう保存するか
2 つの選択肢
A) UTC で保存
B) DateTimeOffset で保存

A 案でよさげ
DB には UTC で保存
根拠:
• プログラムでの UTC の扱いやすさ (前述)
• DB の値が Invalid/Ambiguous Time でないことが
保証される (UTC => Local 変換は失敗しな
い)
• DateTimeOffset だと、結局夏時間対応のた
め別フィールドでタイムゾーン情報を持つ
必要がある
DB には UTC で保存
しんどいところ:
• DB を検索する時も DB に保存する時も Local
=> UTC 変換が必要。となると
Invalid/Ambiguous Time 対応が必要になる
※DateTimeOffset でも必要なのは同じ
質疑応答

Mais conteúdo relacionado

Mais procurados

Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Masahito Zembutsu
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
マーク&スイープ勉強会
マーク&スイープ勉強会マーク&スイープ勉強会
マーク&スイープ勉強会7shi
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみたSatoshi Sato
 
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)Takafumi Sakakibara
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまでtechgamecollege
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターンMoriharu Ohzu
 
CI/CDツール比較してみた
CI/CDツール比較してみたCI/CDツール比較してみた
CI/CDツール比較してみたShoya Kai
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Yoshifumi Kawai
 
Constexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzzConstexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzz京大 マイコンクラブ
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話Nobuhiro Yoshitake
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 

Mais procurados (20)

よいコード、わるいコード
よいコード、わるいコードよいコード、わるいコード
よいコード、わるいコード
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
マーク&スイープ勉強会
マーク&スイープ勉強会マーク&スイープ勉強会
マーク&スイープ勉強会
 
systemd 再入門
systemd 再入門systemd 再入門
systemd 再入門
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみた
 
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
TUT-Codeの世界へようこそ!(続・漢直の世界へようこそ)
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
CI/CDツール比較してみた
CI/CDツール比較してみたCI/CDツール比較してみた
CI/CDツール比較してみた
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Constexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzzConstexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzz
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話インセプションデッキ:やらないことリストとトレードオフスライダーをやってる話
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 

Destaque

救急車の有料化問題について
救急車の有料化問題について救急車の有料化問題について
救急車の有料化問題について内田 啓太郎
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Atsushi Kambara
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternAtsushi Kambara
 
Latest Status of Identity Federation
Latest Status of Identity FederationLatest Status of Identity Federation
Latest Status of Identity FederationAtsushi Kambara
 
C++のtemplate特殊化的なことをC#でやった話
C++のtemplate特殊化的なことをC#でやった話C++のtemplate特殊化的なことをC#でやった話
C++のtemplate特殊化的なことをC#でやった話Atsushi Kambara
 
Ms build 触ってみよう
Ms build 触ってみようMs build 触ってみよう
Ms build 触ってみようOda Shinsuke
 
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話chocolamint
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)kumake
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までYuki Tanabe
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門shiracamus
 
結果を出すチームビルディング術
結果を出すチームビルディング術結果を出すチームビルディング術
結果を出すチームビルディング術Mao Ohnishi
 

Destaque (13)

救急車の有料化問題について
救急車の有料化問題について救急車の有料化問題について
救急車の有料化問題について
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
Latest Status of Identity Federation
Latest Status of Identity FederationLatest Status of Identity Federation
Latest Status of Identity Federation
 
C++のtemplate特殊化的なことをC#でやった話
C++のtemplate特殊化的なことをC#でやった話C++のtemplate特殊化的なことをC#でやった話
C++のtemplate特殊化的なことをC#でやった話
 
Ms build 触ってみよう
Ms build 触ってみようMs build 触ってみよう
Ms build 触ってみよう
 
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
ちょっとしたオレオレDSLも抽象構文木っぽくしておくと後からの拡張に対応しやすいよねっていうちょっとしたお話
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門
 
結果を出すチームビルディング術
結果を出すチームビルディング術結果を出すチームビルディング術
結果を出すチームビルディング術
 

Último

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

グローバル化はなぜ日時処理問題を引き起こすのか