我輩はブロガーではない。ネタもまだない

SASとかDelphiあたりの人様の役に立たないネタを提供します

思ったより簡単だったThunderbirdのAdd-on開発

メーラーThunderbirdを使っています。
今はなきOutlookExpressからの移行を迫られた際に、以降の移行の容易さを評価して採用したのがきっかけです。
以来、ずっとThunderbirdを使っているのですが、ちょっとした不満があり、Add-onの開発をしてみました。

その不満というのは、認証キーの扱いです。
Thunderbirdに限ったことではないのですが、FortiClientVPNを使ってFortiGateとVPN接続する際、e-mailによる二要素認証を使っています。

この時、こんな感じのメールが飛んできます。

f:id:japelin:20220222160554p:plain

ですので、このメールを開いて(選択して)、認証キーをコピーして、FortiClientVPNのボックスに入力する、という作業が必要になります。


これを、メール受信したら勝手にクリップボードにコピーされると楽だなぁ、と考えたのです。

結果的に、2時間調べたくらいではメール受信時に自動処理というのは実現できなかったのですが、認証キーが入ったメールを選択すると、キーだけがクリップボードにコピーされるいうアドオンができました。

f:id:japelin:20220222161553p:plain


これでかなりVPN接続時の手間が減りました!



具体的にはこれだけ。

1. manifest.jsonを作成
2. 処理内容をjavascriptで作成
3. 2つのファイルを7-zipでzipにする
4. アドオンをファイルからインストールする

他で言われているようなプロファイルの作成とかは必要ありませんでした。
ソフトウェアはthunderbird 91と7-zipのみ。

エラー処理してない最低限のコードですけど、とりあえず以下で動きます。
権限も最小限に。

少ししたらzipそのものをダウンロードできるようにしたいと思います。
公式で配布するかどうかは…今のところは考えてません。


manifest.json

{
    "manifest_version": 2,
    "applications": {
        "gecko": {
            "id": "japelin-GetAuthCode@gmail.com",
            "strict_min_version": "91.0"
        }
    },
    "name": "GetAuthCode",
    "description": "Get Authcode From Mail",
    "version": "0.0.1",
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": [
        "messagesRead",
        "clipboardWrite",
        "storage"
    ]
}


background.js

browser.mailTabs.onSelectedMessagesChanged.addListener(async (tab, messageList) => {
    for (let message of messageList.messages) {
        messagePart = await browser.messages.getFull(message.id);
        for (let hcontent of messagePart.headers['subject']) {
            var pos_sbj=hcontent.indexOf("AuthCode");
            if (pos_sbj == 0) {
                var pos_dlm=hcontent.indexOf(" ");
                var authcode=hcontent.slice(pos_dlm+1);
                navigator.clipboard.writeText(authcode);
            };
        };
    };
});


開発手順は後でまとめましょうかね。

SASのログを保存しつつ、目視チェックする

ちょっと本業が忙しくてなかなか記事更新ができないのですが、暇つぶしにやってる某掲示板の書き込みでも転載しておきます。
日本語での情報も需要があるかもしれませんので。

SASのログ、だいたい皆さん保存していると思いますが、実行時に同時に確認したいケースもあると思います。
バッチ実行ではログは特定のファイルとして出力され、通常の実行ではproc printlogをつかってログをファイルに出力すると、ログウィンドウに表示されませんよね。

そんなときの対策3つです。

続きを読む

XPTViewer更新(フォルダモード追加)

あけましておめでとうございます。

久々にXPTViewerの更新です。

xptファイルって大概1つのフォルダにまとめて入ってますよね。
実務で使用していて、別のxptファイルを読み込むのにいちいちダイアログから選ぶのが面倒だなぁ…、と思いまして、フォルダ内のxptファイルを一覧で取得して簡単に読み込めるようにしました。


f:id:japelin:20220101021900p:plain

こちらからどうぞ
https://bitbucket.org/t_kawakami/xptviewer-for-public/src/main/

プリンタを新調しました

brotherの複合機MFC-J6583CDWを買いました(会社の金で)。
価格.comでA3対応、両面印刷可能なプリンタの最安がこれだったので(FAXいらないけど)

リモートワークが増えたためか、半導体不足もあってか、かなり在庫が逼迫しているようですがなんとかすぐに入手できました。
12/22購入、12/24着。クリスマスプレゼントか、っちゅうの。



Amazonでも入荷未定です)

この商品、有線LANと無線LANを搭載しているのですが、同時には使えないとのこと!(買ってから気づいた)
f:id:japelin:20211226012029p:plain



しょうがないので、接続を工夫して有線でも無線でも使用できるようにします。


ちょっと前に書いたか書いてないか覚えていませんが、自宅ネットワークは以下のようになっています
(IPは適当です)

NURO光ONU(素通り)
   │
FortiGate───────────┐
   │ (192.168.10.0/24)        │(192.168.20.0/24)
ハブ                         Google Nest Wifi
   │                          │(192.168.86.0/24)
有線接続                     無線接続

有線ネットワークには仕事で使用しているPCが接続されているのですが、プリンタを無線に接続しちゃうと、Google Wifiがルーティングしてくれない(あくまでGoogle Wifi。ルータとは呼べない)ので、使えなくなってしまいます。(そのため、今は有線無線両方ONにしています)


逆に、無線側ネットワークからは有線ネットワークにアクセスできます(ルータ:FortiGateのポリシー:許可が必要)ので、有線に接続して、そこにアクセスすれば有線接続のPC環境でも、無線のスマホからでも印刷ができるはずです。


しかし、Brotherのプリントアプリ「iPrint & Scan」では、「基本的には」セットアップ時にプリンタとスマートフォンが同じネットワークに接続されている必要があります。
そこで、手動でIPを指定してあげます。

アプリを起動し、機器選択画面の右上、「手動設定」からIPアドレスを指定します。
f:id:japelin:20211228003824p:plain

プリンタ本体で固定IPとするか、ルータ側(FortiGate)でIPを割り当てしておき、そのIPを入力すればOKです。

ルータ側で設定したら、一度LANケーブルを抜いて割当し直しましょう。

f:id:japelin:20211228003832p:plain
きちんと機器が表示されました。



なお、少なくとも後ろは差し込み印刷のために12cm程度のスペースが必要です。(ギリギリでした)

データベーススペシャリスト試験 午前Iの結果

1週間前に成績紹介ができるようになっていることをすっかり忘れていました。

自己採点通りでした

f:id:japelin:20211225130515p:plain


たしかこの受験番号は免除の際に使用するので受験症捨てちゃいけませんね。

メモリーカードはバックアップと予備を忘れずに

何年か前のヨドバシ年末福袋で購入したNIKON D3100に、PC Depotの年始セールで購入したGREENHOUSEのメモリーカードを挿して使用していたところ、
「このメモリーカードは壊れている可能性があるため、使用できません。交換してください」
というメッセージが表示されてしまいました。

続きを読む