タグ

ikkouのブックマーク (2,555)

  • Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG

    はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 連載では、ZOZOTOWNリプレイスプロジェクトについて紹介します。2017年に始まったリプレイスプロジェクトにおいて、ZOZO がどのような意図で、どのように取り組んできたのか、読者のみなさんに有益な情報をお伝えしていければと思いますので、ご期待ください。第1回目のテーマは、「ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計」です。 目次 はじめに 目次 ZOZOTOWNリプレイスの背景、目的 背景 目的 柔軟なシステム 開発生産性 技術のモダン化 採用強化 ZOZOTOWNリプレイスの歴史とアーキテクチャの変遷 アーキテクチャの変遷 2004年〜2017年:オンプレミス(リプレイス前) 2017年〜20

    Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG
    ikkou
    ikkou 2024/05/31
  • 計測フレームワークのSwift Package Manager導入への道のり - ZOZO TECH BLOG

    はじめに こんにちは、計測プラットフォーム開発部iOSブロックの中岡です。普段はZOZOMAT/ZOZOGLASSの運用・保守や計測技術を使った新規事業の開発をしています。 目次 はじめに 目次 計測フレームワークとは Swift Package Managerへの移行の経緯 Swift Package Managerへの移行 移行作業でハマったこと まとめ 計測フレームワークとは 私たちのチームは、ZOZOMAT/ZOZOGLASSの機能を開発し、それらをライブラリとしてZOZOTOWN iOSチームに提供しています。このライブラリのことを私たちは計測フレームワークと呼んでいます。そしてこのライブラリの提供方法として今まではCocoaPodsを利用していました。元々はCarthageを利用していたのですが、Apple silicon導入に伴いCocoaPodsへ移行しています。そちらの

    計測フレームワークのSwift Package Manager導入への道のり - ZOZO TECH BLOG
    ikkou
    ikkou 2024/05/29
  • #RubyKaigi 2024 セッションレポート - メドピア開発者ブログ

    サーバーサイドエンジニアの内藤(@naitoh) です。 RubyKaigi 2024に参加されていた皆さん、お疲れ様でした。 RubyKaigi のセッションの中で印象に残った発表をご紹介します。 RubyKaigi 2024 セッションレポート タイムテーブル タイムテーブルは以下から確認できます。 rubykaigi.org Namespace, What and Why 今回のRubyKaigi で非常に気になっていたセッションの一つです。 アプリケーション、ライブラリをある空間の中でライブラリを読み込み、他の空間から隠す。 空間の中で定義されたメソッドを別空間から呼び出すこと 別空間から呼び出されたメソッドは、元の空間内で動作すること という感じで複数のバージョンのライブラリに依存した場合のコンフリクト発生を解決するのが Namespace とのことで、内容が整理されておりわかり

    #RubyKaigi 2024 セッションレポート - メドピア開発者ブログ
  • RubyKaigi 2024 参加レポート - ZOZO TECH BLOG

    こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot

    RubyKaigi 2024 参加レポート - ZOZO TECH BLOG
  • KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG

    はじめに こんにちは。SRE部フロントSREブロックの三品です。 3月19日から3月22日にかけてKubeCon + CloudNativeCon Europe 2024(以下、KubeCon EUと呼びます)が行われました。今回弊社からはZOZOTOWNのマイクロサービスや基盤に関わるエンジニア、推薦システムに関わるエンジニアの合わせて4人で参加しました。 記事では現地の様子や弊社エンジニアが気になったセッションや現地の様子について紹介していきます。 目次 KubeConEU2024の概要 セッションの紹介 現地の様子 ブースについて 参加に向けてのTips 最後に KubeCon EU 2024の概要 昨年4月にオランダ アムステルダムで行われたKubeCon EUの様子については昨年の参加レポートをご覧ください。 techblog.zozo.com 今年のKubeCon EUはフラ

    KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG
  • マルチテナントのAWSアカウントとKubernetesにおけるコストの可視化 - ZOZO TECH BLOG

    こんにちは、カート決済SREブロックの飯島と、ECプラットフォーム基盤SREブロックの織田です。 記事では複数チームで運用する共通のAWSアカウントとKubernetesにおけるコストの可視化についてご紹介します。 背景 コスト可視化に対する課題 課題解決へのアプローチ AWSリソースのコスト可視化 AWSコスト配分タグ タグの定義と運用ルール タグの付け方 AWS Cost Explorer AWSコスト配分タグの活用例 Kubernetesクラスタのコスト可視化 Kubecost 比較検討 カスタムバンドル採用の決め手 アーキテクチャ 可視化の仕組み ダッシュボード 効果 コスト可視化の活用事例 最後に 背景 現在、ZOZOTOWNはモノリスなサービスを機能ごとに分け、マイクロサービスに移行しながらモダンアーキテクチャへのリプレイスを実施しています。マイクロサービスの移行先としてクラ

    マルチテナントのAWSアカウントとKubernetesにおけるコストの可視化 - ZOZO TECH BLOG
  • 5年ぶりの開催!「try! Swift Tokyo 2024」参加レポート - ZOZO TECH BLOG

    はじめに こんにちは。DevRelブロックの@wirohaです。2024年3月22日〜24日に「try! Swift Tokyo 2024」が開催されました。ZOZOはGOLDスポンサー・DIVERSITY & INCLUSIONスポンサーとして協賛し、ブースを出展しましたので現地のレポートをお届けします! 目次 はじめに 目次 会場 スポンサーブース アンケートの回答 印象に残ったセッション Swiftの型推論を学ぼう コード署名を楽しく乗り切る方法 Party、その他 アフターイベント LT1. SwiftPM マルチモジュール構成への第一歩 LT2. SwiftC++を利用した画像処理プログラミング LT3. Introducing Pkl 感想戦 最後に 会場 会場は前回(2019年)と同じ、ベルサール渋谷ファーストです。try! Swiftのマスコットキャラクター「Riko」ち

    5年ぶりの開催!「try! Swift Tokyo 2024」参加レポート - ZOZO TECH BLOG
  • はてなエンジニアによるApple Vision Pro座談会 - Hatena Developer Blog

    2023年6月のWWDC(World Wide Developers Conference)23で発表され、2024年2月に米国で販売が開始されたApple Vision Proを、はてなエンジニア5人が入手しました。 ということで、3月初旬に5人がApple Vision Proをつけて、オンライン座談会を行いました。その様子をお伝えします。 Google Meetで座談会をしています 記事中のApple Vision Proは、使用者がそれぞれ「技適未取得機器を用いた実験等の特例制度」に基づく届出を行い、適切な管理の下に使用しています。 この無線設備は、電波法に定める技術基準への適合が確認されておらず、法に定める特別な条件の下でのみ使用が認められています。この条件に違反して無線設備を使用することは、法に定める罰則その他の措置の対象となります。 座談会の模様はYouTubeでも公開し

    はてなエンジニアによるApple Vision Pro座談会 - Hatena Developer Blog
    ikkou
    ikkou 2024/03/14
  • マーケティングを加速させろ!ZOZO Marketing Platform(ZMP)の紹介 - ZOZO TECH BLOG

    こんにちは、MA部の齋藤(@kyoppii13)です。 ZOZOTOWNでは、プッシュ通知LINE、メールでのキャンペーン配信を実施しています。キャンペーン配信の例としては、お気に入り商品の在庫数が少なくなったときにプッシュ通知を送るといったものです。LINEやメールといった配信チャネル以外にも、キャンペーンごとにセグメントや実施タイミングも様々で、システムも配信キャンペーンの種類によって複数存在している状況でした。そのため運用保守のコストが大きくなっていました。また、キャンペーンの内容を変更するために開発側での工数が発生している状況でした。 そこでキャンペーン配信を効率的に実施するため社内向けのマーケティングプラットフォーム「ZOZO Marketing Platform(ZMP)」を開発しました。 記事では、マーケティングプラットフォームの開発にあたって考慮した点とアーキテクチャに

    マーケティングを加速させろ!ZOZO Marketing Platform(ZMP)の紹介 - ZOZO TECH BLOG
  • 情報検索の評価指標の弱点と選択バイアスを考慮した改善アプローチ - ZOZO TECH BLOG

    こんにちは。検索基盤部の山﨑です。検索基盤部では、ZOZOTOWNの検索機能の改善を目的とした施策の有効性をA/Bテストで検証しています。 A/Bテストは、新たな施策の有効性を評価する手法として信頼性の高い手法ではあるものの、下記のような制約があります。 統計的に有意な差が出るためには、多くのユーザーからのフィードバックが必要である 比較手法を実際のユーザーに提示するため、ユーザー体験に悪影響を与えるリスクがある これらの制約から、実験したい全ての施策をA/Bテストで検証することは困難なため、事前に有効な可能性が高い施策に絞った上でA/Bテストに臨むことが大切です。 事前に有効な可能性が高いことを示すためには、オフラインでの評価結果を活用します。しかし、オフライン評価とA/Bテストの結果は必ずしも一致しないことが知られており、ZOZOTOWNにおいても同様の問題が発生しています。 このよう

    情報検索の評価指標の弱点と選択バイアスを考慮した改善アプローチ - ZOZO TECH BLOG
  • NRF 2024 Retail's Big Show 参加レポート - ZOZO TECH BLOG

    はじめに こんにちは、ZOZOMO部OMOバックエンドブロックの中島です。普段はZOZOMO店舗在庫取り置きというサービスの開発を担当しています。 2024年1月14日から16日の3日間にかけてニューヨークで開催された「NRF 2024: Retail's Big Show」に初めて現地参加してきました。 前半はNRF Retail's Big Showの概要と関連する情報、後半はFashion TechやRetail Techを中心にお伝えします。NRF 2024全体の概要については、NRF 2024 Event Recapなどをご覧ください。 目次 はじめに 目次 NRF Retail's Big Showとは 会場の概要 セッション Expo Fashion Tech サイズ計測 ARミラー ロレアル社のパーソナライズリップスティック Retail Tech スマートカート RFID

    NRF 2024 Retail's Big Show 参加レポート - ZOZO TECH BLOG
  • アイテムレビュー機能をZOZOTOWN Androidチームはどう開発したか - ZOZO TECH BLOG

    はじめに こんにちは、ZOZOTOWN開発1部Android2ブロックの井上晃平(@ねも)です。普段はZOZOTOWN Androidアプリの開発を担当しています。ZOZOTOWN Androidチームでは、以前から商品に対して口コミや評価を投稿・閲覧できる、アイテムレビュー機能を開発していました。そして、2023年11月29日に晴れてアイテムレビュー機能がリリースされました。 アイテムレビュー機能を設計・開発していく中で見えてきた課題を、解決策とともにご紹介します。 そもそもアイテムレビュー機能のことを知りたいという方は、プレスリリースで機能紹介をしているので、あわせてご覧ください。 目次 はじめに 目次 課題 解決策 マイルストーン方式 モジュール構成の工夫 FeatureFlag まとめ 課題 アイテムレビュー機能の開発における最大の課題はビッグバンリリース問題です。アイテムレビュー

    アイテムレビュー機能をZOZOTOWN Androidチームはどう開発したか - ZOZO TECH BLOG
  • CES 2024 参加レポート - コロナ禍以前の活況を取り戻した CES - ZOZO TECH BLOG

    こんにちは、XR × Fashion TechやXR × Beauty Techといった領域を推進している創造開発ブロックの@ikkouです。 2024年1月9日から12日の4日間にかけてラスベガスで開催された「CES 2024」に一般参加者として現地参加してきました。私個人としては通算5度目、ZOZO所属としては2020年、2023年に続き3度目の参加となります。 techblog.zozo.com techblog.zozo.com 前半はCESの概要と関連する情報、後半は私が注目したXR TechFashion Tech、そしてBeauty Techについてお伝えします。CES 2024全体のトレンドについては、CES Daily Show Day 1・Day 2・Day 3などをご覧ください。 CESとは 値上がりした参加費 会場の概要 Official Show Store 会

    CES 2024 参加レポート - コロナ禍以前の活況を取り戻した CES - ZOZO TECH BLOG
    ikkou
    ikkou 2024/01/25
    書きました📝
  • 【イベントレポート】「ZOZO Tech Meetup - Webフロントエンド」を開催しました! - ZOZO TECH BLOG

    はじめに こんにちは、DevRelブロックのikkouです。11月6日に「ZOZO Tech Meetup - Webフロントエンド」と題したWebフロントエンドに特化したオフラインイベントを開催しました。 zozotech-inc.connpass.com 目次 はじめに 目次 当日の登壇内容 アイスブレイク ZOZOTOWNにCSS in JS(Emotion)を導入して1年後の状況 React でコンポーネントを利用したテストをゴリゴリ書く ゼロから始めるアクセシビリティ啓蒙活動 現代のReactivityとSvelteの魔法 懇親会での取り組み 最後に 当日の登壇内容 ZOZOのWebフロントエンドエンジニア4名が以下の内容で登壇しました。 タイトル 登壇者 ZOZOTOWNにCSS in JS(Emotion)を導入して1年後の状況 菊地 宏之 (@hiro0218) React

    【イベントレポート】「ZOZO Tech Meetup - Webフロントエンド」を開催しました! - ZOZO TECH BLOG
    ikkou
    ikkou 2023/11/14
    #PR 書きました 📝
  • 宣言的でメンテナンスしやすいGoogle Sheetsという考え方 - ZOZO TECH BLOG

    はじめに こんにちは、生産プラットフォーム開発部のstakmeです。 稿では、スプレッドシートの作業に「手続き的なアプローチ」と「宣言的なアプローチ」という観点を持ち込み、ふたつを対比しながら紹介します。Google Sheetsの多彩な関数を駆使して、日常的な問題に効率的に対応するための具体的なテクニックやヒントを提供します。また注意点やリスクを指摘し、スプレッドシートをより強力に活用するための知識を提供します。 目次 はじめに 目次 背景・課題 稿の目的 規則的な処理を繰り返すケース 手続き的に構築された例 宣言的に記述された例 SEQUENCE ARRAYFORMULA 関数の組み合わせ なぜ「宣言的」なのか データが徐々に増えるケース 手続き的に構築された例 宣言的に記述された例 別の見せ方でデータを表示したいケース 手続き的に構築された例 宣言的に記述された例 やりすぎのケ

    宣言的でメンテナンスしやすいGoogle Sheetsという考え方 - ZOZO TECH BLOG
    ikkou
    ikkou 2023/10/17
  • SQL Serverのインスタンスを共用しているデータベースを分離するために考慮すべきこと - ZOZO TECH BLOG

    こんにちは、技術部SRE部ZOZOSREチームの斉藤です。普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。またDBREとしてZOZOTOWNのデータベース全般の運用・保守も兼務しております。 ZOZOTOWNではSQL Serverインスタンスが複数存在しており、サービスのメインデータベースとして稼働しています。その中で、1つのインスタンスを共用し、2つのデータベースが相乗りしている状態で運用されている環境が存在します。相乗りしているデータベースを検討したシステム構成の制限内で分離するには詳細な調査が必要でした。後述しておりますが、調査の過程で課題が見つかり、容易に分離はできませんでした。課題を解決し、分離を実現させるために日々邁進しております。 記事では、SQL Serverインスタンスを共用し、2つのデータベースが相乗りしている環境からデータベースを分離

    SQL Serverのインスタンスを共用しているデータベースを分離するために考慮すべきこと - ZOZO TECH BLOG
    ikkou
    ikkou 2023/10/12
  • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

    はじめに こんにちは。ブランドソリューション開発部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

    GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
    ikkou
    ikkou 2023/10/10
  • Terraformとdriftctlで行うGoogle Cloud 権限管理の省力化 - ZOZO TECH BLOG

    はじめに こんにちは、ML・データ部MLOpsブロックの岡です。 MLOpsブロックでは日々複数のGoogle Cloudプロジェクトを管理しています。これらのプロジェクトでは、データサイエンティストやプロジェクトマネージャーなど別チームのメンバーが作業することもあり、必要に応じてメンバーのGoogleアカウントへ権限を付与しています。 権限の付与はプロジェクトの管理者であるMLOpsブロックメンバーが行いますが、これは頻繁に発生する作業でありトイルとなっていました。 また権限付与後はこれらを継続的に管理し、定期的に棚卸しすることで不要になった権限を削除する必要があります。しかし当初の運用だと権限の棚卸しの対応コストが大きく、これが実施されずに不要な権限が残り続けるという課題もありました。 記事ではMLOpsブロックで抱えていたGoogle Cloudプロジェクト内での権限管理における

    Terraformとdriftctlで行うGoogle Cloud 権限管理の省力化 - ZOZO TECH BLOG
    ikkou
    ikkou 2023/10/02
  • 【イベントレポート】ZOZO Tech Talk #8 - Goを開催しました! - ZOZO TECH BLOG

    はじめに こんにちは。DevRelブロックの@wirohaです。9月20日にZOZO Tech Talk #8 - Goを開催しました。ZOZOのエンジニアGoを利用した開発事例を紹介する、ランチタイムのイベントです。 登壇内容まとめ 弊社から次の2名が登壇しました。 コンテンツ 登壇者 UseCaseの凝集度を高めるGoのpackage戦略 ブランドソリューション開発部 バックエンド部 / 田村誠基 事業成長を加速させるGoのコード品質改善の取り組み ブランドソリューション開発部 バックエンド部 / 田島太一 当日の発表はYouTubeのアーカイブでご覧ください。 www.youtube.com UseCaseの凝集度を高めるGoのpackage戦略 ブランドソリューション開発部 バックエンド部 / 田村誠基 speakerdeck.com 田村からはショップスタッフの販売サポー

    【イベントレポート】ZOZO Tech Talk #8 - Goを開催しました! - ZOZO TECH BLOG
    ikkou
    ikkou 2023/09/27
  • サービス無停止を実現するデータ移行戦略 - ZOZO TECH BLOG

    はじめに こんにちは、ECプラットフォーム部会員基盤ブロックのturbofishです。弊社ではモノリスのプログラムで動いているZOZOTOWNをマイクロサービス化する取り組みを行なっており、複数チームが1つの大きなオンプレシステムをマイクロサービスでリプレイスしています。その中で私が所属する会員基盤ブロックでは、ZOZOTOWNの会員情報を管理するマイクロサービスを開発しています。 記事では、弊チームを含む複数のマイクロサービス開発チームにおいて、既存のアプリケーションの一部をマイクロサービスを使用する処理に置き換えた際、サービス無停止でオンプレ環境にあるDBからマイクロサービスが使用するクラウド環境のDBにデータを移行した戦略を紹介します。 ディスクレイマー 記事で紹介するデータ移行方法には下記の制約があり、全ての状況に対応できるわけではありません。 DBへの書き込み処理と読み取りの

    サービス無停止を実現するデータ移行戦略 - ZOZO TECH BLOG
    ikkou
    ikkou 2023/09/27