ソフトウェア開発

Git でマージコミットを rebase する方法(コマンドオプション)

根本的な考え方 マージコミットを「消す」 具体的なコマンド -p オプションを使います -p オプションの具体的な使い方 -p オプションの引数として、「消したいマージコミットの一つ前のコミットハッシュ」を指定します -i オプションと併用した場合は、例え…

pm2 で扱う各アプリケーションの Node のバージョンを上げる方法

pm2 とは 結論 $ pm2 start HOGEHOGEAPP --update-env 参考

DBeaver で 仮想外部キー を設定して関連するデータを快適に閲覧する

概要 データベース上に外部キーを設定していなくても、DBeaver 上で外部キーを仮想的に設定することができます DBeaver は、外部キーが設定されているとその関連するデータを芋づる式に表示できるので便利です 上記の芋づる表示は外部キーが仮想キーであって…

Dependabot を一気に設定したら凄まじい数の通知が来た

結論 当然といえば当然です。以下のように通知の嵐になりました。 詳細 Dependabot の公式 にログインし、各リポジトリに新たに Create Dependabot config file すると、まあこうなります。 補足 大量の PR が発生するので、差し支えがなければ毎日一つずつ…

GitHub の Feature preview である「Design updates」と「Repository refresh」を有効にしたら良さげな UI になった

結論 こんな感じの画面になります。いい感じです。 やり方 Feature preview を選択 ログイン後に自分のアカウントのメニューから、Feature preview を選択します。 試験機能を Enable にする 有効にできる試験機能が表示されるので、それぞれを Enable にし…

git rm をした後にそのファイルを .gitignore に記載して、その後にそのブランチを他のブランチにマージするとそのファイルが消える(ことがある)

結論 順番に考えると分かるかと思いますが、そのようになることがあります。 補足 練り込まれた .env が消えると悲しいものがありますので、git rm 時にはこのことが起きる可能性を意識しておくのがいいのでしょう。

VS Code で巨大な Rails プロジェクトを開いた直後は CPU 負荷が急激に高まる

結論 巨大な Rails プロジェクトを開くと、VS Code の Ruby 拡張機能 によりコードのインデックシングが始まります。インデックシングの最中は以下のメッセージがステータスバーに表示されます。 Indexing Ruby source files このとき、CPU負荷率が急激に高…

VS Code で Vue CLI を使って ESLint と Prettier を使ってたら両方の自動保存がバッティングしたとき

結論 おそらく、環境(設定)依存があると思いますので、あくまで私がうまくいっただけの方法です。 VS Code の設定において、以下の二つを設定します*1。 "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": true } *1:…

VPN が切れて自宅ネットワークに切り替わると Visual Studio Code の拡張機能が落ちる

補足 VS Code を再起動すると直ります そうでない方もいるかと思います(いわゆる「おま環」の可能性がある) 昨今の状況により、頻繁にVPNをつないだり切ったりして気づいた次第です

Visual Studio Code で.eslintrc.json や .prettier.config.js や .editorconfig をいじってもいじっても波線が消えないとき

ポイント VS Code 上の拡張機能の設定も併せてチェックし、設定し直しましょう 設定し直す場合はプロジェクト単位の変更とし、.vscode/ 配下に settings.json が来るようにします .vscode/ は .gitignore などに入れておいて*1、git の管理外にします いつも…

Twitter で ツイートID のみでツイートのページを表示する方法

結論 ユーザー名(スクリーンネーム)に twitter を指定して、当該のツイートIDを指定した URL を開けばいいです。 例 対象のツイートIDが 303393978697535489 であるとします ユーザ名(スクリーンネーム)に twitter を指定し、当該ツイートIDを指定した U…

スプレッドシートの GAS で環境変数(的なもの)を使って値を隠匿したい場合

結論 値をセットする方法 スクリプト画面のメニューから以下のようにたどります。 「ファイル」→「プロジェクトのプロパティ」 ウィンドウが出てきたら「スクリプトのプロパティ」タブを選択します そこの画面の「プロパティ」と「値」が、いわゆる「キー」…

Ubuntu に PostgreSQL 12 をインストールする

2020/05/05 現在の方法です 結論だけを書いているので、詳細を調べることをおすすめします 結論 $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ sudo apt-get in…

Ubuntu で MySQL 8 のポート番号を変更する

結論 /etc/mysql/mysql.conf.d/mysqld.cnf の [mysqld] の部分に、port=12345 を追記します。追記した後は、MySQL を再起動します。 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql log-er…

Heroku に Vue CLI をデプロイする方法

結論 こちらに書いてあるとおりです。 ポイント Express は不要 Web検索をすると、Express を用いてホスティングしている事例が多く見られますが、Express は不要です。 heroku/nodejs に加え、heroku-buildpack-static という、静的サイトのホスティング用…

cargo でインストールしたパッケージを高速にアップデートする

背景 $ cargo install HOGEHOGE を実行しても、一度インストールされたパッケージはアップデートされません。 したがって $ cargo install --force HOGEHOGE のように --force オプションを付けて毎回上書きでインストールする必要がありますが、それはつま…

nginx のロードバランサ機能の設定を最低限に書く

公式ドキュメント(目次) nginx のロードバランサについての公式ドキュメント(目次)は以下になります。 nginx の設定ファイルのサンプル 最低限の nginx の設定ファイルを書くと以下のようになるかと思います。

GitHub などでリモートブランチ名を変更することはできない

結論 ただし、実質的に変更することはできます。 変更前のブランチを pull して手元で(ローカルで)ブランチ名を変更し、それを push すればよいです。そして元のリモートブランチを削除します。 この方法を用いる場合にはチームメンバーに連絡を取っておく…

VS Code の「検索」時に「含めるファイル」や「除外するファイル」を指定する際はカンマ区切りにする

結論 補足 カンマの後ろに半角スペースがあっても問題ありません。

git rebase -i を実行してから止める方法

結論 「指示書」の内容を全削除する*1。 具体例 $ rebase -i HOGEHOGE 直後が以下の画像だとします。 この rebase の実行を止めたいと思った場合には、この「指示書」を全削除します。以下のようになります。 その後、指示書を保存して抜けます(「保存する…

Raspberry Pi で最新の git コマンドをインストールする

結論 ソースファイルからビルドします。

Rundeck の Node で外部ホストを YAML で指定する際に、ポート番号を明示的に設定する書き方

結論 hostname の部分にコロン区切りでポート番号を記述します。 例 my_node_name: hostname: 1.2.3.4:12345 osVersion: 4.15.0-1040-aws osFamily: unix osArch: amd64 description: Rundeck server node osName: Linux username: gss2019_production ssh-k…

バージョン管理でよく見かける "Bump up" とは何か

結論 Version up とほぼ同等。 例 「バージョンを 2.0.0 に上げました」と言う場合の書き方*1 Bump up version to 2.0.0 Bump to 2.0.0 Bump up to 2.0.0 Bump version to 2.0.0 参考 *1:単に bump とも

GitHub Actions にて Rails で PostgreSQL を使おうとした際に PostgeSQL に接続できなくてハマった話

前提 GitHub Actions であることや Rails であることは本質的には関係ありません 結論(注意するところ) services 配下の postgres において、env で指定する環境変数の「キー」は予約語(決められた語)であること POSTGRES_USER と POSTGRES_PASSWORD で…

PostgreSQL にて postgres というユーザのパスワードが分からなくなっても sudo できれば助かる

結論 pg_hba.conf において、postgres ユーザの認証方式を trust にすれば、パスワードがなくてもログインできます。pg_hba.conf を編集するには sudo できればよいです*1。 補足 当たり前のことですが、trust にする場合は適用範囲や適用アカウントを絞るな…

Heroku で 'DATABASE_URL' を変更する方法

結論 一度、heroku-postgresql を削除してから設定し直します。なお、削除の際はもちろん既存のデータは消えますので、別途予め救い出しておく必要があります*1。 具体的な方法 以下、CLI を使うことを前提とします。 1. heroku addons:destroy heroku-postg…

Visual Studio Code の Ruby Test Explorer 拡張機能 において A Ruby Test Explorer failed to find an RSpec test suite. というエラーが出た場合の対処法

前提 Rails で RSpec を用いているものとします。 結論 bundle install や bundle exec rails db:migrate などの初期設定が終わっていますか。 エラーメッセージに惑わされない このエラーが出るときは、以下のようなメッセージも併せて書かれています。 Mak…

YouTube Data API v3 を用いて動画をアップロードする際に、非公開あるいは限定公開にする方法

結論 privacyStatus に private または unlisted を指定します。 private は「非公開」です unlisted は「限定公開」です。 公式ドキュメント https://developers.google.com/youtube/v3/guides/uploading_a_video?hl=ja 注意 Ruby での実装では privacyStat…

YouTube Data API v3 を用いて非公開ビデオの情報を取得するためのポイント

前提 OAuth での認証は終えているものとします。 結論 forMine を true に指定し、かつ、channelId を 指定しない。 説明 forMine を true にすればいいことは ドキュメント を読めば分かると思います。しかし、その際に channelId を、例え自分のものであれ…

Visual Studio Code を用いて Rails の RSpec を効率よく実行する

結論 Test Explorer UI という拡張機能をインストールします 上記の拡張機能の拡張機能である、Ruby Test Explorer ををインストールします Text Explore UI の設定をします(私はデフォルトのままにしました) Ruby Test Explorer の設定をします 個人的に…

Powered by はてなブログ