本連載の第1回から第3回までは、主にmoonlinxのインフラ技術を説明してきました。今回からはmoonlinxのウェブアプリケーション技術に着目して解説していきたいと思います。 デプロイツール「Capistrano」の魅力 ウェブメディア「moonlinx」では、moonlinx Membership Centerと呼ばれるクリエイター向けの登録制会員サービスを運営しています。これは、デザイナーや音楽活動を行うアーティストをターゲットとしたサービスであり、クリエイター自身の活動をプロモーションするツールとして活用できるサービスです。 このMembership Centerでは、フレームワークとしてRuby on Railsを利用して開発しています。また、PhusionのPassengerを利用して、Apache2上で動作させています。 Railsの運用環境は、MongrelとMongre
昨日、meeting/17 - Shibuya.trac第12回勉強会~チケット管理システム大決戦 第二弾~Shibuya.trac Wiki - SourceForge.JPが開かれた。 UStreamで観戦して、とても面白かったです。 スタッフの皆さん、お疲れ様でした。 実際の議論を聞いて参考になったとともに、Redmine派の自分としては、@daipresentsさんの話がもっと聞きたかったな、と思っている。 今の僕の興味は、一プロジェクトでITSを使ってプロジェクト管理することよりも、1個の事業部、1つの会社全体へRedmineのようなITSを導入して運用して、ソフトウェア開発の基幹業務システムにしてしまいたいという思いに移っているから。 僕もRedmineを4年間使ってみて、一プロジェクトの事例はたくさん経験したし、ボトムアップで成功例を作ることで他チームへ影響させることができる
このウェブサイトは販売用です! twiwt.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、twiwt.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
って、日本のギークならそういうんだろうなー みなさんCoffeeScript使ってますか?ちょっとjsわかる人ならすぐ覚えられて、文法が平易で、かつRubyやPythonぽく拡張されてるので非常にストレスが少ないです しかも、元のJSの特性をほとんど妨げないようになってるので、jsでできてcoffeeでできないことはほとんどない。(まったくない、かはちゃんと確かめてませんが… ないと思います) 雰囲気、インデントブロックのRuby記法のような印象。 というわけで元ネタは 10 CoffeeScript One Liners to Impress Your Friends | ricardo.cc です CoffeeScriptインストール済なら、$ coffee -i、もしくは $ coffee で対話インタプリタ起動します 1. リストに含まれるアイテムを2倍に coffeescript
scala の BDD フレームワークである specs について調べた こんな感じのクラスをテストするとする。 class Foo { def foo: String = { "foo" } } 基本形(Eclipseの場合ScalaApplicationとして実行可): import org.specs._ object FooSpec extends Specification { "Foo#foo が 'foo' を返す" in { val foo = new Foo foo.foo must_== "foo" } } JUnit として動かす場合(EclipseでJUnitで実行可): import org.junit.runner.RunWith import org.specs.runner.JUnitSuiteRunner import org.specs.Specific
どもー。お久しぶりのyamadaです。Parmyでは一応アプリエンジニアとして通ってるみたいなので、今回はアプリな小ネタを紹介しましょう。 ParmyではScalaを標準言語として採用しています。開発のアーキテクチャをどうしようかという議論は常々されていて、日々色々な検証をしている最中です。 ところで、Scalaと一番親和性のあるビルドツールはsbt(simple build tool)なのですが、個人的にはまだまだMavenも捨てがたいなーと思っています。単純にScalaプロジェクトだけをやっていくならsbt一択で良いかもしれませんが、androidとか他の類のプロジェクトもあったりするので、ある程度統一された手法の方が運用もしやすいのかなという考えもあります。Mavenはとっつきにくさもありますが、自分のものにすればもの凄い力を発揮しますし、割と万能的?に使えるので選択肢の一つとしては
2011/07/03:末尾に補足を追記しました。 id:xuwei さんのエントリから引用します。 最近ちょっとRubyやってたりします。で、RubyのEnumerableにgrepっていうメソッドがあるらしいけど、Scalaには直接対応するものがないので、かなり雑につくってみた 誰得?(・ω・`)っていうか、ジェネリックにしようとしたら意外と難しくてできなかった*1んだけどどうやるの・・・Scala1年半以上やっててそんなこともできなくて死にたい orz まず、 id:xuwei さんが、本来満たしたい仕様を実現するのはさほど簡単なことでもないので*1、特に気される必要は無いかと思います。 説明が長くなるので、先に結論から言うと次のコードで id:xuwei さんの要求を満たすことができます。 このコードは次のようにして使うことができます。 REPLの例を見ていただければわかるように、S
Optionを要素に持つListから、Someである要素だけについて何らかの処理をした結果をMapで返すにはどうするのがScalaらしいのだろう? 例えばこんな感じ? scala> val ol = List(Some(1), None) ol: List[Option[Int]] = List(Some(1), None) scala> Map() ++ ol.flatMap { _ match { | case Some(i) => List( (i -> i*2) ) | case None => List() | }} res3: scala.collection.immutable.Map[Int,Int] = Map( (1,2) )こんな風にするとイイよ!という書き方があったら誰か教えて〜。 追記(2011.2.14) コメントでより良い書き方を教えて頂きました! scala
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く