$shibayu36->blog;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

「デッドライン」読んだ

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

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

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

Renovateを使ってライブラリアップデートの自動マージ

利用しているライブラリのアップデートは常に行いたいが、中々コストの掛かる作業でもある。その時にテストが通ったらOK・型検証が通ったらOKみたいなライブラリ(例: TypeScriptなら @types/系やjestなど)なら人間の目を通さずに自動でPullRequestをマージ…

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で可視化するた…

「知的戦闘力を高める独学の技法」読んだ

知的戦闘力を高める 独学の技法作者:山口周ダイヤモンド社Amazon 独学は、1.戦略、2.インプット、3.抽象化・構造化、4.ストックという流れがあるんだよということを教えてくれて中々面白かった。 読書ノート * 独学は、1.戦略、2.インプット、3.抽象化・構造…

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でいい…

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指標や、開発チームの生産性・健全性を客観的に知…

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

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

このブログで1000記事書けた

はてなでアルバイトする少し前からブログを書き続けて遂に1000記事。感慨深い。

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

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