Cursorエディタを使い始めた

最近、生成AI関連のツールを色々試している。 特に気になっていたCursorエディタを使い始めた。 Cursor - The AI Code Editor 基本的にはVSCodeをベースにしたエディタで、見た目や操作感はほとんど変わらない。 AIを活用した機能が多く組み込まれていて、チャットに打ち込むことで新しいファイルを作成したりできる。 VSCodeの拡張機能もそのまま使えるので、今までの環境を大きく変えずに導入できるのも嬉しい。 ちょっとしたコード補完だけでなく、大きなコードのリファクタリングや新規機能の提案にも使えるので、どこまで活用できるか試してみたい。 また、Clineも気になっている。こちらはエディタに組み込むAIツールのようで、CursorでできることをVSCodeでもできるようになるらしい。 今年はAI関連のツールを積極的に使っていくつもり。エディタだけでなく、タスク管理やドキュメント生成、コードレビューなど、色々な分野でAI関連ツールが出てきているので試していきたい。

February 11, 2025

zshの繰り返し処理を生成AIに聞いてみた

普段fish shellを使っているが、久しぶりにzshで繰り返し処理を実装が必要になったので生成AIに訪ねてみた。 その時の回答。 #!/bin/bash for file in /path/to/files/*; do echo "Processing: $file" # do Something end 自分で書いたときは do がなくて動かなかったが、聞いてよかった。 ls を使わなくてもワイルドカードで一覧を参照できるのは新しい発見でした

February 4, 2025

Neovim + MasonでLanguageServer.jlを使えるようにする

0. neovim上でmasonを使えるようにしておく neovimのlsp client管理はMasonにまかせているので、これらはすでに設定済みとする 1. Masonでjulialsをインストールする NeovimのMasonの画面上で、julialsをインストールする 2. LanguageServer.jlをインストールする nvim-lspconfigの設定一覧にあるjulialsの内容に沿ってLanguageServer.jlをインストールする https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#julials Mason上ではjulialsとなっているが、対象になるLSPはLanguageServer.jlなので注意 3. nvim-lspconfigの設定を追加する Masonの設定が完了していたらこの工程はスキップしてOK nvim-lspconfigの設定項目に以下を追加する require'lspconfig'.julials.setup{}

December 13, 2024

uvを使ったPythonのプロジェクト管理

uvというツールの存在を知ったので使ってみた。 uv astral-sh/uv: An extremely fast Python package and project manager, written in Rust. pip・poetry・virtualenvなどの置き換えが可能で、高速に動く。 Pythonのバージョンや、Pythonプロジェクトの管理もできる。 スクリプトのインストールも可能で、uvから実行することも可能。 と言う感じなので、最近のパッケージ管理系ツールのいいところ全部入りという感じ。 インストール Installation | uv macを使っていれば、Homebrewでインストールできる。 brew install uv また、shellのオートコンプリートにも対応しているので、ついでに設定しておくとよい。 # fishの場合 echo 'uv generate-shell-completion fish | source' >> ~/.config/fish/config.fish Pythonのインストールと管理 Installing Python | uv uv python install 3.12 ツールのインストールと実行 Using tools | uv uvxコマンドを使用する このとき、まだインストールされていないツールが実行された場合は、自動でインストールされる。 uvx pycowsay hello from uv プロジェクトの作成・実行 initコマンドを使用する これを実行すると、pyproject.tomlや.venvなど必要なものが作成される。 また、インストールされたライブラリのバーションはuv.lockに記録される。 # 新規作成 uv init my_project # 既存のディレクトリをuvで管理する cd /path/to/my_project uv init

September 8, 2024

今日はKREVA(908)の日

です。

September 8, 2024

node-version-fileを用いたバージョン指定

Github Actionsでsetup-nodeを使用する際に、プロジェクトに含まれているファイルに記載のバージョンを利用できたのでメモ node-version-fileの設定を使うとできる。 ファイルパスは .github ディレクトリが置かれている場所をルートとしてパスを設定する # 使用しない場合 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: '22.x' # node-version-fileを使用する場合 - name: Install Node.js uses: actions/setup-node@v3 with: node-version-file: ./.node-version ./.node-versionには、CIで使用するNode.jsのバージョンを記載する 22.6.0 また、setup-nodeがバージョン3.5以上だと、package.jsonのengines.nodeに記載されているバージョンを使うこともできる { "engines": { "node": "22.x" } } - name: Install Node.js uses: actions/setup-node@v3 with: node-version-file: ./package.json

September 4, 2024

Juliaのモジュールの使い方

Juliaのモジュールの使い方について調べたのでメモ。 以下のような TestModule.jl を使うことを考える module TestModule function add(a, b) return a + b end export add function sub(a, b) return a - b end end これをファイル内で読み込むには以下のようにする include("TestModule.jl") println(TestModule.add(1, 2)) println(TestModule.sub(1, 2)) include("TestModule.jl") using .TestModule println(add(1, 2)) # using かつ export しているのでこのように呼び出せる println(TestModule.sub(1, 2)) includeすると、外部のファイルを現在のファイルに読み込むことができる。 また、exportすることで、usingを使ってモジュール内の関数を呼び出すことができる。 次の実装はエラーになる include("TestModule.jl") println(add(1, 2)) # ERROR: UndefVarError: add not defined include("TestModule.jl") using .TestModule println(add(1, 2)) println(sub(1, 2)) # ERROR: LoadError: UndefVarError: `sub` not defined

September 3, 2024

循環小数の見つけ方

循環小数の見つけ方をClaude先生に教えてもらったのでメモ まず、分数を小数に変換する際の除算プロセスを考える。 分数を小数に変換する場合、以下のステップを繰り返す。 分子に10をかける その結果を分母で割る 商を小数点以下の次の桁とする 余りを次のステップの新しい分子とする 例えば、1/7を小数に変換する場合、 1 ÷ 7 = 0 余り 1 10 ÷ 7 = 1 余り 3 30 ÷ 7 = 4 余り 2 20 ÷ 7 = 2 余り 6 60 ÷ 7 = 8 余り 4 40 ÷ 7 = 5 余り 5 50 ÷ 7 = 7 余り 1 (ここで最初の余り1が再び現れる) ここで重要なポイントがいくつかある 有限の状態: 分母が d の場合、可能な余りは 0 から d-1 までの d 個しかない 決定論的プロセス: 除算の各ステップは、現在の余りによって完全に決定されます。つまり、同じ余りから始まれば、それ以降の桁は必ず同じになる...

September 1, 2024

Corne V4 Chocolateを手に入れた

久しぶりにキーボードを購入した。 Corne V4 Chocolate このキーボードの特徴は、 はんだ付け不要 分割 ロープロファイル キー数が42個 ホットスワップ対応 はんだ付け不要なので、組み立てはとても簡単。キースイッチとキーキャップをはめていくだけ。 ホットスワップに対応しているので、簡単にスイッチの交換ができることも魅力 また、使う際の特徴としてはキー数が42個と非常に少ないこと。 特に、他キーボードと比較すると数字キーのある行がないので、数字はレイヤー操作などで工夫する必要がある。 ここはまだ慣れていないので、これから調整していきます。 自分がこのキーボードに期待しているのは、はじめてのキー数 & ロープロファイルなので、キー配列やキースイッチを色々試してみたい また、小型のキーボードなので持ち運びも容易にできそうなので、PCといっしょに持ち運んで使うことも考えています。

September 1, 2024

新しく買ったものをまとめておく

新しい環境を作るために、新しいものを買い揃えたので、買ったものをまとめておく。 机: Flexispot E7H + 天板 電動昇降式デスク・E7H | FlexiSpot 公式ストア 昇降机を買った。 色々検討していたが、周りの人がオススメしていたのでFlexispotのものにした。 天板を別で買う人もいるらしいが、最初から穴が空いているとのことだったので天板も合わせて購入。 E7Hは昨年出た新しいモデルで、色々と強化されている(らしい)。 椅子: GTRacing ゲーミングチェア Amazon.co.jp: GTRacing(ジーティーレーシング) ゲーミング レーシングチェア オットマン付き 仕事 椅子 テレワーク デスク PC オフィスチェア 無段階リクライニング 収納式フットレスト 柔らかい高弾性ウレタン 調節可能ランバーサポート 黑色 GT901-BLACK : ホーム&キッチン いろんな椅子を試してみたが、ゲーミングチェアに座りたいという誘惑に勝てずにこれにした。 ピンキリなのでもっと値段の高いものも見てみたが、レビューも悪くなさそうだった。 背中の蒸れを気にして、布地を選択した。 フロアマット: Bolinker 椅子 マット Amazon.co.jp: チェアマット 特大 160 140cm フローリング Bolinker 椅子 マット デスクマットフローリング ゲーミングフロアマット床保護マット チェアキズ防止 凹み防止ズレない床 傷防止滑り止め 丸洗い可能 床傷防止 : ホーム&キッチン 床に傷をつけたくなかったので購入。 机と椅子の両方をカバーできるサイズを選んだ。

June 15, 2024