2008-10-01から1ヶ月間の記事一覧

[jquery][lift] jcarousellite_1.0.1.jsをliftでうごかす

liftはYUI Compressorというjavascriptを縮小するツールを使う。 このためliftではwebappの下にjavascriptファイルをおくと、勝手に縮小しようとする。ここでjcarousellite_1.0.1.jsをおいた時に問題発生。lift起動時に以下のようなエラーが発生した。 $ mvn…

[mecab][java] MeCabをLeopard (Mac) にインストールしJavaバインディングつかってみる

参考URLそのまま Mecabインストール $ sudo port install mecab +utf8 mecab-ipadic-utf8 $ port info mecab mecab 0.96, textproc/mecab (Variants: universal, darwin_7, darwin_8, sjis, utf8, utf8only) http://mecab.sourceforge.net/ MeCab.jar作成 ち…

[as3][javascript] 連携してみる

ちょっとはまったのでメモ。 このページ を参考に連携させてみた。すると uncaught exception: Error calling method on NPObject! [plugin exception: Error in Actionscript. Use a try/catch block to find error.].とエラーがでる。 調べてみたら、以下…

URLRewriteをLiftでやってみる

参考URL 本家のURL見ればわかるんだけど、一応サンプル書いとく サンプル /product/show/のようなURLをLiftに渡して、をメソッド側で受取、処理する場合を考える Boot.scalaでの記載 LiftRules.addRewriteBeforeを使う。 LiftRules.addRewriteBefore { case …

配列のかけ算と割り算

mixiのscalaコミュで教えてもらった内容。すげーすっきりした。 mixi にて質問した内容 お題 1: var array1 = Array(1,2,3,4) 2: var array2 = Array(5,6,7,8) 3: var result = array1 * array2; 4: println(result) -> Array(5, 12, 21, 32) のようなソース…

[scala] zip関数(メソッド)使ってみる

配列を結合?させる。 val array1 = Array(1,2,3,4) val array2 = Array(5,6,7,8) println(array1.zip(array2).mkString(",")) -> (1,5),(2,6),(3,7),(4,8) もっとほかにも使い方があると思うが、とりあえずメモ

[Scala] sort(ソート)&reverse(リバース) 昇順&逆順

文字列ソート var a = List("Steve", "Tom", "John", "Bob") .sort((e1, e2) => (e1 compareTo e2) < 0) println(a) -> List(Bob, John, Steve, Tom) 数値のソート 以下のようなものもソートできる。 var b = List((3.22,"ああ"), (1.21,"ああa"), (8.22,"あ…

List(リスト)の連結

[修正] id:kmizushimaさんの指摘をもらって修正 先頭に追加 var a = List(1,2,3) a = 4::a println(a) -> List(4, 1, 2, 3) 末尾に追加 Listを生成する方法(こっちはWarning発生しないので、こちらを使うことにする) var a = List(1,2,3) a = a ::: List(4…

[maven][Lift] ローカルのjarファイルをliftプロジェクトにインストール

liftつかってて、mavenのレポジトリに最新のjarファイルが無いライブラリがあったので、独自にインストールする必要があった。 このため、mavenでローカルのjarファイルをインストールする方法について記載する。 インストール 以下は、jericho-html-2.6.jar…

LiftのORMをmainメソッドから使う方法

WEBアプリを起動しないで、LiftのORMを使いたい場合には、ORMのメソッドを使う前にBoot.bootを実行しておけば使えるようになる。 サンプル import bootstrap.liftweb._ def main(args: Array[String]) = { val boot = new Boot boot.boot bootしない場合のエ…

MySQLを使うために

参考URL 0. DB作成しておくて $ mysql -u root > create database hoge 1. pom.xml に mysql-connector-java を追加 $ cd PROJECT_ROOT $ vi pom.xml ----- <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.8</version> </dependency> ----- $ mvn install 2. Boot.scalaを修正 $ vi Bo…

[Lift][Scala] モデルへの外部キー指定方法

Liftのメインページから、外部キー指定方法のドキュメントがたどれなかったので、メモっとく。 外部キー指定する方に、 object 外部キー変数名 extends MappedLongForeignKey(this, 外部キーに指定するモデル)を指定してやるだけでオK。■外部キー設定される…

Liftサンプル動かす時のメモ

以下ページからサンプルを落とし、mvn jetty:runやった時にエラーが発生したので、解決方法をめもっとく。 ※ただし正しいやり方かはいまいちよ〜わからん ダウンロードページ http://liftweb.net/index.php/HowTo_run_examples エラー内容 $ mvn install [IN…

ERROR - Failed to Boot

現象 mvn jetty:run やると以下エラーがでることがある。 2008-10-10 16:30:14.015::INFO: No Transaction manager found - if your webapp requires one, please configure one. ERROR - Failed to Boot java.lang.ClassNotFoundException: bootstrap.liftw…

scalaプラグインアップデート時のバグ?

scalaプラグインは最近頻繁にアップデートされているようだ。 そこで今日もアップデートしようとするとエラーが発生したので、現象と解決方法をメモ 環境 Eclipse3.4 Leopard10.5 エラー scalaプラグインアップデートしようとしたら、以下エラーがでてUpdate…

[Scala] 集合知プログラミング generatefeedvector.py を scalaで書いてみる

集合知プログラミングの第3章で紹介されているgeneratefeedvector.pyをscalaでかいてみる。 指摘大歓迎です!! ※結構時間がかかってしまったうえに、PG長い。。。 [追記] id:kmizushima さんから指摘を頂いたので、修正してみた。 package jp.shohu.auto…

型キャスト

参考URL そのまま以下検索用に記載 オブジェクトを指定の型にキャストするには、Any#asInstanceOfを使います。 また、指定した型と互換性があるか評価するにはAny#isInstanceOfを使います。 var i = 10 var str = "aaa" // オブジェクトが指定した型と互換性…

ファイル入出力

ファイル出力の方法の一般的なのはなんだろうか? ファイル入力 参考URL そのまま。ただし、ファイルクローズ無し。 // file_read_scala.scala import scala.io.Source object FileReadScala { def main( args: Array[String] ) { // 「ソース」っていうのを…

Mapのループ

参考URL これらはpythonでいう、 aa,bb = list.items() // aaをつかってごにょごにょ // bbをつかってごにょごにょのような代替え?になる? ループ1 import scala.collection.mutable.HashMap val countMap = new HashMap[Int, String] countMap += 1 -> "…

XMLをHTTP接続で取得する

import java.net.{URLConnection, URL} import scala.xml._ def main(args: Array[String]) = { val feed = getFeedElem(url); // 後はXMLの属性にアクセスして、似るなりやくなりする val items = feed\"item"; for(item <- items){ var summary = (item\"s…

内包表記

参考URL 以下のように内包表記かけるみたい for (i <- List.range(1, 10) if i % 2 == 0) yield i

タプルについて

参考URL以下のような使い方ができる。複数の値を返却する時便利。 def main(args: Array[String]) = { var result = hoge(); println(result._1); println(result._2); var(rtn1, rtn2) = hoge(); println(rtn1); println(rtn2); } def hoge():(String,Strin…