約束の地

キャロ組

Sidekiq-Cron で定期実行しようとしたら初回だけ実行されるが2回目以降が実行されずに4時間ハマった話

結論 gem のバージョンを以下のようにちゃんと指定しましょう。 gem 'sidekiq-cron', '~> 1.0.4'

Capistrano で whenever をデプロイしようとしたらドハマリした

前提 Capistrano だとか whenever だとかの固有名詞は本質的に関係ありません。 結論 config/schedule.rb の中に、シェルのコマンドに依存する記述を含めていたところ、ほぼまっさらなデプロイ先にデプロイしたらエラーが出た。 具体的には こちらの記事 の…

Database Search and Replace Script in PHP をコマンドラインで用いて WordPress のデータベースの内容を移行(変換)する

Database Search and Replace Script in PHP こちらです。ダウンロードするためには登録が必須です*1。 コマンドラインで用いる このスクリプトを Webアプリ として用いるやりかたは多く見かけます。ここではコマンドラインで実行する方法を示します。この方…

「MUSICエンジン 第六回演奏会」演奏曲目(演目: 『幻想水滸伝II』より)の英語版

「MUSICエンジン 第六回演奏会」 こちらです。演目は「幻想水滸伝II」です。 当日の演奏曲目 当日のセットリストが先日発表されています。上記ページ内の「当日の演奏曲目」のリンクをたどると見ることができます*1。 演奏曲目の英語版 MUSICエンジンは英語…

macOS に pyenv で Python をインストールしようとすると Missing the OpenSSL lib? とエラーが出る場合

結論 (2018/11/11 現在では)Homebrew で pyenv を入れる*1。 *1:GitHub から引っ張ってこない

Path Finder の設定をエクスポート(インポート)する方法

Path Finder とは MacOS で Finder を使いやすくしたアプリケーションです。 設定をエクスポートしたい 以下の2つのディレクトリおよびファイルが設定ファイルです。 /Users/YOUR_USERNAME/Library/Application Support/Path Finder/Settings これはディレク…

Rails の before_action を特定のアクションだけに適用したい場合

結論 only: という引数を追加する*1。 実例 class FoobarController < ApplicationController before_action :nanika_no_action, only: [:tokutei_no_action] (省略) end *1:配列

minio(S3 クローン)を Docker Compose で立ち上げる

注意点 初期の Access Key と Secret Key は config.json を見る*1 環境変数に定義したらうまくいかなかった*2 結論 以下のような docker-compose.yml を書いて $ docker-compose up すればよいです。 *1:はず。コンソールに出ない *2:おま環の可能性が高い…

InDesign でテキストを流し込むときに設定したレイアウトどおりに流し込まれないとき

状況 テキストを流し込んでも、例えば行数が期待される行数よりも少ない(多い)状態で流し込まれてしまう。 考えられる結論 「レイアウトグリッド」と「フレームグリッド」とという二種類のレイアウト設定があるところ、「フレームグリッド」を設定していな…

Slim で任意の属性を付与する

結論 Slim でこう書くと、 .col.s12 foo='bar' hoge='fuga' こういう HTML が生成されます <div class="col s12" foo="bar" hoge="fuga"></div>

Docker Compose (docker-compose.yml) でコマンドラインオプションを指定する方法

結論 command: を使います。 foobar: image: hoge/fuga command: --option_1=12345 --option_2=abcde

Itamae の remote_file 内で user メソッドを使ったら sudo できないと怒られて 1時間 ハマった

結論 公式ドキュメントを読みましょう。 なお、remote_file 内だけでの話ではなく、Resource Type 内での話です。 user String If you specified this, commands related with the resource will be executed as the user. つまりどういうことか 以下のよう…

Itamae の command メソッド(execute resource)は一行で書く

結論 ダメ execute 'foobar' do command 'first_awesome_command' command 'second_awesome_command' end OK execute 'foobar' do command 'first_awesome_command && second_awesome_command' end

Ubuntu 16.04 および 18.04 で rbenv install をしたら rdoc のコンパイル時にエラーになった

前提 必要なパッケージ は以下のようにインストール済みです。libgdbm5 が入らない場合は libgdbm3 を入れます。 $ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev l…

Itamae で content_file が使えなくなっているので source を使う

余談 「使えなくなっている」と言ってもかなり前の話ですが……。

Chrome の favicon のキャッシュを上書きする

Web

結論 favicon.ico のアドレスに直接アクセス*1してスーパーリロードをする。 スーパーリロードの方法(Chrome) Windows Shift + F5 Mac Command + Shift + R 補足 Chrome の favicon のキャッシュは相当にしつこくて、もしかしたらこれを明示的に行わないと…

Rails を Capistrano でデプロイした際に Puma が再起動できなくて 3時間 ハマった話

前提 詳しい説明は公式ドキュメントを参照するなどして下さい。投げやりですいません……*1。 環境 Ruby 2.5.3 Rails 5.2.1 Capistrano Version: 3.11.0 (Rake Version: 12.3.1) *1:あまりにハマりすぎて疲れてしまいました

SSH Agent Forwarding を用いる際に微妙にハマったところ

SSH Agent Forwarding SSH Agent Forwarding とは、多段で SSH 接続をする場合に秘密鍵を中継場所に置かないようにする手法です。それを実現するために ssh-agent という機能を用います。ssh-agent は SSH Agent Forwarding とは直接関係はない技術です。 ss…

Capistrano で Rails をデプロイするときに Yarn はシステムグローバルに入れなければいけないのか

背景 ndenv で入れた npm で yarn をユーザグローバルにインストールして*1、それをデプロイ時に用いたい。 結果 ダメっぽいです。どうしても /usr/bin/env を見に行ってしまいます。30分ほど調べましたがスマートな解決策は無いようなので、これ以上ハマっ…

Capistrano で Rails をデプロイしても一向に assets:precompile してくれない

結論 対象サーバの roles の設定中に web が含まれていないから。 参考(答え) 余談 こんなんで 2時間 近くハマってしまって悲しすぎる。

Capistrano で assets:precompile が通らないため 5時間 溶かした話

結論 デプロイの際に持ってくるブランチに対して全くプッシュしていなかったから。 つまり、ローカルでガシガシコミットしていてそのままデプロイしていたところ、引っ張ってくるファイルは何ら更新されていないため、ローカルファイルと差異が存在していて …

Raspberry Pi(ARM) 上の Docker で MySQL を使う

結論 hypriot/rpi-mysql を用いる*1。 hypriot/rpi-mysql 公式イメージが現時点(2018/10/26)では存在しないので……。 補足 MariaDB の場合も同様に パブリックイメージ を用います。 *1:パブリックイメージ

PostgreSQL で psql などを実行したら could not connect to database postgres: could not connect to server: No such file or directory と出る場合

状況 $ psql などを実行すると無情に以下のようなエラーが出続けるという状況です*1。 psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresq…

本体だけ入ってしまっている Mackerel にプラグインをインストールする

結論 $ wget -q -O - https://mackerel.io/file/script/setup-all-apt-v2.sh | MACKEREL_APIKEY='ここにAPIキー' sh $ sudo apt-get install mackerel-agent-plugins mackerel-check-plugins

Adminer で SQLite 3 を扱う

Adminer とは phpMyAdmin のような Webブラウザ からデータベースを操作するアプリケーションです。 Adminer で SQLite 3 を扱う Adminer は使用する際にユーザ名とパスワードを用いたログインが求められます。 そして SQLite 3 にはユーザ名もパスワードも…

Capistrano でデプロイ先のホスト名やポート番号、鍵の場所などを隠したい場合

注意 特別なことは全くしていません。そして Capistrano に限った話でもないです。 結論 dotenv を用いる。

bundle install するときに typo しても bundle install できた

結論 以下は全て OK でした。 $ bundle i $ bundle ins $ bundle inst $ bundle insta $ bundle instal 以下は怒られました。 $ bundle in Ambiguous command in matches [info, init, inject, install] 余談 知りませんでした……。

Open Media Vault の Remote Mount を使った際にファイルの書き込みができない場合

結論 共有オプションで uid=12345 などと uid を指定する。なお uid には数値だけではなく文字列(ユーザ名)を指定することもできます。結果として「オプション」の部分の値は _netdev,iocharset=utf8,vers=2.0,nofail,uid=12345 のようになるかと思います…

Rails でフォームを submit したときに URL に付与される commit=hogehoge を除外する

状況 フォームを submit した先の URL が例えば以下のようになった場合に、commit=hogehoge の部分を除外したい。 http://localhost:3000/pages/search?search_query=abcdefg&commit=hogehoge 結論 submit メソッドのオプションに name: nil を指定する。 Sl…

Rails の form_with で「utf8=✓」を消す

結論 form_with のオプションに skip_enforcing_utf8: true を指定する。 Slim での例 = form_with url: 'foobar', skip_enforcing_utf8: true do |f|

Powered by はてなブログ