ochalog

RubyとMediaWikiとIRCが好き。

どどんとふの CGI 処理:トップレベル

TRPG のオンラインセッション環境「どどんとふ」の CGI 処理についての解説。前回はこちら。

ochaochaocha3.hateblo.jp

今回からサーバープログラムが書かれている DodontoFServer.rb(コミット 94c3c04)を見ていく。

続きを読む

どどんとふの CGI 処理(構成・インターフェース)

最近は TRPG のオンラインセッション環境どどんとふのソースを読んだり変えたりしていることが多い。TRPG.NET ではオンラインセッションが多く行われる夜間に結構重くなるので、負荷を下げることを目標としている。ソースコードの規模が大きいので、テストコードを追加しながら機能単位での分割などを行い、改善点を見つけやすくしたり部品の再利用を行いやすくしたりしている。

今回から、備忘録を兼ねて、これまで調べたどどんとふの CGI 処理について数回書く。コードへのリンクは ver. 1.47.24 リリース時のコミット 94c3c04 を使うことにする。

続きを読む

2016-04-22 授業日誌

1〜3限

Java等の先生の出張により、まるまる画像処理の時間に。以下のように結構多くのことをやった。

  1. OpenCVの開発環境構築
  2. Webカメラから取り込んだ画像をリアルタイムでウィンドウに表示する
  3. 光とか色とか行列とか基礎事項
  4. 行列演算
  5. 色の分解

OpenCV、グラフィックまわりを手軽に扱えるのでなかなか便利そう。標準課題という今年の後半で行うプチ卒研くらいの量の実習でも使うとのことなので、いろいろと試してみたい。

ところでこの時間のレポートはExcelに全部貼り付ける形で、水曜日のものといい本質的でない部分に時間がかかるので最後は少しうんざり。内容は面白いのだけれど。

2016-04-21 授業日誌

1・2限

アナログ回路設計の実習。LED3個をそれぞれ遅らせて点灯させるウィンカー回路、すべてタイミング通りに点灯させることができた。先生曰く、1個が点いたらその電圧を次の積分回路に回す、というのを繋げていくのが良いとのこと。現状では点いたままになってしまうので、最後に消すための回路が必要。フィードバックする方法を考えていたところで時間切れで終了。電子科出身の同級生がいるグループではそこまでうまくいったという話も聞き、さすがだなぁと感じた。

自宅でシミュレーションをするために帰ってからはLTspiceを入れてみた。適当にフィードバックする回路を組んでみたけれど、過渡特性がイマイチなのでもう少し考える必要があった。

3・4限

Linuxプログラミングの授業。やっとシェルプログラミング。配布資料がちょっとしたリファレンスになっているので、これからサーバー管理のときにそれを見てやることにしよう。内容的にはそれほど目新しいことはなく、最後に配られた演習問題を淡々とこなす。さらに確認テストもあったが、難なく終わった。

2016-04-20 授業日誌

1・2限

Linuxプログラミングの授業。今日はシェルのリダイレクト、パイプとgrepのようなフィルタプログラムがメイン。前提としてファイルディスクリプタシステムコールのかなり丁寧な説明があり、それからリダイレクトとパイプの解説という流れだった。これだけ丁寧に行ってくれれば分かりやすい。去年卒研メンバー間でセミナー的にやったが、授業でこれくらいやってもらえるのはありがたかった。最初からすべて理解するのは大変だが、資料を見直せばなんとかなるだろう。

3限

ARMマイコンの授業。今週はLEDを5個に増やしてみようという内容。ポートの設定を増やすだけなので特に難しいことはない。ただ、宿題がC言語のプログラムを覚えるために手書きで書いてこいという内容だったので面倒だった。プログラムを手書きすること、どれだけ効果があるのだろうか。

2016-04-19 授業日誌

1限

アナログ回路。抵抗とコンデンサを直列でつなげたときの過渡現象とテブナンの定理。テブナンの定理は去年フィルターの計算で使って以来しばらく使っていなかったので復習しておこう。

2限

経営学。今日は「企業とは何か」。企業にはいろいろな側面がありますよという話と中小企業基本法による分類。

3限

機械工学。今日もほぼイントロダクションで、図面を描く目的とか気をつけることとか。

放課後

やっと引越し先のインターネットが開通して、家で自由に使えるようになった。2週間くらいパケット量制限ありのWi-Fiしかなかったので、なかなか大変だった…

2016-04-18 授業日誌

1限

プロトコルTCP/IPの話。EthernetIPアドレスARPまでさらっと復習。データリンク層とインターネット層の役割の話はだいぶ丁寧だった。最後に確認テスト。ブリッジ、レイヤ2スイッチ、スイッチングハブとか、このあたりの用語がややこしい。

2限

しばらくディジタル回路の復習。ICのNOT、AND、OR、NAND、NORを確認した後、ディスクリート部品(ダイオードと抵抗とトランジスタ)でNANDを作った。動作の説明でたまたま自分が当たったので先生と「ここがLだからこちらはHになって〜」とか話していたが、残り時間が少なくて速く話していたので周りから見たら少し分かりにくかったかも。

3限

知的財産法。特許とか実用新案とかの対象を少し詳しく見てから、特許の章へ少し入った。

4限

英語。教科書は英語で書かれたワークブックで、結構やさしい。今日は簡単な単語から入った。最後に「鞄の中にあるものを英語で言ってみよう」というのがあったが、クラス全員で50個くらい違った単語が出ておもしろかった。

2016-04-15 授業日誌

1・2限

Java。2回目なのでまだ型とかそのあたり。あと拡張for文の話とか。最後に肩慣らしとしてユークリッドの互除法がレポートで出た。

3限

画像処理の授業の先生が出張なので、代わりに水曜日のマイコンの授業。IOポートというかペリフェラルというか、その操作の際のビット操作を少し詳しく。最後にブレッドボードにLEDを3つ配置してそれを点けて終わり。その後「昨日のアナログ回路の回路もうできた〜」とかちょっとおバカな遊びをやってみたw

2016-04-14 授業日誌

1・2限

アナログ回路の設計実習。これからしばらく、車のウィンカーのような(スイッチを押すとLED3個が少しずつずれて一定時間点灯する)回路を作れというミッション。CMOS ICのORゲートをコンパレータのように使い、単安定マルチバイブレータを使う。他はディスクリート部品のみで、抵抗とコンデンサで時間制御を行う。

CMOS ICのスレッショルド電圧付近をスイッチングのために使うということはこれまでやったことがなかったので新鮮。いろいろと考慮しなければならないことがあるので、なかなか進まず。少し放課後も使って、とりあえずLED1個分はできた。来週はもう少し頑張ろう。

3・4限

Linuxプログラミングの授業。昨日の続きでシェルの復習。まだシェルスクリプトにいかないので、説明を聞き続けるのはなかなか大変。そういえば普段Emacsを使わないので、行編集の際のショートカットはきちんと覚えていなかった。最後に確認テストがあり、手早く片付けた。

2016-04-13 授業日誌

1・2限

Linuxプログラミングの授業。まだ環境設定が終わっていないので、まずVirtualBoxへのUbuntu 14.04のインストールから。終わったらシェルの復習。シェル変数と環境変数の説明でさりげなく fork(2) が意識されていて、(少なくとも自分は)分かりやすかった。

3限

ARMマイコンのプログラミングの授業。少し古いけれど、Texas InstrumentsLM3S811評価ボードを使って進めていくらしい。初回なのでHello worldっぽくLチカ。ライブラリが分かりやすく作られていて、これくらいならArduinoとあまり変わらない。昨年度までのH8マイコンとはだいぶ違って楽でいいなぁ。