nahashimのブックマーク (55)

  • iOSで振る舞いを見るテストを書いて安心しながら開発を続けよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフー株式会社でiOS Yahoo! JAPANアプリの開発をしている内村です。この記事では僕が普段のiOSの開発で意識・実践している振る舞いを見たテストによる開発(BDD/振る舞い駆動開発)を紹介します。 振る舞いを見るテストとは 振る舞い駆動開発では、TDDと同様にまずテストから書いていきます。その際のテストの観点が自然言語を併記しながらユーザから見てプログラムがどう動くべきか振る舞いを意識しているのが特徴です。 例えば「この関数はこの引数に対してこのreturnを返すべき」ではなく「このボタンが押されたら最終的にラベルにAAAが表示される」という観点でテストを作成します。 そのようなテストはUIテストでしか出来な

    iOSで振る舞いを見るテストを書いて安心しながら開発を続けよう
    nahashim
    nahashim 2018/12/17
    iOS Yahoo! JAPANアプリの開発担当の内村さんより普段意識、実践している「振る舞いを見たテストによる開発」(BDD/振る舞い駆動開発)について紹介します。
  • Firebase Authenticationを使ってFlutter製アプリにYahoo! JAPAN IDでログインしてみる - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 IDソリューション部の都筑(@kazuki229_dev)です。 新卒3年目で普段はYahoo! ID連携のサーバーサイド、iOSのSDKの開発などを担当しています。 今回は個人的に最近興味のあるFlutterと、Firebaseを用いたアプリケーション上で、Yahoo! ID連携を行う方法を考えてみたいと思います。 Flutterとは? Flutterとは、単一のコードでiOSとAndroidのネーティブアプリを開発できる、クロスプラットフォームのフレームワークです。 ホットリロード機能によって高速な開発が可能になり、独自のレンダー実装により高速な描画、柔軟なデザインを実現可能とし、ネーティブとほぼ変わらないパフ

    Firebase Authenticationを使ってFlutter製アプリにYahoo! JAPAN IDでログインしてみる - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/16
    新卒3年目のIDソリューション本部都筑さんが、FlutterとFirebaseを使ってYahoo! ID連携を実装する方法を紹介します。
  • 量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog

    この例は規模が小さく、ちょっと頭で考えてれば答えがわかってしまうかもしれません。けれど、巨大なホテルだとしたら頭で考えるのが難しそうです。とにかくこの問題例をアニーリングマシンで解いてみることにします。 問題を量子アニーリングマシンで解くときは基的に次のような流れに沿って解きます。 (1) 問題の抽出(2) 量子アニーリングマシン (イジングモデル) へのマッピング(3) アニーリングの実行(4) 解の解釈 (1) 問題の抽出 まずは、対象の問題を量子アニーリングで解くことのできるようにできる限りシンプルな問題に切り出すことが必要です。 この問題は実はグラフ頂点彩色問題に帰着させることができます。 グラフ頂点彩色問題とは、任意のグラフ G=(V,E) と色総数 K が与えられたとき、すべての頂点を、隣接する頂点 (すなわち、辺で接続されている頂点) が同色にならないという制約下でK色に塗

    量子アニーリングがチョットワカルようになる記事 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/15
    新しい技術やわくわく感が大好きなデータプラットフォームエンジニアの寺田さんが、自分が最近注目しているテクノロジーという観点から「量子アニーリング」について、わかりやすくまとめました。
  • Abstract導入。さあ、闇払いをしよう。

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Advent Calendarの14日目を担当するデザイナーの鈴木(@kankisuzuki)と申します。 新卒一年目で、Yahoo! JAPANアプリのUI/UX領域に携わっています。 はじめに 「この余白って何ピクセル?」「最新版これであってる?」「ボタン押したときの挙動は?」何が正しいのかわからない、共有フォルダに潜む深い闇に挑む新卒デザイナーの話。 共有フォルダの闇 デザイナー同士でUI改善に取り組むときや、職種を越えてエンジニアさんや企画さんにフィードバックをいただく機会はプロジェクトを進める上で幾度となく訪れると思いますが、これまで一つのSketchファイルを複数のメンバーで共有するというのは得てして不安が

    Abstract導入。さあ、闇払いをしよう。
    nahashim
    nahashim 2018/12/14
    職種を横断し協働するサービス開発の現場に圧倒的な変化をもたらした方法とは? 新卒1年目、Yahoo! JAPANアプリのデザイナーの鈴木さん
  • OpenStack と Kubernetes の Service Discovery と L7 Loadbalancing を行う - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、サイトオペレーション部の岡崎(@yutaokaz)です。 今回は、ヤフーに Gimbal という OSS を導入して OpenStack と Kubernetes の Service Discovery と L7 Loadbalancing を実現しましたので、Gimbal の紹介と実現方法をこの Tech Blog に書きたいと思います。 はじめに サーバーは物理サーバーをそのまま利用するのではなく、仮想化を行い、その上でアプリケーションを動作させることが既に主流になっているかと思います。 ヤフーでも社内に構築した OpenStack 仮想サーバー環境や、Kubernetes コンテナ環境に移行が進んでいます。

    OpenStack と Kubernetes の Service Discovery と L7 Loadbalancing を行う - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/13
    ヤフーに Gimbal という OSS を導入したので、その紹介と実現方法について、サイトオペレーション本部のエンジニア岡崎さんがお話しします。
  • ヤフーのAlexaスキルを画面対応した話

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。データ&サイエンスソリューション統括部 スマートデバイス部で、ヤフーのAlexaスキルや、Actions on Googleのアクションを開発している大島翼です。日12月12日に、Amazon Echo Showが日でも発売され、画面付きのスマートスピーカーがより一層注目を集めております。今回はヤフーのAlexaスキルである「Yahoo!天気・災害」と「Yahoo!路線」をAlexa Presentation Language(APL)を用いて画面付きデバイスに対応した話をご紹介したいと思います。 Alexa Presentation Language(APL)とは? 簡単に言うと、Alexaの動作を制御するj

    ヤフーのAlexaスキルを画面対応した話
    nahashim
    nahashim 2018/12/12
    ヤフーのAlexaスキルである「Yahoo!天気・災害」と「Yahoo!路線」をAPLを用いて画面付きデバイスに対応した話を担当エンジニア大島翼さんが熱く語ります。
  • ブロックチェーンを使用した分散型アプリケーション(DApps)の特徴とヤフーでの可能性を考えてみた - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! 大阪開発部の太郎良です。 普段は社内プラットフォームの開発をしていますが、副業制度を利用してブロックチェーン関係の仕事もしています。 今回はブロックチェーンを使用した分散型アプリケーション(DApps)について情報を整理しつつ、所属しているヤフーでの可能性を考えてみました。 ※投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。 DAppsについて DAppsって何? DApps(Decentralized Applications)とは、分散型アプリケーションのことです。 DAppsに投資するVCのDavid Johnstonらによって次のように定義されています。 アプリケーションはオー

    ブロックチェーンを使用した分散型アプリケーション(DApps)の特徴とヤフーでの可能性を考えてみた - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/12
    ブロックチェーンのおもしろさに目覚めた大阪開発本部のエンジニア太郎良さんが考える「ヤフーでのDAppsの可能性」とは?
  • 既存サービスのデザイン課題発見のためにやっておきたい「Interface Inventory」 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 広告フロントエンド開発部の春野です。今日はデザイナーの立場から、デザインスキルに自信のないエンジニアの方でも取り組むことができる、UIの課題発見方法をテーマに記事を書いていきたいと思います。 PDCAサイクルを回すことで生じる課題 Webサービスやアプリケーションを制作するにあたって、多くのプロダクトはユーザーのニーズに応えるために画面の追加や修正を行い、PDCAサイクルを回していると思います。しかしながら、PDCAサイクルを回していくことにより、デザインの一貫性が失われる可能性があります。ひとつの機能や画面の追加・修正の要件を満たすことを目的とするあまり、ひとつひとつの成果物が良いものであっても、サービス全体を見渡したときにデザ

    既存サービスのデザイン課題発見のためにやっておきたい「Interface Inventory」 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/11
    デザインの一貫性が失われる可能性が課題になったとき、役立つアクティビティ「Interface Inventory」とは? 広告フロントエンド開発部の春野さんが紹介します。
  • SECCON CTF 2018 国内大会までの道のり 〜世界のワイハリマを目指して〜 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部プラットフォーム開発部の西山です。 Yahoo! JAPAN Tech Advent Calendar 2018の10日目は、社内で活動しているCTFチームワイハリマの紹介をします。(記事の最初にある画像はチームワイハリマのチームロゴです。) まずはじめにワイハリマは国内のCTFコンテストSECCON CTF 2018のオンライン予選を勝ち抜き国内大会に出場することになりました! 当は国際大会の方に出て世界のワイハリマとして名を馳せたかったのですが、順位が足りず国内大会に駒を進めることになりました。 今回のAdvent Calendarはこの結果を一つの区切りとして、「今までワイハリマがどのようなこ

    SECCON CTF 2018 国内大会までの道のり 〜世界のワイハリマを目指して〜 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/10
    ヤフーの社内で活動しているCTFチームワイハリマが、SECCON CTF 2018のオンライン予選を勝ち抜き、国内大会に出場することになりました。その軌跡をチームメンバーの西山さんが語ります。
  • Spring Boot + GraphQLでAPIを作成してみよう! - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、コマース福岡開発部で金融サービスのバックエンドを担当しているチョ ジョンミンと申します。 「Yahoo! JAPAN Tech Advent Calendar 2018」に寄稿させていただく機会をいただきましたので、前から興味のあったGraphQLAPIを実装してみました。記事では、GraphQLの概要とAPIの作り方を紹介します。 ターゲット 記事は、次の読者を想定して書かれています。 GraphQLに興味はあるが、作成した経験がない方 Spring BootでGraphQLAPIを作成してみたい方 目次 利用している技術 GraphQL概要 GraphQLのメリットとデメリット GraphQLのA

    Spring Boot + GraphQLでAPIを作成してみよう! - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/09
    9日目の本日は、福岡開発部のチョ ジョンミンさんより前から興味のあったGraphQLのAPIを実装してみた話。Spring BootでGraphQLのAPIを作成してみたい方におすすめです!
  • FIDO2 attestation formatの紹介 - Yahoo! JAPAN Tech Blog

    Attestationの概要 Attestationは、認証器、端末の正当性を証明するための記述です。 認証器で、attestation用の秘密鍵・公開鍵のペア、署名作成用のデータ、を元に署名を作成し、attestation formatの仕様に沿って、公開鍵、署名をattestation statementに定義し、サービス事業者に送ります。 サービス事業者では、attestation statement内の公開鍵、署名を取り出し、クライアントからのパラメーターから署名作成用のデータを生成し、それらの値を使って署名検証を行います。 Attestationには執筆時点で6種類のattestation formatがあり、packedは基的なattestation formatです。 Packedとは Packedは、WebAuthn仕様に最適化されたattestation formatで

    FIDO2 attestation formatの紹介 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/08
    昨日の記事につづくWebAuthn(Web Authentication)についての第2弾! attestation formatの1つのpackedに関して開発担当者の浜田さんが紹介します。
  • Yahoo! JAPANでの生体認証の取り組み(FIDO2サーバーの仕組みについて)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 目次 はじめに Yahoo! JAPANが対応したWebAuthnとは WebAuthnとFIDO認証について WebAuthnの処理について 登録と認証の流れ 削除機能 ブラウザーでの実装 navigator.credentials.create()について navigator.credentials.get()について サーバーでの実装 登録(公開鍵の登録) /attestation/optionsの処理 リクエストパラメーター navigator.credentials.create()の引数に必要な値 /attestation/resultの処理 CBORについて attestationObjectについて 公開鍵を作成す

    Yahoo! JAPANでの生体認証の取り組み(FIDO2サーバーの仕組みについて)
    nahashim
    nahashim 2018/12/07
    「生体認証を利用したログイン」の裏側の仕組みであるWebAuthn(Web Authentication)について、サーバー側の実装などを開発担当者の上野博司さんが熱烈解説しています!
  • ヤフー株式会社におけるWebフロントエンドの技術選定 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPAN Tech Advent Calendar 2018の6日目を担当します、Webフロントエンドエンジニアをやっている向井(@sakito)です! 今回はヤフー株式会社でWebフロントエンドエンジニアがどのような取り組みを行なっているのかをお伝えします。 ヤフーの組織体制 Webフロントエンドエンジニアの取り組みを紹介する前に、ヤフーがどのような組織体制なのか紹介します。 冒頭画像のようにヤフーではカンパニー制度を取り入れており、それぞれのカンパニーにサービスを開発する事業部があり、この事業部単位でデザイナーやエンジニア、そのほかにもさまざまな職種の方が所属し、サービスごとで日々開発に取り組んでいます。

    ヤフー株式会社におけるWebフロントエンドの技術選定 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/06
    ヤフーの各サービスにおけるWebフロントエンドの取り組みや最近挑戦したorしようと思っている技術など担当エンジニアの向井さんが紹介します。
  • ヤフオク!にARメジャーを実装した話 - Yahoo! JAPAN Tech Blog

    ARメジャーで解決したい課題 こんなことありませんか? 配送方法がいろいろあってどれを選べばいいかわからない サイズを測るメジャーが手元にない 出品したいだけなのに、面倒ですよね... 自分もヤフオク!ユーザーとしてなんとかしたいと、毎日考えていました。 そんなある日、サンノゼで開催されたApple社のWWDC 2018に現地参加することになりました。 WWDC 2018の"What's New in ARKit 2"で、こういうデモがありました。 これや!! その後、ARKit2.0のObject Detectionのサンプルをもとに一日で作ったプロトがこちら 無事、iOS12のDay1対応の案件になりました!! Object Detection ARKit2.0では、3Dの物体検出やトラッキングができるようになりました。 ARメジャーでは、Object Detectionの一部である、

    ヤフオク!にARメジャーを実装した話 - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/05
    ヤフオク!アプリには、商品をカメラでかざして簡単に配送方法の選択ができる「ARメジャー」機能があります。これを約3週間でリリースできた開発秘話とは?[ARメジャー]
  • ありがとう、MYM 安らかに眠れ - Yahoo! JAPAN Tech Blog

    特筆すべきはボット数かもしれません。ボットは何らかの操作を自動で行うために作られたプログラムで動作するアカウントなのですが、なんとそのボットの数(14,000)がユーザーの数(18,000)に迫りつつあります。MYMのボットは通常ひとつの部屋にリンクしているため、おそらく同じような機能を持ったボットが大多数だと思われますが、ボット数 14,000 はインパクトのある数字ですね。 興味深い部屋の数々 MYMはこの8年間で計150,000の部屋が生み出されました。業務系・技術系・雑談系を問わず、異彩を放つ部屋は数え切れないほどあります。ここでは数多くの部屋の中でも、ひときわ特徴的な部屋を紹介してみようと思います。 もちろんすべての部屋を把握しているわけではないため、あくまで把握している範囲内での紹介となることをご了承ください。 トピックス編集 Yahoo!ニュース トピックスの編集業務に活用さ

    ありがとう、MYM 安らかに眠れ - Yahoo! JAPAN Tech Blog
    nahashim
    nahashim 2018/12/02
    ヤフーの社内チャットシステムの開発秘話を第8代黒帯(Node.js)の栗山さんがあつく語ります!
  • ヤフオク!でしか買えないものいろいろ! あなたは何買い? - ヤフオク!

    質問 最近ドキドキが足りない YES NO 壇蜜 (こっそり買い) 人間国宝の茶碗 (レア買い) ボーナス、もらった? YES NO クルーザー (衝動買い) リクルートスーツ (今だけ買い) 近々、鍋パーティーの 予定がある YES NO 入手困難な日酒 (指名買い) 【全巻買い】ワンピース (大人買い) 散歩が好きだ YES NO 江戸の古地図 (レア買い) ふとんセット (今だけ買い) いわゆる“有名ブランド” が好き YES NO 1円からのロレックス (1円スタート買い) 日未上陸アイテム (日未上陸買い) 部屋に置くなら ミッドセンチュリー YES NO 【ヴィンテージ】イームズ (レア買い) レトロな電化製品 (レア買い)

    ヤフオク!でしか買えないものいろいろ! あなたは何買い? - ヤフオク!
    nahashim
    nahashim 2013/11/26