Enviar pesquisa
Carregar
D I/O
•
Transferir como PPTX, PDF
•
0 gostou
•
783 visualizações
M
monoshoo
Seguir
D言語のI/Oのお話し
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 16
Baixar agora
Recomendados
勉強会 - 1
勉強会 - 1
KenjiYamasaki5
o-checker:悪性文書ファイル検知ツール~ファイルサイズからにじみ出る悪意 by 大坪 雄平
o-checker:悪性文書ファイル検知ツール~ファイルサイズからにじみ出る悪意 by 大坪 雄平
CODE BLUE
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
Kiyoshi Ogawa
D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)
tom-tan
L-1グランプリ "D言語"
L-1グランプリ "D言語"
det coder
『全日本学生ゲーム開発サークル連合』の紹介
『全日本学生ゲーム開発サークル連合』の紹介
IGDA Japan
福井技術者のつどい その1 タコでもわかるD言語講座
福井技術者のつどい その1 タコでもわかるD言語講座
明洋 庄司
C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
Recomendados
勉強会 - 1
勉強会 - 1
KenjiYamasaki5
o-checker:悪性文書ファイル検知ツール~ファイルサイズからにじみ出る悪意 by 大坪 雄平
o-checker:悪性文書ファイル検知ツール~ファイルサイズからにじみ出る悪意 by 大坪 雄平
CODE BLUE
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
Kiyoshi Ogawa
D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)
tom-tan
L-1グランプリ "D言語"
L-1グランプリ "D言語"
det coder
『全日本学生ゲーム開発サークル連合』の紹介
『全日本学生ゲーム開発サークル連合』の紹介
IGDA Japan
福井技術者のつどい その1 タコでもわかるD言語講座
福井技術者のつどい その1 タコでもわかるD言語講座
明洋 庄司
C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
オンラインゲーム開発の楽しさ
オンラインゲーム開発の楽しさ
Akineko Shimizu
水を求めて〜蜃気楼に負けないゲーム開発〜
水を求めて〜蜃気楼に負けないゲーム開発〜
dan5
楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ
Hiroki Omae
面白いゲームを作る方法
面白いゲームを作る方法
kosenconf012hachinohe
ゲームの企画って…
ゲームの企画って…
Hiroyuki Shimanishi
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
narumi_
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
MASA_T_O
エターナらないゲーム開発
エターナらないゲーム開発
Kohki Miki
東方紅魔郷AI
東方紅魔郷AI
aki33524
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
聡 中川
一人からのゲーム開発
一人からのゲーム開発
Haruto Watanabe
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Mais conteúdo relacionado
Destaque
オンラインゲーム開発の楽しさ
オンラインゲーム開発の楽しさ
Akineko Shimizu
水を求めて〜蜃気楼に負けないゲーム開発〜
水を求めて〜蜃気楼に負けないゲーム開発〜
dan5
楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ
Hiroki Omae
面白いゲームを作る方法
面白いゲームを作る方法
kosenconf012hachinohe
ゲームの企画って…
ゲームの企画って…
Hiroyuki Shimanishi
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
narumi_
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
MASA_T_O
エターナらないゲーム開発
エターナらないゲーム開発
Kohki Miki
東方紅魔郷AI
東方紅魔郷AI
aki33524
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
聡 中川
一人からのゲーム開発
一人からのゲーム開発
Haruto Watanabe
Destaque
(11)
オンラインゲーム開発の楽しさ
オンラインゲーム開発の楽しさ
水を求めて〜蜃気楼に負けないゲーム開発〜
水を求めて〜蜃気楼に負けないゲーム開発〜
楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ
面白いゲームを作る方法
面白いゲームを作る方法
ゲームの企画って…
ゲームの企画って…
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
エターナらないゲーム開発
エターナらないゲーム開発
東方紅魔郷AI
東方紅魔郷AI
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
一人からのゲーム開発
一人からのゲーム開発
Último
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Último
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
D I/O
1.
D言語でI/O ~I/Oの新次元~ @mono_shoo
破壊的変更
2.
はじめに D言語には独自I/Oがない C言語のFILE*を使うしか無い
ポインタェ Streamは? あるけどdeprecatedなんだってよ by Andrei ぶっちゃけ一つの解ではあるけどDならもっといいのが作れるはず!
3.
イメージ import std.io,
std.stdio; void main() { autofport = FilePort(“path/to/file”); foreach (line; fport.byLine) { writeln(line); } } 短いモジュール名! RAIIによる開放! Rangeによるアクセス!
4.
難しい点 独自I/Oの要件 C言語の資産(FILE*)を使えにゃいかん
by Walter まずインターフェースはRangeに… by Andrei テンプレート+構造体で… by 最近のPhobos
5.
何が問題? (1) FILE*との互換性はどこまでもつ?
ノンブロッキングは? バッファは? バッファはどの層が持つべき? Handle/Buffer/Port Handle⊇Buffer/Port Handle/Buffer=Range/Port->Range
6.
何が問題? (2) Handleのインターフェース
プリミティブなメソッド/プロパティ read/write/seek/end/close/… Bufferのインターフェース プリミティブなメソッド/プロパティ Handle⊇Bufferな場合 seekは? 管理大変… Portのインターフェース byLine/byChunk/byPacket/…
7.
1.FILE*との互換性(ノンブロッキング) ノンブロッキングとは? 読み込みのある無しにかかわらず、即座に処理が戻ってくるI/O
8.
具体的なコード importstd.stdio; void
main() {autosrc = stdin;autobuf = newubyte[](10);if (fread(buf.ptr, 1, 10, src) < 10)thrownew Exception("I/O error");} throw が呼ばれるのはエラーの時だけ。 標準入出力で1文字しか入力しなかったらもう一度入力を求める。
9.
ノンブロッキングの問題点 何が問題? FILE*を使う場合、一旦読み込みすると改行コードが現れるまで処理が戻らない!
中身をいじれば出来なくもないが、中身をいじれない処理系がある! DのI/Oをデフォルトで ノンブロッキングに対応するのは不可能!
10.
どうやって解決する? DのI/Oにノンブロッキングを含めない CのFILE*は普通にHandleだのなんだので定義可能
⇒Unbufferedの問題 ⇒Handleのインターフェースの問題 DのI/Oでノンブロッキングはオプションにする CのFILE*を使うHandleはノンブロッキングに出来ない ⇒Unbufferedの問題 ⇒Handleのインターフェースの問題
11.
バッファの問題 CのFILE*を使ってバッファ処理の冗長性を可能な限り取り除くには? CのFILE*はデフォルトでバッファ有効
Dが独自にバッファを持つと冗長な場合がある
12.
何が問題? HandleがFILE*にデータを読み込めと命令 Buffer
Port(CStdioPort) メモリ Handle FILE* メモリ メモリ データ
13.
何が問題? Bufferがバッファリングしろと命令 Buffer
Port(CStdioPort) メモリ Handle FILE* データ メモリ メモリ メモリ
14.
何が問題? Portによるバッファからの読み込み Buffer
Port(CStdioPort) メモリ Handle FILE* データ メモリ メモリ メモリ
15.
冗長! 一つにまとめたい!!! Buffer
Port(CStdioPort) メモリ Handle FILE* メモリ
16.
どうやって解決する? Buffer=Handleにすれば解決 Handle・Bufferのインターフェースの問題
もちろんオプション Port Handle=Buffer FILE* メモリ
Baixar agora