株式会社ZOZOのフィード

https://zenn.dev/p/zozotech

ファッションEC「ZOZOTOWN」、ファッションコーディネートアプリ「WEAR」などの各種サービスの企画・開発・運営や、「ZOZOSUIT」「ZOZOMAT」「ZOZOGLASS」などの計測テクノロジーの開発・活用をおこなっています。また、カスタマーサポート、物流拠点「ZOZO

フィード

記事のアイキャッチ画像
Claude Codeの自動コンパクト、何で・どこで・いつ効かせるか(/autocompact・autoCompactWindow・idle
株式会社ZOZOのフィード
概要Claude Codeは、会話がコンテキストウィンドウの上限に近づくと、古い履歴を要約して空きを作ります。この仕組みを自動コンパクト(auto-compaction)と呼びます。これまでは、settings.jsonのenvにCLAUDE_AUTOCOMPACT_PCT_OVERRIDEを書いてパーセンテージを指定するだけで済ませていました。v2.1.288〜v2.1.300のリリースノートを読み返したところ、コンパクトまわりの設定がかなり増えていました。トークン数でしきい値を指定する/autocompactはモデルごとに値を保存するようになり、サブエージェント単位のaut...
9日前
記事のアイキャッチ画像
Claude Code の Remote Control(claude rc)だとアーティファクトが使えない原因と対処
株式会社ZOZOのフィード
はじめにClaude Code のアーティファクト(Artifact)機能、便利ですよね。調査結果や比較表を HTML のページにして、claude.ai 上に非公開で置いてくれるので、ターミナルに流れて消えていく出力を「あとで見返せる形」で残せます。ところが、ターミナルで claude を起動したときは普通に使えるのに、claude rc(Remote Control)経由でスマホやブラウザから開いたセッションでは、アーティファクトが一切使えませんでした。「アーティファクトで作って」と頼んでも、ツール自体が存在しないと言われます。設定を見直しても、それらしい項目はありません。...
1ヶ月前
記事のアイキャッチ画像
Claude CodeでFable5を「ここぞ」という場面だけ使う運用(opusplan活用)
株式会社ZOZOのフィード
概要Claude Codeで利用できるモデルの一つである Fable5 は、性能が非常に高い一方でトークン消費量も大きいモデルです。すべてのやり取りをFable5で行うと、トークン消費(コストやレイテンシ)の面で効率が悪くなってしまいます。この記事では、Fable5の高い性能を「本当に必要な場面」だけで活かしつつ、それ以外の場面では軽量なモデルに切り替えることで、効率的にClaude Codeを運用するための設定方法を紹介します。 前提Claude Codeがインストール・セットアップ済みであること~/.claude/settings.json(ユーザー設定)またはプ...
3ヶ月前
記事のアイキャッチ画像
Strategy Pattern を ABC で書くか、Protocol で書くか
株式会社ZOZOのフィード
前回のおさらい前回、if-else まみれの関数を Strategy Pattern で整理する話を書きました。抽象基底クラス(ABC)で共通のインターフェースを定義して、具体的な処理はサブクラスに丸投げする、というやつです。今回はその続きで、同じ Strategy Pattern を Python の typing.Protocol で書くという選択肢について書きます。ABC と Protocol、どっちも「共通のインターフェースを決める」ための道具なんですが、成り立ちがけっこう違うんですよね。このへん、知らずに使うと「なんでこれ動くの?」ってなりがちなので整理しておきた...
3ヶ月前
記事のアイキャッチ画像
Claude CodeのstatusLineのすゝめ-コンテキスト残量とレートリミットを1画面で把握する
株式会社ZOZOのフィード
TL;DRClaude Code の statusLine は「stdin で渡ってくる JSON を加工して標準出力に返すだけ」の薄い仕組みで、~/.claude/settings.json に1行登録すれば自作のものに差し替えられる最初は jq を十数回呼び、git diff を毎ターン走らせ、日次/週次集計やバーンレートまで詰め込んだ3行構成だった。そこから jq 1回・git は最小限・2行 まで削ったのが今の形表示するのは、ディレクトリ / git ブランチ / セッション中の編集行数 / モデル / effort / コンテキスト使用率 / 5時間・7日レートリミ...
3ヶ月前
記事のアイキャッチ画像
[UI] 開閉アニメーションは「反応・読む場所・完了」を分けて伝える
株式会社ZOZOのフィード
導入開閉UIのアニメーションは、CSSだけで実装できるようになった。details 要素の展開部分を直接指定する ::details-content と、高さ auto を補間する calc-size() を組み合わせれば、ラッパー要素なしで高さと中身をなめらかに動かせる。しかし、transition を書いて動きを付けただけでは、違和感が残る。開いた瞬間に目のやり場に困ったり、閉じた後も中身がしばらく残って見えたりする。原因はCSSの書き方ではなく、その手前にあるタイミングの設計にある。開閉アニメーションが伝えるものは、反応・読む場所・完了の3つに分解できる。この3つをどの順...
4ヶ月前
記事のアイキャッチ画像
Claude Code で @path を使うか Read させるか
株式会社ZOZOのフィード
はじめにClaude Code でファイルを参照する方法には、大きく分けて 2 つある。@path でユーザーが明示的に注入するエージェント(Read ツール)に判断させて読ませる@ は手軽だが、無自覚に使うとコンテキストを圧迫しやすい。本稿では公式ドキュメントを根拠に、両者の挙動と使い分けを整理する。 TL;DR@path で展開した内容は、そのターン以降も会話履歴に残り続ける@dir/ はディレクトリ「リスト」を返すだけで、中身を全展開するわけではないコンテキストが肥大化すると指示遵守率が下がることは公式が明記している大きいファイル・部分参照で済む場...
6ヶ月前
記事のアイキャッチ画像
Claude Codeのルールを育て続ける——Routinesでレビュー指摘を.claude/rulesに自動反映する
株式会社ZOZOのフィード
はじめにClaude Codeを活用した開発では、まず .claude/rules/ にコーディングルールを整備するところから始まります。アーキテクチャ方針・命名規則・実装パターンをルールとして定義しておくことで、AIが生成するコードの品質を一定に保てます。しかし実際に運用してみると、初期設定の抜け漏れや、プロジェクトの変化に伴うルールの陳腐化が問題になりました。ルールに記載のないパターンでAIがコードを生成し、レビューで毎回同じ指摘をする——という状況が生まれていたのです。AIの作ったPRをしっかりレビューするほど、「このルールを最初から入れておけば防げた」という指摘が積み上が...
6ヶ月前
記事のアイキャッチ画像
Claude Code Review より"自作 Skill"の方がレビュー精度が高かった件
株式会社ZOZOのフィード
はじめにClaude Code にはコードレビューを支援する公式機能として「Claude Code Review」が提供されています。https://code.claude.com/docs/ja/code-reviewこれ自体も便利ですが、自分でレビューガイドラインを Markdown で書いて Skills として読み込ませたところ、公式機能よりも的確なレビューが返ってくるようになりました。本記事では、実際に構築したレビュー Skill の設計と、精度を上げるために工夫したポイントを共有します。 レビュー Skill の全体構成最終的に整備したディレクトリ構成は以下...
7ヶ月前
記事のアイキャッチ画像
テックブログ編集後記 数字の向こう側で起きていたこと
株式会社ZOZOのフィード
!この記事は私が書いたTech Blogの編集後記です。Tech Blogで載せなかったチームでの議論や個人としての考えをまとめたものです。https://techblog.zozo.com/entry/ai-test-code-review-guideline-for-engineers はじめにテックブログに書いた施策は、数字だけ見れば成功でした。テスト数57%増、カバレッジ約2倍。仕組みとして機能したことは間違いありません。ただ、あの記事には書き切れなかったことがあります。実務上の壁と、心理的な葛藤と、役割についての問い直し——その三つが、数字の向こう側でずっと育っ...
8ヶ月前
記事のアイキャッチ画像
『なぜそうするのか?』を説明できるようになりたい話
株式会社ZOZOのフィード
はじめに学生時代はMLの研究をしていました。研究時代は「理論的に正しい手法」「最新のアーキテクチャ」を追い求めるのが当たり前でした。デザインパターンやDI(依存性注入)も、かっこいいし綺麗に書けるので好きでした。でも、エンジニアとして働き始めてから、壁にぶつかりました。「なんでこのロジックにしてるんですか?」「この設計にした理由は?」先輩にそう聞かれたとき、「理論的に正しいから」「かっこいいから」では通用しませんでした。「でも複雑すぎない?」「他の人が保守できる?」と突っ込まれると、答えられなかったんですよね。これはまずいなと思いました。エンジニアとしての技術選定の「軸」...
10ヶ月前
記事のアイキャッチ画像
[JS] グローバル変数を見つけ出せ!
株式会社ZOZOのフィード
!本稿は、ZOZO Advent Calendar 2025 シリーズ 12 の 25 日目の記事です🎄 はじめにメリークリスマス🎅✨現在ZOZOTOWN開発本部でフロントエンドリプレイスに従事しております、ツチヤカイタと申します。弊社のリプレイスプロジェクトでは、旧環境のコードを読み解き、仕様を洗い出し、それを新環境向けに実装するというステップでリプレイスを進めています。旧環境のコードは長い間保守されているためレガシーな記述も多く残っています。そこにはグローバルに定義された変数や、windowオブジェクトに差し込まれた値なども含まれています🥲ということで、今回は私がリ...
10ヶ月前
記事のアイキャッチ画像
部署全員でアドベントカレンダーに挑戦!完走率100%を達成した施策と工夫
株式会社ZOZOのフィード
!これは ZOZO Advent Calendar 2025 カレンダー シリーズ 7 の 24 日目の記事です。昨日は @tt-sungogo さんでした。 はじめに株式会社ZOZOの計測プラットフォーム開発本部計測システム部に所属しているでぃーのです。主にバックエンド開発を担当しています。実は、今年、Qiita Advent CalendarのZOZOカレンダーの1つのシリーズを計測システム部が丸ごと担当しました。例年は書ける人、書きたい人が記事を執筆するスタイルでしたが、今年は私がアドベントカレンダーの1シリーズをジャックすることを部のメンバーに提案し、できるだけ多くの...
10ヶ月前
記事のアイキャッチ画像
これ全部Botがやってます。〜Zapier自動化4選〜
株式会社ZOZOのフィード
!本稿は、ZOZO Advent Calendar 2025 シリーズ 12 の 23 日目の記事です🎄 はじめに私が所属している新規事業部アプリチームでは、日々の定型業務を効率化するために Zapier を活用しています。本記事では、実際に運用している 4 つの自動化事例を紹介します。 1. 夕会ファシリテータの自動アサイン 課題毎日の夕会でファシリテータを決める際、「今日は誰がやる?」、「今日のファシリ誰でしたっけ?」という確認作業が発生していました。当番制にしても、手動でのローテーション管理は忘れがちです。 解決策Google Calendar の夕会イ...
10ヶ月前
記事のアイキャッチ画像
OpenAPIをTypeSpecで書き換えたら型定義が崩壊した話
株式会社ZOZOのフィード
!この記事はZOZO Advent Calendar 2025シリーズ7 計測システム部カレンダーの21日目の記事です。前日の記事は@_massさんの【英語が苦手なエンジニアが8ヶ月で英語LTに挑戦できるようになるまで】でした。 はじめにモダンフロントエンドでサービス開発を進めていると、APIや戻り値の型定義が必ず発生します。しかし、開発が進みサービスが複雑化していくと、定義ファイルがどんどん大きくなる問題が待っています。特にYAMLで書かれた定義ファイルは、はじめこそ読みやすいものの、肥大化に伴って編集するのも読み下すのも大変になっていきます。分割するなどの工夫はありま...
10ヶ月前
記事のアイキャッチ画像
Difyの.env.exampleを毎回目視で見てる人へ:安全に同期するスクリプトを書いた
株式会社ZOZOのフィード
はじめに!Difyに本記事で取り上げたツールが取り込まれました 🎉🎉最新のmainブランチから利用可能になります!https://github.com/langgenius/dify/pull/29845./dify/docker/dify-env-sync.shを実行することで使えますOSS 版の Dify を本番環境で運用していると、バージョンアップのたびに必ず発生する作業があります。それが .env.example の変更内容を既存の .env に反映する作業 です。Dify の .env.example は 1400 行を超える非常に大きなファイルで、バージョ...
10ヶ月前
記事のアイキャッチ画像
React の状態管理の歴史と、最新 API に込められた React の思想
株式会社ZOZOのフィード
!この記事はZOZO Advent Calendar 2025 シリーズ7 計測システム部カレンダーの16日目の記事です。前日の記事は @hdmn54321 さんの【リモートワークの質を高める商品9選】でした。 はじめにReact が誕生して10年以上が経ちましたが、「状態管理」の議論は今も終わりません。Redux、Recoil、Zustand、そして useSyncExternalStore。なぜこれほど多様なライブラリが生まれ、React 公式はついに"標準 API"を出したのでしょうか?本記事では、「状態管理の歴史」と「React が見ている世界」を整理しながら、最新...
10ヶ月前
記事のアイキャッチ画像
複雑な決済フローを React Hooks と Strategy Pattern で整理した
株式会社ZOZOのフィード
!本稿は、ZOZO Advent Calendar 2025 シリーズ 6 の 15 日目の記事です。 背景・課題ZOZOTOWN のゲスト注文フローでは、複数の決済手段(クレジットカード、代金引換、PayPay 決済)をサポートする必要がありました。各決済手段は異なる要件を持っており、これらを単一のフックやコンポーネントで管理すると、以下の問題が発生していました。条件分岐が複雑化し、可読性が低下新しい決済手段の追加が困難特定の決済手段の修正が他の決済手段に影響するリスクテストコードの記述が困難本記事では、実務の中で遭遇した上記課題を React Hooks ×...
10ヶ月前
記事のアイキャッチ画像
Ableton MCPのソースコードを眺める AbletonMCP_Remote_Script 編
株式会社ZOZOのフィード
推薦基盤ブロックの荒木です。本記事は ZOZO Advent Calendar 2025 シリーズ 8 の 2 日目です。 概要本記事はAbleton MCPのソースコードを眺める 全体編の続編です。前回はMCPサーバーの本体であるMCP_Server/server.pyを眺めました。本記事では、Abletonを操作しているAbletonMCP_Remote_Script/init.pyのソースコードを読んでいきます。 AbletonMCP_Remote_Script/init.py 解説このファイルは Ableton Live用のリモートスクリプト で、外部のMCPサ...
10ヶ月前
記事のアイキャッチ画像
Dify をほぼ触らずに Google ログインを追加する方法
株式会社ZOZOのフィード
はじめに本記事では、Difyで提供するアプリページ(/chat、/workflow)に Google アカウントでのログイン認証を最小の変更で導入する方法を紹介します。OSS版DifyはLLMアプリケーションの開発プラットフォームとして非常に便利な一方で、アプリページ(/chat、/workflow)においてデフォルトではアクセス制御の仕組みがありません。組織内で利用する場合、社内アカウントのみがアクセスできるようにしたいというニーズがありました。そこで、今回はOAuth2 Proxyを利用してGoogle認証を導入し、NGINXリバースプロキシと連携させることで、安全なアク...
10ヶ月前