macOS Catalina の NFS 問題を解決する

こんにちは、masm11 です。 弊社では、macOS 上の Vagrant 環境内から、macOS のディレクトリを NFS で mount して、 開発しています。 仮想マシンとしては VirtualBox を使用しています。 この度、私に貸与された mac の macOS を Catalina に上げた ところ…

Ruby で backtrace を取得する

こんにちは、masm11 です。 Ruby で、「このコードのここに来た時、どこからどう呼ばれてきたのか知りたい!」ということは ありませんか? よくあると思います。 おそらく最近の IDE なら、問題なく、いつでも見られるのでしょう、きっと。 しかし私はそうい…

Terminator が起動しない原因を探る

こんにちは、最近趣味でいろんなものをデバッグばかりしている気がする masm11 です。 先日は scp の問題でしたね。 blog.ingage.jp 今回問題だったのは、ターミナルエミュレータ (端末) である Terminator です。 私はデスクトップ環境にボタンを配置し、そ…

@johtani さんと弊社サービスの Elasticsearch について話しました(実装編2)

前回のエントリでは、検索アルゴリズムとしては単純な、でも弊社のサービスにはマッチしている N-gram を採用しているということをお伝えしました 。また Elasticsearch ではどういう設定しているかもお伝えしました。 検索結果のハイライト(highlighting)…

複数行 UPDATE で発生するデッドロックを回避する

こんにちは、masm11 です。 今回は、RDBMS で複数行の UPDATE すると割と簡単に起きるデッドロックを回避する方法を探ります。 Rails を用い、RDBMS としては PostgreSQL を使います。 準備 まずは、Rails のプロジェクトを作ります。 rails new proj --skip…

2進数で循環小数してみる

こんにちは、masm11 です。 時々数学で遊んでみたくなりませんか? というわけで、今回は数学と戯れてみたいと思います。循環小数です。とは言え、ただ実証してみるだけですので、気楽にお付き合いいただければと思います。 循環小数とは まず、循環小数とは…

@johtani さんと弊社サービスの Elasticsearch について話しました(実装編1)

前回のエントリで、弊社サービス Re:lation が Elasticsearch をどういう感じで使っているのかを、主にインフラにまつわる部分を中心に書きました。 blog.ingage.jp 今回は実装に関わる部分を書いてみたいと思います。 前回の記事も含めて今回の記事につきま…