追記

いがいが日記


2020-10-23 [長年日記]

_ 法人の住所を三鷹へ引越しした

いままではカミング・スーン合同会社さんに居候させてもらっていたのだけど、三鷹へ引っ越してきたこともあり会社も三鷹へ引っ越しした。

万葉の櫻井さんの紹介で三鷹市Ruby事業もやってるまちづくり三鷹さんを紹介してもらい、さらに紹介で駅の北側にあるSOHOプラザAで借りることができた。ありがたい。登記変更作業は税理士さんへ全部お願いしてやってもらい、私は法人印を書類に押しまくって終了。

これで法人税の一部は三鷹市に届くことになると思うので、Ruby事業へちょっと貢献できるようになるのが嬉しい。


2020-09-02 [長年日記]

_ 新型コロナウィルス COVID-19日記

前回の新型コロナ対応生活日記から2ヶ月経ったのでまた書く。 http://igarashikuniaki.net/diary/20200622.html

感染者数は100〜400人/日くらいの推移。前回6月末の日記の頃と比べるとwithコロナ生活が馴染んできて、新しい生活として定着しつつあるように感じる。政府から旅行補助金が出るGOTOキャンペーンは感染拡大を助長するとか特定職種だけへの配慮になるなどの批判をかわして、東京などいくつかの地域を除外することで強引にはじまった。

7月4連休(オリンピックが開幕するはずだった日)に三鷹へ引っ越したが、引越しも特に支障なくできて業者のLife Linc引越センターの作業者さんには感謝。2人で作業されてたけど、お互いの会話が丁寧な言葉でされてて、IT業界の会話みたいだと思って安心して聞いていた。

物理出社は1社さんだけやっていたが、7/10を最後に以降は全て自宅勤務。仕事は相変わらず安定感はないが、仕事が多い会社さんもあってバランスとれて以前と同じペースで働けている。世の中的にも会社間で雇用を減らす動きとチャンスで増やす動きと両方あって、7月までは減らす動きの方が目立つ感じがしていたが、8月になってから増やす動きも目につくようになってきた。しらばくはこんなバランスでつづいていくのだろうか。あと弊社は初めての決算を税理士さんのおかげでリモートで無事に終えた。黒字になってよかった。そして金融機関へ行くにはまだ対面が基本なのだろうか。気が重い。

世の中は二極化を感じる。アメリカの株価はコロナに関わらず上がっていて、「世界株の時価総額最高に」というニュースが今日あった。コロナに感染しやすい層は貧困層で、株価に支配的なのはコロナの影響を受けていない人たちなのか、もしくは給付金で株を買っている人たちの動きの結果なのか。バブルな気配を感じるが、このあとどう株価が動くのか今は想像がつかない。(日記なのでそのうち答え合わせがされるだろう。)

日本はお店や会社の閉店情報が定期的にながれる。もう半年くらいみんな影響を受けているから、日々が持続できない収支のお店は厳しいのだろう。来年いっぱいくらいまで続くとするとどうすればいいのかちょっと想像がつかない。つくられた料理を持ち帰って食べる新しいスタイルのお店が出てくるのだろうか。また安倍首相が健康問題で辞任。

外食はまだできるだけ避けてテイクアウトを選んでいる。冷凍宅配のnoshがおいしい料理を届けてくれてありがたい。ほかに台湾料理の台湾味やカレーのエリックサウスから冷凍で買っている。大きな冷凍庫が欲しくなる。

執筆も終わったので温泉とか旅行に行きたいが、東京から出るのがはばかれてまだ行っていない。家から出ないのは苦ではないが、旅行には行きたいという気持ち。土日は家で本を読んでいることが多くとても楽しいが、心のリフレッシュだと少し違うことをした方が気分転換になるかもしれない。お盆の新幹線や空港は前年比-95%とかそれくらいのガラガラさだったそうだ。みんな自主的にそれを選んでいる節があって、毎日の感染者数が今の数字で仮に「旅行していいですよ」って発表があっても、旅行者はあまり増えないのかもしれない。人間社会の動き、興味深い。

covid-19のワクチンはロシアや中国などで使われはじめたそうだが、世界の雰囲気としては本物なのか?という半信半疑。また、一度感染した人が数ヶ月で再感染するらしいこともわかってきたり、治療薬の治験から承認がアメリカではじまったりというニュースを聞く。


2020-08-04 [長年日記]

_ 三鷹市へ引っ越した

7月の4連休に三鷹市へ引っ越した。コロナ時代になって物理出社が月に3日くらいだったので、少し遠くてもいいかなと。3月頃からアプリで物件を見てて、良さそうな部屋が6月にみつかり、面倒な契約などを乗り越えて7月に引っ越せた。新しい建物で、内見が日時指定された内見会でしか見れず、たまたま問い合わせた日の昼にやっていて、これを逃すと10日後だったので予定を工面して内見した。この情報は不動産屋さんでも不平等情報だったようで、複数社のうち1社だけしか知らなかったようで内見を申し込んで案内してくれたのはそこだけだった。

ネットは選べなかったが速くて助かっている。便利なのは部屋の鍵。車のようにポケットに鍵を入れておけば、ボタンで施錠解錠できる。この仕組みが普通のシリンダー錠のアドオンでついているのが面白い。外から見ると最初からそういう設計に見えるが分解したら後付け可能な仕組みになっていた。また部屋から給電されていて、どうやって線が通っているのかが分からない。ドアは可動部が多いから難しいと思うのだが。

三鷹は人は多いが静かな街で住みやすい。たまたま家の近所に産地直送の野菜販売スーパーがあって、これが生活の質をかなり上げている。おいしい野菜や果物を食べれて幸せだ。ランニングは井の頭公園を目指して走っていたが、その道は東西で朝はまぶしいので今日は住宅地を走ってみた。三鷹には畑がちょこちょこあって、一戸建て家屋の植木もあって住宅地でも緑が多くて走っていて気分が良い。

近所に住んでる友人のおかげで粗大ゴミの仕組みも学べた。ポイント制で、1点でも10点まででもどちらも1000円で出せる。10点までなかなか埋まらないので近所で一緒に出したりするそうだ。粗大ゴミは渋谷区もこちらも予約から回収まで1ヶ月程かかるのはちょっとたいへん。ゴミ袋と分別も少しおもしろい仕組みになっていて、燃えるゴミと燃えないゴミは有料の袋を使わないといけないが、プラスチックごみや古紙は有料袋が不要。なんでだろうと思って生活してみたら、ちゃんと分別した方が有料ごみ袋が節約できるので分別のインセンティブになっている。これはすぐには気づかなかったので驚いた。

西の方角は多摩地方で雨が多いようで、西向きの窓から見える景色は雲が多くて絵画のようでとても良い。都心とそれほど離れてないのに天気はずいぶん違うようだ。

三鷹暮らし、とても良い。引き続きいろいろ開拓していきたい。


2020-08-01 [長年日記]

_ Emacs 27.0.91

新しいMBPに移行してEmacs26.3をビルドしたらエラーになってしまった。過去にビルドに成功していた既存マシンでも同様のエラーが出るようになっていた。

mv -f emacs bootstrap-emacs
/Library/Developer/CommandLineTools/usr/bin/make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
  ELC      emacs-lisp/macroexp.elc
  ELC      emacs-lisp/cconv.elc
  ELC      emacs-lisp/byte-opt.elc
  ELC      emacs-lisp/bytecomp.elc
/bin/sh: line 1: 44099 Killed: 9               EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/macroexp.el
make[3]: *** [emacs-lisp/macroexp.elc] Error 137
make[3]: *** Waiting for unfinished jobs....
/bin/sh: line 1: 44101 Killed: 9               EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/byte-opt.el
/bin/sh: line 1: 44100 Killed: 9               EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/cconv.el
make[3]: *** [emacs-lisp/byte-opt.elc] Error 137
make[3]: *** [emacs-lisp/cconv.elc] Error 137
/bin/sh: line 1: 44102 Killed: 9               EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/bytecomp.el
make[3]: *** [emacs-lisp/bytecomp.elc] Error 137
make[2]: *** [bootstrap-emacs] Error 2
make[1]: *** [src] Error 2
make: *** [bootstrap] Error 2

調べたけど分からなかったので新しいバージョンで直ってるかもと思って27にしたら動いたのでこれでいくことに。27.0の安定版はまだ出てないのかも?出たらまたビルドする。

26.3からインラインパッチが変更された。インライン入力パッチを書き直してくださった方がいてたいへんありがたい。(これがないと日本語入力時のカーソル点滅が結構つらい)

https://qiita.com/takaxp/items/e07bb286d80fa9dd8e05

ビルド手順

# LIBXML2 for Catalina
MACSDK=`xcrun --show-sdk-path`
export LIBXML2_CFLAGS="-I${MACSDK}/usr/include/libxml2"
export LIBXML2_LIBS="-lxml2"

cd ~/work
wget http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-27.0.91.tar.gz
# git clone --depth 1 git://git.sv.gnu.org/emacs.git
git clone --depth 1 https://github.com/takaxp/ns-inline-patch.git

tar xvzf emacs-27.0.91.tar.gz
cd emacs-27.0.91
patch -p1 < ../ns-inline-patch/emacs-27.1-inline.patch

# sleep 5
./autogen.sh
./configure CC=clang --without-x --with-ns --with-modules
CORES=4
make bootstrap -j$CORES
make install -j$CORES
cd ./nextstep
open .
cp Emacs.app/Contents/MacOS/bin/emacsclient /usr/local/bin/.

前回Emacs26.3 https://igarashikuniaki.net/diary/20200325.html


2020-07-21 [長年日記]

_ パーフェクトRails 増補改訂版

2020年7月25日に パーフェクトRails 増補改訂版 が発売されます。私も執筆チームに加わってこの本に携われたことを嬉しく思います。

パーフェクトRails初版も素晴らしい本で、読み込んでかなりRails力を上げてもらった記憶があります。特にrack, rack middleware, railtie, engineといった話題は他の日本語の本では触れられてる本は少ないのではないでしょうか。(今回の増補改訂版ではほぼ0からの執筆で構成も大きく変わったため残念ながらこの一部はなくなってしまったのですが、rack, rack middlewareは引き続き解説してあります。)

そんな良い本であるパーフェクトRails初版は2014年発売で、Rails4.1をベースに書かれていました。良い本だが、いかんせん古いので「改訂しないかなー、してくださいよー、まだですかー?」としつこく筆者陣をつついていたところ、執筆チームへの加入を打診され、きれいにブーメランが決まったと言えます。

しつこく改訂を促していたのには理由があり、この本が必要だったからです。私は企業で新人研修をやっていたり、スクールのお仕事もお手伝いしていますが、このレベル感の本が必要なのに、存在しなくて困っていました。Railsの基礎を学んだ人たち(Rails Tutorialや現場Rails本、黒田さんのRails本などはできるようになった人たち)が、「何やら知らない世界がまだあるようだが、それらは何なのだ?」という世界を知るための本です。Railsの書籍には入門書を超えるレベルで網羅的なものがなく、昔はレシピブックもありましたがobsoleteになってしまい、ここ数年はWEB+DB PRESSの記事くらいでした。

パーフェクトRailsは必要な本であるし、初版でとてもお世話になったので、これはぜひ世の中に出したいと思って去年の年末にjoin、半年程の執筆期間で無事に世の中へ出すことができそうです。前からいた人たちはきっと2年以上書いていたのだと思います。本当におつかれさまでした。

「ゼロからわかるRuby超入門」とは書き方が全く違って、パーフェクトRailsはまた違った執筆のたのしさを味わうことができました。日々の仕事とのリンクが強く、また執筆チームとレビュアー陣が凄腕のみなさんだったので勉強になることもたくさんありました。成長できてありがたやです。超入門とパーフェクトRailsの執筆中の思考の違いは9月にある とちぎRuby会議09 でも少しお話しできたらいいなと思います。(まだ内容を考えてないのでうまくまとまれば・・・)

私の担当は5章、7章、9章で、印象に残っているのはminitestかrspecかを選ぶところで、みんなrspecしか書いたことないのでrspecを選ぶのが無難ではあったのですが、現状だとminitestの方がメリットが大きかろうということでminitestを選びました。Railsアプリのminitestの資料はまだ少ないので、参考にしてもらえたら嬉しいです。書いててたのしかったのは5章のActiveJobやActiveStorageなどのRailsが提供する機能ですね。Railsのコードを読んで、こんなに丁寧にドキュメントがコード内に書かれているのかと(api.rubyonrails.orgの元になっているものです)驚きながら読み進めるのが楽しかったです。

それと、9章で紹介しているGitHub Actions、書き終わったあとにシステムテスト失敗時のスクショを取れると便利と分かったのでここに書いておきます。あと1ヶ月早く気づいたら載せられたのに・・・申し訳ない・・・。

また、koicさんがRuboCopのアフターフォローを書いてくださっていますのでこちらもご活用くださいましたら。

GitHub Actions上で実行したファイルの取得

  • たとえばsystem testが出力したスクショをダウンロードする方法
  • 直接アクセスできないので、upload-artifactアクションを利用してアップロードして、ブラウザからDLします
    • .github/workflow/ruby.yml に以下を追記
...
    - name: Run test
      run: |
        ...

    - name: Upload
      uses: actions/upload-artifact@v2 # 利用するアクションを指定
      if: failure() # 失敗したときだけ実行
      with:
        name: my-uploads
        path: tmp/screenshots/ # uploadするパス(Rails rootからの相対パス)

ほかの方のブログ


追記