Skip to content

UbuntuでBazaarをアップデート

UbuntuでBazaarをアップデート published on UbuntuでBazaarをアップデート へのコメントはまだありません

Ubuntuが入ってるVPSを使い始めて数ヶ月だけど、まともに使い始めたのはここ1ヶ月。少しずつ慣れてきた。

最近、VCSはBazaarを使ってるんだけど、Ubuntu 9.04に入ってるのはbzr 1.xとかなり古いバージョン。せっかくなので新しいバージョンを使いたいのでアップデートしてみた。基本的にはこのページの通り。

■手順

/etc/apt/sources.list に以下の2行を追加。

deb http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main

GPGキーのインポート

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C6C1EFD

当然ながら8C6C1EFDの部分はバージョンによって異なる。

あとは、apt-get updateとか普通の手順でbzrインストールする。

Continue reading UbuntuでBazaarをアップデート

H2 DBメモ

H2 DBメモ published on H2 DBメモ へのコメントはまだありません

Scala + Liftで簡単なWebアプリを作成中なんだけど、Liftだと特別なRDBを用意しなくてもH2 DBが最初から使えるようになっている。H2 DBはJava DB(Derby)みたいなものと思ってもらえればOKかな。

日本語だとこのサイトが詳しい。このサイトだけでとりあえず十分な気がするけど、備忘録程度に。

■起動

インストールはjarファイルとシェルスクリプトを~/binなどに置けばとりあえずはOK。シェルスクリプトはほんのちょこっとだけ修正した。

#!/bin/sh
DIR=`dirname $0`
cp=$DIR/h2-1.2.143.jar
if [ -n "$H2DRIVERS" ] ; then
cp="$cp:$H2DRIVERS"
fi
if [ -n "$CLASSPATH" ] ; then
cp="$cp:$CLASSPATH"
fi
java -cp "$cp" org.h2.tools.Console $@

 

Continue reading H2 DBメモ

Scalaの関数定義で=を書かないと・・・

Scalaの関数定義で=を書かないと・・・ published on Scalaの関数定義で=を書かないと・・・ へのコメントはまだありません
def foo(arg: String) {
....
retval
}

なんてコードを書いていた。でも、なぜかfooを呼び出している所にretvalが返されない。以下のようにreturn文を書いても現象は変わらず。

 return retval

そこで、以下のように型を指定しようとすると

def foo(arg: String): String {
....
retval
}

以下のようなエラーが出る。

only classes can have declared but undefined members

ここでようやく気づいた。= が抜けてる…正しくは以下の通り。

def foo(arg: String): String = {
....
retval
}

分かりにくいよなぁ。最初の間違ったコードでreturn文を書いても何も文句を言われないので、間違いに気づくのに時間がかかった。

LiftのFormが勝手にAjax用に・・・

LiftのFormが勝手にAjax用に・・・ published on LiftのFormが勝手にAjax用に・・・ へのコメントはまだありません

Liftは色々便利っぽいんだけど、日本語の情報が少ない。というか英語の情報すら少ない。

つい最近はまった事。Liftのフォームで、通常通りSnippetに情報を渡して次の画面に遷移して欲しい所なのに、勝手にAjaxのフォームになってしまう。

Continue reading LiftのFormが勝手にAjax用に・・・

LiftのSiteMap

LiftのSiteMap published on LiftのSiteMap へのコメントはまだありません

Liftでも他のフレームワークのようにどのURLをどう処理するかみたいな機能があるっぽい。

SiteMapっていうらしいが、Liftの本を見ても説明がちょっとだけで分かりにくい。

とりあえず以下のページを真似てやってみたらとりあえず動いた。もうちょい勉強しないとな・・・

Liftを用いたWebアプリケーションの作り方 その1

Ruby on Railsメモ

Ruby on Railsメモ published on Ruby on Railsメモ へのコメントはまだありません

自分用メモ。

■DB関連

文字コードを指定

#database.yml
encoding: utf8

rakeで以前のDB構造に戻す

$ rake db:migrate VERSION=xxx

テーブルに列を追加

$ ruby script/generate migration add_foo_field_to_some_object

を実行して、出来たファイルを以下の感じで修正し、rake db:migrate。

class AddFooFieldToSomeObject < ActiveRecord::Migration
def self.up
add_column :some_objects, :foo_field, :text,
:null => false, :default => false
end
def self.down
remove_column :some_object, :anonymous
end
end

Continue reading Ruby on Railsメモ

ビデオ会議

ビデオ会議 published on ビデオ会議 へのコメントはまだありません

自分用メモ。

実験用に作ってるウェブサイトにビデオ会議の仕組みを組み込みたい。フリーで使えるのも結構あるので、タイプ別にまとめる。

■サービス

その会社がインフラ含めサービスを提供してて、それを外部から使う形。APIでコントロールする形。

 

Continue reading ビデオ会議

Scala+Lift+OAuth(その0)

Scala+Lift+OAuth(その0) published on Scala+Lift+OAuth(その0) へのコメントはまだありません

やりたいことは単純。Webアプリで、テキストボックスに文字を入力してそれをsubmitするとTwitterに流れるってもの。

WebアプリはScala + Liftで作ってるので、OAuthはDispatchというのを使ってみた。

Twitter API関連は英語だけどやっぱりオフィシャルの情報が一番まとまってて分かりやすい気がする。

■"Client"と"Browser"でやり方が違う

これ非常に重要。Twitterアプリを登録する時にApplication Typeというのを選ぶんだけど、ClientとBrowserで仕組みがちょっと違うっぽい。

"scala outh"で検索したら色々サイトが見付かって「お、参考になるかな?」と思ったけど、クライアントアプリの話が多かった。これとかこれ。ウェブアプリ(Application TypeがBrowser)ではPINってのは使わない。

Continue reading Scala+Lift+OAuth(その0)

LiftでAjax

LiftでAjax published on LiftでAjax へのコメントはまだありません

引き続きLiftの勉強中。Liftを含め最近のフレームワークだとAjaxなんてあまり意識せずに簡単に扱えるようになってるらしい。

"lift ajax"で検索すると色々ヒットするけど、とりあえず参考にしたのは以下の2つ。ま、Scalaを触っていてこの人達にブログにヒットしない事はないって位な有名なやつ。

Continue reading LiftでAjax

ScalaからOAuthを使うにはDispatch

ScalaからOAuthを使うにはDispatch published on ScalaからOAuthを使うにはDispatch へのコメントはまだありません

今、Liftのチュートリアルのチャットアプリを改造中。Twitterと連携させたいと思ってるので、OAuthの機能を組み込もうと思う。OAuth自体が良く分かってないんだけど。

どうやらDispatchなるものを使うらしい。正式名称はDatabinder Dispatch?Webサイトはこちら

sbtでの設定は、LiftProject.scalaのlibraryDependenciesに以下の記述を追加。

"net.databinder" %% "dispatch" % "0.7.7"

その後にsbtでreloadとupdateをやればOKなのかな。

Continue reading ScalaからOAuthを使うにはDispatch