2001年05月29日(火) 寝てない
■ また奥歯の奥が痛み出した。昨日は眠れませんでした。今も痛いです。食べれません。
Windows2000のSP2をインストールしてみた。exeを実行したあとが長い。サーバ構成を調べてバックアップを作ってファイルの更新をするのだけれど、1時間くらいかかるよ。寝てた。
2002年05月29日(水) 午前休暇
■ 会社
- 13:20 今日は午前休暇を取った。土曜日の代休のつもり。
- 13:35 なんかIDTSの掲示板が大人気。
- 15:30 クプロジェクトのレビューをした。なぜかはらべこ。
- 16:10 サイボウズのバージョンアップ期限は7月末日。
- 16:45 PASSJなかなか良いのでシステム管理システム構築WebテクノロジーのMLにも登録してみた。なんかおれ法人会員登録しちゃったみたい。個人にしとけばよかった。
■ [java][soft] HP Application Server 8.1の評価ポイント
hpの無償アプリケーションサーバの紹介記事。What's new about Javaより。そうなのだ、気にはなっていたのだ。どうなのどうなの。
■ [windows] Blowfish アルゴリズムによる暗号化/復号化をする COM コンポーネント
aspでの暗号化をサポートするコンポーネント。PASSJ MLより。佐名木さんによる。他にも色々あるみたい。
■ テレビ/本
- 日経オープンシステム5月号。保守について色々書かれているので参考になるかも。
2003年05月29日(木) 木村拓哉がタバコやめてネコンテストでトップに
■ [book] どすこい(仮) (京極夏彦)
読了。分厚い本だが字の大きさと内容の軽さですぐに読み終えることができる。各種ヒット作品をもじったおすもうさん登場のずんずんドスンむんむんバコッべしゃという話が延々と続く。くすりと笑えるが爆笑はない。3点。
■ [link] デスカットの店舗紹介
コクヨが提案する行動派ビジネスパーソンのためのパワーアップスペースDESK@。こういうのが至る所にあればいいのになあ。日記のようなものより。
■ 生活
- 夜中に起きたらチャンピオンズリーグの決勝戦を放送していたので見る。前半は面白かった。シェフチェンコのシュートやブフォンのスーパーセーブ。リバウドはベンチに座っていたけれどダメになっちゃったのだろうか。試合を最後まで放送できないTBSにはガッカリ。もー。
- 水道局から、水道メーター取替えのお知らせという葉書が来た。今使っているメーターは計量法に基づき有効期限が切れるそうだ。よく分からない世界だ。取替費用は無料だそうなのでいいけれど。
■ やること
- 家賃、健康保険料、年金保険料の支払い
2004年05月29日(土)
■ [soft] 納入助 (Vector)
ファイルの属性を一括変換するソフト。MS Officeのプロパティも一括変換できるようなので便利かも。システムエンジニアのつぶやき。より。
■ やること
- プリンタ処分
2005年05月29日(日)
■ [javascript] JavaScriptで定期的にHTMLを書き換える
2年ぶりにJavaScriptを使った。今回は、JavaScriptを使ってHTMLの内容を定期的に書き換える処理を行いたい。
JavaScriptのことは何も覚えていないので、まず参考になるサイトを見つける必要がある。JavaScriptの言語仕様やAPIについては
- Under Translation of ECMA-262 3rd Edition (MetaGraphic Cell)
- JScript (Dynamic Scripting)
- ECMAScriptチュートリアル (AKAMA Shun-ichi's website)
を見るのがよさそう。HTMLにJavaScriptをどのように埋め込めばいいのかについてはHTMLの仕様書内に説明があった。
- 18 スクリプト (HTML 4.01仕様書)
HTMLの書き換えはDOMを使えばできそうで、仕様書内の
- 付録 E: ECMAスクリプト言語バインディング (文書オブジェクトモデル(DOM)第1水準 仕様書 Version 1.0)
を参照すればよさそう。あとここも見た。
- 基本的 DOM インターフェイスによる HTML 要素の動的操作法 (Mozilla Japan)
JavaScriptでのタイマー処理は標準では規定されていないようで、
- Scope of setTimeout Method (MetaGraphic Cell)
- 時間処理 (ECMAScriptチュートリアル)
- ソーのJavaScriptチュートリアル上級編:Day 3 (Hotwired Japan)
を参照した。
で、出来上がったのはこれ。1秒毎にテーブルの内容を書き換えるだけ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja-JP"> <head> <title>1秒毎にテーブルの内容を書き換える</title> <link rel="stylesheet" href="/kenichi.css" type="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- JavaScript start var timerId; function init() { timerId = setTimeout("modifyTable()", 1000); } function finish() { clearTimeout(timerId); } function modifyTable() { var myTable = document.getElementById("myTable"); var cell = myTable.rows.item(0).cells.item(1); var v = cell.firstChild.nodeValue; cell.firstChild.nodeValue = parseInt(v) + 1; timerId = setTimeout("modifyTable()", 1000); } // JavaScript end --> </script> </head> <body onload="init()" onunload="finish()"> <h1>1秒毎にテーブルの内容を書き換える</h1> <table id="myTable"> <tr> <td>Time</td><td>0</td> </tr> </table> </body> </html>
■ やること
- リンク元のスリム化
- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 蛍光灯を捨てる
- 家賃
- 健康保険料
2010年05月29日(土)
- 急な雨で、100円のビニール傘を買った。ペタペタしないタイプ。
- チャックが外れないわけない。
- ウィルコムのプランを変更した。機種変更もするかも。ドコモに変えようと思っていたんだけど、方針変更。
- でもドコモも基本料は安いんだなあ。
■ [life] 鍵の出し入れをスムーズに
家の鍵が、スムーズに出し入れできなくなっていた。壊れてきちゃったと思っていたが、鍵穴のクスリというものを教えてもらい、使ってみたらスッと出し入れできるようになった。
仕組みが分からないんだけど、これすごい。
■ やること
- クリーニング
2011年05月29日(日)
■ [tdiary] tDiaryを3.0.2へバージョンアップ
久しぶりにバージョンアップした。バージョン3.0.2へ。前回と同じようなことをメモ。
ダウンロードと展開
- ダウンロードページから適当なバージョンのフルセット版アーカイブをダウンロードし、適当なディレクトリに展開する。
- テーマは使わないので、themeディレクトリにあるサブディレクトリを全て削除する。themeディレクトリ直下にあるファイル(base.cssなど)は削除しない。
トップディレクトリの調整
- バージョンアップ前のトップディレクトリにある.htaccess、tdiary.conf、tdiary.common.conf、mimetex.xcg、index.rdfをそのままコピーする。
- index.rbとupdate.rb内の最初の行を「#!/usr/local/bin/ruby」に修正する。
- index.rbとupdate.rbをそれぞれindex.cgiとupdate.cgiという名前のファイルにコピーする。スレッドメモから参照されるので.rbの方も残しておく必要がある。
プラグインの追加
misc/plugin/ に、以下のプラグインファイルをコピーする。
- tdiary-contrib.tar.gz内にあるjdate.rb
- バージョンアップ前の misc/plugin/ にあるmimetex.rbとrefedit2.rb
カテゴリプラグインの修正
category.rbに、新しい順表示にする修正を行う。差分は前回のメモの通り。
アップロードと実行権限付与
サーバにある古いバージョンのtDiaryを退避し、代わりに上の修正を行った新バージョンのtDiaryをアップロードする。そして、tdiaryディレクトリにあるtdiary.cgi、update.cgi、tb.cgi、mimetex.xcgに実行権限を付与する。
■ [tdiary] 新しいプラグインを導入
contribとして配布されているプラグイン
を導入してみた。title_anchorはドキュメントに「プラグインフォルダに入れるだけで動作します。」と書いてあるけど、<%=title_anchor%>と書いて使うタイプのプラグインのようだ。
フルセットのアーカイブ(tdiary-full-3.0.2.tar.gz)にcontribも含まれてた方が便利な気がするなあ。何で分かれているんだろう。
2012年05月29日(火)
■ [life] 歯医者 13回目
歯が痛くて生活に支障があるので歯科へ。とはいえ、昨日の夜痛み止めを飲んだらその後ずーっと痛くない。病院に行く日は調子がいいというあるあるだ。
痛い振りをして治療してもらう。痛みの原因は虫歯だろうということで、前回予告されていた神経を取るという治療を今日やることになった。
まずは麻酔。痛くない。治療する歯は大昔にも治療していてかぶせ物がしてある。それを取り去るとのこと。虫歯は歯の後ろ側にあるのだけれど、上から削っていくみたい。かぶせ物取れた。麻酔で唇の方まで痺れていて、口をゆすぐことが上手くできず水がピューピュー漏れる。屈辱や。
その後歯を削られる。痛くない。が、神経を取っているっぽい作業のときだけ痛い。我慢できる痛みだけれど。途中で麻酔を追加。随分削られて、やっと虫歯を取ってもらえた。仮の詰め物を詰める。これでおしまい。1時間くらい掛かった気がする。
取った神経は炎症を起こして変色していたらしい。だから痛かったみたい。
まだ治療は終わりではないとのこと。麻酔が切れたら痛みが出るかもしれないと言われた。2000円。
帰って麻酔が切れてから、少し痛くなってきたので眠ってみた。目覚めたら痛みはなくなっていた。今日のところは大丈夫そう。
2017年05月29日(月)
■ [shell][unix] flockコマンドを使用して二重起動を防ぐ
Linux上でコマンドの二重起動を防ぐにはどうするか。flockコマンドを使うのがよさそう。
flockコマンドは指定ファイルをロックしてコマンドを実行するコマンド。-n オプションによりロック中の場合は直ちに処理を終了できる。
$ flock -n lock echo hello
flockにはファイルではなくファイルディスクリプタを指定することもできて、この場合はそのファイルディスクリプタを閉じるまでロックが維持される。シェルスクリプトの中で排他制御を行うときはこのモードを使とよい。シェルスクリプト自身を入力用にオープンしてロックするのがお手軽。
#!/bin/bash set -e ( flock -n ${my_fd} || exit 1 sleep 5 echo hello ) {my_fd}< "$0" echo world
ここで、「{my_fd}<」というのは使用するファイルディスクリプタ番号を自動で決めるための記法。Bashのマニュアルのリダイレクトの節に説明がある。
二重起動防止の用途ならサブシェルを使わない方が分かりやすいかな。
#!/bin/bash set -e exec {my_fd}< "$0" flock -n ${my_fd} sleep 5 echo hello echo world
参考
- プロセスの多重起動をアドバイザリロックで防止する・改 (Qiita)