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 にコメントしておいた
レビューした
特に権限ないので緑ではない白いチェックの野良レビュー
issueがいくつか立っていて便利そうだった。実装してくれる人だれか...!
TypeScriptだとなんか計算できて便利
テスト書いてるとかなり欲しくなるやつ
ブランチカバレッジの型バージョン、あると便利そう
ruby-jpだと #types チャンネルでカジュアルに聞けるけど英語だとどこでやればいいのか感ありそう
これも書いてるとほしくなるやつだ
extensionで書いてるメソッドにもコメントつくようになって便利そう、RDocのstoreからシングルトンメソッド引くときは ::
で引くのか。
Firefoxでクライアント証明書いれる
設定からプライバシーとセキュリティのとこの証明書の項目で証明書の表示をするとなんか出てくるのでそこでインポート押してp12選ぶとよい
カーソル最大化
設定したのだった。べんり。でもなぜかChromeの上だと小さくなっちゃう。不便。
最初にみたのmoroさんの画面でそのときはデカくね?と思ったけど設定してみるとカーソル探し迷子になることがなくなってかなり便利なのだった。ただしツールチップを多用しているサイトは死ぬ。
RailsアップグレードWikiが欲しい
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
べんりだなあ。
マージした
これはRequest changesのままなのを確認した
昨日のマージを振り返っているんだけど、これ意見でつくしということでマージされていてめでたい。
この横スクロールの件はこないだのCSSの修正で気にしなくても良くなったような気がしなくもない
静音キーボード
普通に打鍵していると普通にうるさいがRealforceの全キー30gとかよりはましな気がする。
いろいろ読んだ感想コーナー
SIMD化めちゃくちゃ早くなっててすごい
会場
Misc #16487: Potential for SIMD usage in ruby-core - Ruby master - Ruby Issue Tracking System
自分たちの組織に合わせたRedmineは使いやすいみたいな感じでちゃんとは読んでないんだけどSaaSに比べると運用で我慢みたいなのがないし自由ソフトウェア最高みたいな気持ち(読みたいように読んで全部ここに持っていく節がある)
6まで上げる業みたいなのめちゃくちゃ必要そう...
キーワード引数禁止Copみたいなのがあるとキーワード引数の移行自体が発生しなくて便利な可能性がある。
なんかSlackで雑煮の話題が流れてきていて沖縄では正月は中味汁が定番なので、文化の違いを感じる。伝統的な雑煮食べに一般家庭お邪魔したい。キッチハイク使えばいいのだろか。
沖縄、ふつうの観光あきた人むけにこの本をすすめたい気がしつつ人を選ぶ気がしている。
沖縄、おもしろ横断歩道とか存在していたりする。
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
unzip
と file-roller
が衝突しちゃったので2つとも消して unzip-iconv
と file-roller-ja
に置き換え。
これでいけるっぽい
unzip -O cp932 ファイル名
なるほどなあ、環境変数の設定は今回していないけどしておいたほうがいいのかも
「unzip-iconv」をインストールし、.xinitrc等に以下の環境変数を設定します。
export ZIPINFOOPT="-OCP932" export UNZIPOPT="-OCP932"
これにより、unzipをフロントエンドに使用するアプリも文字化けせずに使用できます。
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
ここがかなり参考になりそう
ruby-jp
Twitterで拾った話題が関連してそうなので雑にチャンネルにinviteするみたいなのをやった
表計算等
そういえば入れてなくて困りそうなので入れた
# pacman -S libreoffice-fresh
るりま
マージしたけどENVのサンプルコード実際にありそうな例で書いたほうがいいのかなあという気持ちにもなってきた ないよりあったほうがいいのでマージしてから困った人がいたら直せばいいのかな...
このへんあるけど今日はねる
rubocop
.rubocop.yml
ない場合はこれで直るけど発端になったissueはこれではなおらないっぽい。むずかしい。
2020/01/06 にっき
SQL Client
bdash入れてみた
% yay -S bdash
タブ消化
私はつよくなさそう
200、、、、
ruby-signature
Symbol
をやる
まあぼちぼち今週あたりで終わらせたい
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
mymachines
は man nss-mymachines
すると説明が読める。systemd-machined
に登録されてるマシンを名前解決してくれるっぽい。べんり...
この中の resolve
は man 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
これを見ていて
こうかなと思ったので書いた
RuboCopなんもわからん
-
実際はもっと無作法な文体↩
2020/01/05 にっき
Google Nest miniセットアップ
届いてから全然やっていなかったのでやった。 ついでに部屋の整理とデバイスの再割当てをした。 部屋が狭いので2台あってもなんとも微妙な感じになっている。
Spreadsheet更新
IFTTTとSpreadsheet連携させてVUIで育児イベント記録をしているんだけど、1000行超えると新たなSpreadsheetが作られる仕様で、そのへんが若干面倒 解決策はわかっていてシート更新のタイミングで
- 1000行を超えそうなタイミングでSheet 1をリネーム
- 空っぽのSheet 1を作る
というスクリプトを走らせればよい。
だ、誰か頼む....
Rbbcc試す
試しました
rubocop-rails
雑なPull Requestを作った
これ見て「なるほどなあ」と思って出したけどこれであっているかは不明
2020/01/03 にっき
ruby-signatures
自分で NilClass
アサインしておいて何もしていなかったので活動をした
warning出てたので消した
pockeさんのPull Reqestに対抗して出した
けど2.6.5でおちちゃう。明日見るか。ねる。
イオンへいった
ビレバンの優待が余っていてなんかいいのないかな〜と思って子と見に行ったんだけど子と同時に持ち帰るにはもう1人必要なことに気づいて買わずに帰った
Miスマートバンド4設定した
ずいぶん前Fitbit使っていたけど電池の切れ目が縁の切れ目な感じで使わなくなってしまった。 きょう半日使ってみたけど子を抱っこしながらも通知雑に確認できるのとか、音だと気づかない着信や通知に気づくようになるのがべんり。 心拍数がわかるようになってたり子の写真表示できるのがいい。
あと腕に付けてるデバイスだっこ中に子が触るので触っても特に何も大変なことが起こるわけではない安心感がある。 これがApple WatchだとApple Watch Appによってはいろんなことされてしまう気がする。
雑感
年末年始の親戚周りと葬儀に出たりとかであまり草は生やせていない。 スーツきなさすぎてカビてたので新しくスーツ買いたい。 なんかセミオーダーぐらいでピッタリのを欲しい。 髪の毛が奇抜な色じゃないので何もしなくても出席して大丈夫な気持ちになれて便利。 古い写真ほど探せる状態でオンラインに保存しておくと、何かの折に見せることができて便利。
ソーシャルメディア
SNSと書いてあると読みたくない気持ちになるのをやめたい
ざっとよんだ
2019/12/30 にっき
最近さぼりがちだったので書くことにした、休んだときしれっと投稿しはじめるほうがいいのは学校もブログも同じなんだよな...
ruby-signature
読んだ
修正で積んでもらったコミットを読んでいた github.com
修正コミット、自分のforkしたリポジトリに積めるんだ!?とちょっとびっくりしていた
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でどうでっしゃろ?的な記事をみつけたんだけど
Scouts BSAが訴えられていた
Anyone have a good gender-neutral variant of the "Boy Scout Rule"? https://t.co/8yTaXCnm7M
— Pete Hodgson (@ph1) August 11, 2017
リプライツリーの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としてお手軽便利です。ぜひ導入してみましょう!