へもろぐ

へもへも備忘録

女子だって、ラムダ式で書いてみたいのだ!

Javaラムダ式を使いたい女子が集う勉強会に(雑用係として)参加してきました~♪

【東京】◆Java SE 8勉強会◆女子部もラムダ式に挑戦!

Java女子部は、女子だけ(ネカマなし)の勉強会で、「男子ばっかりで参加しにくい」という女子技術者向けに、女子だけ勉強会や座談会を開催してます。(現時点では。)

 

今回は、

Java In The Boxの櫻庭さん(@skrb)を招いての、ラムダ式&Stream APIの基礎を学ぶもので、

勉強会の内容を一文で表すと

「まだちゃんとラムダ式書けないし…」とか「Stream APIって何ですか?」というヒト向けのレクチャーとハンズオン

です。

もちろん、スイーツ付き♪

レクチャーは、新入社員で「Javaは研修でJDBCの使い方くらいまで習いました」という人でも分かるくらいの難易度で話していただけました。

ただ、JavaでThreadやfork/joinを使っていないヒトは、前提になっている並行処理のコトが分からなかったかも?…しれない…。

 

説明してもらった大事なこと(と、心の中でのつぶやき…)

  •  ラムダ式やStream APIっていうのは、Project Lambdaっていわれる括りのもの。

…ってことは、別々に考えないで、まとめて覚えるとイイのかな?

  • Project Lambdaっていうのは、効率よく「並行処理で動かす」ことができるようなアプリを作るために必要な部分に関する仕様変更。

…ってことは、並行処理を書くためのものなのね?

  • Javaで並行処理を行うコーディングは、ThreadとかRunnableとかfork/joinとかで書いていたけど、これよりも、Project Lambdaのほうが、もっと並行処理の粒度を小さく書けるので、もっと効率よく実行できる。

…じゃぁ、明示的にThreadやfork/joinを書かないプログラムばっかり作っているヒトには、関係のないものなのかな?

  • 並行処理のためのAPIを使ってコーディングしておくと、1つのプログラムの中で複数スレッドを使って処理できる。

…※たとえば、Threadは、JavaSE6のリファレンスだと、こんな感じで書いてある。

http://docs.oracle.com/javase/jp/6/api/java/lang/Thread.html

  • Runnableを使う場合のコーディング例は、匿名クラスを使うと…こんな感じ。

Runnableインタフェースを匿名クラスで使った例(◆Java SE 8勉強会◆女子部もラムダ式に ...

  • new Runnable(){ ...}が、r1に代入されている書き方になっているところが、匿名クラスと言われる書き方

…※JavaSE6のリファレンスだと、こんな感じで書いてあるが、これは匿名クラスを使ってないですね。

http://docs.oracle.com/javase/jp/6/api/java/lang/Runnable.html

  • java.lang.Runnableインタフェースのrunメソッドは、関数型インタフェース。関数型インタフェースいうのは、実装すべきメソッドが1つだけのインタフェースのこと。

…single abstract method typeとかいうものを日本語で言うと関数型インタフェースというらしい。

  • ラムダ式と言われる書き方で書くと、関数型インタフェースと言われるものが、今までよりも簡潔に書ける。ラムダ式で書いてみた。

匿名クラス部分をラムダ式で書いた例(◆Java SE 8勉強会◆女子部もラムダ式に挑戦!…の復習用)

 

ここまでで、説明していただいたことの5分の1くらいです。まだまだ話は続くのですが、それは、後日、もっときちんとまとめて書きたいと思います。

レクチャーとハンズオン以外のこと

 Java女子部ということで、参加者は女子ばっかり…です。それも、今日初めてJava女子部のイベントに参加してます…というヒトが、8割くらいでした。なので、みんな表情が固いんですよね…ははは(汗

途中で、櫻庭さんが何度も「…です。ここまで大丈夫ですか?」って聞いてくださるんですが、みんな硬直しててリアクションできない(汗

それを見た櫻庭さんも、なんとなく硬直…(汗

初対面女子ばっかりだと、こういうことが多いんですよね。たぶん女子の特性。

なので、女子部の活動は、なごみタイムや馴染みタイムが必要。

今回は、レクチャーとハンズオンのあいだに、差し入れスイーツと名刺交換…で馴染みタイムとしました。

馴染みタイムの様子↓

f:id:sh1k1ya:20141012182242p:plain

 レクチャー中の様子

f:id:sh1k1ya:20141012182547j:plain

 

 

…まとめと言うには中途半端な記録ですが。とりあえずは、ここまで。

 

技術的なことのまとめは、また次回に。

 

【追記 : 2014/10/21】

まとめようと思っていたのだが…ちょぼちむさんが華麗にまとめてくれていたので、詳しい内容は、そちらを見るといいと思った。


さくらばさんにJava8を教えてもらえる贅沢イベントに行ってきたよ! #javajo - そこに仁義はあるのか(仮)

あと、トゥギャはこちら


【東京】◆Java SE 8勉強会◆女子部もラムダ式に挑戦!(10/11) - Togetterまとめ