タグ

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

  • 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化しました
    key_amb
    key_amb 2017/03/02
    iOS開発で編集距離を使ってUITableView, UICollectionViewを差分更新するライブラリのようだ
  • 高速ファイル/メッセージ転送 K2HFTFUSE の紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Technical Yahoo の中谷です。 今回は、Yahoo! JAPANからオープンソースとして公開した高速ファイル/メッセージ転送システムの K2HFTFUSE の紹介をします。 K2HFTFUSEは、確実で高速なファイル/メッセージ転送を低コストで実現するために開発されたシステムです。 K2HFTFUSE(K2Hash File Transaction by FUSE-based file system)とは、FUSE(Filesystem in Userspace)によるユーザースペースでのマウント機能を利用したファイル/メッセージ転送システムです。 K2HFTFUSEは、仮想ファイルシステムを提供し、マウ

    高速ファイル/メッセージ転送 K2HFTFUSE の紹介
    key_amb
    key_amb 2016/12/10
    「fluentdより重厚でkafkaより簡単」そこを狙ってきたか
  • 今年のうちに対応したい、Node.jsのBufferに潜む危険性

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Node.js言語サポートチームの加藤佑典です。 普段はYahoo!ブックストアの開発/運用を主にしています。 先日、同じチームの柄澤がNode学園祭 2016の発表でも少し触れていますが、今期から社内でNode.jsの言語サポートチームが発足しました。 日はそのチームメンバー+有志で行っているNode.js Core APIの勉強会で話題になった、Buffer APIの変更点について触れたいと思います。 記事はNode.js v6.9.1 Documentationをベースに書いています。 1. はじめに 勉強会は、以下のようにAPIをカテゴリ分けし、基礎的なAPIであるカテゴリー1のものから順に進めています。

    今年のうちに対応したい、Node.jsのBufferに潜む危険性
    key_amb
    key_amb 2016/12/07
  • 高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介

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

    高次元ベクトルデータ検索技術「NGT」の性能と使い方の紹介
    key_amb
    key_amb 2016/11/25
  • AndroidにおけるSDK開発時に意識していること

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーで広告に関わるソフトウェアの開発をしている加藤 真也(@shikato)です。 今回はAndroid向けSDK開発について、作り方や普段意識していることを紹介したいと思います。 このテーマにした理由は、AndroidやiOSにおける広告などのSDKを使う際の知見は比較的充実しているように思うのですが、それらのSDKを開発する際の知見はあまりないように感じているためです。 記事は、私が最近担当しているAndroidの広告関連SDK開発時の内容となりますが、いわゆるアドテクのような広告業界ならではの話題は少なめとなっています。 開発者に向けた、ライブラリのようなソフトウェアの開発全般に適用できる話題を盛り込みました

    AndroidにおけるSDK開発時に意識していること
    key_amb
    key_amb 2016/09/16
  • OpenStackのコントローラをKubernetes上にデプロイする

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに OpenStackの運用エンジニアをしている木下です。 今回はマルチプラットフォームCI環境に関する連載の第5弾として、OpenStack上へKubernetesをデプロイする取り組みについて紹介したいと思います。 マルチプラットフォームCI環境の目的は、イメージビルドによってさまざまなプラットフォーム上でサービスを迅速に稼働させる事にあります。そして、連載の中ではプラットフォームとしてKubernetesを中心に紹介をしてきました。 エントリーでは、OpenStackを一つのアプリケーションと考えて、Kubernetes上へデプロイしようとする試みに関して説明したいと思います。 今回の取り組みに至った経緯 まずは、な

    OpenStackのコントローラをKubernetes上にデプロイする
    key_amb
    key_amb 2016/09/10
  • 社内ISUCONを開催しました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。CTO室の柄澤です。SWATというチームで社内の開発協力・支援を行っています。 今回、有志で社内ISUCONを開催しましたのでその事例を紹介したいと思います。 各チームのスコア遷移 社内ISUCON開催の目的 技術に特化したイベント エンジニアの(弊社独自でない)技術力向上 弊社の開発イベントとしては、Hack Dayと呼ばれる日最大級のHackathonが既にあります。 しかしHackathonは技術に加えてアイディアやデザインを含めた総合力を競うイベントです。 より技術に特化したイベントに参加したい層に刺さるようなイベントをしたいと考えていました。 また弊社は、カスタムされたCentOS, Apache http

    社内ISUCONを開催しました
    key_amb
    key_amb 2016/08/19
  • Terraformを使ってOpenStack VMにKubernetesクラスタをデプロイする

    Kubernetes用VMイメージの作成 Packerを使う Kubernetesクラスタの構築がしやすいよう、あらかじめ主要なパッケージがインストールおよびセットアップされているOpenStackのVMイメージをPackerで作成します(図3)。 Packerを使い、etcdに関するパッケージなど全てのVMで共通で使用するパッケージは事前にイメージに取り込みます。 こうすることで、VMを立ち上げた初期状態でKubernetesを構築するために、ある程度準備された環境が提供され、後のデプロイ作業を効率化します。 図3. PackerによるKubernetes用VM作成 Packerの設定とイメージ作成 OpenStackに上がっているVMイメージをベースにKubernetes用のイメージを生成します。 手元にイメージをダウンロードする必要はありません。 JSON形式の設定ファイルに変数(v

    Terraformを使ってOpenStack VMにKubernetesクラスタをデプロイする
    key_amb
    key_amb 2016/08/09
  • 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ネットワーキング
    key_amb
    key_amb 2016/08/01
  • 「黒帯エンジニアが教えるプロの技術 Android開発の教科書」を執筆しました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。筒井と申します。ヤフーの黒帯制度にて黒帯Androidアプリに任命されています。 私を含むヤフーのエンジニア・デザイナーの計5名で「黒帯エンジニアが教えるプロの技術 Android開発の教科書」を執筆しました。 黒帯エンジニアが教えるプロの技術 Android開発の教科書(著:筒井俊祐 里山南人 松田承一 笹城戸裕記 毛受崇洋/出版社:SBクリエイティブ) Androidアプリ開発に関わる全体像を体系的に理解できるようになりたいという方に向けて書いています。 先日、弊社の黒帯エンジニアの西が執筆した「気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基テク

    「黒帯エンジニアが教えるプロの技術 Android開発の教科書」を執筆しました
    key_amb
    key_amb 2016/06/17
    「黒帯エンジニア」っていいブランディングだなぁ
  • 社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。

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

    社内クラウド環境におけるディスク(HDD)の故障率を確認してみました。
    key_amb
    key_amb 2016/04/27
    湿度と相関があるかも、と。そういう論文があるそうだ。
  • 分散プログラミングモデルおよびデザインパターンの考察

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

    分散プログラミングモデルおよびデザインパターンの考察
    key_amb
    key_amb 2016/02/23
  • EVPN(Ethernet VPN)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog メリークリスマス! Yahoo! JAPANでインフラ・ネットワーク領域の技術責任者をしている高澤です。 昨年に続き2回目の試みとなったYahoo! JAPAN Tech Advent Calendar、みなさまお楽しみいただけましたでしょうか。今年も広範囲な技術領域の記事が公開されてきましたが、昨年に比べてiOS/Android関連の記事が増えた印象です。 Yahoo! JAPANは今年、スマートフォン版のトップページをリニューアルするなどアプリ戦略をより推進してきました。 これはユーザーが利用するデバイスの変化に対応した形となりますが、これからもデバイスの多様化は進み、さまざまなモノがインターネットに繋がるようになるでしょう。

    EVPN(Ethernet VPN)
    key_amb
    key_amb 2015/12/29
  • 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 コンバータをオープンソースで公開しました!
    key_amb
    key_amb 2015/12/29
  • キャッシュシステムのオリジンサーバアクセスの効率化と Apache Traffic Server

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部プラットフォーム開発部配信プラットフォーム部の大久保諒です。 過去に何度か紹介している通り、ヤフーでは静的コンテンツのキャッシュを行うためにオープンソースの HTTP プロキシサーバである Apache Traffic Server (以下 ATS) を用いて行っています。 Yahoo! JAPAN における HTTP/2 への取り組み ヤフーの画像配信システム(CDN)の紹介 さて、 ATS のような HTTP キャッシュを行うサーバにおいて、短時間である一つのオブジェクトに対する大量の HTTP リクエストが来た際に使用できるキャッシュがない場合、オリジンサーバの負荷が増大する問題が存在します。

    キャッシュシステムのオリジンサーバアクセスの効率化と Apache Traffic Server
    key_amb
    key_amb 2015/12/08
    たまにあるんですよね。cdn側のedgeサーバの設定なり工夫でもっと上手くやれるのかな。
  • オープンソース化するハードウェア 〜ヤフーがOCPサーバを導入するまで〜 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。データセンターのサーバを管理しています宮です。 今回はOpen Compute Project(以下、OCP)の概要とヤフーがOCP仕様のサーバ(以下、OCPサーバ)を導入するまでに至った経緯をお話したいと思います。 オープンソースとハードウェア オープンソースという言葉はよく耳にしますが、この「みんなで作り上げていく」という考え方はハードウェアの世界にも浸透してきています。 ソフトウェアでオープンというとソースコードの共有にあたりますが、ハードウェアのオープンソースは物理的な仕様の設計書を共有することを意味します。 Facebookが2011年にデータセンターやサーバのオープンソース化を目的としてOpen Comp

    オープンソース化するハードウェア 〜ヤフーがOCPサーバを導入するまで〜 - Yahoo! JAPAN Tech Blog
    key_amb
    key_amb 2015/11/05
  • ヤフーの画像配信システム(CDN)の紹介

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

    ヤフーの画像配信システム(CDN)の紹介
    key_amb
    key_amb 2015/06/26
  • 分散システム処理モデルに関する動向について(MapReduceからBorgまで)

    詳細については後述しますが、MapReduceの処理モデルは、上記の通り各区分ごとにそれぞれ単純化(限定)されたモデルであったと言えます。 また、MapReduceの関数プログラミングおよびグラフ的な特徴も合わせて以下に整理してみます。 関数プログラミング的な特徴 MapおよびReduceフェーズは、それぞれ関数型プログラミングのMapおよびReduce処理をモデル化したものです。MapReduceは、参照透過性がある純粋な関数処理と言えます。参照透過性とは入力により出力が一意に決まる性質のことです。言い換えればMapReduceの処理は、大域などの処理に影響する外部の環境は持たず、内部的にも静的な一時変数などの状態も持たないことを意味します。 純粋な関数処理は複数の処理が同時に実行されても他の並列に動作している処理の状態には左右されないため、この参照透過性は並列化に向いている性質がありま

    分散システム処理モデルに関する動向について(MapReduceからBorgまで)
  • TLS Session resumptionを使ってみた話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog あっどうも、社員Mです。 細かすぎて伝わらないSSL/TLSというタイトルにて、1年目とはとても思えない1年目の新人さんによる TLS Session resumption の技術についてアツい紹介がありました。 私は、このあたりの技術を片っ端から人柱することを専門に担当しています。日はその結果について簡単にご紹介できればと思います。 ※ 弊社で謎の人物キャラがはやるのは前CTOの明石さんの影響ということにしておきます(笑)。 はじめに スマートフォンが利用するモバイルネットワークは応答時間が大きくなる傾向があり、ユーザー体験を向上させていくためには、応答時間とパケットの往復回数に着目した技術的な工夫が必要だと感じております。

    TLS Session resumptionを使ってみた話
    key_amb
    key_amb 2015/04/17
    LB間レベルでセッション共有してkeep-aliveできないケースでも再接続する。/ TLS Session resumptionを使ってみた話 - Yahoo! JAPAN Tech Blog /
  • Riak Meetup Tokyo #4 その後の運用の話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog データソリューション部の名嘉 真之介です。 現在は入社二年目で、レコメンデーションシステムの開発と運用周りを担当しています。 仕事内容に関しては期ごとに変化が多かったのですが、その中でRiakの運用を1年間続けています。 その結果、少しずつ運用のノウハウがたまってきており、今回のAdventCalendarがアウトプットの良い機会と考えて参加しています。 この記事の対象者 細かい説明を省くため、ある程度のRiakの知識があることを前提にしています。 主な対象者としては、Riakの運用に興味が有る方や実際に運用に携わっている方を想定しています。 Riak Meetup Tokyo #04 (2014/06/04) まず、題に入る

    Riak Meetup Tokyo #4 その後の運用の話
    key_amb
    key_amb 2015/04/16
    Aerospikeで思いだしたけど、 #Riak もだいぶ枯れてきたんじゃないかという印象。/ Riak Meetup Tokyo #4 その後の運用の話 - Yahoo! JAPAN Tech Blog /