ブックマーク / pocke.hatenablog.com (15)

  • 正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap

    こんにちは。正規表現でかんたんにCopを書けるRuboCop拡張を作ってみたので紹介します。 github.com 使い方 まず、ほかのRuboCop拡張と同様にgemをインストールし、.rubocop.ymlのrequireにこのgemを指定してください。 この拡張は設定をしないと何も動きません。次のように.rubocop.ymlに設定をします。 Grep/Grep: Rules: # シンプルな例。正規表現にマッチした場合に、このCopが警告をします。 - Pattern: '\bENV\b' Message: Do not refer ENV directly. # パターンはArrayにして複数の正規表現を含めることができます。 - Pattern: - 'binding\.irb' - 'binding\.pry' Message: 'Debug code remains' #

    正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap
    hazeblog
    hazeblog 2023/03/06
  • 岡山で暮らす - pockestrap

    adventar.org この記事は地方在住Advent Calendar 25日目の記事です。 東京都目黒区から岡山に引っ越してきて1年ほど経ちました。 1年間住んでみて分かったことを記事にしようと思います。 Advent Calendarと関係なくもともと記事を書こうと思っていたのですが、どうせなら人を巻き込んだほうが面白いかなと思ってAdvent Calendarを作りました。数枠埋まれば良いかなと思っていたら、なんと20枠も埋まりました。書いていただいた皆様、ありがとうございました。 以下題 住んでいる地域 岡山市内に住んでいます。 もともと、岡山駅近辺の路面電車が走っているエリアで家を探していました。 しかし結局はそのエリアからは少し外れた、郊外の住宅街という感じのエリアに住んでいます。 郊外を選んだのは、結果としては正解だったなと感じています。 岡山駅近辺だと高いビルがたくさ

    岡山で暮らす - pockestrap
    hazeblog
    hazeblog 2021/12/26
  • 近況 2021 - pockestrap

    おはようございます。ぽっけです。2021年12月21日目の、朝…じゃないな、夜です。 この記事はRubyist近況Advent Calendar 2021 21日目の記事です。 20日目は id:Sixeight さんの近況でした。Ruby Prizeのお祝いありがとうございます! 私はキーボードはずっとHHKB Pro 2 Type-Sをつかっています。 この記事では、ここ1年ぐらいの自分の話を適当に書こうと思います。 退職 日が株式会社ビットジャーニーへの最終出社でした。近況っぽい話ですね。2019年の2月に入社したので、3年弱在籍していたことになります。 1.7ヶ月ほど無職を満喫します。旅行に行きたいけど、コロナが厳しそうで悲しい……。 次の会社ではRailsアプリケーションエンジニアとしても働きますが、業務としてRBSの開発も行う予定です。1 Ruby Ruby関連では、コミッタ

    近況 2021 - pockestrap
    hazeblog
    hazeblog 2021/12/21
  • RubyKaigi Takeout 2021 に登壇した - pockestrap

    RubyKaigi Takeout 2021 に登壇しました。 rubykaigi.org スライドはこちら。 docs.google.com 今回は、Ruby 3.1に向けてRBSはどのような機能追加を予定しているのか、という話をしました。私が最近開発しているrbs collectionコマンドを中心に据えて、soutaroさんが開発予定のRBS言語仕様のアップデートについても紹介しました。 内容について 今回の発表は新機能の紹介がメインになりました。そのためテクニカルなトークはあまりできなかったかなあ、と少し反省しています。どこかでrbs collectionのもう少し実装よりの話をできると良いかも知れないですね。 とはいえ、その分新機能の紹介にしっかり時間を使って紹介はできたかなと思っています。 また、RBS言語仕様のアップデートについてはRBSの作者のsoutaroさんに内容のサポ

    RubyKaigi Takeout 2021 に登壇した - pockestrap
    hazeblog
    hazeblog 2021/09/11
  • RuboCop で `#each` がブロックの戻り値を使わないことを思い出せるようにした - pockestrap

    問題 以下のようなコードは、恐らくバグになります。 json = users.each do |user| id = user.id full_name = user.full_name { id: id, full_name: full_name, } end render json: json これはidとfull_nameをもったオブジェクトの配列をjsonでrenderするように見えます。 ですが、実際にはuserに含まれる全ての(idやfull_name以外も)情報がJSONとして返ってしまうでしょう。例えば、passwordなどが入っていたら目もあてられません。 また、idやfull_nameは(恐らく)JSONとしてrenderされるため、開発をしていても問題に気が付かない可能性があります。 原因 この問題は、Array#eachをArray#mapと間違って使ってしまったこ

    RuboCop で `#each` がブロックの戻り値を使わないことを思い出せるようにした - pockestrap
    hazeblog
    hazeblog 2021/08/05
  • Rails 7で導入される invert_where メソッドが危険そうだったので調べた - pockestrap

    この記事は現時点(2021-04-28)のrails/railsのmainブランチの最新のコミットでテストしています。 TL;DR invert_whereはすべてのwhereをinvertする 使い方によっては意図しない条件をinvertして危険 invert_whereとは invert_whereは、Rails 7でActiveRecord::Relationに追加される予定のメソッドです。 このメソッドは、relationにチェーンして呼び出すことで、それまでのwhereの条件を反転できます。 つまり次のようになります。(CHANGELOGから引用) class User scope :active, -> { where(accepted: true, locked: false) } end User.active # ... WHERE `accepted` = 1 AND

    Rails 7で導入される invert_where メソッドが危険そうだったので調べた - pockestrap
    hazeblog
    hazeblog 2021/05/02
    こわ
  • Ruby コミッターになりました - pockestrap

    先日mameさんとsoutaroさんに推薦をいただいて、Rubyのコミッターになりました。 やっていること Ruby 3の新機能である静的型解析のためのRBSを、前述のmameさんsoutaroさんに助けられながら担当しています。 自分がメインで見ているものには、RubyのコードからRBSを生成するrbs prototypeコマンド群があります。 その他にも標準ライブラリの型を書いたり、RBS言語の構文をいじったり、なんとなく全体的に見れるものは見ています。 またgem_rbs_collectionという、GemのRBSを管理するリポジトリも担当しています。 個人的なプロジェクトのRBS Railsに関連して、特にRailsが持つ各種GemのRBSを管理しています。 静的型以外では、Ruby語リファレンスマニュアル(通称るりま)のメンバーでもあるため、るりまの作業中に見つかった問題を

    Ruby コミッターになりました - pockestrap
    hazeblog
    hazeblog 2021/03/12
    うおおすごい👏👏👏👏
  • 読書 2021 - pockestrap

    最近の自分の読書スタイルについてまとめてみる。 基的にKindleを読んでいる。物理は読むことが少ないので、例外ケースという感じ。この記事で書くほどのことではない。 基的に読書をする状況ごとに別のを読んでいる。また、ごとにつかうデバイスは固定している。1つのをいろんなデバイスで読んでいると、切り替えがだるい。 主に次の4つの状況で読書をしている お風呂 寝る前 ドライヤー中 すきま時間 また、これとは別に娯楽として漫画を大量に読んでいる。 各状況ごとの読書スタイル 状況ごとに違うスタイルで読書をしているので、以下で各状況について書く。 お風呂での読書 一番時間を取っているのがお風呂での読書だと思う。1回の入浴で30分以上は読書に使っていると思う。ほぼ毎日。 お風呂ではKindle Paperwhite (多分防水)を使って読んでいる。お風呂の蓋のでこぼこにKindleをはさ

    読書 2021 - pockestrap
    hazeblog
    hazeblog 2021/02/22
  • Kernel.#systemの型はむずかしい - pockestrap

    adventar.org この記事は ruby-signature advent calendar 23日目の記事です。 今日が祝日じゃないと今月に入ってから知りました。 私はruby-signatureにKernel.#systemメソッドの型を修正するPRを出しました。 https://github.com/ruby/ruby-signature/pull/76 systemメソッドの型は思ったより難しかったので、それについて紹介しようと思います。 今までの型定義 まずは、Kernel.#systemメソッドの型定義を見てみましょう。 このPR以前は次のような型定義でした。 https://github.com/ruby/ruby-signature/blob/55824c808d6f07c61f9e60a52e4b9ad2ddeb2a42/stdlib/builtin/kernel.

    Kernel.#systemの型はむずかしい - pockestrap
    hazeblog
    hazeblog 2019/12/23
  • Ruby界隈の大統一Slackワークスペースがほしい - pockestrap

    TL;DR https://join.slack.com/t/ruby-jp/shared_invite/enQtNzE1NDg1ODE2MDM2LTE1NTc2Y2M0ZThlNzdmOWEyZjYwZjdhZDAwNjNhMGE0NDJiODcwMTNkZWRjOTgyMzNkZjEyMmQ1ZWYyNzkzYzk に入るといい感じになってほしい このブログの内容は私個人の意見であってこのSlackコミュニティ全体の意見ではないです 何が欲しいのか vim-jpのSlack1がとてもうまく回っていて、これがRubyコミュニティにもほしい。2 vim-jpのSlackでは、雑談、質問、記事やプラグインの宣伝、Vim体の開発、プラグインの開発、流行りのプラグイン、地域Vimイベント、各言語とVimの話、ランチ料理、スロット、バンクーバー情報などなどとても雑多に色々話されている。 これは

    Ruby界隈の大統一Slackワークスペースがほしい - pockestrap
    hazeblog
    hazeblog 2019/08/02
  • 8割働く - pockestrap

    前回までのお話 pocke.hatenablog.com 転職して5ヶ月程が経った。 現職では労働時間を普通の8割程度まで減らして働いている。 労働時間を減らして働いていることについてよく質問されるので、どんな感じに働いているかを記事にすることにした。 勤務形態 正社員、コアタイムなしのフレックスでやっている。 8割程度ということで、1日6.5時間を目安に働いている。 週4日勤務も考えたが、丸1日いないのと毎日1.5時間いないのとでは後者のほうが働きやすいかなと思い後者を選んだ。 8時間集中し続けるのは疲れるので、1日当たりの時間を減らす方が自分に合っていると思う。 だいたい週3日ほどリモートワークをしている。 これもあって自由にできる時間はだいぶ増えたと思う。 勤務時間 フレックスタイム制ということで、毎日厳密に6.5時間働いているのではなく、適当に前後しつつやっている。 基的に10時

    8割働く - pockestrap
    hazeblog
    hazeblog 2019/06/30
    よい…
  • Itamaeのテストを壊してしまっていた話 - pockestrap

    日、Itamae v1.10.4がリリースされました。 Itamae v1.10.4 released! thanks @p_ck_ !https://t.co/rcUOukG0Ag— うなすけ (@yu_suke1994) May 10, 2019 このリリースには私のPull Requestがいくつか含まれています。 この記事ではそのうちの1つのPull Requestについてお話しようと思います。 そのPull Requestでは、過去に私がItamaeのリポジトリに対してやらかした失敗を修正しています。 この記事を読むことで、同様のやらかしを未然に防げるようになれば嬉しいです。 問題: テストが走っていない github.com 該当のPull Requestがこれです。 要約すると、「走るべきテストが走らなくなっていたから直した」というPull Requestです。 原因 原因

    Itamaeのテストを壊してしまっていた話 - pockestrap
    hazeblog
    hazeblog 2019/05/11
  • 髪の長い生活 - pockestrap

    髪の長さ 腰まであるロング。 床に正座をしてピンと背筋を伸ばしても、必ず床に髪が付く程度に長い。 髪の量も少なくはないと思う。 伸びるまでの期間 おおよそ5年ぐらい伸ばしていると思う。 髪型 最近はほとんどの場合でバナナクリップを使ってポニーテールにしている。 髪を留める手間が少なくて一番楽。 ただバナナクリップはプラスチックでできていて弱いので、半年ぐらい使っていると髪の圧で破壊される。 髪を留めているとちょっと疲れる1ので、髪をおろしていることも多い。 ただ髪をおろしていると動きづらいので、動く際には髪を留めないとしんどい。 かんざしを一度買ったが、髪が長すぎるのかまとめるのが下手なのかうまく留めることができなかった。 抜け毛 髪の長さと抜け毛の数には相関がないと思うが、1あたりの長さが大きくなるので抜け毛が目立つ。 床に髪の毛が落ちているのが気になるので、ルンバを酷使している。

    髪の長い生活 - pockestrap
    hazeblog
    hazeblog 2019/03/31
    "髪の除去にはビニールの袋を手袋のようにして使っている。スーパーで野菜や肉を買った時の袋はこのためにバスルームに保管してある。" いいこと聞いた
  • Webサービスのアカウント作成に性別が必須であることに対する気持ち - pockestrap

    TL;DR 嫌い 性別を入力させたい気持ちはわかることもある でも嫌い 前置き、もしくは予防線 私のセクシャリティは明示しません。 これはめちゃくちゃ不親切でこんな記事を書くならセクシャリティを明示してどの視点から見るとこういう気持ちになるかはっきりさせろと自分でも思うのですが、セクシャリティを明示する気持ちが全然ないので明示しません。 基的に個人の気持ちが書いてあります。 セクシャルマイノリティ / マジョリティに限らず、私と違う気持ちを持つ人は多くいるでしょうし、それが間違っているとも思いません。 この前置き以外にも暗黙的なコンテキストが含まれていると思います。 私はWebエンジニアなので、Webエンジニアとは共通した暗黙的なコンテキストの上に記事が書かれていると思います。 一方例えばセクシャルマイノリティの界隈とは距離が遠いので、そちらのコンテキストを強く持った人には伝わっていない

    Webサービスのアカウント作成に性別が必須であることに対する気持ち - pockestrap
    hazeblog
    hazeblog 2019/03/25
    わかる
  • 近況 - pockestrap

    最近アラサーになりました。pockeです。 前回までのお話: 近況 – Masataka Pocke Kuwabara – Medium TL;DR 2018年11月末付でクックパッド株式会社を退職しました。 2019年2月1日付で株式会社ビットジャーニーに入社しました。 何故退職したのか 働く時間を減らしたかったからです。週5日、1日8時間働くのはつらい1。 そのため次の職場では、勤務時間を減らして働きます。 当はもっと前職について良かったことも悪かったことも書きたかったのですが、遅筆なのでやめました。 知りたい人がいたら適当に聞いてください。 転職までの期間について ほそぼそとフリーランスとして働きつつ2、基的には無職を謳歌していました。 この期間中には、ナンバープレースのスマホアプリや、koratというGitHubのIssue Readerを作成しました。3 pocke.hate

    近況 - pockestrap
    hazeblog
    hazeblog 2019/02/04
  • 1