タグ

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

  • 開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPANアプリの通知系バックエンドシステムを主に担当しているエンジニアの福盛です。 Yahoo! JAPANアプリの通知系バックエンドシステムについては、以下の記事でも紹介しています。もし興味があればこちらも参照ください。 チームのスキル向上にもつながるシステム刷新 〜 Yahoo! JAPANアプリ「お知らせ」機能の開発事例 Scalaで使うMessage Queue 〜 Yahoo! JAPANアプリのお知らせ送信でのApache Pulsarの活用 今回は開発とトラブルシュートの効率を大幅に向上する、アプリケーションログの埋め込みと活用方法について紹介いたします。 記事では「JavaおよびScalaで構築さ

    開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法
  • kubectlのプラグイン機構とおすすめプラグインのご紹介 〜 Kubernetes制御用コマンド #k8sjp

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーの子会社であるゼットラボ株式会社の吉田(@ryysud)です。2018年12月よりゼットラボ株式会社でKubernetesをベースとしたインフラ基盤の研究開発を行っており、現在はCloud Nativeなアクセス制御システム(認証、認可)の研究開発を担当しています。 今回は2020年6月13日(土)に開催されたKubeFest Tokyo 2020でのセッション “kubectl のプラグイン機構を活用してオペレーションを効率化しよう”をベースに、Kubernetes制御用コマンドラインツールであるkubectlのプラグイン機構とおすすめプラグインをご紹介します。スライドとビデオは以下で公開されていますのでご興味

    kubectlのプラグイン機構とおすすめプラグインのご紹介 〜 Kubernetes制御用コマンド #k8sjp
  • MySQLの物理削除によるパフォーマンスの悪化とその回避策について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!ショッピングでシステム開発を担当している村上です。 Yahoo!ショッピングでは数億件にのぼる商品が日々更新されています。 今回はそれを支える巨大なDBの運用の中で遭遇したMySQLのアンチパターンと、回避した方法について紹介いたします。 特定のテーブルをJoinするとすごく遅くなる Yahoo!ショッピングでは商品を出品するためのツールがあります。 商品情報には「商品名」「価格」といった、任意で設定可能な項目のほか、「ブランド」「商品種別」など、製品ごとに入力する内容が決まっている項目を、マスター情報としてテーブルで管理しています。 このマスター情報を利用して、出品の際に入力情報が正確であるかどうか確か

    MySQLの物理削除によるパフォーマンスの悪化とその回避策について
  • データドリブンなサービスを支えるネットワークの作り方〜 ヤフーのデータセンターネットワーク紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフーのプロダクションネットワークの設計・構築・運用を担当している津秦です。 ヤフーではオンプレミスで大量に物理サーバーを導入し、社内向けプライベートクラウドや、データ分析基盤などに利用しております。もちろんそのサーバーを接続するためのネットワークも、自分たちで設計・構築・運用を行っております。 今回はデータセンター内ネットワークの中でも、最近取り入れているClosネットワークというものに着目して、ヤフーのデータセンターネットワークをご紹介したいと思います。 なお、大量に物理サーバーを導入する点では、昨年末に同じくインフラを担当する藤見から、サーバーの調達に関する取り組みを紹介しました。合わせて参照いただければ、ヤフーのインフラ部

    データドリブンなサービスを支えるネットワークの作り方〜 ヤフーのデータセンターネットワーク紹介
  • メッセージングPF「Apache Pulsar」の使い方(入門編)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。システム統括部クラウドプラットフォーム部の水嶋と申します。私は現在、社内向けにキューイング・Pub-Sub・ストリーミングなどのメッセージングプラットフォームを提供するチームに所属しています。 このチームでは、メッセージングプラットフォームとしてOSS Apache Pulsar(以降、Pulsar)を利用しています。チームは数年間Pulsarを開発・運用しており、この経験からノウハウが蓄積されています。これらを公開し、皆さんにぜひPulsarについて興味を持っていただければと考えています。そこで、Pulsarの使い方、運用方法、ヤフーでの事例などをシリーズ記事として投稿していくことにいたしました。稿に限らず、今

    メッセージングPF「Apache Pulsar」の使い方(入門編)
  • 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 を撲滅せよ
  • ブロックチェーンを使用した分散型アプリケーション(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
  • アジャイルとテスト自動化の現場2016

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 皆さんこんにちは。ヤフー株式会社の第6代黒帯(アジャイル開発プロセス)、伊藤 宏幸(@hageyahhoo)です。 システム統括部 技術支援部所属のアジャイルコーチ&自動化コーチとして、社内各サービスによるアジャイルおよびテスト自動化の自発的な実現を日々支援しております。また、Scrum Alliance公認の認定スクラムプロフェッショナル(CSP)でもあります。 12月19日のAdvent Calendarを担当させていただきます。 今回は、特に今年、アジャイルコーチ&自動化コーチとして現場で気付いた課題とその解決策について紹介します。皆さんの日々の仕事をより良くするための何らかのヒントになれば幸いです。 1. 仕事をしやす

    アジャイルとテスト自動化の現場2016
  • クリック・タッチを無効化するCSS「pointer-events: none;」がお手軽で便利

    こんにちは、お久しぶりです。ウェブデベロップメント黒帯を務めております、HTMLCSSJavaScriptが大好きな岡部 和昌(@kzms2)と申します。 最近はCSSSVGのアニメーション、ElectronやCordovaなどを用いたハイブリッドアプリなどがお気に入りです。 最近の活動 東大の坂 大介先生と弊社の坂 竜基、鈴木 健司(@kensuzuk)と一緒にFix & Slideというタッチデバイスにおける選択のUIについての論文を投稿し、UIST 2015やmobileHCI 2016と言った世界的なトップカンファレンスにて採択され発表・登壇などを行っていました。 上記の論文に関しましては、また別の機会でご紹介できたらと考えております。 それでは題に入ります。 pointer-eventsについて 皆様はpointer-eventsというCSSプロパティーやその使い道を

    クリック・タッチを無効化するCSS「pointer-events: none;」がお手軽で便利
  • SCRIPTY#4 〜フロントエンド紳士・淑女のための勉強会〜 #scripty04

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 先日、定期的に開催しているフロントエンド技術に関する勉強会、SCRIPTYをヤフーで開催しました。 http://scripty.connpass.com/event/22663/ 勉強会で発表されたセッションのスライドを発表者のコメントとともに公開いたします! 発表セッションまとめ 1.Single-page application Zero to One (React/Redux/ES6/Firebase) 発表者:山中 悠 バックエンド専門だったエンジニアが、最新のフロントエンド技術を使ってシングルページアプリケーション(SPA)を作るまでに四苦八苦した話と、実際に作ったサンプルアプリケーションを発表しました。 SPA開発

    SCRIPTY#4 〜フロントエンド紳士・淑女のための勉強会〜 #scripty04
  • JavaScript で実装してみる Deep Learning

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

    JavaScript で実装してみる Deep Learning
  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
  • 分散システムの一貫性に関する動向について

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog システム統括部アーキテクト室 今野です。 昨年は、Twitter,Facebookを始めとするクラウド各社で新規の分散システム開発のプロジェクトが相次いで発表された年でした。これらの新しい分散システムを開発する理由や、その背景にあるものは何なのでしょうか? 今回は、昨年末に開催された高信頼性分散システム系の国際学会であるSRDS 2014[1]の発表内容に関連する論文の話題も踏まえて、昨今のクラウド各社の分散システムの動向について整理してみます。 分散システムにおけるクラウド各社の動向 近年の分散データベースの世界では、AmazonのDynamo[2]やFacebookのCassandra[3]などを代表とする結果整合性(Eve

    分散システムの一貫性に関する動向について
  • 細かすぎて伝わらないSSL/TLS

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 「細かいと言うより長いよね」 はじめに こんにちは。ATS の脆弱性を発見した小柴さんや ATS に HTTP/2 の実装を行っている大久保さんと同じチームの一年目、匿名社員M さんからいじられている新人です。今回ありがたい事に、こういったすごい方々を含めモヒカン諸先輩方より「何か書かないの?」「いつ書くの?」という数々のプレッシャーお言葉をいただきました。 というわけで、SSL/TLS の Session 再開機能に関して書いていこうかと思います。 SSL/TLS は機密性、完全性そして真正性に対して安全な通信を行うための仕組みです。しかし、この仕組みは暗号技術を多用し特に接続において複雑なプロトコルを用い、Client, Se

    細かすぎて伝わらないSSL/TLS
  • Gradleを使って業務を楽にする

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 普段 Android アプリの開発を行っている takahirom こと毛受(めんじゅ)です。 さて、Android のIDEとしては先日長きベータ時代に終わりを告げてついに Android Studio が 1.0 となりました。 今まで Eclipse + ADT 環境から移行するのを迷っていた人たちも、ようやく重い腰を上げて Android Studio へのも進むのではないかと思います。 そんな Android Studio では次世代のビルドツールとして注目を集めている Gradle が採用されています。 Gradle の特徴 Gradle で採用されているビルドスクリプトは非常にシンプルな記述をできるのが特徴で 例えば

    Gradleを使って業務を楽にする
  • レガシーコード改善勉強会 開催レポート

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

    レガシーコード改善勉強会 開催レポート
  • HTTP/2 入門

    ストリームによる多重化 2つ目の特徴は「ストリーム」です。従来のHTTPでは、リクエストとレスポンスの組を1つずつしか同時に送受信できないことが、パフォーマンス上のボトルネックになっています。この問題を改善するべくHTTP/1.1では新たにパイプラインが導入されましたが、一部のレスポンスに時間がかかるような場面でレスポンスが詰まってしまう問題などがあり、広く使われてはいません。そこで、HTTP/2では1つの接続上にストリームと呼ばれる仮想的な双方向シーケンスを作ることでこの問題に取り組んでいます。 1つの接続上に作られた複数のストリーム上では、複数のフレームを同時並行で転送できます。例えば、あるストリーム上ではリクエストにあたるフレームが送信中でも、別のストリームではレスポンスにあたるフレームを受信するといったことが可能になります。これにより、全体的なパフォーマンスが向上します。 ヘッダー

    HTTP/2 入門
  • Unicodeを斬りたい

    ※2014/4/17 記事の内容に関していくつか訂正させていただきました。 ご指摘いただいた皆様ありがとうございました。 誤字脱字を修正しました。 ソースコードの間違いを修正しました。 BOMの記述を分かりやすい表現に修正しました。 合字に関する記載を追記いたしました。 こんにちは。 Yahoo! JAPANで通知プラットフォームの開発をおこなっています佐々木海(@Lewuathe)と申します。 普段は全社向けのPush通知プラットフォームやメール配信プラットフォームの開発、保守をしています。通知というのはPush通知にしろ、メール配信にしろ基的には「テキストデータ」を送ることになります。プラットフォーム内ではこれらのテキストに対してさまざまな処理をかけることになるのですが、さすが日語といったところでしょうか、一筋縄ではいかない部分が出てきました。具体的にはUTF-8でエンコーディング

    Unicodeを斬りたい
  • 第8回Jenkins勉強会で「Jenkins with Docker」というLTをしました #jenkinsstudy - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog LT の中で触れた環境を構築するデモコードを Vagrantfile にまとめて GitHub においていますのでよければ触ってみてください。ジョブ登録済の Jenkins が立ち上がるので全く同じ環境を試してもらえます。 yahoojapan/jenkins-with-docker-demo LT は5分でざっと流してしまったため、このエントリで補足します。 ジョブ実行毎にクリーンな環境がほしい 特に説明の必要もなく普段 Jenkins を使っていればジョブ毎にクリーンな環境がほしいと思うはずです。スレーブノードをジョブ毎に新規でインスタンスを立ちあげて実行することもできますが インスタンスの作成、起動はそれなりの時間がかかりま

    第8回Jenkins勉強会で「Jenkins with Docker」というLTをしました #jenkinsstudy - Yahoo! JAPAN Tech Blog
  • iOS 7勉強会 全セッションの資料と動画を公開します! #ios7yahoo

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 先日、iOS 7に関する勉強会をヤフーで開催しました。 http://connpass.com/event/3497/ 世界の注目するiOS 7がテーマということもあり、250席があっという間に満席。 Ustream配信でも多くの方に見ていただき、大盛況の勉強会となりました。 参加者の方からのリクエストをいただきましたので、全セッションの発表スライド、ソースコードをまとめて公開致します! ▼発表を見逃した方はUstアーカイブをぜひご覧下さい! Ustream前半://www.ustream.tv/recorded/39618130 Ustream後半://www.ustream.tv/recorded/39619493 Toget

    iOS 7勉強会 全セッションの資料と動画を公開します! #ios7yahoo