タグ

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

  • 「挑戦させすぎ?」マネジメント勉強会で分かった組織課題とその解決策 - ZOZO TECH BLOG

    こんにちは、ZOZOテクノロジーズSREチームリーダー兼組織開発チーム所属の指原(@sashihara_jp)です。 この記事では2019年12月から全11回開催してきた「マネジメント勉強会」を通じて分かってきたZOZOテクノロジーズの組織課題と、これから取り組もうとしているその解決方法を紹介します。 ZOZOテクノロジーズの社員構成 マネジメント勉強会とは 立ち上げまでの道のり 運営メンバーの勧誘 経営層への企画提案 勉強会の命名 1年間で実施したテーマ 第1回 各チームで実施しているチームビルディング施策の共有 第2回 書籍「1on1マネジメント」を読んだ上で内容について議論 第9回 採用面接で質問している内容について意図と効果共有 マネジメント勉強会を通じて分かってきたZOZOテクノロジーズの現状 1.組織の急拡大による弊害 2.現場のコンフリクト 3.マネジメントと人材育成 組織開

    「挑戦させすぎ?」マネジメント勉強会で分かった組織課題とその解決策 - ZOZO TECH BLOG
    honeybe
    honeybe 2021/02/04
  • KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG

    計測プラットフォーム部バックエンドチームの鈴木です。 この記事では、Akka gRPCを利用しているScalaアプリケーションのZOZOMATに対してKamonを通じてAPMを導入した際に得られた知見、うまくいかなかった内容やその対応策を紹介します。 Akkaとは 最初にAkkaについて簡単に紹介します。Akkaは、JVM上で並行および分散アプリケーションの構築を容易にするツールキットとランタイムです。 Actorモデルの実装であるAkka Actorsを中心とし、Akka StreamsやAkka HTTP、Akka Clusterなど様々なツールが提供されています。詳しくは公式ドキュメントやAkka実践バイブルを読むことで深く理解できます。書籍で紹介されているAkkaのAPIは、今では古いものとなっていますが、Akkaの楽しさを知るにはとても良いです。 私たちが開発しているZOZOM

    KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG
    honeybe
    honeybe 2021/02/01
  • Kotlinのsuspend関数のバイトコードを読んでみた - ZOZO TECH BLOG

    こんにちは。福岡研究所の岩(@odiak_)です。 みなさん、Kotlinのコルーチンを使っていますか? 私は、最近久しぶりにAndroidのコードを触る機会があり(3年ぶりくらいでしょうか)、以前から存在は知っていたものの詳しく知らなかったコルーチンを少し使ってみました。まずドキュメントを読んでみたのですが、よくデザインされているなと感じました。今回は使っていませんが、ChannelやFlowなども良さそうです。 この記事では、Kotlinのコルーチンを支える言語機能の1つである、suspend修飾子付き関数の動きをバイトコードから読み解いていきます。 対象読者としては、KotlinAndroidアプリの開発やサーバーサイドで使用していて、言語処理系の挙動にも興味がある方を想定しています。 コルーチンの紹介 ご存知ではない方のために、Kotlinのコルーチンについて簡単に紹介しておき

    Kotlinのsuspend関数のバイトコードを読んでみた - ZOZO TECH BLOG
    honeybe
    honeybe 2021/01/28
  • BigQueryの監査ログをリアルタイムに監視して使いすぎを防止してみる - ZOZO TECH BLOG

    こんにちは。SRE部の塩崎です。七味唐辛子の粉末を7種類に分類するという趣味を発展させて、おっとっとを新口動物と旧口動物に分類するという趣味を最近発明しました。 BigQueryは非常にパワフルなData WareHouse(DWH) SaaSであり、大容量のデータを一瞬で分析できます。しかし、課金額がスキャンしたデータ量に比例するという特徴があるため、意図せずに大量のデータをスキャンしてしまい大金を溶かしてしまうことを懸念する人もいます。 qiita.com そのため、課金額が大きすぎるクエリを発見した際にSlackへ通知する仕組みを作りました。GCP Organization内の全プロジェクトで実行されたBigQueryの監査ログをリアルタイムにチェックすることによってこの仕組みは実現されています。記事では作成したシステムを紹介します。 なお、記事は以下のQiita記事に着想を得た

    BigQueryの監査ログをリアルタイムに監視して使いすぎを防止してみる - ZOZO TECH BLOG
    honeybe
    honeybe 2021/01/12
  • OSSへの貢献 - Issueから始めるチーム活動 - ZOZO TECH BLOG

    はじめに こんにちは、計測プラットフォーム部バックエンドチームのリーダー、児島(@cozima0210)です。この記事では、今年4月に社内で策定されたOSSポリシーに基づいて、チームでOSSに貢献する活動に取り組んだ話を紹介します。社内のOSSポリシーが策定された経緯については、こちらの記事をご覧ください。 なお、これはZOZOテクノロジーズ Advent Calender 2020 #3の5日目の記事です。 背景 私たちのチームでは、ZOZOSUIT/ZOZOMATから生成されるデータ及びそれを元とする計算データを高速に扱うため、様々なライブラリの使用を試みてきました。それらの中には、調査や試用の段階で不具合を発見したライブラリがありました。しかし、プロダクトの開発及び運用の過程では、そうした不具合の根原因を探る時間を持つことは難しいものでした。そのため、代替ライブラリの選択を検討した

    OSSへの貢献 - Issueから始めるチーム活動 - ZOZO TECH BLOG
    honeybe
    honeybe 2020/12/04
  • AI Platform Pipelines (Kubeflow Pipelines)による機械学習パイプラインの構築と本番導入 - ZOZO TECH BLOG

    ZOZOテクノロジーズ推薦基盤チームの寺崎(@f6wbl6)です。ZOZOでは現在、米Yale大学の経営大学院マーケティング学科准教授である上武康亮氏と「顧客コミュニケーションの最適化」をテーマに共同研究を進めています。 推薦基盤チームでは上武氏のチームで構築した最適化アルゴリズムを番環境で運用していくための機械学習基盤(以下、ML基盤)の設計と実装を行っています。記事ではML基盤の足掛かりとして用いたAI Platform Pipelines (Kubeflow Pipelines) の概要とAI Platform Pipelinesの番導入に際して検討したことをご紹介し、これからKubeflow Pipelinesを導入しようと考えている方のお役に立てればと思います。記事の最後には、推薦基盤チームで目指すMLプロダクト管理基盤の全体像について簡単にご紹介します。 上武氏との共同研

    AI Platform Pipelines (Kubeflow Pipelines)による機械学習パイプラインの構築と本番導入 - ZOZO TECH BLOG
    honeybe
    honeybe 2020/11/13
  • Splunkのアクセスログ解析でWEARのAPIを201件(約5万行)削除した話 - ZOZO TECH BLOG

    こんにちは、WEAR部運用改善チームの佐野です。 私たちのチームでは、WEARの日々の運用業務を安全かつ効率的に行えるよう改善をしています。今回は、年初から行っていた不要APIの削除作業についてご紹介します。 背景 残念なことに長い間WEARでは不要になったAPIが放置されてしまっており、どのAPIが実際に使用されているものなのかが分かりにくい状態になっていました。WEARのAPIはWeb・iOS/Androidアプリ・バッチ・社内ツールから参照されているのですが、使用されているのかが明確でないAPIが多数残されていることにより、以下のような問題がありました。 リプレイスや脆弱性診断の対象箇所の洗い出しの際に余計なコストが掛かる 運用業務において何かを調査をする際に、使用されていないAPIがあることで不要なコードも増え、調査がしにくい 実際に、他部署からの問い合わせの調査でとある処理を追っ

    Splunkのアクセスログ解析でWEARのAPIを201件(約5万行)削除した話 - ZOZO TECH BLOG
    honeybe
    honeybe 2020/11/02
  • ZOZOTOWNを支えるリアルタイムデータ連携基盤 - ZOZO TECH BLOG

    こんにちは、SRE部MA基盤チームの谷口(case-k)です。私達のチームでは、データ連携基盤の開発・運用をしています。 データ基盤には大きく分けて2種類あり、日次でデータ連携してるものとリアルタイムにデータ連携しているものがあります。記事ではリアルタイムデータ連携基盤についてご紹介します。 既存のデータ連携基盤の紹介 リアルタイムデータ連携基盤の紹介 なぜ必要なのか 活用事例の紹介 データ連携の仕組みと課題 リプレイス後のリアルタイムデータ連携基盤 SQL Serverの差分データの取り方を検討 アーキテクチャ概要と処理の流れ Fluentdのプラグインを使った差分データの取得 Dataflowでメッセージの重複を排除 Dataflowで動的にBigQueryの各テーブルに出力 Pub/Subのメッセージ管理 イベントログ収集基盤 個人情報の取り扱い ビルド・デプロイ戦略 監視 データ

    ZOZOTOWNを支えるリアルタイムデータ連携基盤 - ZOZO TECH BLOG
    honeybe
    honeybe 2020/08/27
  • ZOZOテクノロジーズのオープンソースソフトウェアポリシーを策定しました - ZOZO TECH BLOG

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

    ZOZOテクノロジーズのオープンソースソフトウェアポリシーを策定しました - ZOZO TECH BLOG
    honeybe
    honeybe 2020/07/20
  • Go言語におけるOpenAPIを使ったレスポンス検証 - ZOZO TECH BLOG

    こんにちは、ECプラットフォーム部の権守です。普段はZOZOTOWNのリプレイスに関わるID基盤とAPI Gatewayの開発を行っています。 ID基盤やAPI Gatewayの中身についてもいずれ紹介したいと思いますが、記事では、ID基盤のAPI開発で取り入れているGo言語におけるOpenAPIを使ったレスポンス検証について紹介します。 OpenAPIを使ったレスポンス検証 OpenAPI Specification(以下、OpenAPIと表記します)はREST APIのためのプログラミング言語に依存しない標準的なインタフェース記述言語です。OpenAPIについては以前にこちらの記事でも取り上げましたので、合わせて読んでいただければと思います。 弊社では、新規で開発するAPIについてはOpenAPIを用いて仕様書を作成しており、ID基盤もそうして社内にAPI仕様書を提供しています。 O

    Go言語におけるOpenAPIを使ったレスポンス検証 - ZOZO TECH BLOG
    honeybe
    honeybe 2020/06/15
  • 近似最近傍探索Indexを作るワークフロー - ZOZO TECH BLOG

    はじめに こんにちは。ZOZO研究所のshikajiroです。主に研究所のバックエンド全般を担当しています。ZOZOでは2019年夏にAI技術を活用した「類似アイテム検索機能」をリリースしました。商品画像に似た別の商品を検索する機能で、 画像検索 と言った方が分かりやすいかもしれません。MLの開発にはChainer, CuPy, TensorFlow, GPU, TPU, Annoy、バックエンドの開発にはGCP, Kubernetes, Docker, Flask, Terraform, Airflowなど様々な技術を活用しています。今回は私が担当した「近似最近傍探索Indexを作るワークフロー」のお話です。 corp.zozo.com 目次 はじめに 目次 画像検索の全体像説明 Workflow Develop Application 推論APIの流れ 近似最近傍探索とAnnoy 近似

    近似最近傍探索Indexを作るワークフロー - ZOZO TECH BLOG
    honeybe
    honeybe 2020/06/11
  • RecSys2019 参加レポート 〜ZOZO研究所が注目する、推薦システムの研究の最新トレンド〜 - ZOZO TECH BLOG

    こんにちは、ZOZOテクノロジーズで機械学習の研究開発をしている松井・真木です。2019 年 9 月末にコペンハーゲンで行われた推薦システムのトップカンファレンスである RecSys 2019 に参加してきたので、稿では参加報告と気になった論文の紹介をします。 recsys.acm.org Overview RecSys では推薦システムに関するアルゴリズムはもちろん、インターフェースやユーザー心理など幅広い話題を扱っています。今年は参加チケットが売り切れたことからも注目度の高さが伺えます。研究発表はロングペーパーとショートペーパーからなり、採択率はそれぞれ 19%、24%でした。個人的に印象的だったのは、参加者の 7 割以上が企業所属である一方、発表者の数でみるとアカデミアの勢力も強かった点です。私はこれまでいくつかの国際会議に参加してきましたが、RecSys は笑いを取りに来る発表者

    RecSys2019 参加レポート 〜ZOZO研究所が注目する、推薦システムの研究の最新トレンド〜 - ZOZO TECH BLOG
    honeybe
    honeybe 2019/10/11
  • 「ノンプログラミングでも自動化したい!」5分以内でできるSlack×Zapier活用術3選 - ZOZO TECH BLOG

    こんにちは。Innovation Initiative Div.の @ka_bi__ です。 普段は「コーデ相談 by WEAR」のプロダクトマネージャーを担当しています。 「業務上で発生する面倒なタスク、さっと自動化したい…!でもエンジニアに頼むにも忍びないし、わざわざコーディングするにはハードルが高い…!」 こんな場面は、多々ありませんか? タスク自動化ツールZapierを使えば、GUIでサクッと解決! 記事では、SlackをベースにZapierを活用した事例を3つお伝えしたいと思います。 Zapierとは Zapierとは、アメリカのタスク自動化ツールです。 複数のアプリ(Webアプリケーション)を連携させてワークフローを作り、業務を自動化させることができます。Web UI上からアカウント連携・ワークフロー作成ができるため、プログラミングの知識がなくても簡単に使うことができます。類

    「ノンプログラミングでも自動化したい!」5分以内でできるSlack×Zapier活用術3選 - ZOZO TECH BLOG
    honeybe
    honeybe 2019/07/22
  • OpenCV, GoCV, Go言語における画像処理のパフォーマンスの比較 - ZOZO TECH BLOG

    Gopher's design for Ryuta Tezuka(@Tzone99) こんにちは、ZOZOテクノロジーズ開発部の池田(@ikeponsu)です。 記事では、 Go言語における画像処理の可能性を、ベンチマークを通して探ってみたいと思います。 はじめに 業務内でGo言語での画像処理を行う機会があり、Goの標準パッケージやGoCVについて調べていました。 ただ、画像処理に関する記述はまだまだ少なく、実装している人自体も少ないのかなという印象でした。 今回行った「Go言語での画像処理の速度はどの程度か」のベンチマークが、これからGo言語で画像処理の実装を行おうとしている方の参考になればと思います。 ベンチマークの内容 比較対象 C++OpenCV内のバイリニア補間 GoCV内のバイリニア補間 Go言語とimageパッケージを使って実装したバイリニア補間 処理内容 画像入出力 バ

    OpenCV, GoCV, Go言語における画像処理のパフォーマンスの比較 - ZOZO TECH BLOG
    honeybe
    honeybe 2019/07/12
  • Amazon re:MARS参加レポート - Amazon社のAIやロボットへの取り組みを体感してきました - ZOZO TECH BLOG

    こんにちは、開発部の茨木(@niba1122)です。主に新規事業系の開発に携わっています。6/4〜6/7にかけて、ビジネスリーダー・開発者向けのAIカンファレンスであるAmazon re:MARSに参加してきました。記事では、筆者が実際に参加して面白かったセッションやワークショップに関して、開発者寄りの視点で書きます。 Opening Remarks & Keynotes Opening Remarks Keynote(day2) Keynote(day3) ワークショップ W03 - Build Intelligent Applications Quickly with AWS AI ソーシャルメディアダッシュボード AIを活用したお問い合わせセンター Amazon Personalizeによる動画リコメンドエンジン W05 - Finding Martians with AWS Ro

    Amazon re:MARS参加レポート - Amazon社のAIやロボットへの取り組みを体感してきました - ZOZO TECH BLOG
    honeybe
    honeybe 2019/06/10
  • Androidエンジニア/Webエンジニア/PMのGoogle I/O 2019おすすめセッションまとめ - ZOZO TECH BLOG

    こんにちは! Google I/O 2019から3週間ほど経ちましたが、全国各地でGoogle I/O報告会が行われておりまだまだGoogle I/O熱はまだまだ続きそうですね。 Google I/Oには弊社からも3名(@rllllho, @ysk_ur、山田)が参加しました。 参加レポートはすでに多くあるため、この記事では実際に参加したメンバーがGoogle I/Oのおすすめのセッションをピックアップしてご紹介します! Android関連のおすすめセッション 自己紹介 What’s New in Android Studio UI Design and Debugging Tools (Google I/O'19) LayoutEditor NavigationEditor ResourceManager LayoutInspector おすすめ理由 MLKit: Machine Lea

    Androidエンジニア/Webエンジニア/PMのGoogle I/O 2019おすすめセッションまとめ - ZOZO TECH BLOG
    honeybe
    honeybe 2019/05/29
  • ZOZOテクノロジーズの技術顧問 岸川氏、松田氏、Matz氏に聞くエンジニア人生。 〜とにかく書く、書くことを楽しむ〜 - ZOZO TECH BLOG

    こんにちは、広報の坂井です。ZOZOテクノロジーズ発足から1年。2019年4月現在、ZOZOテクノロジーズは3名の技術顧問を迎えています。iOSアプリ開発の第一人者である岸川克己氏、Ruby,Ruby on Railsコミッターの松田明氏、そしてRubyの生みの親であるまつもとゆきひろ氏です。 3名にインタビューを行い、ZOZOテクノロジーズの技術顧問になった背景や、エンジニア人生について語っていただきました。 岸川 克己 氏(@k_katsumi) iOS/macOSアプリケーションの開発者。様々な企業にテクニカルアドバイザーとして関わる。また、多数のオープンソースライブラリをGitHubで公開。2019年1月よりZOZOテクノロジー技術顧問。 松田 明 氏(@a_matsuda‏) Rubyコミッター。Ruby on Railsコミッター。kaminari、action_args、a

    ZOZOテクノロジーズの技術顧問 岸川氏、松田氏、Matz氏に聞くエンジニア人生。 〜とにかく書く、書くことを楽しむ〜 - ZOZO TECH BLOG
    honeybe
    honeybe 2019/05/07
  • Google Cloud Next '19で発表された新機能を紹介します! (Cloud Run, BigQuery Storage API, Cloud Data Fusion) - ZOZO TECH BLOG

    こんにちは! App EngineのスタンダードランタイムにRubyが追加されて喜んでいるバックエンドエンジニアのりほやん(高木)と、オレンジ色のチンアナゴは実はニシキアナゴという別種だったことに驚きを禁じ得ない塩ちゃん(塩崎)です。 4/9, 10, 11の期間で開催されたGoogle Cloud Next '19にZOZOテクノロジーズから高木と塩崎が参加しました! GCPの新しい機能や活用についての事例が多く紹介されました。 その中でも2人がカンファレンスで気になった技術を紹介します。 Cloud Run Cloud Runとは Cloud Runの特徴 実際に使ってみる 1. アプリケーションの準備 2. コンテナイメージをビルドする 3. Cloud Runにサービスを作成する App Engineとの違い サービスの比較 各サービスの概要 App Engine Cloud Ru

    Google Cloud Next '19で発表された新機能を紹介します! (Cloud Run, BigQuery Storage API, Cloud Data Fusion) - ZOZO TECH BLOG
    honeybe
    honeybe 2019/04/13
  • 全社的に会社用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
    honeybe
    honeybe 2019/04/11
  • 開発支援サーバー(GitBucket、Redmine、Jenkins)を退役させてSaaSに移行させた話 - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズ開発部の田島です。 今時のシステム開発ではさまざまなツールを利用することが当たり前になっています。 そして各種ツールは日々新しいものが開発され、今まで当たり前だったものがレガシーなツールと呼ばれることも珍しくありません。 弊社では、GitHubCircleCISlackなど様々なツールを利用しています。 私達のチームでもこれらのツールを利用していますが、それ以外にもGitBucketやJenkins・Redmineを独自で管理し利用していました。 今回ある理由からそれらのツールをSaaSへ移行しました。その経緯と移行手順を紹介します。 概要 開発支援サーバの紹介 利用しているGitBucket・Jenkins・Redmineは開発支援サーバと呼ばれる一台のEC2インスタンスの上で動作していました。 やったこと これらのツールを以下の図のように、「Git

    開発支援サーバー(GitBucket、Redmine、Jenkins)を退役させてSaaSに移行させた話 - ZOZO TECH BLOG
    honeybe
    honeybe 2019/02/25