今日はKREVA(908)の日
です。
です。
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
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
循環小数の見つけ方を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 個しかない 決定論的プロセス: 除算の各ステップは、現在の余りによって完全に決定されます。つまり、同じ余りから始まれば、それ以降の桁は必ず同じになる...
久しぶりにキーボードを購入した。 Corne V4 Chocolate このキーボードの特徴は、 はんだ付け不要 分割 ロープロファイル キー数が42個 ホットスワップ対応 はんだ付け不要なので、組み立てはとても簡単。キースイッチとキーキャップをはめていくだけ。 ホットスワップに対応しているので、簡単にスイッチの交換ができることも魅力 また、使う際の特徴としてはキー数が42個と非常に少ないこと。 特に、他キーボードと比較すると数字キーのある行がないので、数字はレイヤー操作などで工夫する必要がある。 ここはまだ慣れていないので、これから調整していきます。 自分がこのキーボードに期待しているのは、はじめてのキー数 & ロープロファイルなので、キー配列やキースイッチを色々試してみたい また、小型のキーボードなので持ち運びも容易にできそうなので、PCといっしょに持ち運んで使うことも考えています。
新しい環境を作るために、新しいものを買い揃えたので、買ったものをまとめておく。 机: Flexispot E7H + 天板 電動昇降式デスク・E7H | FlexiSpot 公式ストア 昇降机を買った。 色々検討していたが、周りの人がオススメしていたのでFlexispotのものにした。 天板を別で買う人もいるらしいが、最初から穴が空いているとのことだったので天板も合わせて購入。 E7Hは昨年出た新しいモデルで、色々と強化されている(らしい)。 椅子: GTRacing ゲーミングチェア Amazon.co.jp: GTRacing(ジーティーレーシング) ゲーミング レーシングチェア オットマン付き 仕事 椅子 テレワーク デスク PC オフィスチェア 無段階リクライニング 収納式フットレスト 柔らかい高弾性ウレタン 調節可能ランバーサポート 黑色 GT901-BLACK : ホーム&キッチン いろんな椅子を試してみたが、ゲーミングチェアに座りたいという誘惑に勝てずにこれにした。 ピンキリなのでもっと値段の高いものも見てみたが、レビューも悪くなさそうだった。 背中の蒸れを気にして、布地を選択した。 フロアマット: Bolinker 椅子 マット Amazon.co.jp: チェアマット 特大 160 140cm フローリング Bolinker 椅子 マット デスクマットフローリング ゲーミングフロアマット床保護マット チェアキズ防止 凹み防止ズレない床 傷防止滑り止め 丸洗い可能 床傷防止 : ホーム&キッチン 床に傷をつけたくなかったので購入。 机と椅子の両方をカバーできるサイズを選んだ。
このブログは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にプッシュする。 という感じ。簡単に自動化できてよかった。
自作の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 以上で設定は完了。
今日、「Rubyスクリプトの中でbashを実行する」方法を調べたのでメモ。 `echo "Hello, World!"` # => "Hello, World! result = `echo "Hello, World!"` result # => "Hello, World!" バッククオートを使うと、bashコマンドを実行できる。 また、実行結果はそのまま変数に入るので、そこから処理を続けることもできる。 参考 Rubyでシェルコマンドを実行する方法 – ぺけみさお
以下の条件でブログサイトの作り直しを考え、GitHub Pagesを使って新しいサイトを作成しました。 Markdownで記事を書きたい なるべく無料で運用したい GithubActionsを使ってCI/CDを導入したい これまで、Gatsby + Netlifyで運用したこともありましたが、GatsbyやTSの知識が少なくて苦戦。 シンプルに静的サイトジェネレーターを使って運用したいと思い、Hugoを選択しました。 過去記事を持ってくるかは悩むものの、はてなブログにMarkdown形式で置いてるので、気が向いたら持ってきます。 (frontmatterの書き換えが面倒なので、やらないかも…)