![sbtのマルチプロジェクト構成によって関心事を分離する - CARTA TECH BLOG](https://cdn-ak-scissors.b.st-hatena.com/image/square/9106aca260f7f7b3a8b291b34c2cf879c4feae8a/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F61vSRgWto0L.jpg)
Welcome This is the landing page for all my nerdery. I hope you enjoy. object ScalaInDepth extends Book { def url = "http://www.manning.com/suereth" } object Scalawags extends Podcast { def url = "http://scalawags.tv" def cohosts = Seq("Daniel Spiewak", "Dick Wall") } object BigNerd extends Career { def company = "http://typesafe.com" }
2012-04-11 / sbt XML ベースのビルドツールと比較すると sbt はビルド定義を (.sbt と .scala の両方とも) Scala を使って書くという違いがある。それにより一度 sbt のコンセプトや演算子を押さえてしまえば、ビルドユーザが sbt プラグインを書き始めるのにあまり労力がいらない。 既にあった sbt 0.7 のプラグインも移植してきたが、オリジナルのも書いているのでまとめて紹介したい。 sbt-dirty-money sbt-dirty-money は Ivy キャッシュを何となく選択的に消去するためのプラグインだ (~/.ivy2/cache 下の organization と name を含むもの)。たった 25行の簡単な実装だけど、clean-cache と clean-local の 2つのタスクは僕の役に立っている。 例えば、何かプラグイ
Scala でもやるかとぶつやく同僚を見て, たしかに Scala したいかも...などと意思の弱い私は気をそそられ, しかし特に書くものも思いつかずなんとなくウェブをぶらぶらしていた. そういえば Heroku が Scala をサポートしたニュースを読んだっけと検索すると, たしかにアナウンスがあった. このアナウンスにあるサンプルコードは面白い. Lift でも Play でもなく, Twitter の RPC フレームワークである Finagle が使われている. Finagle でサンプルを書いた理由の一つは画面におさまる簡潔さ, あとは流行り物の目新しさだろうけれど, Heroku の勧める Polyglot Platform の ありかたを示す意味もある気がしなくもない. Polyglot Polyglot という言葉を最初に目にしたのは プロダクティブプログラマ だったと思
Scala+Lift 関連目次 前回、Oracleへの接続ができたので、今回はOracleとMysqlに繋いでモデルごとに接続先のDBを定義してみる。 接続設定 例によってpropsにOracleとmysqlの接続設定を書く。 oracle.db.driver=oracle.jdbc.driver.OracleDriver oracle.db.url=jdbc:oracle:thin:@HOST:1521:SID oracle.db.user=USER oralce.db.password=PASSWORD mysql.db.driver=com.mysql.jdbc.Driver mysql.db.url=jdbc:mysql://HOST/DBNAME?user=USER&password=PASSWORD コネクション取得処理 bootsrap.liftweb.Boot.scala
参考: JSON Support | Lift Project | Assembla Scala標準にもjsonパーサとかありますが、lift-jsonのほうが人気。 基礎知識 A central concept in lift-json library is JSON AST (Abstract Syntax Tree) which models the structure of a JSON document as a syntax tree; all features are implemented in terms of AST. It provides a case class for each of the above mentioned JSON primitive and structured type, and provides functions used to tra
前回はLiftの基本的な使い方を紹介し、簡単なウェブアルバムサービスを作りました。今回はこのウェブアルバムサービスを拡張しながら、より発展的なLiftの機能やテクニックを紹介していきます。 今回紹介することは次の通りです。 ユーザーアカウントの扱い方 Boxモナドを使ったテクニック Ajaxの実装方法 前回作ったウェブアルバムサービスではすべてのアルバムが公開されました。しかし、実際は家族や友人だけにみてほしい場合もありますよね。例えば結婚式やオフ会での写真を参加者だけで共有したり、子供の成長の記録を家族や親戚で共有できたらとても便利です。 今回は前回のウェブアルバムサービスを拡張し、いろいろな人に使ってもらえるようアカウントを導入し、アルバムごとの権限を導入し、ユーザーが設定できるようにします。 1. アカウントの導入 まずはユーザーアカウントを導入します。Liftにはユーザーアカウント
Finagle is an extensible RPC system for the JVM, used to construct high-concurrency servers. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency. Most of Finagle’s code is protocol agnostic, simplifying the implementation of new protocols. Finagle is written in Scala, but provides both Scala and Java idiomatic APIs. GitHub p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く