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

Github ActionsでHugoブログをデプロイする

このブログはGithub Pages + hugoで作っている。 デプロイは、「リポジトリにプッシュ → Github Actionsでデプロイ」をやっている。 Githubのデプロイはhugoの公式が用意してくれているスクリプトを使っている。 Host on GitHub Pages | Hugo ここのyamlスクリプトを .github/workflows/hugo.yaml にコピーして、リポジトリにプッシュするとActionsが登録される。 このActionsは main ブランチにプッシュされると動くようになっている。 実際に実行される内容は jobs にかかれている通りで、build -> deployの順番で処理される。 buildはhugoコマンドを使ってビルドが実行され、deployはビルドされたファイルをGithubPagesにプッシュする。 という感じ。簡単に自動化できてよかった。

June 8, 2024

Rails で Material Design を使う

自作のRailsアプリにマテリアルデザインを導入したのでメモ。 ネットで調べて ruby - How to add Materialize to rails 7 - Stack Overflow を参考に設定。 まず、Gemfileに以下を追加。 gem 'materialize-sass' gem 'sassc-rails' bundle install をしてgemを追加。 次に、 app/assets/stylesheets/application.css を app/assets/stylesheets/application.scss にリネームして以下を追加。 @import 'materialize'; app/assets/javascripts/application.js に以下を追加。 //= require materialize 以上で設定は完了。

June 2, 2024

Rubyスクリプトでbash実行する

今日、「Rubyスクリプトの中でbashを実行する」方法を調べたのでメモ。 `echo "Hello, World!"` # => "Hello, World! result = `echo "Hello, World!"` result # => "Hello, World!" バッククオートを使うと、bashコマンドを実行できる。 また、実行結果はそのまま変数に入るので、そこから処理を続けることもできる。 参考 Rubyでシェルコマンドを実行する方法 – ぺけみさお

June 1, 2024

こんにちは。Github Pages

以下の条件でブログサイトの作り直しを考え、GitHub Pagesを使って新しいサイトを作成しました。 Markdownで記事を書きたい なるべく無料で運用したい GithubActionsを使ってCI/CDを導入したい これまで、Gatsby + Netlifyで運用したこともありましたが、GatsbyやTSの知識が少なくて苦戦。 シンプルに静的サイトジェネレーターを使って運用したいと思い、Hugoを選択しました。 過去記事を持ってくるかは悩むものの、はてなブログにMarkdown形式で置いてるので、気が向いたら持ってきます。 (frontmatterの書き換えが面倒なので、やらないかも…)

June 1, 2024

僕のあとで読まないあとで読む

自分なりの「あとで読む」を設計し直したのでメモ。 基本方針は「どうせ後でしっかり読むことは殆どないので、概要だけは抑えておきたい」というもの。 かつ、自分がよく使うツールであるObsidianになるべく集約したかった。 で、考えたのが以下の手順 Inoreaderで気になる記事をStarにする StarしたURLをコピー Obsidian-ReadItLaterで記事のページを作る ChatGPTに記事の内容を要約してもらい、記事のページにコピペ InoreaderのStarを外す 1. Inoreaderで気になる記事をStarにする 特に技術系の情報収集にはRSSを頼っている。 なんだかんだで、最新の情報が勝手に入ってくるのは便利。 Inoreaderを使っている理由は特にないが、無料で150feedまで購読できて、お気に入りなどの基本的な機能が使えるのが気に入っている。 Inoreaderは情報の流入源として使っているだけ。 気になった記事をStarするのも、スマホで記事を読んでいるときだけ。 なぜなら、そのあとの記事ページを作ったりする操作はPCのほうが効率がいいから。 2. StarしたURLをコピー ここからはPCでの操作 InoreaderでStarにした記事のURLコピーするだけ 3. Obsidian-ReadItLaterで記事のページを作る DominikPieper/obsidian-ReadItLater というプラグインがあり、これを使ってObsidianにコピーしたURLの記事ページを作ってもらう このプラグインは本文の内容も記事ページに記載してくれる ただし、テンプレートを参照することはできない 自分の場合、「Readable ArticleにFrontMatterの内容も含めてページを作ってもらう」という運用をしている あとは記事の内容に合わせてタグ付けもここでしてしまう --- aliases: tags: "" cssclass: publish: false created_at: 2025-02-04 13:24 url: %articleURL% checked: stared: --- # 要約 # 本文 %articleContent% 4. ChatGPTに記事の内容を要約してもらい、記事のページにコピペ 記事の内容はChatGPTに要約してもらう WebPilotプラグインを導入し、以下のプロンプトで要約を実行してもらう 500文字だと少ないと感じるときもあるが、気になったら本文を読めばいいかと考えている。 あなたはプロの編集者です 共有されたURLの本文の内容を、制約条件に合わせて要約してください ## 制約条件 - 500文字以内 - Markdown形式の箇条書き - コードブロックとして出力 - 本文中の数字などは改変しない - 必ず日本語の文章として出力する ## URL このプロンプトで、Markdown形式の箇条書きになったコードブロックが出力されるので、「Copy code」を押して記事ページにペーストするだけ。...

June 18, 2023