2018-01-01から1年間の記事一覧

Docker上でSystem Specが失敗する

現象 Docker上でRspecを実行すると、 $ cat docker-compose.yml version: "3" services: app: image: xx/customed_ruby command: 略... bundle exec rspec $ docker-compose up Chromeがクラッシュしている模様。 app_1 | 6.1) Failure/Error: visit "/" app…

Debian9ベースのイメージにMySQL5.7をインストールする

環境 18.06.1-ce Dockerfile FROM ruby:2.5.3 ARG MYSQL_VERSION="5.7" ARG MYSQL_CONFIG_VERSION="0.8.10" RUN set -x && \ apt-get update -qq && \ : "mysql" && \ apt-get install -y lsb-release && \ echo "mysql-apt-config mysql-apt-config/select-…

Rubocopで除外対象ファイルをとにかく除外する

結論 $ rubocop --force-exclusion [file1, file2, ...] 環境 Rubocop 0.59.1 本題 Rubocopでは、設定ファイルにて除外対象ファイルを指定できます。 AllCops: Exclude: - Gemfile 一方、コマンドライン引数で検査対象ファイルを指定できます。 $ rubocop Ge…

RubyMineでRSpecするときによく使うショートカット

RubyMineでRSpecするときに、よく使うショートカットを用いた手順のまとめです。 エディタ領域を縦に分割して、右側にテストコード、左側にテスト対象コードを表示しながらテストしています。 環境 RubyMine 2018.2 準備 以下のKeymapを設定しています。 Spl…

FUSEをマウントしたディレクトリを、Dockerのvolumeとしてマウントしたい

ホストにて、FUSEをマウントしたディレクトリを、Dockerコンテナから参照しようとすると、Permission deniedになってしまう。 # ls volume_directory ls: cannot access 'volume_directory': Permission denied 対策 参考文献の通り、設定を変更する。 ホス…

fast_jsonapiで、Railswayに乗ってないbelongs_toを定義する

問題 以下のような、ナチュラルキーを使用しているなどして、関連にforeign_key、primary_keyを指定している場合を例にする。 class Book < ApplicationRecord has_many :sells, foreign_key: :isbn, primary_key: :isbn end class Sell < ApplicationRecord…

Rails+Vue+ESLint+RubyMineでjsの単体テスト環境を整備したメモ

とりあえずのメモ書きです。 環境 Rails 5.2.1 Vue 2.5.17 ESLint 5.6.0 RubyMine 2018.2 単体テストフレームワークをセットアップする 以下を参考に、Jest(単体テストフレームワーク)をセットアップ。 RailsのVue.jsをWebpackerとJestでテストする(翻訳…

RubyMineに、Vueのscript内のトップレベルでインデントをさせない

目的 こうしたい。 <script> import axios from 'axios' export default { data: function() { … </script> しかし、改行によって自動的にインデントされてしまう。 <script> import axios from 'axios' export default { data: function() { … </script> むむむ、、 環境 RubyMine 2018.2 対策…

RubyMineのblockの変換をやめさせる

目的 RubyMineにて、{}ブロック内で改行すると、do...endブロックに自動変換してしまうのをやめさせたい。 環境 RubyMine 2018.2 方法 PreferencesのEditor > Code Style > RubyのOtherタブの「Convert {} blocks to do..end by Enter」をoffにする 備考 {}…

VuetifyのData tableを指定列の降順で初期表示する

Vue

方法 v-data-tableにpagination.syncプロパティを指定する。 pagination.syncプロパティを設定する。(sortByにソート対象のヘッダのvalueを指定する) <template> <v-data-table :headers="headers" :items="items" :pagination.sync="pagination" hide-actions > </v-data-table> </template> <script> export default { data: function() { return { // 略…

Rubymineのコンソールのハイパーリンクが見にくい場合の対処

事象 Rubymineのコンソール(ターミナル)に、エラーが吐かれた際、ログをハイパーリンクにしてくれるのは大変ありがたい。 が、カラースキームによって、黒地に真っ青文字で表示されてしまったので見にくかった。 対処 ハイパーリンクの文字色を、以下から…

PassengerでInvalid command 'PassengerResolveSymlinksInDocumentRoot'

事象 Passengerをインストールして、設定を追加するとhttpdが起動しなくなってしまった。 ログには以下の出力あり。 Invalid command 'PassengerResolveSymlinksInDocumentRoot', perhaps misspelled or defined by a module not included in the server con…

MySQLで複数テーブルから指定条件のレコードをエクスポートしたい

動機 とあるキーに紐づくレコードを、別のデータベースに移行したかった。 方法 mysqldumpに以下のオプションを指定して実行する。 -t: DROP TABLE, CREATE TABLEを出力しない テーブル名: エクスポートしたいテーブルを指定する --where: テーブルに指定し…

RubyのMailで日本語を検索する

目的 RubyのMail(Gem)を使用して日本語検索したい(件名など)。 環境 Ruby 2.5.0 Mail 2.7.0 対策 2.7.0よりMail#findにsearch_charsetを指定できるようになりました。 Mail.find(search_charset: "UTF-8", keys: "SUBJECT \"テスト\"") 備考 GMailだとう…

Debian9にSoftEtherVPNをインストールできない

現象 Debian9にSoftEtherVPNを(バイナリ)インストールできない。 # wget http://jp.softether-download.com/files/softether/v4.25-9656-rtm-2018.01.15-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.25-9656-rtm-…

jsでグループ化された積み上げ棒グラフに折れ線グラフを重ねたい

目的 Javascriptで グループ化された 積み上げ棒グラフに 折れ線グラフを重ねたグラフを書きたい 結果 Chart.jsを採用することで実現できました。 JS Bin on jsbin.com ポイント datasetのtypeに'line' or 'bar'を指定する。 積み上げたいdatasetにstackプロ…

prmdでfailed schema #/properties/type: No subschema in "anyOf" matched.

環境 prmd 0.13.0 事象 以下のようなyamlをprmdでJSON Schemaに変換。 $ cat docs/schema/schemata/sample.yml definitions: name: description: name readOnly: true type: - string - null $ bundle exec prmd combine --meta docs/schema/meta.yml docs/s…

RubyMineのCode Inspectionを制御する

環境 RubyMine 2017.3 Code Inspectionとは 静的解析ツール。 Rubocopも適用可能。 編集中のファイルに対して自動的に実行される。 手動でも実行可能。(Code -> Inspection Code) 制御したかったこと 特定のインスペクションを無効化する。 インスペクショ…

MacでAn error occurred while installing ffi (1.9.21)

状況 気まぐれにrails newしたところ、bundle installでエラー発生。 An error occurred while installing ffi (1.9.21), and Bundler cannot continue. 環境 Mac 10.13 Ruby 2.5.0 Rails 5.1.4 対処 autoreconf: failed to run aclocal: No such file or di…