構築中。

名古屋のITインフラお守り係です。ITイベントへの参加記録などを残していきます。

JJUG CCC 2017 Fall(11/18)

前日の博物館めぐりに続いて、行ってきました。

www.java-users.jp #jjug_ccc

f:id:hmatsu47:20171119195519j:plain

聞いてきたセッションは以下のものです(LTは省略)。

 

サーバーサイドでの非同期処理で色々試したよ。(Koji Linさん)

朝からちょっと難しめのセッションでした。

フライング気味に入ったおかげで、少しですがLinさんとお話することができて良かったです。

私が関係するプロダクトでは非同期通信未導入でこれから必要かな…というような状況で、やっぱりSpring Framework 5(Boot 2)の助けを借りたほうがいいかな…という気がしているのですが、フレームワークは別として既に試行錯誤されている方の話を聞けるということで選びました。

LINEが非同期対応を始めてから一旦完成→その後RxJava 2.0に移行、という流れの中で出てきた問題(非同期で書くのが面倒だからといって安易に同期コードを書いてしまいがちなところをがんばって阻止、とか)は、どのフレームワーク/ライブラリを採用することになったとしても参考になる話でした。

今、この本を読んでいるところですが、本の著者とは別の視点からの話を聞くことができたのが収穫です。

www.shoeisha.co.jp

 

10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルしている話(前原 秀徳さん)

スライドがはてブホッテントリ入りしたことでわかる通り、注目のセッションでした。

フロントエンドにRuby on Railsを使っているプロダクトのチームでレガシーなJavaサーバサイド(独自フレームワーク)をリニューアルする上で、RubyエンジニアにもJavaエンジニアにも受け入れやすく開発生産性が上がる言語としてKotlinをチョイスしてプロジェクトをすすめた…といいたかったけど現在進行形で進めている(発表にちょっと間に合わなかった)、という話です。

KotlinにはSpring Bootを組み合わせたり、DBアクセスのためのDoma2(ORM)を直接扱うコードはKotlinではなくJavaで書いていたりするそうですが、学習コストはKotlin<<<Spring Boot(「<」の数は勝手に推測しました)な感じでむしろSpring Bootに慣れるほうにコストが掛かっているぐらい、とのことです。

懇親会の時にも少しだけ前原さんと話す機会がありましたが、Kotlinをすごくプッシュされていました。

 

JJUG初心者のためのJava/JJUG講座鈴木雄介さん)

JJUG会長鈴木さんのランチセッションでした。JJUGビギナーですが当初参加を予定しておらず先に昼ご飯を買ってから会場入りしたため、特に弁当をもらう気もなく…と思って列に並んでいたところで前のセッション会場にキャリーバッグを忘れたことに気づき、列から離脱している間に弁当は配布終了していました(断るまでもなかった)。

Dukeおにぎりの現物だけは見たかったですが。

このセッションが行われることになった経緯について何も知らなかったのですが、JJUG CCC 2017 Springで大混雑したことで一部の参加者から批判の声が上がったことが一つのきっかけになっている(JJUGのコミュニティ活動について知らない人がJJUG CCCに参加するようになったので、ちゃんと理解してもらえる機会を設けたい)ようでした。

私も(一部知っていることもありましたが)知らないことがたくさんあって、予定外でしたが参加して良かったです。

因みに、以前職場にはSunのハードウェアとかマニュアルとか色々ありました…が、数度の引っ越しを経てすべて廃棄してなくなってしまいました。

 

DDD × CQRS - コマンドとクエリでORMを使い分けた話(松岡 幸一郎さん)

自社プロダクトでは訳あってORMは廃止したのですが、CQRS(コマンドクエリ責任分離)に興味があったので参加。

リードレプリカによる参照系の一部の分離以外は自社で採用する可能性は低いのですが、そのような考え方や事例があることを知っておいて損はないと思います。

※要は個人的興味100%で話を聞いてみた、ということで。

 

劇的改善 CI4時間から5分へ〜私がやった10のこと〜(aha-oretamaさん)

「不良なプロダクトコード」だけでなく、「不良なテストコード」がどんどん生産されて負債として積みあがっていく姿が想像できる話でした。

(CIが)定着しないのも問題だけど、ルールだからと言って惰性で回していると、いつの間にか当初の目的を達せられなくなっていた…というのはよくある話です。

 

Java SE 9の紹介: モジュール・システムを中心に(宮川 拓さん)

モジュール・システムに少しビビっていたので参加。

こうやって解説していただけるのはありがたいです(1回聞いただけではすべて理解できていないので、復習は必要)。

下手なコメントを書くより、丁寧なスライドを見てもらったほうがよく分かります。

「じゃあ、イベントそのものに参加しなくてもスライドを見ればいいじゃないか」という話にもなりそうですが…イベントに参加すると、セッションの参加人数や周りの反応などで、「どれくらいヤバいやつなん?」ということがイメージできるので、やっぱり参加したほうがいいと思います(Twitterでも反応は見れるけど、Tweetするのはほんの一部の人だけなので、やっぱり全体的な雰囲気はわからない)。

 

JDKの新しいリリースモデル(伊藤 敬さん)

これからのJavaシステムに大きく影響がありそうな話題だったので、実用性100%でチョイスしたセッションだったのですが、「まだ正式にしまってないのでコロコロ変わるかも」というようなことを言われていて…正直、拍子抜け(注:伊藤さんのせいではありません)。

とはいえ、「Depricatedが出て2バージョン後に原則削除」「次バージョンが出ると終了するのは機能リリースのみで、メンテナンスリリースは継続する(いつまでなのかはわかりませんでしたが)」ということを知ることができて良かったです。

 

Javaで使えるもう一つのコンパイル方式 - AOT(西川 彰広さん)

AOT=事前コンパイル方式の話でした。

まだ試験導入段階なので実用は不可ですが、実用段階に入ったらAWSのLambdaなどでも威力を発揮しそうです(JavaのLambdaは暖まった状態で維持できれば他言語環境より速いので)。

HotSpot(Oracle製)ではなくて他社製JVMの一部ではすでにAOTが導入されているものがある、という話は初耳でした(普段あまり気にしていないので)。

 

DBのTCPプロトコルとJDBC(yohei yamanaさん)

完全に趣味100%で参加しました。

MySQLは、型の扱いがユルいイメージがあるのですが、プロトコルもコードもユルい…というより自由奔放(PostgreSQLのほうはかっちりしている)、というのが印象的でした。

コメントは短いですが、こういうのは大好物です(↓のようなのも)。

 

CPUから見たG1GC(数村憲治さん)

こちらは完全に趣味、ということではなくてプロダクトでもG1GCを使っているので半分実用目的での参加です。

一度もGC(FullもMinorも含めて)が発生しないように調整した環境で、あるコードを実行するとG1GCのほうがParallel GCより6倍以上の時間が掛かり、CPUの実行命令数が3倍、サイクル数が9倍になるのはなぜか調べていくと、L1・L2のキャッシュミスや分岐ミスが多くなっており、その原因として…というような感じで、かなり突っ込んだ話が展開されました。

GCというのは「ゴミ集め」なので、集める前に「ゴミかどうか」を判別できるようにしておかないと誤ってゴミでないものを回収してしまいます。そのような「判別できるようにしておく」ための、GCより前段階の処理が(Parallel GCと比べて)G1GCのほうが複雑で遅い(ケースもある)、といったところでしょうか(かなり雑なまとめですが)。

おそらく、商業向けイベントではこのような話は聞けないので、コミュニティ系イベントならではのセッションだったと思います。

面白かったです。

 

最初にJJUG CCC 2017 Fallの参加申込をしたときには「懇親会なし」を選んだのですが、無料枠キャンセル待ちがたくさんいたのと少しLTを聞いてみたかったのとで、直前に懇親会参加に切り替えて、19:45頃までLTを聞いてから会場を出ました。

f:id:hmatsu47:20171120082926j:image

帰り道、地下鉄の駅入口を通り過ぎてしまったり四谷でうっかり反対側に乗り換えてしまい新宿に戻ったり…右往左往したのち、なんとか新幹線に間に合いました(EX-ICなので時間は変更できて良かったのですが)。

が…急いで懇親会の会場を出たので、キャリーケースの上から上着(外で着るものではなく室内が寒かった時に着ようと思って持って行った薄手のもの)がずりおちていたのに気づかず、(多分)そのまま会場に忘れてきてしまいました。

 

着古したものだったのですが、もし見つかったとして、着払いで送ってもらうにしても(資源ゴミとして)捨ててもらうにしても、スタッフに手間をかけてしまいそうのが申し訳ないです…。

 

11/21追記:

忘れ物が無事に見つかりまして、着払いで送っていただくことになりました。ありがとうございます。

自分の忘れ物について著名人の方とやりとりするのはすごく不思議な感覚でした。

 

11/24追記:

送られてきた忘れ物を受け取りました。

やりとりしてくださったTさん、発送してくださったSさん、その他この件に関わっていただいた皆さん、ありがとうございました。

京都国立博物館「国宝」と東京国立博物館「運慶」(11/17)

残り日程が少なくなったので、一日でまとめて(?)両方行ってきました。

 

まずは京都から。

www.kyohaku.go.jp

京都駅でトイレ探しのために少し迷った後、烏丸口のバス乗り場へ行ったところ、100系統(D1のりば)に異常に長い列ができていて「しまった、いつ博物館に着けるかわからない」と一瞬焦りましたが…よく見ると隣の206・208系統(D2のりば)の列が短く、またそちらのバスが先に来たので、待つことなく乗ることができました。

途中で隣のD1に並んでいた人が気づいて列に割り込んできたのがアレでしたが(やめようね)。

もっとも、(帰りに乗った)プリンセスラインバス(八条口側にのりばがある)のほうは乗る人が少ないようなので(休日は本数が減るもののそんなに少ないわけではないです)、もし交通系ICカードではなく現金払いでも問題がないのなら、そちらから行くのが楽かもしれません。

www.princessline.jp

9:30の開館時間あたりに博物館に着くと、すでに長い列ができていました。

f:id:hmatsu47:20171118000551j:plain

※この写真は出るときに撮ったので、11:20頃です。建物の外の列はすでになくなっています。

 

40分ぐらい列に並んでから入場。どの階から入っても良かったので、まずは3階へ。

ただ、開館直後なら2階に最初に行ったほうが、2階の展示物だけでもゆっくり見ることができて良さそうです(おそらく、1階から見る人が半数以上で残りの大多数は3階から降りていくことを選ぶはずなので。3階から2階を見下ろしたときも、人の数は3階より少なめでした。また、開館後しばらくすると少し空いてきますので、高速巡回(?)するのでなければ1Fは後回しにしたほうが結果的に楽です)。

因みに、Ⅳ期の目玉?として(1Fの行列のところのパネルで)ピックアップされていたのは、尾形光琳の燕子花図屏風と神護寺の伝源頼朝像・伝平重盛像・伝藤原光能像でしたが、どちらも大きな作品なので見るのにそれほど困りませんでした(身長が低い方はつらいかもしれませんが)。

その他、単独のショーケースに展示されているものについても、比較的楽に見ることができます(縄文のビーナスとか)。

 

適当にグッズを物色し、11:30頃京都国立博物館を出て、12:12分発の新幹線に乗り東京へ移動し、15:00過ぎに東京国立博物館に到着。

www.tnm.jp

「運慶」は50分待ち、という話だったので、先に少し庭園を見て回った後、15:30過ぎに列に並んで入場を待ちました。

f:id:hmatsu47:20171118000630j:plain

結果、ほぼアナウンス通り45~50分待ちで入場できました。

ちょっとコインロッカーの空きを探すのに手間取りましたが。

仏像がメインなので比較的流れはあったのですが、どうしても小さな展示物のところは流れが遅くなります。

なお、「運慶」がテーマですが、ほかの慶派の仏師や同時代の仏師の作品も多くあります。「子犬」のところで「かわいい~!」と歓声が上がっていましたが、作者は不明(おそらく快慶)とのことです(ミュージアムショップにも「子犬」関連グッズがいっぱいありました。ほかの弟子や子孫の作品の関連グッズもたくさんありました)。

 

金・土曜日は21:00まで開館なので、大体18:00頃に「運慶」を見終わって、その後本館と東洋館をざっと流して(法隆寺宝物館は演奏会で展示室に入れず断念)19:10頃外へ出ました。

多分、博物館入口と平成館(「運慶」会場)、本館あたりは特に大き目のコインロッカーの空きが少ないと思いますので、キャリーバッグ等を持っている方は、コインロッカーが空いていなければ本館の入り口付近にいる職員にお願いして荷物を預かってもらうのがいいと思います。

 

強行軍で疲れましたが(人をかき分けながら展示物を見るのはかなり疲れるので、東京国立博物館の本館を流している頃にはもうゆっくり立ち止まる元気がなくなっていました)、充実した一日でした。

興福寺国宝特別公開2017と第69回正倉院展(11/3)

去年に引き続き正倉院展へ行ってきました。

また、今年は興福寺の国宝館耐震改修工事に合わせて、阿修羅を含む天平乾漆群像を、普段非公開の仮講堂に移して公開しているので、あわせてそちらも見てきました。

 

まずは、興福寺の特別公開へ。

www.kohfukuji.com

興福寺国宝特別公開2017 興福寺中金堂再建記念特別展 阿修羅-天平乾漆群像展-

f:id:hmatsu47:20171104214651j:plain

仮講堂は少し前まで仮金堂として使われていた建物(薬師寺旧金堂を移築したもの)で、来年(現在再建中の)中金堂が落慶予定ということで、金堂としての役目を終えて講堂として再興されることになっているそうです。

中は比較的狭く、人は多かったもののまったく前のほうに行けない、ということもなかったので、割とスムーズに拝観できました。

続いて、普段から公開している東金堂へ。こちらは建物は少し大きめですが仏像の数が多く、拝観スペースは仮講堂の半分あるかないか。

こちらの建物には、あの仏頭(元山田寺本尊)が(国宝館から一時的に)移されています。

 

拝観を終え、奈良国立博物館へ。

www.narahaku.go.jp

少し時間をつぶしてからオータムレイトチケットを購入し、食事へ…と思ったら、店の営業時間が終わっていたりメニューが切れていたりで結局間食だけしかできず、おまけに案内チラシ・新聞等がおかれている場所がわからずウロウロしているうちに、オータムレイトチケットでの入館者の列に並ぶのが遅れ、2列目からの入館となり、約10分ロス。

なら仏像館への入館は最初からあきらめて正倉院展だけ見ることにしましたが、第一会場だけで半分以上(45分)時間を使ってしまったので、第二会場は急ぎ足で見ることになりました(第二会場のほうが部屋数が多く、本来なら時間が掛かる)。

今年からオータムレイトチケットが「閉館1時間半前からの入館」となって1時間短くなってしまった分、ペース配分を間違えました。

ただ、閉館45分前ぐらいから、入口に近い場所から順に観覧者が極端に減ってきていました。

私が行った11/3は、

・第一会場の前半:閉館前45分ぐらい前から

・第一会場の後半:閉館前40分ぐらい前から

・第二会場の1部屋目:閉館前30分ぐらい前から

・第二会場の2部屋目:閉館前20分ぐらい前から

・第二会場の3部屋目前半:閉館前10分ぐらい前から

 という感じで観覧者が極端に少なくなっていったので、最後の10分ぐらいを残して第二会場の最後まで見たら、コースを遡って前に戻って(解説は先に読み終わっているので)展示物だけを見ていく…ということをしました。

同じことをしている人が10人ぐらいいましたので、おそらくいつもそんな感じなのでしょう。

移動距離が長くなって疲れましたが、結局いつもよりもしっかり実物をみることができました。

f:id:hmatsu47:20171104222226j:plain

表の看板を撮り忘れたので、出口(裏)側の池のライトアップだけのせておきます。