タグ

ブックマーク / teppeis.hatenablog.com (6)

  • thank-you-starsで利用しているnpmパッケージに気軽にスターを送る - teppeis blog

    先週、こういうツイートを見て、 OSSを使っているなら、GitHubのリポジトリにそっとスターをつけると開発者のキャリアにわりと直接的に貢献できるのでお薦めです。少額の寄付より効果があるかも— Taro L. Saito (@taroleo) 2017年8月15日 共感したのでサクッと作った。 github.com package.jsonと同じディレクトリで実行するだけで、depsとdevDepsのパッケージのGitHubリポジトリにスターできる。 事前にパーソナルトークンをホームディレクトリに保存しておく必要があるけど、その辺はREADMEを読んでくれ。 依存に入れて使っているということは、それなりに恩恵を受けているということなので、問答無用でスターを送ってしまって良いと思う。 孫依存のパッケージにも送るか迷ったけど、npm的にそこ含めると一気に数が膨れてしまうのでやめた。 これでみん

    thank-you-starsで利用しているnpmパッケージに気軽にスターを送る - teppeis blog
    mainyaa
    mainyaa 2017/09/01
    素敵
  • npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog

    先日アナウンスされた脆弱性とその周辺について、とりとめなく。 The npm Blog — Package install scripts vulnerability Vulnerability Note VU#319816 脆弱性の概要 VU#319816 によれば、今回問題になっているのはnpmの以下の性質を利用するとnpmパッケージでワーム(自己増殖力のあるマルウェア)を作れるというもの。 依存パッケージのバージョンをロックせず、semverにより範囲指定することが多い CLIで一度npmloginすると、明示的にnpm logoutするまで認証が永続化される npm registry が中央集権型サーバーである 具体的な手法として、Chris Contoliniが PoC として pizza-party というリポジトリを公開している*1。以下のように動作する。 ワームが仕込まれ

    npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog
  • ES6 ModulesはHTTP/2によってconcat無しで使えるようになるのか - teppeis blog

    HTTP2 時代のサーバサイドアーキテクチャフィードバック - Togetterまとめ のあたりで話していたことのまとめ。 補足 タイトルで「ES6 Modulesってconcatしないと動かないの?」と一部に誤解を与えてしまったようなので補足。ES6 Modulesがブラウザにネイティブ実装されたら、当然concatしなくても動きます。 ここで書きたかったテーマは「ES6 Modules + HTTP/2 + concat無し は ES6 Modules + HTTP/1 + concat と同等の速度で動作するのか」です。 追追記 (2016/01) kazuhoさんはh2oで Cache Aware Server Push という解決策を提案しています。 Jxckによる日語解説記事: HTTP/2 Push を Service Worker + Cache Aware Server

    ES6 ModulesはHTTP/2によってconcat無しで使えるようになるのか - teppeis blog
  • Stylus/mochaがやってるGlobal leakテストとNode.js Debugger - teppeis blog

    先日、Stylusのコードをいじってたらグローバルリークがあったので、修正してPullリクエストしました。(TJが即マージしてリリース済みだよ!) リークを見つけたのは、StylusのテストコードにGlobalオブジェクト汚染を検出するテストがあってそれをたまたま走らせただけなのですが、このテストがシンプルかつ効果的でいいなと思いました。 https://github.com/LearnBoost/stylus/blob/master/test/run.js // Testの初期化時にデフォルトのグローバルオブジェクトのキーを保存。 var globals = Object.keys(global); ... // Testが終わったらグローバルオブジェクトの差分をチェック function done() { Object.keys(global).forEach(function(nam

    Stylus/mochaがやってるGlobal leakテストとNode.js Debugger - teppeis blog
  • 3分で分かるAngularJSセキュリティ - teppeis blog

    先日のng-mtg#4 AngularJS 勉強会でLTしようと思ったけど申し込みが間に合わなかったのでブログに書きます。 先月リリースされたAngularJS 1.2はセキュリティがんばってる的なことを聞いたので、セキュリティ周りの仕組みを調べてみました。 お題は以下です。 CSRF JSON CSP (Content Security Policy) Escaping CSRF ユニークなトークンをHTTPリクエストに載せてサーバーでチェックする対応が世の中では主流(最近はカスタムヘッダのチェックによる対策も) AngularJSでは、XSRF-TOKEN Cookieにトークンが載っていると、$httpを使ったHTTPリクエストのヘッダに自動的にX-XSRF-TOKENヘッダーが付く。 XSRF-TOKEN CookieはもちろんNot HttpOnlyで。 Angular界ではCS

    3分で分かるAngularJSセキュリティ - teppeis blog
  • Closure Compilerの型テンプレートが進化してる件 - teppeis blog

    altjsガチ勢のみなさんこんにちは。 TypeScriptの次期バージョンでジェネリクスが入るぜ!なんて話題になってたりしますが、Closure Compilerのテンプレートまわりも人知れず進化しているので紹介。 なぜかドキュメントにはさっぱり載ってないので、Compilerのソースとテストコードが命です。 メソッドテンプレート 去年サポートされたのがメソッドテンプレート。メソッドや関数のアノテーションで@templateが使えます。 次のサンプルコードはArrayから特定条件を満たす要素を探して返す関数。Arrayの要素の型と条件関数fのthisにバインドされるopt_thisの2つがテンプレートになってます。 /** * @param {Array.<T>} arr * @param {function(this: S, T, number, Array.<T>): boolean

    Closure Compilerの型テンプレートが進化してる件 - teppeis blog
  • 1