サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

意識の低いエンジニア向けゆるゆるアウトプットのススメ

はじめに

 この記事では「アウトプットが重要と言うけれど、どれもこれも(心理的)ハードルが高い!」と思っているエンジニアの方に、もっと穏やかなアウトプット先として「スニペット」を紹介するものです。

 「なんだスニペットか。それならもうやってる」という人や、すでにちゃんとアウトプットできている方は、本記事を読み飛ばしていただいて構いません。とくに目新しいことは書いていないつもりです。

続きを読む

HYPERLINK数式を生成するブックマークレット【Excel/関数/Boolmarklet】

はじめに

 Excel の関数で HYPERLINK というものがあります。以下のような感じで使います。

=HYPERLINK("https://www.google.com/", "Google")

 手順書なんかを作っていると、参考となるネット情報へのリンクを書いておきたいことがあります[^1]。

 もうサポンテなんかは、2〜3のリンクを集めたところで面倒になりました。「URL は簡単にコピーできるけど、タイトルはどうするんだなも」と。

 なのでブックマークレットを作成します。

続きを読む

CotEditor で開いている書類の diff を取得する【CotEditor】

はじめに

 二つのテキストの差分を調べる diff コマンドですが、いちいちファイルに保存せず手軽に比較したいことがしばしばあります。

 CotEditor で開いている Window から、二つを選択して比較するスクリプトを作ってみました。書類は保存する必要はありません。

 出来上がったものは、正直なところあまり実用的ではないと感じるのですが、まあ役に立つこともあるかもしれないので置いておきます。

続きを読む

tccutil コマンドで「オートメーション」を指定するには

はじめに

 macOS のシステム環境設定「セキュリティとプライバシー」には、自分が起動したアプリケーションなどの設定が日々追加されていきます。問題は別にないのですが、リセットしたいケースがしばしばあります。

 調べてみると tccutil というコマンドを使うようで、Qiita に詳細な記事がありました。

セキュリティとプライバシーの設定値をリセットする(macOS 10.15 Catalina) - Qiita

 コマンドにはリセットしたい対象のアプリケーションとサービス名を指定します。

tccutil reset <サービス名> <アプリケーションのバンドルID>

 上記 Qiita 記事にサービス名の一覧があります。英語名になっていますが、それをみると、おおよそ想像がつきます。つくのですが「オートメーション」だけは名前が全く違ったので、見当をつけて「えいやっ」と実行しました。

「オートメーション」は「AppleEvents」

 AppleEvents でした。無事にリセットできました。これって往年からの mac 開発者じゃないとわからないのでは?まあ消去法で辿り着けるかもしれませんが。

tccutil reset AppleEvents com.coteditor.CotEditor

f:id:saponte:20210910194304p:plain

Visual Studio Code のブラケットペアをハイライトする機能が便利すぎる

はじめに

 仕事で Visual Studio を使っていますが(少し古いものでもあるので)、Visual Studio Code で実現されている機能が使えなかったりするとストレスになったりしています。

 最近、またさらに便利な機能が追加されました。ペアとなる括弧ブラケットを同じ色にハイライトするというものです。

Visual Studio Code August 2021 - High performance bracket pair colorization

これなしで今までどうやって

 もともと拡張機能で実現されていたらしいのですが、ネイティブサポートになりました。

 わずか数日使ってみただけですが、すでに「イタリアのトマト」状態になっています。

 この機能が無くて、いったい今までどうやって仕事をできていたのだろうか。

TSV(Excel または他の表計算ソフト)から reStructuredText の表に変換するコードジェネレータ

はじめに

 Excel のアドインで reStructuredText の表を作成するものがあります。しかしサポンテの持っている MacExcel の入っているものと、そうでないものがあるのです。TSV から作成できれば、どんな表計算ソフトでも(ほぼ)対応できるはずです。

 先日来、味をしめた方法でツールを作ってみます。

続きを読む

【PHP】全角文字は2文字で半角文字は1文字としてカウントする

 以下の、PHP (4.2.0以降)版です。

#!/usr/bin/php
<?php

$count = function ($str) {
    $len = 0;
    
    foreach (preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY) as $chr) {
        if (mb_ereg_match("[ -~]", $chr)) {
            $len += 1;
        } else {
            $len += 2;
        }
    }
    
    return $len;
};

echo $count("abcde") . "\n"; // 5
echo $count("ABCDE") . "\n"; // 5
echo $count("あいうえお") . "\n"; // 10
echo $count("aあ") . "\n"; // 3

参考