サナギわさわさ.json

サナギさんとキルミーベイベーとプログラミングが好きです

2015-01-01から1年間の記事一覧

PlayのFormバリデーションをネストされたパラメータに適用する

PlayのFormでバリデーションするのは楽です。 ネストされたパラメータに適用する際は、頭に@Validをつける必要があります。 Validation Constraints with nested objects in play ... 以上です。来年こそScalaでPlay書きたい...

Amazon ElastiCacheのchunk_sizeとEvictionではまった件

今更ですが今シーズンはヤクルトが優勝したので嬉しいです。記念に人の画像を全部畠山っぽくしてくれるフィルタを作りたいところです。 Unused MemoryがいっぱいなのにEvictions発生 本題です。この前Amazon ElastiCache(Memcached)にバッチでデータをロード…

Sparkでjarファイルからプログラムを実行する

前回 でSparkの擬似分散環境構築とインタラクティブシェル上からのプログラム実行まで行ったので、今回はjarファイルからのプログラム実行を行います。 環境 CentOS6.6 CDH 5 IntelliJ IDEA 14 参考サイト http://qiita.com/imaifactory/items/823caa3363919…

CentOS+CDH5でSparkの擬似分散環境を作る

日本シリーズが終わってしまったのでSparkをやります。今年中に何とかSparkを実用できるところまで持って行きたいです。 参考サイト http://dmtolpeko.com/2015/02/06/installing-and-running-spark-on-yarn/ http://datasciesotist.hatenablog.jp/entry/201…

CentOSにgensimを入れてWord2Vecを試す

超今更で恐縮ですがWord2Vecを試してみたくなりました。常に流行から2年ぐらい遅れてる気がします。キルミーベイベーの存在にもアニメ放映時に初めて気付いたぐらいです。 手軽そうなので、gensim上で動かします。gensimは自然言語処理系のモデルがいっぱい…

Apache Sparkについてのメモ

大規模バッチ処理が必要になったので、名前だけ聞いた事はあっても詳細を知らなかったApache Sparkについて簡単に調べました。 参考サイト http://spark.apache.org/talks/overview.pdf Apache Sparkってどんなものか見てみる(その1 - 夢とガラクタの集積…

協調フィルタリングのメモ

レコメンドエンジンを作りたくなったので、協調フィルタリングについて簡単に調べました。今回はメモリベースの協調フィルタリングにのみ言及します。数学的な式などは省いており、概念的なメモだけです。 参考リンク: http://japan.zdnet.com/web/sp_08ec/…

ElasticSearchの良く使うcurlコマンドまとめ

ElasticSearchの良く使うcurlコマンドをまとめました。良かったら使ってください。 コマンドの詳細な説明は書いていませんが、キーワードで調べればすぐ分かるかと思います。 データ投入系 スキーマの登録 curl -XPOST http://localhost:9200/testindex -d @…

ElasticSearchのAggregationをJavaで書く

ElasticSearchには1.0.0からAggregationという機能が導入されました。SQLで言うSumやGroup Byを簡単に行える機能です。詳しくは公式サイト見てください。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html Aggreg…

ElasticSearchのfield data cacheについて

ElasticSearchをしばらく運用してみて、いくつかノウハウがたまってきたので残しておきます。 Solrを使う事が多かったので最初は慣れなかったんですが、公式のドキュメントがSolrより充実しているしクエリがJsonベースで組みやすいので結構使いやすい気がし…

JavaのHashMapの値をソートして列挙する

JavaのHashMapから列挙する時は、 for (Long key : targetMap.keySet()) { } ですが、 List<Long> sortedKeys = new ArrayList(targetMap.keySet()); Collections.sort(sortedKeys); for (Long key : sortedKeys) { } とすると手軽にソートして列挙できます。 小ネ</long>…

OpenRestyとTorch7でREST APIを作る

前回の続きですが、Torchのインストール先を/usr/localに変更した都合上、Torchのインストールからやり直しています。 Vagrant上のUbuntuでTorch7のCPU開発環境を作る - サナギわさわさ.jsonkakakazuma.hatenablog.com Torchをインストール 今回はOpenResty…

CentOS6.6にOpenRestyをインストールする

OpenRestyはnginxの拡張で、Luaを動かせるようになります。 インストール $ wget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz $ tar xzvf ngx_openresty-1.7.10.1.tar.gz $ cd ngx_openresty-1.7.10.1 $ sudo yum install pcre* $ sudo yu…

Vagrant上のUbuntuでTorch7のCPU開発環境を作る

男もすなるTorch7といふものを、女もしてみむとてするなり。 まずはVagrant上にUbuntuを立てて開発環境を作ります。 Vagrant上ではGPUは使えませんが、あくまで体験版という事で。あと私は男です。 インストール〜開発環境構築まで UbuntuのVagrantを作成し…

PlayFrameworkをSupervisorを使いながらデプロイする

普段は肉と魚が好きですが、ピオーネ食べてる時だけはベジタリアンになっても良い気持ちになります。 今回は掲題の通り、PlayFrameworkのデプロイをSupervisorを使いつつやった手順を残します。 本当はFabricも使いたかったです。環境はCentOS6.4 + Play2.3…

NavigationControllerのPushAnimationが引っかかる問題

swiftオープンソース化という事でそろそろやってみようと思ったんですが、 self.navigationController?.pushViewController(vc, animated: true) と書いた時に、遷移アニメーションが途中で引っかかる問題が発生しました。 色々調べてみると、 objective c -…

OpenRestyのngx.req.get_body_dataがnilになる問題

夏なのでOpenRestyを始めました。 Postで送られてくるデータを元に色々するためにngx.req.get_body_data()を使っていたのですが、 返り値がちょくちょくnilになる問題が発生しました。 ちょっと調べてみたところ、データサイズがclient_body_buffer_size(デ…

phpでTwitterStreaming APIを取得してMySQLに突っ込む

今更感のあるテーマですが、ちょっと機会があってphpで実装することになったので残しておきます。 基本的には[PHP] ライブラリに頼らないTwitterAPI入門 - Qiitaと【php】twitter Streaming API の statuses/filter を試す at softelメモ を参考にしただけで…

nginxで権限を設定した後も403 Forbiddenが出た話

恥ずかしながらnginxまともに使ったことなかったのでCentOS7に入れて試してみたんですが、 server { listen 80 default_server; server_name localhost; root /usr/share/nginx/html; location /test { alias /var/www/html/test; } } としてhttp://localhos…

Solrで類似画像検索(LIRESolr)を導入する

ヤクルトの投手陣がやけに調子良いので、皆さんもまさかの事態に備えて乾パンや懐中電灯を買い込んでおきましょう。 今日はSolrで類似画像検索をするためにLIRESolrを導入した際の備忘録を残しておきます。 LIREというのは、画像から色やエッジベースで特徴…

Solr4.1からSolr5に移行する際の注意点

プロ野球が開幕しました。ヤクルトスワローズが延長戦で勝利するという奇跡を目の当たりにしたので昨日からずっとニヤついています。 今回はSolr4.1からSolr5にデータ移行をした際に自分が少しはまった点を参考として残しておきます。 pint,sintは使えない …

Eclipseのbuild automaticallyでPlayのbindFromRequest()が動かなくなった

「bindFromRequest() 動かない」だと何かアホっぽくて検索をためらってしまったのですが、 「bindFromRequest() not work」だと何かセーフな気がして検索できて、無事解決しました。 Play FrameWorkにはformという便利機能があって、 public class User { pu…

Tomcat7 + Solr4.10の環境構築

Solrは5.0からスタンドアロンなサーバーアプリケーションになりましたが、Tomcatの上で動かしたい時のためにTomcat7 + Solr4.10の環境構築手順を残しておきます。今回はソースからビルドします。 Solr5.0の環境構築はこちら: CentOS7にSolr5.0を入れる手順 …

CentOS7にyumでMariaDBを入れる手順

CentOS7ではMySQLの代わりにMariaDBが採用されているようなので、yumでのインストール手順を残しておきます。 インストールからサービス登録まで yum install mariadb mariadb-server vi /etc/my.cnf [mysqld] character-set-server=utf8 firewall-cmd --per…

CentOS7でphpMyAdminに403 forbiddenを出され続けた話

こんなしょうもない事で1時間ぐらいはまってました。 CentOS7で開発環境を作っていてphpMyAdminを外部からアクセス可能にしようと思い/etc/httpd/conf.d/phpMyAdmin.confを Order Deny,Allow #Deny from All Allow from All と変更してapacheを再起動したの…

CentOS7にSolr5.0を入れる手順

ユリ熊嵐面白いですよね。 CentOS7にSolr5.0を入れたので、その時の手順を残しておきます。 まず注意点として、Solr5.0ではJavaは1.7u55以上でないと正常に動きません。更にsolr.xmlの形式が変わっており、Solr4.3以前のものでは動かなくなっていることにも…

ElasticSearchのインデクシングを高速化する

諸事情でElasticSearchの事ばっかり書いてますが、Solrの方が好きです。 ElasticSearchのインデクシングを高速化するためにやった事を残しておきます。 基本的には↓に書いてあることばかりです。 Performance Considerations for Elasticsearch Indexing | E…

ElasticSearchでmlockall:trueが効かない時にチェックすること

ElasticSearchって日本語の情報少なくて辛いです。 今回はmlockall:trueの設定が効かなかった時のチェック項目を残しておきます。 mlockall:trueとは ElasticSearchは公式で「起動時にメモリを確保し、スワップしないようにする」という設定が推奨されていま…

PlayFrameWork + eclipseの開発環境構築手順

PlayFrameWorkのプロジェクトをeclipseで開発するための環境構築手順を残しておきます。 activatorになってからは非常に単純で、WindowsでもMacでも大して変わりません。 Windowsの場合 https://www.playframework.com/downloadからactivatorをダウンロード…

Friendly iFrameで広告コードを遅延読み込みする

沙村広明先生の漫画が好きなんですが、その中でも特に「ハルシオンランチ」が好きです。 ストーリーが良く出来ていて簡単に言うと女の子がゲロを吐いて世界が救われる話なんですが、その他にも読むとゲロを吐くことに対する躊躇いが無くなって、飲み過ぎた次…