追記

いがいが日記


2020-02-10 [長年日記]

_ GitHub ActionsでRailsアプリを動かす

結論を先に書くと、以下のファイルを配置すればいい。もしくはGitHubリポジトリからActionsタブ、そしてSet up a workflow yourselfから進んで以下を入れる。

name: Rails Tests

on: [push, pull_request]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby 2.7
      uses: actions/setup-ruby@v1
      with:
        ruby-version: 2.7
    - name: Build and test
      env:
        RAILS_ENV: test
      run: |
        sudo apt-get -yqq install libsqlite3-dev
        gem install bundler
        bundle install --jobs 4 --retry 3
        bundle exec rails db:create
        bundle exec rails db:migrate
        yarn install
        bundle exec rails test # minitest
        bundle exec rails test:system # minitest

以下、メモ。

GitHubActionsでは基本、actions/ のものが公式部品のようだ。

Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

以下の記事を参考にしました。ありがとうございました。いわさきさんのactons/setup-rubyの記事は前に読んでたので、eregonさんらによって先週頃にactons/setup-rubyが修正されたのはありがたかったです。


2020-02-05 [長年日記]

_ Windows WSL ubuntu apt でWebpackerが要求するnodeバージョンより古くてエラー

WSL ubuntu aptで入るnodeのバージョンが古くて、webpackerで以下のエラーが出た。 なので、より新しいnodeを入れる手順に変更。nvmを利用した。

Webpacker requires Node.js >= 8.16.0 and you are using 8.10.0
Please upgrade Node.js https://nodejs.org/en/download/
$ sudo dpkg-reconfigure tzdata
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt install autoconf bison build-essential libssl1.0-dev
    libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev
    libgdbm-dev sqlite3 libsqlite3-dev -y

# ここからnvmとnodeインストール

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
$ source ~/.bashrc
$ nvm install --lts
$ nvm alias default lts/* # ターミナル再起動時にlts版を使うようにする 
$ nvm use default # ターミナルをここで再起動するなら省略してもいい
$ npm install --global yarn # そのフォルダだけでなくグローバルに入れる必要があるので--globalが必要


# このあとrbenvなどをインストール

ほかにnも検討したが、たぶん先にnodeをaptで入れておいて、後から消す必要があるぽい。 nodenvも考えたけど、node-buildいれなくちゃいけないので手順が長いと思った。

jsのところはじぐそうさんにいろいろ教えてもらった。感謝。

RailsGirlsガイドのページも更新される予定。

https://railsgirls.jp/install


2020-01-13 [長年日記]

_ 学習用にRuby2.7のdeprecated warningを抑制したい

Ruby2.7+Rails6.0の組み合わせだと、現状はRuby3へ向けた多くのwarningが表示される。学習者にとってはログが読めなくなってるので、学習用にログをなんとかする方法。

まず、RUBYOPT環境変数を使ってRailsへRuby実行時のコマンドラインオプションを渡す方法

$ RUBYOPT='-W:no-deprecated' rails s
$ RUBYOPT='-W:no-experimental' rails s
$ RUBYOPT='-W:no-deprecated -W:no-experimental' rails s

毎回打たないといけない。shellをつかえば export RUBYOPT="foo" すればいいのだが、他のRubyプログラムにも影響が出るので、影響範囲広い。

Railsの設定ファイルでこれを書けたらいい。Rubyが起動したあとは Warning[:deprecated] = false でwaringを出さなくできる。たとえばconfig/boot.rbの1行目で Warning[:deprecated] = false と書くと、起動時初回のwarningは出るが、それ以降は出なくなる。


2019-12-26 [長年日記]

_ 執筆スポンサー

プログラマー業界の課題の1つに執筆よりもプログラミングの仕事の方が儲かる問題がある。執筆の時間を確保したいが、プログラマーの仕事をした方が儲かるので、執筆はなかなか進まない。もしもそれが同程度になるならば、より多くの書籍や資料が世の中に生まれるはず。(また、執筆を教育に置き換えてもほぼ同じ課題がある。)

どうやって同程度に持っていくか、考えて、こんなことをやってみることにした。

https://twitter.com/igaiga555/status/1169399220438106113

「私の執筆作業を支援いただく執筆スポンサーを法人を対象に募集します。執筆時間を増やし、より多くのRuby/Rails書籍・資料を書き、RubyistとこれからRubyistになる方々の学習を支援したいです。特典は私の「1日研修や技術相談などできる券」ほかです。ご協賛お待ちしてます。」

https://writingsponsors.garnettech373.com/

9月に公開したところ、すぐに5社以上からお声かけをいただき、結果、フィヨルドさん、ギフティさん、YassLabさんらに執筆スポンサーになっていただいた。問い合わせが0件も想定していたので、とてもありがたいことだ。いただいたお金を使って執筆の時間を確保させていただいている。

まだこれで確保できる時間は少ないし、最初に提示した課題を解決するまでにはもっと何か手を打つ必要がある。だけど賛同して応援してくださる方々がいる、しかも結構な金額を支払っていただいた、ということがとても心強くありがたいです。

今はRailsの教科書を改訂しているが、そのあとは別の本の執筆を共著でやることにした。そちらは〆切があるのでがんばりたい。引き続き執筆の時間を作っていきたいので、執筆スポンサーも引き続き募集中。ご協力いただければありがたいです。

また、私以外の人が執筆スポンサーを募っていただけると最初の課題の解決に向けて進んでいくので、やってみたい方はぜひやってみてください。「執筆もプログラミングの仕事くらい儲かって欲しい問題」を一緒に考えていきましょう。


2019-11-18 [長年日記]

_ 鼻のレーザー手術

鼻の粘膜をレーザーでやけどさせて、アレルゲンを反応させなくする手術。鼻中隔湾曲症の手術のときの粘膜を取る手術と同様の効果。約2年で治って再生して元に戻ってしまうそうだ。春の花粉症に備えると11〜12月頃が良いとのこと。

今回も1年半前の鼻中隔湾曲症の手術をした東海大学付属東京病院。最初は電話予約、外来で受診、手術日を決める。手術は1時間程度で全部終了。病院から出れた。終わったあと1〜2週間程度で1回外来で経過を見て終了。経過は以下の通り。

当日

午後に手術して、その日は日常生活には支障なかったが、鼻声で、鼻もたくさん出たので職場へ行くとちょっと大変かも。仕事はできるが、ティッシュ1箱分くらい鼻をかむ。

翌日

寝たらかなり良い状態。鼻に違和感あるが、アレルギーみを感じない変な気分。

1週間後

この1週間ほど、鼻がややつまる状態だが、鼻水は出なく、かわいている。違和感は少しあるが、鼻が塞がるほどではない。生活には支障なし。

10日後

再診。まだ傷はあるようだが、大きな出血もないのでこのまま経過観察で問題ないでしょうとのこと。まだ鼻がつまっている感じがある。

鼻のアレルギーをまったく感じなくなったのでとても良い。秋の花粉で11月がつらかったが、それにも効果があったのか、季節が終わったのかはよく分からない。ただ、日常生活ではとても快適だ。春の花粉症の季節を経過観察。


追記