ゆき社長

シーゲンガーのお勉強 ゲームプログラマ、ゲーマー、色々!

近況

最近の近況です

C++Javaのゲームサーバの開発を一括で請け負っています

最初はお客さんより通信ライブラリを頂けるとの事で

Javaを1名、C++を私+2名程度で考えていましたが

お客さんのライブラリが、マルチスレッド型で速度が全然出ないのが予想できたので

boost.Asioを使い、非同期I/O で超高速サーバを作成する事にしました

ってことで +2名が 技術的に脱落し、C++は私一人で開発する事となります・・・

boost.Asioや 非同期I/O あるいはノンブロッキングI/O

に関しては色々と説明したい事がありますが、簡単に説明出来る内容ではないので・・

非同期I/O はシングルスレッドで非同期処理を行います

カーネル等で使われる DMAを想像すればわかりやすいかもしれません

転送命令を送り、転送完了時にコールバックが来ます

ゆえに、コードがコールバック地獄となり、可読性が悪く 見つけにくい不具合の温床になります

ので、よく future/promise 方式や coroutine等を使い、コールバックを直列処理のように扱うと便利です

そのあたりについて、プレゼン資料を作っています

2015/05/17 13:30 に

ニコニコ動画主催の、歌舞伎座.teck にて久々に登壇します

http://kbkz.connpass.com/event/13905/#feed

すでに参加人数は容量オーバーですが、ニコ生で放送されるので

色々と面白そうな内容が多いので是非観て下さい

「Boost.Asioで可読性を求めるのは間違っているだろうか」

というタイトルで発表します。