seratch's weblog in Japanese

About Scala, Java and Ruby programming in Japaense. If you need English information, go to http://blog.seratch.net/

Scala

#akskscala で Effective Scala 読書会をやりました

#akskscala 38 で Effective Scala を読みました。http://atnd.org/events/29295以下はその時に使った要点を箇条書きにした資料です。 Learning from "Effective Scala" View more presentations from Kazuhiro Sera なかなか気づきが多く、勉強になりました…

scala-testgen を testgenerator に改名しました

scala-testgenというテスト自動生成ツールをつくりました http://d.hatena.ne.jp/seratch2/20111027/1319729947上記の scala-testgen ですが、この度「testgenerator」という名前に改名したものを 1.1.0 としてリリースしています。https://github.com/serat…

#finagle_hack で ZooKeeperServerSetCluster を使ったデモをつくりました

ZooKeeperServerSetCluster を使って Finagle サーバのクラスタをつくってみました。まずはデモをご覧ください。発表会のときに動画を用意しておけばよかったのですが、そこまで手が回りませんでした。 個々の Finagle サーバはそれぞれ単体のサーバとして立…

Yet Another DB Access Library for Scala

これは何? ScalikeJDBC は私が開発している Scala で書かれた DB アクセスライブラリです。最低限実現したいと思っていた機能は一通り実装し、実際に使いながらある程度の品質になったという感触を得たため、version 1.0.0 としてリリースしました。https:/…

ScalikeJDBC の mapper を自動生成する sbt プラグインをつくりました

私が開発している ScalikeJDBC は JDBC をラップしているだけのシンプルな DB アクセスライブラリです。https://github.com/seratch/scalikejdbcこういた類のものはその分融通は利くという利点がある反面、単純で決まりきった処理(PK検索やCRUD処理)にもそ…

ScalikeJDBC に新しい API を追加しました

ScalikeJDBC という Scala のシンプルな JDBC ラッパーを開発しているのですが、今回新しい API を追加してみました。https://github.com/seratch/scalikejdbc 経緯 元々の DBSession を使った API は、当時 Twitter の Querulous というライブラリが気に入…

#akskscala 36 は Play20 ハンズオンをやりました

全くたいした内容ではないですが、一応 Play20 はじめての方向けに簡単な説明をしました。http://www.slideshare.net/seratch/getting-started-with-play20 Getting started with Play20 View more presentations from Kazuhiro Sera 私も Anorm 以外の部分…

Mac での Play20 開発環境構築は brew install play だけ

書くまでもない感じですが、以下のように Homebrew だけですぐに play コマンドを使えるようになります。https://github.com/mxcl/homebrew/wiki/installation $ /usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Lib…

conscript で入れた sbt が動かない問題の回避

まずお読みください conscript 0.3.4 (この記事時点での最新)までの問題で、次のリリース以降では修正済であることがわかりました。 回避方法 cs harrah/xsbt --branch v0.11.2上記のようにして cs で入れた sbt を起動すると Error during sbt execution:…

ScalikeJDBC と Anorm の連携

Scala で ScalikeJDBC という JDBC ラッパーを開発しています。http://ls.implicit.ly/seratch/scalikejdbchttp://github.com/seratch/scalikejdbcAnorm と連携はできるのですが、以下のようにしないといけないという問題があってイマイチでした。 import an…

Play20 で ScalaTest を使ってテストを書く方法

specs2 以外を使っていいのか? The default way to test a Play 2 application is by using specs2.http://www.playframework.org/documentation/2.0/ScalaTestしかし play-test のソースコードを見る限り、2.0 時点では Helpers などが specs2 の API に依…

Play Framework 2.0 ソースコードリーディングの会 #play_ja で Anorm について話しました

Play Framework 2.0 ソースコードリーディングの会 http://partake.in/events/310d72cb-b5b2-4503-98c7-df5887582c27 Reading Anorm 2.0 View more presentations from Kazuhiro Sera @yusukey さんによる録画。声が小さくてすみません。

Monty Hall Problem in Scala

http://d.hatena.ne.jp/hiratara/20120330/1333122309id:hiratra さんのモンティ・ホール問題が面白かったので、hiratara さんのサンプルをちょっといじってみました。https://gist.github.com/2258356確率的には変えた方がよいとしても、実際に場面に直面し…

MacBook Air のセットアップでやったこと

設定 Modifier Keys... System Preferences > Keyboard > Keyboard > Modifier Keys...JIS キーボードの Control と Command 入れ替え。 US キーボードは caps lock に command、command には control で入れ替え。 もうこれで慣れてしまっているので。 Keyb…

Scala言語仕様 2.8 リーディング - 6 式

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

Scaruby というのをつくりました

Ruby で書かれた Scala API です。私が Scala との差分を知りつつ Ruby を学習する目的で書きました。https://github.com/seratch/scaruby テストはそれなりに書いてあるのである程度の品質は確保していると思いますが、Ruby をやるなら Ruby らしく書くべき…

Scalatra 2.0.3 ソースコードリーディング

Scalatra 2.0.3 を読みました この記事は Scalatra 2.0.3 を対象に書かれています。 ScalatraServlet と ScalatraFilter まず Scalatra のコントローラの基底 class/trait には ScalatraServlet と ScalatraFilter の二つがありますが、どのように使い分ける…

Scala 言語仕様読書会メモ

Akasaka.scala でやっている言語仕様読書会の記録です。1 字句構文 2 識別子・名前・スコープ 3 型 4 基本的な定義と宣言 5 クラスとオブジェクト 6 式

Scala School 意訳一覧

Scala School の抄訳と原文で説明があまりない点を少し補足しています。http://twitter.github.com/scala_school/index.htmlScala School 意訳(Basics) Scala School 意訳(Basics continued) Scala School 意訳(Collections) Scala School 意訳(Pattern matc…

Scala の入門記事一覧

ある程度 Java がわかる初心者の方向けに簡潔にまとめる事を目的に書いています。Scala の開発環境入門 オブジェクト指向言語としての Scala 入門 Scala での関数導入 Scala のコレクション入門 Scala のパターンマッチ入門 Scala の implicit(暗黙)入門 S…

scala.concurrent.ops を使ったサンプル例

Scalaのバージョン この記事が対象とするScalaのバージョンは「2.9.1.final」です。 API document http://www.scala-lang.org/api/2.9.1/scala/concurrent/ops$.html 並行処理(spawn) spawn{ } の中はその場限りの別スレッドで処理されます。 import scala…

Scala言語仕様 2.8 リーディング - 5 クラスとオブジェクト

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

Scala言語仕様 2.8 リーディング - 4 基本的な定義と宣言

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

Scala Style Guide リーディングメモ

Scala Style Guide http://docs.scala-lang.org/style/ Overview Scala では(Java との)相互運用を容易にするために Java に似たしきたり・やり方になる傾向がある Java だけでなく Standard ML・Haskell・C#・OCaml・Ruby・Python の慣習・イディオムを取…

specs2 の Acceptance specification を使う

specs2 には二種類の書き方がある http://etorreborre.github.com/specs2/guide/org.specs2.guide.QuickStart.html Unit specification 「org.specs2.mutable.Specification」です。specは実装コードと交互に記述されます。 単体のクラスについて記述するた…

Play 2.0 Scala プロジェクトのセットアップ手順

Mac の方はこちらもどうぞ http://d.hatena.ne.jp/seratch2/20120410/1334074688 Windows での手順 Play 2.0 Scalaの検証をしているので、最初の手順をまとめました。特に理由はないですが、Windows上で試した記録です。 Windowsでplayコマンドを起動すると…

Scala言語仕様 2.8 リーディング - 3 型

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

#akskscala でScalaFlavor4Jを紹介しました

ScalaFlavor4Jは、シンプルなJavaで実装されたライブラリです。 Function,Seq,Range,Option,Map,ParSeqなどScalaのインタフェースと互換のAPIを実装しています。https://github.com/m3dev/scalaflavor4jここでは、もう少し実際に近い形の使い方の例をあげて…

Scala言語仕様 2.8 リーディング - 2 識別子・名前・スコープ

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

Scala言語仕様 2.8 リーディング - 1 字句構文

Scala言語仕様 日本語訳(Scala 2.8) http://www.scala-lang.org/docu/files/LangSpec2.8-ja_JP.pdf 原文(Scala 2.9) http://www.scala-lang.org/docu/files/ScalaReference.pdf これはAkasaka.scala読書会の記録です これはAkasaka.scalaでの読書会の記…

FinagleのServiceとNettyの関係(Finagle 1.2.3)

この記事は Finagle 1.2.3 について書かれたものです 外部インタフェースの互換性は維持されていますが、4.0.2 時点での実装をみると内部的にはかなり変更されているようです。 FinagleはNettyのラッパー FinagleはNettyの薄いラッパーになっています。サー…

Scala School意訳(Java + Scala)

http://twitter.github.com/scala_school/java.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-11-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただければ幸…

Scala School意訳(Concurrency in Scala)

http://twitter.github.com/scala_school/concurrency.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-10-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただけ…

Scala School意訳(Testing with specs)

http://twitter.github.com/scala_school/specs.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-09-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただければ幸…

Scala School意訳(More collections)

http://twitter.github.com/scala_school/coll2.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-08-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただければ幸…

lsの使い方

ls-sbt 0.1.0 の時点で書いているので、最新の情報は以下をご確認ください。http://ls.implicit.ly/ https://github.com/softprops/lsというか、本家に書いてある内容を順序立てて日本語で書いただけなので本家を見たほうが早いかも、、です。 lsとは? sbt …

scala.util.control.Exception._を使ったサンプル集

参考 Scala Standard Library 2.9.1.final /scala/tags/R_2_9_1_final/src/library/scala/util/control/Exception.scala – Scala Scalaでの例外処理 - Either,Option,util.control.Exception - ( ꒪⌓꒪) ゆるよろ日記 サンプル 以下のサンプルはscala.util.c…

#daimonscala 21 Example2

以下のJavaコードをScalaで書き換えてみましょう。 関数の定義の練習用課題です。 サンプル例は以下です。

#daimonscala 21 Example1

以下のJavaコードをScalaで書き換えてみましょう。 class、object定義の練習用課題です。 サンプル例は以下です。

Scala School意訳(Advanced types)

http://twitter.github.com/scala_school/advanced-types.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-06-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いた…

Scala School意訳(Pattern matching & functional composition)

http://twitter.github.com/scala_school/pattern-matching-and-functional-composition.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-04-lesson.textile誤訳などありました…

Scala School意訳(Type & polymorphism basics)

http://twitter.github.com/scala_school/type-basics.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-05-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただけ…

Scala School意訳(Collections)

http://twitter.github.com/scala_school/collections.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-03-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただけ…

Scala School意訳(Basics)

http://twitter.github.com/scala_school/basics.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-01-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただければ…

Scala School意訳(Basics continued)

http://twitter.github.com/scala_school/basics2.html以下は私の方でtypoや表示崩れを直したものです。https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-02-lesson.textile誤訳などありましたら、お手数ですが、ご指摘いただければ…

scala-testgenというテスト自動生成ツールをつくりました

少し前になりますが、scala-testgenというライブラリをつくりました。Scalaのテストケースのひな形を自動生成するツールです。https://github.com/seratch/scala-testgen https://github.com/seratch/testgenerator セットアップ scala-testgen testgenerato…

RegexParsersで手軽にScalaのパーサコンビネータを使ってみる

入門記事の一覧 About - case class HatenaDiary(id: Symbol = ’seratch2) Scalaのバージョン この記事が対象とする Scala のバージョンは「2.9.1.final」です。 お読みになる前に パーサコンビネータの体系的な入門についてはこちらの記事やコップ本などの…

Scalaのユニットテスト入門

何を使うべきか? 公式サイトのForumにて http://www.scala-lang.org/node/9826 Java における JUnit のようなデファクトスタンダードはないの? ScalaTest を使うとしてどのスタイルが一般的?(JUnit、BDD、Features、FunSuite・・) ScalaTest、specs(specs…

Akka Actor 1.x 導入

対象とするバージョン この記事は、Akka 1.1.3 を対象に書かれています。 Akkaとは? Scale up (Concurrency) Scale out (Remoting) Fault tolerance Akka は Scala/Java でイベント駆動型のアプリケーションを書くためのフレームワークです。Scala 標準の A…

Scalaの開発環境入門

前提となるもの Scala は JVM 上で動く言語なので JDK は必須です。 必須:JDK1.5以上 sbt を使おう Java 経験者の方はとりあえずは慣れている maven ではじめてみるでもよいとは思います。しかし、Scala では sbt がビルドだけでなく開発に関するデファクト…