タグ

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

  • 毎日使うけど忘れられないために 〜Yahoo!天気アプリの取り組み〜 #UX

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!天気・災害サービスでYahoo!天気アプリのデザインを担当している梶谷匡佑です。 梅雨もようやく終わりが見えてきましたが、台風やゲリラ豪雨、猛暑など天気が気になる季節がまだまだ続きます。 今回は、そんな課題を解決するのに役に立つYahoo!天気アプリについてお話させていただきます。 皆様が毎日目にするであろう『天気の情報』を扱う上でデザイン担当として工夫していること、意識していることなどを紹介していきます。 Yahoo!天気アプリのご紹介 Yahoo!天気アプリは登録した地点の天気情報はもちろん、自分がいる場所にいつ雨が降るのかがわかる雨雲レーダーなどのコア機能をフックに2010年のAndroid版をリリース以降、たく

    毎日使うけど忘れられないために 〜Yahoo!天気アプリの取り組み〜 #UX
  • ヤフーの分散オブジェクトストレージ 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 言語のプロファイル機能とネットワークコネクションにまつわるトラブルシューティング
  • Caffeで手軽に画像分類

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部 データソリューション部の宮崎です。 最近ディープラーニングと呼ばれる技術の話題を耳にすることが増えてきました。 この記事ではディープラーニングの手法を実装し画像認識系の用途で便利に使えるCaffeというツールの使い方を紹介します。 Caffeの概要 Caffeは、C++で実装されGPUに対応した高速なディープラーニングのライブラリです。 大規模画像認識のコンテストILSVRCで2012年にトップとなった畳込みニューラルネットワークの画像分類モデル[1]がすぐに利用できるようになっています。 Caffeは、カリフォルニア大学バークレー校のコンピュータビジョンおよび機械学習に関する研究センターであるBV

    Caffeで手軽に画像分類
  • 書籍「本気ではじめるiPhoneアプリ作り」のXcode8.x+Swift3.x対応版を執筆しました

    概要 アプリを作り上げていくにはさまざまな基礎知識が必要になるわけですが、書ではiOSアプリ開発において重点的に抑えておくべき基をまとめつつ、実際にApp Storeへリリースできるアプリを開発できるようになるまでを爆速で支援するように書いています。 最終的にはWeb API(インターネット通信を使ったデータ取得の手段)を行いながら、ヤフーショッピングの商品を検索することができる「商品検索アプリ」を開発することができるようになります。 通信を行なうアプリはiOS入門者には難しいといわれています。しかし、通信を行なう方法を学習すると、作ることができるアプリの種類やアイデアを爆発的に増やすことができます。世の中のさまざまな課題を解決するアプリを考えられることは素晴らしいことですし、とても楽しいものです。 そのためヤフーが提供するWeb APIを利用してアプリ開発を行なうことができるようにな

    書籍「本気ではじめるiPhoneアプリ作り」のXcode8.x+Swift3.x対応版を執筆しました
  • ヤフーの社内システムを紹介します

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

    ヤフーの社内システムを紹介します
  • 高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介

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

    高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介
  • ハイパフォーマンスでスケーラブルなメッセージングシステム: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の紹介
  • CalicoによるKubernetesピュアL3ネットワーキング

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに ネットワークを中心にデータセンターからKubernetesまで、幅広くインフラに関わらせていただいている市川です。 エントリーでは、先日の「OpenStackとKubernetesを利用したマルチプラットフォームへのCI環境」エントリーから続くヤフーのOpenStackデプロイ環境におけるKubernetes利用連載の第2弾として、われわれのKubernetesネットワーク環境について基盤となるProject Calicoの紹介と合わせて説明したいと思います。 Project Calico Project Calicoとは 通常Kubernetesではflannelを用いてPod用のネットワークを構築しますが、今回私た

    CalicoによるKubernetesピュアL3ネットワーキング
  • 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環境
  • 社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 「Usenix FAST 16」というカンファレンスにおいて「Environmental Conditions and Disk Reliability in Free-cooled Datacenters」という論文が発表されたのはご存じでしょうか。 こちらの論文はフリークーリング方式におけるデータセンターがハードウエアに与える影響を調べた論文です。 内容については省略しますが、この中で特筆すべき項目として、気温の高さや気温変化よりも湿度の高さがディスク故障の最も大きな要因であると述べられています。 弊社の社内クラウド環境においてもあてはまるのか確認してみたというのが記事の要旨です。 データセンター環境について まず

    社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。
  • openssl-1.0.2による性能向上

    初稿ではAVX2による効果ではないかと記述をしておりましたが、stitchedではなく、multi bufferのサポートやその他要因が混合しており数値検証が完全ではないという指摘をいただきました。 記事内容の訂正を行います。検証が不十分なままの掲載となり申し訳ございません。また、数値や技術的な裏付けは今後再検証を進めていこうとおもいます。 サイトオペレーション部(*1)を兼務させていただいている匿名希望の社員Mです。 私はハードウエアとソフトウエアの両面から指数関数的に増えるデータ処理にコツコツ対応する仕事をやっております。 今回の取り組みは以下の投稿に影響を受けた取り組みです。 Accelerating SSL Load Balancers with Intel® Xeon® v3 Processors https://software.intel.com/en-us/article

    openssl-1.0.2による性能向上
  • 分散プログラミングモデルおよびデザインパターンの考察

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 写真:アフロ データ&サイエンスソリューション統括部、データインフラ部、今野です。 早速ですが、今月開催の「Developers Summit 2016 (以下、デブサミ2016)」で当方が登壇する運びとなりました。気がつけば、前回の記事「分散システム処理モデルに関する動向について」から随分と日がたってしまいましたので、今回は、より広範囲な内容を整理してみたいと思います。 デブサミ2016の当方の講演テーマは「温故知新」です。今回は、このテーマにもつながる話題として、クラウド環境の代表的な分散プログラミングモデルやデザインパターンについて、一般的な考察をしてみたいと思います。 古典的なプログラミングモデルによる分類 まず最初に

    分散プログラミングモデルおよびデザインパターンの考察
  • lsコマンドをハックしてみよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野です。 Yahoo!ショッピング開発部では新人エンジニア向けにコマンドのソースコードを読むことを奨励しています。 その初期の題材として、lsコマンドがよく挙げられます。 今回は「lsコマンドをハックしてみよう」と題し、lsコマンドについてお話しさせていただきます。 突然ですがエンジニアの皆さん、lsコマンドのソースコードを読んだことはありますか? 読んだことのない方はぜひ一度、目を通しておくことをおすすめします。 意外と知られていませんが、lsはcd,pwdなどのコマンドと違いシェルの組み込みコマンドではありません。 一口にlsと言っても、複数のソースコードが存在します。 代表的なのはGN

    lsコマンドをハックしてみよう
  • JavaScript で実装してみる Deep Learning

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに はじめまして、安藤義裕と申します。ヤフー株式会社データ&サイエンスソリューション統括部ソリューション部でプログラマーをしております。趣味はカミさんの手料理です。 機械学習で用いられるアルゴリズムの一つにニューラルネットワークがあります。ニューラルネットワークは脳細胞の働きにヒントを得て考えられたものです。今回扱う多層ニューラルネットワークはニューラルネットワークの中間層と呼ばれる部分を多層化したものです。近年話題に上ることの多い Deep Learning ではこの多層ニューラルネットワークが利用されています。 多層ニューラルネットワークは用途に応じて異なるネットワークが利用されます。画像処理では畳込みニューラルネッ

    JavaScript で実装してみる Deep Learning
  • 高次元ベクトルデータにおいて高速な近傍検索を実現するNGTの公開

    Yahoo! JAPAN研究所の岩崎です。 私は主に特定物体認識の研究開発を行っていますが、その一方で特定物体認識において必須技術である高次元ベクトルデータの近傍検索の研究開発も行っています。近傍検索の一種であるk最近傍検索とは、クエリとしてベクトルデータが与えられた時に、クエリと空間内に点在するベクトルデータとの距離に基づき近い順にk個のデータを検索する、ことです。kが5の場合の最近傍検索の例を図1に示します。図中の数字は距離の順位で、青い点が検索結果となるデータです。 空間内のすべてのデータとの距離を計算すると時間がかかるので、高速化のためにインデックスを利用します。インデックスを用いることにより数次元といった低次元のベクトルデータ空間では高速な検索が比較的容易に実現できます。しかし、インデックスを用いても100次元を超えるような高次元ベクトルデータの場合には高速に検索することが困難と

    高次元ベクトルデータにおいて高速な近傍検索を実現するNGTの公開
  • Hadoopを使いこなす(1)

    まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed

    Hadoopを使いこなす(1)
  • Hadoopを使いこなす(3)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、R&D統括部の吉田です。 前回と前々回の記事では、Hadoopのカスタマイズポイントを解説しました。 単純な問題に対しては、map関数とreduce関数の組み合わせだけでも、処理を行うことができますが、ある程度複雑な問題に対しては、今までに解説したカスタマイズポイントの活用が重要になるという話でした。 今回は実際のサービスの事例を紹介し、カスタマイズポイントがどう活用されているか紹介したいと思います。 ABYSS ABYSSの事例を紹介しましょう。 ABYSSとは、検索サービスを簡単に構築できる社内プラットフォームのことで、詳しくは以下のTechBlog記事で紹介しています。先日無事に社内リリースされました。 新検索

    Hadoopを使いこなす(3)
  • エラーページ - ヤフー株式会社

  • Hadoopを使いこなす(2)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、 前回のHadoopの記事 に引き続き、MapReduceのカスタマイズポイントを解説していきます。 前回の記事の図や、表などを参照しながら読み進めていただければと思います。 MapperやReducerの流れの制御 Mapperの実行の流れは、デフォルトでは、初期化処理を行った後、map関数を繰り返し実行し、終了処理を行うようになっていますが、この流れ自体を制御することができます。 古いAPIでは、MapRunnerを通じてこの流れを制御できますが、0.20.0からの新しいAPIでは単純にMapperクラスのrun関数をオーバーライドすることで、行えます。 デフォルトのrun関数は以下の通りです。 public vo

    Hadoopを使いこなす(2)