これはScalaを使った開発の雰囲気を感じてもらうための文章です。 ここでできるようになること Scalaプロジェクトの作成 簡単なScalaコードの作成 テストコードの実行 ログの表示 コードの実行時間の計測 システムにインストールできる形のパッケージを作成 準備 UNIX環境(Linux、 Mac OS X、あるいは Cygwin をWindowsでセットアップする) javaコマンドが使えること (環境変数PATHの設定など) その他、curl, GNU makeなどのコマンド インターネット接続 (ここから15分です) Scalaプロジェクトの作成 Scalaプロジェクトの必要最低限のひな形をGitHub上にscala-minとして作成してあります。以下のようにダウンロードしながら展開します。 $ mkdir myproject $ cd myproject $ curl -L h
Jenkinsを使用してメトリクス測定の結果をグラフ化し、プロダクトに対する品質向上の指針としています。以下はそのグラフの例です。 これらのことを行うsbtとJenkinsの設定方法について以下で解説していきます。 sbt設定について テスト結果レポートを出力するためのsbt設定 Specs2 を使用してテストを行う場合、build.sbt に以下を設定します。 testOptions += Tests.Argument(TestFrameworks.Specs2, "console", "junitxml") カバレッジレポートを取得するためのsbt設定 scct という Scala プログラムのカバレッジツールを使用します。 http://mtkopone.github.com/scct/ resolvers += Classpaths.typesafeResolver resolv
Nettyと言えばJavaのノンブロッキングIOのAPIであるNIOをラップしたフレームワークとして、TwitterのFinagleなどで分散ネットワークアプリケーションシステムで使わていて高速で実績のあるライブラリとして有名ですが、ノンブロッキングIOでイベント駆動のサーバークライアントのネットワークアプリケーションを知るのに非常に良い題材ですので、素人翻訳ですがその日本語訳を公開することにしました。 ちなみにNettyがどれぐらいパフォーマンスに優れているのかというと、Herokuの仮想インスタンスを利用した実験の結果が参考になります。Scala(Finagle)がNettyの実装を利用したものになりますが、秒間6000リクエスト時の1dyno(APサーバー)の応答が秒間4000レスポンスで、C(Accept)、Java(Jetty)、Java(Tomcat)、Js(Node)、Pyt
コードレビューについて Oh, you `re no (fun _ → more) より引用 単に普段の開発で使っている VCS でそれを行なっていました。 つまり、コードの中にコメントの形でレビューを書き、それをコミットする。 そしてそこから派生する議論も全てコード上のコメントで行います。 (もちろん複雑な話になった場合は直接の議論を行い、合議の結果だけを記しておく、なども当然あるでしょう。) レビューをソースコードのコメントとして直接書き込むのは、GHC の開発でも時々見かけますね。例えば、新機能の開発 branch を作って、新しい機能を開発している時とか。 2012-08-14 18:44:19 via OpenTween まあ、主に入った変更に Simon Peyton Jones が(ソースコード上で直接)コメントしそれに従ってソースコードを修正する形なので、レビューと言えるほ
俺はLTなどの資料に使うためのネタ画像をTumblrで収集してるのですが、いざスライドに画像を貼ろうと思ったらTumblrから検索して落としてこなきゃいけなくてめんどくさいです。 ってことで、Tumblrから画像を落とすプログラムをscalaで書いてみました。 せっかくなので、この手のフィードのようなXML的なものをげとしてほげるための定型パターンをまとめたいと思います。 まぁ処理にもよりますが、だいたい50〜60行くらいでかけるので、scalaの練習にもちょうどいいと思います。 今まで書いたのは、Gistにおいてあります。 ゆろよろのGist もっといい書き方があるよ!って場合は、おしえてくだしあ>< URLとか引数とか 引数にIDをもらって、String#formatを使ってURLを生成します。 "http://hogehoge/%s".format( args.first ) XML
http://www.publickey1.jp/blog/10/twittergizzard_scalasharding.html Gizzardてのはtwitterで使われている技術でシャーディングを行うものだそうです。 シャーディングってのはパーティショニングとレプリケーションを使ってDBを分散して管理できるようにするものらしく githubで公開されているっと。 でも、使ってみないとよくわかりません。 ということでビルドするにも、git使ってant使ってivyだの、thriftだのいろいろ最新すぎる。 で、途中までid:nigakyさんやってくれたみたいなのでリンク。 http://d.hatena.ne.jp/nigaky/20100411 id:nigakyさん様様です。 ありがとうございます。 自分もthriftがってところでビルドできず止まってたので。 ただ、gitにあるf
少し前に献本いただいたのですが(竹添さん、翔泳社様、ありがとうございます)、時間が無くてあまり読み進められていませんでした。昨日使って一通り目を通したので、ちょっとした感想を書きます。購入の際の参考になれば幸いです。 まず、結論から言うと、本書は、 (特に)Javaをメイン言語として使っている人で、Scalaを学習したい人 Scalaを使った実用プロジェクトを作り始めたい人 Scalaの各種ライブラリの基本的な使い方を知りたい人 にお勧めできる書籍といえます。主な理由としては、 現行安定版である Scala 2.9.X (現在最新安定版はScala 2.9.2) に対応している事 言語機能に関するレシピがある事 sbtを使って、実際に開発を行うために必要な記述がちゃんとあること 準標準的なライブラリ(Akka, Specs 2, 等)や新しいFW(Play 2)に関する記述が豊富な事 など
先日、Scala 2.9.0 RC4がリリースされ、正式リリース(final)までもうあと少しといった感じになって来ましたが、皆様、いかがお過ごしでしょうか。訓練されたScala使いはRCには手を出さないとも言われますが、私は新し物好きなので、RCにも手を出してしまいます。 それはともかくとして、Scala 2.9.0の最大の目玉は何でしょうか?世間的(どこの世間だというツッコミはおいといて)には並列コレクションではないでしょうか。Scalaの公式サイトでも新機能の紹介で真っ先に挙げられていますし、少なくとも一番注目されているのは並列コレクションでしょう。 並列コレクションは、公式サイトも含め、英語圏のブログなどあちこちで既に紹介されているので、このエントリではあえて、その陰に隠れてあまり注目されないが、なかなか便利なscala.sys.processパッケージについて紹介します。 sca
% play _ _ _ __ | | __ _ _ _| | | '_ \| |/ _' | || |_| | __/|_|\____|\__ (_) |_| |__/ play! 2.0, http://www.playframework.org This is not a play application! Use `play new` to create a new Play application in the current directory, or go to an existing application and launch the development console using `play`. You can also browse the complete documentation at http://www.playframework.org.j % pla
The Beginning Scala book has a great example of using partially applied functions to automatically close JDBC connections. Today I needed to use some complex SQL outside of our ORM and extended this code sample to make it incredibly simple & safe. The using and bmap methods are from the book; the query and queryEach methods are my creations: object Control { def using[Closeable <: {def close(): Un
High Scalability - High Scalability - Tumblr Architecture - 15 Billion Page Views a Month and Harder to Scale than Twitter を読んだ。すごく面白かった。 Kindle で引用したところを中心にメモ。 Tumblr のソーシャルグラフの特徴 The graph for Tumblr users has hundreds of followers. This is different than any other social network and is what makes Tumblr so challenging to scale. Tumblr だと follower が数百人いるユーザーはザラにいる。 follower の多いユーザーの post は多くのユーザ
Scala でもやるかとぶつやく同僚を見て, たしかに Scala したいかも...などと意思の弱い私は気をそそられ, しかし特に書くものも思いつかずなんとなくウェブをぶらぶらしていた. そういえば Heroku が Scala をサポートしたニュースを読んだっけと検索すると, たしかにアナウンスがあった. このアナウンスにあるサンプルコードは面白い. Lift でも Play でもなく, Twitter の RPC フレームワークである Finagle が使われている. Finagle でサンプルを書いた理由の一つは画面におさまる簡潔さ, あとは流行り物の目新しさだろうけれど, Heroku の勧める Polyglot Platform の ありかたを示す意味もある気がしなくもない. Polyglot Polyglot という言葉を最初に目にしたのは プロダクティブプログラマ だったと思
Bootstrap、Hogan.js、Finagleなど 注目のTwitter系オープンソース Twitter Tokyo Open Houseまとめレポート 山本裕介 2012/5/15 「Twitter Open House」はTwitter社のエンジニアと直接情報交換ができるオフラインイベントで、すでにサンフランシスコの本社では何度か開催している。 先日、日本では初めてとなる「Twitter Tokyo Open House」がTwitter Japanのオフィスで開催された。季節外れの大型低気圧により天候は荒れ、開催すら危ぶまれたが、結果としては多くのエンジニアが集まり盛況なイベントとなった。 OpenJDKにも参加するTwitterのアーキテクチャ 最初に講演を行ったのはTwitterのアーキテクチャのディレクターであるロブ・ベンソン氏。なでしこジャパンや天空の城ラピュタを例に挙
以前powerモードの一部の機能紹介しましたが、なんだか2.9.0でREPLのpowerモードの機能がさらに増えていて、しかもかなり便利なものを見つけたので紹介 まず :power と打つとpowerモードという、コンパイラ内部にアクセスして、あんなことやこんなことができる変態的なモードになります。2.8.1だと以下のような感じだったのですが scala> :power ** Power User mode enabled - BEEP BOOP ** ** scala.tools.nsc._ has been imported ** ** New vals! Try repl, global, power ** ** New cmds! :help to discover them ** ** New defs! Type power.<tab> to reveal ** scala>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く