$shibayu36->blog;

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

tech

部下の困りごとをマネジャーが解決しすぎない方が良い

マネジャーをやっていると、1on1でいろいろな困りごとを相談されたり、雰囲気を感じ取ったりで、部下が困っていることがよく見える。その時「頑張ってマネジャーの自分が解決しないと!」と思い、全部自分で解決してしまうことがある。しかしこのようなやり…

「プロジェクトマネジメントの基本」読んだ

プロジェクトマネジメントをちゃんと学ぼうシリーズ。今回はプロジェクトマネジメントの全体像を知るために、「プロジェクトマネジメントの基本」を読んだ。 プロジェクトマネジメントの基本 この1冊ですべてわかる作者:好川哲人発売日: 2014/05/30メディア…

「デッドライン」読んだ

最近プロジェクトマネジメントをちゃんと学ぼうと思って色々読んでいる。今回はデッドラインを読んだ。 デッドライン作者:トム デマルコ発売日: 2013/08/23メディア: Kindle版 読み物として普通に面白かった。また「チームの結束については、既存のチームを…

「ピープルウェア 第3版」読んだ

昔読んだけど、プロジェクトマネジメントや組織マネジメントをしてきた今だからこそもう一度読みたいなと思い、読んだ。 ピープルウエア 第3版作者:トム デマルコ;ティモシー リスター発売日: 2014/02/05メディア: Kindle版 久々に読むとまた別のところに面…

GitHub Actionsでeslintを動かすだけでFiles changedにlint errorが表示されて便利

GitHub Actionsでeslintを動かすだけでFiles changedにlint errorが表示されるのが便利すぎたので紹介。 様子 https://github.com/shibayu36/typescript-cli-project/pull/7/files やり方 GitHub Actionsでsetup-nodeを使った上でeslintを動かすだけ。 まずG…

GraphQL APIを使って、特定のGitHub Teamが持つレポジトリ一覧を一発で取得する

最近 merged-pr-statを使ってマージされたPR情報を集計したり、レビューの偏り具合を可視化するスクリプトを書いたりしていた。この時自分のチームが使っているレポジトリをどう一覧化するかに困っていた。もともとはひとまずスクリプト上でハードコードして…

VSCodeにAwesome Emacs Keymap入れた

もともとVSCodeでEmacsのキーバインドを再現するために、Emacs Friendly Keymap - Visual Studio Marketplaceを使っていたのだが、挙動に違和感があったり、微妙に使いづらいところがあったり、あまりメンテされてなかったりして、乗り換えたいなと思ってい…

VSCodeのExplorerでフォーカスしているファイルを、ActiveなEditor Groupの隣に開く拡張を作った

https://marketplace.visualstudio.com/items?itemName=shibayu36.open-to-other-editor-group こういう拡張を作ったので紹介。 困っていたこと VSCodeで開発している時に、今書いているコードの参考にするため別のファイルを開こうと思ったり、今の実装のテ…

PullRequestの統計情報をBigQueryに送り、変更のリードタイムを柔軟に可視化する

以前PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた - $shibayu36->blog;のようなことをやってみたのだが、BigQueryにデータを送ることでもう少し柔軟に変更のリードタイム*1などを可視化してみたのでメモ。 BigQueryで可視化するた…

TypeScriptの型を手に馴染ませるためにやっていること

最近TypeScriptが好きで勉強していっている。しかしなかなか型定義周りが手に馴染まず、少し複雑な型定義を読んだり、自分でユーティリティ型を定義したりすることが難しかった。 そこで型を手に馴染ませるために色々学習をしてみたので、やっていることをメ…

VSCodeのFindで今マッチしている場所にボーダーを引いて見やすくする

VSCodeでFindしている時に、マッチしているwordは背景色が変わって分かるのだけど、今どこにフォーカスしているかが分かりづらかった。これが特に問題が起こるのがReplaceをしようとしている時で、Replaceするたびに今どこ?とマッチ箇所を探していた。これ…

VSCodeの置換でEmacs風の挙動を再現する

個人的にEmacsの置換のy/nで一つずつ置換するかしないか決められるUXが好きなので、VSCodeの置換でも近しいことが出来るように設定してみた。以下のような設定をすると、Replaceのインプットにフォーカス中にcmd+yでReplace実行、cmd+nでスキップということ…

開発チームの責務を「エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する」としてみた話

最近開発チームの改善を行う時に、どういう目的で開発チーム改善を行うのかや、開発チームの責務は何なのかについて悩んでいた。色々本を参考にしながら、自分の中でしっくり来た責務があったので、ブログにまとめておく。 まず自分の中で、開発チームの責務…

ReactのuseEffect/useLayoutEffectやレンダリングの実行順について調べた

useEffect/useLayoutEffect周りで絶賛ハマり中で、また React17におけるuseEffectの破壊的変更を理解する | Zenn の記事が面白かったので、自分の手元で動かしてみて理解を深めてみた。調査したことを自分用のメモとして取っておく。React 17でuseEffect周り…

ALBで特定のpathのときだけCognito認証を通す構成をaws-cdkで作る

管理画面の時だけ認証をかけたいみたいな要件はよくある。今回はその要件をALBで特定のpathの時だけCognito認証を通すという構成で実装してみたのでメモ。構成はaws-cdkを使った。 やりたいこと /admin/以下の場合はCognitoの認証をかけ、許可したユーザーし…

スプレッドシートで保育園の在庫管理をしようとして失敗したけど、claspによるGASの管理方法を学べた

スプレッドシートで保育園の在庫管理をしようとして失敗した...いい方法があれば教えてもらいたい。 失敗したけど学びはあったので、ここにメモしておく。 困っていたこと 毎日保育園で子供二人の服やおむつなどがどのくらいあるか把握するのが難しかった ア…

開発チームのパフォーマンスを測る指標を学ぶ - 「LeanとDevOpsの科学」読んだ

現代のソフトウェア開発を学ぶために「正しいものを正しくつくる」を読んだ - $shibayu36->blog; に続いて、現代のソフトウェア開発について学ぶために、LeanとDevOpsの科学を読んだ。 LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革…

Jamboardを使ってオンラインでプラニングポーカーをする

Jamboardを使ってオンラインでプラニングポーカーをするお試しをしてみたので知見を共有します。 課題 リモートワークで全員がオンライン前提となり、かつプライベートエリアなのでミーティングではビデオを付けたくないメンバーがいる。もちろんミーティン…

開発効率化のために最近入れたツールたち(indent-rainbow / TabNine / Tree Style Tab / Clipy)

indent-rainbow (VSCode拡張) https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow インデントに色を付けてくれる。それだけなのにすごく見やすくなって便利。 TabNine (VSCode拡張) https://www.tabnine.com/ deep learningでいい…

TypeScriptプロジェクトのテストとlintをGitHub Actionsで実行する

お試しでTypeScriptプロジェクトのテストやlintをGithub Actionsで実行してみた。 lintの設定 https://github.com/shibayu36/typescript-cli-project/pull/1 push時にはeslintが走り、PullRequestにはreviewdogがコメントしてくれる構成にした。この設定だけ…

PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた

最近、開発チームの生産性や健全性をどのように計測したら良いかについて興味を持っている。その中で「LeanとDevOpsの科学」の中に書いてあるようなデプロイの頻度・変更のリードタイム・MTTR・変更失敗率の4指標や、開発チームの生産性・健全性を客観的に知…

現代のソフトウェア開発を学ぶために「正しいものを正しくつくる」を読んだ

最近はいかにエンジニアリングの立場でプロダクトを成長させられるかについて考えている。そこで、現代のソフトウェア開発やアジャイルについて学ぶため、同僚にオススメされた「正しいものを正しくつくる」を読んだ。 正しいものを正しくつくる プロダクト…

TypeScriptでCLIツール作りをするためのプロジェクトサンプルを作ってみた

最近TypeScriptの学習をしようと思い、何でもTypeScriptで作ってみている。今回はCLIツールを作ろうと思ったのだが、ビルド環境やeslint環境など考えることが結構あった。そこでTypeScriptでのCLIツールのプロジェクトサンプルを作りながら勉強してみた。 作…

SCRUM BOOT CAMP THE BOOK【増補改訂版】を読んだ

スクラムを基本から学びなおしたいので、スクラムガイド(2017)読んだ - $shibayu36->blog;に続いて、SCRUM BOOT CAMP THE BOOK【増補改訂版】を読んだ。 SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発作者:西村 直人,永瀬…

開発チーム運営では問題発見・改善だけでなく、良かったことの共有も大事にする

開発チームをスクラムなどを使って運営している時、改善がどんどん行われることは良いことである。しかし、その時によく起こりがちなのが、問題発見と改善にフォーカスしすぎた結果、チームの悪いところばかり見すぎてしまうことだ。過剰に悪いところばかり…

締め切りが厳しいプロジェクトで、プロジェクト初期にまずやっておきたいこと

これまで僕は締切がかなり厳しいプロジェクトを数回経験してきた。その経験から、締切が厳しいという特性を持ったプロジェクトの初期にまずこれだけはやったほうが良いということがいくつか見つかったので、今回はそれらを紹介していこうと思う。 前提となる…

スクラムガイド(2017)読んだ

スクラムを基本から学びなおしたいと思い、スクラムガイドの2017年版を読んだ。もともとスクラムは学んでいたので、ある程度知っている事柄が多かったが、今回読み直すことで、開発チームの最適人数・デイリースクラムの役割・ふりかえりの役割あたりが自分…

workflow_dispatchを使うとGithub Actionsのデバッグも楽だった

github.blog こういうの来て便利だな〜と思ってたけど、デバッグにも有用だった。 例えばGithub Actionsのon scheduleを使ってcronのように実行したい時、これまでだと デフォルトブランチにmergeして、その時間になるまで待つ ワークフローをトリガーするイ…

特定のファイルだけgit stashする

いつの間にか普通に出来るようになっていた。 git stash push hoge.txt fuga.txt 参考 Stash only one file out of multiple files that have changed with Git? - Stack Overflow Git 2.13くらいから出来るようになったっぽい?

長い期間、継続的にブログを書き続けるための工夫

10年前からブログを始めて、10年間コツコツコツコツ学んだことや考えたことを記事として書き続けてきた。その結果、ついにブログの記事総数が1000記事近くになってきた。10年間かなり頑張ってきたなあと感慨深い。ありがたいことに読者数も1000人ほどいて色…