タグ

2014年6月11日のブックマーク (3件)

  • グローバルインタプリタロック(GIL)とは

    LL言語がマルチプロセッサ環境のメリットを捨ててまでグローバルインタプリタロックを採用している理由について調べてみた。 その為にはプロセスとスレッドについての前提知識がけっこう必要だったので、ついでにざっくり調べてみた。 LL言語がマルチプロセッサ環境のメリットを捨ててまでGILを実装している理由 結論を先に書くと、LL言語がマルチプロセッサ環境のメリットを捨ててまでGILを実装している一番の理由は、「スレッドセーフではないCで書かれたモジュールをたくさん使っているから」ということになるっぽい。 この結論に至るまでの色々な前提知識についても書いておく。 プロセスとスレッド プロセスとスレッドの特徴をざっくり対比させて書くとこんな感じになる。 ユーザースレッドとカーネルスレッド ユーザースレッド ユーザ空間で実装されたスレッド機構をユーザースレッドと呼ぶ。 1つのプロセス内の複数のスレッドは

    ura_ra
    ura_ra 2014/06/11
  • Redmineの0.8.2から2.5.1へのアップグレードでrake db:migrateに失敗する場合のメモ - Qiita

    rake aborted! An error has occurred, all later migrations canceled: inherit_members_changed?' for #<Project:0xa6fb738>/srv/rails/redmine/app/models/project.rb:83:in `block in <class:Project>' /srv/rails/redmine/app/models/project.rb:4

    Redmineの0.8.2から2.5.1へのアップグレードでrake db:migrateに失敗する場合のメモ - Qiita
    ura_ra
    ura_ra 2014/06/11
  • いますぐ採用すべきJavaフレームワークDropWizard(その1) - Qiita

    Dropwizardについて3回に渡って説明したいと思います。 今年に入ってリファクタリングなどで有名なマーティン・ファウラーらが所属するthoughtworks社のTechnology RadarのLanguages & frameworksでADOPT(つまりプロジェクトで採用すべきプロダクト)に入りました。 他に入っているものが、Clojure,Scala,Sinatraなので、それらと同じくらい注目すべきプロダクトということになります。 他のプロダクトに比べると日語の記事が少なく、また、バージョンも上がり変わった部分もあるので記述しました。 なお、Dropwizardは日々進化しているので、この記事の内容もすぐに古くなるかもしれません。 概要 DropWizardは、YammerのWebサービス部分で利用するために作られたフレームワークでした。 自分が思う一番の特徴は、 「1つの

    いますぐ採用すべきJavaフレームワークDropWizard(その1) - Qiita
    ura_ra
    ura_ra 2014/06/11