no image

ネットワークアドレス変換関連の用語

NAT (Network Address Translation) グローバルIPとローカルIPを1:1対応させる。 NAPT (Network Address Port Translation) グローバルIPアドレスとポート番号のペアを…

no image

Excelオートシェイプでフリーフォームの頂点を直角にする

Excel2007登場以来、なんかいい方法はないものかと探していたけど、ついに見つけた。ありがたや。 図形描画で直線の頂点を編集するには? Public Sub main() On Error GoTo L_Exit With Select…

no image

かざぐるマウスからGestures for Chrome (ChromeGesture)に乗り換え。

林檎の木で紹介されてたCloverを入れてみたけど、マウスホイールでスクロールすると無限ループに陥ってしまった。かざぐるマウスを停止すると問題は発生しない。設定でエクスプローラを除外するとか、いろいろやってみたけど効果はなし。 今まで使った…

no image

Tcl/Tkで任意のフォルダをデフォルトファイラーで開く

たまにやるけど忘れるので。スペースを含まないときは別のやり方でも開くのですが、 一般的には以下のようにします。cmdの引数にエスケープされた状態で渡すというのがキモです。 string mapの変換ルールではエスケープシーケンスが適用される…

no image

LinkedList in XOTcl

いわゆる双方向連結リストというデータ構造ですが、かつてはリチャードストールマンに、Tclには構造体がないからlinked listを作れないと指摘されていました。今ではいくつもあるオブジェクト指向拡張を使い、クラスを導入すればTclでも他の…

no image

過去にやった「リレーショナルデータベースの間違った使い方」

いきあたりばったりのアーキテクチャと教訓:リレーショナルデータベースの間違った使い方10項目 動的なテーブルの作成 ⇒ INSERTのトリガで月ごとのテーブル作るようにしたらINSERTが遅すぎて失敗しました。 テーブルをキャッシュとして使…

no image

break可能なコードブロック

Tclにはgotoみたいに直列に書いたコードをスキップする制御構文がない。 例えばなんかデータを受信して、チェックしたり加工したりしたあとでどこかに記録するけど、 結果によらず受信回数はカウントしときたい場合、こんなコードを書いたとする。 …

no image

ソースコード中のUnicodeリテラルを展開して出力

Tclスクリプトにマルチバイト文字が入ってると、環境によっては文字化けして実行できないという問題がありました。 コメントは英語表記にしてあるのでいいとして、ギリシャ文字のシグマとか、パスワード隠し記号とかは見た目上どうしても使いたいので、そ…

no image

Jet/ACEでExcelファイルをCSVに変換する

ある分析装置がxlsx形式でレポート出力するのでExcelのCOMインターフェース経由でCSVに落としてから処理していました。 この方法だとMicrosoft Excelが必須になってしまいます。 あとExcel本体経由なので、セキュリティ…

no image

XOTcl というか Next Scripting Framework 2.0b3のコンパイル

XOTclの最新安定版はteacupで配布してる1.6.7ですが、今のところTcl8.6b2で使うことができません。 私の場合、XOTclに依存しまくってるので、8.4から8.6に1つ飛ばしで移行しようと思ったところ、これだけが引っかかって…