Skip to content

2023/11

Python でデコレータを利用する

Python のデコレータ (decorator) は 公式ドキュメントの用語集 で以下のように定義されています。

Note

(デコレータ) 別の関数を返す関数で、通常、 @wrapper 構文で関数変換として適用されます。デコレータの一般的な利用例は、 classmethod() と staticmethod() です。

デコレータの文法はシンタックスシュガーです。次の2つの関数定義は意味的に同じものです:

def f(arg):
    ...
f = staticmethod(f)

@staticmethod
def f(arg):
    ...

同じ概念がクラスにも存在しますが、あまり使われません。デコレータについて詳しくは、 関数定義 および クラス定義 のドキュメントを参照してください。

つまり、デコレータの実態は「関数を受け取り、関数を返す関数」と言えます。 もう少し分かりやすく噛み砕くと「関数の処理内容を変更せず、関数に機能を追加出来る仕組み」とも言えます。

macOS にインストールした Cursor の設定を全て削除する

macOS へ Cursor をインストールするとホームフォルダ配下に設定ディレクトリ / 設定ファイルが作成されます。 ですが Cursor の設定は他にも保存されているようで、仮にホームフォルダ配下のファイルを削除し、再度インストーラを起動しても「前回のインストール時に指定したオプション」が記憶されてしまっており、インストールオプションを変更することが出来ません。

この事象は Cursor のコミュニティ記事である How to completely reset Cursor? でも言及されています。 この記事では「自己責任だが、下記を削除するように」とガイドしているようです。

  1. ~/.cursor
  2. ~/.cursor-tutor
  3. ~/Library/Application Support/Cursor

実際にこれらを削除した後でインストーラを再実行したところ、インストールオプションを指定しなおすことが出来ました。

macOS に Cursor をインストールし、Azure OpenAI Service を利用する

ここ最近、ChatGPT 連携機能を (プラグインでは無く) 本体に取り込んでいる Cursor の記事や動画をよく目にします。 ですが、いずれの情報も「OpenAI 社の ChatGPT 利用を前提」にしているものばかりに思えます。 そこで今回は macOS へ Cursor をインストールしつつ、Azure OpenAI Service を利用する為の設定手順をメモしておきます。

VS Code で「単語削除」にショートカットを割り当てる

Linux や macOS を利用していると Ctrl+W で「単語を削除する」というショートカットを頻繁に利用します。 ですが、VS Code ではこの機能があるものの、デフォルトではショートカットキーが割当たっておらず、手軽に利用出来ません。 そこで今回はこのショートカット設定を実施してみます。 今回は macOS 14.2 + VS Code 1.84.2 を利用しています。