ドーモ、ごみばこです。
私立・プログラミングキャンプ 2014 東京大会 https://atnd.org/events/52713
こんなものに参加していました。 スタッフ側だったようです。
が!9時集合なのに9時に起きて10時着という大失態。。 ごめんなさいごめんなさい。。。
参加者みなさま、スタッフかたがた、お疲れ様でした!
会場提供してくださった オプティム さん。 ピザ提供してくださった ゲヒルン さん。 ありがとうございます!最高!!
1. やったこと
・水運びました ・ジュース類運びました ・ピザ運びました サイコー。
・RFC2616をちょこっと眺めました » http://lab.moyo.biz/translations/rfc/rfc2616-ja.txt ざっくりまとめると、HTTP/1.1 の仕様書です。
・ソケットよくわからんつらいってずっと言っていました » http://e-words.jp/w/E382BDE382B1E38383E38388.html ラップされてるのはちらほらとやる機会があったものの、 acceptとかrecvとかそのくらいのものはなかった。
・winsockのサンプルコードを眺めました » http://e-words.jp/w/Winsock.html WSAなんたらかんたらとか。 ウィンドウハンドルがどうこうとか。使ってないですけど。
・OfficeTanakaのサイトをあちこち眺めていました » http://officetanaka.net/excel/ VBAにこまると大体でてくるので強い
・「さっきまで動いてたけど動かなくなった」と言っていました よくあるはなし。
2. 成果
まずはこちらをご覧ください。
今日の成果を撮影した #upcamp http://t.co/P9873lqZjj
— ごみばこ (@sters9) 2014, 8月 17
3. 技術的なサムシング
・全体像はこんなかんじ。 ・ひとまず自分だけ見れればいいやのレベルで ・ExcelVBAでHTTPサーバを建てる ・ワークシート名でルーティング ・ワークシート内のコンテンツがレスポンス ・(想定)DB.tableなシートを作ってデータを保持する ・(想定)POSTデータを読み込んでデータを保存する ・(想定)データを読み込んで動的に埋め込む ・シンプルに掲示板を作りたかった(白目)
思いのほか、ソケット周りで詰まってしまってレスポンスを返すのがやっと。 『さっきまで動いてたけど(変数化|リファクタ|再起動)したら動かなくなった!』
・ワークシート内のテキストを返す シート内を全文テキストとして取得するのどうするんだろう → 全セルみたら死ぬしなあ → いったんtsvに落としこんでから読みこめばいいんだ → なんかダブルクオートで囲まれたりなんかつらすぎる… → なんかもう、一旦正規表現でよしなに消しとこう… → たぶんここでキャッシュしたら早くなるんだろうなー → ひとまずいいや
・Declareステートメント » http://msdn.microsoft.com/ja-jp/library/cc376178.aspx コピペしないで書いたのは多分初めて。 必要な関数をMSDNで調べて、引数とか戻り値を合わせて。
・クラスモジュール » http://www.excellenceweb.net/vba/class/what_vba_class.html » http://codezine.jp/article/detail/499
全部やるとあれな予感がしたので、一旦リクエストとレスポンスだけクラス化した。 クラス化した直後は最高に穏やかな気分だった。
Before: 『あ゛あ゛あ゛あ゛あ゛変数スコープう゛う゛う゛う゛う゛』 『いや、あの、えっと、その、つらいです、はい、まじで』
After: 『こころのやすらぎ』
・振り返るとそんなに書くこと無かった(重要)
4. これやることにした経緯
このあたりをご参照ください。
お手軽につかえてかっこいいグラフライブラリ教えてくれ―ーーー
— ごみばこ (@sters9) 2014, 7月 30
@sters9 EXCEL with VBA
— alc@******** (@noritama_ususio) 2014, 7月 30
ちがう。 ぼくはcanvasとかsvgとか、オンラインで動くやつを求めていたんですよ。
うぇぶでうごくやつ。canvasでもsvgでもdomでもいいや
— ごみばこ (@sters9) 2014, 7月 30
ですがここで、気付いてしまったわけです。 「Excelってグラフ作れるよなあ、VBAでプログラム書けるよなあ。あっ(察し)」
vbaでhttpサーバっていう毒電波を受け取ったのでもうダメ
— ごみばこ (@sters9) 2014, 7月 30
データベース内蔵されてるしめっちゃ強いんじゃね(錯乱
— ごみばこ (@sters9) 2014, 7月 30
5. 作ってみて思ったこと
もしかして『始めたいです!』な人向けとして意外に需要があるのでは?
ほら、セルのおかげでしっかり構造化できるし。
インデントもちゃんとできるし。
ハイライトも実装すればできるし。
おや?????
あ、この流れしってる。 言い出しっぺの法則ってやつだ。
……そういえば、プログラムエディタをExcelにしよう!って話もありましたね。 » http://d.hatena.ne.jp/miya2000/20111221/p0
あ、ここにシートのテキスト化があった…
6. おまけ
名前を書いてあった紙があるじゃろ?
これを、
こう、
ごみばこの出来上がりじゃ!w