引き続きデブサミ2014。 ドワンゴ吉村総一郎氏によるセッション「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」を聞きました。 いろんなところで良く聞くPHPレガシーコードにどう立ち向かったのか聞いてみたかったです。 案の定というか、想像以上のPHPレガシーコードっぷりにちょっと感動すらしましたがw profile 株式会社ドワンゴ 吉村総一郎氏 ウォーターフォール開発とアジャイル開発の両方のマネージャー経験 スライド ニコニコ生放送を書き直す理由 コードの技術的負債がやばい PHPで書かれている: 300万行! facebookで1000万行と言われているそう 1万行のクラスや4000行のメソッド 循環的複雑度600超のメソッドががが あまりに複雑過ぎて龍の巣と言われている(笑) まさに壊れかけのジェンガのよう 企画やスケジュールを優
以前、ScalaJpのgitter.imでDDDについて議論が盛んに行われてたけど、いずれログが消えちゃうのがもったいなくて、ここに内容を貼付けます。 scalajp/public - Gitter 要約すると実践DDD本出たらみんなで読もうぜ。ってことで。 実践ドメイン駆動設計 (Object Oriented Selection) 作者: ヴァーン・ヴァーノン,高木正弘出版社/メーカー: 翔泳社発売日: 2015/03/17メディア: 大型本この商品を含むブログ (1件) を見る ホントは、自分のブログとかじゃなくてGistとかがいいんだろうけど、見た目を整えるのが一番楽なので、ここに掲載しておきます。 一応、最初にまとめるにいたった経緯↓ xuwei-k 2015年2月24日 gitter、無料だとログの保存期間2週間って話だったけど、実は現状全部残ってる https://gitte
GitBucketとは GitBucketはたけぞうさんという方が開発されているGitHubのクローンアプリです。 Scalaで書かれており、驚くほど簡単に導入することができるのが特徴です。 OSSのGitHubクローンといえばGitLabがメジャーですが構築の手順が複雑かつ面倒なため、 使い始める前に構築段階で挫折した経験のある人も多いのではないでしょうか。 対するGitBucketはwarファイルを実行するだけという手軽さです、素敵!! より詳しいレビューはこのあたりを参照してください。 背景 とあるクラウド環境にGitBucketを導入する機会があり、 せっかくなので vagrant + ansible で導入を自動化するplaybookを書いてみました。 以下のクラウドプラットフォームで導入検証をしました。 AWS DigitalOcean したごしらえ Case: AWS vag
まずは トレイト の感じを掴んでみYO! 色々な意見があるかもしれないけど、トレイトをこういうモノだと思っている。 機能を切りだして、再利用可能な塊にしたモノ トレイトはJavaのインタフェース(interface)に近いモノという説明もある。 確かに、Javaのインタフェースのように使えると思うんだけど なんかスッと入ってこないんだよね。 まだまだScalaの修業が足りないせいかもしれない。 トレイトの特徴 Scalaのトレイトには、以下な大きな特徴があるよ。 traitキーワードで定義 クラスパラメータを取ることができない メソッドを実装できる クラスや他のトレイトにミックスインできる 任意の数をミックスインできる 純粋ではないが多重継承ぽさがある この特徴に沿って説明してみるね。 traitキーワードで定義 早速トレイトを定義してみよう。
みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。本エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆
これは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
Play framework で Java Web アプリケーション開発をもっと簡単に ついに Web デベロッパによって Java フレームワークが開発されました。 ぶくぶくに膨れ上がったエンタープライズ Java をクリーンに置き換える魅力に気付いてください。 Play は開発者の生産性に注目し、RESTful アーキテクチャを目指します。 ★ リリース 1.0.2 ダウンロード そして はじめてみよう ! 概要 バグを直したらリロードするだけ Java ファイルを修正して、保存して、ブラウザをリロードすれば、すぐに結果を見ることができます! コンパイルもデプロイもサーバの再起動も必要ありません。 ステートレスモデル Play は "Share nothing" なシステムです。 同じアプリケーションの多数のインスタンスを複数台のサーバ上で動作させることで容易にスケールし、REST に
神戸らへんでScalaでなんか話すためにScalaを起動しようとしたらインストールされてなかったのでセットアップしたときの話。 - MacなのでScalaはbrewでインストールします。 brew install scalaいっぱつ。これでscalaは使えるんですけど、vimで書く時のハイライトが欲しくなる。どうやらsbazってのでscala-tool-supportをインストールしたらその中にあるらしい。 でもsbaz?そんなコマンドないよ…。 どうも私がbrewでインストールしたscala-2.9.2には入っていない模様。scala-2.9.1をインストールしたら入ってた。ちとアレコレしたのでメモっておく。 過去バージョンのインストールは、versionsで見て、checkoutして、installする。 $ brew versions scala 2.9.2 git checkout
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く