メモの日々


2001年09月12日(水) マスード

会社など

  • マスード司令官が爆発に巻き込まれて瀕死の重傷らしい。
  • アメリカでは飛行機がいろんなところに突撃しているのだ。
  • 障害票をテキスト出力する際に、出力先はT_PATHテーブルにて指定する。
  • 22:10 夜だ。今日からテストやっと開始。みんな忙しい。
  • 22:20 これからNetscape4.78をインストールし、帰る予定。

2002年09月12日(木) △△△の日

会社

  • 10:40 太田さんが来て△△△ウェブサーバの設定をしている。対応は兒玉くんに任せきり。
  • 牧野さんに貸すためにノートPCを浅海さんに渡した。
  • 20:00〜22:00 △△△サーバが基本認証を使うようにしたら動かなくなったことをきっかけに色々調べさせられてしまった。もー。

Iプロジェクト

  • 14:00〜15:40 18:00からの打ち合わせのための打ち合わせ。初めは高本兒玉と、途中から高本さんは抜ける。基本的には、聞きたいことはないのに無理やり聞くようにさせられている感じでどうにもしっくりこない。危機感は皆にある。
  • 16:45 Kに溜まっていた議事録を読み終わったとこ。こんなに議事録ばかり作って意味あるのかなあ。でも要不要の判断は難しいかも。
  • 17:35 ノーンにSP3を当てWindowsUpdateも行った。結構面倒。
  • 18:00〜19:30 平野さん大崎さん高本さん吉田さん兒玉くんと打ち合わせ。質問事項のまとめ。二ヶ月前と同じ話をしている気がする。

2003年09月12日(金)

[link] 弁護士の報酬 (小川綜合法律事務所)

エリサラ業務日誌より。

  • 法律相談料:30分5000円以上
  • 顧問料:個人は年間6万円以上、事業者は月額5万円以上

だそうです。「以上」っていうのが規定されているのだ。

[java] マルチスレッドプログラムのバグ (首藤一幸さん)

JavaWorld2002年1月号の記事の元原稿。

[xrea][tdiary] 日別表示でエラー(2)

またなった。前回と同じく日記を書き込むことで直ったが、またすぐにエラーが出るようになってしまった。

色々試したところ、エラーが出るときはブラウザがCookieをサーバへ送っているようだった。Cookieを削除するとエラーは出なくなる。何のCookieだか分からない。もうCookieがセットされなくなってしまった。特定の広告がCookieをセットしてくるのかもしれない。再現したらまた調べる。

生活

  • 4時に目覚めてウェブを巡回して見終わったのは10時過ぎ。時間かけすぎ。でもアンテナは太る一方だ。
  • でもまだ午前中ですよ。素晴らしい。昼寝しないよう頑張ろう。
  • 昨日は「リテラシー」という言葉を思い出すのに丸一日かかった。
  • 寝てた。もう14時半。

2007年09月12日(水)

[サッカー] 女子ワールドカップ 日本vsイングランド

寝てた。が突然目覚め、最後の最後だけ観た。ワンシーン観ただけだったが、今年の日本サッカーのベストシーンに遭遇できた。女子代表はいつもすごいなあ。宮間さん、インタビューもかっこよかった。

[サッカー] 3大陸トーナメント 日本vsスイス

オーストリア遠征の2試合目。日本の先発は

          巻
    松井 遠藤 中村
      稲本  鈴木
駒野 闘莉王 中澤 加地
         川口

で期待の松井がスタメン。前半は闘莉王のロングフィードからくらいしかチャンスを作れない。後半はパスが繋がった。珍しく得点の多い試合。松井はらしさも見せたが期待ほどではなかった。遠藤稲本は消えていることが多かったかな。闘莉王はミスもあったが頼れる。巻はわりとよかった。こちらの試合も最後に頑張った。

えー、チリとは試合しないのか。

[book] 99%の誘拐 (岡嶋二人)

99%の誘拐(岡嶋二人/著 西澤保彦/解説) 読んだ。岡嶋二人の作品は高校生くらいの頃にチョコレートゲームを読んで以来かな。

2つの誘拐の話。トントン拍子に進みすぎかなあ。間宮さんが賢くてなかなかかっこいい。3点。

[サッカー] オリンピック アジア最終予選 日本vsカタール

またサッカーか。先発は

          森島
    家長  柏木  水野
    本田拓也  梶山
伊野波 水本 青山直晃 内田
          山本

と4バックに変えてきた。前半は支配して圧倒するも、最後はヒヤヒヤ。今回は家長よりも水野が目立っていた。ミスも目についたけど。柏木のチェイスはよし。水本も奮闘。森島はシュート下手。カタールは決定力不足。

今日はサッカー観戦のため早朝に起きていたので、この試合の前半の後半に睡魔に勝てずウトウトしてしまった。


2008年09月12日(金)

[java] Calendarを文字列で出力

java.util.Calendarの内容を文字列で出力する方法を覚えられないのでメモしておく。

  • Calendar#toString() ではうまくいかない。
  • java.text.DateFormat を使う必要があるみたい。が、このクラスを使うにはCalendarをDateに変換しないといけない。
  • java.text.SimpleDateFormat を使うと書式を自由に指定できる。
  • (追記)String.format() に日付時刻用の書式文字列を使う方法もあった。これだとCalendarをそのまま引数に与えられる。

以下、サンプルプログラムとその出力。

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DateTest {
    public static void main(String[] args) {
        DateFormat format1 = DateFormat.getInstance();
        DateFormat format2 = DateFormat.getDateInstance();
        DateFormat format3 = DateFormat.getDateTimeInstance();
        DateFormat format4 = DateFormat.getDateTimeInstance(DateFormat.LONG,
                                                            DateFormat.LONG);
        DateFormat format5 = new SimpleDateFormat("yyyy-MM-dd-H-m-s");

        Calendar now = Calendar.getInstance();
        
        System.out.println("toString(): " + now.toString());
        System.out.println("format1   : " + format1.format(now.getTime()));
        System.out.println("format2   : " + format2.format(now.getTime()));
        System.out.println("format3   : " + format3.format(now.getTime()));
        System.out.println("format4   : " + format4.format(now.getTime()));
        System.out.println("format5   : " + format5.format(now.getTime()));
         // 追記
        System.out.println("%tF %<tT  : " + String.format("%tF %<tT", now));
    }
}
toString(): java.util.GregorianCalendar[time=1221214782327,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH=8,WEEK_OF_YEAR=37,WEEK_OF_MONTH=2,DAY_OF_MONTH=12,DAY_OF_YEAR=256,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=7,HOUR_OF_DAY=19,MINUTE=19,SECOND=42,MILLISECOND=327,ZONE_OFFSET=32400000,DST_OFFSET=0]
format1   : 08/09/12 19:19
format2   : 2008/09/12
format3   : 2008/09/12 19:19:42
format4   : 2008/09/12 19:19:42 JST
format5   : 2008-09-12-19-19-42
%tF %<tT  : 2008-09-12 19:19:42

[windows] バッチファイルでのエスケープ

Windowsのバッチファイルでエスケープをしたい時は「^」を使えばいいみたい。

echo ohayo-^
gozaimasu

のようにして改行をエスケープすると、

ohayo-gozaimasu

と出力された。

[book] 重力ピエロ (伊坂幸太郎)

重力ピエロ(伊坂幸太郎/著) 読んだ。兄である主人公と弟の春が仲良しだという話。事件も起こるけど、ミステリだと思って読んだら面白くないと思う。話が逸れていく所を楽しまないと。3点。

[tdiary] 過去の書影の一部が表示されなくなっていた

過去の日記を見ていたら書影が表示されていないことに気付いた。表示されるものとされないものがある。

キャッシュを消せば直るかと思って試したが直らなかった。が、cacheディレクトリをよく見るとamazonというサブディレクトリがあるじゃないか。このディレクトリを削除したら書影が表示されるようになった。

cacheの下にはmy_sequelというディレクトリもあった。my-sequel.rbがおかしくなったらここを消せばいいんだな。

やること

  • 請求書

2018年09月12日(水)

[c#] WPFのコンテキストメニューのイベントハンドラでターゲットのコントロールを得る

WPFにおいて、コンテキストメニューアイテムのクリックに対するイベントハンドラーにてそのコンテキストメニューが張り付いているコントロールを得る方法がなかなか分からなかったのでメモ。

コンテキストメニューのXAMLは次の通り。

<ContextMenu x:Key="contextMenu">
    <MenuItem Header="メニューです" Click="OnClick"/>
</ContextMenu>

OnClickイベントハンドラのシグネチャは次のようになる。

private void OnClick(object sender, RoutedEventArgs e)

OnClick()内で上のコンテキストメニューが張り付いているコントロールを得たい。senderから次のように辿れば目的のコントロールを取得できるようだ。

  • senderにはMenuItemオブジェクトが設定される。
  • MenuItemオブジェクトのParentプロパティにContextMenuオブジェクトが設定されている。
  • ContextMenuオブジェクトのPlacementTargetプロパティにコンテキストメニューが張り付いているコントロールが設定されている。

メモしてみると当たり前なことに感じる。なかなか分からなかったのは、もっと簡単に取得できるはずだと考えたからかなあ。


2019年09月12日(木)

[life] toto当せんした(5)

3か月ぶりに当せん。ペース早いが、当せん金はまた890円。100円BIG1119回の5等でした。


2024年09月12日(木)

[python] Pythonのモジュールとパッケージ

Pythonの「モジュール」と「パッケージ」という用語の使い分けがよくわからなくなる。

pipでインストールしているものはモジュールなのかパッケージなのか?importしているものはモジュールなのかパッケージなのか?

定義

Pythonの用語集には次のように書かれている。

(モジュール) Python コードの組織単位としてはたらくオブジェクトです。モジュールは任意の Python オブジェクトを含む名前空間を持ちます。モジュールは importing の処理によって Python に読み込まれます。

パッケージ を参照してください。

(パッケージ) サブモジュールや再帰的にサブパッケージを含むことの出来る module のことです。専門的には、パッケージは __path__ 属性を持つ Python オブジェクトです。

regular package と namespace package を参照してください。

パッケージの説明に「__path__ 属性を持つ Python オブジェクトです」とあるけど、英語版には「a package is a Python module with a __path__ attribute.」とある。つまり、

  • __path__ 属性を持つモジュールのことを特別にパッケージと呼ぶ

と考えればよさそう。では、__path__ 属性とは何か?

__path__ 属性

__path__ 属性については次に説明があった。

パッケージの __path__ 属性は、そのサブパッケージのインポート中に使われます。インポート機構の内部では、それは sys.path とほとんど同じように機能します。つまり、インポート中にモジュールを探す場所のリストを提供します。しかし、一般的に __path__ は sys.path よりも制約が強いです。

この説明からわかるのは、__path__ 属性はモジュールのインポート処理に使うためのものだということ。

__path__ 属性の有無を調べてみる。

% python
Python 3.12.6 (main, Sep 12 2024, 17:06:52) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, json
>>> hasattr(os, "__path__")
False
>>> hasattr(json, "__path__")
True
>>>

osモジュールはパッケージではないが、jsonモジュールはパッケージであることがわかる。

配布パッケージとインポートパッケージ

上述したことから、importしているものはモジュールだということになるだろう。

一方、pipでインストールするものはパッケージと呼ばれている気がする。

どうやら、Pythonのパッケージという用語には二種類あると考えるべきなようで、Python Packaging User Guideの次のページで説明がなされていた。

これを読むと、先に調べたPythonのパッケージは詳しくは「インポートパッケージ」であり、pipでインストールするものは「配布パッケージ」であると考えるようだ。

パッケージという言葉はあいまいなので、使い方に注意が必要そう。次の言明は正しいと言えるだろうか。

「NumPyという配布パッケージをインストールすると、numpyというモジュールをインポートできるようになる」