メモの日々


2000年12月13日(水) 早朝

  • あさっての早朝にL!の移行がある。

2001年12月13日(木) 残業デイ

会社

  • 14:25 今日は8:30に水道橋に行ってOOOOで打ち合わせ。何の実りもなかった。11:00から会社でセキュリティビジネスについて打ち合わせ。もっと実りのない打ち合わせであった。
  • 22:40 久しぶりに遅くまで会社にいる。さっきSFAの第1回目のリリースをしたところ。なんかサーバに接続している人がいたけど仕方がないのでIISをストップした。クレーム来ないといいけど。SFA改造大変忙しい。
  • Kのリリースもしたけどそっちは構ってらんない。
  • 23:50 あわわわわ。

テレビ

  • 最近テレビ見ないな。

2002年12月13日(金) 午前休暇の日

[soft] Mozilla解体新書

Mozillaをいじるためのメモ。moz-users MLより。おれもMozillaに貢献してみるかのう。

[windows] HFReport バッチファイルのサンプル(was Re: HfNetChk)

PASSJ MLによればHFNETCHKはめちゃめちゃ便利だそうで。パッチだらけのWindowsを管理するために管理者必須のツールのようだ。で、それを使った便利なスクリプトのサンプルらしいのをメモ。

[windows] Visual Basic .NET を使用した Google Web サービスへのアクセス

マイクロソフトによるGoogleウェブサービスの使い方の解説。PASSJ MLより。

[windows][java] Microsoft .NET と J2EE テクノロジの比較

マイクロソフトによる.NETとJ2EEの比較。PASSJ MLより。.NETって無料の開発環境でもそこそこ使えるのかなあ、ってケチなおれ。

[java] [JavaHouse-Brewers:51665] Re: Java Plug-in のバージョン指定方法

Javaドキュメントの英語版と日本語版で記述が違うという指摘。困るなあ。

Cプロジェクト

  • 14:00〜14:30 ***太田さん秋元さん貞方さんを吉田兒玉と迎えた。@@@の調査お願いします、と言っただけ。頑張れ***。
  • 15:55 きゃー、PDSのクライアントちゃんと動いた。昨日帰ってから、タグがエンコードされるのは問題ないことに気付き(なぜならsoapリクエストのパラメータとして「xmlデータ」を渡すのだから)、今日も色々やっていたとこなのだ。結局、昨日うまくいかなかったのはリクエスト内のタグの大文字小文字を適当に書いていたからのようだ。<request>ではなく<Request>、<pdsinfo/>ではなく<PDSInfo/>と書いたらうまくいってしまった。タグの大文字小文字って区別するんだっけ?
  • 18:05 クライアント側は目処がついたのでサーバ側をやっていたがやはりうまくいかない。Regasm.exeというのを使えば.NETのコンポーネントをCOMコンポーネントとして公開できるのではないかと思い、これを検索したところC:/WINNT/Microsoft.NET/Framework/v1.0.3705/RegAsm.exeにあったので喜んで実行したがサーバの挙動に変化はなかった。うーむ。VisualStudio6.0をインストールするしかないのかなあ。
  • 18:25 どうにも.NET Frameworkへの理解が足りないおれ。ここを勉強しないと先へ進めなさそう。えー。

Kプロジェクト

  • 14:40〜15:10 ステータス確認など。今日の昼にどういうわけかウェブサーバのメモリが急増していた。

その他

  • 13:25 今日は頭が痛い。

2016年12月13日(火)

[vim] Vim 8でフォントを綺麗に表示する

Vim 8で追加されたWindows での DirectX サポート機能を試したら、フォントが綺麗に表示されるようになったのでメモ。

VimはKaoriYaで配布されているもののGUI版を使う。バージョンは8.0.82。

renderoptionsオプションの設定

renderoptionsオプションを設定すると、テキストレンダリングにDirectXを使えるようになる。renderoptionsオプションはパラメータが色々あって難しいのだけれど、

:set renderoptions=type:directx,renmode:5

と設定することでまあ満足な表示になった。

が、この設定だけだと駄目で、以下の設定も行った。

UTF-8化

renderoptionsのヘルプのdirectxの項に

MS-Windows の Vista 以降のバージョンで 'encoding' が "utf-8" である必要がある。

とある通り、エンコーディングをUTF-8に設定する必要がある。KaoriYa版のデフォルトのエンコーディングはcp932になっているようだけれど、 switches\catalog にある utf-8.vim を switches\enabled に移動すればエンコーディングをutf-8に変更できる。

ここまでで、renderoptions未指定だと

画像の説明

という感じだったのが、renderoptionsを上記のように設定すると

画像の説明

という感じになる。下が綺麗かは微妙だけれど、字が太くなった!

guifontオプションの指定

GVimのデフォルトのフォントはMSゴシックのようだが、これをConsolasを使うようにしたい。Consolasには和文用にMSゴシックをリンクする設定を別途行っている(フォントのリンクについての説明は割愛)。

フォントはguifontオプションで設定する。cXXやqXXは何を設定すべきかわからないので未指定とし、

:set guifont=Consolas:h12

と設定すると、

画像の説明

となった。日本語の表示が崩れてしまう。

guifontwideオプションの指定

GVimにはguifontwideというオプションもあるのでこれを指定してみる。

:set guifontwide=MS_Gothic:h12

と設定すると、

画像の説明

となった。うん、これでいいのではないだろうか。

IME動作時の表示が変

未解決の問題があって、漢字変換中に表示される文字の見栄えが確定後の見栄えと違ってしまって違和感がある。

画像の説明

見栄えは妥協したとしても文字幅が変わっちゃうのは困るよなあ。

追記

KaoriYaさんに解説記事が出ていたのでメモ。


2017年12月13日(水)

[shell][howto] zshでPATHのような変数の値が重複しないようにする

zshにて環境変数PATHのようにコロン区切りの変数の値が重複しないようにしたい。

$ VAR=aaa:bbb:aaa

としたときに

$ echo $VAR
aaa:bbb

と振る舞って欲しいということ。 以前は「いい方法は見当たらなかった」と書いているがいい方法はある。

設定方法

組み込みコマンドのtypesetを使って

$ typeset -TU VAR var

とする。「var」の部分はほかの変数と同名にならなければ何でもよい。

-Tオプションで変数VARを配列変数varと関連づけ、-Uで重複除去の属性をセットしている。-Tは余計な設定に感じるが、これが無いと動作しない(少なくとも手元のzsh 4.3.11では)。

動作例

$ VAR=aaa:bbb:aaa
$ echo $VAR
aaa:bbb:aaa

$ typeset -TU VAR var
$ echo $VAR
aaa:bbb

$ VAR=ccc:ddd:ccc:ddd
$ echo $VAR
ccc:ddd

参考


2020年12月13日(日)

[hard] PCのメモリを増設した

2年前に買ったPCはメモリ16GBで使っていたが、現代ではこれでは不十分である。メモリスロットはまだ2つ空いていたので16GBの2枚セットであるCrucial製のCT2K16G4DFD8266を買った。ビックカメラで約13500円。

接続するのには一苦労した。ケースを開けてみるとメモリスロットの上にDVDドライブが被さっていてそのままではメモリを刺せない。DVDドライブをどかそうとするとCPUファンにぶつかるのでまずCPUファンを苦労して外してみたが、DVDドライブはまだ何かにつっかえてしまい外せない。DVDドライブというのは前面が大きいのでケース内側に引っ張る形では外せないのだった。ケース外側へ押し出さないといけないのだけれど、そのためにはPCのフロントパネルを外さねばならない。が、フロントパネルの外し方が分からなかった。長時間格闘してやっとフロントパネルから足が伸びてケースに噛んでいるのを発見し、外すことができた。

フロントパネルの足

DVDドライブをずらしてメモリを刺しケースを元に戻して起動した結果、無事48GBになったようで一安心。

メモリの状態


2022年12月13日(火)

[python] Poetryの使い方メモ

PythonのパッケージングツールであるPoetryの使い方をメモ。使用するバージョンは1.3.1。

Poetryのインストール

ドキュメントにいくつかの方法が書かれているが、Manually (advenced) にあるvenvとpipを使った方法が分かりやすいと思う。

$ python3 -m venv $VENV_PATH
$ $VENV_PATH/bin/pip install -U pip setuptools
$ $VENV_PATH/bin/pip install poetry

VENV_PATHは任意のディレクトリを表す。上のようにした後、poetryコマンドの実体が $VENV_PATH/bin/poetry になるようにする(シンボリックリンクやシェルのaliasなどを使って)。

面倒ならvenvを使わずpipで普通にインストールしてもいいと思うけど。

プロジェクトの作成

pyproject.toml を用意すればPoetryのプロジェクトを作ったことになる。 このファイルの作り方については割愛。次のドキュメントに説明がある。

プロジェクトの依存関係のインストール

pyproject.tomlがあるディレクトリで

$ poetry install

を実行すると、pyproject.tomlに定義された依存パッケージがPoetryの作る仮想環境へインストールされる。仮想環境のパスについてはドキュメントを参照。このとき、poetry.lockがまだ無いなら作られる。既にあるならそのlockファイルにあるバージョンのパッケージがインストールされる。

pyproject.tomlやpoetry.lockが更新された時にはこのコマンドを再実行する必要がある。

仮想環境内の実行ファイルの実行方法

プロジェクトの仮想環境のbinディレクトリにプロジェクトで使用する実行ファイル(自分の作るアプリケーションなど)が配置される。ここにある実行ファイルを実行するにはpoetry runコマンドを使う。

例えば

$ poetry run pip list

とするとインストールされた依存パッケージと開発するアプリケーションが一覧表示される。

  • run (python-poetry.org)

依存パッケージのバージョンアップ

$ poetry update パッケージ名

を実行すると、pyproject.tomlにある制約の範囲内で対象パッケージのバージョンが更新され、poetry.lockも更新される。 パッケージ名を指定しなければ全パッケージが更新される。

パッケージング

$ poetry build

を実行するとwheelパッケージを作れる。

  • build (python-poetry.org)

バージョン取得

pyproject.toml内にはアプリケーションのバージョンが記載されているが、次のコマンドでこのバージョンを取得することができる。

$ poetry version -s
0.0.1