SYM's Tech Knowledge Index & Creation Records

「INPUT:OUTPUT=1:1以上」を掲げ構築する Tech Knowledge Stack and Index. by SYM@設計者足るため孤軍奮闘する IT Engineer.

2023振り返り&転職活動記

2023振り返り&転職活動記 2023年総括 1年前に色々と目標を立てた気がしますが、転職活動にかかるコストの見積もりが甘すぎました(反省)。 今年1年ほぼほぼ「転職」+「自己理解」にリソースのほぼ全てを持っていかれましたが、その甲斐もあり自分にとっ…

Knowledge Stack & Index (全記事一覧)

目指していた INPUT:OUTPUT = 1:1以上 の理想形は Link & TechTips Stack の形なのかもしれない(※仮挿入) 本ブログと並列運用(更新不定期) 本ページは投稿記事一覧です。 (自動更新) Architecture MicroArchit マイクロサービスアーキテクチャ メモ (2022/…

React + GraphQL + Pagination 実装 & コンポーネント分割

React + GraphQL + Pagination 実装 & コンポーネント分割 作成物と本記事で触れること概要 Github GrapQL API 利用での pagination 実装 pagination + α 実装コンポーネントの分割 Before After 1 After 2 最後に React + GraphQL + Pagination 実装 & コ…

gPRC: Protocol Buffers スタイル規約 & API ベストプラクティスまとめ

gPRC: Protocol Buffers スタイル規約 & API ベストプラクティスまとめ ファイル & パッケージ構成 Message Field Nested Type Any Enum Service Proto ベストプラクティス API ベストプラクティス フィールドとメッセージを正確かつ簡潔に文書化する Wire…

GraphQL Code Generator まとめ

GraphQL Code Generator まとめ インストール&セットアップ 設定ファイル documents (GraphQL Document とは) namingConvention Lifecycle Hooks プラグイン コード自動生成 GraphQL Code Generator まとめ 公式ドキュメント: https://the-guild.dev/graphq…

gRPC:buf とは、buf でできること

gRPC:buf とは、buf でできること buf とは インストール 初期設定&各種設定ファイル 設定ファイル フォルダ構成例 buf でできること 破壊的変更検出 Lint & Format コード生成 ローカルでコード生成せず、BSR のコードを利用 ビルド buf curl による API…

分岐を低減する interface 設計 勉強会メモ

分岐を低減する interface 設計 勉強会メモ 前提:題材とする仕様 既存ロジックに分岐をねじ込むのは NG Interface 設計 1.目的単位で抽象化 目的の具体化(ツリー構造化) 目的達成手段ベースで Interface 設計流れ 2.「作る」と「使う」を分ける クラ…

データ指向アプリケーションデザイン 勉強会メモ

データ指向アプリケーションデザイン 勉強会メモ データ指向 データ表現 データアクセス頻度 読込が頻繁 更新が頻繁(データが 1 か所の場合) B-Tree 発展:Log-Structured Merge (LSM) Tree 分散データ(データが複数個所) 24 時間 365 日稼働するサービ…

urql による Github & Gitlab の マルチクライアント 実現(サンプル)

urql による Github & Gitlab の マルチクライアント 実現(サンプル) はじめに urql でのマルチクライアントの実現 実例 補足 urql による Github & Gitlab の マルチクライアント 実現(サンプル) はじめに (こんな要件は早々ないだろうが)異なる2…

Java - HttpClient への SSL 実装での javax.net.ssl プロパティについて (+Quarkus 少々)

Java - HttpClient への SSL 実装での javax.net.ssl プロパティについて (+Quarkus 少々) 前提知識メモ javax.net.ssl に関して HTTP Client ライブラリ編 Quarkus についてメモ さいごに Java - HttpClient への SSL 実装での javax.net.ssl プロパティに…

Poke Battle Integration App 再設計&今後の方針

Poke Battle Integration App 再設計&今後の方針 背景/向き合う課題 要件とアプローチ 設計 これまで(失敗) 目指す姿(再設計過程) 前提とする考え 構成検討:過程 構成検討:結論 今後の方針 Poke Battle Integration App 再設計&今後の方針 旧名:Pok…

Git Review Comment Acumulator 企画/設計

Git Review Comment Acumulator 企画/設計 背景 要件 設計 開発計画 Git Review Comment Acumulator 企画/設計 背景 チームメンバーの技術力や自走力の低さが根底の問題として存在している。 一時期、その解消目的で私が 7 ~ 8 割り主体で勉強会を開催して…

2022 振り返り

2022 振り返り アウトプット面 1年前の改善事項 今回の改善事項 個人ツールの今後についてのアイディア 業務面&個人面 これまでと 2022 年 2023 年目標 2022 振り返り 2022 年を振り返る アウトプット 業務面&個人面 2023 年の目標 アウトプット面 3年目…

【マイクロサービス】可観測性と OpenTelemetry (基本のみ)

【マイクロサービス】可観測性と OpenTelemetry (基本のみ) 可観測性のコア概念 可観測性(オブザーバビリティ) 信頼性と指標 テレメトリ 信頼性 メトリクス (指標) SLI (Service Level Indicator) SLO (Service Level Objective) 分散トレース OpenTelemet…

GraphQL 設計に関する知識メモ 【執筆中】

GraphQL 設計に関する知識メモ 【執筆中】 勉強会まとめ:Hatena Engineer Seminar #21 GraphQL 活用編 GraphQL を使い続けて気づいたこと タグ機能の実現 まとめ(ポイント): マルチテナントで GraphQL を使う際の工夫 はてなが作るマンガアプリの Grap…

某社フロントエンドコーディング試験を題材とした React 学習記(作成時の考慮事項まとめ)

某社フロントエンドコーディング試験を題材とした React 学習記(作成時の考慮事項まとめ) はじめに React 学習経緯 フォルダ構成/コンポーネント構成 フォルダ構成の再検討 ステート管理 サーバーデータのキャッシュ Global State エラーハンドリング CSS …

フロントエンド E2E テスト + MSW (Playwright/Cypress 試行) メモ

フロントエンド E2E テスト + MSW (Playwright/Cypress 試行) メモ E2E テストフレームワーク Playwright Cypress MSW のレスポンス上書き設定 mswjs/data Github Actions (Cypress) さいごに フロントエンド E2E テスト + MSW (Playwright/Cypress 試行) メ…

【gRPC】Connect が作られた背景概要/これまでの gRPC-Web/Connect でできること

【gRPC】Connect が作られた背景概要/これまでの gRPC-Web/Connect でできること はじめに 何故 Connect が作られたのか? gRPC-Web とは proxy 層が必要な理由 gRPC-Web のソースを追う Envoy Proxy & gRPC-gateway 補足 Connect とは Connect-Web Connec…

Golang:API 実行 と httptest

Golang:API 実行 と httptest httptest refs Golang:API 実行 と httptest httptest テスト用のモックサーバをたてることができる API 実行コード const apiurl = "https:/xxxxxx" func buildGetRequest(name string) (*http.Request, error) { url := api…

Github プロフィールのカスタマイズ

Github プロフィールのカスタマイズ refs Github プロフィールのカスタマイズ 自身の Github アカウント名と同じ名前のリポジトリを作ることで、プロフィールの最初に自身の好きな内容を追加することができる ref: プロフィールの README を追加する 以下の…

golang AST & Jennifer によるコード自動生成

golang AST & Jennifer によるコード自動生成 AST(抽象構文木) 取得/解析コード 解析結果 実際の結果 jennifer によるコード生成 go での コード生成 golang AST & Jennifer によるコード自動生成 モチベーション:以下と似ている ref: entity からコード…

React 実践のために調べまくったこと書き綴り まとめメモ

React 実践のために調べまくったこと書き綴り まとめメモ フォルダ構成 サンプル まとめ ベストプラクティス(コーディング) CSS (Style) emotion theme の モードチェンジ storybook CSF v3.0 Interaction test React 諸々 Suspense カスタム hooks Lazy R…

Redux 基本

Redux 基本 Redux とは Redux ストア Redux 基本 ひとまず、storybook のチュートリアルに載っていた範囲+ α のみ Redux とは Flux ベースの state(状態)を容易に管理をするためのフレームワーク refs: https://qiita.com/knhr__/items/5fec7571dab80e2dc…

storybook チュートリアル & CDD(コンポーネント駆動開発)

storybook チュートリアル & CDD(コンポーネント駆動開発) チュートリアル & storybook 導入 accessibility tests CDD(コンポーネント駆動開発) How to メリット standard tool Mock Service Worker storybook チュートリアル & CDD(コンポーネント…

golang で windows サービス 開発 (kardianos/service の 実装説明少々)

golang で windows サービス 開発 (kardianos/service の 実装説明少々) 前置き kardianos/service とは service_windows.go の詳細少々 ソース refs golang で windows サービス 開発 (kardianos/service の 実装説明少々) 前置き golange で開発し、ビルド…

go-ini では セミコロンが省略される

go-ini では セミコロンが省略される 前置き 理由 go-ini では セミコロンが省略される 前置き Windows の 環境変数の区切り文字は、; = 設定ファイル(内容:= の形式)で、Windows の環境変数を設定する必要がある場合は ; を使用 しかし、; がある設定ファ…

Golang ビルド制約使用時の golps に関する注意事項

Golang ビルド制約使用時の golps に関する注意事項 前置き vscode + gopls で ビルド制約 を扱う Golang ビルド制約使用時の golps に関する注意事項 前置き プラットフォーム毎の処理を実装するときは、runtime.GOOS での判定は NG、 ビルド制約を使うのが…

PlantUML ガントチャート を活用してスクラムでのプチ進捗管理を行い見える化を進めたい

Job

PlantUML ガントチャート を活用してスクラムでのプチ進捗管理を行い見える化を進めたい 背景/前提 PlantUML のガントチャートを使ってみる ツールを作ればいい さいごに PlantUML ガントチャート を活用してスクラムでのプチ進捗管理を行い見える化を進めた…

Job: Golang で ログローテートと設定ファイル読み込み改修 取捨選択&実装

Job

Job: Golang で ログローテートと設定ファイル読み込み改修 取捨選択&実装 背景 着手前の状態 蛇足:Linux に関するちょっとした Tips 取り組み ログローテート 「1. ローテートの契機が異なる」について 「2. ローテートした後のファイル名のフォーマット…

Golang 並列処理(Gorutine/Channel/WaitGroup/ErrorGroup)

Golang 並列処理(Gorutine/Channel/WaitGroup/ErrorGroup) Gorutine Channel Select timeout Non-Blocking Channel Operation close worker fan-out/fan-in sync.WaitGroup errorgroup.Group refs Golang 並列処理(Gorutine/Channel/WaitGroup/ErrorGroup…