ソフトウェア開発

WSL2 (Ubuntu) で System Spec (RSpec, Capybara) を実行しようとすると Webdrivers::BrowserNotFound: Failed to find Chrome binary と出るときの対処方法

結論 1. google-chrome をインストールします 詳細は割愛します*1 配置場所は /opt/google/chrome 配下になるかと思います 2. chromedriver をインストールします 詳細は割愛します 配置場所は /usr/bin/chromedriver になるかと思います*2 3. spec/rails_he…

Embulk で配列型のカラムを PostgreSQL に outputするときは column_options で {value_type: 'string'} を指定する

結論 例えば、my_hobbies のようなカラムがあり、配列型で定義されているとします*1。そのようなカラムを含んだテーブルを特に何もせずに embulk-output-postgresql で PostgreSQL に書き込むと、以下のようなエラーが出て怒られます。 org.embulk.exec.Part…

Goreman を用いる際に環境変数を使いたい場合は、direnv を用いるのがおそらくベター

Goreman とは Foreman の Go 実装です*1。 github.com 環境変数を使いたい Goreman には Foreman にある -e オプションがありません。したがって、環境変数を用いたい場合にどのような手段を採るかで少々悩みます*2。 direnv を用いるのがベター Goreman で…

VS Code のデバッグツールで Yarn の ウォッチ を走らせる

本来的な使い方ではないですが、応用が効くかもしれませんので記しておきます。 やりたいこと VS Code のデバッグツールを使って、例えば $ yarn webpack:watch のようなコマンドを裏で走らせたままにしておきたい。 結論 (launch.json) 上記のことをやるた…

Ubuntu で phpenv を用いて PHP をビルドする際に必要なライブラリをインストールする

結論 $ sudo apt install -y libjpeg-dev libonig-dev libzip-dev libcurl4-openssl-dev re2c libxml2-dev libtidy-dev libxslt-dev libmcrypt-dev libreadline-dev autoconf 補足 もっと必要なものがあるかもしれません*1 phpenv に限った話ではなく、一般…

VS Code の「GitHub Pull Requests and IssuesPreview」拡張機能において複数アカウントを使い分ける方法

「GitHub Pull Requests and IssuesPreview」とは こちらです。 marketplace.visualstudio.com 結論 現時点(2021/01/04 時点)では、ありません*1。 関連Issue github.com 補足 別のアカウントを使う度に「ログアウト」「ログイン」を繰り返せば、複数アカ…

2020年の段階で私が知らないこと

はじめに 本記事のタイトルは、以下の記事にならっています。 overreacted.io また、以下の記事に触発されています。 blog.unasuke.com zenn.dev 結論 以下のことをほとんど知りません。 Go React TypeScript Prisma GraphQL Cypress 焦り 上記のことに無知…

Git におけるユーザーの使い分けの一つの方法

結論 .git/config の [remote "origin"] の url 内にユーザー名を埋め込んでしまう。 例 [remote "origin"] url = https://USER-MEI-WO-IRERU@github.com/foobar/hogehoge.git 補足 この方法を使うためには、git clone 時のプロトコルを HTTP(S) にする必要…

Visual Studio Code で git のコマンドの場所が検出できなくなったとき

結論 手動で設定します。 方法 「設定」→「拡張機能」→「Git」とたどっていくと、「Git: Path」の設定項目があります。そこにある settings.json で編集 をクリックし、設定ファイルを直接編集します*1。 settings.json に "git.path" をキーとした設定項目…

PostgreSQL で初期ユーザとしてログインする

結論 操作ユーザを postgres に変更する $ psql -U postgres -d -postgres を実行してログインする 詳細 1. 操作ユーザを postgres に変更する su コマンドを用いて操作するユーザを postgres に変更します。 $ sudo su postgres 2. ログインしてみる 以下の…

Ubuntu 20.04 にて PostgreSQL を初期化する方法

結論 /usr/lib/postgresql/13/bin/initdb を、ユーザ postgres で実行する。その際にデータベースのデータを格納するディレクトリをオプションで指定する。 具体例 1. 操作するユーザを postgres に変更します $ sudo su postgres 2. /usr/lib/postgresql/13…

Git における「インデックス」という語と「ステージング」という語の関係はいかなるものか

結論 同じ意味である(「インデックス」=「ステージング」)。 感想 Git の理解が難しい理由の一つには、同じ意味の用語が複数あって、人や場合によって使われる語が異なるケースがあるからだと思っています。 初心者の頃にいろいろな説明を読みまくってい…

VS Code にて Remote SSH で接続した先で一部の拡張機能がインストールされない場合

gyazo.com 結論 手動で入れるしか無いようです(2020/09/22 現在)。 状況例 Vetur にしろ Todo Tree にしろ、下記のように SSH先 では手動でインストールしなければならないようです。同期機能は ON にしています*1。 gyazo.com gyazo.com 試していないけれ…

MySQL のデータディレクトリを外付けHDDに移す

背景 Raspberry Pi 4 (8GB) を購入し、MySQL のサーバにしたいと思いました*1。MicroSDの容量は限られているのと、データベースのようなアクセス頻度が高いものをMicroSDに置いた場合のカードの寿命を考え*2、外付けHDDにデータを置きたいと考えました。 *1:…

PostgreSQL のデータディレクトリを外付けHDDに移す

背景 Raspberry Pi 4 (8GB) を購入し、PostgreSQL のサーバにしたいと思いました*1。MicroSDの容量は限られているのと、データベースのようなアクセス頻度が高いものをMicroSDに置いた場合のカードの寿命を考え*2、外付けHDDにデータを置きたいと考えました…

なるべく無駄を省いて開発するために git bisect を使うという方策

※ 結構やっつけで書いているので、読みにくいところがあるかもしれません 結論 こまめにコミットする git-now を私は使っています テストをちゃんと書く

RSpec (System Spec) の実行に Chrome を用いるために ChromeDriver をインストール・ダウンロードする

結論 以下のページから最新版のバイナリをダウンロードし、パスが通った場所に実行可能状態で配置すれば OK です。 補足 RSpecの〜 という標題にしましたが*1、もちろん他の用途にも使えます。 *1:ググラビリティを考慮

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

根本的な考え方 マージコミットを「消す」 具体的なコマンド -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…

Powered by はてなブログ