2020/01/08 にっき

コードレビュー

仕事で力を入れてやってみたけど難しい、筋力の衰えを感じる

Turnip

重複したステップ定義があるときwarnする。テストで同じ名前のステップ定義しててwarnでるからclearするAPIを足しているけど、タイトル以外のことをしているので気になってしまうのでコメントした

https://github.com/jnicklas/turnip/pull/219#discussion_r364343977

ruby-signature

Symbolのドラフトを出しておいた。 #to_s してから何かする系が多くて実質Stringなので何かしらの方法で共有が必要そう...

https://github.com/ruby/ruby-signature/issues/182 にコメントしておいた

github.com

レビューした

github.com

特に権限ないので緑ではない白いチェックの野良レビュー

issueがいくつか立っていて便利そうだった。実装してくれる人だれか...!

TypeScriptだとなんか計算できて便利

github.com

テスト書いてるとかなり欲しくなるやつ

github.com

ブランチカバレッジの型バージョン、あると便利そう

github.com

ruby-jpだと #types チャンネルでカジュアルに聞けるけど英語だとどこでやればいいのか感ありそう

github.com

これも書いてるとほしくなるやつだ

github.com

extensionで書いてるメソッドにもコメントつくようになって便利そう、RDocのstoreからシングルトンメソッド引くときは :: で引くのか。

github.com

Firefoxでクライアント証明書いれる

設定からプライバシーとセキュリティのとこの証明書の項目で証明書の表示をするとなんか出てくるのでそこでインポート押してp12選ぶとよい

カーソル最大化

設定したのだった。べんり。でもなぜかChromeの上だと小さくなっちゃう。不便。

vitux.com

最初にみたのmoroさんの画面でそのときはデカくね?と思ったけど設定してみるとカーソル探し迷子になることがなくなってかなり便利なのだった。ただしツールチップを多用しているサイトは死ぬ。

RailsアップグレードWikiが欲しい

Railsアップグレード業していると

  • Railsが対応しているバージョンのマトリックス
  • 使っているgemのバージョンとそのgemが対応しているRailsのバージョンの対応表

などが欲しくなってくる。だれか、だれか...

るりま

ruby-jpのSlackで雑に

雑にマージしたけどENVのサンプルコード実際にありそうな例で書いたほうがいいのかなあという気持ちにもなってきた ないよりあったほうがいいのでマージしてから困った人がいたら直せばいいのかな...

と書いたらうなすけさんから

悩みながら書いた記憶 https://ruby-jp.slack.com/archives/CM3PCPNQ5/p1578453414195400

とリプがきていて

ENV.reject仕事で書いたことがあるかというとないので 実際にありそうな例なのかレビューするときもよくわかってないというのがあります https://ruby-jp.slack.com/archives/CM3PCPNQ5/p1578453705197100

と返した

znzさんの

どんどんマージして改善は別途でいいんじゃないかなあ https://ruby-jp.slack.com/archives/CM3PCPNQ5/p1578444851194400

リプを見てまあそうだよね、と納得したのでどんどんマージする。悩みながらも書いてPRしてくれているうなすけさん尊い

ちなみに実際にありそうな例に関しては % csearch -f '\.rb$' 'ENV.reject' みたいな感じでひっかかった(件数はすくない)。 gem-code-search べんりだなあ。

github.com

マージした

github.com github.com

これはRequest changesのままなのを確認した

github.com

昨日のマージを振り返っているんだけど、これ意見でつくしということでマージされていてめでたい。

github.com

この横スクロールの件はこないだのCSSの修正で気にしなくても良くなったような気がしなくもない

github.com

静音キーボード

普通に打鍵していると普通にうるさいがRealforceの全キー30gとかよりはましな気がする。

いろいろ読んだ感想コーナー

SIMD化めちゃくちゃ早くなっててすごい

github.com

会場

Misc #16487: Potential for SIMD usage in ruby-core - Ruby master - Ruby Issue Tracking System

自分たちの組織に合わせたRedmineは使いやすいみたいな感じでちゃんとは読んでないんだけどSaaSに比べると運用で我慢みたいなのがないし自由ソフトウェア最高みたいな気持ち(読みたいように読んで全部ここに持っていく節がある)

note.com

6まで上げる業みたいなのめちゃくちゃ必要そう...

koic.hatenablog.com

キーワード引数禁止Copみたいなのがあるとキーワード引数の移行自体が発生しなくて便利な可能性がある。

なんかSlackで雑煮の話題が流れてきていて沖縄では正月は中味汁が定番なので、文化の違いを感じる。伝統的な雑煮食べに一般家庭お邪魔したい。キッチハイク使えばいいのだろか。

沖縄、ふつうの観光あきた人むけにこの本をすすめたい気がしつつ人を選ぶ気がしている。

沖縄、おもしろ横断歩道とか存在していたりする。

www.okinawatimes.co.jp

2020/01/07 にっき

zipの展開

入ってるファイル名が日本語のときLinuxでどうやるんだけ、xarchiverが対応してるとググったらでたので入れる

# pacman -S xarchiver

入れたがxarchiverでもファイル名がわからぬ ぐぐるunzip-iconv というのをいれるとよさそう AURで unzip-iconv 対応版のアーカイブマネージャあった

aur/file-roller-ja 3.26.2-1 (+4 0.00%)
    the file-roller with an additional patch to use unzip-iconv for unzip archive file cp932 charset.

2つとも入れてみるけどunzipの脆弱性/file-rollerの脆弱性あったときにだるそう...

yay -S unzip-iconv file-roller-ja

unzipfile-roller が衝突しちゃったので2つとも消して unzip-iconvfile-roller-ja に置き換え。

これでいけるっぽい

unzip -O cp932 ファイル名

なるほどなあ、環境変数の設定は今回していないけどしておいたほうがいいのかも

「unzip-iconv」をインストールし、.xinitrc等に以下の環境変数を設定します。

export ZIPINFOOPT="-OCP932" export UNZIPOPT="-OCP932"

これにより、unzipをフロントエンドに使用するアプリも文字化けせずに使用できます。

isis.way-nifty.com

ruby 2.3以前をArchLinuxに入れる

openssl 1.0が必要なので入れる

# pacman -S openssl-1.0

このままだと openssl-1.1 みに行ってしまうので環境変数を指定しておく

PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig rbenv install 2.3.8

ここがかなり参考になりそう

github.com

ruby-jp

Twitterで拾った話題が関連してそうなので雑にチャンネルにinviteするみたいなのをやった

表計算

そういえば入れてなくて困りそうなので入れた

# pacman -S libreoffice-fresh

るりま

マージしたけどENVのサンプルコード実際にありそうな例で書いたほうがいいのかなあという気持ちにもなってきた ないよりあったほうがいいのでマージしてから困った人がいたら直せばいいのかな...

github.com

このへんあるけど今日はねる

github.com

rubocop

.rubocop.yml ない場合はこれで直るけど発端になったissueはこれではなおらないっぽい。むずかしい。

github.com

2020/01/06 にっき

SQL Client

bdash入れてみた

% yay -S bdash

github.com

タブ消化

私はつよくなさそう

speakerdeck.com

200、、、、

engineer-lab.findy-code.io

ruby-signature

Symbol をやる

docs.google.com

まあぼちぼち今週あたりで終わらせたい

ruby-jp

漫画を紹介するチャンネルと行動規範の相性が悪そうに思う

Scrapboxの通知をfeedからIncomming Webhookに変えたのでいい感じの通知になったと思う。

openresolve

開発環境で特定のドメイン127.0.0.1に向けたいんだけどそれ以外の名前解決には普通のDNSを使いたい

ということでArchLinuxのWikiを読むと、あ、はい...macOSのDNSは便利なんだなあ

It is possible to use specific DNS resolvers when querying specific domain names. This is particularly useful when connecting to a VPN, so that queries to the VPN network are resolved by the VPN's DNS, while queries to the internet will still be resolved by your standard DNS resolver. It can also be used on local networks. To implement it, you need to use a local resolver because glibc does not support it. https://wiki.archlinux.org/index.php/Domain_name_resolution

でNSSよく知らなかったので調べていた。 NSSはName Server Switchの略。

% cat /etc/nsswitch.conf
# Name Service Switch configuration file.
# See nsswitch.conf(5) for details.

passwd: files mymachines systemd
group: files mymachines systemd
shadow: files

publickey: files

hosts: files mymachines myhostname resolve [!UNAVAIL=return] dns
networks: files

protocols: files
services: files
ethers: files
rpc: files

netgroup: files

mymachinesman nss-mymachines すると説明が読める。systemd-machined に登録されてるマシンを名前解決してくれるっぽい。べんり... この中の resolveman nss-resolve すると systemd-resolved 経由で解決すると書いてる。

       To activate the NSS module, add "resolve" to the line starting with "hosts:" in /etc/nsswitch.conf. Specifically, it is
       recommended to place "resolve" early in /etc/nsswitch.conf's "hosts:" line (but after the "files" or "mymachines" entries),
       right before the "dns" entry if it exists, followed by "[!UNAVAIL=return]", to ensure DNS queries are always routed via
       systemd-resolved(8) if it is running, but are routed to nss-dns if this service is not available.

なるほどなあ(脇道)

名前解決したいのは .test ドメインだけなのでそのための設定方法を man resolved.conf して調べる

       /etc/systemd/resolved.conf

       /etc/systemd/resolved.conf.d/*.conf

       /run/systemd/resolved.conf.d/*.conf

       /usr/lib/systemd/resolved.conf.d/*.conf

この辺におけばいいっぽい

で、なんか man resolv.conf してもでないなあと思って調べたら man-pages パッケージ入れないとマニュアル見れないっぽい。

# pacman -S man-pages した。

なんかでもやっぱり特定ドメインだけ通信ふりわけるみたいなのはdnsmasqなり入れないとだめだな。 雑にhostsに書き出すことで対処する(だめです)

るりま

昨年、るりまでSEO頑張ってるけどなかなか上に表示されないので協力をお願いしたいみたいなメール1を送ったところ対応してもらえた。感謝。

本サイトは今後閉鎖する予定です。 Rubyリファレンスについては、るりまプロジェクトによる「るりまサーチ」のご利用をおすすめします。 https://ref.xaio.jp/ruby

RuboCop

これを見ていて

github.com

こうかなと思ったので書いた

github.com

RuboCopなんもわからん


  1. 実際はもっと無作法な文体

2020/01/05 にっき

Google Nest miniセットアップ

届いてから全然やっていなかったのでやった。 ついでに部屋の整理とデバイスの再割当てをした。 部屋が狭いので2台あってもなんとも微妙な感じになっている。

Spreadsheet更新

IFTTTとSpreadsheet連携させてVUIで育児イベント記録をしているんだけど、1000行超えると新たなSpreadsheetが作られる仕様で、そのへんが若干面倒 解決策はわかっていてシート更新のタイミングで

  • 1000行を超えそうなタイミングでSheet 1をリネーム
  • 空っぽのSheet 1を作る

というスクリプトを走らせればよい。

だ、誰か頼む....

Rbbcc試す

試しました

scrapbox.io

rubocop-rails

雑なPull Requestを作った

github.com

これ見て「なるほどなあ」と思って出したけどこれであっているかは不明

commits.hatenablog.com

2020/01/03 にっき

ruby-signatures

自分で NilClass アサインしておいて何もしていなかったので活動をした

github.com

warning出てたので消した

github.com

pockeさんのPull Reqestに対抗して出した

github.com

けど2.6.5でおちちゃう。明日見るか。ねる。

イオンへいった

ビレバンの優待が余っていてなんかいいのないかな〜と思って子と見に行ったんだけど子と同時に持ち帰るにはもう1人必要なことに気づいて買わずに帰った

Miスマートバンド4設定した

ずいぶん前Fitbit使っていたけど電池の切れ目が縁の切れ目な感じで使わなくなってしまった。 きょう半日使ってみたけど子を抱っこしながらも通知雑に確認できるのとか、音だと気づかない着信や通知に気づくようになるのがべんり。 心拍数がわかるようになってたり子の写真表示できるのがいい。

あと腕に付けてるデバイスだっこ中に子が触るので触っても特に何も大変なことが起こるわけではない安心感がある。 これがApple WatchだとApple Watch Appによってはいろんなことされてしまう気がする。

雑感

年末年始の親戚周りと葬儀に出たりとかであまり草は生やせていない。 スーツきなさすぎてカビてたので新しくスーツ買いたい。 なんかセミオーダーぐらいでピッタリのを欲しい。 髪の毛が奇抜な色じゃないので何もしなくても出席して大丈夫な気持ちになれて便利。 古い写真ほど探せる状態でオンラインに保存しておくと、何かの折に見せることができて便利。

ソーシャルメディア

SNSと書いてあると読みたくない気持ちになるのをやめたい

note.com

ざっとよんだ

le-mal-du-pay.goat.me

2019/12/30 にっき

最近さぼりがちだったので書くことにした、休んだときしれっと投稿しはじめるほうがいいのは学校もブログも同じなんだよな...

ruby-signature

読んだ

github.com

修正で積んでもらったコミットを読んでいた github.com

修正コミット、自分のforkしたリポジトリに積めるんだ!?とちょっとびっくりしていた

help.github.com

true/false/nilは、特定のメソッドがboolじゃなくてtrue/falseを返すことが確定してたりして、若干特殊なケースぽい。 型検査器とセットでいろいろ試さないとなんか使い勝手で困りそうな気がする。

TypeScriptの場合は一番詳しい型から徐々にゆるい型の順序でオーバーロードを書くのがよいよう

In order for the compiler to pick the correct type check, it follows a similar process to the underlying JavaScript. It looks at the overload list and, proceeding with the first overload, attempts to call the function with the provided parameters. If it finds a match, it picks this overload as the correct overload. For this reason, it’s customary to order overloads from most specific to least specific. www.typescriptlang.org

FalseClass型付けた github.com

旅先の服装調べるときにここが便利っぽい wear.jp

GitHubのコミュニティ情報はべんり

ライセンス抜けてたりしないか✓してくれる

https://github.com/ruby/ruby-signature/community

ボーイスカウトルールのジェンダーニュートラルな言い換え

こないだ調べたときはリブランディングでScouts BSAになったしScout Ruleでどうでっしゃろ?的な記事をみつけたんだけど

dev.to

Scouts BSAが訴えられていた

nypost.com

Twitterググるとこれがひっかかって

リプライツリーのhappy camper ruleとかCampsite Ruleそういうのがよさそうな感じだった(Campsite Ruleはなんか別の本の内容が出てきて若干紛らわしい)。部活動をしていたころ「きたときよりもうつくしく」みたいな謎単語があった気がする。

RuboCopでrubocop-rubycwだけを使う.rubocop.ymlの設定方法

この記事は rubocop-rubycw アドベントカレンダーの2日目の記事です。 1日めはpockeさんの rubocop-rubycw とは、でした。 実在しないアドベントカレンダーなので明日はないです。 導入して自分で3日目を名乗りましょう。 pocke.hatenablog.com

全容

require: rubocop-rubycw
AllCops:
  TargetRubyVersion: 2.6 # このバージョン指定は.ruby-versionやGemfileでのrubyのバージョン指定がある場合不要
  DisabledByDefault: true # デフォルトだと勝手にオンになっているCopがあるので一旦全部切っておく
  Exclude:
    - 'test/**/*_test.rb' # テストぐらいはおおらかに書きたい場合こうしておくとべんり
    - 'vendor/bundle/**/*' # ここにはCIサーバー等でbundle installする先なども含めて書く
Rubycw/Rubycw:
  Enabled: true

rubocop-rubycw だけを使うといいところ

  • warningを消しました、みたいなPull Requestを生まれる前から消し去ることができてとても便利
  • CIのテスト実行画面へ行ってwarningが発生してないか目grepで確認する必要がなくなって便利 (これは一種の才能でできない人間もいっぱいいる、自分はできない)
  • rubocopの設定を全く考えなくていいわりに実際に発生する可能性のあるrubyの警告を検知できてコスパがよくて便利

まとめ

いかがでしたか? rubocop-rubycw だけを入れるならrubocopの設定もあまり考えなくても使えるし、とても便利です。 なにもcop入れてない場合まず最初に入れるCopとしてお手軽便利です。ぜひ導入してみましょう!

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/