開発合宿

「Play部屋 – Play 2.0 Javaはじめて&もくもく会」をはじめます

「Play部屋 – Play 2.0 Javaはじめて&もくもく会」というイベントをはじめてみます。

第1回は、2013/1/15です。

「Play部屋 – Play 2.0 Javaはじめて&もくもく会」

今後どうなるかわかりませんが、Play 2.0 Javaを中心とした会になる予定で、まだPlayをやったことない人へも積極的にサポートしていこうと思っています(Java版をやっていっても徐々にScalaの本体コードを読んだりするので、Scalaの知識も増えると思います)

あと、Akka、Scala、sbt、WebSocket、HTML/CSS/JSプリプロセッサなどなどPlayで使われている技術もはじめてチャレンジしてみようという企画も今後考えてます(あくまで予定)

もちろん、ガチなひとがガチにもくもくするのも大歓迎です。 僕も手が空いた時とか自分のPlayプロジェクトをもくもくしたりもしようかなとか考えています。

とりあえず、以下今日のためのチート用リンク(今後いろいろ追加予定)

本家

ドキュメント

DLしたPlay framework本体の下記にPDFのドキュメントが含まれている

documentation/Play 2.0 Documentation.pdf

インストール

Documentation: Installing — Playframework を参考にインストールしてください。

といっても、JDK 6以降を入れて(入ってればそのままで)、DLしたZip内にパスを通すだけです。 あとは、[$ play help]コマンドで無事パスが通っているかの確認を行いましょう。

play consoleについて

総合ヘルプ

$ play help

起動

$ play

新規アプリケーション作成

$ play new HOGEHOGE

操作方法は

[app] help play

実行

[app] run

停止

^d もしくは ^c

本番実行

[app] start

本番停止

RUNNING_PIDに書かれているプロセスを削除

コンパイル

[app] compile

チュートリアル

読んでおいたほうがいいもの

以下追加予定

Read More

2012年のkara_dの活動を振り返ってみる

新年一発目のブログ初めということで2012年をざっくりと振り返ってみます。

デザイントレンド関係

1998年にWebデザインの専門メディアDesign Wedgeをはじめて以降、様々なオンラインメディアや紙メディアでデザイントレンドを担当しつづけてもう15年目ということになりました。 近年ではCSS Niteの年末特設イベントShiftにて、デザイントレンドを担当し続けて6年目を迎えています。 12月25日に行われた

CSS Nite LP, Disk 25:Webデザイン行く年来る年(Shift6)

も無事終える事が出来ました。 デザイントレンドについては、2012年は、いくつかの地方版を開催していただきました。

まずは、東京版の再演版

CSS Nite redux, Vol.6(2012年1月14日開催)

を皮切りに、 青森にて

WDHA#32「配色でみる2011年のデザイントレンド&2012年の傾向予想」

大阪にて、

『Webデザイントレンド with ワークショップ』- 第7回リクリセミナー(大阪)

山梨にて、

CSS Nite in KOFU, Vol.1(2012年7月21日開催)

長野にて

CSS Nite in SHINSHU, Vol.1

という感じでいくつかのセッションを担当させていただきました。(また呼んでいただけたら嬉しいです)

その後、はじめての地方自治体専門版である

CSS Nite in Ginza, Vol.66(2012年11月15日開催)

をユニバーサルワークスの清家 順さんと担当しました。

Play framework関係

Play frameworkは、ここ2年くらいがっつりと取り組んでいるWebアプリケーションフレームワークで、先述のデザイントレンドのクローラー&キャプチャアプリケーションもPlayでできています。Scalaで記述されたフレームワークで、Scala/Javaで開発ができます。

Play関係のトピックでは、JavaOne Tokyo 2012というJavaの大きなイベントで、Play frameworkのことを話す機会があり、1セッションを担当してきました。

JavaOne TokyoでPlayFrameworkとWebSocketのことを話してきました

このイベントは、Playのことを話す機会に恵まれただけでなく、セッションを担当するにあたっていろいろな内部コードを読んで勉強するいい機会にもなりました。これがなかったら今よりも浅い理解だったと思います。

また、

第3回Playframework勉強会 #play_ja – 日本Playframeworkユーザー会

のユーザー会イベントでも「2.0Javaのオススメと、1.2からのアップグレード」というタイトルで1セッションを担当しました。 その他にも

【エンジニアカフェEvent】PlayBay – PlayFramework+WebSocket勉強会

を行ったりと、PlayBayという名義でいくつかの勉強会やハッカソンイベントを開催したりしました。

2012年はPlay frayworkを導入した実案件のフェイズ2ということで運用面でも試行錯誤を行った年でもありました。Play 1.2系とオープンソースの統計言語であるRの連携を行っています。

執筆関係

執筆関係では、2011年末に出た以前執筆した書籍の第2版、

ウェブの仕事力が上がる標準ガイドブック 3 Webディレクション 第2版

と、CakePHP 2.0の書籍である、

WebデザイナーのためのCakePHPビューコーディング入門 [単行本]

そして、

Web制作標準講座 [総合コース] ~企画からディレクション、デザイン、実装まで~

を出版しました。 「WebデザイナーのためのCakePHPビューコーディング入門」は、MVCのうちMとCをプログラマが、Vをデザイナーが担当することで効率的な分担とスムーズなコミュニケーションを実現させましょうという書籍です。PHPというデザイナーになじみがある言語で、なおかつ命名規約の縛りが強くコードが均一化しやすいCakePHPをフレームワークに選んでいます。

今でこそPlay frameworkに夢中ですが、その前はCakePHPに大変に夢中で、仕事で使ってきたりしました。

この書籍は関連イベントも行い、盛り上がりました。プログラマー向けの本はあってもデザイナー向けのこういう書籍はなかったので一部で話題になったようです。

「Web制作標準講座 [総合コース] ~企画からディレクション、デザイン、実装まで~」では、主にサーバー系の解説を担当しています。この本はマーケティングから実装まで幅広い内容となっているので、これから勉強したい人や、おさらいをしたい人に結構オススメの書籍です。

ノマド関係

2012年は、フリーランスとして仕事をしていたために、様々なノマドワークを実践しました。

年初までは

勉強・ビジネス・カフェに、ソーシャルコミュニティスペース パズル芝浦

にて主に作業を行っていましたが、5月からは

NOMAD NEW’S BASE

にてノマドワーク(半定住だからノマドとはいわないのかも?)をするようになりました。

2012年の仕事内容としては、デザイントレンドを中心とした現状分析から、フロントエンドの実装(HTML5/CSS3/JavaScript)、そしてバックエンドまわりの開発サポートまで一人垂直統合的にいろいろとやってきた感があります。

その後、縁があり、コワーキングスペースの運営者の一人として、「コワーキングスペース茅場町 Co-Edo」を運営するに至ったのが2012年の12月です。この話は後でちゃんと書こうと思います。

フリーランスから法人化へ

法人化は、4月くらいから考えていましたが、様々なイベント、仕事などでなかなかまとまった時間がとれなかったので、結局12月に法人化を行う事が出来ました。 会社名はグレーティブ合同会社(英語名:Greative LLC.)と言います。Play frameworkを実装技術の中心とした会社になる予定です。プログラミングや統計をベースとしつつ、クリエイティブ領域の問題解決を行うお手伝いをしていこうと考えています。

Play frameworkは、静的型付けコンパイルな言語で堅くしかも高速なアプリケーションを作れるにもかかわらず、RailsやCakePHPのようなアジャイルライクな開発に向いているフレームワークです。こういった方向性のアプリケーション開発/デザインがありましたら、是非お声がけください。

以上、リストを挙げてみると、いろいろなイベントを行ってきたなあというのが2012年の印象でした。

2013年も頑張っていこうと思います。

本年もよろしくお願いします。

Read More

Short filter module for Play2!をリリースしました

Play framework 2.0 で、Play各種テキストフィルターやエスケープなどの処理を簡単に記述できるPlayテンプレートタグ系のプラグイン「Short filter module for Play2!」をリリースしました。

というか、リリースしましたなんていうのもおこがましいプラグインなのですが、、、。

たぶん世界最小のPlayプラグインだと思います(笑

そもそもの話

元々、これはPlayの中の人であるErwanさんの飲み会の時に、相談したもので、現状Scalaテンプレート内で「{」や「}」を使用する場合は、必ず対にするという必要があります。

「{}」部分は、テンプレートシンタックスでない部分もパースされてしまっているため、対でないと怒られるというわけです。

そこで、例えば「@{」とか「@}」みたいに書けると結構嬉しいという話をしました。が、僕自身はすぐにでもこれを使いたいので、どうやって実装していいかいろいろ探りました。

1つは、play.api.templates.ScalaTemplates.scala をいじる方法。
これは、頑張ってソースを読み解いていったのですが、具体的にどう改善していいかよくわかりませんでした(笑

そこで、別の方法としていくつかの実装を考えてみたのですが、結局落ち着いたのは、@format.raw(“STRING”)の短縮版でいいんではないかという結論です。

導入と使い方

導入方法は、Playプロジェクト内のproject/Build.scalaに

val appDependencies = Seq(
  "jp.greative" % "play2-short-filtr_2.9.1" % "0.1"
)

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
  resolvers += "Greative Repository" at "https://github.com/karad/maven-repo/raw/master/release/"
)

と書いて、プラグインを組み込みます。

文法は、

@r("{や}などのエスケープしたい文字")

しか今のところはありません(笑

Scalaテンプレート内で、例えば

@import tags._

@main() {
   
    @r("{")
        OUTPUT
    @r("}")

}

のように記述すると、

{
    OUTPUT
}

と出力されます。

それだけのプラグインです:笑)

あ、でも、いろいろ今後タグを増やしていく予定ですよ!

今回は、タグ型のプラグインの配布練習みたいなことも兼ねてます。
コンソール型のプラグインに比べたら遥かに簡単に作成でき、すぐ配布できますね。

Read More