[Diary/2017/February]

スプリッタがない / 2017-02-10 (金)

今日

午前中は昨日と同じく体調回復.

午後はプライベートの事務処理契約関係で駆け回った後,P5.jsのWebSocket連携部分とlibwebsocketsを使って書いたWebSocketサーバのstd::stringのparser部分の設計と実装.

STLがC++99からというのもあるのだけれど,基本的なスプリッタすら最初に入ってないのは,JavaのStringに比べて初学者には敷居が高いのはあるかもなぁ.


[Diary/2017/February]

こんどー / 2017-02-09 (木)

今日

午前中は体調回復のため起きるのを遅くした.

午後は学会関係と学校関係の事務仕事.夜からlibwebsockets周りの教材作り再開.

libwebsocketsは授業用教材のためにやっているので,如何にわかりやすいコメントを入れつつ短いコードでシンプルな例を書くか,ってところに注力するわけだが,libwebsocketsそのものが設計ぶれぶれでコンテキストと本体のインスタンスが一体化してしまってて厄介.

簡単にいえば,オブジェクト指向的にライブラリそのもののインスタンスを作って初期化→各クライアント向けのコンテキストを作って追加していく,というのが正しい流れだと思うのだが,開発者が途中ではたと「これCのライブラリだったわ」ということを思い出したのか,ライブラリのインスタンスとコンテキストが混同し始めて,どっちかに統一すりゃいいのにバラバラという現状.

コールバック(というかイベントハンドラ)はオブジェクトのインスタンスが落ちてくるインタフェースに則って書かれているのに,クリエイトとデストロイはコンテキストで行う,という,ふつー逆だろ的な.

しかしそれでも,Cとしてはヒジョーに短いコードで,WS通信のみのサーバプログラムが書けるので,libwebsocketsというライブラリは優秀だと思う.

他の言語は全てWebフレームワークと一体化しているものばかりで,シンプルなWSのみのサーバを作るためだけに大量のライブラリをインストールしなきゃいけないし,書かなければいけないコードも膨大になるのだが(例えばJavaだと基本的にJavaEEでしか動かない),libwebsocketsはホントにWebSocketプロトコロルのみの部分が書けるため,Cのコードの長さを以ってしても全体が短く仕上がる.


[Diary/2017/February]

ぶり返し / 2017-02-08 (水)

今日

朝ゼミ.午後からリクルートで来ていた昨年M修了の学生と話をしながら,学会関係やら事務書類やらの文面考えたり書いたりの事務作業.体調不良なので早めに帰宅.一度寝付くも起きてしまう.昨晩思い返してしまってアレだったし,もしかしたら気落ちがぶり返してんのかもしらん.


[Diary/2017/February]

NASでRAID10でtarの時間 / 2017-02-06 (月)

今日

朝ゼミというかD1の発表練習.

午後から,予てからの懸念だった研究室のターミナルサーバ兼ホームディレクトリを置いていたサーバ兼NISサーバ上のホーム領域を,NFSでマウントしたRAID10を組んだNASに移す作業.

Android Studioを使っていたM2の子のAndroid SDKがべらぼうに容量を食っていて,tarを作るのと解凍するのにえらい時間がかかって,まだ解凍が終わっていない.

ホームさえ移してしまえば,それほどユーザ数は多くないのでユーザIDとグループIDさえメモしておけば完全クリーンインストールが可能.4月になる前にUbuntu16.04LTS 64bitへターミナルサーバのOSを置き換えてしまいたい.

あとWin10のマシン1台でNTEmacsの起動時挙動がおかしい問題にぶち当たった.ちゃんとHOMEをユーザ環境変数に設定して元から.emacs.dがあるのに「.emacs.dが作れんぞこのやろー!」と言ってくる.NTEmacs本体や.emacs,.emacs.dはDropbox上に置いてあってシンボリックリンクなんだが,本当にそのマシンだけその現象が起きる.なんなんだ.

調べてみたら,シンボリックリンクがうまく動かないケースがあるらしい.へー……自分の.emacs.dの中身は何も入っていないので,別にauto-save-file共有する必要もないから,Dropbox上に置いてシンボリックリンク張るんではなくローカルに置いちゃっていいかなぁ.

と思ったら,cmd.exe(管理者)上でmklinkで作ったシンボリックリンクでは動作せず,MSYS2上でln -sでリンク張ったら動いた.なんだったんだ.


[Diary/2017/February]

Win10無線設定の要リブート / 2017-02-05 (日)

今日

午前中は家でlibwebsockets周り.昼過ぎに卒業生が月っこ雨に来ているとの連絡を受け学校へ.

Windows10,ルータの無線のチャンネルが「自動設定」になってて変わったりすると,繋がる(認証は通ってルータはマシンを認証する)けどIPが取れなくなる問題.「無線設定を削除してから再設定」ではダメで,「無線設定を削除してからリブート→再設定」だとうまくいく.アホみたいなところにハマった.

Windows8.1で,GUIから無線設定を削除できない問題にぶち当たったばかりなので,どうにもこうにも…….