タグ

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

  • OAuth2.0拡張仕様のPKCE実装紹介 〜 Yahoo! ID連携に導入しました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 サービス統括部の都筑(@kazuki229_dev)です。 新卒4年目で普段はYahoo! ID連携のサーバーサイド、iOSのSDKの開発などを担当しています。 Yahoo! ID連携とは、Yahoo! JAPANのシングルサインオンやユーザーの属性情報を取得するID連携の仕組みです。 Yahoo! ID連携とは このYahoo! ID連携ではPKCEというOAuth2.0の拡張仕様を実装しました。 https://developer.yahoo.co.jp/changelog/2019-12-12-yconnect.html そこで、PKCEの基的な話と、実装の際に調査したことをまとめてみました。 PKCEとは

    OAuth2.0拡張仕様のPKCE実装紹介 〜 Yahoo! ID連携に導入しました
    suginoy
    suginoy 2023/04/28
  • Cognitive Complexityを400以上減らすまでに何をしたか 〜 コード品質改善の具体的なプラクティス

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告 ディスプレイ広告エンジニアの安田です。私たちの開発チームでは広告配信の起点となるJavaScriptTypeScript)ライブラリを提供しています。今回はこのライブラリのデプロイ失敗率を改善できた、コード品質改善の取り組みについてご紹介します。 コード品質を定量的に測る指標の1つにCognitive Complexityがあります。Cognitive Complexityは人間視点での複雑性を評価する指標で、例えばネストが深くなるほど複雑と判断される特徴があります。複雑なコードは変更に多くの時間を要し、テストが難しくなるので要改善なシグナルといえるでしょう。私たちが今回実施した品質改善の取り組みで

    Cognitive Complexityを400以上減らすまでに何をしたか 〜 コード品質改善の具体的なプラクティス
    suginoy
    suginoy 2022/08/28
    “Change Failure Rateが課題だった”
  • Callback を撲滅せよ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。言語サポート(Node.js)チームの伊藤(@koh110)です。 Node.js v10 も10月にLTSとなり async/await によるフロー制御は当たり前のように利用されるようになってきました。JavaScriptの非同期処理は async/await から覚える人も今後増えていくでしょう。今回はそんな非同期処理について、社内での事例を交えて記事を書いていこうと思います。 index Promise 化がなぜ重要なのか ユーザーに promisify をさせる落とし穴 Road to Promise まとめ Promise 化がなぜ重要なのか ちょうど3年前のアドベントカレンダーで、今後はいろいろなモジュー

    Callback を撲滅せよ
  • ヤフー株式会社における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
  • 爆速でわかるjQuery.Deferred超入門

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。これまで、JavaScriptで非同期処理を書く上での問題として、コールバック地獄やエラー処理に例外が使えないことなどを解説してきました。 これらの問題に対処するライブラリの1つであるjQuery.Deferredに関して、もう少し丁寧に解説いたします。なお、jQueryのバージョンは記事執筆時点の最新である、1.9.1を想定しています。 jQuery.Deferredとは jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。使いこなすことで、以下のような効果が見込めます。 非同期処理を連結

    爆速でわかるjQuery.Deferred超入門
  • Bonfire API #1 ~ヤフー、メルカリ、Gunosy、LINEの課題と解決策~

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! Bonfire API運営の出水です。 2月1日(木)に弊社のコワーキングスペースLODGEでBonfire API #1を開催しました! Bonfire APIとは、APIやサーバーサイド技術にフォーカスした情報共有を定期的に行う勉強会/交流会イベントです。 目まぐるしく進化を続ける技術や市場環境との向き合い方について共有することで、新しい知見を得たり技術交流の輪を広げたりすることのできる場を目指しています。 テーマ「APIの役割の多様化」 Bonfire API第1回のテーマは「APIの役割の多様化」です。 海外進出によるリージョンの多様化や開発者向けAPIの公開に伴う利用者の多様化などの課題にどう対応しているか

    Bonfire API #1 ~ヤフー、メルカリ、Gunosy、LINEの課題と解決策~
  • 世界最強のソフトウェアアーキテクト

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! マーケティングソリューションカンパニー(MSC)開発部の小川雄大です。 昨年11月に子会社のクロコスからヤフーに移りまして、現在はヤフーで開発を行っています。みなさまどうぞよろしくお願いします。 MSC開発部では、ヤフーが世界最強を目指してどう取り組んでいくかについて議論する会を毎週開催しています。今回はそこで今年の1月に僕が発表した「世界最強のソフトウェアアーキテクト」について公開したいと思います。 今回はヤフーに入ってはじめての発表ということもありテーマをどうしていくかはかなり悩んだ部分なのですが、テクニックよりもアーキテクトが持つべきマインドを共有することが次につなげていく上で大切になると考えたので、多少抽

    世界最強のソフトウェアアーキテクト
  • レガシーコード改善勉強会 開催レポート

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフー株式会社の有地です。 9/27(土)の昼から6時間にもわたり、さまざまな視点から「レガシーコード」について知識を深めるための勉強会を開催いたしました。 「そもそも正しい仕様を知っている人がいない」 「システムのブラックボックス化が留まるところを知らない」 こんな不条理なレガシーコード(テストコードが無いコード)と日々戦うエンジニアも多いことと思います。 今あるレガシーコードをどうやって保守・改善していけばよいのかという課題に気で取り組んでいる、または取り組みたいと考えている大勢の方々に参加していただきました。 <開催趣旨・目的> テストコードが無いプロダクションコードをレガシーコードと定義し、テストコードによって保護され、

    レガシーコード改善勉強会 開催レポート
  • iOS_LTという勉強会をはじめました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフーでiOSエンジニアをやっています平松(@himara2)です。 去年の11月より社内で「iOS_LT」という勉強会を始めました。 その名の通りiOSについてLightning Talkする会で、毎回7人が5分程度のtipsを、1人がライブコーディングを披露しています。 隔週の頻度でこれまで5回開催され、とても楽しいと好評です。 今日はそんなiOS_LTの雰囲気を知ってもらうべく、一部ではありますが資料を公開致します! iOS_LT の発表資料を公開します! 社内情報が含まれてるものも多く一部の公開となりますが、雰囲気を感じていただければ幸いです! 1.iOSで笑顔を認識する iOS 7から追加されたセンサーで笑顔を検知するL

    iOS_LTという勉強会をはじめました
    suginoy
    suginoy 2014/02/16
  • スクラムギャザリング東京2011でYahoo! JAPANのスクラムへの取り組みをご紹介しました

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは!R&D統括部でアジャイル開発の推進を担当している高橋(@kappa4) です。 近ごろ、書籍「アジャイル・サムライ」のヒットなどで再度注目を集めているアジャイル開発ですが、そのひとつとしてスクラムがあります。そのスクラムのイベント、スクラムギャザリング東京2011が先日10/19(水)、22(土)の2日間に渡って行なわれました。Yahoo! JAPANでは今年10月にスクラムを組み入れた開発が公式に認められましたので、これまでの成果を事例発表という形で弊社R&D統括部プラットフォーム開発部長志立と、フロントエンド開発1部の立木から紹介させていただきました。 ヤフーのセッションが行なわれた1日目は有料カンファ

    スクラムギャザリング東京2011でYahoo! JAPANのスクラムへの取り組みをご紹介しました
    suginoy
    suginoy 2011/11/15
    全社的にさらされるTwitterID
  • ヤフーにおけるWebサービスのアクセスコントロール

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、R&D統括部 開発推進室 セキュリティプラットフォーム技術 セキュリティスペシャリストの戸田 薫です。 今回は、ヤフーにおけるWebサービスのアクセスコントロールについてご紹介します。 ヤフーでは、会社組織やWebサービスの運営面でいろいろなアクセスコントロールを行っています。 アクセスコントロールをする目的には、いくつも理由がありますが、たとえば、以下の理由が挙げられます。 お客様やパートナーの情報を守らなければなりません。 サーバの制御を奪われ、攻撃に利用されてはいけません。 システムの不正な利用を予防しなければなりません。 今回は、ヤフーのWebサービスにフォーカスして説明をします。 インターネットからヤフーへ

    ヤフーにおけるWebサービスのアクセスコントロール
  • OAuthの仕様について 〜署名?それっておいしいの?〜

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、IDプラットフォーム技術の近藤裕介です。 OAuthを使ったアプリを実装している方の多くは特にパラメータの署名まわりの部分で少し詰まることが多いように見受けられます。署名はOAuthのキモとなる仕組みなので今回はこれに関する記事を書いてみようと思います。 署名の仕組み OAuth(以後OAuth Core)の仕様では、一般的な署名の仕組みを使ってリクエストの内容の改ざんや送信者のなりすましをされにくくしています。いまのところ以下の3つの署名方式に対応しています。 HMAC-SHA1 Service Provider(以後SP)側でConsumerkeyとSecret(秘密鍵)のペアをConsumerに発行し、APIリク

    OAuthの仕様について 〜署名?それっておいしいの?〜
  • サーバーの熱は冷まさなくても良い?

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、運用技術部 サイトオペレーションズ部の秋山と申します。 Yahoo! JAPANには日一のサイトを支えるたくさんのネットワーク機器、サーバー、ストレージがあります。 日々増え続ける、インフラ機器の運用管理に頭を悩ませている、管理者も多いかと思います。 悩むポイントは機器管理、コスト等いくつかあるかと思いますが、今回は「サーバーの熱」に焦点を絞り、話をします。 普段使っているパソコンなどもそうですが、情報技術IT)機器全般に電源投入後は熱を持ち、 内部のファンで、たまった熱をケース外に吐き出す構造のものがほとんどです。 パソコン1台ですと、暖かい風が出てくるだけ。というイメージが多いかと思いますが、 データセンタの

    サーバーの熱は冷まさなくても良い?
  • Zen-Codingの応用でもっと超速に - 原稿ありきの変換について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。R&D統括部 制作部 ウェブデベロップメント部に所属しております。岡部和昌(@kzms2)と申します。 前回の記事(マークアップ効率化 - zen-codingでコーディングを倍速に)ではZen-Codingの基について説明しました。 また、その内容をCSS Nite実行委員会(公式ページ)が主催した、Dreamweaver Town Meeting in TokyoというDreamweaverにフォーカスをあてたイベントで公演させていただきました。 [撮影:飯田昌之] その公演では、Zen-Codingを知らない方向けに、Zen-Codingとは何か・どんなことが出来るのかなど、基に関して実演を行い

    Zen-Codingの応用でもっと超速に - 原稿ありきの変換について
  • ソースコードリーディング(head,tailコマンド編)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ショッピング担当の吉野です。 今回はタイトルの通り、headコマンドとtailコマンドのソースコードを読んでいきたいと思います。 ■はじめに 皆さんご存じの通り、headコマンドはファイルの先頭からn行(バイト)を出力し、 tailコマンドはファイルの末尾からn行(バイト)を出力するコマンドです。 ほかにもパイプの入力に使ったり、[tail -f]でログファイルの出力監視に使ったりと、 UNIXを使う上では欠かせないコマンドと言えるでしょう。 headとtailは見た目の動作は似ているようですが、ソースコードの中は結構違います。 さっそく見ていきましょう。 <headのソースコード> http://www.

    ソースコードリーディング(head,tailコマンド編)
    suginoy
    suginoy 2009/07/17
  • 1