Rails7でbin/devを実行するとActionView::Template::Error (Multiple files with the same output path cannot be linked ("application.css")(Sprockets::DoubleLinkError)のエラーが発生 実行環境 Ruby:3.3.0 Rails:7.1.3.2 Node.js:20.12.2 yarn:1.22…
GitHub Actionsのワークフローを作成してpushしようとしたら、Personal Access Tokenに関するエラーが発生しました。 エラー内容 GitHub Actionsのワークフローを記述した.github/workflows/github-actions-demo.ymlをリモートにpushしようとしたら、以下の…
HomebrewでインストールしたPostgreSQL 14をPostgreSQL 16にアップグレードした時のメモです。 開発環境 Homebrew:4.2.6 PostgreSQL:16.1 rbenv:1.2.0 Ruby:3.3.0 Rails:7.1.2 pg:1.5.4 MacBook Pro (13-inch, 2020) macOS Sonoma 14.2.1 PostgreSQL 1…
Commnads autoremove 不要になった依存関係のパッケージを削除 cleanup 古いバージョンのパッケージを全て削除 deps 引数に指定したパッケージの依存関係を表示 developer developer modeの切り替えと確認 doctor システムに潜在的な問題がないかチェックす…
この記事では、Fly.ioのcronを設定してRailsアプリのrakeタスクを定期実行する方法を解説します。 1. 開発環境 2. 手順 2-1. サンプルアプリを作成 2-2. rakeタスクを作成 2-3. Fly.ioにデプロイ 2-4. cronの設定を追加 2-5. eventsテーブルにデータを追加 2…
1. Ruby 1-1. リリース情報 1-2. バージョニングルール 2. Rails 2-1. リリース情報 2-2. バージョニングルール 1. Ruby 1-1. リリース情報 Ruby公式ページ - ダウンロード Ruby公式ページ - Ruby のリリース一覧 1-2. バージョニングルール Ruby 2.1.0 以降…
この記事では、DeviseとOmniAuthを使ってGitHubのOAuth認証を導入する手順を解説します。 Deviseのユーザ認証機能を持つRailsアプリに「GitHubでログイン」する機能を追加します。 OAuthの概要については、以下の記事をご参照ください。 qiita.com qiita.com…
2023/11/25に開催されたISUCON13に参加しました。(チーム名:gogo511) 最終スコアは6909点で、(多分)351位でした。 isucon.net 事前準備 メンバー全員ISUCON初参加。とりあえず参加してみてインフラ周りの勉強になったらいいねくらいの感じでした。 自分は開…
rubyide/vscode-rubyが非推奨になり、代わりに Shopify/vscode-ruby-lsp を使うように公式から勧告が出ました。 この記事ではShopify/vscode-ruby-lspを導入する手順を紹介します。 formatterにはrubocopを使用します。 1. 開発環境 VSCode:1.84.0 Ruby:3.…
この記事では、ヘッドレスブラウザ(Chrome)でRailsアプリのJavaScriptをデバッグする方法を紹介します。 この方法を用いると、ヘッドレスブラウザでも通常のChrome DevToolsのデバッグと同じようにページのライブビューを表示しながらデバッグすることが可能…
<ul> <li><a href="#top">TOP</a></li> <li><a href="https://developer.mozilla.org">mozilla</a></li> <li><a href="https://example.com">example</a></li> <li><a href="https://www.yahoo.co.jp">yahoo</a></li> </ul> /* 前方一致 "#"から始まる */ a[href^="#"] { color: fuchsia; } /* 後方一致 ".org/"で終わる */ a[href$=".org"] …
1. 検証環境 MacBook Pro (13-inch, 2020) macOS Ventura 13.4.1 Rails 6.1.4.7 Ruby 3.1.0 rbenv 1.2.0 capybara 3.39.1 webdrivers 5.2.0 selenium-webdriver 4.9.1 Google Chrome 115.0.5790.114 2. エラー内容 Railsでテストを実行しようとしたら以下の…
1. はじめに rails db:migrate:statusを実行すると、時々NO FILEと表示されることがある。 up 20230331081736 ********** NO FILE ********** 主に以下のパターンの時にNO FILEのマイグレーションが表示される migrate実行後に誤ってマイグレーションファイ…
1. はじめに Railsアプリの開発において、スキーマに変更がある状態でgitのブランチを切り替える際には注意が必要です。 ブランチを切り替えると、ソースコードは切り替わりますが、データベースのスキーマは変更されません。 これはスキーマがブランチを跨…
この記事では、Prettier for Rubyを使って、Railsのコードを自動フォーマットする方法を紹介します。 VSCodeでファイルを保存する際に自動フォーマットできるようになります。 1. 検証環境 2. 設定手順 2-1. @prettier/plugin-rubyのインストール 2-2. gemの…
この記事ではletter_opener_webを使ってRailsの開発環境で送信したメールをブラウザ上で確認する方法を紹介します。 1. 実行環境 macOS:12.5.1 Ruby:3.1.2 Rails:6.1.7 letter_opener_web:2.0.0 2. letter_opener_webの設定方法 gemのインストール confi…
Railsアプリはデフォルトでbin配下に各種のbinstubを作成する。 bin/yarnはyarnのbinstub。 bin/yarnがどうやってyarnを実行しているのか気になったので、bin/yarnのコードを読んでみた。 1. 実行環境 Rails:6.1.7 Ruby:3.1.0 2. bin/yarn 自分の環境では…
Railsのシステムテストのテスト失敗時に作成されるスクリーンショットなんかを見る時に便利。 open path/to/file.png open Man Page - macOS
レビューステータスでのフィルタリングでは特定のユーザーがレビューしたPRのフィルタリングはできない。(自分がレビューしたPRのフィルタリングはできる) PRをレビュアーで絞り込むには以下の検索修飾子を使う。 reviewed-by:USERNAME 特定のユーザーによっ…
この記事ではReactにおけるスプレッド構文の使い方を解説します。 Reactにおいて、スプレッド構文は主にstateが保持するオブジェクトや配列を更新する際に使われます。 1. オブジェクトのスプレッド構文 ネストしたオブジェクトの場合 2. 配列のスプレッド構…
この記事では、ESモジュール(ECMAScriptモジュール, JavaScriptモジュール)のimportとexportの使い方を紹介します。 Node.jsでESモジュールを使う方法は以下を参照ください。 ama-tech.hatenablog.com 1. 名前付きエクスポート(Named exports) 2. デフォルト…
結論 safe_joinを使えば、タグをエスケープしてXSS攻撃を防ぎつつ、連続した改行も反映される。 <% text = "1行目\n\n\n2行目<script>alert()</script>" %> <%= safe_join(text.split("\n"), tag.br) %> # 1行目 # # # 2行目<script>alert()</script> 結論に至るまでの道のり その1 <% text = "…
この記事ではVue.jsで基本的なSPA(Single Page Application)を作成する方法を紹介します。 create-vueを使用 Vue3でComposition APIを使用 データはLocalStorageに保存 PiniaやVue Routerは使用しない 1. 実行環境 2. アプリの要件 3. 作成手順 3-1. create-…
この記事ではnpmパッケージの公開・バージョンアップ・削除方法を紹介します。 npmパッケージを公開するには、事前にnpmアカウントの作成とGitHubリポジトリの作成が必要です。 docs.npmjs.com 1. 環境 2. npmパッケージの公開 2-1. package.jsonの作成 2-2.…
この記事では、Node.jsでメモの追加・一覧・参照・削除ができるコマンドラインアプリを作成します。 データの保存先にはJSONファイルを使い、JavaScriptのclass構文を使って作成します。 1. 実行環境 2. アプリの要件 2-1. メモの追加 2-2. メモの一覧 2-3. …
1. 環境 MacBook Pro (13-inch, 2020) macOS Ventura 13.1 Homebrew:3.6.20(※) xcode-select:2396(※) ※ エラー解決後のバージョン 2. 発生した問題 rbenvでRuby 3.1.1をインストールしようとしたら以下のエラーが発生。 $ rbenv install 3.1.1 Downloading…
CLIでフラッシュ暗算ができるnpmパッケージを作成しました。 www.npmjs.com npmパッケージの公開方法は以下を参照ください。 ama-tech.hatenablog.com この記事では、JavaScriptでフラッシュ暗算ゲームを作成する方法を解説します。 1. 実行環境 2. フラッシ…
この記事ではVue.jsでToDoリストアプリを作成する方法を紹介します。 HTML, CSS, JSだけを使用し、データはLocalStorageに保存し、Vue3でOptions APIを使用します。 1. 実行環境 2. ToDoアプリの要件 3. 作成手順 3-1. ToDoの登録と一覧表示 3-2. ToDoの削除…
VSCodeでNode.jsをデバッグする方法は主に以下の3つがあります。 Auto Attach JavaScriptデバッグターミナル launch.jsonを使ったデバッグ この記事では、Auto AttachとJavaScriptデバッグターミナルでのデバッグ方法を紹介します。 1. Auto Attach 1.コマ…
非OOP版はこちら↓ ama-tech.hatenablog.com 1. 実行環境 macOS:13.0.1 Ruby:3.1.0 2. ソースコード ls.rb #!/usr/bin/env ruby # frozen_string_literal: true require_relative 'command' LS::Command.new(ARGV).list_files command.rb # frozen_string_l…