Cursorエディタを使い始めた

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

2025年2月11日

三國無双 ORIGINS やってます

2025/02に発売された 三國無双 ORIGINS をやっているのでメモ はじめに 個人的には真・三國無双以来でプレイした三国無双シリーズ。 自分がやったときは武将を操作して進めていく形式だったが、本作はオリジナルキャラクターとなって原作三国志の流れをなぞっていくというスタイルになっている。 良い点 原作三国志の流れを追うことができる 史実に沿ったストーリー展開で、三国志の世界観を楽しむことができる。 これは過去作もそうだったが、戦場操作以外に武将との会話パートも発生し、より史実の展開を追える作りになっている 武将と交流し、一緒に戦場に立つことができる これは過去作でもできたが、今作は戦場での同行武将を選ぶことができるようになっている。 複数の武器を使うことができる 主人公は複数の武器を使うことができ、徐々に扱う武器種が増えていく。 色々な武器を使いこなすことがキャラの成長にもつながるので、武器種を増やす・強い武器を集める・使いこなすというサイクルが必要になっている。 気になった点 三国志武将として活躍することができない 真・三國無双では武将としてプレイできる楽しさがあったが、本作ではオリジナルキャラクターのみのプレイできる。(戦場で同行武将に交代することはできる) 個人的には武将としてプレイしてIFを楽しむのも好きだったので、すこし残念ではある。 武器の熟練度上げが作業になりがち 前述の通り、キャラの成長のためには複数の武器種で熟練度を上げる必要がある。 基本的には「敵を何体倒したか」が必要になるので、「難易度を下げて敵が多く出るシナリオを周回する」というのが最適解っぽいので、ここまで来ると作業感が出てくる。 総評 全体としてはとても面白いゲームだと思った。 また、初期は待ち人の小言が気になりましたが、最近のアップデートでオフにできるようになったのは嬉しい改善点。 三国志の世界観が好きな方や、アクションゲームが好きな方にはおすすめできる作品です。 自分はこのゲームをやってYoutubeや本で三国志関連のものをあさり始めました。

2025年2月11日

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

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

2025年2月4日

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{}

2024年12月13日

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

2024年9月8日

今日はKREVA(908)の日

です。

2024年9月8日

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

2024年9月4日

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

2024年9月3日

循環小数の見つけ方

循環小数の見つけ方を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 個しかない 決定論的プロセス: 除算の各ステップは、現在の余りによって完全に決定されます。つまり、同じ余りから始まれば、それ以降の桁は必ず同じになる ...

2024年9月1日

Corne V4 Chocolateを手に入れた

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

2024年9月1日