2002年01月30日(水) 外務大臣更迭
■ 会社
- 田中真紀子更迭。野上次官も更迭。鈴木委員長も辞任。ついでに大橋巨泉も辞職。代わりにツルネンマルテイが繰り上げになるみたい。やったねツルネン、がんばれ。
- MAXミーナがスタッフと入籍。ミーナって誰よ。
- 9:30 よーし仕事するで。WineDB.cの実装の続きをするのだ。絶対にするのだ。
- 11:15 首藤さんの日記からリンクを辿っていたら深みにはまってこんな時間に。まあこれがウェブの醍醐味なんでしょうけど。よーし仕事するで。
- 13:10 わー、IDTSサイボウズの掲示板に載ってるー。昨日やたらアクセスが多いのはこのためだろか。
- JO技のサイボウズは掲示板を見れないのでつまらない。
- 21:05 飯食ってきたところ。今日は会社に泊まる気満々な瞬間。
■ [soft] Datula
そうそう、バージョンアップの止まっているDatulaですが、Datula MLでは青野さんより開発再開のアナウンスがあった。でも青野さんはまだ療養中で違う人に開発を頼むみたいです。
■ [java] Merlin の新しい入出力クラスをマスターしよう
仕事せず、ずっと読んでいなかった首藤さんの日記を読んでいる。JDK1.4の新しいI/O機能についての解説記事。首藤さんの日記より。
■ [java] システム負荷を軽減したスレッド化: 同期化を敵視することはありません
Javaのスレッドの解説。首藤さんの日記より。
■ [dev][soft] GNU GLOBAL source code tag system
C、C++、Yacc、JavaのソースコードをHTMLに変換するソフト。 高林さんのウェブページより。
■ [dev] Cプログラミングの秘訣
Cプログラムの書き方みたい。高林さんのページより。これは読んでおこう。いや、以前にも読んでいるのか?
■ [windows] [AC97]Jet 3.5 VBA 関数実行時のセキュリティ強化設定方法
Jetの古い脆弱性。PASSJ MLより。一応メモ。
■ テレビ/本
- ホワイトアウト。スノーモービルでシャー、バンバン、ドーン、ゴロゴロゴロ、ドカーン。
- JavaWorld。読むところあまりない。JBuilder6はJUnitをサポートしてるみたい。
2003年01月30日(木)
■ 会社
- (8:50)出社。これからしょうもない会議だ。
- (9:00〜10:55)しょうもない会議終わり。役員の言っていることは概ねまともだ。オーバーコミットになっているのは確かだ。駄目なシステムをプレゼンでごまかそうとするからこうなる。会議で議論される内容は半年前と同じだ。さっぱり前へ進まない。
- でもさあ、役員は言いたいこと言えばいいだけだから楽チンだよね。役員は楽チン、発表者は大変、聴衆は退屈。
- タイムカードが配られた。来週から使って下さいってさ。
- ドキュメント作成の続き。やる気がでない。
- (17:30)見たいテレビがあるのでもう帰ります。でもこの時間に帰って標準の労働時間なんだぜ。
2004年01月30日(金)
■ [c][howto] gdb (2)
gdbのコマンドをもう一度メモ。メモすると覚えるのだ。
break 関数名 | 関数にブレイクポイントを設定する。 |
break ファイル名:行番号 | 指定行にブレイクポイントを設定する。 |
info break | ブレイクポイントの一覧を表示する。 |
delete ブレイクポイント番号 | ブレイクポイントを削除する。 |
delete | 全てのブレイクポイントを削除する。 |
run 引数 | プログラム開始。ブレイクポイントを設定してあればそこで止まる。 |
step | ステップ実行。これは関数の中に入っていく。 |
next | ステップ実行。これは関数の中に入っていかない。 |
until 行番号 | 行番号まで進む。 |
finish | 関数から抜ける。 |
where | スタックの情報を表示する。 |
up | 上のスタックへ移動する。 |
down | 下のスタックへ移動する。 |
print 変数名 | 変数の内容を表示できる。 |
list | 周辺のソースを表示できる。 |
continue | 次のブレークポイントまで一気に進む。 |
quit | gdb 終了。 |
マニュアルの翻訳はこことか。
■ やること
- 決算
- 不動産屋
- 定期券を買う
2005年01月30日(日)
■ [life] ナンバーアナウンス解約した
なんか時間があったので実行。
116へ電話する。お姉さんが出る。契約内容の変更をしたいのですが、と言う。電話番号と名前を問われるので答える。契約内容の変更とはどのような内容か、と問われるので、ナンバーアナウンスをやめたい、と言う。今日から使えないようになっても大丈夫かと問われるので大丈夫だと答える。料金は日割りで計算されるそうだ。電話を切る。
とても簡単。1分で終わる。解約を思い立ってから3ヵ月半経っていた。
■ [life] 図書館へ行く
- 壬生義士伝(下) (浅田次郎)
- ダウンタウンのガキの使いやあらへんで!! 6 軌跡
- 図解 生命保険のカラクリがわかる本 (中村芳子)
- 個人事業者のパソコン経理事典 (高下淳子)
- Quick Japan Vol.56 「笑い飯」
を借りた。
あと、プリンタの黒のインクを買った。経理ソフトも買おうと思っていたが、意外と高いのでやめておいた。Amazonの方が安い。
■ やること
- リンク元のスリム化
ナンバーアナウンス解約- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- 確定申告書作成
2009年01月30日(金)
- 中尾明慶が大江さんに似ていると思った。
- 以前は新沼くんが中村憲剛に似ていると思っていたが今は似ていない。今は山下智久に似ていると思う。
■ [java] クラスパスからプロパティファイルを読み込む
クラスパス上にあるプロパティファイルを読み込む処理をたまに実装するが、すぐにやり方を忘れてしまうのでメモ。
基本的には、
- Class#getResourceAsStream()を使ってファイルに対するストリームを取得し、
- Properties#load()を使って読み込む
とすればいい。このとき、getResourceAsStream() の引数に指定するリソース名の先頭には「/」を付与する。 クラスローダの構成が複雑な場合は気を付けることがあった気がするが、今は思い当たることがない。
Javaのドキュメントの次のページに説明がある。
- 位置に依存しない方法でのリソースへのアクセス (リンク切れ → http://docs.oracle.com/javase/jp/7/technotes/guides/lang/resources.html)
以下にサンプルプログラムと実行例を示す。
(追記)
「getClass().getResourceAsStream("/test.properties")」と書いていたら、FindBugsに
this.getClass().getResource(...) の呼び出しは、別のパッケージに継承クラスがある場合には、予期しない結果をもたらす可能性があります。
と注意されてしまった。気にしなくていいケースもあるだろうが、重要なファイルを読み込む場合は注意が必要だ。対処方法のアドバイスは表示されなかったが、
- クラスをfinalにし継承できないようにする
- getClass()は使わず明示的にクラス名を指定する
などとする必要がありそう。以下のサンプルは後者の方法で修正した。
package sample; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Map; import java.util.Properties; public class PropertiesLoader { public static void main(String[] args) throws IOException { PropertiesLoader loader = new PropertiesLoader(); Properties props = loader.load(); for (Map.Entry<Object, Object> entry : props.entrySet()) { System.out.printf("%s = %s%n", entry.getKey(), entry.getValue()); } } public Properties load() throws IOException { //InputStream in = getClass().getResourceAsStream("/test.properties"); InputStream in = PropertiesLoader.class.getResourceAsStream( "/test.properties"); if (in == null) { throw new FileNotFoundException(); } try { Properties props = new Properties(); props.load(in); return props; } finally { in.close(); } } }
$ tree --noreport . |-- class | `-- sample | `-- PropertiesLoader.class `-- etc `-- test.properties $ cat etc/test.properties name = oreore lang = java os = CentOS $ java -cp class:etc sample.PropertiesLoader name = oreore os = CentOS lang = java
2014年01月30日(木)
■ [c++] rvalueリファレンス自体はlvalue
C++11のrvalueリファレンスの理解が怪しい。次のプログラムが
right left right
と出力するleftの所がいまいちピンとこない。確かに左側にあるけど。
#include <iostream> #include <utility> void f(int& i) { std::cout << "left" << std::endl;} void f(int&& i) { std::cout << "right" << std::endl; } int main() { { int i0 = 0; f(std::move(i0)); //=> right } { int i0 = 0; int&& i1 = std::move(i0); f(i1); //=> left } { int i0 = 0; int&& i1 = std::move(i0); f(std::move(i1)); // right } }
C++11の文法と機能(C++11: Syntax and Feature)に
rvalueリファレンス自体はlvalueであるということに、注意しなければならない。
と説明がある。
2015年01月30日(金)
■ [mobile][life] ワイモバイルからMNP予約番号を取得した
Nexus 5を買ったので、みおふぉんを使う予定。電話番号は今使っているPHSから引き継ぎたいのでMNPの手続きをする。
ワイモバイルからMNP予約番号を取得するには電話をする必要がある模様。PHSから116へ掛けた。はじめは音声案内に従う。途中で4桁の暗証番号を入力する必要があるので注意。最後は人間のオペレータと話をすることになった。
- MNP転出した後どこの通信事業者と契約するのか。
- ワイモバイルを解約する理由は何か。
- ワイモバイルのスマートフォンなら無料で手に入る。
- 特別に5000円キャッシュバックする。
などの話があった後でやっとMNP予約番号を発行してもらえた。番号はライトEメールで送るとのこと。解約するにあたって、
- 新ウィルコム定額プランSの年間契約解除手数料2000円(税抜)。
- MNP転出手数料3000円(税抜)。
という手数料を支払う必要があるとのこと。
電話を終えて、10~20分後くらいに無事MNP予約番号が送られてきた。