サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
happy-camper.st
先日5月20日(金)にHBaseワークショップ(第一回)が開催されました。 HBaseについて、メインの参加者間での情報交換を中心としたディスカッションを行いました。 周りの方々からも質問等があればいつでも声をかけていただき、話をふくらませていくスタイルでした。 このような会に参加させていただいたことを、心より感謝いたします。 今回はこの勉強会の当日に、発言しておけばよかった、言葉足らずだった、後で思ったこと等をまとめておこうと思います。 何に使っている・使いたいのか?Twitter Streamingからのデータの取り込みをしています。 素人ながら、統計解析、機械学習や自然言語処理などの分野を勉強しようと思っていて、そのためのデータ収集をしています。 そのための基盤をHadoop MapReduceでやろうと思ったので、連携のしやすいHBaseを選択しました。 現状ではデータ収集を安定し
めっきりiPhoneアプリ構築中です。 Twitterクライアントをいくつか作ってみたいので、API呼び出しなどの共通部分をライブラリとして外出ししようとした時のメモ書きです。 参考にしたのは以下のサイトです。 iPhone/ライブラリ作成 - syati-project.jpstaticライブラリにカテゴリを含む際に気をつけること - 風日記Xcodeでアプリのプロジェクトにライブラリのプロジェクトを追加したりね。 - このブログは証明できない。 プロジェクトの作成Xcodeより、新規プロジェクトで「Cocoa Touch Static Library」テンプレートよりプロジェクトを作成します。 「グループとファイル」内、「Classes」に実装ファイルを入れていきますが、実ファイル階層はフラットになっているので、必要に応じてFinderなりで階層を作ってグループの情報からパスを設定する
Play framework with Scala を使ってみようシリーズです。 その1 その2 さて、やっぱりGoogle AppEngine使いたいですよね。 というわけでGAEモジュールを使ってみます。 Google AppEngineのSDKはインストールされているものとします。 また、サンプルを実際にAppEngine上で動作確認をする場合には、予めアプリケーションIDを取得しておいてください。 今回のサンプルのソースは https://github.com/ueshin/play-hello/tree/play-hello-0.0.1 でブラウズできます。 GAEモジュールPlay!のGAEモジュールを使うとGAEへのデプロイが楽になります。 と、それだけではなくて、他にも様々なメリットがあります。 Play!標準のディレクトリ構成で開発中の自動リロードも動きますLogging
昨日はPlay frameworkを使ってHello Worldが動きました。 今日はPlay frameworkをやるときによさそうな環境設定について書きたいと思います。 ほぼ自分向けのエントリーです。 ベースとなるEclipse(Scala IDE for Eclipse)とEmacs(ENSIME)がインストールされているものとします。 Eclipseとの連携Play!のコマンドで、eclipsifyというやつがあるのでこれを利用します。 $ ${PLAY_HOME}/play eclipsify helloworld 実行後、プロジェクト内にEclipseの設定ファイルである .project .classpath .settings などが生成されて、「ファイル」→「インポート」でこのプロジェクトをEclipseプロジェクトとしてインポートすることができるようになります。 また、
Maven2ではレポジトリにデプロイされている数多くのライブラリをとても簡単に利用することができます。 しかし、どこのレポジトリにもデプロイされていない、ましてやMaven2管理になっていないライブラリも同様に数多く存在します。 それではMaven2レポジトリに存在しないライブラリを使う場合にはどうすればいいのでしょうか? いくつかの方法がありますが、代表的な手法をご紹介します。 ※ライブラリのライセンスによっては再配布ができないものもあります。 ※ライセンス違反などでトラブルになっても当方は責任を持ちませんので各自の責任で行ってください。 install-file / deploy-fileローカルにインストール、もしくはレポジトリにデプロイする方法です。 個人で利用する場合にはローカルにインストールしてあればいいですし、複数人で利用する場合にはレポジトリにデプロイしておいたほうがいいで
この記事は Scala Advent Calendar jp 2010 の9日目です。 と言いつつ空気を読まずにMapReduceやっちゃいますよ。 簡易的にではありますが、GoogleやHadoopでおなじみ(?)のMapReduceフレームワークをScalaで実装してみました。 というわけで、これを実装したときのポイントや便利な機能などを挙げていこうと思います。 MapReduceって?Googleが提唱した、シンプルかつ強力な大規模分散処理のためのプログラミングモデルです。 Hadoopというプロダクトがオープンソースで公開されていて、比較的容易に大規模分散処理を実現できるようになっています。 詳しい説明は他のサイト(HadoopWikiとか@ITとかmapreduceの画像検索結果とか)に譲ります。 実装( ソースコードはgistにも置いてあります。 ) mapreduce.sca
Play frameworkを触ってみましたよ。 Ruby on Railsのお手軽さをJavaで!っていう感じのWebアプリフレームワークです。 Java版は直接使ってはいませんが、Scalaとの相性が抜群な印象です。 日本語のドキュメントもありますよ。 今回はPlay frameworkインストールからHello Worldまでいきます。 Play framework: 1.1Scala module: scala-0.8Maven module: maven-head JavaやScalaはインストールしてあるものとします。 インストールDownloadリンクからダウンロードします。 適当な場所に展開します。 $ unzip /path/to/play-1.1.zip 以下、展開したパスを ${PLAY_HOME} を表記します。 モジュールのインストールPlay! のサイトで公開さ
MacOSXにHadoopを擬似分散モードで動作できるようにインストールした時の記録です。 利用した環境は次の通りです。 MacOSX Snow LeopardHadoop 0.20.2 また、参考にしたページは次のページです。 Hadoop, HDFS and Hbase on Ubuntu & Macintosh LeopardHBase/Hadoop on Mac OS XこのページにはHBaseのインストールまで記載されていますが、まだそこまでやっていないので、機会があればということで。 ダウンロードダウンロードページから、適当なミラーサイトを選んでダウンロード。 /usr/local に展開します。 $ pwd /usr/local $ sudo tar zxvf /path/to/hadoop-0.20.2.tar.gz $ sudo ln -s hadoop-0.20.2 h
TwitterのストリーミングAPIをだらだらと取得するプログラムをScalaで作成してみました。 対象は statuses/sample としましたが、URLを変更するだけで他のAPIでも同様に取得できると思います。 XML文字列取得後の処理はハンドラで処理ができるようにしてありますので、画面に垂れ流すなり加工して遊ぶなりご自由にどうぞ。 ソースclass Streaming(id: String, pw: String) { import _root_.java.io.InputStream import _root_.java.net.{ Authenticator, PasswordAuthentication, URL } import _root_.scala.collection.mutable.ListBuffer import _root_.scala.io.Source
Maven2のインストールから基本的な使い方までを振り返ってみます。 Maven2とは、 Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. です。w 以下の手順では、Javaはすでにインストールされているものとします。 インストールダウンロードページから適当なのをダウンロードして適当なフォルダに展開します。(現時点での最新版は2.0.9。) 環境変数に設定を追加します。 Windows系の場合 システムのプロパ
Application Assembler Maven Pluginのご紹介。 Javaアプリケーションを作る際にめんどくさいのがクラスパスの設定云々。 その辺のめんどくさいあたりをザックリと作ってくれるのがこのプラグインです。 依存するライブラリを収集して、Javaアプリケーションを実行するためのbat/shスクリプトを生成します。 これがあるとバッチ処理などをするコマンドラインアプリを作るのもお気楽になります。 Goalsappassemblerプラグインには3つのゴールがあります。 appassembler:assemble 設定したアプリケーション用のbat/shスクリプトを生成します。 appassembler:create-repository appassemblerレポジトリを構築します。 appassembler:generate-daemons JSW(Java Ser
Maven2でプロジェクト管理していると、モジュールの数がどんどん多くなってきます。 すると、ビルドやプロジェクトサイト生成の時にOutOfMemoryErrorが出るようになってしまいます。 特にレポートをたくさん出力するように設定されているプロジェクトサイトを生成する時にはより多くのメモリを使うので、頻繁にOutOfMemoryErrorになります。 なお、物理メモリが不足している場合にはメモリの増設が必要です。 MAVEN_OPTS対策のひとつとして、MAVEN_OPTS環境変数を使う方法があります。 Maven2を実行しているJVMに対するVMパラメータを設定することが出来ます。 また、メモリ関連だけでなく、他のVMパラメータもこれで指定できます。 メモリ不足といっても、主に2種類のエラーが現れます。 Java heap space実行中のオブジェクトなどのデータを格納するためのヒ
Maven2を使って新規にプロジェクトを作るとき、毎回pom.xmlの設定やディレクトリの配置をするのは面倒です。 (Maven2を使い込めば使い込むほどpom.xmlファイルが肥大化してきます。) そこでmaven-archetypeというパッケージングを使って、プロジェクトの雛形を作ることができます。 archetypeとはMaven2プロジェクトの雛形のことをarchetypeといいます。 $ mvn archetype:generate とすると、デフォルトで利用できる41個のarchetypeのリストから選択してプロジェクトを生成することができます。 Maven2の使い方では、コマンドライン引数で指定することによってmaven-archetype-webappというarchetypeを使って簡単なプロジェクトを作成しました。 このarchetypeというプロジェクトの雛形に良く使
Maven2でプロジェクト管理していると、モジュールの数がどんどん多くなってきます。 すると、ビルドやプロジェクトサイト生成の時にOutOfMemoryErrorが出るようになってしまいます。 特にレポートをたくさん出力するように設定されているプロジェクトサイトを生成する時にはより多くのメモリを使うので、頻繁にOutOfMemoryErrorになります。 なお、物理メモリが不足している場合にはメモリの増設が必要です。
Maven Source Pluginです。 インストール時やデプロイ時にこのプラグインの設定をしているとソースコードをまとめたjarファイルもインストール/デプロイされるので、他の人がこのアーティファクトを利用する際にいちいちSCMからチェックアウトしなくてもソースコードを参照できるようになり、IDEなどでの開発がより便利になります。 GoalsSourceプラグインには3つのゴールがあります。 jar メインのソースコード、リソースをjarにまとめます。 test-jar テストのソースコード、リソースをjarにまとめます。 aggregate pomプロジェクトで実行すると、モジュールにあるソースコードを収集してjarファイルにまとめます。 使い方メインのソースコード、リソースをjarにまとめる$ mvn source:jar 生成されるjarファイルは、${finalName}-s
このページを最初にブックマークしてみませんか?
『Happy-Camper Street』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く