タグ

ブックマーク / takezoe.hatenablog.com (13)

  • 第十一回 #渋谷java でScala.jsの話をしました - たけぞう瀕死ブログ

    今回で第十一回を迎えた渋谷javaですが、枠が空いていたので久しぶりにLTをさせてもらいました。 ネタじゃないScala.js from takezoe JVM繋がりでScalaの話でもいいだろうと思ってたのですが、よく考えたらScala.jsはJavaScriptになってブラウザやnode上で実行されるわけなのでJVM関係ないのではということに当日気付きました。大変申し訳ありませんでした。 Scala.jsはすでに普通に実用できるレベルになってきていると思いますが、現状ではIntelliJのScalaプラグインがScala.jsのCross-Buildプロジェクトをうまく扱えないという問題があります(EclipseのScala IDEだとどうなのかは試していないのでわかりません)。Scala.js側の問題というわけではありませんが、ここが解決するとさらに実用的になるのではないかと思いま

    第十一回 #渋谷java でScala.jsの話をしました - たけぞう瀕死ブログ
  • 日経ソフトウェア 2015年 07 月号 - たけぞう瀕死ブログ

    Scala連載の第6回(最終回!)が掲載されている日経ソフトウエア 2015年7月号の見誌をいただきました。今回はScalaのコレクションライブラリを活用してn-gramな全文検索を行うというサンプルです。 日経ソフトウェア 2015年 07 月号 作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2015/05/23メディア: 雑誌この商品を含むブログを見る さて、半年間に渡る連載も今回で最終回となりますが、誰にも気づかれずひっそりと終了する様を見るにつけ、カラーでウェイウェーイなどと遊んでいたのが遠い昔のことのようです。とかく敷居が高いと言われるScalaですので、ホビー的な要素を絡めることで難しさではなく楽しさを感じて欲しいという意図で始めさせていただいた連載ですが、ネタのチョイスを誤った感が否めません。 個人的にOSSの発展にはユーザの母数を増やしていくことが必要不

    日経ソフトウェア 2015年 07 月号 - たけぞう瀕死ブログ
  • ScalaMockを使ってみよう - たけぞう瀕死ブログ

    ScalaMockはScalaネイティブなモックライブラリです。ScalaではJavaベースのモックライブラリを使用することもできますが(実際、SpecsはMockitoとの連携機能を提供しています)、ScalaMockはシングルトンやfinalクラス、関数のモックを作ることができるという特徴があります。どうやっているのかというと、Scalaのコンパイラプラグインを使ってモックのソースコードを生成するという荒業を使っているようです。なので、使用する際にはいろいろと準備が必要になります。 作者の方のブログでも以下のエントリでScalaMockのチュートリアルが紹介されていますが、これをベースに実際に試してみての注意点などを含めScalaMockの使い方を紹介してみようと思います。 http://www.paulbutcher.com/2011/11/scalamock-step-by-ste

    ScalaMockを使ってみよう - たけぞう瀕死ブログ
  • Slick 3.0を試してみた - たけぞう瀕死ブログ

    Slick 3.0がリリースされたので、GitBucketをSlick 3.0にアップデートするべくいろいろ試してみました。 Slick 3.0は別名Reactive Slickというだけあり、これまでとはプログラミングモデルがドラスティックに変わっています。具体的に言うとDBIOActionというオブジェクトを介してデータベース操作の定義と実行が明確に分離されています。要するにMonadicなプログラミングスタイルになっているということです。 他にもReactive StreamsとかOptionサポートの強化などSlick 3.0の新機能はいろいろありますが、一番大きいのはこの点だと思います。 また、DBIOActionの実行は全面的にFutureベースになっています。Playなどと組み合わせて使用する場合、Slickを使った処理があってもAsyncResultで返すことができるように

    Slick 3.0を試してみた - たけぞう瀕死ブログ
  • Slick 3.0.0がリリースされました - たけぞう瀕死ブログ

    バージョンアップするたびに後方互換性を切り捨てていくことで有名なSlickですが、またもやメジャーバーションアップして3.0.0がリリースされました。 http://slick.typesafe.com/news/2015/04/29/slick-3.0.0-released.html リリースノートに書かれている主な新機能は以下の通りです。 データベースアクションを合成・実行するための新しいAPI(アッー) データベースからのストリーム検索でReactive Streams APIをサポート データベース接続の設定をTypesafe Configで改善(HikariCPのサポートを含む) ネストしたOption型、非プリミティブなOption型のサポート Option型のサポートの改善に基づいた型付けされた外部結合 コンパイル時に型チェックが可能な新しいマクロベースのPlain SQL

    Slick 3.0.0がリリースされました - たけぞう瀕死ブログ
  • GitBucket 1.0リリースしました - 新・たけぞう瀕死の日記

    warファイルをサーブレットコンテナにデプロイするだけで利用可能なGithubクローン、GitBucket 1.0をリリースしました。 https://github.com/takezoe/gitbucket 当初の目標(6月末)からは少し遅れてしまいましたが、Gitリポジトリの作成、リポジトリビューア、Wiki、Issuesなどは一通り実装しており、なんとか実用に耐えうる機能は揃っているのではと思います。フォークやプルリクエスト、タイムライン、チーム管理、メール通知などまだまだ未実装の機能は多いですが、今後のバージョンアップで随時機能を追加していきます。 フレームワークとか 少し話は変わりますが、GitBucketはScalaで書かれており、フレームワークとして以下のものを組み合わせて使用しています。 Scalatra scalatra-forms(Play2のフォームのようなバリデーシ

    GitBucket 1.0リリースしました - 新・たけぞう瀕死の日記
  • Scala Puzzlers - たけぞう瀕死ブログ

    Scala Daysの会場にArtimaがブースを出していて書籍の販売をしていたのですが、そこで見かけたのが「Scala Puzzlers」という書籍。荷物になるのでその場では買わなかったのですが、気になっていたので帰ってきてからPDF版を購入してみました。 http://www.artima.com/shop/scala_puzzlers ちなみにKindle版も出ています。 Scala Puzzlers (English Edition) 作者: Andrew Phillips,Nermin Serifovic出版社/メーカー: Artima Press発売日: 2014/12/22メディア: Kindle版この商品を含むブログを見る 初期化の順番の罠とか、for式とmapの違いなど、Scalaのハマりやすい罠などを集めた問題集みたいな感じで、一通りScalaを書けるくらいになった人が

    Scala Puzzlers - たけぞう瀕死ブログ
  • GitBucket 3.0をリリースしました - たけぞう瀕死ブログ

    Scalaで実装されたオープンソースのGitHubクローン、GitBucket 3.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/3.0 今回の主な新機能・修正点は以下の通りです。 新しいプラグインシステム 新しいプラグインシステムが利用可能になりました。このプラグインシステムはGitBucketがベースとしているScalatraと完全に統合されており、ScalatraやSlickといったGitBucketが使用しているフレームワーク上で、GitBucket自身が提供するすべてのAPIを使用することができ、GitBucket体のコア機能と同じように実装することが可能です。 なお、これにともなってプラグインとの衝突を避けるため、GitBucket体のクラス群をすべてgitbucket.coreパッケージに移動し

    GitBucket 3.0をリリースしました - たけぞう瀕死ブログ
  • 実戦での Scala 〜6つの事例から知る Scala の勘所〜で発表してきました - たけぞう瀕死ブログ

    2月21日(土)にスマートニュースさんの新オフィスで開催された「実戦での Scala 〜6つの事例から知る Scala の勘所〜」で発表してきました。togetterでのまとめはこちら。 ビズリーチの新サービスをScalaで作ってみた 〜マイクロサービスの裏側 #jissenscala from takezoe スマートニュースの村石さんが「Scalaで快適に開発するためにはいいマシンを使う」と仰られてましたが、3年前のScala Conferenceで全く同じことを言った記憶があります。Javaのコンパイルも昔は死ぬほど遅かったですが、当時とはCPUの進化の方向が違うのでScalaに関しては今後も当分はコンパイル遅い問題は続いていくでしょう。 普及という観点では、昨年くらいからWeb界隈を中心にいろんな会社でScalaが使われるようになってきました。最初にScalaを実戦投入しは

    実戦での Scala 〜6つの事例から知る Scala の勘所〜で発表してきました - たけぞう瀕死ブログ
  • Reactive Streamsとは? - たけぞう瀕死ブログ

    Reactive Streamsというのはノンブロッキングなback pressure可能な非同期ストリーム処理の標準的な仕様を提供しようというもので、実装としてはAkka Streams、RxJavaReactor Composable、Ratpackなどがあります。 Reactive StreamsについてはAkkaのコミッタであるKonrad Malawskiさんの以下のスライドがとてもわかりやすいです。 2014 akka-streams-tokyo-japanese from Konrad Malawski ストリーム処理(というか非同期メッセージング全般に言えることですが)では受信側の処理能力を超えるデータを送信し続けるといずれキャパシティを超えてオーバーフローが発生してしまうため、送信側に比べて受信側の処理能力が低い場合は送信側が手加減してデータを送信する必要があります。な

    Reactive Streamsとは? - たけぞう瀕死ブログ
  • GitBucket 2.7をリリースしました - たけぞう瀕死ブログ

    Scalaで実装されたオープンソースのGitHubクローン、GitBucket 2.7をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/2.7 今回のリリースではShintaro Murakamiさんにプルリクエストしていただいた、コミットおよびdiffへのコメント機能が目玉機能となっています。 これはGitBucketの開発開始当初からやりたいと思っていたのですが、見るからに面倒そうな機能だったのと、diffの表示にjsdifflibというJavaScriptを使っており、将来的にこれをどうするのかということに結論を出せずにいたため手つかずのままここまで来てしまっていました。要望も非常に多かった機能なので、プルリクエストをいただいて有り難い限りです。これでGitBucket上でコードレビューを行うことも可能になるので

    GitBucket 2.7をリリースしました - たけぞう瀕死ブログ
  • 日経ソフトウェアでScala連載始めます - たけぞう瀕死ブログ

    日経ソフトウェア2015年2月号からScalaの連載をやらせていただくことになりました。 日経ソフトウエア 2015年 02月号 作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2014/12/24メディア: 雑誌この商品を含むブログを見る これまで様々な方が執筆されたScalaの記事や書籍、ブログ等を拝読してきましたし、自分でもScalaの普及のためにと記事や書籍を書いたりしてきました。しかし、Scalaには何かが足りないような気がしてなりませんでした。RubyPHPにあってScalaにないもの…。そう、それは実際に動く身近なアプリケーションを作って楽しむという体験なのではないかと。 そんなわけで関数型プログラミングが云々という話はいったん置いておいて、実際に実用的なアプリケーションを作っていく中でScalaの機能を学んでいこうというのがこの連載のコンセプトとなっていま

  • Functional Programming in Scala - たけぞう瀕死ブログ

    ようやく完結したFunctional Programming in Scala、MEAPのときから少しずつ読んではいたものの時間が経ちすぎて途中で放置していたのですが、改めてざっくりと全体を流し読みしてみました。 Functional Programming in Scala 作者: Paul Chiusano,Runar Bjarnason出版社/メーカー: Manning Pubns Co発売日: 2014/09/14メディア: ペーパーバックこの商品を含むブログを見る 著者のPaulさんとRunarさんが関数型プログラミングを勉強していたときに必要だと思ったを書いたとのことで、こういう著者が自分が読みたいと思って書いたというのは情熱というか、ベクトルがはっきりしているので大抵外れはありません。 このは関数型プログラミングに必要なライブラリを実際に実装しながらその概念を学んでいき

    Functional Programming in Scala - たけぞう瀕死ブログ
  • 1