2016年3月18日のブックマーク (6件)

  • 大学院生のためのLLVM | POSTD

    (注:2017/07/06、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、 LLVM コンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。 LLVMとは何か? LLVMは非常に優れていて、ハックしやすく、C言語やC++のような”ネイティブ”言語向けの、時代の先端を行くコンパイラです。 LLVMの素晴らしさに関しては他にも様々な話を聞くのではないでしょうか(JITコンパイラとしても使えるとか、C言語系列以外の様々な言語を強化できるとか、 App Storeからの新しい配信形態 であるとか、などなど)。もちろん全部当のことですが、今回の記事の目的としては、上述の定義が重要です。 LLVMが他のコンパイラと差別化される理由には、いくつかの大きな

    Peranikov
    Peranikov 2016/03/18
  • Railsのdefault_scopeは悪だ!(default_scope is evil) ということらしい - Qiita

    Railsのdefault_scopeは悪だ!(default_scope is evil) ということらしいRubyRailsActiveRecord Rails Best Practiceのサイトを見ていたら、結構あおり気味なタイトルの記事があった。 default_scope is evil | Rails Best Practices 要約すると、Rails(ActiveRecord)の default_scope は2つの理由から使うべきではないとのことです。 default_scopeのオーバライドができない モデルをイニシャライズするときにdefault_scopeの副作用が影響する サンプルコードもあったので自分の環境でも試してみました。 以下の環境で試してみました。 Rails4.1.5 Ruby2.1.2 ベースとなるモデルは以下の様なUserクラスがあると想定(def

    Railsのdefault_scopeは悪だ!(default_scope is evil) ということらしい - Qiita
    Peranikov
    Peranikov 2016/03/18
  • コンバージョン率を劇的にアップさせるための30の心理作戦

    By Tim Franklin Photography マーケットリサーチアナリストとして働き、SEOやPPCのスペシャリストであり、かつ心理学をたしなんでいるというニック・コレンダさんが、心理学の視点から導き出した「コンバージョン率を劇的にアップさせるための30の心理作戦」を公開しています。「フムフム、なるほど」というものから、「恐ろしあ……」となる戦略まであり、広告運用やSEOの知識がない人もサービスを使うユーザーとして知っておくべき内容になっています。 Conversion Optimization: An Enormous List of Psychological Tactics http://www.nickkolenda.com/conversion-optimization-psychology/ 30の戦略を見る準備として、運営しているサービスをCTA別に分けてじょうご状

    コンバージョン率を劇的にアップさせるための30の心理作戦
    Peranikov
    Peranikov 2016/03/18
  • 春からはじめるモダンJavaScript / ES2015 - Qiita

    春ですね!人の配置がリファクタリングされ、コードもリファクタリングの季節です。 では僕がここでモダンなJavaScriptとES2015の利点を語る役をやるので、みなさんはチームを説得する役をやってください。 JavaScript歴史 まず最初にJavaScript歴史を踏まえることで、今学ぶべきものとその理由を確認しましょう。 なぜ2016年の記事でES2016ではなく、ES2015なのか、と疑問に思った方もいるかもしれません。それは、ES2015がただの年次アップデートではなく、これから始まる毎年のメジャーバージョンアップの起点となるバージョンであり、またES5から飛躍的に仕様が増えたバージョンであるからです。 簡単に(雑な)歴史を紹介します。 ブレンダン・アイクによってNetScapeに実装/搭載された古の時代〜IE6 (1996~2005) ES3: 一時はシェア7割を誇ったレ

    春からはじめるモダンJavaScript / ES2015 - Qiita
    Peranikov
    Peranikov 2016/03/18
  • Javaをモジュール化する「Project Jigsaw」、ついに開発中のJDK 9メインラインに統合へ

    Javaをモジュール化する「Project Jigsaw」、ついに開発中のJDK 9メインラインに統合へ Javaをモジュール化することで、モノリシックな構造で巨大化してきたJavaを必要な部分だけにスリムダウンして使えるようにする機能「Project Jigsaw」。この機能は、2011年にリリースされたJava 7に組み込まれる予定でしたが、開発の遅れで入らず、2014年にリリースされたJava 8からもこぼれて、2017年に登場予定のJava 9で組み込まれる予定です。 そして現在開発中のJDK 9のメインラインに、とうとうProject Jigsawを統合することを提案するアナウンスがJDK 9のメーリングリストで3月11日に行われました。 InfoQが記事「Jigsaw Finally Arrives in JDK 9」で報じています。 米オラクルのALan Bateman氏は、

    Javaをモジュール化する「Project Jigsaw」、ついに開発中のJDK 9メインラインに統合へ
    Peranikov
    Peranikov 2016/03/18
  • docker の実行環境を選択する - メソッド屋のブログ

    現在、様々な環境で docker が動作します。先日同僚から、「docker はいろんな環境で動作するが、どの環境で動かせばいいの?」と質問を受けました。 今、初めて docker を始める場合、どこで環境を作ればいいのか迷ってしまうほどたくさんの選択肢があります。この問いに自分なりに答えてみたいと思います。 このポストは現在(2016/3/15)のところの私の個人的な意見を書いておきたいと思います。よりよい選択があれば是非コメントいただきたいと思います。 またこの話は、私より1000倍 docker に詳しい方に共有しておいたので、彼がもっといい記事を書いてくれるかもしれません! 1. 開発環境 開発や、docker を試してみたい目的で docker を動かす環境が欲しい場合、現在はほぼ一択で、「Docker Machine」を使うと良い。Docker Machine は、docker

    docker の実行環境を選択する - メソッド屋のブログ
    Peranikov
    Peranikov 2016/03/18
    これ知りたかった “サイズが小さいことを重視したい人にはお勧めだがそうでなければ Ubuntu という選択でよいと思う。例えば CentOS などを選択したい人もいるかもしれないが、3rd Party ツールのサンプル等でも大抵は Ubuntu