タグ

ブックマーク / gfx.hatenablog.com (3)

  • TypeScriptで MessagePack encoder/decoder を実装した - Islands in the byte stream

    npm install @msgpack/msgpack でインスコできます。NodeJS v12 でベンチマークしたかぎり、JSONと同程度の速度で、これまで最速といわれてきた msgpack-lite よりもさらに少しだけ高速です。 github.com もともとこのリポジトリには uupaaさんによる実装(tagged as classic) があったんですが、メンテされなくなって久しく npmjs.com にもリリースされていないという状況でした。 https://github.com/msgpack/msgpack-javascript/tree/classic その後kawanetさんが msgpack-lite を実装したのが2015年。これが2019年現在、もっとも週間ダウンロード数の多いMessagePack for JSの実装です。 msgpack-lite ピュアJa

    TypeScriptで MessagePack encoder/decoder を実装した - Islands in the byte stream
  • flowtypeのmagic typeは直接使うものじゃないよ - Islands in the byte stream

    実践投入してわかったflowtypeのメリデメ // Speaker Deck で「Magic typeがドキュメントされてない(のに便利)」という説明がありましたが、それはmagic typeを直接使う想定ではないプライベートAPIからドキュメントに載せてないというだけだと思われます。 ドキュメントに書いていないということはそれは内部実装の詳細であって、将来にわたって使える保証はありません。 flowtypeのmagic typeについて - Qiita のためになんだかmagic typeという内部実装の詳細が広まってしまった感がありますが、このエントリでも述べているように、magic typeはそれに対応する構文があります。たとえば、$Either<A, B> は A | B というunion typeを表現するための内部型です。他のmagic typeも対応する構文があるはずです。

    flowtypeのmagic typeは直接使うものじゃないよ - Islands in the byte stream
  • なぜTypeScript推しなのか - Islands in the byte stream

    KibelaのフロントエンドをES2015からTypeScriptに絶賛移行中です。 www.typescriptlang.org で、なぜ flow じゃないくてTSなのかって話です。 flow vs typescriptである理由は、どちらもJSのスーパーセットをうたう静的型付きのaltJSだからです。この時代にあえてaltJSを導入する理由としては静的型があるというのが必須で、かつ学習コストを考えるとJSのスーパーセットであるのが望ましいでしょう。 言語仕様 言語仕様の点から言うと、決定的な差はないと思っています。 メリットもだいたい同じで 生産性: エディタの補完をJSよりも賢くできるので、より少ない脳のワーキングメモリでコードを書ける 堅牢性: コンパイル時に(=多くのケースではエディタで)typoなどの間違いを検出できるのでバグを減らせる 学習コスト: JSをベースにしており、

    なぜTypeScript推しなのか - Islands in the byte stream
    alluser
    alluser 2017/05/25
    http://qiita.com/na-o-ys/items/aa56d678cdf0de2bdd79 これを読んで以降 flowtype 寄りになってそっち勉強してる。
  • 1