タグ

ブックマーク / techblog.yahoo.co.jp (45)

  • ブラウザの戻る/進むを高速に!ヤフーにおけるBFCache有効化に向けた取り組み

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、第11/12代黒帯(ヤフー内のスキル任命制度/Webフロントエンド領域)の浜田(@narirow)と、Yahoo!ニュースのエンジニアの喜楽(@gladenjoy)です。今回は、ヤフーで対応をすすめてきた、BFCacheの有効化にむけた取り組みについてお話しします。BFCacheとはそもそも何か、有効化のボトルネックには何があるか、そして調査方法などの具体的な手法などを交えてご紹介します。 ヤフーではこれまでスムーズなユーザー体験を実現するべく、高速にページを表示できるBFCache技術の検証と、BFCacheの有効化率を上げる取り組みを行ってきました。その結果、Yahoo!ニュースでの検証では、PVが+2%向上、広告

    ブラウザの戻る/進むを高速に!ヤフーにおけるBFCache有効化に向けた取り組み
  • iOSのVision.framework活用事例 〜 PayPayフリマのクレカ番号読み取り機能実装例

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。PayPayフリマでiOSアプリ開発を担当している伊藤(@shizuna_it)です。PayPayフリマYahoo! JAPAN Tech Blogの第二弾です! PayPayフリマは、誰でも気軽に、安心して個人間取引ができるフリマアプリです。(PayPayアプリの中からも使えます) PayPayフリマのiOSアプリでは、Swift Package Manager(SwiftPM)でライブラリ管理を行うようにリファクタリングを進めています。その過程で私達はVision.frameworkを活用してクレジットカード番号読み取り機能を独自実装しました。この記事では、実際に起きていた技術負債とその解消のための実装をサンプルコ

    iOSのVision.framework活用事例 〜 PayPayフリマのクレカ番号読み取り機能実装例
  • iOSのBuild In Sound Analysisを使った音声認識で著作権侵害を防ぐ!

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。PayPayフリマでiOSアプリ開発を担当している續橋(@tsuzuki817)です。 PayPayフリマは2021年に画像の代わりに動画で商品の動きや細部を伝えられる動画出品機能をリリースしました。(プレスリリース:PayPayフリマ、5~30秒の動画で商品の動きや細部を伝える「動画出品」機能を提供開始) 動画投稿できるということは、撮影時にBGMなどの音楽が混入すると著作権侵害になる可能性もあります。今回は、iOSの音声認識機能「Build In Sound Analysis」を活用してユーザーに注意を促せるようにした事例を紹介します。 PayPayフリマとは? PayPayフリマは、誰でも気軽に、安心して個人間取

    iOSのBuild In Sound Analysisを使った音声認識で著作権侵害を防ぐ!
  • ヤフー式新人研修 〜 フルオンラインでエンジニア研修を作った話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部で技術研修の設計・運営をしている酒井です。 ヤフーでは新入社員が配属後も業務で協力しあえるよう、同期同士の関係構築を研修のゴールのひとつとしています。しかし昨年は、新入社員の研修をフルオンラインで行ったために、そこに課題が残ってしまいました。今年は、いかに関係構築ができるよう改善できるか? がポイントの1つでした。 この記事では、2021年4月から6月にかけて実施した2カ月半の研修での工夫を、カリキュラム内容と新入社員の声もまじえて紹介していきます。よかったら最後までお付き合いください! 【目次】 狙いと課題 研修の流れとカリキュラム コミュニケーションのために工夫したこと 新入社員と運営が、ともに作る

    ヤフー式新人研修 〜 フルオンラインでエンジニア研修を作った話
  • IPv6でのライブ配信とリクエスト傾向 〜 選抜高校野球大会の配信事例 #IPv6

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo! JAPANのCDNを運用している佐藤です。 6月にプレスリリースが掲載されましたが、3月23日から4月3日にかけて第91回選抜高等学校野球大会が行われ、Yahoo! JAPANでは全試合のライブ配信をしていました。今回のライブ配信では弊社初の試みとしてIPv6を用いた動画配信を行いましたので、ライブ配信の構成やIPv6も含めたリクエスト傾向について紹介します。 ライブ配信に向けての準備 試合日程は3月23日から4月3日の11日間でしたが、ライブ配信は3月14日のキャプテントークや3月15日の組み合わせ抽選会でも行っていました。コンテンツの配信周りはCDNチームを始めとしたインフラ部門が担当しており、主にC

    IPv6でのライブ配信とリクエスト傾向 〜 選抜高校野球大会の配信事例 #IPv6
  • Yahoo! JAPANトップで見るウェブデザインの歴史

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog デザイン特集5目、最後の記事です。 こんにちは、ブランドマネジメント室デザイナーの上田絵理です。 サービスロゴやアイコンの作成や管理、けんさくとえんじんというキャラクターの担当をしています。 私が入社した1999年当時は社員が100人くらいで、全員の顔が覚えられるくらいだったのですが、入社してから20年たった今、社員数は6500人超*1...!  インターネット環境とデバイスの変化とともに進化してきたYahoo! JAPANのトップページを、デスクトップ風のビジュアルで表現してみました。移り変わるウェブデザインの歴史をお楽しみください。 1996年 アメリカYahoo!のデザインを踏襲 1996年4月に国内初の検索サイトYah

    Yahoo! JAPANトップで見るウェブデザインの歴史
  • 複雑な乗換体験を直感的に! 乗換案内アプリのデザイン

    これらを鑑みると、 アプリの画面上では乗り入れ箇所で路線色が変わり、誤って降車するリスクがある 行き先が異なる複数の乗客に対して、駅員さんは「直通運転」であることはアナウンスできても「乗換不要」という案内はできない アプリの画面を見ているのは人のみ、かつ目的地まで目視できるので「乗換不要」と伝える方が有益 このような経緯から、あえて「乗換不要」としています。 手法は大事、ユーザー視点はもっと大事 文言はサービス内で表現のズレが起きないよう、用語辞典を作成しています。「ルート/経路」「電車/列車/鉄道」など。ただし意味が伝わりづらい箇所では、表現のズレを許容しています。注意しなければならないのは、このようなフレームワークや手法などを優先して、ユーザー視点を見失わないようにすることです。 ワイヤとビジュアルを並行して行うことでUX品質を高める 路線情報チームのデザイナーは、ワイヤフレームとビ

    複雑な乗換体験を直感的に! 乗換案内アプリのデザイン
  • 乗換案内アプリのCI/CDの取り組みについてのご紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。乗換案内のiOSアプリの開発を担当している田中 (@tattn)です。 ここ最近、アプリの品質を担保するための手段として継続的インテグレーション (CI: Continuous Integration)や、アプリのリリースコストを削減するための継続的デリバリ (CD: Continuous Delivery) が注目されています。 そこで今回は、自分が担当している乗換案内のiOSアプリで活用しているCI/CDの仕組みをご紹介したいと思います。 まずはiOSアプリの開発フロー自動化ツールのデファクトスタンダード fastlane について簡単に触れます。乗換案内もfastlaneを活用しています。 fastlane ht

    乗換案内アプリのCI/CDの取り組みについてのご紹介
  • ヤフーの分散オブジェクトストレージ Dragon について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、データ&サイエンスソリューション統括部所属の後藤泰陽(@ono_matope)です。少し時間があいてしまいましたが、9月19日にお茶の水女子大学で開催された WebDB Forum 2017 において、分散オブジェクトストレージ “Dragon” について講演しました。良い機会なので、エントリでもDragonについてご紹介させていただきたいと思います。 発表資料 WebDB Forumでの発表資料については以下をご覧ください(講演時の内容と一部異なります)。 日語版 Dragonとは? Dragonは、ヤフー・ジャパンで開発された分散オブジェクトストレージシステムです。Amazon S3互換のWeb APIを実装

    ヤフーの分散オブジェクトストレージ Dragon について
  • Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog インフラエンジニア見習いの森です。これまで数年ほどサーバーサイドエンジニアとして開発ばかりをしてきた人が最近インフラエンジニアになりました。 3月末に開催された Go Conference 2017 Spring で開発チームの後藤から弊社で開発・運用している AWS S3 互換の分散オブジェクトストレージ Dragon についての発表がありました。 Goでヤフーの分散オブジェクトストレージを作った話 私は Dragon の運用を担うチームに所属しており、稿ではその業務の中で発生したトラブルシューティングについて紹介したいと思います。 分散オブジェクトストレージ Dragon で発生していた課題 Dragon で gorout

    Go 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング
  • potatotips #37で発表しました & 発表した内容をOSS化しました

    みなさま、こんにちは。ヤフーでiOSアプリのエンジニアをしている林(@kazuhiro4949)です。 少し前になりますが、2月15日に弊社LODGEにてpotatotips #37が開催されました。 potatotips #37 (iOS/Android開発Tips共有会) (2017/02/15 19:00~) 当日の様子は以下の記事で詳しくレポートされています。 potatotips #37 (iOS/Android開発Tips共有会) 参加レポート potatotips#37 (iOS/Android開発Tips共有会) Androidまとめ 2017/2/15 #potatotips (iOS/Android開発Tips共有会) 第37回 私はヤフーからの発表者として参加し、以下の内容でLTをさせていただきました。 もともとは、IGListKitというInstagram製のUIC

    potatotips #37で発表しました & 発表した内容をOSS化しました
  • ヤフーの社内システムを紹介します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 弊社は10月に社を東京ミッドタウンからガーデンテラス紀尾井町へ移転しました。 情報システム部では社移転に合わせ4つの社内システムをリリースしました。 今日はこちらのシステムについて紹介をさせていただこうと思います。 社内位置情報システム(pozzy) このシステムは社内のWi-Fiにつながっている端末を検出し、人の位置情報を検索できるようにします。 ヤフーでは全社員にPCiPhoneを貸与しています。これらの端末は各端末に発行された証明書によって社内のWi-Fiに自動で接続されるように設定されています。 この情報を利用し

    ヤフーの社内システムを紹介します
  • iOSアプリの不具合を申請なしで修正しよう

    2017年3月8日現在、Rollout SDKを利用したアプリが、Apple社へのリリース申請時にリジェクトされる事象がApple Developer Forums上で報告されています。 こちらの記事で紹介しているRollout.ioの利用については自己の判断の下お願い致します。 [Apple Developer Forums] https://forums.developer.apple.com/thread/73640 こんにちは。 ヤフー株式会社ヤフオク!カンパニー ヤフオク!開発部アプリ開発部の田中です。 皆さんはiOSアプリの開発をしていて、不具合などが見つかった際に アプリを素早く修正できたとしてもAppleの申請、審査に時間がかかってしまい 修正が反映されるまでに苦労をしたことはありますでしょうか? 今回はそんな苦労から解放されるサービスを紹介させていただきます。 Roll

    iOSアプリの不具合を申請なしで修正しよう
  • 高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介

    この結果を見て単語ベクトルが変わるとNGTの性能が変わってしまうように感じた方がいるかもしれません。しかし、実はこれらの単語ベクトルはデータの次元数や件数が違っているため、それぞれの条件をあわせてみる必要があります。興味がある方は論文を読んで見比べて欲しいと思いますが、ここで重要なことは、NGTが高い精度にも関わらず、せいぜい100ミリ秒程度で検索できるという規模感であるということです。その規模感を感じてもらうために、これらの実験結果をご紹介しました。この実験以外にも論文の中では単語ベクトルの応用としてアナロジーと呼ばれる合成ベクトルでの実験やその他の比較手法の比較、実験結果の考察などもありますが今回は割愛します。 これまで紹介した内容と同じような実験はLinux系のサーバーであれば公開しているExperimental softwareという実験プログラムを使うと簡単に試すことができます。

    高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介
  • 次世代認証プロトコルFIDOの動向

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、近藤裕介と申します。 みなさま、Yahoo! JAPANにログインしてサービス利用していますでしょうか? Yahoo! JAPANに限らずログインが必要なウェブサービスやアプリケーションを利用して、ヘビーユーザーになってくると他人に見られたくないデータが増えたりなりすましされて困るようになりますよね。そうならないための対策としてパスワードを長く難しくしたり、2要素認証を設定したりする必要がありますが利便性が下がってしまいます。 そんなパスワードにまつわる課題を解決する、FIDOアライアンスの策定している認証プロトコルであるU2FとUAFの仕様が昨年12月に正式公開され、2015年にはいくつものサービスで採用さ

    次世代認証プロトコルFIDOの動向
  • ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに Pub-Subとは 用語の定義 システム構成 Hello World おわりに 緊急告知 参考 はじめに こんにちは。システム統括部プラットフォーム開発部の栗原と申します。 2016年9月、Yahoo! Inc.からPulsarがOSSとして公開されました。Pulsarは高い配信信頼性/パフォーマンス/スケーラビリティを誇るPub-Subメッセージングシステムです。Yahoo! Inc.において開発され、これまでYahoo! Inc.のメール、ファイナンス、スポーツなど主要サービスにおいて、メッセージを高速かつ消失することなく配信するために利用されて来ました。 Pulsar開発者によって書かれた技術ブログ:Open-

    ハイパフォーマンスでスケーラブルなメッセージングシステム:Pulsarの紹介
  • OpenStackとKubernetesを利用したマルチプラットフォームへのCI環境

    Image Creation 各種Image creationのworkflowは下記です。 VM Image Creation GitHubへCodeをpush Jenkinsのmasterへhook Jenkins slaveでジョブを立ち上げる Packer repositoryをcheckout Service Jobを実行 build scriptによってPackerを実行する PackerはOpenStack Glance用のVMを起動する VMの設定と必要なアプリケーションをインストール snapshotを作成しglanceへ登録 Glanceに出来上がったimageをダウンロード Artifactoryへ出来上がったimageをアップロード Baremetal Image Creation GitHubへCodeをpush Jenkinsのmasterへhook Jenki

    OpenStackとKubernetesを利用したマルチプラットフォームへのCI環境
  • Obj-C → Swift コンバータをオープンソースで公開しました!

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog どうも、ヤフーの佐野( @taketo1024 )です。先日引っ越しをしまして、張り切って自分でタンスを運んだりして今とても筋肉痛です。 皆さんは Objective-C から Swift への移行は進んでいますか?弊社ではまだ Obj-C で書かれているプロジェクトは多くあります。世に出ている iOS アプリも多くはまだ Obj-C で作られているんじゃないかと思います。 Swift もオープンソース化され、この先その進化のスピードはさらに増してくるはずです。そこでチーム内で開発を進めていた Obj-C → Swift コンバータ を大幅に改良しオープンソースで公開することにしました!この記事ではその導入と活用の方法を説明します

    Obj-C → Swift コンバータをオープンソースで公開しました!
  • StormとKafkaによるリアルタイムデータ処理

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、鈴木カズです。 社内向けの監視システム構築のため、StormやKafkaを利用して開発を行っていました。 そのときの経験をもとに、まずStormによる実際のシステムがどんなものかということを紹介し、KafkaSpoutの処理内容、カスタマイズ方法、Stormのメッセージ処理などを説明したいと思います。 読者としては、StormやKafkaについて興味があり記事を読んだりしたことがあるがもう少し具体的な話を知りたい方、これから開発予定があるような方を想定しています。 StormとKafka Stormは簡単に言うと、リアルタイムに流れてくる大量のデータを処理するための分散システムです。Twitterのメッセージの分析など

    StormとKafkaによるリアルタイムデータ処理
  • ヤフーの画像配信システム(CDN)の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog システム統括部プラットフォーム開発部の新部(@osa2be)です。 CDNの運用を担当しています。 先日、知り合いの技術者と話していてヤフーのバックエンドがどうなっているのか興味があると聞かれましたので、社内にいくつかあるCDNのうち2つとIDCフロンティアのサービスをご紹介します。 はじめに ヤフーには多くのサービスが存在していますが、様々な理由により突発的にリクエストが増加することがあります。 そのようなリクエストに対応するためにサービスごとに大きな配信システムを持つことは、インフラの準備や運用工数など高いコストが必要になります。 そのため、共通のCDNを準備して各サービスのサーバ負荷を平滑化しています。 以前は、社外のC

    ヤフーの画像配信システム(CDN)の紹介