タグ

ブックマーク / jovi0608.hatenablog.com (19)

  • FLoCとはなにか - ぼちぼち日記

    1. はじめに GoogleChrome/89よりトライアルを開始しているFLoC (Federated Learning of Cohorts)技術に対して、現在多くの批判が集まっています。 批判の内容は様々な観点からのものが多いですが、以前より Privacy Sandbox に対して否定的な見解を示してきたEFFの批判「Google Is Testing Its Controversial New Ad Targeting Tech in Millions of Browsers. Here’s What We Know.」が一番まとまっているものだと思います。 これまで Privacy Sandbox 技術に関わってきた身としては、各種提案の中でFLoCは特にユーザへの注意が最も必要なものだと思っていました。しかし、これまでのド直球なGoogleの進め方によって、FLoCのトラ

    FLoCとはなにか - ぼちぼち日記
  • なぜChromeはURLを殺そうとするのか? (Chrome Dev Summit 2019) - ぼちぼち日記

    今年もChrome開発者の集まりChrome Dev Summit 2019 (CDS) がサンフランシスコで開催されました。 今回、私が Chrome Customer Advisory Board (CAB) に選出していただいたこともあり、CDSに初めて参加しました。 これは、CDS終了後のCAB meetingで頂いたChrome Dinosaurフィギュアです。ちなみにゲームはできません。 タイトルの「なぜChromeはURLを殺そうとするのか?」は、2日目Chrome Leadsのパネルセッションで司会のGooglerが、Chrome UX担当のProduct Managerに対して一番最初に投げかけた問いです。 PMは直ちに「そんなことはしない」と即答しました。しかしChromeは、URLの表示領域からHTTPSの緑色表示の廃止・EV表示場所の移動・wwwサブドメイン表示の削

    なぜChromeはURLを殺そうとするのか? (Chrome Dev Summit 2019) - ぼちぼち日記
  • Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記

    1. はじめに 最近わけあってNodeのセキュリティ調査をしているのですが、今年の5月に開催された North Sec 2018 でセキュリティ研究者の Olivier Arteau 氏による 「Prototype pollution attacks in NodeJS applications」という面白い発表を見つけました。 この発表の論文や発表資料、デモ動画などもgithubで公開されていますし、ちょうどタイミングよくセッション動画も最近公開されました。 github.com Olivier Arteau -- Prototype pollution attacks in NodeJS applications この発表で解説されているのは、悪意のある攻撃者が、JavaScript言語固有のプロトタイプチェーンの挙動を利用して、Webサーバを攻撃する方法です。 発表者は、npmからダ

    Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記
  • io.jsのTechnical Committeeに推薦されました - ぼちぼち日記

    1. はじめに 「こんな私がXXXに!?」の宣伝文句ではありませんが、こんな私がio.jsプロジェクトTechnical Commitee(TC)に推薦されました。 Nominating Shigeki Ohtsu @shigeki to the TC まずは見習いとして数週間オブザーバーとしてTC meetingに参加、その後TCメンバーの投票を経て晴れてTCメンバーです。favや応援メッセージをいただいた方、ありがとうございました。 TC meetingは毎週木曜の早朝朝5時、Googleハングアウトで行います。会議の様子はライブ配信され、youtubeで録画公開されてます。議事録も随時公開されています。https://github.com/iojs/io.js/tree/master/doc/tc-meetings コミュニケーションは当然全部英語。大変です。昨日の早朝に初めて参加

    io.jsのTechnical Committeeに推薦されました - ぼちぼち日記
    yuiseki
    yuiseki 2015/04/24
  • 華麗なる因数分解:FREAK攻撃の仕組み - ぼちぼち日記

    1. はじめに ちょうど今朝 OpenSSLをはじめとした様々なTLS実装の脆弱性の詳細が公表されました。 この InriaとMSRのグループは以前からTLSのセキュリティに関して非常にアクティブに調査・検証をしているグループで、今回も驚きの内容でした。 このグループは、TLSのハンドシェイク時の状態遷移を厳密にチェックするツールを開発し、様々なTLS実装の脆弱性を発見・報告を行っていたようです。 特にFREAKと呼ばれるOpenSSLの脆弱性(CVE-2015-0204)に関しては、ちょうど修正直後の1月初めに Only allow ephemeral RSA keys in export ciphersuites で見ていましたが、具体的にどのように攻撃するのかさっぱりイメージできず、あのグループだからまた超絶変態な手法だろうが、まぁそれほど深刻じゃないだろうと見込んでいました。 今回

    華麗なる因数分解:FREAK攻撃の仕組み - ぼちぼち日記
    yuiseki
    yuiseki 2015/03/05
  • Object.observe()とNode.jsのイベントループの関係 - ぼちぼち日記

    1. はじめに 最近 Chrome で Object.observe() がデフォルトで有効になりました。 Reland "Enable Object.observe by default" again コミットログを見ればわかりますが、2回 revert された後の3度目の正直のコミットです。 確かに Object.observe() は非常に強力なAPIですけど、ES6の仕様候補の機能に入っていません。(ES.harmony or ES7?) ちょっと前に大幅な仕様見直しがあったので、こんな苦労してまでよくデフォルトで有効にするなぁと不思議でした。 しかし今日 AngularJS 2.0 のリリースを見て合点いきました。PolymerのMLにも流れてました。 AngularJS 2.0 polymer-dev PSA: ES Object.observe now on by defau

    Object.observe()とNode.jsのイベントループの関係 - ぼちぼち日記
    yuiseki
    yuiseki 2014/03/22
  • Node.jsにPromiseが再びやって来た! - ぼちぼち日記

    tl;dr サンプルコードを付けたら記事がかなり長くなってしまったのでご注意下さい。 Node.jsの current master で V8がアップデートされ ES6の Promise が使えるようになりました(要オプションですが)。Promise を使うと Node.jsの非同期処理がどのようになるのか、Stream と Promise を組み合わせた使い方なども含めて紹介します。 1. はじめに Nodeの次期安定版 v0.12は、すぐ出ると言われながら既に v0.10のリリースから1年が過ぎてしまいました。 現在、v0.12の主要な新機能の実装は完了していますが、まだ安定版のリリースに向けて手当できていない部分が残っている感じです。そんな残っている部分の一つだった V8 のアップデートが先週末に行われました。 deps: update v8 to 3.24.40 (3/19現在は

    Node.jsにPromiseが再びやって来た! - ぼちぼち日記
  • SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記

    tl;dr 書いていたら思わず長文の大作になってしまいましたので、プロトコルオタ以外の方は文章の多さに退屈されるかと思います。GoogleマップサービスでSPDYの問題が発覚し、GoogleLinuxカーネルに修正を加えて対応したというお話です。将来 Linux + nginx + SPDY を使いリバースプロキシでサービス運用を検討されている方は参考になるかもしれません。 1. はじめに、 プロトコルに執着する年寄りエンジニア老害が叫ばれて久しい。 年甲斐もなく自分好みのパケットを追っかけるおやじエンジニアの姿を見て眉をひそめる若者も多いと聞く。 そんな批判に目もくれず、今日も一つ、プロトコルオタのネタをブログで公開したいと思いますw 今回はちょうど1年ほど前に書いたブログ記事 「GmailがハマったSPDYの落とし穴」の続編です。といっても今度の舞台は、Googleマップ。ネタ元も

    SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記
    yuiseki
    yuiseki 2014/02/07
  • Chrome Beta for Android で Client Hints を試す - ぼちぼち日記

    この記事は、HTML5 Advent Calendar 2013の17日目の記事です。 1. デバイスピクセル比の悩み 最近 Retina を始めとした高解像度ディスプレイの普及と進歩は凄いものがあります。私はデザインの才能が無いのでフロントエンドの設計をする機会はほぼないでしょうが、Webデザイナーの方は次々販売される様々なクライアントの高解像度ディスプレイ対応を気にしないといけないのは当に大変だと思います。 今回初めて知ったのですが、この高解像度ディスプレイの対応をするにあたり「デバイスピクセル比」という値が重要な意味を持つようです。詳しくは、こちらのブログ、「いまさら聞けないRetina対応のための「ピクセル」の話」 を参照していただくか、「デバイスピクセル比」で検索するといっぱい記事が出てきます。 このデバイスピクセル比の対応で大変なのは、 デバイスピクセル比は機種によって違う(

    Chrome Beta for Android で Client Hints を試す - ぼちぼち日記
  • 隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決 - ぼちぼち日記

    この記事は、 Node.js Advent Calendar 2013 - Adventar の12日目です。 1. ありがとう Ben Nodeの情報に普段アンテナを張っている人は既にご存じでしょうが、Nodeコア開発の中心的エンジニア Ben Noordhuis がNodeのコアチームから離れました。Node.jsの公式ブログに「Ben Noordhuis's Departure」としてアナウンスされています。 なぜ彼がNodeの開発を止めなければならなかったのかその経緯をここで述べることは控えますが、彼のこれまでの貢献なしでは今のNodeは存在し得なかった、と言えるほど彼は重要な存在でした。Benは、Nodeやlibuvのコードの開発だけでなく、github の issue の回答やPRのレビュー、 MLの質問の返答などNodeコミュニティにも精力的に対応し、去年来日した isaac

    隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決 - ぼちぼち日記
  • 東京Node学園祭2013の宿題:Gruntプラグインのdefault configを取得する方法 - ぼちぼち日記

    1. きっかけ 「ブログを書くまでが勉強会〜」ということで、東京Node学園祭2013に参加してきました。細かいセッションレポートは他の人に任せますが、id:yosuke_furukawa さんの「東京Node学園祭 2013にスタッフ兼スピーカーとして参加しました。」で述べられているよう、最後飛び込みLTが続いて学園祭がとても盛り上がったのは楽しかったです。 残念ながら予定をいれてしまい途中で無限LTから退出することになったのですが、 [twitter:@muddydixon]さんのGruntに関するLTで 「Gruntのプラグインがいろいろあるけど config書くのにいちいちドキュメントを参照するのが大変だ。 default の config を出力できるようにするとか、なんとかならない?」 な感じの話があり、私自身も以前同じ事を思ってたので、そうだよなぁ〜と思って会場を後にしました

    東京Node学園祭2013の宿題:Gruntプラグインのdefault configを取得する方法 - ぼちぼち日記
    yuiseki
    yuiseki 2013/10/31
  • nodetime が動いている仕組み - ぼちぼち日記

    ちょうど昨日ですが、nodetime というなかなか面白いモジュールが公開されました。 https://nodetime.com/ npm で nodetime モジュールをインストールした後に自分のプログラムの先頭に、 require('nodetime').profile(); を付け加えて実行すると、標準出力に URL が出力されそこにアクセスすると、あらあら不思議 実行したサイトのCPU負荷やメモリ使用量の時間系列やAPIで読み書きしたデータ量の推移などパフォーマンスチューニングに必要なデータがグラフや表で表示されてます。 ソースコードや node のライブラリに一切手を入れずにこんなデータが自動的に取得できるとはなんてステキな機能なんでしょう。そこで github で公開されているソースからこの nodetime という機能がどうやって実現できているかちょっと調べまてみました。

    nodetime が動いている仕組み - ぼちぼち日記
    yuiseki
    yuiseki 2013/08/27
  • HTML5でテレビ電話、Chrome Beta for AndroidでWebRTCを試す - ぼちぼち日記

    Chrome Beta for Android で WebRTC 昨日Chrome Beta for Android を使った Data Compression Proxy機能について紹介しましたが、html5j のメーリングリストで WebRTC もこのバージョンでサポートもされていることも教えていただきました。 また、昨日まで Nexus7 にインストールすることができなかったこの最新版のChrome Beta for Android が、なんと今朝バージョンアップで使えるようになってます。 モバイル端末での WebRTC の利用は面白いですよね。さっそく2台の Android端末を使って WebRTC を試してみましょう。 使い方は、以下の通り chrome://flags で有効化するだけです。 なお、今朝の WebRTC プロジェクトでのアナウンスでは、まだ early rele

    HTML5でテレビ電話、Chrome Beta for AndroidでWebRTCを試す - ぼちぼち日記
  • Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) : ATNDも皆さんのご協力で25日間終わり、無事新しい年が迎えられそうです。参加された方、ご苦労様でした。もしアドカレに穴が空きそうだったら書いてみようと思ってたネタを作っていましたので、アドカレ終了記念の番外編で書いてみます。 ちょっと前のブログになりますが、Node.js Module – exports vs module.exportsな記事が掲載されていました。 Node.js のモジュールを作成する際に使用する exports 変数と module.exports 変数の違いについての記事です。私も以前から「 module や exports って変数はいったい何だろう?」とか、「require()関数って突然どこから現れてくるのだろうか?」など実際その仕組みはどう

    Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記
    yuiseki
    yuiseki 2013/04/05
  • Node.js-v0.10リリースアナウンスの簡単な解説と感想など - ぼちぼち日記

    1. はじめに、 昨年6月末に node-v0.8がリリースされて8か月半ほど経って node-v0.10 がリリースされました。私もいくつかパッチがこのリリースに採用されていまして、ちょっと感慨深いです。 当初1月末のリリース予定でしたが、やっぱり今日まで延びました。安定版リリース直前のゴタゴタはもうNodeの風物詩なんですね。 今回、Node-v0.10のリリースにあたり、 isaacs から次のリリース文 http://blog.nodejs.org/2013/03/11/node-v0-10-0-stable/ がポストされています。英語かつ長文なので内容をちゃんと読み切れな方もいらっしゃるかと思いますので、リリース文の項目にあわせて私の視点で簡単な解説と感想などを書いてみます。(ちゃんとリリース文を理解された方はわざわざお読みにならなくても大丈夫です。) 尚、このリリースはこれ以

    Node.js-v0.10リリースアナウンスの簡単な解説と感想など - ぼちぼち日記
    yuiseki
    yuiseki 2013/03/13
  • Googleが仕掛ける新プロトコルQUICとは何か - ぼちぼち日記

    まずは免責事項。 1.Disclaimer ブログの記載内容は、筆者が独自に QUIC に関する Chromium のソースを分析し、検証した結果です。 QUICに関するGoogle からの公式な技術資料は現状公開されていません。 今後、QUICの技術仕様の公表でブログの記述内容が不十分だったり、誤っている可能性があります。ご理解の上お読みください。 (注: 2013年6月27日に Google は正式に QUIC 仕様を公開しました。「Experimenting with QUIC 」 ブログの内容は大筋では間違っていませんが、当時の解析漏れやその後の開発等により、細かいところで異なっていたり、説明が大きく不足している部分もあります。お読みになる際はご注意ください。) 2. はじめに、 Googleがまたまた新しいプロトコルの実装を始めました。Web表示の高速化を目指した SPDY

    Googleが仕掛ける新プロトコルQUICとは何か - ぼちぼち日記
  • 次世代JavaScriptでデータバインディング: Object.observe() を試す - ぼちぼち日記

    1. はじめに、 記事は、HTML5 Advent Calendar 2012の参加(6日目)エントリーです。 当初は昨年のアドベントカレンダーでテーマにしたマイナーAPIをネタにして書こうかと考えていたのですが、探してもあまりピンとくるものがなく、いつものごとく新技術ネタに飛びついてしまう習性がでてしまったので今回次世代JavaScript(ES.harmony)ネタ(Object.observe)を書かせていただきます。 現時点では直接HTML5とは関係ありませんが、標準で利用できるようになったら皆さんがお世話になる機会が必ず増えると予感しています。今の時点で知っておいてもらっても絶対損はないと思いますのでどうかご了承ください。 (_O_) 2. Object.observe() とは何か? 先日のHTML5勉強会でも取り上げられましたが、最近 JavaScript の MVC フレ

    次世代JavaScriptでデータバインディング: Object.observe() を試す - ぼちぼち日記
  • HTML5で Speed Test, Navigation Timing APIによる性能データ収集 - ぼちぼち日記

    今日は、HTML5 Advent Calendar 2011 9日目です。 何を書こうかネタに迷い、ひたすらHTML5のマイナーなAPIをあさっておりました。 FullScreen API/Page Visibility API も既に 登場してしまい、 @sada_h さんから Quota Management API はいかがとお奨めを受けましたがさすがに Quota管理だけでネタを展開するのは辛く、途方に暮れていました。 そんな折、ふと見かけたのが「Navigation Timing API」。マイナーだと思いますねぁ。今回このAPIの紹介とデモをさせていただきます。 Navigation Timing API 「いったい Navigation Timing API は何をするAPIか? 」単純です。 「ブラウザーがWebの画面を表示する時にどこにどれだけ時間がかかているか知るAPI

    HTML5で Speed Test, Navigation Timing APIによる性能データ収集 - ぼちぼち日記
  • Node API のクラス図を公開しました。 - ぼちぼち日記

    東京Node学園祭2012 アドベントカレンダー 13日目の記事です。 はじめに、 自分が Node.js を一番最初に使い始めた頃、Hello World のサンプルコードを動かしたのはいいけど、その後にNodeマニュアルを読んで勉強し始めたら内容が全然理解できず、挫折しちゃった思い出があります。 人のサンプルコードやモジュールの中身とかもいろいろ見てみたんですが、 .on() ってなんのオブジェクトにもつけていいの? req と res とかどっから出てきたの? どう使うの? イベントってどれだけ種類があって、どういう時に発生するの? なんて???がたくさんついて前に進みません。マニュアルを見てもなかなか探し出せないし、読んでもちゃんと書いてあることが理解できません。 一度マニュアルで調べたところもすぐ忘れる。何度も同じところを調べているのに全然ものになっていない。あぁこりゃダメだなと

    Node API のクラス図を公開しました。 - ぼちぼち日記
  • 1