SlideShare una empresa de Scribd logo
1 de 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]
ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
 

La actualidad más candente (20)

VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイントVPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 

Destacado

[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.
 

Destacado (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コンテナをプロビジョニングする
 

Similar a 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
 

Similar a 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上でのスピードと高可用性を両立したゲームインフラの構築と事例
 

Más de hiyohiyo

Más de 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

Notas del editor

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