タグ

ブックマーク / techblog.zozo.com (15)

  • GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG

    はじめに こんにちは、CTO/DevRelブロックの堀江(@Horie1024)です。ZOZOではGitHub Copilotを全社へ導入しました。投稿では、GitHub Copilotの導入に際して検討した課題とその課題の解決策としてどのようなアプローチを取ったのかを紹介します。 目次 はじめに 目次 GitHub Copilotとは何か? GitHub Copilot導入の背景と目的 導入する上での課題 セキュリティ上の懸念 ライセンス侵害のリスク GitHub Copilot for Businessの利用 導入による費用対効果 試験導入による費用対効果の見積もり 試験導入の実施 対象者の選出 アンケートの設計 試験導入の実施 アンケート結果の集計 アンケート結果の考察 費用対効果の見積もり 全社導入の判断 導入決定後のGitHub Copilot利用環境の整備 社内LT会 おまけ

    GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG
    gfx
    gfx 2023/07/11
  • Elasticsearchで日本語検索を扱うためのマッピング定義 - ZOZO TECH BLOG

    こんにちは、検索基盤部 検索基盤ブロックの渡です。私は検索基盤ブロックで、主にZOZOTOWNの検索周りのシステム開発に従事しています。 以前の記事では、Elasticsearchのマッピング設定の最適化について取り上げました。そして、今回は日語による形態素解析を実現するまでの手順をご紹介します。 techblog.zozo.com 目次 目次 はじめに Elasticsearchで全文検索を実現させる手順 全文検索のためのマッピング定義 Analyzerの構造 日語対応のAnalyzer 日語対応のためのプラグイン追加 kuromoji Analyzerを指定したマッピング定義の例 kuromojiプラグイン機能 カスタムしたAnalyzerのマッピング定義 Analyzerの動作確認 modeを選択した場合のマッピング定義の例 Analyzer適用の注意点 kuromoji以外の

    Elasticsearchで日本語検索を扱うためのマッピング定義 - ZOZO TECH BLOG
    gfx
    gfx 2021/11/06
  • Fastlyのパスベースルーティングで実現するWEARのゆるやかなクラウド移行 - ZOZO TECH BLOG

    はじめに こんにちは。メディアプラットフォーム部 WEAR部 WEAR-SREの長尾です。 WEARは2013年にリリースされ、現在8年目のサービスです。そして、2004年にリリースされた当時のZOZOTOWNと同じアーキテクチャを採用しているため、比較的古いシステム構成で稼働しています。記事では、そのWEARのWebアプリケーション刷新とクラウド移行で実践している、Fastlyを活用したパスベースルーティングによる段階移行の取り組みを紹介します。 WEARをリプレイスする理由 WEARのWebアプリケーションは、データセンターでオンプレミス(以下、オンプレ)上で稼働しています。また、DBSQL Serverを利用しています。長年このアーキテクチャで成長を続けてきましたが、今後さらに成長を加速させていくためには以下の3点を実現する必要があります。その実現に向け、2年前からリプレイスに

    Fastlyのパスベースルーティングで実現するWEARのゆるやかなクラウド移行 - ZOZO TECH BLOG
    gfx
    gfx 2021/05/31
  • ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズZOZOTOWN部 検索チーム 兼 ECプラットフォーム部 検索基盤チームの有村です。 ZOZOTOWNでは先日公開した記事の通り、すべての検索をElasticsearchへ置き換えました。置き換え直後は順調に見えたのですが、実際に数%ずつリリースしていく中で一部時間帯、一部リクエストでレスポンス速度の低下がみられました。 記事ではその解決のために行ったパフォーマンス調査、チューニング方法についてご紹介します。なお、一般的に行われるであろうElasticsearch体のパラメータチューニングの話ではなく、クエリやmapping、setting面の話がメインとなります。 改善前後の速度について 詳細な内容の前に、改善によるレスポンス速度の最終的な改善結果を示します。 今回の計測では、一定パターンのリクエストを10秒間繰り返し、95%tileのレスポンス

    ZOZOTOWNにおける検索速度改善までの道のり - ZOZO TECH BLOG
    gfx
    gfx 2020/08/20
    改善後の99%tileで0.205secはかなり速いな…。これがプロのElasticsearch職人の仕事か。
  • ZOZOテクノロジーズのオープンソースソフトウェアポリシーを策定しました - ZOZO TECH BLOG

    こんにちは。MLOpsチームリーダー兼プラットフォームSREチームリーダーのsonotsです。今年の4月からZOZOTOWNリプレイスプロジェクトにも関わるようになりました。Zoomの背景画像を「進め!電波少年」にしてみても、チームの若者に伝わらないのが最近の悩みです。 今回の記事は、昨年度にタスクフォースとして発足したOSSポリシー策定委員会を代表して、今年の4月に弊社で策定したOSSポリシーについて紹介します。 OSSポリシー策定の背景と目的 弊社でもOSSを利用・貢献・公開しているメンバーが増えてきています。また、会社としても業界貢献、技術アピールの側面からOSS活動を奨励したいという想いがあります。 しかし、弊社にはOSSポリシーが存在しなかったため、相談を受けた際にCTO室が都度判断するという状況がしばらく続いていました。都度判断ではスケールしないため、「社員がOSS活動しやすい

    ZOZOテクノロジーズのオープンソースソフトウェアポリシーを策定しました - ZOZO TECH BLOG
    gfx
    gfx 2020/07/20
    “弊社では業務の一貫であるが個人の著作物としてのOSS活動を行うことができるようになりました”
  • 全社的に会社用GitHubアカウントを廃止した件 - ZOZO TECH BLOG

    はじめまして。2019年1月に入社したSREスペシャリストのsonotsです。最近MLOpsチームのリーダーになりました。今回の記事はMLOpsの業務とは関係がないのですが、3月に弊社で実施した会社用GitHub個人アカウントの廃止について事例報告します。 TL;DR 会社用GitHubアカウントを作るべきか否か問題 会社用GitHubアカウントの利用で抱えた問題 1. OSS活動時にアカウントを切り替える必要があり面倒 2. GitHubの規約に準拠していない 会社用アカウントを廃止した場合にセキュリティをどのように担保するか GitHubのSAML single sign-on (SSO)機能について 会社用アカウントの廃止およびSSO有効化の実施 会社用GitHubアカウントを使い続ける場合 私用GitHubアカウントに切り替える場合 Botアカウントの場合 Outside Coll

    全社的に会社用GitHubアカウントを廃止した件 - ZOZO TECH BLOG
    gfx
    gfx 2019/04/11
    素晴らしいまとめ。これで今後この問題に悩むことがなくなる。
  • GraphQLにおけるエラーハンドリングの仕方 - ZOZO TECH BLOG

    こんにちは、サーバーサイドエンジニアの竹若です。今回GraphQLにおけるエラーハンドリングを調査、Ruby on Railsgraphql-rubyを使って実装する機会があったので、そこで得られた知見を共有させていただきたいと思います。(なお今回の実装はプロダクション環境には出ていません) GraphQLの仕様とプラクティス それではまず初めに、GraphQLが仕様に定めているレスポンスの返し方を見ていきましょう。 レスポンスのフォーマットに関するプラクティス GraphQLのプラクティスの1つに、レスポンスのhttp statusを200で統一し、レスポンスのerrorsキーにエラーの詳細な情報を持たせるというものがあります。 なぜならGraphQLではリクエストに複数のクエリを含めることができるからです。 https://www.graph.cool/docs/faq/api-ee

    GraphQLにおけるエラーハンドリングの仕方 - ZOZO TECH BLOG
    gfx
    gfx 2019/03/18
  • Androidアプリ開発にFluxアーキテクチャを導入したら保守性も品質も上がりました - ZOZO TECH BLOG

    こんにちは。フロントエンドエンジニアの茨木(@niba1122)です。 弊社のAndroidアプリ開発ではMVVMアーキテクチャを用いています。日々肥大化・複雑化していくViewModelが保守性や品質を担保する上で課題になっていましたが、Fluxアーキテクチャの導入により改善することができました。 記事では、実際どのようにFluxアーキテクチャを導入したのかを、設計やコード例を交えながらご紹介します。 今までのMVP・MVVMの限界 アプリ開発ではMVP・MVVMといったアーキテクチャがよく用いられます。弊社のAndroidアプリ開発でもMVVMを用いています。これらのアーキテクチャはビューとドメインロジックを分割するのに役立っています。しかし、昨今のUIには多くのイベントや状態があり、更にそこにAPIリクエストなどの非同期処理が絡んできます。これらが関わるプレゼンテーション層のロジッ

    Androidアプリ開発にFluxアーキテクチャを導入したら保守性も品質も上がりました - ZOZO TECH BLOG
    gfx
    gfx 2018/03/10
  • 大規模リファクタリングで痛感したSwiftのOptionalとの正しい付き合い方 - ZOZO TECH BLOG

    iOSアプリチームの@hiragramです。 最近、ファーストリリース時からあった画面の大規模なリファクタリングを担当しました。 コードは遅かれ早かれ賞味期限が切れて少しずつ腐っていくものですが、その賞味期限を少しでも伸ばすために、普段コードを書く時にSwiftのOptionalについて意識していることを記事にします。 「とりあえずOptional」をやめる SwiftのOptionalは便利ですが、「Optionalを使えば、nilを安全に扱えて良い」と捉えてしまうと、気づくとモデルのプロパティがOptionalだらけになっていて使う側で毎回アンラップをしなくてはいけないような状況に必ずなります。 そうではなく、「Optionalの存在のおかげで、非Optionalなところにnilが絶対入ってこないことが保証されて良い」と捉えるべきだと思っています。 nilに口なしといいますが、Opti

    大規模リファクタリングで痛感したSwiftのOptionalとの正しい付き合い方 - ZOZO TECH BLOG
    gfx
    gfx 2018/02/05
    ViewController#viewDidLoaded() でプロパティを初期化するときの問題はAndroid x Kotlinでも同じ問題があるんだよなー。React Nativeはさすがに設計が新しいおかげでこの問題がなくて よい。
  • 6年半のテックブログ運用を振り返って気づいたメリットと長く続けるコツ - ZOZO TECH BLOG

    あけましておめでとうございます、CTOの今村(@kyuns)です。 このテックブログを購読してくださっている読者の皆さん、いつもありがとうございます。 VASILYテックブログも記事を投稿し始めてから約6年半が経ちました。 今回はテックブログを長年続けてきた振り返りと、長く続けるコツについて紹介したいと思います。今年はテックブログを始めてみたい、という方々の参考になれば幸いです。 振り返り 初めてVASILYテックブログに記事が投稿されたのは2011年5月9日、この時から現在までに約6年半の月日が経ちました。余談ですがこの時に紹介した3種の神器は今でも現役です。(QC3はQC30になりましたが) それでは6年半の歴史を軽く振り返っていきましょう。 2011年〜2013年 とりあえず始めてみたフェーズ 2011年から2013年まではエンジニアもまだ5,6名しかおらず、気が向いたら更新する、と

    6年半のテックブログ運用を振り返って気づいたメリットと長く続けるコツ - ZOZO TECH BLOG
    gfx
    gfx 2018/01/09
    いいまとめ
  • RubyKaigi2017参加レポート(全日分)とスライドまとめ - ZOZO TECH BLOG

    こんにちは、VASILYのバックエンドエンジニアの塩崎です。 9/17〜9/20にかけて広島で開催されたRubyKaigi2017に、VASILYから4人が参加しました。 3日間で約50個の講演があり、参加者も数百人を超えるであろう大変大規模なカンファレンスでした。 たくさんの講演の中で、VASILYのエンジニアが興味を持ったものを、この記事でいくつか紹介いたします。 The many faces of module Ruby Lauguage Server Ruby and Distributed Storage System Progress of Ruby/Numo: Numerical Computing for Ruby Improve extension API: C++ as better language for extension An introduction and

    RubyKaigi2017参加レポート(全日分)とスライドまとめ - ZOZO TECH BLOG
    gfx
    gfx 2017/09/22
  • テキストマイニングによるレビューの評判分析 ~はじめの一歩~ - ZOZO TECH BLOG

    iQONはAppStoreのレビュー4.5, GooglePlayのレビュー4.3と、嬉しいことにユーザーから高い評価を受けています。しかし、実際にユーザーが日々感じているアプリの良い点だったり不満点などの音の部分は、レビューやTwitterなどのユーザーが投稿する文章の中に含まれています。特にサポートにお問い合わせをしてくださったユーザーからいいただくような改善を訴えるメッセージとは違い、Twitterやレビューに投稿している文章には現状ユーザーが感じている改善してほしい点やバグ等が、より意識せずに書かれている可能性が高いと考えられます。そのテキストの内容を解析できれば、開発者が認知している問題の中でもより多くのユーザーが改善してほしいと感じている点であったり、我々開発者が気づけていなかったバグの発見等が可能になると考えられます。 そこで今回、「評判分析はじめの一歩」と題して、iQON

    テキストマイニングによるレビューの評判分析 ~はじめの一歩~ - ZOZO TECH BLOG
    gfx
    gfx 2017/08/25
  • ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG

    同僚に3ヶ月のディープラーニング禁止令を言い渡したデータサイエンティストの中村です。 VASILYではスナップ画像に写っているモデルさんが着ている服と似ている服を検索する画像検索エンジンを開発しています。 ファッションアイテムを探す際、デザイン(アイテムの色や模様)はとても重要なファクターになります。 ファッションアイテムの画像検索システムも当然、色や模様のような局所的な特徴を捉えた検索を提供する必要があります。ところが判別タスクにおける歴代チャンピオンモデルと同様のCNNを使って特徴抽出を行うと、局所的な特徴が失われて似ていないアイテムがヒットしてしまうという問題がありました。 そこで、局所的な特徴の保存と表現能力の向上を期待して、モデルに浅いネットワークを追加してマルチスケールに拡張しました。 今回はこの取り組みについて紹介したいと思います。 スナップ画像から商品画像を検索する スナッ

    ファッションアイテムの画像からの特徴抽出とマルチスケールなCNNの効果 - ZOZO TECH BLOG
    gfx
    gfx 2017/05/22
  • Androidアプリを長く開発し続けるために気をつけている9個のルール - ZOZO TECH BLOG

    Androidエンジニアの @nissiy です。Androidが発表されてからもうすぐ10年になろうとしています。長いですね。 実はAndroid版IQON、今年の4月でリリースしてから丸5年を迎えます。ここまで長くサービスを続けられて、かつ3年連続でベストアプリをいただけたのは、使ってくれているユーザーの方々のおかげであると日々感謝しています。 この5年で様々な追加機能の開発を行ってきました。新機能を1つ追加する度に、古い機能を1つ削除することを徹底して開発を進めてきたものの、長く開発を続けているのでそれなりに巨大なアプリになっています。 今回はAndroid版IQONを長く開発し続けるためにチーム内で徹底しているルールをいくつか紹介したいと思います。 当たり前な話ばかりですが、大きくOSのアップデートを繰り返すAndroidのアプリ開発に取っては大事な話ばかりですので、少しでも参考に

    Androidアプリを長く開発し続けるために気をつけている9個のルール - ZOZO TECH BLOG
    gfx
    gfx 2017/02/23
  • VAEとGANを活用したファッションアイテム検索システム - ZOZO TECH BLOG

    データサイエンティストの中村です。今回はイメージファーストなファッションアイテム検索システムを作ってみたのでそちらの紹介をしたいと思います。 記事で紹介する技術はIBIS2016でも報告しています。 概要 ファッションアイテムを探すとき、見た目の印象はとても大事な要素です。ファッションは感覚的なものなので、自分が欲しい服について言葉で説明することは難しいですが、そのアイテムの良し悪しは画像を見ただけで判断できるからです。 今回開発した検索システムは見た目の印象を大事にしたいので、画像をクエリとします。ただし、ただの画像検索では面白くないので、色や形状などの属性情報を付加した状態で検索を実行できるようにしました。 例えば、「シルエットは良いんだけど、これの赤いやつが欲しい」のような感覚的な注文を、以下のGIFのように画像に属性を付加する形で拾っています。 よくある検索システムではカテゴリに

    VAEとGANを活用したファッションアイテム検索システム - ZOZO TECH BLOG
    gfx
    gfx 2017/01/13
    “今回開発した検索システムは見た目の印象を大事にしたいので、画像をクエリとします” おもしろい…!
  • 1