# shinyaigeek.dev

> Web が好きなオタクのブログ. 主にweb開発の知見について喋ります

- Source: https://ja.shinyaigeek.dev/

## Pages

- [プロフィール](https://ja.shinyaigeek.dev/profile/index.md)
- [記事一覧](https://ja.shinyaigeek.dev/post/index.md)
- [Fleets](https://ja.shinyaigeek.dev/fleets/index.md)
- [アクティビティ](https://ja.shinyaigeek.dev/activity/index.md)

## Experience

- **Ubie, Inc.**: Platform Engineer, Full-time employee, 2025/08 – 現在
- **株式会社appbrew**: Frontend / AI-Ops Architect, Part-time employee, 2026/03 – 現在
- **株式会社日本経済新聞社**: Software Engineer / Platform Engineer, Full-time employee, 2022/04 – 2025/07
- **Ubie, Inc.**: Platform Engineer, Part-time employee, 2024/01 – 2025/07

## Open source

- [treeche](https://github.com/Shinyaigeek/treeche): creator, TypeScript
- [cc-skills-usage](https://github.com/Shinyaigeek/cc-skills-usage): creator, TypeScript
- [Shinyaic](https://github.com/Shinyaigeek/Shinyaic): creator, Rust
- [qain](https://github.com/Shinyaigeek/qain): creator, TypeScript
- [resmu-me](https://github.com/Shinyaigeek/resmu-me): creator, TypeScript
- [parcel-bundler/parcel](https://github.com/parcel-bundler/parcel): contributor

## Writing

- [qain, スタイルの回帰を「何がどう変わったか」で報告するテストツールを作った](https://ja.shinyaigeek.dev/post/introduction-qain/index.md): 2026/08/01 · ピクセル VRT は2枚の画像が違うことしか教えてくれない. Chromium が描画のときに参照している構造体を CDP で吸い出し, 意味の単位で差分を取るスタイル回帰テストツール qain を作ったのでその紹介.
- [AI フレンドリーなエラー監視を TypeScript で実現する](https://speakerdeck.com/shinyaigeek/ai-hurendorinaerajian-shi-wo-typescript-deshi-xian-suru): 2026/06/03 · speakerdeck · Ubie で取り組んでいる, AI フレンドリーなエラー監視の実践をお話しします
- [巨大モジュラーモノリスのテスト戦略](https://speakerdeck.com/shinyaigeek/ju-da-mosiyuramonorisunotesutozhan-lue): 2025/10/23 · speakerdeck
- [モノレポ統合により複雑なマイクロサービスの開発を単純化するアプローチ](https://hack.nikkei.com/blog/advent20241212/): 2024/12/12 · blog · 日経電子版の技術的な基盤について、莫大なリポジトリで構成されるマイクロサービスをモノレポ化してしまうことにより、開発効率を向上させた事例についてお話しします。
- [ESLint Rule により事業, 技術ドメインに沿った制約と誓約を敷衍させるアプローチのすゝめ](https://speakerdeck.com/shinyaigeek/eslint-rule-niyorishi-ye-ji-shu-domeinniyan-tutazhi-yue-toshi-yue-wofu-yan-saseruapurotinosu-me-796c5458-d929-455c-90cf-f4914b91621f): 2024/08/24 · speakerdeck · フロントエンドカンファレンス北海道 2024 の登壇資料です. コードベースに秩序をもたらすため各種 Linter を利用している方も多いのではないでしょうか？一般的なルールについては Linter 内蔵のものや既存の Plugin ですでにカバーできるでしょうが, 一方で事業ドメイン特化であったり UX/DX を向上させるための技術ドメイン特…
- [爆速の日経電子版開発の今](https://speakerdeck.com/shinyaigeek/bao-su-nori-jing-dian-zi-ban-kai-fa-nojin): 2023/2/26 · speakerdeck · Nikkei Tech Talk #3 メディア企業のWebフロントエンド～多様な開発と技術選定～ https://nikkei.connpass.com/event/268793/ で発表させていただいた際の資料です。日経電子版の開発の今についてお話ししました。
- [処理系フレンドリーコードによる「フロントエンド」のコードベース改善のアプローチ](https://hack.nikkei.com/blog/advent20231220/): 2023/12/20 · blog · 処理系フレンドリーなコードによるフロントエンドのコードベース改善のアプローチと, 実際に日経電子版Webにおいて行った事例をご紹介します.
- [Big “heart” of mud, 10000 lines VCL generated from .vcl.handlebars](https://speakerdeck.com/shinyaigeek/big-heart-of-mud-10000-lines-vcl-generated-from-vcl-dot-handlebars): 2023/12/12 · speakerdeck · 日経電子版は創刊から10年以上続く Web サービスです。そんなサービスを開発する中でアプリケーション要件や技術的な情勢の変遷に合わせ技術の刷新, リアーキテクトなども行ってきましたが迂闊に手を出せない部分というのも存在します. その一例としてサービスの心臓部である CDN レイヤーがあげられます. 日経電子版の CDN は電子版のシステム構成…
- [Managing "side effect" in Frontend Development](https://speakerdeck.com/shinyaigeek/managing-side-effect-in-frontend-development): 2023/11/26 · speakerdeck · In the web frontend development context, we should care about function's side effect not only for simplicity of the function's responsibility, but also for preventing unnece…
- [Edge Proxy OVER THE EDGE](https://hack.nikkei.com/blog/advent20221212/): 2022/12/12 · blog · workerd に見出した、Edge を越えてさまざまな場所で動かしうる Edge Proxy としてのユースケースについて紹介します
- [pnpm outdated コマンドが JSON format をサポートした](https://ja.shinyaigeek.dev/post/pnpm-outdated-command-supports-json-format/index.md): 2022/11/06 · pnpm で古くなったパッケージを検知する outdated コマンドで, JSON 形式での出力をサポートしました.
- [Treeche, Tree-Shakable Checker for JavaScript/TypeScript Application to reduce bundle size](https://ja.shinyaigeek.dev/post/introduction-treeche/index.md): 2022/08/27 · bundle size を減らすことに有用な, JavaScript/TypeScript 製 module が tree-shakable かどうかをチェックするnpmモジュール、treeche を開発したのでそれの紹介記事.
- [コードの表記揺れを縛るESLintプラグイン](https://ja.shinyaigeek.dev/post/eslint-plugin-for-orthographical-variants/index.md): 2022/03/15 · コードの表記揺れを縛るESLint Pluginを作ったので供養する.
- [cloudflare workers で多言語対応を行う](https://ja.shinyaigeek.dev/post/m17n-with-cloudflare-workers/index.md): 2022/02/19 · 弊ブログで多言語対応を行なった。その際 cloudflare workers を利用したが体験が良かったのでメモとして残しておく。
- [ブラウザの上でブラウザを動かす](https://ja.shinyaigeek.dev/post/browser-on-browser/index.md): 2021/12/10 · 自作ブラウザを実装した続きとして, Chrome ブラウザで自作ブラウザを動かす, ということをした際の学習ノートです.
- [Compute@Edge は GraphQL Server の夢を見るか](https://hack.nikkei.com/blog/advent20211206/): 2021/12/06 · blog · fastly の提供するEdge Computing基盤のCompute@EdgeのJavaScriptの対応が始まったことを受け、Compute@Edgeで何ができるのかをComput@EdgeでGraphQL Serverを立てることを通して考察します。
- [加速するEdge Computing](https://speakerdeck.com/shinyaigeek/jia-su-suruedge-computing): 2021/11/27 · speakerdeck · JSConf JP 2021にてLTさせていただいた時の資料です.
- [ブラウザ作りのすゝめ](https://speakerdeck.com/shinyaigeek/burauzazuo-rifalsesu-me): 2021/10/26 · speakerdeck
- [fastifyでstreamを配信する時生のnode/httpに書き込むとResponse Headerが書き込まれなくなる問題](https://ja.shinyaigeek.dev/post/fatsify-header-with-raw-write-to-node-http-on-stream/index.md): 2021/03/21 · fastifyの `reply.header(key, value)` は header に書き込まれるべき key-value を呼び出されたタイミングで HTTP Response に書き込むのではなく, `res.send` のタイミングで書き込んでいます. Stream を配信する際, `reply.raw.write` を呼び出してしまっていると Header…
- [Web Frontend Performance Tuning](https://speakerdeck.com/shinyaigeek/web-frontend-performance-tuning): 2020/6/18 · speakerdeck · サマーインターン前につよつよになっちゃおうの会でWebフロントエンドのパフォーマンスについてLTした際の資料です
- [2020年の振り返りと次やりたいこと](https://ja.shinyaigeek.dev/post/log-2020/index.md): 2020/12/24 · 今年の一年を一言で表すと「深化」の一年でした, 去年なあなあで理解していた部分など, 細かく突き詰めて理解できそれを元にわかる領域の問題に対して自分なりの意見考察をもって考えられるようになったような気がします.
- [リクルートでのWeb Issue調査の取り組み](https://blog.recruit.co.jp/rtc/2020/12/09/web_issue_survey/): 2020/12/09 · blog · リクルートで携わった、攻めのセキュリティ対策としてリクルートで行われている web issueの追従、調査の取り組みについて書いています。
- [ASTをいじいじして僕のかんがえた最強のDXを得る](https://speakerdeck.com/shinyaigeek/astwoiziizisitepu-falsekangaetazui-qiang-falsedxwode-ru): 2020/10/12 · speakerdeck
- [ASTで僕の考えた最強のDXを実現する 〜自分のDXは自分で守っていけ〜](https://ja.shinyaigeek.dev/post/introduction-to-AST/index.md): 2020/09/12 · ASTイジイジするのはいいぞ！！ * 難しくない * 自分のDXを自分で守るというエキサイティングな体験ができる * 触れる範囲が広がる * プログラミングをやる限りお世話になる と良いことづくめで最高なので布教したい また, このブログは [https://docs.google.com/presentation/d/1Ykka2_NvseClPO2J_oFqRUb_s…
- [CyberAgent主催『Web Speed Hackathon Online』参加ログ](https://ja.shinyaigeek.dev/post/log-ca-web-speed-hackathon/index.md): 2020/04/26 · Cyber Agent主催のWeb Speed Hackathon Online 4/25, 4/26に参加してきました. 結果は残念ながらレギュレーション違反で選外でしたが, とても楽しく刺激を得られたイベントになりました. この混乱した情勢の中オンラインという形でシステムを整えて実施してくださったCyber Agentの皆さん, ありがとうございました.
- [cloud flare workerで省エネSSRなBlogを目指す](https://ja.shinyaigeek.dev/post/how-to-make-economic-ssr-with-clourflareworker/index.md): 2020/04/13 · 世は技術ブログ大時代. みんなはてなブログか[JAMstack](https://jamstack.org/)にその身を委ねていた. お手軽さを求めるならはてなブログ, あるいはそこにカスタマイズ性やスピードを求めてHeadlessCMSにコンテンツを追加して動的に静的サイトを更新していくJAMstackな構成を目指した. 実際今の時代, GatsbyjsなりNextjs…
- [Next.jsとnow.shでブログを新しく作り替えた](https://ja.shinyaigeek.dev/post/remake-blog-with-nextjs-nowsh/index.md): 2019/12/14 · [Next.js 9](https://nextjs.org/blog/next-9) 7月8日Next.jsのv9リリースが発表されました。 実はこのブログの前身もNext.jsで書かれていて書いた当時はまだv8でした。でv9リリースからおよそ5ヶ月が経ってやっと、重い腰を上げて自分のブログのアップデートを試みました。 ですが蓋を開けるとあら不思議、あまりの~~クソ~~…
- [TypeScriptの反変とどう向き合うか](https://ja.shinyaigeek.dev/post/what-is-TypeScript-s-reversal/index.md): 2019/08/28 · お久しぶりです、しにゃいです。 TypeScript いいですよね、静的型付けにより今あなたが触っているプロジェクトをより安全に進めて行くことができます。 しかしそんな TypeScript さんもなんだこれは、といってしまうような一見よくわからない挙動をすることがあります。 この記事ではその中の一つともいえよう反変について扱っておこうかなと思います。
- [Reactアプリ小さめ構成with react-router 編](https://ja.shinyaigeek.dev/post/composition-react-app-with-react-router/index.md): 2019/08/12 · この記事は前回の記事の続きという感じです。これまた初学者向け [脱 create-react-app、React アプリの小さめ構築](https://www.shinyaigeek.com/p/22) この記事を読めば create-react-app なしで react アプリを構築できる様になるのですが、その続きとしてこの記事では react-router について…
- [脱create-react-app、Reactアプリの小さめ構築](https://ja.shinyaigeek.dev/post/without-create-react-app/index.md): 2019/08/10 · 突然ですがみなさん、React アプリ構築に create-react-app 使わないと出来ないのにフロントエンジニア名乗ってるなんてまさかですけどないですよね？？？webpack の設定いつも適当にコピペしてたりなんてしていませんよね？？？ (まあ僕も割とこんな感じだったので人の事は言えませんが) 今回は上記の煽りであ、やばいかもと思った人向けの記事です。 タイトルの…
- [初めまして](https://ja.shinyaigeek.dev/post/nice-to-meet-you/index.md): 2018/10/21 · 初めまして、しにゃいこと、林仁と言います。 ブログ始めてみました。 なんでアメブロやはてなブログなど既存のブログサービスを使わずにこんなダサくめんどくさそうなことをしたかというと単純に面白いかなと今日の朝思っちゃいまして
