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

リリース作業を委譲するためにやったこと

概要 課題 手作業 作業依頼 やったこと 自動化 ドキュメンテーション コミュニケーション ほかに気をつけること まとめ 概要 現在SREとして働いているが、複数あるアプリケーションのリリース作業を依頼されることが多かった。 依頼者の職種はエンジニアやマ…

最近やっていること2022年夏

概要 直近1年くらいでやっていたことをまとめる 全体の方向性 持続可能な開発組織づくり 開発生産性の向上 各チームが自律的に開発できるように責任と権限を整備 開発チームのフィードバックサイクルの向上 SREチームのトイル削減 具体的にやったこと 課題の…

too many open filesエラーが出たときにlsofコマンドで確認する

概要 環境 用意するもの 検証 ファイルディスクリプタの確認 /proc/PID/fd lsofコマンド ulimitを変更する まとめ 参考情報 概要 too many open filesエラーが出たときにlsofコマンドで確認するときの手順を説明する機会があったのでまとめる。 環境 node -v…

マイクロサービス移行とモノレポを選択した理由について

概要 課題 改善方針 具体策 サービス分離 モノレポ なぜモノレポか? チームのコラボレーションのため 依存関係の解決のため 今後必要なこと まとめ 概要 仕事でマイクロサービス移行にともなってモノレポを採用した。 その理由をまとめる。 具体的な内容に…

npm workspaceとnpm installの挙動確認

環境 概要 構成 挙動の確認 npm installの実行順について まとめ 環境 % node -v v16.13.0 % npm -v 8.11.0 概要 npm workspaceでnpm installを実行すると 1. ワークスペースルート 2. (バージョンが異なるものは)各々のワークスペース の順にインストール…

.npm-init.jsを使用してmonorepoでpackage.jsonの初期値を設定する

概要 npm workspaceを利用するとき、package.jsonの初期値を設定することで構築の手間を減らす方法を示す。 これによりnpm initしたときに、npm scriptsやnpmパッケージが初期設定される。 環境 % node -v v16.13.2 % npm -v 8.10.0 実装 % tree -a -I '.git…

Node.jsでパッケージが参照しているnode_modulesのパスを取得する

結論 環境 動作確認 CommonJSの場合 ES Modulesの場合 参考ドキュメント まとめ 結論 require.resolveを使う Use the internal require() machinery to look up the location of a module, but rather than loading the module, just return the resolved fi…

ESLintのパフォーマンスを調査する

環境 ESLint v8.13.0 調査方法 ルールごとにかかっている時間の割合を計測する TIMINGオプションを付けると、実行時間が長い順のトップ10と、lint対象全体に対してのトップ10の割合が表示される $ TIMING=1 eslint lib Rule | Time (ms) | Relative :-------…

GitHub Actionsでdocker build時にエラーが出た

概要 GitHub Actionsでdocker build時にエラーが出たのでメモ エラー docker build時に下記エラー error: failed to do request: Post "https://***.dkr.ecr.ap-northeast-1.amazonaws.com/v2/<REPOSITORY>/blobs/uploads/": EOF 原因 ログインするECRのアカウントIDを間</repository>…

転職にともないLTした話

概要 苦労したところとそれに対する取り組み 開発生産性改善 辛かったこと 対策 まとめ 負荷試験改善 辛かったこと 対策 自動化 モブプロ・モブ作業 段階的な負荷検証 まとめ 職能横断組織と機能別組織 辛かったこと まとめ まとめ ブログのまとめ 概要 年明…

いい手順書とは

概要 私が思ういいWebシステム開発における手順書についてまとめる 前提 Webシステム開発 複数人のチーム開発 結論 いい手順書とは下記のような特徴がある 手順に番号が振ってある 番号が振ってあることで下記のメリットがある 全体を見渡したときに手順がい…

GitHub ActionsからAWS CodeBuildをキックする

概要 GitHub ActionsからAWS CodeBuildをキックする方法を示す。 背景 すでにCodeBuildプロジェクトの資産がある GitHubと連携しており、CodeBuildの結果をAWSコンソールを開いて確認するのが手間 結論 下記のようにして実装した。 RoleとCodeBuildプロジェ…

workflow dispatchでnpm versionを更新する

概要 ある変更の塊に対してタグを付けたい ローカルでやると間違えるのでCIで統一したい tagとreleaseを分けたい コード .github/workflows/tagging.yml name: tagging on: workflow_dispatch: inputs: version: type: choice description: "patch | minor |…