2003年05月26日(月) 椎名林檎博覧会がスタート
■ [windows][java][db] Microsoft SQL Server 2000 Driver for JDBC (2)
解決した。
Googleでマイクロソフトのニュースグループを検索したらこの記事にズバリ書いてあった。嬉しいので翻訳しちゃう。
JDBCドライバはインスタンス名を使った接続をサポートしてないの。インスタンスのポート番号を使わなくちゃダメで、それはデフォルトインスタンスが使う1433番とは違うのよ。
例えば、こんな感じね:
Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://myServer:1637; databasename=master","sa","");
myServerはマシン名で1637がインスタンスに割り当てられているポート番号なわけ。
インスタンスのポート番号は次のようにしたら分かるわ:
a. サーバ上でSQL Serverのサーバーネットワークユーティリティを起動
b. 全般タブをクリックして、ドロップダウンメニューからお望みのインスタンスを選択
c. TCP/IPを選んでプロパティボタンをクリックするとポート番号が表示される
じゃあね!
この通りやったらうまくいった。Sarah、ありがとう!
■ [windows][java][db] Microsoft SQL Server 2000 Driver for JDBC (3)
引き続きGoogleでニュースを見ていたら、JDBCドライバのSP1ではインスタンス名を指定できるような記事もあった。でもおれが使っているのはSP1ではないのでSarahに従う。
マイクロソフト製品について分からないことがあったらmicrosoft.*で調べるのが一番だなあ。Googleさんにも感謝。アメリカはニュースが盛んで羨ましい。
■ [tdiary] 絵日記プラグイン
今日から絵日記にしてみよう。
絵を描くのにGIMP for Windowsをインストールしてみた。ペイントで十分なんだけどbmp形式でしか保存できなかったので。
が、使い方がサッパリ分からん。絵を描くソフトって何でこんなに謎なUIなのだ。でも頑張ってパーマン描いた。下手でいいのだ。これから毎日描くから、これからどんどん上手くなっていくのだ、きっと。
■ 生活
- また眠れなくなってしまった。目覚ましテレビに横山秀夫が出ている。想像より随分おっちゃんだ。
- 地震だ。ゆらゆら長く揺れた。部屋の物は何も落ちず安定している。岩手県で震度6だって。
- ヘイヘイヘイを見る。松浦亜弥はもっと眉と耳を下げよ和田アキ子はさんまからブレスレットウインズは浜ちゃん結婚のいいとこ言えず斉藤蘭ハンバーガ作るの競う。
- 東京ラブシネマを見る。えびボクサー。宮迫のギューにイライラ。
■ 仕事のTODO
考え中
■ やること
- 家賃、健康保険料、年金保険料の支払い
2004年05月26日(水)
- ちょっと残しておいたテストを終わらせようとしたら意外に大変で全然終わらない。しかも全然関係ない所のバグを発見してしまった。しょんぼり。
- あーそうそう、川合はバレーボールの解説で同じことを何度も言う。あれは意図的なものなのか?
■ [dev] Template Toolkit
なんでXSLTを使うことにしたのかなあ。元々XMLなんてどこにも出てこないので筋が悪いように思う。
こういうときはテンプレートエンジンを使うのがいいのではないのか、と思い検索したら perl には Template Toolkit というものがあることを知ったのでメモ。これを使った方が簡単に作れそうだなあ。でも日本語の情報はほとんど見つからない。
■ [etc] メイルの返信の書き方
今係わっているプロジェクトで、返信のメイルにて自分の書いた部分の先頭にマークを付ける書き方が流行っているんだけど、こんな文化あったんですか。
> 引用部分 > 引用部分 > 引用部分 ●自分の文章 自分の文章 自分の文章 > 引用部分 > 引用部分 > 引用部分 ●自分の文章 自分の文章 自分の文章
こんな感じ。すごい違和感。
あと、上のように引用と自分の文を交互に書く場合、はじめに「以下インラインにて」って書くのも流行っている。インライン??
まあ全文引用に比べたら害がないからいいけどさ。
■ やること
- プリンタ処分
2005年05月26日(木)
■ [web][windows][soft] ieHTTPHeadersを使った
Firefoxでは正しく動くのにIEでは正しく動かない、しかもプロトコルはHTTPSなのでパケットをキャプチャしても調べられない、という状況になったので、去年メモしたieHTTPHeadersを使おうとした。
が、インストールしてもIEのメニューにieHTTPHeadersが表示されない。ドキュメントに
Troubleshooting
I've had reports about installation problems, and more specifically, there is no ieHTTPHeaders options in View\Explorer Bar. This seems to be related to the registration component for the explorer bars (which I have no control over). The following steps seems to work around the problem:
1. Uninstall ieHTTPHeaders
2. Reboot Windows (sorry)
3. Re-install ieHTTPHeaders
とあったので、ieHTTPHeadersをアンインストールしてWindowsを再起動してから再びieHTTPHeadersをインストールしてみたけど、やはりメニューに表示されない。
仕方ないのでSくんのPCにインストールしてもらった。すると、メニューにieHTTPHeadersは表示されるが使おうとするとIEのウィンドウが閉じてしまう、というおかしな症状になってしまった。うーん、Sくんごめんなさい。
で、試しにおれのPCでieHTTPHeadersをインストールしたままWindowsを再起動してみたら、メニューに表示されるようになり使えるようになった。
HTTPSでもキャプチャできるので便利。
■ やること
- リンク元のスリム化
- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 家賃
- 健康保険料
2006年05月26日(金)
- ThinkPadはリカバリ用CDを購入することになりそう。
■ [shell][unix] 「安全にファイルを更新する」 (今日の一行)
ファイルを更新するときは
% ln hoge hoge.old && mv hoge.new hoge
とするのがよいとのこと。
■ やること
- テーブル生成
- デザイン変更
- プリンタインク
- 保険
- 松井
2009年05月26日(火)
- 運動のため、ときどき家まで歩いて帰ってみている。1時間くらいで帰れる。
- 暇は終了している。今はC++を使っています。
■ [c++][dev] Boost Test Library Unit Test Framework のサンプル
Boost Test Libraryに含まれているUnit Test Frameworkを使ったのでサンプルをメモ。
手元のBoostのバージョンは1.37、最新は1.39のようだ。
サンプルソース
test_main.cpp、vector_test1.cpp、vector_test2.cpp の3つのファイルを作った。
- テストの構成は色々あるようだが、dynamic library variant方式にした。BOOST_TEST_DYN_LINK を define すればいいみたい。
- dynamic library variant方式の場合は BOOST_TEST_MODULE を define すると main() が自動生成される。
- include するヘッダは boost/test/unit_test.hpp。
- テストケースは BOOST_AUTO_TEST_CASE() を使って書くのがよさそう。
- 値の検査は BOOST_CHECK_EQUAL() や BOOST_REQUIRE_EQUAL() で行える。BOOST_CHECK_EQUAL() だと検査がfailedになった場合でもテストケースの処理は先へ進む。使える検査用のマクロ一覧はリファレンスにある。
- setup, teardown 相当の処理は、「フィクスチャ」のコンストラクタとデストラクタで行う。下のサンプルではフィクスチャとして Fixture というクラスを作った。
- テストケース内ではフィクスチャクラスのメンバ変数に直接アクセスできる。フィクスチャクラスを継承しているようだ。
- フィクスチャを使うときは、Test suite level fixtureを使用するのがよさそう。BOOST_FIXTURE_TEST_SUITE() を使う。
- テストケースやフィクスチャは無名(じゃなくてもいいけど)名前空間の中に書くのがよさそう。名前の衝突を気にしなくてよくなるので。
- 全体的に文字列をほとんど与えられず、日本語を埋め込む余地があまりなさそうなのが残念。
// test_main.cpp #define BOOST_TEST_MODULE "ここは日本語を書けそう" #define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp>
// vector_test1.cpp #include <boost/test/unit_test.hpp> #include <vector> namespace { struct Fixture { std::vector<int> v; Fixture() { v.push_back(1); } }; BOOST_FIXTURE_TEST_SUITE(my_suite, Fixture) BOOST_AUTO_TEST_CASE(add_element) { // Fixtureのメンバ変数 v を直接参照できる v.push_back(100); BOOST_CHECK_EQUAL(v.back(), 100); BOOST_CHECK_EQUAL(v.size(), 2); } BOOST_AUTO_TEST_CASE(remove_element) { v.pop_back(); BOOST_CHECK_EQUAL(v.size(), 0); } BOOST_AUTO_TEST_SUITE_END() }
// vector_test2.cpp #include <boost/test/unit_test.hpp> #include <vector> namespace { struct Fixture { std::vector<int> v; Fixture() { v.push_back(1); v.push_back(2); v.push_back(3); } }; BOOST_FIXTURE_TEST_SUITE(my_suite, Fixture) BOOST_AUTO_TEST_CASE(add_element) { v.push_back(100); BOOST_CHECK_EQUAL(v.back(), 100); BOOST_CHECK_EQUAL(v.size(), 4); } BOOST_AUTO_TEST_CASE(remove_element) { v.pop_back(); BOOST_CHECK_EQUAL(v.back(), 2); // テストをわざと失敗させるてみる BOOST_CHECK_EQUAL(v.size(), 100); BOOST_REQUIRE_EQUAL(v.empty(), true); // これも実行される BOOST_CHECK_EQUAL(v[0], 100); // これは実行されない } BOOST_AUTO_TEST_SUITE_END() }
ビルド
次のようにしてビルドできる。
$ g++ -Wall -lboost_unit_test_framework-mt -o testrunner *.cpp
実行結果
実行結果は次の通り。
$ ./testrunner Running 4 test cases... vector_test2.cpp(29): error in "remove_element": check v.size() == 100 failed [2 != 100] vector_test2.cpp(30): fatal error in "remove_element": critical check v.empty() == true failed [false != true] *** 2 failures detected in test suite "ここは日本語を書けそう"
オプションを付けることで出力内容を変えられるが、気に入ったフォーマットが見当たらない。
$ ./testrunner --log_level=test_suite --report_level=detailed Running 4 test cases... Entering test suite "ここは日本語を書けそう" Entering test suite "my_suite" Entering test case "add_element" Leaving test case "add_element" Entering test case "remove_element" vector_test2.cpp(29): error in "remove_element": check v.size() == 100 failed [2 != 100] vector_test2.cpp(30): fatal error in "remove_element": critical check v.empty() == true failed [false != true] Leaving test case "remove_element" Entering test case "add_element" Leaving test case "add_element" Entering test case "remove_element" Leaving test case "remove_element" Leaving test suite "my_suite" Leaving test suite "ここは日本語を書けそう" Test suite "ここは日本語を書けそう" failed with: 6 assertions out of 8 passed 2 assertions out of 8 failed 3 test cases out of 4 passed 1 test case out of 4 failed 1 test case out of 4 aborted Test suite "my_suite" failed with: 6 assertions out of 8 passed 2 assertions out of 8 failed 3 test cases out of 4 passed 1 test case out of 4 failed 1 test case out of 4 aborted Test case "add_element" passed with: 2 assertions out of 2 passed Test case "remove_element" aborted with: 1 assertion out of 3 passed 2 assertions out of 3 failed Test case "add_element" passed with: 2 assertions out of 2 passed Test case "remove_element" passed with: 1 assertion out of 1 passed
■ やること
- 請求書
- 請書
2010年05月26日(水)
■ [etc][web] 著作権表示
日経産業新聞に、アークコミュニケーションズという会社のレポートにウェブサイトの著作権表示の問題が書かれているという記事が載っていた。レポートっていうのはこれかな。読むにはアンケートが必要なので読んでない。
それで、この会社のウェブサイトは正しい著作権表示をしているのだろうと思うので参考にする。英語版、中国語版、ハングル版のトップページではそれぞれ次のような表示になっていた。
©2010 Arc Communications Inc. All rights reserved.
©2010 Arc Communications Inc. 版权所有
©2010 Arc Communications Inc. 모든 권리를 보유함.
行末は各国の言語で締めている。が、日本語版は次のようで、英語版と同じフォーマットだった。
©2009 Arc Communications Inc. All rights reserved.
こうするのが正しいのかなあ。
以前のメモ
著作権表示は以前にも気になってメモしたことがある。それへのリンク。
■ やること
- クリーニング
請書
● しみず [この絵、最高です。何度も噴出し笑いをして、更に笑いをこらえるのに必死で怪しい人になってしまった。ちなみにえびボクサー..]
● 小川 [絵が下手すぎて恥ずかしい。えびボクサーって現実世界の映画だったのですか。ドラマの中ではヒットしそうもない映画として扱..]