SlideShare ist ein Scribd-Unternehmen logo
1 von 53
[1]
hiyohiyo
Twitter: @openlibsys
http://crystalmark.info/
Sapporo.cpp / 札幌C++勉強会 #10
@クリプトン・フューチャー・メディア
[2]
発表内容
自己紹介
NVMe とは?
ベンチマーク
NVMe の秘密
まとめ
[3]
自己紹介
[4]
自己紹介
名前:hiyohiyo/ひよひよ
年齢:37歳
家族:妻, 愛娘, 愛息子
趣味:ソフトウェア開発 (約17年)
住所:北海道札幌市
代表作: CrystalDiskInfo, CrystalDiskMark 他(通称 Crystal シリーズ)
パソコンがもっと好きになるソフトウェアを一貫して開発しています
Microsoft MVP
・Visual C++ (Jan. 2014 – Sep. 2015)
・Visual Studio and Development Technologies (Oct. 2015 -)
[5]
CrystalMark 2004
ランキング対応ベンチマーク
[6]
CrystalCPUID
CPU情報ツール
[7]
CrystalDiskMark 5 Shizuku Edition
新世代ディスクベンチマーク
ベンチマーク結果なんておまけですwww
通常版
[8]
CrystalDiskInfo 6 Shizuku Edition
HDDやSSDの健康状態を音声で教えてくれる!!
新世代ディスク情報ツール
通常版
[9]
[10]
【宣伝】第二世代萌え駆動開発
http://www.slideshare.net/hiyohiyo/mddwin32
ソフトウェア開発で一番大切
なことを紹介しています!!
[11]
NVMe とは?
[12]
NVMe とは
NVM Express (NVMe) はホストソフトウェアと不揮発性
メモリ(Non-volatile memory)のインターフェースです。
NVMe は PCI Express で接続されるエンタープライズ向け
SSD およびクライアント向け SSD に最適化されています。
SSD 向け次世代インターフェース
[13]0 500 1000 1500 2000 2500 3000 3500 4000
NVMe @PCIe 3.0x4
SATA/600
SATA/300
SATA/150
UDMA/100
UDMA/66
UDMA/33
転送レート (MB/s)
[14]
AHCI vs NVMe
ベンチマーカー視点での最重要ポイント
AHCI NVMe
Queue 1 65536
Commands/Queue 32 65536
1x1 32x1 32x8
SAMSUNG SSD 950 PRO 512GB の
ランダムリードベンチマーク結果 (MB/s)
[15]
Intel SSD 750 1.2TB
[16]
SAMSUNG SSD 950 PRO 512GB
NVMe 調査のためだけに購入
[17]
SAMSUNG SSD 950 PRO vs Intel SSD 750
SAMSUNG SSD
950 PRO
Intel SSD
750
※Microsoft 標準ドライバ
[18]
Intel SSD 750 ドライバ比較
Intel NVMe
Driver
Microsoft
標準ドライバ
[19]
NVMe の秘密 1
[20]
突然ですがクイズです!
???
NVMe SSD はストレージであると
同時に○○○ デバイスです。
[21]
ヒント 1
Intel 製品の Vendor ID は
8086h
[22]
ヒント 2
○○○
Express
[23]
実は・・・
PCI Express デバイスでもあるのです!!
[24]
と、なると・・・
PCI コンフィギュレーション空間
には何か有用な情報があるはず!!
[25]
PCI Express デバイスとしてチェック
出典: http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf
Intel
※リトルエンディアン
拡張機能へのポインタ
[26]
PCI Express デバイスとしてチェック
出典: http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf
Address Capability ID Next Address
40h 01h 50h
50h 11h 60h
60h 10h ----
CLS Link Speed
1h 250MB/s, 2.5GT/s (8B10)
2h 500MB/s, 5.0GT/s (8B10)
3h 1000MB/s, 8.0GT/s (128B130B)
NLW Link Width
1h x1
2h x2
4h x4
[27]
素朴な疑問
PCI にどうすれば
アクセス出来るの?
[28]
WinRing0 (終了プロジェクト) の紹介
諸事情により公開終了しています。
マニュアル完備
[29]
ユーザーモード
Ring3
カーネルモード
Ring0
WinRing0 の構成
[30]
1. OpenLibSys.cs をプロジェクトに加えます。
2. using OpenLibSys; 文をソースコードに加えます。
3. Ols ols = new Ols(); などで Ols クラスのオブジェクトを生成します。
4. オブジェクトを介してライブラリの機能を呼び出します。
使用方法
using OpenLibSys;
public partial class WinRing0Sample : Form
{
private void Form1_Load(object sender, EventArgs e)
{
uint freq = 1193180000 / 440000; // 440Hz
Ols ols = new Ols();
// Beep 音を鳴らします。
ols.WriteIoPortByte(0x43, 0xB6);
ols.WriteIoPortByte(0x42, (byte)(freq & 0xFF));
ols.WriteIoPortByte(0x42, (byte)(freq >> 9));
// 以下省略
}
}
hogehoge.cs
WinRing0 の使用方法
[31]
// Host Bridge
address = ols.FindPciDeviceByClass(0x06, 0x00, 0x00, 0);
if (address != 0xFFFFFFFF)
{
str += "[PCI Confguration Space Dump] HostBridgern";
str += " 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0Frn";
str += "---------------------------------------------------rn";
for (int i = 0; i < 256; i+= 16)
{
str += i.ToString("X2") + "|";
for (int j = 0; j < 16; j++)
{
str += “ ” + (ols.ReadPciConfigByte(address,
(byte)(i + j))).ToString("X2");
}
str += "rn";
}
}
PCI コンフィギュレーション空間のダンプ
[32]
NVMe の秘密 2
[33]
NVMe のコマンド体系
標準コマンド
必須3種類
Admin コマンド
必須10種類
[34]
S.M.A.R.T. 情報の取得 (NVMe の場合)
Microsoft 製 NVMe Driver
NVMe SSDs
Get Log Page
Admin コマンドが通らない!!
S.M.A.R.T. にアクセス
するためのコマンド
標準コマンド Admin コマンド
ReadFile()
※Win32API
Read ※NVMe 標準コマンド
[35]
S.M.A.R.T. 情報の取得 (ATAの場合)
Microsoft 製 ATA Driver
ATA HDD/SSD
S.M.A.R.T. にアクセス
するためのコマンドReadFile()
※Win32API
READ **** ※ATA コマンド
SMART READ DATA
ATA PASS THROUGH という仕組み
を使って直接 ATA コマンドを送る
[36]
S.M.A.R.T. 情報の取得 (USBの場合)
[37]
どうしたら・・・
NVMe SSD の S.M.A.R.T. 情報が
Windows 上から読めない!!!!!!!!!!
NVMe \(^o^)/オワタ
[38]
神降臨
日本語の (*´Д`)ハァハァ ツイートに
韓国の神から反応が!!
グローバルな活動が呼んだ奇跡か!?
[39]
神降臨
http://naraeon.net/
https://github.com/ebangin127/nvmetools
[40]
S.M.A.R.T. 情報の取得 (SAMSUNG)
Microsoft 製 NVMe Driver
SAMSUNG SSD 950 PRO (限定)
Security Command (SCSI)
Get Log Page
ReadFile()
※Win32API
READ ※NVMe コマンド
秘密の裏口
からアクセス
[41]
::ZeroMemory(&sptwb, sizeof(SCSI_PASS_THROUGH_WITH_BUFFERS24));
sptwb.Spt.Length = sizeof(SCSI_PASS_THROUGH);
sptwb.Spt.PathId = 0;
sptwb.Spt.TargetId = 0;
sptwb.Spt.Lun = 0;
sptwb.Spt.SenseInfoLength = 24;
sptwb.Spt.DataTransferLength = IDENTIFY_BUFFER_SIZE;
sptwb.Spt.TimeOutValue = 2;
sptwb.Spt.DataBufferOffset = offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS24, DataBuf);
sptwb.Spt.SenseInfoOffset = offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS24, SenseBuf);
sptwb.Spt.CdbLength = 16;
sptwb.Spt.Cdb[0] = 0xB5; // SECURITY PROTOCOL IN
sptwb.Spt.Cdb[1] = 0xFE; // SAMSUNG PROTOCOL
sptwb.Spt.Cdb[3] = 6; // Get Log Page
sptwb.Spt.Cdb[9] = 0x40; // Transfer Length
sptwb.Spt.DataIn = SCSI_IOCTL_DATA_OUT;
sptwb.DataBuf[0] = 2;
sptwb.DataBuf[4] = 0xFF;
sptwb.DataBuf[5] = 0xFF;
sptwb.DataBuf[6] = 0xFF;
sptwb.DataBuf[7] = 0xFF;
length = offsetof(SCSI_PASS_THROUGH_WITH_BUFFERS24, DataBuf)
+ sptwb.Spt.DataTransferLength;
bRet = ::DeviceIoControl(hIoCtrl, IOCTL_SCSI_PASS_THROUGH,
&sptwb, length, &sptwb, length, &dwReturned, NULL);
SAMSUNG SSD 950 PRO へアクセス
一部抜粋
Magic Number: これ以外の値だと動かない
[42]
暫定版公開中!!
[43]
S.M.A.R.T. 情報の取得 (Intel)
Intel 製 NVMe Driver
Intel SSD 750(限定)
ReadFile()
※Win32API
READ ※NVMe コマンド
Get Log Page
S.M.A.R.T. にアクセス
するためのコマンド
Admin コマンド
NVMe PASS THROUGH (Intel 専用)
を使って直接 NVMe コマンドを送る
[44]
NVMe SSDも
見えるように
なりました!!
地獄の個別対応が……
[45]
S.M.A.R.T. の形式が全然違う!!
SAMSUNG SSD 830 512GB (SATA) SAMSUNG SSD 950 PRO 512GB (NVMe)
S.M.A.R.T. 形式の比較
[46]
S.M.A.R.T. の形式が全然違う!!
SAMSUNG SSD 830 512GB (SATA) SAMSUNG SSD 950 PRO 512GB (NVMe)
S.M.A.R.T. 形式の比較
[47]
神プロジェクトは Delphi 製だった……
ステップ実行のため体験版ゲット!!
余談
[48]
まとめ
[49]
まとめ
NVMe SSD
今すぐ買いに走りましょう!!
[50]
まとめ
• オープンソースで公開するととても良いことが
起きることもある。
• テスト用機材は多少高くても買う。
⇒ 実機なしの開発は地獄。
• 今回の発表がきっかけでNVMe対応出来ました。
⇒ この機会がなければかなり先になっていた!?
• ハードウェア関連ソフトの開発は楽しいです。
⇒ (*´Д`)ハァハァ
[51]
参考文献
[52]
• nvmexpress.org
http://www.nvmexpress.org/
• NVM Express 1.2a Specification
http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf
• Naraeon NVMe Tools
https://github.com/ebangin127/nvmetools
参考文献
[53]
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアル
Kuniyasu Suzaki
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
 

Was ist angesagt? (20)

Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
 
OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアル
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
Windows10の展開手法
Windows10の展開手法Windows10の展開手法
Windows10の展開手法
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
Android enterpriseで実現できる端末管理の世界
Android enterpriseで実現できる端末管理の世界Android enterpriseで実現できる端末管理の世界
Android enterpriseで実現できる端末管理の世界
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ゆとり向けErlang入門 (1): メッセージパッシングことはじめ
ゆとり向けErlang入門 (1): メッセージパッシングことはじめゆとり向けErlang入門 (1): メッセージパッシングことはじめ
ゆとり向けErlang入門 (1): メッセージパッシングことはじめ
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
パフォーマンスの良いGASの書き方 Best Practice
パフォーマンスの良いGASの書き方 Best Practiceパフォーマンスの良いGASの書き方 Best Practice
パフォーマンスの良いGASの書き方 Best Practice
 

Andere mochten auch

[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
 

Andere mochten auch (20)

[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
 
運用のためのPlaybook (Playbook for Operation)
運用のためのPlaybook (Playbook for Operation)運用のためのPlaybook (Playbook for Operation)
運用のためのPlaybook (Playbook for Operation)
 
AnsibleによるHWプロビジョニング -OneViewの連携-
AnsibleによるHWプロビジョニング  -OneViewの連携-AnsibleによるHWプロビジョニング  -OneViewの連携-
AnsibleによるHWプロビジョニング -OneViewの連携-
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStack
 
Ansible Playbookの短時間デバッグ方法
Ansible Playbookの短時間デバッグ方法Ansible Playbookの短時間デバッグ方法
Ansible Playbookの短時間デバッグ方法
 
わかる!一眼
わかる!一眼わかる!一眼
わかる!一眼
 
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
 
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストールAnsibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
 
2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話
 
Ansibleの現在とこれから
Ansibleの現在とこれからAnsibleの現在とこれから
Ansibleの現在とこれから
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
What is an Ansible?
What is an Ansible?What is an Ansible?
What is an Ansible?
 
Ansible+Docker
Ansible+DockerAnsible+Docker
Ansible+Docker
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
Desktop App Converter で Microsoft ストアデビュー & 野良野良ライフ満喫!!
Desktop App Converter で Microsoft ストアデビュー & 野良野良ライフ満喫!!Desktop App Converter で Microsoft ストアデビュー & 野良野良ライフ満喫!!
Desktop App Converter で Microsoft ストアデビュー & 野良野良ライフ満喫!!
 
リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話
 
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
AWS 初心者向けWebinar 利用者が実施するAWS上でのセキュリティ対策
 
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングするAnsibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
 

Ähnlich wie NVMe でハァハァしようよ #sapporocpp

【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
モノビット エンジン
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
 

Ähnlich wie NVMe でハァハァしようよ #sapporocpp (20)

20170211_pronama_CrystalDiskMark_UWP
20170211_pronama_CrystalDiskMark_UWP20170211_pronama_CrystalDiskMark_UWP
20170211_pronama_CrystalDiskMark_UWP
 
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
Visual Studio Community 2013 で始めるプログラミング Win32/MFC #clrh93
 
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
 
LEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 APILEGO MINDSTORMS EV3 API
LEGO MINDSTORMS EV3 API
 
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプCld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプ
 
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
 
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
 
20150127 jawsug京王線 ec2_config
20150127 jawsug京王線 ec2_config20150127 jawsug京王線 ec2_config
20150127 jawsug京王線 ec2_config
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
 
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
 
Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0Sbc odps 200_data_works_handson_ver1.0
Sbc odps 200_data_works_handson_ver1.0
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
CrystalDiskMark & CrystalDiskInfo 開発裏話
CrystalDiskMark & CrystalDiskInfo 開発裏話CrystalDiskMark & CrystalDiskInfo 開発裏話
CrystalDiskMark & CrystalDiskInfo 開発裏話
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 

Mehr von hiyohiyo

Mehr von hiyohiyo (10)

20210828_win32_windows11
20210828_win32_windows1120210828_win32_windows11
20210828_win32_windows11
 
20210605_jishukujicho
20210605_jishukujicho20210605_jishukujicho
20210605_jishukujicho
 
20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかた20200523 冴えないソフトの育てかた
20200523 冴えないソフトの育てかた
 
20200429 algyan lt
20200429 algyan lt20200429 algyan lt
20200429 algyan lt
 
20190706 PO 2019 Summer
20190706 PO 2019 Summer20190706 PO 2019 Summer
20190706 PO 2019 Summer
 
はじめての同人誌製作
はじめての同人誌製作はじめての同人誌製作
はじめての同人誌製作
 
世界中のユーザーに愛される ソフトウェアを作りたい!!
世界中のユーザーに愛される ソフトウェアを作りたい!!世界中のユーザーに愛される ソフトウェアを作りたい!!
世界中のユーザーに愛される ソフトウェアを作りたい!!
 
はじめての UWP アプリ開発
はじめての UWP アプリ開発はじめての UWP アプリ開発
はじめての UWP アプリ開発
 
ユーザーに愛されるソフトを作りたい!!
ユーザーに愛されるソフトを作りたい!!ユーザーに愛されるソフトを作りたい!!
ユーザーに愛されるソフトを作りたい!!
 
Windows8/8.1時代のWin32プログラミング #sapporocpp
Windows8/8.1時代のWin32プログラミング #sapporocppWindows8/8.1時代のWin32プログラミング #sapporocpp
Windows8/8.1時代のWin32プログラミング #sapporocpp
 

NVMe でハァハァしようよ #sapporocpp

Hinweis der Redaktion

  1. 会場をよく見て話をしよう!
  2. 前を向いて話す。 早口にならないように。
  3. 前を向いて話す。 早口にならないように。
  4. 前を向いて話す。 早口にならないように。
  5. 前を向いて話す。 早口にならないように。