スキップしてメイン コンテンツに移動

bellum 文字が流れるチャットアドオン

bellum 文字が流れるチャットアドオン

概要

夏休みに(法学部へ進学したはずだが・・・)Chrome Extension を仲間と共に作成したのでその拡張機能の紹介でもしてみる。

公式サイト : bellum
ダウンロード : Chrome Web Store
MacRat 氏による bellum 紹介記事 : BankTar

bellum ってなぁに?

Chrome の拡張機能 bellum をインストールすると、以下の画像のようにそのウェブページを見ている人同士がなんとなーく、ゆるーく、チャットすることができます。

それはさておき技術的な話

本拡張機能の Chrome Extension 側は MacRat 氏 ( http://blanktar.jp/ )が書いており、私が書いたのはサーバーサイドのコードです。
というわけで、bellum のサーバーサイドの小話とかを軽く記述しておきます。


動作環境

言語 node.js
PasS Heroku

サーバーサイドでは node.js と Socket.IO を使用して作ってみた。なぜか。リアルタイム通信技術といったら node.js じゃねwwww
というテンションに負けたからだ。

詰まったところ

Chrome extension は http 通信が使用されているときは Extension 側から閲覧しているウェブページのコンテンツに Heroku から Socket.IO の JavaScript ファイルを追加書き込みができるのだが、https 通信の時は https 通信の安全性を高めるためか http 通信のサイトから JavaScript ファイルを持ってくることができない。。。。

だが、Heroku 様 http でアクセスしているところを https でアクセスするとなーんもしなくても SSL 通信にしてくれるすごい。嬉しい。

そのおかげで、とても楽が出来ました。

以上

このブログの人気の投稿

記述試験の書き方(仮)

記述試験の書き方(仮) 1,まえがき   法学部の試験では記述式の試験が出てくる。   その試験では、あるテーマについて自由に論ぜよとされている。 しかし、論ぜよと言われても、どのように論じればいいのか、すなわち、記述の仕方について教わったことがない(よくよく考えると、法的文章力を習得させる事だけが目的の授業はないと思われる)。   本稿では、私自身が法学畜になり、見聞きし、実際に活用している論述方法についてまとめている、はずである。その要点は、①条文、判例、学説を使う。②単なる事実と法的事実を区別する。③文章内に一貫性を持たせる。である。 法律と、プログラミング

本サイトの今後について

告知 本サイトは今後更新されることは、おそらくありません。 過去記事等はこのまま放置するつもりです。内容の陳腐化並びにその正確性等については保証はできません。自己責任で活用いただければと思います。 This site won't update in future. And Thank's everyone. new site -> sysrigar

node.js で SQLite3 を使用するコードを書くときの予備録

node.js で SQLite3 を使用するコードを書くとき、予備録 まず、非同期処理。 C言語や Perl のように上から下に処理が続くと決して思ってはいけない。 SQLite3 の each は SQL 文実行完了時に呼び出す関数を指定できる SQLite をインストールします、 npm install sqlite3 [test.js] var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(function() { db.run("CREATE TABLE lorem (info TEXT)"); var stmt = db.prepare("INSERT INTO lorem VALUES (?)"); for (var i = 0; i 結果 [ROW] 1: Ipsum 0 [ROW] 2: Ipsum 1 [ROW] 3: Ipsum 2 [ROW] 4: Ipsum 3 [ROW] 5: Ipsum 4 [ROW] 6: Ipsum 5 [ROW] 7: Ipsum 6 [ROW] 8: Ipsum 7 [ROW] 9: Ipsum 8 [ROW] 10: Ipsum 9 [BUF] 1: Ipsum 0 [BUF] 2: Ipsum 1 [BUF] 3: Ipsum 2 [BUF] 4: Ipsum 3 [BUF] 5: Ipsum 4 [BUF] 6: Ipsum 5 [BUF] 7: Ipsum 6 [BUF] 8: Ipsum 7 [BUF] 9: Ipsum 8 [BUF] 10: Ipsum 9 Finish. まぁ見れば分かる通り、each 関数の第三引数を指定しただけなんだけどね。 Database#each(sql, [param, ...], [callback], [complete]) https://github.com/mapbox/node-sqlite3...