タグ

ブックマーク / blog.satotaichi.info (4)

  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplatemaster ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っているfrontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っているデフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っているはじめに#最近の JavaScript について#僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。どちらも便利

    Modern JavaScript概観、そしてElectronへ | さにあらず
  • Java用JSONパーザのベンチマークをした話 | さにあらず

    このたび JSON パーザのベンチマークを書きましたので、どうぞご査収下さい。 taichi/json-benchmarks Java8 がインストール済みの環境で、当該リポジトリを clone して と実行する事で追試できます。 結果について#jackson-databind が最速なので殆どの皆様におかれましては安心して下さい。 特に驚きに値するような事は何も起きていません。 僕のマシンで実行した結果はこちらです。(エビデンスが無いとの指摘を受け追記しました。) Json benchmark results結構な長文になってしまいましたので、マニアな皆様だけが続きを読んで下さい。 課題設定について#まず、おおまかな課題設定について説明します。 JMH を使った格的なベンチマークを書くJava 用 JSON パーザのショーケースを作る事で使い易いものを明らかにする結局どのパーザが速いの

    Java用JSONパーザのベンチマークをした話 | さにあらず
  • JavaのTimSortがバグってる件について | さにあらず

    Python で実装され、その後 Java にも移植されたソートアルゴリズムである TimSort が盛大にバグっていることが発見されました。 このバグがどのようにして発生するのかについては、以下のドキュメントを精査して下さい。 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arraysOpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst caseどんなことが起こるのか#通常の利用では想定しえない場所でArrayIndexOutOfBoundsExceptionが発生します。 例えば、以下のようなスタックトレースになります。 Exception in thread "main" java.l

    JavaのTimSortがバグってる件について | さにあらず
  • アセット的なアレを実行バイナリ内に入れる話。 | さにあらず

    結論#go 言語でウェブアプリケーション書くなら、go-bindata使うべし。 はじめに#go で書いたサーバは一つのバイナリに全部入るからデプロイが楽だという話がありますけども、それは全部のコードを go で書いた時だけです。 ウェブアプリケーションでは、ユーザインターフェース用のテンプレートファイルなど、どうしても go のコードではないリソースが発生します。 例えばテンプレートをパーズする標準 API を見ると、こんな風になっています。 html/template#ParseFiles func ParseFiles(filenames ...string) (*Template, error) { return parseFiles(nil, filenames...)}コピー この API 構造はソースコードを配置しているディレクトリ構造が単純だと特に問題ないのですが、少し複雑

    アセット的なアレを実行バイナリ内に入れる話。 | さにあらず
    craf
    craf 2015/01/27
  • 1