2014-01-01から1年間の記事一覧

akka meetupを開催しました

開催協力してくれたみなさん、ありがとうございました

HerokuにScalaやPlayframeworkプロジェクトをデプロイするための新しいsbt plugin

https://github.com/heroku/sbt-heroku

最新のJavadocやScaladocへのリンクのBadgeを表示する便利サービス作った

githubなどのREADMEに、

Reactive Manifestoではないほうの本当のReactive Programming?

タイトルにわざとReactive Manifestoを入れたのは、まずこちらのtogetterご覧くださいpokarimさんのReactive Manifestoに関する印象

FutureとEitherの話の続き(ApplicativeとMonadの違い)

昨日書いたこれScalaでFutureとEitherを組み合わせたときに綺麗に書く方法の中で、

ScalaでFutureとEitherを組み合わせたときに綺麗に書く方法

組み合わせるとはつまりアレのことを書くのですが、一応それほど前提知識無くても理解できるように書いてみます。さて、なぜいきなりEitherとFutureか?というと

scalikejdbcでsbt0.13.6にアップデートしようとした際のトラブルまとめ

scripted testのnewerコマンド失敗する そもそもsbt0.13.5までnewerコマンド自体がバグってた(必ず成功してしまう) https://github.com/sbt/sbt/commit/4d29302632a07fd scalikejdbcのnewerの部分、引数逆だった 引数逆に修正しても、lastModifiedの時間同じ…

sbtをScala2.11で単なるライブラリとして使う

sbt

Scala祭の興奮冷めやらぬ中?なのか、べつにそうでもないのかよくわかりませんが、引き続きこういった地味なお役立ち情報を書いていきたい所存です。

Scala祭と日本のScalaコミュニティ

終わってからだいぶ日数が経過しましたが、感想を書いておこうと思います。

ScalaはPizzaで作られていた

なにいってんだ?Pizzaってなんだ?と思うでしょうが、 Scala祭 http://scalamatsuri.org のOdersky先生の公演中にPizzaという言語でてきました。

Functional Programming in Scalaはオススメできる唯一のScalaの本 by アルパカの人

Functional Programming in Scala is the only scala book I have ever seen which I can recommend without reservation.2014-09-11 00:05:21 via Tweetbot for Mac

Scalaのマクロの基礎。評価タイミング、評価回数と、健全性

Scalaのマクロというより、一般的にマクロに共通する基本であり重要な部分です。それをScala使って説明するだけです。

ScalaのコードをEvalしてくれるtwitter bot作った

お使いください https://twitter.com/scalaeval/with_replies

sbtのconsole上からIntelliJ IDEAを起動させる

commands += BasicCommands.newAlias("openIdea", """eval sys.process.Process("open" :: "/Applications/IntelliJ IDEA 13 CE.app" :: Nil).!""")

Akka内でsun.misc.Unsafeが使われている箇所の分類

sun.misc.Unsafeについての説明は面倒なのでしません(というか、詳しくないのでできません) versionはこれ書いてる時点で最新のakka2.3.5です。grepして(importやコメント除いて)半手動で集計したら以下のような感じになりました。49箇所でした。(半手動なの…

scalaz7.1とspecs2の2.4より前のversionおよびplay2.3以前のテストモジュールはバイナリ互換ないので同時に使えません

結構Scalaz勉強会でここ強調して言ったつもりだったけど、1日で2人もハマってる人みかけたので

Scala2.11.1から、Scaladocの個々のメソッドなどに対するPermalinkが簡単に取得できる機能が追加されていた件

https://issues.scala-lang.org/browse/SI-8144 https://github.com/scala/scala/commit/466340cf9e3fbc6fbd3c65e13b43d7fe57471d86

Scalaのマクロ使ってコンパイル時に全部Applicaiveをインライン展開するzeroapplyというライブラリを作った

https://github.com/xuwei-k/zeroapply

sbtで、テストを1つずつ実行して、1つでもテストが失敗したらその時点で他のテストは実行せずに終了するコマンド

同僚に聞かれて、そういえば標準にはない?し、少し調べても見つからなかったので作りました。「すでにあるよ!」「もっといい方法あるよ!」 などあれば教えて下さい。 あと、テスト名sortの部分はカスタマイズできるようにしたほうが便利そうですね。 追記…

sbtrcでsbt pluginを追加できるようにしておくと便利なことに気づいた

sbt

sbtには、便利なのにあまり知られてない.sbtrcという仕組みがあります。

akkaにおけるActorの生成時の注意事項

akkaをある程度使いこなしてる人なら、当たり前?かもしれませんが、その細かい仕組みがわかりずらいと思うので説明を書いてみます。(versionによってそれほど変わらないはずですが)これを書いてる時点の最新の akka 2.3.4、Scala 2.11.2 としておきます。

Scalaz 7.1.0 final がリリースされました!

https://groups.google.com/d/msg/scalaz/79x3Frhe0Hs/tcGACPaXND8Jこの前のScalaz勉強会で、6、7.0.x、7.1.x、7.2.xについての説明はそれなりに詳しくやりましたが、

Scala勉強会131回の最中にバグが見つかったと思ったら既知のバグだった

https://issues.scala-lang.org/browse/SI-8760

252要素のcase classまでのplayframeworkのJsonのReadsやWritesやFormatを生成できるライブラリ作った

https://github.com/xuwei-k/play-twenty-three

Functional Javaの発表してきた

自分の発表資料 http://shibuya-java.connpass.com/event/7060/

Squerylの読み方

自分のtweetではないけど、今日も「わからない」という人を見かけたので貼っておく Squeryl pronunciation. squeryl google group Squeryl の発音の仕方ですが、作者によると "Squirrel"(スクワォ〜ル)と同じく言っているけど複数の発音があっても気にしない…

時代はリテラルレベルプログラミングだ!

リテラルレベルプログラミングという用語が存在するのかは知りませんが、べつに厳密に定義せずなんとなく使います。まぁこれ https://github.com/okomok/lity の説明が "Exploring literal-level metaprogramming" なので、そこから拝借という感じですかね。…

ScalaのMacroの今後のロードマップ

ロードマップ発表されていたので、簡単に要約しておきますhttp://scalamacros.org/news/2014/07/16/roadmap-for-scala-macros.html

finagleのnetty4対応

何気なくtweetしたら、twitterの中のfinagle作った超本人でとても有名な人からmention飛んできてびっくりしたので、tweet貼り付けておきます#scalive play2もfinagleもまだnetty3系だから、それほど変わらない気がする。まぁfinagleのほうが低レベルレイヤー…

shapelessのHListとScalazを組み合わせて23要素以上のcase classのPlay2のJsonのReadsを作る

「Scala2.11になっても、23要素以上のcase classを直接jsonにマッピングとかできないの!」とお怒りの皆さんこんばんは。タイトル長いですね。 タイトル通りのもの作りました。こちら完成品のサンプルコードですhttps://github.com/xuwei-k/play2-json-twent…