$shibayu36->blog;

株式会社アンドパッドでエンジニアをしています。プログラミングや読書のことなどについて書いています。

tech

ミーティングが効果的になるように、自分がよく使うミーティングテンプレート

何かを進めようと思ってミーティングをとりあえず入れるというのをしてしまうことも多いが、適当にやるとミーティングが終わったが何も進んでいないとなりがちだ。そうならないように、自分用のミーティングテンプレートを作っているので、ブログに書いてみ…

RubyKaigi 2022にオフライン参加しました

ANDPADに入社してRubyistになったのでRubyKaigi 2022にオフライン参加してきました。 rubykaigi.org 久しぶりのオフラインカンファレンス参加、本当に楽しかったです。最近オンラインのカンファレンスや勉強会に行っても中々いろんな人と話す機会が持てず、…

Findyさんのイベントで「今の生産性向上活動で大切にしている考え方」という発表をしました

開発生産性を高めるヒントを最前線で働くエンジニアによる取り組みから考える会 - connpassのイベントで、「今の生産性向上活動で大切にしている考え方 〜開発チームに属した改善活動から得た気づき〜」というタイトルで、開発生産性に関する発表をしてき…

Re: チームのベロシティを上げる vs. 安定させる

yigarashi.hatenablog.com これが良い話だなと思ったので感想メモ。 「安定させる」のは良い。安定しないならチームの開発フローに問題が起こっていることが多く、「なんでブレちゃうんだっけ?」という議論からチームの課題が見つかることが多い。安定させ…

コード変更で抜け漏れやミスを少なくするための習慣

自分はこれまでの仕事で、バグ修正や機能追加でPullRequestを送るときに、考慮の抜けもれやケアレスミスが非常に少ない方であると思っている。振り返ってみて、これは自分に課している習慣が大いに効いていると思っているので、メモしておく。 毎回のcommit…

GitHub ActionsでRuboCopのキャッシュを利用する

RuboCopはキャッシュファイルを作成し、2度目以降の実行を高速化するのですが、GitHub Actionsでキャッシュを利用するために工夫が必要だったのでメモしておきます。 小規模なプロジェクトの場合 小規模なプロジェクトでRuboCopの実行時間がある程度ありキャ…

More Effective Agile読んだ

More Effective Agile “ソフトウェアリーダー”になるための28の道標作者:Steve McConnell日経BPAmazon 読みました。アジャイル開発やスクラム開発をしている時に取り入れると良いプラクティスを大量に知ることができて良かった。 印象に残ったのは以下の項目…

スケールする組織を支えるチームタイプやチームインタラクションを学ぶ - チームトポロジー読んだ

チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計作者:マシュー・スケルトン,マニュエル・パイス日本能率協会マネジメントセンターAmazon 読みました。非常に良かったので、スケールする組織をどうやって作るか考えている人は一読する…

意図せず外部へのネットワークアクセスをしているテストを、WebMockを使って徐々に外部アクセスを減らす話

最近担当しているRubyのプロジェクトで、テスト実行中に外部のサービスに意図せずアクセスしている(たとえばexamle.comへGETリクエストしていたなど)ケースがあった。これはまずいなと思い、WebMockを使って徐々に外部アクセスを減らしていっているので、…

GitHub Actionsが失敗したらSlackに通知する with Slack Workflow + slack-github-action

GitHub Actionsのjobが失敗した時に簡単にSlackに通知する方法を探していたら、Slack公式のツールを使えば結構簡単にできたので共有します。Slack Workflowとslack-github-actionを組み合わせると良い。 できたもの ジョブが失敗した時だけ、以下のようにSla…

Devise gemのsign_outを引数なしで呼ぶと全セッションをクリアしてしまう

表題の問題でハマりました。Devise gemのsign_outを引数なしで呼ぶと、Devise管理かどうか関わらず全てのセッションをクリアしてしまうので気をつけましょう。 Deviseのsign_outを引数なしで呼ぶと、sign_out_all_scopesを呼ぶ https://github.com/heartcomb…

マイクロサービス化や大規模リファクタリングの手順を学ぶ - モノリスからマイクロサービスへを読んだ

本当に最高の本でした。マイクロサービス化に取り組んでなかったとしても、規模が一定以上大きいプログラムのリファクタリング手法としても勉強になるので、みんな読みましょう!少なくともマイクロサービス化をしていきたいと思っていて、この本を読んでな…

before_actionなどのCallbacksに登録されているものを知る方法

Railsのbefore_actionとかが何が実行されたか知る方法はあるのだろうか— 柴崎優季 (@shiba_yu36) 2021年11月12日 と悩んでいたが、方法を教えてもらえたり、便利なツールを発見したりしたのでメモ。方法は二つ。 特定アクションアクセス時に登録されているCa…

Auth0でユーザーがMFAの設定をしている時のみMFA検証フォームを出す

ユーザー設定画面にMFAの設定画面があり、それが設定されているときだけログイン後にMFAのフォームを出したいという要求はよくある。これをAuth0を使っている場合に達成したかった。しかし、Enable Multi-Factor Authenticationなどを見ても、全体に有効/無…

git grepの結果に、その行を書いたAuthorを表示する

あまり知らないコードを触るときに、周りのコードを参考にしたいことが多い。しかし、そのコードの技術スタックに詳しくない場合、どのコードは筋が良いかというのが全く分からないことがある。そういう時に、その分野に知見がある人が書いたコードを参考に…

「価値が最低の段階で問題発見し解決すべき」と「ソフトウェア開発のプラクティス」

最近「HIGH OUTPUT MANAGEMENT」を読んでいて、製造工程では「価値が最低の段階で問題発見し解決すべき」という話が出てきた。この言葉を見て、ソフトウェア開発のプラクティスも結局こういう話だなと思った。例えば リーン開発は、価値最小の段階でユーザー…

rubocopでの自動フォーマットを高速化する

VSCodeでrubocopを使って自動フォーマットをしているのだが、フォーマットが本当に遅くてめちゃ困っていたのが完全に解決して感動したので記事だけ共有。 dev.to formatに3秒くらいかかっててマジつらい...って感じだったのが1秒未満とかになったので本当に…

今いるレポジトリのPR一覧をpecoで絞り込んでcheckoutする便利コマンド作った

OSS活動とか仕事をしてる時に、PRをチェックアウトするのだるいなと思っていた。そこで「今いるレポジトリのPR一覧をmodified順に出力し、pecoで選択したものをcheckout」出来たら便利だろうということで作った。 できたもの やり方 まずhubとpecoをインスト…

Auth0を試した

自分でサービス作るときにもう認証を自前実装するのは嫌だよなあと思っていてAuth0が気になっていたので試してみた。 Auth0のコンソールでアプリケーションの新規作成をした後、とりあえず使えるようにするだけのコードは https://github.com/shibayu36/type…

開発組織をスケールする方法を学びたい - 「ユニコーン企業のひみつ」を読んだ

開発組織が拡大しても、一人当たりの生産性を落とさずに、かつ顧客にとって本当に必要なものを作り続けるにはどうしたら良いのか考えている。その一環として「ユニコーン企業のひみつ」を読んだ。 ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづく…

ペア制度を導入して、開発チーム内の相談しやすさ向上・知見展開・透明性向上を狙う

最近プロジェクトマネジャーを担当していた仕事で、開発チーム内の相談しやすさ向上・知見展開・透明性向上・WIPタスク数減少を狙ってペア制度というのを導入した。今回は導入した背景、導入した仕組み、そしてその振り返りについてブログに書いておきたい。…

開発パフォーマンス指標とバリューストリームマップでチーム改善をする

以前Pull Requestから社内全チームの開発パフォーマンス指標を可視化し、開発チーム改善に活かそう - Hatena Developer Blogの記事で、開発パフォーマンスを可視化する話を書いた。その後、バリューストリームマップを作り開発フローの課題を洗い出して、チ…

リモートワークに必要なスキルの言語化を試みる

最近リモートワークでしばらく暮らしたところ、オフィスの時より人によって成果の差が出やすいと感じている。また昔からリモートワークしてきた人の様子を見ていると、仕事の進め方がうまいと感じることが多い。このことから、リモートワークに重要なスキル…

Next.js + GraphQL Nexus + graphql-codegenを試した

2分コーディングで、Next.js + GraphQL Nexus + graphql-codegenを試したのでメモ。 yuyao.me 試した様子は こちらに残しているので参考にしてください。 今回の構成でできること Next.jsのAPI RoutesでGraphQL Serverを実装 GraphQLのサーバ側のSchemaや型…

「プロフェッショナルSSL/TLS」を読んだ

[asin:4908686009:detail] 最近ふとSSL/TLSの仕組みについて知りたくなったので、「プロフェッショナルSSL/TLS」を読んだ。 かなりいろんな話題を網羅していて、かつ具体的な設定例なども書かれていて良かった。TLSに関する仕事をするときや、SSL/TLSやHTTPS…

継続的に学習するために効いたやり方3つ

育児していて時間があまり取れない状況下で継続的に学習するために色々な方法を取り入れているんだけど、その中で最近めちゃくちゃ効いた3つのやり方を紹介。 やりたいことリストを作っておく 今日のTODOリストを作る 2分間コーディング やりたいことリスト…

Next.js + Prisma + NextAuth.js + React Queryを試した

2分コーディングの一環でNext.js + Prisma + NextAuth.js + React Query で作るフルスタックアプリケーションの新時代をやった。とにかく簡単に認証 + DBアクセスがあるアプリケーションを作ってvercelにデプロイできるサンプルが出来て非常に良かった。趣味…

PostgreSQLのSSL接続の様子を観察する

遊びでNode.jsのprismaからherokuのPostgreSQLのDBへ接続しようとしたら、error: no pg_hba.conf entryというエラーが出て困ってしまった。ちょっと調べてみると、herokuのPostgreSQLのFreeなプランはSSL通信を自己署名証明書を使っているためエラーになって…

オフィスでの仕事で何が生まれていたか a.k.a リモートワーク時代でも取り戻したいもの

この一年、オフィスのオフラインでの仕事から、一気にリモートワークのオンラインでの仕事に切り替わった。その中で色々困っていることが共有されているが、特に雑談がしづらくなったというデメリットを見かけることが多い。 そこで今回は、リモートワーク時…

TypeScriptで「Reactを自作しよう」をやってみた

最近2分間コーディングのすすめ、コードを書く習慣のハードルを下げるに触発されて2分間コーディングをやってみている。まずは昔興味が出ていたReactを自作しようをやってみたのでメモ。 やった様子は https://github.com/shibayu36/building-own-react に置…