java

いくつかのScalaライブラリをJava9でビルドしてみた知見

sbt 0.13.14-RC1からJava9に(無理やり?)対応したらしいので、いくつか試しているので、現状の知見を簡単にメモ https://github.com/sbt/sbt/pull/2951 https://groups.google.com/d/topic/sbt-dev/iu6qT12R6q0/discussion

FunctionalInterfaceに内部classやinterfaceがある場合のScalaとJavaでのラムダのキャッシュの動作の違い

この前書いたやつ( Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ) )の発展版というか、Scalaで違い見つけたので貼っておくhttps://gist.github.com/xuwei-k/9e988896648fd7389de1350b8cb9d81e

Java8のラムダとScala 2.12(LambdaMetafactoryによるシングルトンのキャッシュ)

結論から言うと、Scalaでも以下と同じように頑張るようになるんやで、なので2.12以降はSAMかつ純粋なシングルトンにできる場合は、明示的にnewしないほうが効率いいかもしれないよ、という話

猫にドヤ顔でvolatileの重要性を指摘した話

JVM楽しい ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ https://gist.github.com/xuwei-k/4be690a606bec83683563cfff525b3a5 https://github.com/typelevel/cats/pull/989

Joda-timeではなくJava8のtimeを使おう

と作者も言ってる(?)ので、そうしましょう。 Joda-Time now in maintenance mode as Java 8 usage rises. Usage questions at Stack Overflow: URL URL2016-02-22 08:09:02 via TweetDeck

Javaの再帰的ジェネリクスとワイルドカードと型推論とScala

とにかく以下のコード御覧ください。

"Theorems for free!"とParametricityとJVMとCLRのジェネリクスの実装の違いの関係

という題だけ思いついて、中身を書ける気がしないので、誰か書いて欲しい(他力本願)

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

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

msgpack javaについて

色々あってmsgpackいじってたりするのですが、とりあえず見つけたバグとかその他色々まとめてみる。

jol(Java Object Layout)という、Javaのオブジェクトがどのようにメモリ上にレイアウトされるのか?というツールをsbtから便利に使えるようにする

最近公式にopenjdkの一部になったらしい?ので、まだあまり有名じゃないかもしれませんが、以下のような便利ツールがあるの知ってますか?http://openjdk.java.net/projects/code-tools/jol/

mavenリポジトリに上がっているsources.jarの中身を手軽に読みたいときのための何かを作った

https://github.com/xuwei-k/java-src http://java-src.appspot.com/org.scalaz/scalaz-core_2.11

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

githubなどのREADMEに、

Functional Javaの発表してきた

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

JavaでFreeモナドを表現するためのテクニックやexistential type(存在型)の話

久しぶりにJavaで遊んで、JavaでFree Monad書いた際に得られた知見を記しておきます。https://github.com/xuwei-k/free-monad-java筆者は、Javaの言語仕様や、型理論に関して、人並みかもしれないけど(?)別に専門家ではないので、あまり厳密なこと求められて…

JavaでFree Monad

書いたhttps://github.com/xuwei-k/free-monad-java

Travis CIがJava8に対応したらしい

You can now test your Java libraries and applications with Java 8 EA release on Travis CI! URL2013-11-27 17:56:36 via Bufferhttp://about.travis-ci.org/blog/2013-11-26-test-your-java-libraries-on-java-8個人的にはわりと嬉しいのだが、ほとんど…

sonatypeに特定のURLでアクセスすると、javadocやscaladocを展開して表示してくれる機能がある件

たとえばScalazだったら以下のURLhttps://oss.sonatype.org/service/local/repositories/releases/archive/org/scalaz/scalaz-core_2.10/7.0.3/scalaz-core_2.10-7.0.3-javadoc.jar/!/index.html#packageこの機能なんなの?あまり使われてるの見たこと無いけ…

ScalaとLombokを比べた場合のメリットとデメリット

最近いくつかlombokが話題になってた lombokで快適Java生活 サイバーエージェント公式エンジニアブログ JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 Java特有の冗長なコードを簡潔に記述する「Lombok」 codezine ので、twitterなどでは何度…

java.util.stream.StreamのメソッドとScalaの対応

またJava8の話。 Scalaの場合、ListでもStream*1でもVectorでも同じメソッドあるので、あえてどのclassなのかは明示しません。基本はJavadoc読んで雑に調べただけで、ちゃんと全部実行して試したわけじゃないので、明らかに間違ってたら教えて下さい。http:/…

java.util.function.ToIntFunctionは、なぜjava.util.function.Functionを継承していないのか

Java8の話です。この記事Java8 の java.util.function package と Scala の対応表書いた後、java.util.functionパッケージ見て考えていると、ツッコミどころというか疑問点が大量にでてきて、どこからツッコめばいいのかよくわからないのだけれど、手始めに…

Java8 の java.util.function package と Scala の対応表

現状*1 java.util.function packageには43個interfaceがあるようです。http://download.java.net/jdk8/docs/api/java/util/function/package-summary.html *1:もう仕様が完全に固まったのか、まだ変更ありえるのか?というような事情知らない

highj・・・Java8による本当の関数型プログラミング?

最近以下のようなJava8の記事Java 8を関数型っぽく使うためのおまじないをちょくちょく見かけるようになったので、自分もなにか書こうと思い、前からちょっとだけ気になっていた、highjというライブラリhttps://code.google.com/p/highj/ https://github.com…

twitter4j の getToUserId でハマった

ここ読んで https://github.com/twitter/twitter4j/blob/2.2.5/twitter4j-core/src/main/java/twitter4j/Tweet.java#L38"指定されていない場合は -1 が返るのかー" と思いこんでプログラム書いて、toUserが指定されたtweetなのかどうかを判断するのに tweet.…

Java で、 scalaz の assert_=== っぽいなにか

追記: はてぶのterazzoさんのコメントにあるように、単に public <S, T extends S> void assertEq(S a, T b){ } でいい気がする・・・orz はじめに、scalaz の assert_=== って書きましたが、Equal のインスタンスを要求しないので、かなり別のものです、すいません。(いい題</s,>…

Java で Either モナド

functional java ってライブラリ使えば、Javaでも関数型プログラミングできるよ!っていう誰得な記事。あと、途中にScalaの話しもちょっと混ざってます。 ライブラリ使うために、sbt使います。まず以下のようなbuild.sbtを用意 libraryDependencies ++= Seq(…

Javaのpackage privateでabstractなmethodを他のpackageにあるScalaのclassでoverrideすると、実行時にAbstractMethodErrorが発生する件

そもそもbugなのか仕様なのかよく分からず、Scalaのissueのページをちょっと探しても、登録されているかどうかよくわからなくて、気になったのでStackOverflowで質問してみたhttp://stackoverflow.com/questions/10555806/abstractmethoderror-occurred-when…

functional java に関するメモ

概要 https://github.com/functionaljava/functionaljava/tree/12e4d23954d352bcb16b43eed09dbc3624ce5e96 のtreeの時点での記録 これを書いてる2012年4月現在sbt0.7.4でbuildされている sbtやmavenの標準のディレクトリ構成 昔は google code にあったみた…

AndroidのfindViewByIdで型推論(?)させて、ちょっとだけ記述量減らす方法

Javaの話です。Androidだと、普通xmlで画面を定義して、そのインスタンス生成するためにfindViewByIdというメソッドを使う。かなり多く使う。xmlで定義する時点で、型は(android.view.Viewのなんらかのサブクラスで)決まっているわけですが、それが必ず andr…

( Javaには存在しなくて ) ScalaとC#には存在する言語機能

いわゆる静的型付けでオブジェクト指向な言語という点からみれば、ScalaもC#もJavaも似ている点があるわけですが、その中でJavaにはなくてしかしC# と Scala である程度共通するものを書きだしてみた。別に「この結果 = Javaがダメ」とかすぐに結論づけたい…

joda timeのDateTimeのコンストラクタがScalaと相性悪い・・・と思ったら単なる勘違いだった件

追記:完全に自分の勘違いでしたすいませんm(_ _)m 結論はこのtogetter見てください(´・ω・`)一応もとのやつは残しておきますが・・・

Effective Java について Scala で考える(その1)

Effective Java 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行本(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (266件) を見るまえからこれ書きたくて…

ceylonとか話題になってるらしいが、あえてpizzaを紹介してScalaの誕生理由とかAlgebraic Data Typesとかいろいろ考えてみる

なんだか、最近ceylonっていう新しいJVM上の言語がでたらしく、自分のTL上では話題になってました・・・

Javaでイカ娘を書いたゲソ。Scalaの解説もしたゲソ

結構前にりらっくみゃーさんが書いたやつをJavaで書き直してみた。

scalaとかjavaとかのclass図を表示するサイト作った

このクラス図表示するプログラム自体は、結構まえにつくったもので、いつかGAE上にのせてみたいと思ってたのを、やっとのせたという。とりあえずバグだらけ*1なおったはず。だけど、GAEにのせて、なんとなく動いているので、一応blogで宣伝(?)http://class-d…

ちょっとしたJavaコードをScalaに書き直してみた

元コードはの118ページ目変数多いぅぉ・・・try catchやifが値を返せばretValとかいらないのに・・・ という「Javaコードを見るとscalaで書き直したい病」が発病したので(・ω・`)

Scalaを始めようと思っているJavaプログラマのための、JavaとScalaの予約語の違い

ScalaとJavaってまぁまぁ見た目は似てて、同じ予約語も多いので、Javaの予約語を、Scalaの視点からみた場合に分類して簡単に解説してみました。分類の方法は独自だし、けっこう雑です。 Scala始めようと思ってるけど、Javaのあの予約語は、Scalaだと同じやつ…

Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ

ネタ元 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策結論から先に言うと、3と10以外は結構直接的にscalaで解決できるというか、javaに比べてscalaの方が便利だとおもいます。*1 *1:というか後にも書いてあるけど、10はまぁ個人的には…

scalaのIteratorへ変換

Iteratorで、hasNextとかnextっていう名前のメソッド持ってるのに、JavaのIterator継承してないやつがたまにありますよね?JavaのIterator継承していれば、JavaConversionsで自動変換できるのに・・・なんなのこのライブラリ馬鹿なの・・・(´・ω・`)ってい…

scalaでmutableなTreeMap

つくった

scalaでjavaのList使うときの話

scalaでjavaのcollectionを使う場合は、scala.collection.JavaConversions以下をimportしておけば、便利なimplicitのmethodが定義されているので、自動でscalaのcollectionに変換されます。 それの実装がどうなっているかのメモ。(versionは2.8.1)

Javaからscalaに書き換える、超簡単な方法

またまたIntelliJ IDEAたん( ´∀`)こないだこんなの紹介したけど、実は他にもあるんだお(`・ω・´)

JavaでSingleton

珍しくscalaの話じゃないんだぜ(`・ω・´)単なるIntelliJ IDEAの機能の紹介メニューから、新しくJavaのファイルつくるとき・・・