RailsアプリにPassengerから環境変数を渡す

環境変数によってRailsアプリの動作を切り替えたいことがあって、 nginx + Passenger で動かしているRailsアプリに環境変数を渡す方法を調べました。 nginx の起動スクリプト(/etc/init.d/nginx)に書いても、 /etc/default/nginx に書いてもうまくいかなか…

Rails4 で datetimepicker を使う

Rails4で入力フォームから日時を選択できるように datetimepicker を使ったのですがちゃんと動くまでに軽くはまったのでメモ。 bootstrap3-datetimepicker-rails まずはGemfileに下記エントリを追加して bundle install gem 'momentjs-rails' gem 'bootstrap…

Vagrant VM上のUbuntuから名前解決できない

VagrantでUbuntu環境を立ち上げようとするとChefでのProvision中にabortするというのが発生していてしばらく原因が分からなかったのですが、名前解決できなかったのが問題だったようです。 私のケースでは config.vm.box に chef/ubuntu-14.04 を指定して、 …

Passengerがgitからinstallしたgemを認識しない

Passenger + Nginx でアプリケーションを起動しようとしたときに、下記のようなエラーが出ました。 git://github.com/nzifnab/msgpack-rails.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError) もちろん bundle install…

APIレスポンスとしてのMessagePack検証

今まではネイティブのクライアントへJsonでレスポンスを返していたのですが、新しいサービスを開発する際に、レスポンスをMessagePackにしてはどうかとクライアントサイドから提案があったので検証してみました。 ちなみにリクエストまでMessagePackにすると…

MongoDBとCouchbaseを比べてみました

仕事で新しいサービスのDBを何にするか検討していて、MongoDBと同じような使い方ができてサーバコストが抑えられるものがないか探していたときにCouchbaseのことを思い出してハンズオンセミナーなど受けてきました。結局Couchbaseは使わないことにしたのです…

RailsでMySQLを使う

Ruby on Rails で普通にプロジェクトを作成すると sqlite3 が使われるようになっていますが、mysql を使用するにはプロジェクト作成時に -d オプションで mysql を指定します。 $ rails new turntable_test -d mysql create create README.rdoc create Rakef…

MacにMySQLをインストール

私物のMacBook AirにMySQLをインストールしました。せっかくなので手順をメモしておきます。 インストール自体はHomebrewでコマンド一発です。 $ brew install mysql Warning: It appears you have MacPorts or Fink installed. Software installed with oth…

Rails APサーバの比較検証(Puma, Unicorn, Passenger)

仕事でRailsを使うことになり、APサーバの選定にあたってPuma, Unicorn, Passenger の比較検討を行いました。方法としてはJMeterでAPサーバにデプロイしたRailsアプリケーションに対して負荷をかけられるだけかけるというやり方です。 試験環境 試験の環境と…

MongoDB University で TAやりました

MongoDB Advent Calendar 2013 の 5日目です。 先日、MongoDB University M101P コースのTAをさせていただく機会に恵まれました。MongoDB University というのはMongoDB社が提供している、MongoDBを使用したプログラミングについてオンラインで学習できるコ…

MySQL 特定のDBのコネクション数を確認する

show processlist だとすべてのDBのコネクションが表示されるので、 show processlist コマンドで出力される情報のもとになっている、 information_schema.processlist テーブルにクエリを発行して確認する。 mysql> desc information_schema.processlist; +…

Ubuntuへmongodbをインストール

Ubuntuにmongodbをインストールしたので内容をメモしておきます。 まずapt-keyを追加します。 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 10genのリポジトリを追加します。 $ sudo vi /etc/apt/sources.list.d/10gen.list $ cat …

NginxとFuelPHPの開発環境構築

Nginx、php-fpm、FuelPHPの環境で開発することになったので、 開発環境を構築してみました。 <参考書籍> ハイパフォーマンスHTTPサーバ Nginx入門 はじめてのフレームワークとしてのFuelPHP <参考サイト> FuelPHPをNginxで動かしてみる PHPインストール …

Eclipse, PDT, FuelPHP, EGit で github を使う

Eclipse上でPDTを使ってFuelPHPのプロジェクトをGit管理したかったので、EGit で github を使えるようにしてみました。 参考にさせていただいたサイトはこちら。 FuelPHPってなんじゃ?(Git管理編) Eclipse、PDT、FuelPHP は既に使える状態になっているも…

yum で php-mbstring をインストール

PHPを勉強中なわけですが、下記のようなスクリプトを書いたところ、mb_strlen という関数が使えませんでした。 $ php hello.php テキストを入力:hello PHP Fatal error: Call to undefined function mb_strlen() in /home/akanuma/scripts/php/hello.php o…

CentOSにPHPインストール

PHPを使うことになったので、CentOS5.8にPHP5.3をインストールしました。yumコマンド一発です。 # cat /etc/redhat-release CentOS release 5.8 (Final) # # rpm -qa | grep php # # yum install php Loaded plugins: fastestmirror Loading mirror speeds f…

Haskell GHCiのプロンプト設定

参考にしている書籍にあわせてGHCiのプロンプトを変更するために、ホームディレクトリに下記のように .ghci ファイルを作成しました。 $ cat -n .ghci 1 :set prompt "ghci> " これでGHCiを起動してみます。 $ ghci GHCi, version 6.10.4: http://www.haskel…

Haskell GHCインストール

Scalaを勉強しなおすために、まずHaskellを勉強してからの方がScalaを理解しやすいという話を聞いたので、Haskellの勉強を始めることにしました。ということでまずはHaskellのコンパイラ、GHC(The Glasgow Haskell Compiler)をインストールしました。yumで…

Perl Catalystインストール

Perl と cpanm がインストールされて入れば、Catalystをインストールするには cpanm Ctalyst::Devl を実行するだけでOK。 $ cpanm Catalyst::Devel ! ! Can't write to /usr/lib/perl5/site_perl/5.8.8 and /usr/bin: Installing modules to /home/akanuma/p…

CentOS上からgithubを使う

CentOS上からgithubを使えるようにしたので作業内容をメモ。 まずはyumでgitをインストールします。ちなみにCentOSのバージョンは5.8です。 # yum install git Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: rsync.atw…

Linux ファイル名が文字化けした場合の操作

Linux上でファイル名が文字化けする場合があります。 $ ls result.log.* result.log.Fri result.log.Thu result.log.?? result.log.?? result.log.?? こうなると普通にファイル名を指定して操作することができません。 $ wc -l 'result.log.??' wc: result.l…

CPANでのモジュールインストール時に「サーバの応答にエラーがあるので、接続を終了します。」となってしまう

CGI::Sessionを使うためにCPANでインストールしようとしたところ、「サーバの応答にエラーがあるので、接続を終了します。再試行しています。」となって最終的にインストールに失敗してしまいました。ネットで検索したところ、FTPサーバに接続できていないた…

Perl Date::Simpleのインストール

CPANからDate::Simpleをインストールしようとすると、make testで失敗してインストールできませんでした。 # perl -MCPAN -e 'install Date::Simple' CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Tue, 22 May 2…

Scala playframework2.0での開発環境構築

Scalaのplayframework2.0を使って開発することになったので、ローカルのWindows環境の構築手順をメモ。 sbtインストール 下記URLから sbt-launch.jar をダウンロードします。 http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.…

Scala Runtimeインストール

今更ですがScalaをちゃんと勉強するために、まずは環境の準備ということでCloudCore環境にScalaをインストールしました。 JDK Install まずはJavaの環境が必要なので、JDKのrpmパッケージをダウンロード。 # wget http://download.oracle.com/otn-pub/java/j…

Spring Roo コンテンツエリアにスクロールバーを表示する

一つ前のエントリ([Spring Roo]横幅の変更)で横幅を変更する方法を書きましたが、それでも対応しきれない場合は、コンテンツエリアにスクロールバーが表示されるようにする方法が考えられます。 standard.css に下記を追加することで、コンテンツエリアに…

Spring Roo DBからのReverse Engineering

Spring Rooの最もベーシックな使い方はroo shell上でentityコマンドを使ってEntityを作成していくやり方ですが、既にDB上にテーブルが存在していて、そのテーブルをEntityとして使用するアプリケーションを作ることもできます。 Rooのインストール、プロジェ…

Spring Roo Cloud Foundryにアプリをデプロイ

Cloud Foundryに申し込んで使えるようになったので、Spring Roo in Actionの11章を参考にRooのアプリケーションをデプロイしてみました。 まずはroo shellからCloud Foundryを走査するためのAddonをインストールします。インストールの間自動的に認証される…

Cloud Foundryを触ってみました

名前は聞いたことがあったもののどんなものかよく分かってなかったので、下記チュートリアルページを参考にCloud Foundryを触ってみました。 VMware Cloud Foundry入門 - Getting Started (Japanese) Cloud FoundryはVMwareが提供しているオープンソースのPa…

Spring Roo Webアプリケーションセットアップ

前回まででEntityの作成まで終わったので、Webアプリケーションとして動作させるためのメモです。 以前のエントリはこちら Spring Roo Install [Spring Roo]プロジェクト作成, Logging&DB接続設定 [Spring Roo]Entity作成 ・roo shell上でwebコマンドを実行…

Spring Roo Entity作成

以前のエントリでProjectの作成まで書いたので、Entity作成についてのメモです。 以前のエントリはこちら Spring Roo Install [Spring Roo]プロジェクト作成, Logging&DB接続設定 roo shell上でentityコマンドを実行することでEntityが作成されます。下記はP…

Mahout in Action Chapter 4 Summary

Mahout in Action Chapter 4 についてのメモ。 4.2 ユーザベースの推薦の詳細 4.2.1 アルゴリズム ユーザにアイテムを推薦する処理は下記のとおり。ユーザは u で表されている for every item i that u has no preference for yet for every other user v th…

Hadoopソースコードリーディング第7回に行ってきました

Hadoop World NYC 2011の参加レポートがあるということをTwitterで発見して、Hadoopソースコードリーディング第7回に行ってきました。 アジェンダは下記の3つ Hadoop World NYC 2011 参加レポート Part.1 Hadoop Troubleshooting 101 セッションレポート Had…

プロジェクト作成, Logging&DB接続設定

前のエントリでRooのインストールが終わったので、プロジェクトを作成します。 まず作業ディレクトリを作成し、コマンドプロンプトを起動してそのディレクトリへ移動します。 roo shell を起動します。 >roo ____ ____ ____ / __ \/ __ \/ __ \ / /_/ / / / …

Spring Roo Install

仕事で Spring Roo を使う機会が増えてきたので、チュートリアル的な内容をメモ。まずはRooのインストールについてです。 Rooインストール Spring Rooのサイト から下記ファイルをダウンロードします。 ・spring-roo-1.1.5.RELEASE.zip 解凍して任意のディレ…

Mahout in Action Chapter 3 Summary

Mahout in ActionのChapter3についての自分の理解をメモ。 嗜好データの表現 Preferenceオブジェクト Preferenceオブジェクトは最も基本的な概念で、一つのユーザID、アイテムID、嗜好値で嗜好性を表す 一つのオブジェクトが一人のユーザの一つのアイテムに…

Mahout in Action Chapter 2 Summary

Mahout in ActionのChapter2についての自分の理解をメモ。 推薦の定義 ユーザベース ・ユーザとアイテムの関連に基づく推薦。 ・嗜好の似ている人が好きそうなものを推薦する。 ・属性は考慮しない。 ・Mahoutで適切に表現可能 アイテムベース ・ユーザとア…

Mahout in Action Chapter 1 Summary

会社の同僚とMahout in Actionの勉強会を始めたので、Chapter1についての自分の理解をメモ。 Mahoutとは? インドの像使いという意味の言葉 Apacheプロジェクトのオープンソース機械学習ライブラリ 主要テーマは推薦エンジン(協調フィルタリング)、集団形…

GDD 2011 Japanの会場の様子

Google Developer Day 2011 Japanに行ってきたので会場の様子をちょっと紹介。 エントランスロビー。オブジェは正二十面体にGDDの開催地がマッピングされた展開図になってるらしいです。 デベロッパーサンドボックスのコーナー。芝浦工業大学とco-meetingの…

GDD 2011 Japan のブレイクアウトセッション

Google Developer Day 2011 Japan に行ってきました。 午前中の基調講演については前のエントリで感想等書いたので、今度は午後のブレイクアウトセッションについて少し。 「App Engine最新機能」 今回のGDDでは自分としてはクラウド関係の情報に触れたいと…

Google Developer Day 2011 に行ってきました。

Google Developer Day 2011 Japan に行ってきました。日本では今年で5回目らしいですが、私は初参加です。 ここではとりあえず午前中2時間の基調講演について。 今回のGDDテーマは主に4つ。 Android Chrome/HTML5 GAE Google+ 基調講演だけでなく、セッショ…

Mahout開発環境の作成

Mahout In Actionのコードを実行するために、EclipseでMahoutの開発をする環境を作成してみました。 下記サイトを参考にさせていただきました。 mahout/レコメンドシステムの作り方 前提 Java, Maven, Eclipseがインストール済みであること 手順 m2eclipseプ…

App Engine 倹約のすゝめ(BootCamp 2011 Japan)

GTUGのBootCamp 2011 Japan でGoogleAppEngineのセッションに参加してきました。 ハッシュタグは #bc2011jp #gae1 最近HadoopやAWS方面に力を入れ始めているところなので、Googleのサービスの中でもGAEには興味があって、色々勉強したいと思ってます。かなり…

はじめてのChrome Extension(BootCamp 2011 Japan)

GTUGのBootCamp 2011 Japan でChrome Extensionのセッションに参加してきました。 セッション資料の公開はこちら。 ハッシュタグは #bc2011jp #chr1 Chrome Extensionは今年のGDDのDevQuizで初めて触りました。簡単に言ってしまうとChromeを拡張して操作を自…

GoogleAppsScriptハンズオン(BootCamp 2011 Japan)

GTUGのBootCamp 2011 Japan でGoogleAppsScriptのハンズオンに参加してきました。 セッション資料はこちらに公開されています。 Twitterのハッシュタグは #bc2011jp #gas1 本当はGAEのセッションに参加するつもりだったのですが、GAEコーナーはセッションで…

Mahoutインストール

CDH3u2ではMahoutもサポートされるようになったのでインストールしてみます。 Mahout Installation - Cloudera Support $ sudo apt-get install mahout [sudo] password for h-akanuma: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成し…

CDH3u1→CDH3u2にアップデート

2011/10/21にCDH3u2がリリースされたのでアップデートしてみました。 CDH3 Installation Guide - Cloudera Support Upgrading to CDH3 - Cloudera Support $ hadoop version Hadoop 0.20.2-cdh3u1 Subversion file:///tmp/nightly_2011-07-18_07-57-52_3/had…