$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

tech

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 に置…

AirPods ProとKrispでリモートミーティングの音声を快適に

最近家族と同室でリモートワークをしている。自分と家族は別々で仕事をしているので、家族が電話中の時に自分はミーティングをしていることがよくある。その時、家族の声によってミーティングの声が聞き取りにくくなったり、家族の声がミーティングに入って…

プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行する

プロジェクトマネジメントにおいて、見積もりをどのように行うかは結構難しい。僕は理想日見積もりの形式も、相対見積もり(ストーリーポイント)の形式も試したことがあるが、どちらも一長一短であった。 最近色々試す中で、プロジェクト初期は理想日見積もり…

タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM理論を学んだ

自分のプロジェクトマネジメントのスキルをもう一つ伸ばしたくて、タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM(クリティカルチェーンプロジェクトマネジメント)理論を学んだ。この理論を学んだおかげで、よりプロジェ…

読書のやり方を変えてみたら知識の吸収速度・引き出し速度が上がった話

最近以下のような記事や本を読み読書法を変えてみたところ、知識の吸収速度・引き出し速度が上がったと感じるので紹介。 kentarokuribayashi.com 知的戦闘力を高める 独学の技法作者:山口周ダイヤモンド社Amazon やり方 以下のような流れで読書している。 学…

リモートワークでは自己主張スキルが大事な気がしてきた

リモートワークをしていると特定のスキルを保有しているか否かで自分の成果や成長が大きく変わってくると感じてきている。その中の一つとして最近感じているのが自己主張スキル。 なぜそう感じるか。それは最近ローカルでの開発からリモートの開発になったこ…

puppeteerを使って最近の自分のブログのサマリーを出す

評価時期で自分のアウトプットの様子を出す必要があり、この機会にTypeScript + puppeteerでシュッとスクレイピングするの試してみるかと思い、やってみた。 完成したもの https://github.com/shibayu36/tools/blob/a7156bc03620700105cc52e54d69cac38b13f40…

他人を動かすコミュニケーション手法を学ぶ - 「人を動かす」読んだ

最近どのようにすればチーム内や組織内に良い変化を与えることが出来るのか悩んでいた。とにかく自分でやったら良い系だと簡単なのだけど、他の人にも積極的に協力してもらう必要があるものについては難しい。そのような時にも、うまくやる手法を学ぶために…

「リモートワークの達人」読んだ

リモートワークの達人 (ハヤカワ文庫NF)作者:ジェイソン フリード,デイヴィッド ハイネマイヤー ハンソン早川書房Amazon 最近ほとんど全員がリモートで働くことになり、今までのやり方ではそこそこ困っているので読んだ。 「いやな言葉」「感情的な対立」「…

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

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

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

プロジェクトマネジメントをちゃんと学ぼうシリーズ。今回はプロジェクトマネジメントの全体像を知るために、「プロジェクトマネジメントの基本」を読んだ。 プロジェクトマネジメントの基本 この1冊ですべてわかる作者:好川哲人日本実業出版社Amazon PMBOK…

「デッドライン」読んだ

最近プロジェクトマネジメントをちゃんと学ぼうと思って色々読んでいる。今回はデッドラインを読んだ。 デッドライン作者:トム デマルコ日経BPAmazon 読み物として普通に面白かった。また「チームの結束については、既存のチームを探して利用する」「新しい…

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

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

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の破壊的変更を理解する の記事が面白かったので、自分の手元で動かしてみて理解を深めてみた。調査したことを自分用のメモとして取っておく。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でいい…