メソッド内部で任意の型のインスタンスを生成してオブジェクトを返す場合 public static <T> T hoge(Class<T> clazz) { try { return clazz.newInstance(); } catch (ReflectiveOperationException e) { throw new RuntimeException(e); } } といったようにjava.lang.Classを引数にとり、リフレクションでインスタンス生成するというのが常道だった。 対象となるClassにはデフォルトコンストラクタ(引数なしのコンストラクタ)が存在することが前提となる。 呼び出し側は以下のように 型名.class を渡す。 String string = hoge(String.class); これがstataicメソッドではなく、thisオブジェクトが継承による
Chef使おうとしてるけどChefいろいろつらい. 具体的には以下がつらい. 独自概念多い chefのクライアントを対象ホストに入れなければならない knifeとか覚えないといけない外部ツールがある 最初からディレクトリ構成がわいわい (rails newしたときのあのきもち) 公式ドキュメントの量が多いかつわかりにくい 以前にmiyagawaさんのpodcast を聞いてたらnaoyaさんがAnsibleっていうシンプルなプロヴィショニングツールがあるっていう話をされていたので,使ってみた. AnsibleWorks | Radically simple IT orchestration Ansible 触ってて感じるイメージは,ChefがRailsでAnsibleがSinatraな感じ. ディレクトリ構成がない (一応大規模運用を考えたディレクトリ構成のベストプラクティス Best P
Ansible と Mackerel API を組み合わせて、1000台規模のサーバ群に対して同時にパッケージの更新やその他のサーバオペレーションのための方法を紹介します。 タイトルに Mackerel とありますが、それほど Mackerel に依存しない話です。 (AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログに続編を書いています。) 背景 社内では、サーバ構成管理ツールとして Chef を使用しています。 Chef Server は運用が大変なので使用しておらず、knife-solo と Mackerel APIを組み合わせてホストと Chef role とのマッピングに Mackerel のロール情報を用いています。 また、Mackerel の Ruby クライアントを利用して recipe 内で API を叩いて、Mackerel か
Grails/Groovyのサイトは、静的サイトジェネレータで作成されています。Groovyサイトは去年ぐらいからそうだったのですが、最近Grailsもそうなりました*1。 しかしこの静的サイトジェネレータの名前がわかりません。ソースコード上は、単に「generator/SiteGenerator.groovy」で、独立したgithub projectもありません。groovy-websiteやgrails-static-websiteというプロジェクトの一部としてそれぞれでカスタム化されて機能しているというだけです。 SiteGenerator.groovyは139行ぐらいでやってることもシンプルで自明なので、独立にするまでもない、ということでしょうか。処理の実行はgradleタスクでguild.graldeに書いてあります。 gradle genrateSite こんな感じでsite/
C++11やC++14は、すでにGCCやClangの最新の安定版で実用的に使えるようになっているが、なかなか現場で広く使われるようにはなっていないように見える。これはなぜか。やはり教育者の不足か。参考書がないのか。それもあるかもしれないが、最大の理由がある。 RHELが悪い。 RHEL 6のGCCのバージョンは4.4である。これは。C++11をまともにサポートしていない。GCC 4.4当時といえば、まだC++11がC++0xと呼ばれていた時代で、一部機能を当時のドラフトに基づいて実験的実装をしていた。正式な規格とはだいぶ異なっているだろうし、不具合もたくさんあるものと思われる。 次のRHELのバージョンは7であるが、これにはGCC 4.8が入るものと思われる。しかし、すでにGCCの安定版は4.9だ。GCC 4.8もC++11実装に不具合が色々あってあまりお勧めできない。これがあと何年も使わ
SPA (Single Page Application) を書いていると、いちいちブラウザをリロードするのが面倒で、かつ js を minify してページをリロードするといった面倒な手間を出来れば何も設定せずにやりたい(もしくは微量な設定だけでやりたい)、という思いから goemon というツールを書きました。 mattn/goemon - GitHub https://github.com/mattn/goemon goemon は、コマンドラインツールとして使います。まず $ goemon -g > goemon.yml で goemon.yml を生成します。個人的にカスタマイズしたい人は生成されたファイルを変更して使って下さい。 # Generated by goemon -g livereload: :35730 tasks: - match: './assets/*.js'
1. はじめに ちょうど今朝 OpenSSLをはじめとした様々なTLS実装の脆弱性の詳細が公表されました。 この InriaとMSRのグループは以前からTLSのセキュリティに関して非常にアクティブに調査・検証をしているグループで、今回も驚きの内容でした。 このグループは、TLSのハンドシェイク時の状態遷移を厳密にチェックするツールを開発し、様々なTLS実装の脆弱性を発見・報告を行っていたようです。 特にFREAKと呼ばれるOpenSSLの脆弱性(CVE-2015-0204)に関しては、ちょうど修正直後の1月初めに Only allow ephemeral RSA keys in export ciphersuites で見ていましたが、具体的にどのように攻撃するのかさっぱりイメージできず、あのグループだからまた超絶変態な手法だろうが、まぁそれほど深刻じゃないだろうと見込んでいました。 今回
2015-03-03 の一連のツイートがこちら performance.now() iOS 8.0 で追加されて、iOS 8.1 で削除されてた— コラーゲンたっぷりさん (@uupaa) 2015, 3月 3 正しくは、「iOS 8.1.1 で」ですね performance.now() 削除されてたのソース。 WebKit のとこ https://t.co/gvpnz9Wwk2— コラーゲンたっぷりさん (@uupaa) 2015, 3月 3 performance.now()の無効化が何故痛いかというと、Date.nowは相当重い部類のAPIという認識なのでアニメーション中には一回も呼びたくないしTimer系を呼ばないように組み上げると速くなる。 その辺の事情を知らない人はバンバン呼んでるけど、あれはよろしくないです— コラーゲンたっぷりさん (@uupaa) 2015, 3月 3
Recently, I’ve been trying to restrict my coding workflow to the terminal. I’ve always used iTerm2 as my terminal, and, since switching to vim about 18 months, have used MacVim as my editor. I felt I was losing efficiency switching between windows though, and losing power by not exploiting things like splits. Currently, my setup is using iTerm2 with tmux to manage terminal splits and ‘windows’, an
020406080100120140160180 020406080100120140160180200 Location in stylesheet Specificity * { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } body, html { height: 100% } @font-face { font-family: 'Lato web'; font-style: normal; font-weight: 400; src: url('fonts/Lato-Regular.eot'); src: url('fonts/Lato-Regular.eot?#iefix') format('embedded
Andrew Pascoeは、 部屋に座っている AdRollのシニアデータサイエンティストです。 プログラミング言語D は、効率的にタスクをこなすためにデータサイエンスチームがすぐに好んで使うようになりました。今では重要なインフラストラクチャに欠かせない言語になっています。なぜでしょうか。それはD言語が多くを提供するからです。 簡単な紹介 他の典型的なデータサイエンスワークフローと比較して、D言語を使用する最も明確な利点の1つは、マシンコードにコンパイルできるという点です。インタプリタや仮想マシンレイヤがなければ、Java Hadoopフレームワーク、R、Pythonのような他のツールよりかなり高速にデータ中からリッピングできます。しかし、D言語のコンパイラは、多くの場合、まるでスクリプト言語のように高速に実行できます。100万の一様ランダム変量を生成し、ソートし、十分位数を見つける処理
objective Paper: https://fumieval.github.io/papers/en/2015-Haskell-objects.html This package provides composable objects and instances. Introduction The primal construct, Object, models object-oriented objects. Object f g represents an object. newtype Object f g = Object { runObject :: forall x. f x -> g (x, Object f g) } An object interprets a message f a and returns the result a and the next obj
GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり、この方法についてググるとこことかこことか、いくつか方法を紹介しているページが出てくるんですが、どれもやり方が間違っている*1ので、正しい方法を紹介。 何がまずいのか 上記に挙げた方法では、細かい部分は違ってたりするけど、git symbolic-ref HEAD を使って現在ブランチを見て、master だったら push を禁止する、という方法を取っている。 しかし、push はカレントブランチから行われるとは限らない。dev ブランチにいるときに git push origin maste
言い換えると声優は食っていけるのか!?生々しい話ですね~。いよいよ今週末、3月8日に木原浩勝さんとのトークショー( 詳しくはこちら )もあることですし、こういう現実的な話題も書いておきましょう。声優ってバイトをしないと食っていけないほど厳しいとよく言われています。ということで、声優は食っていけるのか「食っていける」というのは即ち「プロ」としてやっていける。ということでもあります。プロっていうのは、この資本主義社会に於いて専門的技能を用いて必要とされるものを納め、見合った対価を恒常的に得て生活をしていくということです。決して学校のクラブ活動の延長ではない。声優が活躍する場はアニメ以外にナレーションだったり、映画の吹き替えだったり、ゲームだったり、CD出したりなど様々です。そんな中で近年多いのはやっぱりTVアニメに出たい!という人。以前にTVアニメをベースに声優のギャランティの話を書きましたが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く