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

Scalaのprivateとprivate[this]とバイナリ互換

Scalaのversionは2.10.4です。 とあるprivateなフィールドをobject内に定義 ライブラリをリリース それをpublicにしようとする mimaに怒られる(´・ω・`) 実は内部的にはコンパニオン同士でアクセスするためのメソッドが自動生成されてるから、そのメソッ…

Scalaにおけるデフォルト引数とバイナリ互換

tsuyoshizawaさん scalikejdbc-play-supportでNoSuchMethodErrorがでます https://github.com/scalikejdbc/scalikejdbc-play-support/issues/14

sbtのtestOnlyで入力にマッチするテストが1つもなかった場合に失敗にする方法

sbt

testResultLogger := TestResultLogger.Defaults.Main( printNoTests = TestResultLogger((_, _, _) => sys.error("そんな名前のテストないよ(^Д^)www")) ) 以下簡単な解説

ついにScalaでもderiving Functorできるようになるらしい!?

まじか Automatic derivation of #Cats Functors for #Scala ADTs using #shapeless's new Generic1: URL2015-02-20 04:10:07 via Twitter Web Client https://github.com/milessabin/shapeless/blob/6534334603a640/examples/src/main/scala/shapeless/exam…

CoArbitraryを使ってScalazのテストをしたい人生だった

pocketberserkerさんが、CoArbitrary実装してた scalacheckの内部構造をいじって遊んでみた

travis-ciにtravis_retryという失敗しても何度かリトライする機能があるらしい件

タイトルで大体説明終わってる。便利っぽい。ネットワークの関係や、テスト内容によってはたまに失敗してしまう(けど根本原因探るの面倒)とかは、多々あるので。

Freeモナドを抽象化?した究極のモナド「Idealモナド」がScalaでも作れたよー

以下のfumievalさんの記事に遅れること約2年・・・、ついにScala界隈にも、究極のモナド(?) Idealモナドが誕生した。

sonatypeで複数人にリリース権限を付与してもらう方法

sonatype自体の詳しい説明はしませんよ。まずsonatypeにアカウント作ってリリースする方法は、今でも以下の方法で可能だと思うのでこれ読んでください。http://pab-tech.tumblr.com/post/23240310972/scala-maven-central

akkaのStashを使ったActorのテストを書く際の注意点

akkaにはstashという 「今ちょっとそのメッセージ処理したくない(できない)ので、ちょっと別のところに退避させておいて、後から処理する」 という機能があります。 それの話。akkaのversionはこれ書いてる時点の最新の2.3.9としておきます。

msgpackとjsonを相互変換するWeb API作った

https://github.com/xuwei-k/msgpack-json

Free Applicativeの実用的でわかりやすい例を思いつきたかった

この前ScalazにFree Applicativeが入りました。https://github.com/scalaz/scalaz/blob/8f339d9ca2/core/src/main/scala/scalaz/FreeAp.scalaFree MonadのApplicativeなやつです。それの話をします

CoArbitraryとScalacheck

https://github.com/rickynils/scalacheck/issues/136CoArbitrary的な何かを実装するかもしれないらしいです

travis-ciのキャッシュ機能を使って、Scalaプロジェクトのビルドを少しだけ高速化する

以下を参照 https://github.com/scalaz/scalaz/blob/b4463567/.travis.yml

giter8でmavenのmetadataから自動で最新版を取得できるようにした話

pull reqしてmergeされたのは3ヶ月以上前だけど、やっとこの変更を含む0.6.8がリリースされてました*1 https://github.com/n8han/giter8/pull/136 https://github.com/n8han/giter8/blob/9bfc23a1/notes/0.6.7.markdown *1:入ったのは0.6.7ですが、この影響…

msgpack4zというmsgpackのScala用ライブラリを作った

twitter上では何度かtweetしてたし、この前msgpackのjavaに関して書いたりしたけどmsgpack javaについてやっと、ここ2ヶ月くらいの成果を一旦リリースしました。最初はそれほど色々作る予定なかったのに、気がついたらかなり色々できてしまいました。それら…