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

  • 3分で分かるFacebook Flow - teppeis blog

    というか3分ぐらいの情報しかまだ出てきてないんだけど。 先月の@Scale 2014で発表されたFacebookのFlowについて、おそらく唯一のオフィシャルな情報であるこの発表動画を見て分かったことを紹介(ざっと見ただけなので間違ってたらごめんなさい)。 JavaScript Testing and Static Type Systems at Scale - @Scale 2014 - Web 静的な型チェックができるトランスパイラ シンタックスはTypeScript互換 なのでnew languageとかaltjsとか言ってない Code Intelligent Server: コンパイラはサーバー型 モジュール毎にインクリメンタルに型解析をアップデートする 高度に並列化していて高速 クライアントツールは、コンパイラサーバーに型情報のクエリを投げる ES6の各種シンタックスをサポート

    3分で分かるFacebook Flow - teppeis blog
    yfnt
    yfnt 2014/10/30
  • TypeScriptの宣言空間とその不満 - teppeis blog

    最近TypeScriptの型を触っていてハマったあたりのまとめ。だいたい仕様書に書いてあるとおりなので、すでに仕様書を読破している諸兄にはこの記事は必要ないです。 宣言空間 (declaration space) とは 宣言空間というのは、同一宣言空間で同じ名前が複数存在するとエラーになるような空間のこと。 TypeScriptには大きく分けて3つの宣言空間 (declaration space) がある *1。 変数 (for variables) またはメンバー (for members)*2*3 型 (for named types) 名前空間 (for namespaces) どういうことかというと、TypeScriptでは次のコードがエラーにならない。 var M = 0; // 変数宣言空間 interface M {} // 型宣言空間 module M {} // 名前空間

    TypeScriptの宣言空間とその不満 - teppeis blog
    yfnt
    yfnt 2014/04/25
  • Node.jsの開発を超速化するGitHub連携 三種の神器 - teppeis blog

    Node.js Advent Calendar 2013 - Adventar 9日目です。 あまりネタを用意する時間がなかったので、GitHubにNode.jsのリポジトリを置いたりnpmにパッケージを公開したりしたときに便利な定番サービスを3つ紹介します。 Travis CI Coveralls David タイトルは釣りですが、特にTravisとCoverallsは一度体験すると離れられないぐらいほんとにlife changing。コードをpushしたらブランチのビルド結果をプルリクに表示してくれたり、カバレッジ結果をコメントで書き込んでくれるので、それを見ながらコーディングを進めていけます。これが無料なのは意味不明なぐらいの神です*1。 サンプルコードはこちらのプロジェクトで見てください。 Github: https://github.com/teppeis/fixclosure

    Node.jsの開発を超速化するGitHub連携 三種の神器 - teppeis blog
    yfnt
    yfnt 2013/12/10
  • 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
    yfnt
    yfnt 2013/12/06
  • Google HTML/CSS Style Guideについて、そろそろひとこと言っておくか - teppeis blog

    話題になっていたので、 <html>,<body>は要らない?Googleが推奨するHTMLファイルの記法 - Qiita [キータ] 便乗して、一年以上前に社内勉強会で作った資料があったので今更ながら公開してみます。 Best practice from Google HTML/CSS Style Guide はい、当時流行っていたimpress.jsを使いたかっただけの資料ですね。 読めば分かるように、これはGoogleさんの中の人のためのスタイルガイドっていう側面が強くて、とにかく1byteでも削ることに命を懸けてます。省略できるところは全部削っていくスタイル。 われわれ平民の提供するサービスとはトラフィックの桁がいくつも違う世界の話なので、鵜呑みにすると悲しいことになりますのでお気をつけて。 ちなみに、 HTML and CSS, including GSS files のGSSっ

    Google HTML/CSS Style Guideについて、そろそろひとこと言っておくか - teppeis blog
    yfnt
    yfnt 2013/08/29
  • Docker = LXC + aufs + GitHub Culture - teppeis blog

    先日、社内勉強会のLTでDockerについて発表というか紹介しました。 DockerがYAVAY! from teppeis Dockerは各方面で噂は聞いていたんだけど、先月のTesting Casual Talks #1 : ATNDで、mizzyさんのDocker上でserverspecを走らせるデモを見てガツンとやられました。 仮想化というとVirtualBoxとかKVMみたいな仮想マシンしか想像してなかった自分には、起動時間ゼロで仮想環境が何度も実行される様子は衝撃的。調べてみると、LXCとaufsという要素技術をうまく組み合わせたものをGit&GitHub的なイマドキ開発文化でラッピングした感じで、うまいなーと感心しきりです。 発表もそのあたりのお話とデモが中心だったので、資料にはコマンドとかはないです。 実際に手を動かしたい方は先人の素晴らしい記事を読まれると良いかと思います

    Docker = LXC + aufs + GitHub Culture - teppeis blog
    yfnt
    yfnt 2013/08/27
  • 超高速レビュー: TypeScript 0.9.1 - teppeis blog

    タイトルは今日のネタから頂きました。与沢さんじゃないです。 さてTypeScript 0.9.1がアナウンスされたので、変更点などを見てみます。 Announcing 0.9.1 - TypeScript - Site Home - MSDN Blogs コンパイラの高速化 0.9でさんざん遅くなったと言われていたコンパイル速度が、0.8と同等かそれ以上に高速化されたとのこと。 実際手元の小さいプロジェクトでコンパイルしたところ、たしかに2.8秒程度のコンパイルが2.0秒で終わるようになりました。ちゃんとベンチマークはしてないですが、それなりに速くなってるみたいです。 Type Queries(typeofによる型指定) アナウンスを見ても意味がよく分からなかったのですが、仕様書(pdf)を見たらわかりました。 型指定の場所でtypeofを使って別の変数の型を指定できます。 なので、こ

    超高速レビュー: TypeScript 0.9.1 - teppeis blog
    yfnt
    yfnt 2013/08/08
  • 1