タグ

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

  • Appleのエンジニアに聞いた日頃の疑問とこれからの話 - オンライン開催のWWDC20まとめ - ZOZO TECH BLOG

    こんにちは。ZOZOTOWN部の荒井です。 先日WWDC20が開催され、今年も弊社iOSメンバーが参加してきました。Apple Siliconや各次世代OSなど面白い発表が目白押しでしたね。 カンファレンスの内容も非常に興味深いものでしたが、今年は諸般の事情を鑑みて、初のオンライン開催となったことも印象的でした。 記事ではWWDC20オンライン開催にあたり、ZOZOTOWN iOS担当のメンバーがどう臨んだのか、参加して感じた現地開催との相違点をお伝えします。また、Developer Labsに参加し、Appleエンジニアと日頃疑問に思ってる点について話をしてきました。可能な範囲で内容を公開しますので、是非最後までご覧ください。 WWDC? WWDC(Worldwide Developer Conference)は、Appleが年に1度開催している開発者向けのカンファレンスです。ZOZ

    Appleのエンジニアに聞いた日頃の疑問とこれからの話 - オンライン開催のWWDC20まとめ - ZOZO TECH BLOG
    koogawa
    koogawa 2020/07/09
    “現地時間に合わせた日本時間2:00 - 11:00での勤務 6月27日(土)を出社とし、6月22日(月)を休みに振り替え” これ良いなぁ
  • ConstraintLayoutのレイアウト組み方実用例 - ZOZO TECH BLOG

    こんにちは。フロントエンドエンジニアの遠藤です。 皆さん、ConstraintLayoutを使用していますか? 弊社では最近、ほとんどのレイアウトをConstraintLayoutを使用して実装しています。 今回はConstraintLayoutを使用してレイアウトを組んだ際に便利だなと思ったポイントや難しくてはまったことについて紹介したいと思います。 今回はConstraintLayoutを使用したレイアウトの組み方について注目するので、基的な使い方については説明しません。 ConstraintLayoutの基的な使い方は下記の記事が分かりやすくておすすめです。 Google Developer Yukiの枝折: ConstraintLayout 実用例 今回はConstraintLayout1.1.0-beta5を使用しています。 サンプルコードはGitHubにあげてあります。 g

    ConstraintLayoutのレイアウト組み方実用例 - ZOZO TECH BLOG
    koogawa
    koogawa 2019/05/15
    ConstraintLayout は RelativeLayout を置き換えるものなんじゃろうか?。゚使い分けがわかっていない
  • 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
    koogawa
    koogawa 2019/05/07
    すごいメンツだ!!
  • 全社的に会社用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
    koogawa
    koogawa 2019/04/11
    会社用のアカウント作らされる、ってのがむしろ新鮮だった
  • CircleCIとDeployGateでAndroidアプリのリリース作業を自動化してみた - ZOZO TECH BLOG

    みなさんはAndroidアプリのリリース作業を自動化していますか? 2014年GooglePlayベストアプリを受賞した弊社のファッションアプリ「iQON」では、リリース作業をCircleCIとDeployGateで自動化しています。今回、どのように自動化したのかを、昨年11月からVASILYで働き始めた堀江(@Horie1024)がご紹介しようと思います。 概要 iQONの開発フローは、PullRequestベースで行われており、開発が完了したコードをreleaseブランチに随時PullRequestを送りながら開発を進めています。 releaseブランチを作成 releaseブランチにPullRequest 問題が無ければPullRequestをマージ 1~3を繰り返す そして、リリース作業は以下のような手順で行っていました。 releaseブランチをmasterブランチへPullRe

    CircleCIとDeployGateでAndroidアプリのリリース作業を自動化してみた - ZOZO TECH BLOG
    koogawa
    koogawa 2019/02/20
  • iOSで構築しているCIのWorkflow紹介 - ZOZO TECH BLOG

    こんにちは。iOS担当の荒井です。 今回はiOSチームで構築しているCI/CDのWorkflowについて紹介します。 CI/CD環境 はじめに、ZOZOテクノロジーズのiOSチームがどのようなCI/CD環境を整えているかを簡単に説明します。ZOZOテクノロジーズではZOZOTOWNやWEAR、プライベートブランドZOZOなど様々なサービスを運営しています。プロダクトによりCI/CD環境は違うのですが、多くのプロダクトでBitrise + DeployGateという構成をとっています。今回お話するWorkflowもBitriseを例に紹介していきます。 Bitrise 多くのCIサービスが存在していますが、以下の理由でBitriseを選定しています。 導入時、利用目的に対して価格面が見合っていた Xcodeバージョンアップへの対応速度 日市場に注力 日市場に注力していくという話もあり、今

    iOSで構築しているCIのWorkflow紹介 - ZOZO TECH BLOG
    koogawa
    koogawa 2019/02/16
    ワシらもfastlane+deploygate使ってます!
  • 今、ZOZOが求めるエンジニア職を全て紹介します - ZOZO TECH BLOG

    こんにちは、ZOZOテクノロジーズ VPoEの今村(@kyuns)です。 この記事はZOZOテクノロジーズ Advent Calendar の25日目の記事になります。 今年の4月にスタートトゥデイテクノロジーズ(現ZOZOテクノロジーズ)が発足してから約8ヶ月が経ちました。新型ZOZOSUITやプライベートブランド「ZOZO」の発表など今年は色々と新しいチャレンジをしていた弊社ですが、外から見たときにエンジニア観点だとまだまだ謎めいている部分がたくさんあると思います。 ちょうど先日代表の前澤がツイートしたことでTwitter採用が話題になりましたが、反響も非常に大きく、多くの方にご応募いただき実際に何名かのエンジニアを採用することができました。 news.yahoo.co.jp この祭りでも非常に多くの質問をいただきましたが、このエントリではZOZOテクノロジーズが行っている事業やプロダ

    今、ZOZOが求めるエンジニア職を全て紹介します - ZOZO TECH BLOG
    koogawa
    koogawa 2018/12/26
    “給与の上限は、天才枠採用の場合最大1億円となります”
  • 「品質」の基準とは? - Start Today Technologies TECH BLOG

    こんにちは。品質管理部エンジニアリングチームの高橋です。 今回は品質管理部として初のTECH BLOG投稿ということもあり、 「品質 / Quality」について掘り下げてみたいと思います。 「品質」の意味 「品質」という言葉の語源は古代ギリシャにまで遡ります。 「万学の祖」と称されるアリストテレスは、物質(Substance)を「量的側面」と「質的側面」に分けて定義しました。 その際に量的な側面を表現する言葉として英語の質量(Quantitiy)に相当するギリシャ語を用いました。 そして対立概念である質的な側面を表現する言葉として、英語のQualityの語源となったラテン語のQualitasを用いたと言われています。 月日は流れ現在、ISO 9000シリーズにて「品質」は「来備わっている特性の集まりが、要求事項を満たす程度」と述べられています。※ISO 9000シリーズとは、国際標準化

    「品質」の基準とは? - Start Today Technologies TECH BLOG
    koogawa
    koogawa 2018/09/18
  • Kotlin Fest2018参加レポート - ZOZO TECH BLOG

    Kotlin Fest2018参加レポート 福岡研究所の渡辺(しかじろう @shikajiro)です。Kotlinのおっきなイベントが東京で開催されるということで福岡から飛んで✈いきました。 福岡でもFukuoka.ktという名前で過去に2回ほどイベントを主催しており、KotlinFest主催の太郎さんに登壇していただいたこともありました。僕自身3か月ほどKotlinから離れてましたが、直近の技術情報などをフォローできたらいいなと思い参加しました。 KotlinFestとは 2018/08/25(土)に開催された有志による日最大のKotlinイベントです。 kotlin.connpass.com 「Kotlinを愛でる」をビジョンに、Kotlinに関する知見の共有と、Kotlinファンの交流の場を提供する技術カンファレンスです。 とあるように、Kotlinを愛するKotlinユーザーグル

    Kotlin Fest2018参加レポート - ZOZO TECH BLOG
    koogawa
    koogawa 2018/09/03
    Kotlin愛に溢れたイベントだったんだなぁ
  • iOSでリストに種類の違うデータを挿入する実装方法 - ZOZO TECH BLOG

    こんにちは、新事業創造部の遠藤です。現在WEARの開発を行っています。 最近はWEARのコーディネート一覧やユーザー一覧など、リスト画面にバナー型の広告を実装をしました。 リストにデータを挿入する実装は簡単なように思えますが、種類の違うデータを扱う場合には、考慮するべきポイントがいくつかあります。 記事ではリストに広告を表示することを例に、種類の違うデータをリストに挿入する際のデータの持ち方・実装ついて紹介したいと思います。 仕様 リスト画面にバナー型の広告を表示するにあたっての仕様は以下のとおりです。 広告を取得できない場合はリストをつめる スクロールして戻っても同じ広告が表示されている 広告のインプレッションは表示時のみとなるように制御する スクロールに合わせて遅延なく広告の表示をする 上記のような元々表示していたデータと異なる仕様を扱うため、実装が複雑になります。 バナー型広告につ

    iOSでリストに種類の違うデータを挿入する実装方法 - ZOZO TECH BLOG
    koogawa
    koogawa 2018/08/24
    ある程度サービスが大きくなってくると入れることになるやつ。UITableViewならセルの高さをゼロにする方法が使えるけど、UICollectionViewだとやや難しくなる
  • iOSアプリの多言語対応について - ZOZO TECH BLOG

    こんにちは。新事業創造部の荒井です。 今回はiOSアプリの多言語対応について紹介します。 はじめに 私は今までいくつかのiOSアプリを運営してきましたが、どのアプリも日語のみのサポートでした。現在関わっているWEARでは、すでに多言語対応が進められており、良い機会ですので個人的に知見がなかった多言語対応について調査をしました。今回は基となる文字列の翻訳について触れていきたいと思います。 多言語対応 幅広いユーザーにサービスを使用してもらうには、言語と地域が非常に重要になってきます。日付、通貨、長さの単位など、言語、地域、文化によって異なることが多く、アプリケーションを世界的に出すには地域や文化に対応していく必要があります。現在WEARでは4つの言語対応を進めており、設定言語に応じて、アプリケーションをその言語に翻訳しています。対応している言語は以下の通りです。 日語 簡体字中国語 繁

    iOSアプリの多言語対応について - ZOZO TECH BLOG
    koogawa
    koogawa 2018/08/03
    “各言語を母国語とするメンバーが翻訳を担当しています” これ良いなぁ
  • Google I/O 2018に参加して報告会を行いました - ZOZO TECH BLOG

    こんにちは!スタートトゥデイテクノロジーズ新事業創造部の堀江(@Horie1024)です。 2018年5月8日〜5月10日にかけて、カリフォルニア州マウンテンビューにあるショアライン・アンフィシアターで行われたGoogle I/O 2018(以下I/O)に新事業創造部の堀江、権守、茨木、そして代表取締役CIOの金山の4名で参加してきました。 また、帰国後の5月29日にDMM.comグループさん主催のGoogle I/O 2018 参加報告会で堀江、権守、茨木が登壇しI/Oで得た知見を発表しました。 記事では、 参加報告会での発表内容の紹介とI/Oで印象に残ったセッションの紹介、そして参加した感想をお伝えしたいと思います。 Google I/O 2018参加報告会での発表 堀江、権守、茨木が発表した内容について紹介します。 堀江「Paging Library Overview」 「Pagi

    Google I/O 2018に参加して報告会を行いました - ZOZO TECH BLOG
    koogawa
    koogawa 2018/06/12
    金山さんも行ったんだw
  • 新卒エンジニアがカスタマーサポートを一度は経験しておくべき6つの理由 - ZOZO TECH BLOG

    (Headphones icon credit *1) こんにちは、2018新卒エンジニアの田島(@katsuyan121)です。 新卒研修の一環としてZOZOTOWNカスタマーサポートセンターにてカスタマーサポート研修に参加しました。 研修を受けるまではエンジニアがカスタマーサポート研修を受ける必要があるのだろうかと疑問に思っていましたが、実際にやってみると学びが多く会社としてもメリットがあると感じました。 そこで、記事ではカスタマーサポート研修の内容とそのメリットをご紹介します。 ZOZOTOWNカスタマーサポートセンターとは ZOZOTOWNカスタマーサポートセンターはお客様からのZOZOTOWNに関するお問い合わせを受け付けています。 「お客様と友達になる」を理念として掲げており、困っている友達を助けるように全力でお客様をサポートしお客様が笑顔になれるよう日々努めています。 また

    新卒エンジニアがカスタマーサポートを一度は経験しておくべき6つの理由 - ZOZO TECH BLOG
    koogawa
    koogawa 2018/05/30
  • トラブルシューティングから学ぶSQL Server統計情報の更新タイミング - ZOZO TECH BLOG

    こんにちは。zozoバックエンド部の廣瀬です。 弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。 記事では、過去に経験したSQL Server関連のトラブル及びその調査内容をご紹介し、最後にトラブルシューティングを通して策定した統計情報の更新に関する方針をまとめます。 トラブル発生 ある日突然、SQL Serverが稼働しているサーバーのCPU使用率が高騰し、100%に張り付く状態が一定期間続きました。 CPU使用率のグラフを見ただけでは、なぜ突然高騰したのか原因は分かりません。 そのため、原因を特定するための調査を実施しました。 トラブルシューティング 同一ホスト上で稼働している主要なプロセスはSQL Serverしか無かったため、SQL Server上でCPUリソースを多く消費するようなクエリが実行されていることを疑いました。

    トラブルシューティングから学ぶSQL Server統計情報の更新タイミング - ZOZO TECH BLOG
    koogawa
    koogawa 2018/05/25
    SQL Server だ!
  • iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法 - ZOZO TECH BLOG

    こんにちは! 最近暑いのでビール最高と感じている新事業創造部バックエンドエンジニアのりほやんです。 今回はAppleが提供しているお試し価格の機能のひとつである無料トライアル機能を紹介します。 お試し価格とは お試し価格とは自動更新の定期購読に対して割引価格を設定したり、定期購読の開始時に一定の無料トライアル期間を設けることができる機能です。 お試し価格には都度払い、前払い、無料トライアルの3種類があります。 お試し価格はユーザーにとって、有料会員の体験ができるとても便利な機能です。 しかし公式ドキュメント以外の資料が少なく実装に何点か困ったことがありました。 そこで今回はお試し価格の無料トライアル機能を導入する方法についてご紹介します。 この記事が無料トライアルを導入しようか悩んでいる方、実際に無料トライアルを導入する方のお役に立てば幸いです。 記事では、課金機能自体の実装の説明は行い

    iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法 - ZOZO TECH BLOG
    koogawa
    koogawa 2018/05/18
    無料トライアル機能あったのか!
  • クラウド時代の監視ツールDatadogをあらためて紹介します - ZOZO TECH BLOG

    こんにちは。zozoフロントエンド部の大平です。さだまさし好きが昂じて社内では「さださん」と呼ばれています。 計測してますか? 皆さん計測していますか? 何かを改善しようとした場合、パフォーマンスを数値化し、その内容をもとに改善案を考えて行動することが、基的な取り組み方になります。 そして、いかに現状を測定可能な状態にし数値化可能な指標を設定するか、という事が取り組みの第一歩になります。ダイエットや体質改善でもそうですし、英語など語学学習でもそうだと思います。 ということで、計測はとても大事です。 私事ですが、私は最近さだまさしさんのファンが集うコミュニティに参加しています。古くからのファンの方々はさだまさしさんのデビュー時からずっと追っかけている猛者も多く、私みたいな若輩者の青二才は圧倒的な「さだ力」の不足を感じる毎日です。 最近、コミュニティの中で「楽曲検定」というサイトが流行しまし

    クラウド時代の監視ツールDatadogをあらためて紹介します - ZOZO TECH BLOG
    koogawa
    koogawa 2018/05/14
    “MSPS (Masashi Sada Per Sec)”
  • CarthageでビルドしたフレームワークをGitにコミットせずに良さげに扱う - ZOZO TECH BLOG

    iOSチームの@hiragramです。 所属するプロジェクトでは依存管理にCarthageを使っていますが、Carthageの成果物である Carthage/ 以下をコミットするかどうかはよく議論になる話題かと思います。 私はコミットしない派なので、そのメリットを残しつつデメリットをなくすためにやってみたことを紹介します。 メリットとデメリット コミットしない派のメリット リポジトリが肥大化しない 以前のプロジェクトでは Carthage/ 以下をコミットしていて、リポジトリがめちゃでかくなってcloneにめちゃ時間がかかる感じになっていました。 diffがうるさくならない 言わずもがな。 Xcodeのバージョンを積極的に上げられる SwiftのABI安定化はまだ先なので、コミットされたバイナリはそれをビルドしたのと同じバージョンのSwiftからしか扱えない。 Swift.org - AB

    CarthageでビルドしたフレームワークをGitにコミットせずに良さげに扱う - ZOZO TECH BLOG
    koogawa
    koogawa 2018/05/08
  • VASILYテックブログはスタートトゥデイテクノロジーズテックブログとして生まれ変わります - ZOZO TECH BLOG

    VASILY CTOの今村です。 今日はこのブログを普段からご覧頂いている皆様にお知らせがあります。 日発表させていただきました通り、スタートトゥデイ工務店、VASILY、カラクルの3社が統合され 新会社「スタートトゥデイテクノロジーズ」が誕生いたしました。 http://press.starttoday-tech.com/entry/20180402_newspress.starttoday-tech.com それに伴い、VASILYテックブログは日をもって、 「スタートトゥデイテクノロジーズ テックブログ」として新しく生まれ変わります。 このテックブログでは約6年半に渡り、VASILYが運営するサービスに纏わる様々な技術的内容をお届けしてきました。 実際にこのブログから発信される記事を通して、VASILYを知ってくれたエンジニアの読者の方も多いと思います。 今後はスタートトゥデイテ

    VASILYテックブログはスタートトゥデイテクノロジーズテックブログとして生まれ変わります - ZOZO TECH BLOG
    koogawa
    koogawa 2018/04/02
    ほほーっ!
  • 柔軟な開発を可能にするエンジニアチーム - ZOZO TECH BLOG

    こんにちは、フロントエンド開発部マネージャーの荒井です。今回はVASILYフロントエンドチームの体制、開発手法、マネージャーの役割について紹介したいと思います。 はじめに 私はエンジニアの採用担当もしているのですが、会う方に「どのように開発をしているのですか?」「リファクタリングの工数は取れていますか?」といった質問をよく頂きます。働く上で事業ドメインや採用技術も重要ですが、同様に日々のタスクの進め方、チーム体制を重要視している方も多いようです。今回はVASILYのフロントエンドチームの体制、開発手法について紹介します。 フロントエンドチームの役割 まず初めにフロントエンドチームの業務範囲を説明します。 VASILYフロントエンドチームは大きく3つのプラットフォームを担っています。 Webアプリケーション開発 iOSアプリケーション開発 Androidアプリケーション開発 ネイティブアプリ

    柔軟な開発を可能にするエンジニアチーム - ZOZO TECH BLOG
    koogawa
    koogawa 2018/03/30
    Web, iOS, Android まとめて「フロントエンド開発事業部」。Androidだけやる、って人はいないのですね!
  • 10代エンジニアが思う、インターンに応募してよかった5つのコト - ZOZO TECH BLOG

    こんにちは、VASILYでエンジニアインターンをしている劉です。 僕は昨年の四月、大学一年生になりました。その後、自分でプログラミングを学ぼうとしましたが行き詰まり、六月に思い切ってVASILYのインターンシップに応募しました。それから半年以上働いてみて、あの時思い切って応募してよかったと思うことが多くありました。今日はそのいくつかを紹介したいと思います。 エンジニアインターンシップのいいところ 1. コードが綺麗になる 一人でプログラミングの勉強をしていると、とりあえずプログラムが動けばいい、という考えに陥りがちです。その結果、そのコードをどのように書くか、という部分まで気が回らないことも多々あります。 しかしプログラムというのは面白いもので、同じ動作をするものでもコードの書き方は一通りになりません。人の数だけコードがあると言っていいでしょう。そしてコードの書き方をちょっと変えるだけで、

    10代エンジニアが思う、インターンに応募してよかった5つのコト - ZOZO TECH BLOG
    koogawa
    koogawa 2018/02/17
    “5. お金がもらえる” リアルだけど大事な話