技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Scala

ScalaActiveRecoard の 0.2.2 を弄る

ってもそんなに真面目にやる気ないですけどね。sbt の build.sbt に libraryDependencies ++= Seq( "org.scala-lang" % "scala-library" % "2.10.0" % "provided", "org.scala-lang" % "scala-compiler" % "2.10.0", "com.github.aselab" % "scala-activerec…

Twitter4J でざっくりデータを引っこ抜く

事前に https://dev.twitter.com/ でアカウント登録と、アプリケーション登録を済ませておくこと。 参考はこれ使うのはこれhttp://twitter4j.org/ja/index.htmlで、application.conf *1に twitter { consumerKey = "ZZZZZZZZZZZ...." consumerSecret = "AAAA…

Ubuntu 12.04 に sbt 突っ込む

なんで今まで書いてなかったんだろ?まぁいいや。Javaが既に入ってる前提で wget http://apt.typesafe.com/repo-deb-build-0002.deb sudo dpkg -i repo-deb-build-0002.deb sudo apt-get update sudo apt-get install sbt どうでもいいけど sbt の S が Simp…

形態素解析した結果からまだ何か考察

前回 の処理に似たようなことを行い、 接頭詞 + 名詞 = 名詞 名詞 + 名詞 = 名詞 名詞 + 動詞 = 動名詞 + 動詞 動詞 + 動詞 = 動詞 動詞 + 助動詞 = 動詞 動詞 + 助詞 = 動詞 で区切ったあと、句読点が「記号」と認識されていることに着目。 記号で区切られ…

形態素解析ライブラリを触ってみる【Igo】

先ず適当なディレクトリを掘って、ダウンロード - Igo - SourceForge.JP と MeCab - Browse /mecab-ipadic/2.7.0-20070801 at SourceForge.net を配置。 MeCab のtarボールは解凍しとく。 で、 C:\common\projects\lab\Igo>dir ドライブ C のボリューム ラベ…

SSH のアクセスログを洗ってみる

SSH ポート空けてると、不正にログインしようとするやつはいるもの。 また、アカウントが盗まれて変な所から ssh されることもあり得る。そんなこんなで、/var/log/auth* なログファイルをパースしてディレクトリに振り分ける処理をざっくり書く。わざとシー…

Akka のClusterを調べてみる

前回写経して中身を確認してみたが、正直サンプル見たほうが理解が早かった。https://github.com/akka/akka/blob/master/akka-samples/akka-sample-cluster/src/main/scala/sample/cluster/simple/SimpleClusterApp.scala https://github.com/akka/akka/blob…

Akkaのrouterを調べる

とりあえず内容はこれhttp://doc.akka.io/docs/akka/2.2-M3/scala/routing.html A Router is an actor that receives messages and efficiently routes them to other actors, known as its routees. そのままですよね。Actorのインスタンスが複数ある時に、…

続、Akka勉強する

随時更新 Akka について勉強する。 - 謎言語使いの徒然 の続き Akka2.2-SNAPSHOT で大分 Cluster に動きがあった。流石試験実装、、、、安定しない。 設定ファイルの中身を換えればまだ動きはするが、この際だから最初から考え直す。*1 まずサンプルを求めて…

Akka について勉強する。

終了まで随時更新 教科書はこれ http://www.slideshare.net/scalaconfjp/scaling-software-with-akka概要から読んでいく。 重要そうな箇所だけまずはメモProgram at higher level 共有するステータス、ステータスの可視性、スレッド、ロック、同期、スレッド…

Playframework2.1.0 で ComboBox のテンプレートを使ってみる

無いかなーと思ってソースコード読んでて見つけた。 公式ドキュメントに乗ってない(まだ書いてないだけ?)のでこれはみんな難儀するだろうなーということで共有。 /play-2.1.0/framework/src/play/src/main/scala/views/helper この辺開くとテンプレートヘ…

Akka を勉強する 4

ActorSystem は単語単位で名称を持つことができる。これはURIスキーマの一部として利用することができる。 使える範囲は「'^[a-zA-Z0-9][a-zA-Z0-9-]*$'」の範囲だそうな。 これはこんな感じで書くそうな。 akka://actorSystemName@ServerHostName:9000/user…

Akkaの勉強をやってみる 2

うん、Scala2.10あんま関係ないのでタイトル変更。午後やるって言って遊んじゃった(主にPSO2)ので遅かった。 先ずコードはこんなん import akka.actor.{Props, Actor, ActorSystem} import java.util.Date import org.slf4j.LoggerFactory class SampleActor…

Akkaの勉強をScala2.10で行ってみる

先ずはsbtでscala2.10を設定。 依存とバージョン番号指定すればよさそう organization := "net.azalea" name := "Alla-sample" version := "0.1.0" scalaVersion := "2.10.0" description := "An JSON schema(http://json-schema.org/) access helper for sc…

Akkaの勉強をやってみる3

始めに断わっておきますが英語圏のネイティブじゃないんでドキュメント読んで拾った内容だけど間違ってるかもしれない。 Akka は動作階層を持っているらしい。 ActorRef MessageDispatcher MailBox(with MessageQueue) Actor(プログラマが実際に処理を記述す…

Playframework2.0.4 のgzip転送について調べてみた

そもそもPlayにこの機能ないの?って思ってソースを追っかける。 すると、https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/controllers/Assets.scala惜しい、Assets じゃ無いんですよ、、、。 とは言え、s…

OSSを試してハマったログ

Play2.0 + PostgreSQL + ScalaActiveRecord0.2で突っ込んでみてハマったログです。 情報等ほぼ存在しないだろうから、後に踏み入れる人たちに、、、、。http://www.playframework.org/ http://www.postgresql.jp/ https://github.com/aselab/scala-activerec…

Actor と RemoteActor

アクターは基本的にはメッセージの受信に対してどう動くかという、Objective-CやSmalltalk的なオブジェクトの振る舞いをするスレッド。 内部的には、メッセージを「receive」で受け取り、処理をする。処理中に他のメッセージが来れば、そのまま「receive」可…

Play の開発に使いやすい情報

メモ。既にある情報を書くまでも無い気がしてリンクだけ。 動作時に別の設定ファイルをロードする方法。http://www.playframework.org/documentation/2.0.4/ProductionConfigurationちなみに、start コマンドはリリース用動作モード。http://www.playframewo…

Play Framework2.0 いじってみる。

https://github.com/playframework/Play20/wikiこのへんのチュートリアルに沿ってインストールはできると。 SBT ベースになってるので、そのままいけるかなーと思ったけど、コレが案外ハマった。まず、SBT-Idea突っ込もうとして、「project/plugins.sbt」に …

sbt0.11 使ってみる

とりあえず作業ログ。このへんからsbt落としてきて set SCRIPT_DIR=%~dp0 java -Xmx512M -jar "%SCRIPT_DIR%sbt-launch.jar" %*こんなバッチ書(abt.bat)く。 次にプロジェクトディレクトリ作って、そこで sbt.bat 起動。 プロジェクトディレクトリルートに b…

jetty のスタティックリソースロック回避。

webapp 直下のリソースファイルを更新した状態で、「~ prepare-webapp」やると、エラーで鯖が落ちる問題。何かなーと思って調べたら、jettyの仕様(?)だった。https://www.assembla.com/wiki/show/liftweb/Fix_file_locking_problem_with_jettyrun回避方法を…

Jetty で hotdeploy できないか悩んでみた

SBT で何とかできないかなぁと ま、結局 Jetty 自体にほとデプロイが無いので、以下の手順踏めば行けるようだ。 compile copy-resources jetty-reload 面倒っちゃ面倒だ。 最後の手順は、起動パラメータでどうにかなるらしいが、あいにくとSBTでのやり方知ら…

PostgreSQLにサクっとつないでみる。

環境は、sbt0.7.7, scala2.9.1 で作成。 Projectの設定にザクッと以下を流し込む。 val posgresDriver = "postgresql" % "postgresql" % "9.0-801.jdbc4" val squeryl = "org.squeryl" %% "squeryl" % "0.9.4" で、update かけたら以下のようなDatabaseModel…

日曜にやったことぺたり

色んなコードを逆コンパイルして、実装眺めてた。 ても、結構色んなパターンやったくせにログが残ってないので、やったことの記憶を辿って一部だけ。 (貼りつけるだけで面倒)まずは object の実装。 package sample object HelloWorld { def tak( x:Int , …

Scalaでモナド使うことはあまりないけど、わかりやすいのがあったのでメモ。

http://blogs.dion.ne.jp/keis/archives/5880105.htmlカリー化の部分が少々間違ってた気がするけどそれはそれ。http://www.sampou.org/haskell/a-a-monads/html/いいガイドだとは思うけど量が凄いね。

コンソールでScala使う場合のメモ

メモでURLだけ用意。http://blog.goo.ne.jp/byakhee/e/f538b931e5ee68318a2235e202bb9b80

末尾呼出と最適化

ある関数Aが、Bを呼ぶだけの場合、Bの呼び出しをジャンプで呼び出すと、スタック消費が無いとか、諸々最適化できるという話。 コレが Tail call optimization なわけですが、Scalaの2.8では自動でやるどことか、Trampoline for Tail Call までやるらしい。 …

Scala で linq

集合要素にかけて使えるLINQ、Scalaならありそーかなーと思ったら速攻見つけたのでメモ。 https://github.com/vladimirk/scalalinq/ 一度これに慣れちゃうとアウトよね。

Scalatra で開発する環境メモ

概要とかは知らんが、Scala という言語自体がいいのと、Scalatra の仕様がシンプルでわかりやすいので、自宅で揃えてみた。http://d.hatena.ne.jp/fits/20100810/1281429835 http://d.hatena.ne.jp/Naotsugu/20110501/1304363927これだけ用意しとけば動く。 …