pockestrap

Programmer's memo

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

2017年まとめ🐈

にゃーん— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年1月2日twitter.com にゃーん— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年1月15日twitter.com にゃーん— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年1月20日twitter.com にゃーん— Po…

2017年に作ったGitHubレポジトリ

42個。作った順 https://github.com/pocke/shakaise-filter ゴミ https://github.com/pocke/stackprof-run これは本当に便利で、stackprofを使う人は使うべき https://github.com/pocke/ruby-pkgbuild Ruby 2.4.0がめちゃくちゃ遅くてつらかったので、2.4.1…

Clean Code for Railsを読んだ

booth.pm 神速さんの同人誌がゲリラ物販されていたから頂いてきた。 pic.twitter.com/JXNwyL0SF9— Pocke(ぽっけ) SW-1309-2807-5790 (@p_ck_) 2017年12月9日 RailsDM 2017の時にいただいた @sinsoku_listy さんのClean Code for Railsを読み終わった。RSpec…

WEB+DB PRESS vol.102からRubyの連載を担当します

こんにちは。id:Pockeです。 12月23日1に発売されるWEB+DB PRESSのVol.102から、Rubyの連載2を担当いたします。 何を書くのか Rubyの連載ということで、もちろんRubyの記事を書きます。 Rubyを使う上での基礎となる技術について書いていきたいと思っています…

RuboCop 0.52.0 のCHANGELOGを読む

RuboCop のバージョン 0.52.0 がリリースされました。 https://github.com/bbatsov/rubocop/releases/tag/v0.52.0 めんどいので駆け足で。 TL;DR 追加されたCop Style/StringHashKeys Style/RandomWithOffset Lint/ShadowedArgument Lint/MissingCopEnableDi…

パソコン組んだ 2017

今まで使っていたPCだとRuboCopのテストに時間がかかってストレスなので、札束で殴ることにした。 RuboCopのテストは並列化することができるので、コア数で殴ることによって高速化が簡単に出来る。 いままでのPCはこちら。 Core i7 6700K, 32GB RAMといった…

Rails Developers Meetupに行った

2017/12/09にRails Developers Meetupに行ってきました。 railsdm.github.io techplay.jp 発表の全体的な印象 まず、Docker関係の発表が多かったように思えます。 Docker Developers Meetupだった Professional Rails on ECS (rails developer meetup 2017) …

`Style/EmptyBlockParameter`(と`Style/EmptyLambdaParameter`)を作った

github.com Style/EmptyBlockParameterとStyle/EmptyLambdaParameterというRuboCopのCopをだいぶ前に追加した。後者はおまけ なにこれ Rubyでは、ブロック引数が存在しない場合でもバー(|)を書くことが出来る。 foo.do_something do foobar end # 上の式とこ…

Style/EvalWithLocation Copを作った

github.com github.com rubocop-jpのissuesにあげたものを、実装してみました。 このCopが対象とする問題 eval族1のメソッドには、コードの位置情報を渡すことが出来ます。 この位置情報は主に例外が上がった際のバックトレースの表示に役立ちます。 https:/…

rubocop-jp/issues を作った。

vim-jp/issues のパクリです。 https://t.co/V6MpMfF3q7 前々から作りたいと思っていた rubocop-jp を作りました。英語でバグ報告とかつらいよーという人のためのアレです。ついでにそのへんの興味ありそうな人を雑にorgに招待しました— Pocke(ぽっけ) SW-13…

exit status が0である間コマンドを繰り返す

id:sinsoku さんのツイートを見て思いついた。 for n in {1..10}; do rspec spec/foo_spec.rb || break; doneそして、稀に落ちるテストが再現するのを待つ— 神速@リリカルエンジニア (@sinsoku_listy) 2017年11月7日 zshのrepeat便利なんだけど、exit status…

VimConf 2017 で Syntax highlighter の話をした

Vim

speakerdeck.com また、作成に使っていたGoogle Slidesへのリンクはこちら。 The new syntax highlighter for Vim - VimConf2017 - Google スライド ボツになったスライドとか、メモとかが見れます。 何を話したのか 私が作っている、新しいVimのSyntax High…

RuboCopのCop数を数える方法

$ rubocop --show-cops | head # Available cops (374) + config for /tmp/tmp.osgxetgoX3: # Department 'Bundler' (3): Bundler/DuplicatedGem: Description: Checks for duplicate gem entries in Gemfile. Enabled: true Include: - "**/Gemfile" - "**/…

stderrが出たらexit 1する

コマンドがstderrを出力したらexit 1をするようなコマンドがほしかったから作った。 github.com 何故必要か 「警告をstderrに出すけど、警告があっても常にexit statusが0のコマンド」をCI上で使っていて、警告が出た場合はCIを落としたかった。 Installatio…

ポートもくもく会 #33 に参加した

久しぶり(半年ぶり以上?)の参加だった 33 、すごい。もうすぐ3週年だって話をしていた 当日はおもに文を書いていた いつも以上におもしろ人間が多くて楽しかった ポートもくもく会は、レベル感もジャンルもいろんな種類の人間が集まって結構面白い LTをした…

RuboCop 0.51.0 のCHANGELOGを読む

RuboCop のバージョン 0.51.0 がリリースされました。 https://github.com/bbatsov/rubocop/releases/tag/v0.51.0 CHANGELOG から変更を見ていこうと思います。 破壊的変更 古い Ruby のサポート終了 https://github.com/bbatsov/rubocop/pull/4789 https://…

parser gemのコミット権をもらった

github.com ここ最近parser gemにいくつかPull-Requestを投げていたら、コミット権をもらった。 Fix performance regression for a string that contains a very long line by pocke · Pull Request #364 · whitequark/parser · GitHub Add `require 'date'`…

学生LT #4 で、Ruby Quiz という LT をした。

タイトルのとおりです。 student-lt.connpass.com speakerdeck.com 何を話したか Ruby のちょっと面白い構文について、クイズ形式で紹介をしました。 (時間が限られていたので、実際にクイズをしたわけではないです…) 前に Meguro.rb で話した Rubyがむずか…

require を忘れる

Ruby のコードをちょっと試したい時、requireを煩わしく感じることがあります。 例えば素数が小さい順に10個欲しくなった時、Rubyist は Ruby でワンライナーを書くでしょう。 $ ruby -e 'require "prime"; require "pp"; pp Prime.take(10)' [2, 3, 5, 7, 1…

RuboCop 0.50.0 のCHANGELOGを読む

RuboCop のバージョン 0.50.0 がリリースされました。 https://github.com/bbatsov/rubocop/releases/tag/v0.50.0 CHANGELOG から変更を見ていこうと思います。 破壊的変更 Naming Department Issue: https://github.com/bbatsov/rubocop/issues/4521 PR: ht…

🍚🅱🚨🚵🎼😬🐦🛐🌘📵🆒🏫✌🎷🍤🐠👨⁉🆒🇷

github.com 生きていると、絵文字が欲しくなる時がある。例えば、ブログのタイトルに迷った時。 そういう時に、サッと絵文字を提案してくれるコマンドがあったら便利ではないだろうか? その願いを叶えてくれるのが、emo コマンドだ。 このコマンドは、go ge…

RubyKaigi 2017 で Lint について話します。

RubyKaigi 2017 で Lint について話します。 rubykaigi.org Lint とは Lint というのは、バグになりうるコードを自動で検出プログラムです。 なにを話すのか Ruby のための Lint を、どう実装するかについて話します。 Lint が検出するコードの例を一つ紹介…

RuboCop-RSpec 1.16.0 の CHANGELOG を読む

RuboCop-RSpec のバージョン 1.16.0 がリリースされました。 https://github.com/backus/rubocop-rspec/releases/tag/v1.16.0 RuboCop-RSpec とは、RSpec 特有の問題を RuboCop で検知するためのプラグインです。 CHANGELOG から、新規追加の Cop を見ていこ…

RubyKaigi 2017 CFP - Writing Lint for Ruby

なにこれ RubyKaigi 2017 に submit した CFP です。この CFP は採択されました。 この CFP を書く時に、RubyKaigiのCFPへの応募例 #rubykaigi - ククログ(2017-06-06) などを参考にしていました。 そのため、私が書いた CFP も公開して、少しでも来年の Rub…

ルンバを買った

一人暮らしをはじめて掃除機が欲しくなったので買った。 型番は870。多分ミドルレンジモデル。 iRobot Roomba ロボット掃除機 ルンバ870 ピューターグレー 870 【日本仕様正規品】出版社/メーカー: iRobot (アイロボット)メディア: その他この商品を含むブロ…

人感センサー付きの照明を買った

最近、一人暮らしをはじめた。その際、部屋に照明が設置されていなかったため何かしら買う必要があり、人感センサー付きのものを買った。 部屋は玄関とキッチン/ダイニングがひと続きになっていて、そこに2つ設置した。 買ったもの アイリスオーヤマ LED シ…

AOJ 0506 をゴルフした

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0506 久しぶりにゴルフをやりたくなったのでやった。AOJの仕様上、コードを短くしても自分の他の解答より実行時間が速くなければランキングにのらない様で、悲しかったのでブログ記事にした。 な…

$ sl | twice # => Run SL twice!

github.com なにこれ 標準出力をリピートするコマンドです。 Installation $ go get github.com/pocke/twice Usage $ echo -n 'hoge' | twice # => hogehoge $ sl | twice # => Run SL twice! また、オプションで繰り返す回数を指定することが出来ます。 $ s…

コマンドを打ち間違えるとコマンドが走るコマンド

Installation 1. banner コマンドをインストールする パッケージマネージャでインストール出来ると思います。 # Arch Linux の例 $ sudo pacman -S banner 2. flowterm という gem をインストールする。 github.com $ gem install flowterm 3. ~/.zshrc に以…

db/schema.rb のコンフリクトを勝手に解決する git merge driver を作った

解決したい課題 Ruby on Rails を使って開発している方の中で、db/schema.rbがコンフリクトした経験がある方は多いのではないでしょうか? 特にスキーマのバージョンはよくコンフリクトします。 diff --cc db/schema.rb index bdb07db,da150fc..0000000 --- …