JJUG CCC 2018 Springで登壇してきた
登壇してきた
今回も登壇の機会をいただきました。タイトルは「Pivotal認定講師が解説!ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説」です。スポンサーとしてのセッションでした。
その名の通り、Spring 5 & Boot 2のリアクティブ以外の新機能をまとめて解説しました。Core/Web/Data/Security/Test/Bootの6つに分けています。資料はSlideshareにアップしました。
アンケート結果は下記。ご満足いただけたようで良かったです。今回(というか今日?)から平均値とかが出るようになったんですね。
この発表の基になっているのは、公式のリファレンスやGitHub、去年参加したSpringOne Platformの各セッションなどです。けっこう取捨選択していますので、興味のある方はぜひ原典をあたってみてください。上記スライドの最後の方に、各資料へのリンクを貼ってあります。
これでCCC登壇は9回連続9回目になります。初めて出たのがもう4年前か・・・。早いなあ。もちろん、次回も頑張りたいです。
参加したセッション
Spring Boot Actuator 2.0 & Micrometer (槙さん)
僕の師匠である槙さんのセッション。内容としてはMicrometerが中心でした。理解があってるかどうかビミョーですが、メトリクス取得機能+各監視ツール(DataDogやPrometheusなど)に合わせてデータを整形する機能を持っているようです。
ちなみにこの朝イチの時間帯、個人的に聞きたいセッションが重なっていて選ぶのに困りました。できれば全部聞きたかった・・・。
Swagger(OpenAPI Specification)入門 (正野さん)
Swagger自体は知っていましたが、使ったことがなかったので聞いてみました。各Swagger Xxxの関係性が分かりやすくて良かったです。
ある程度前提知識があったので個人的には前半の内容が少し冗長に思えましたが、その分まったく初めてという方にもわかりやすいセッションだったと思います。
How to Properly Blame Things for Causing Latency: An Introduction to Distributed Tracing and Zipkin (Adrian Coleさん)
マイクロサービスで必要不可欠な分散トレーシング(ログを1箇所にあつめてほげほげするやつ)。そのデファクトであるZipkinのセッションです。発表者のAdrianさんはその作者です。元Twitterで今はPivotalに所属されているとか。
通訳ナシのセッションだったのですが、とても優しい口調でゆっくり喋っていただけたため何とか理解できたと思います。懇親会で質問したかったんだけど、自分のLTとかその他もろもろでできなかった・・・😭。次こそは。
Spring Cloud, Docker & Kubernetes - Lessons Learned in the context of an OSS Project (Daisuke Yoshimotoさん, Mauricio Salatinoさん)
連続で英語セッションでした。吉本さんは最初だけで、発表はほとんどMauricioさんでした。Adrianさんとは対象的にメチャ早口・・・😅。正直、あんまり理解できませんでした。内容としては、Kubernetesというよりマイクロサービス一般の内容が中心だったと理解しています(違うかもしれない)。
Spring Boot on Kubernetes : Yahoo!ズバトク事例 (玉利さん)
Yahooさんのシステムリプレイス?事例。Spring Boot + Kubernetesという構成。話の内容としてはKubernetesの基礎や、Kubernetes上でSpring Bootアプリを動かすためにやったことや注意点などで、とてもわかりやすかったです。
個人的には、Spring Data JPAでJPA実装をEclipseLinkにし、その独自機能でDBシャーディングをしていた部分。Spring Data JPAでEclipseLinkを使った事例は初めて聞いたので、とても参考になりました。
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話 (福嶋さん)
Java 100本ノックのジャストシステム福嶋さんのセッション。こないだの技術書典で初めてお話しできたので、セッションも聞いてみたいと思い参加しました。
DDDやクリーンアーキテクチャーについてはあんまりしらないのですが、マイクロサービスの流れでよく聞くキーワードです。ただ、今回の福嶋さんのセッションだと、DDDやクリーンアーキテクチャーが先にあって、その結果マイクロサービスになったという理解です。
この最後の時間帯も、聞きたいセッションがいくつも重なっていました。選ぶのが大変・・・!
懇親会
LT
個人で懇親会LTのCfPを出したら通りました。去年、海外カンファレンスに初参加したときに体調を崩して病院にいった話をしました。そこそこウケてよかったです。資料は技術系じゃないのでアップしてません。
風船
発表者は風船をつけて分かりやすいようにするという新たな試みがされていました。ただし諸事情で上に浮かばなかったので、腕にくくりつけるだけでしたが😅。。。しかし、やはりそれでも風船が目印になったのか、懇親会で「セッション聞いてました!」とお声がけいただける機会が以前よりも格段に増えたように感じました!次回はぜひ上に浮かぶようお願いします!ww
LINEさんのお寿司
#JJUG _CCC 出張回転寿司の尊さを一部動画でお届けしますね pic.twitter.com/DMFnps3WIz
— LINE_DEV (@LINE_DEV) 2018年5月26日
以前もあって話題になったLINEさんのお寿司、再び登場!前のときはネタがマグロだけだったような気がするんですが、今回は赤貝・いくら・うに・エビなど盛りだくさん!いやー、これは本当にすごい・・・。LINEさん、ありがとうございます!
気になった点
運営が非常にスムーズで問題点らしい問題点は見つからなかったのですが、あえて言うならアンケートの回収率かなと・・・。運営の方が全セッションの冒頭や終了時に「アンケートにご協力お願いします!」とアナウンスしてくださっていますが、このブログ執筆時点で僕のセッションへの回答数は40ほどです。セッションに参加いただいた方の1割ちょっとくらいだと思います。
確かに、僕自身も含めて参加者としてはイチ早く次のセッションの座席を確保するために移動したいし、そうするとどうしても前のセッションのアンケートは忘れがちになりそうです(結局、僕は30分休みのときにまとめて書きました)。
具体的なアイデアは今のところ思いついていないのですが、どうにかなれば、と思います。
最後に
今回もめいっぱい楽しむことができました。JJUG幹事の皆さん・ボランティアスタッフの皆さんには頭が下がります。いつも本当にありがとうございます。
僕もスピーカーとしての貢献を続けていきます。
Java EEにMVCはなぜ必要なのか
この記事は?
Java EE Advent Calendar 2017の22日目です。
6日目の@khasunumaさんの記事「MVC のこれまでとこれから」で、MVCがこれまで辿ってきた経緯が解説されていました。
僕は個人的にMVCを待ち望んでいました。早い段階からブログを書いたり、JJUG CCCで発表したりもしていました。今でも、「MVC 1.0」でググると多くは僕の記事がヒットします。
蓮沼さんは上記の記事では、「MVCはあるに越したことはないが必須ではない」というご意見でしたが、僕はこの記事のタイトル通り「MVCは必要」という意見です。
世の中には色んな意見があっていいと思いますので、ここで論じてみたいと思います。少しでも参考になれば幸いです。
意見1: Java開発者の多くはアクションベースフレームワークに慣れている
JavaでWebアプリケーションを作る場合のフレームワークといえば、昔のものになりますが、やはりStruts 1.xやSeasar2(正確にはS2StrutsやSAStruts)が多勢を占めるでしょう。これらはすべて、HTTPのリクエスト・レスポンスのやり取りを記述する「アクションベースフレームワーク」に分類されます。他のフレームワークも、ほとんどがアクションベースでしょう。
それに対して、JSFは「コンポーネントベースフレームワーク」です。画面のパーツやイベント(ボタン押下など)に着目して実装します。JSF以外にもコンポーネントベースフレームワークは存在しますが、Javaでは少数派です。また、Swing・JavaFX・AndroidなどによるGUIプログラミングを経験したことがある人は、Webアプリをアクションベースで作った経験がある人に比べれば少数でしょう。
つまり、多くの人はアクションベースに慣れており、コンポーネントベースに慣れている人はあまり多くありません。(あくまで僕の実感ベースですが)このような状況下で、特に大人数の開発者が必要なプロジェクトでは、「よし、コンポーネントベースのJSFを採用しよう」とはならないのではないでしょうか。
もちろん、サーバーベンダーのサポートを受けたいからJava EE標準で作りたいという場合は、選択肢がJSFしかありませんので、JSFが採用されるでしょう。しかし、もしJava EE標準のアクションベースMVCも選択肢として存在するなら、JSFではなくMVCの方が採用されるのではないでしょうか。
意見2: すべてのWebアプリがフルJavaScriptで画面を作られる訳ではない
確かに、いまJavaScriptでUIを構築することが増えています。Angular・React・Vueなど、JavaScriptフレームワークの進化はとても速いです。もちろん、画面をすべてJavaScriptとピュアなHTMLで書くことも多いでしょう。
しかし、すべてのWebアプリがそうではないと思います。従来のように、サーバーサイドでHTMLを出力し、JavaScriptを補助的に使うようなアプリもまだまだ存在するでしょう。
JSFは、この用途には向いていません。画面上にJavaScriptで処理を記述すると、JSFが内部的に使っているJavaScriptコードと競合したり、画面上で処理した結果がサーバー側で保持しているコンポーネントツリーと矛盾したりして、うまく動かないことがあるからです。
なので、シンプルに「サーバーサイドでHTMLを出力するだけ」のフレームワークが求められます。それがMVCなのです。
これからMVCはどうなる?
蓮沼さんのブログにもある通り、今もMVCは仕様策定プロセスが進んでいます。現スペックリードの1人であるIvar GrmstadさんはEE4Jでも中心人物であり、今後はEE4Jの傘下で積極的な活動が続くでしょう。実際に、つい先日(12月18日)、Public Reviewという重要なバージョンがリリースされました!
前のバージョンであるEarly Draft Review 2は2015年11月であり、2年以上ぶりのリリースになります。とても感慨深いです。
正式リリースがいつになるかは現時点では不明です。完全に僕の予想ですが、早くて2018年、遅くとも2019年前半には正式リリースになるのではないでしょうか。
MVCに限らず、Java EEはこれからどのように仕様策定プロセスをすすめるのかなど、EE4Jで検討中の事項が多いです。まだしばらく待つ必要がありますが、期待して待ちましょう。
Cloud Foundryを学習する方法
この記事について
この記事は、Cloud Foundry Advent Calendar 2017の15日目です。
Cloud Foundry(以下CF)は、日本国内でも広がりを見せていますね。ただ気になるのは、Cloud Foundryの学習手段がまだ少ないことです。
そこで今回は、これからCFを始めたい人向けに、どのように勉強すればいいかを僕なりに整理してご紹介していきます。
自己紹介
CF関連のブログを書くのは初めてなので、軽く自己紹介します。
多田真敏(ただまさとし)と言います。カサレアルという会社で、研修トレーナーをやっています。
もともとJava EEやSpring FrameworkなどサーバーサイドJavaを中心に担当していました(もちろん今もやってます)。
SpringについてはPivotal認定講師ということもあり、Pivotal Cloud Foundryの開発系トレーニングも、今年から始めています。
ということで、内容がどうしてもPivotal Cloud Foundry (以下PCF)寄りになってしまうのですが、OSSのCFでも共通する内容になるよう気をつけて書いていきます。
ハンズオン
まずはとにかく、触ってみることから始めましょう。Pivotalジャパンさんが、GitHubにハンズオン資料を公開されています。
元々はPivotalジャパンさんが無料セミナーで使っている資料なのですが、ご自分で学習する時に利用することは全く問題ありません。
もちろん、ここで利用しているCFはPCFなので PCF独自機能の紹介も含まれていますが、大半は元々のCFの内容なので、どのCFディストリビューションを使うにしても参考になる内容が多いです。
cf
コマンドを使ったアプリケーションのデプロイやスケール、Blue/Greenデプロイを体験しましょう。
ハンズオンと並行して、資料にリンクが貼ってある下記のスライドも読みましょう。CFで何が出来るか、どんな仕組みかがざっくり理解できます。
www.slideshare.net
書籍
Amazonで「Cloud Foundry」で検索すると、洋書が実質3冊しかありません。日本語の本は皆無です。
僕が購入したのは、Cloud Foundry: The Definitive Guide: Develop, Deploy, and Scaleという本です。
出版されたのが2017年5月と新しく、ほぼ現時点で最新の内容が紹介されています。内容はCloud Foundryの内部の仕組みやアーキテクチャが中心で、管理寄りですね。全体的に平易な英語でかかれており、とてもわかり易いです。
開発系の内容は、あまり多くありません。とりあえず、第3章Components、第6章Diego、第9章Buildpacks and Dockerだけでも読んでおくと良いでしょう。
コミュニティ
コミュニティの勉強会にも行ってみましょう!色んなエンジニアの方々のお話や、最新情報などを得られます。
Eラーニング+資格
Cloud Foundry Foundation公式のEラーニングと資格があります。(ただし全部英語)
これらはもちろん有償です。Eラーニングが$299、資格試験が$300です。セットで購入すると割引で$499になるみたいです。
たまに激安セールしていることがあって、セットで半額みたいな値段で買えることがあります。
Twitterで@cloudfoundryをフォローしておくとセール情報が流れてくるので、ぜひフォローしておきましょう!
Eラーニングの内容については、CFだけでなくMicroservicesやCI/CD、Dockerなど様々な内容から構成されています。
資格試験については、まだ未受験なので何とも。。。😅
(実はこのアドベントカレンダーの日までに受験しようと思っていたのですが、諸般の事情で・・・)
試験時間が4時間という、かなりガッツリ系の資格です。もし受験された方がこの記事を読んでいたら、ぜひコメント欄で情報ください!
トレーニング+資格
PCFのトレーニングになりますが、僕がやっている「Pivotal Cloud Foundry Developer」という開発者向けトレーニングがあります。
Pivotal認定 Pivotal Cloud Foundry Developer | 株式会社カサレアル ラーニングサービス
Pivotal製のテキストですので全部英語ですが、講師である僕はすべて日本語でトレーニングを進めます。日本語で学べるのは大きいですね。
Auto Scalerなど一部の章はPCF独自機能ですが、ほとんどの内容はCF共通です。始めてCFを学習する方に最適なトレーニングです。
そして、このトレーニングに対応した資格試験があります。
https://pivotal.io/training/certification
対策としては、上記のサイトにあるExam Briefで各章のウェイトを確認し、Study Guideにまとまっているポイントを確認しながらトレーニングのテキストを復習するのが一番いいです。
トレーニングを受けていなくても資格だけ受験もできますので、PCFユーザーでなくても活用しやすい資格です。
問題はすべて4択で、出題はとてもストレートです。妙にひねった問題とかは出てきません。
Cloud Foundry Foundationはちょっと重たい、という場合はこちらを目標に学習されてもいいと思います。
公式ドキュメント
やはり、最後は公式ドキュメントを確認しましょう。ここに書いてある情報が一番正確なはずです。
最後に
Cloud Foundryに限らず、最近は日本語の技術情報が少なくなってきました。どうしても英語は読まざるを得ないですね。
また、ようやっとトレーニングも出来ましたので、ぜひ活用してください!
はじめてのSpringOne 体調不良からの病院編
12/3(日)・4(月)の2日間は、プレカンファレンストレーニングを受講する予定だったのですが、ここでもまたトラブル発生で、体調を崩し病院に行くことになってしまいました。(体調はすでに回復しています)
ある意味なかなか貴重な体験をしましたので、これから海外カンファレンスに行きたい方の参考のためにまとめておこうと思います。
サンフランシスコ到着初日の12/2(土)から、要点を時系列で書いていきます。
時系列
12/2(土) AM11:30
サンフランシスコ到着。飛行機での睡眠時間は2時間弱。ハイになっているからか、あまり眠気は感じなかった。この時は特に体調不良は感じなかった。
12/2(土) PM06:00
晩ごはん。ステーキを食べたくらいなので、この時も体調不良は感じず。
12/2(土) PM10:00
早めに就寝。ちょっと部屋が乾燥してるなーとは思っていた。
12/2(土) PM11:00
1時間ほどで目が覚める。部屋の乾燥のせいか、喉がイガイガした。もう一度寝てみる。
12/3(日) AM12:00
また1時間ほどで目が覚める。喉のイガイガが増した。もう一度寝てみようとしても眠れず。
部屋の乾燥がひどいので、フロントに電話して加湿器が無いか聞いてみたが、無いとの回答。
うーん、日本のホテルだとだいたい貸してくれるんだけどな・・・😅
バスタブにお湯を溜めてバスルームのドアを開けっ放しにするなど、思いつく限りの対策を行う。
12/3(日) AM05:00
多分この時間くらいに寝落ち。
12/3(日) AM07:00
スマホの目覚ましで起きる。喉のイガイガがめちゃくちゃ酷くなっていた。
手がとても冷たかった。
12/3(日) AM09:00
少ししんどさもあったが、予定通りSpringOne会場に向かい、プレカンファレンストレーニングを受講開始。
12/3(日) AM09:30
喉の痛みのほか、動悸・息苦しさ・微熱を感じ始める。内容が頭に入ってこない。(英語なのもあるけど)
12/3(日) AM10:30
体調がついに限界を迎える。周りの方に迷惑をかけるわけにもいかないので、同じ部屋にいたPivotalのスタッフの方に事情を説明し、泣く泣く途中退出。
歩いてホテルに戻る。(徒歩10分くらい)
12/3(日) PM12:00
少しホテルで休憩した後、コンシェルジュに「お医者さんを紹介してほしい」と相談。
日曜日なので開いてるかな・・・と心配していたが、近くに開いている病院があるとのこと。
コンシェルジュが病院に電話してくれた。自分は英語に自身がないと伝えたら、代わりに自分の症状などを伝えてくれた。マジ感謝。
自分からが「微熱(I have a slight fever)」「喉の痛み(I have a sore throat*1)」
今すぐ行けるとのことだったので、予約を取ってくれた。徒歩で2-3分の病院へGO。
12/3(日) PM12:30
病院へ。身分証明書としてパスポートを受付で見せる*2。
受付票に名前・住所・簡単な症状を書く。
最初は看護師さん?による検査。そのあとお医者さんによる触診など。
お医者さんの英語は速いし単語が難しいので理解に苦労したけど、必要に応じてGoogle翻訳を使ってくれた。
こちらも、分からない医療用語(「普段からじんましんの薬を飲んでいます」とか)はGoogle翻訳を使って伝えた。
感染症などではなく、乾燥による喉の痛みとのこと。
薬を2種類もらい、ホテルへ戻る。(この時、たしかPM02:00くらい)
ちなみに、日本と違って薬局でもらう方式ではなく、病院で直接薬をくれた。
診療費+薬代で約300ドル。保険効かないので高いですが、旅行保険に入っていれば後日精算可能、なはず。
12/3(日) PM02:30
遅くなったけどお昼ごはん。
ホテルの近くはハンバーガーやピザやステーキのお店ばかり。体調悪いし喉も痛いし、そんなん食うてられん。
そこで、近くのスーパーマーケット「Walgreens」へ。サンドイッチやSushi(敢えて寿司とは書かない)もあるので病人にも優しい。
マグロ+アボカドの巻きSushi、カットフルーツのマンゴーやパイナップル、ヨーグルト、100%オレンジジュース、そして大量のミネラルウォーターを買い込む。
リュックには入り切らないのでレジ袋を所望。(「May I have one shopping bag?」で通じます)
部屋に戻ってSushiをmgmg。もらった薬を飲む。
日本から持ってきたカップ味噌汁も作ったが、沸かしたお湯がぬるくて美味しくなかった。
12/3(日) PM04:00
夜寝ることを考えると、加湿器は必須だった。
しんどさはあるが、近くに家電量販店があるか検索し、加湿器を買いに行くことを決意。
Google Mapで「サンフランシスコ 家電量販店」で検索すると、近くに「RazerStrore」と「Target Open House」の計2件がヒット。
やや近かったRazerHouseから行ってみた。ゲーム機しか置いてなかった。。。
次にTarget Open House(Mosconeのすぐ近く)へ。家電量販店というよりはホームセンターに近いかな?でも家電もそこそこ置いている。
店がメチャ広くて探すのに苦労したが、店員さんに「Where can I get a humidifier*3?」と聞きつつ見つけてゲット。値段は58ドルと安くはないが、命には換えられなかった。
12/3(日) PM05:00
ホテルへ戻って加湿器を設置。パワーが強い方を買ったので、これで十分そうだ。
12/3(日) PM07:00
晩ごはんは、近くの日本料理レストランで鍋焼きうどん。日本の鍋焼きうどんの再現性高し。
12/3(日) PM09:00
寒気がする。これは熱が上がる予兆だ。
実際、しばらくすると逆に熱くなってきた。
12/3(日) PM10:00
不安を感じつつ就寝。
12/3(日) PM11:00
1時間で目が覚める。案の定、熱がメチャクチャ上がっている感じがする。
フロントに電話して体温計を所望するも「無い」との回答。ええい使えん。
ロキソニンなど日本から持ってきた市販薬はあるが、敢えて使わなかった。
自分の理解では、熱は勝手に上がるものではなく、何らかの理由があって自分の体が自ら熱を上げている(細菌を殺すとか)ので、解熱剤はあまり多用すべきでないと思ったからだ。あまりに長時間続くようだったらロキソニンを使おうと決めた。
2時間くらい、身体が冷めないように布団をかけながらネットサーフィンしつつ過ごしていると、だんだん汗をかくようになり、それに伴って熱が下がってきた。
頭もかなりボーッとしてたが、徐々にハッキリしてきた。
12/4(月) AM02:00
だいぶしんどさも軽くなってきたので、もう一度就寝。何回か起きたけど、そこそこ眠れた。
12/4(月) AM07:30
起床。喉の痛みはまだあるが、加湿器のおかげでだいぶマシになった。
だるさも少し残っているので、今日のプレカンファレンストレーニングも欠席した。無念・・・。
また、夜は前夜祭的なパーティーがあるのですが、これも欠席しました。
今日はWalgreensへの買い物以外はずっとホテルに居て、今に至ります。
ポイント
旅行保険大事!
健康保険が効かないので、医療費はメチャ高くなります。それを後日でも生産できるのは本当にありがたいです。
睡眠大事!
実は、緊張からか出発前日や飛行機内では、あまり眠れませんでした。
後々になってダメージが来ることがあるので、サプリメントや市販の睡眠薬などを活用すると良いかもしれません。
加湿器大事!
サンフランシスコは本当に乾燥しています。ホテルの部屋は空調の関係上、より乾燥しやすいです。
日本から持ってこれるなら、持ってくるべきと思います。しかも、なるべくパワーが強いやつ。
早めに誰かに相談を!
英語の不安もあるかと思いますが、ホテルのスタッフのどなたかにとにかく相談しましょう。何らかの対応はしてくれるはずです。
(僕のホテルの深夜担当フロントは本当に使えなかったけど・・・)
あとは、旅行保険に日本語OKの連絡先とかもあるはずなので、それを必ず確認しましょう。
Walgreens最強
食料品はなんでも揃っています。
Target Open House最強
日用品から家電までなんでも揃っています。
インターネッツ最強
Google翻訳・Google Mapにはお世話になりました。スマホとWiFi無かったら・・・と思うとゾッとします。
堂島庵最強
日本食を、けっこう違和感ない感じで提供してくれます。スタッフには日本語を話せる(というか日本人っぽい)方もいらっしゃいます。
100%オレンジジュース最強
米国のジュースって甘ったるいものが多いですが、100%オレンジジュースなら日本とほぼ同じです。日本でもおなじみのブランドも多いし。
最後に
会社の出張で来てるのに・・・という申し訳なさと、海外で体調を崩してしまったことへの不安と、周りに誰もいない心細さで、潰されそうになりました。
30すぎのOssanな僕ですが、一瞬本気で泣きそうになりました。
明日から、カンファレンスの本番です。体調を見ながら、休憩しつつ参加していきます。
はじめてのSpringOne 出発→到着編
無事にサンフランシスコに到着しました。今、夕食を食べ終わってホテルにいます。
飛行機
HISで、JALのサンフランシスコ直通便を確保していました。
羽田空港でチェックイン時に、スタッフの方から「座席のご希望はございますか?」と聞かれたので、通路側を希望したら変更できました。スタッフのお姉さんありがとう!帰りのときも聞いてみます。
8時間半くらいのフライトでしたが、ほとんど眠れず。。。出発前日も緊張であんまり眠れてないので、かなりしんどい。。。
サンフランシスコ国際空港に到着→入国審査
入国審査で「モスコーニセンターでのカンファレンスに参加します」と答えたら、「Business Letterはあるか?」と聞かれました。
字面では分かりますが、今の文脈で何を指しているのか分からなかったので「Sorry, I don't understand. What do you mean by "Letter"?」って聞き返したら何かバカにされたような・・・。
結局そのまま通されましたが、何だったんだろう。招待状とかのことを言ってたのかな?そんなもん無いんだけど・・・。
空港からダウンタウンに移動
BARTを使いました。
ここでトラブル発生。アテにしていたClipper(Pasmoみたいなやつ)の自販機が「Out of Service」。そして、普通の切符の買い方がよく分からない・・・😅
どうやら日本の電車の切符みたいに1回きりではなくて、プリペイド形式みたいですね。
前の座席にコワモテのお兄さん3人がデカイ声で喋っていて、正直怖かった・・・。
ホテルにチェックイン・・・!?
ユニオンスクエア近くのホテルにしました。しかし、ここでもトラブル発生。
到着したのが13:00くらい。チェックインが無事に済み、渡された書類を確認すると、ルームキーが入ってませんでした。
「Excuse me. Where is my room key?」と聞いたら、部屋は15時半にならないと使えないとのこと・・・。
しょうがないのでスーツケースだけ預け、観光に行くことにしました。預けたときも、「さっき預かってくれた人は偽の制服を来たスリなんじゃないか」と思って気が気でなかったです。(ちゃんと従業員用の部屋に入っていったので本物のスタッフさんだった)
フィッシャーマンズワーフへ
もともと行こうと思っていたフィッシャーマンズワーフへ行って時間をつぶすことにしました。
しかし、ここでもトラブル続き。移動に使おうと思っていたケーブルカーが激コミ。
じゃあタクシーだ!と思って初めてUberアプリを使ったら謎のエラーで配車できない。なのにマップに従って乗り場に向かったら何だか怪しい雰囲気のところに行ってしまい引き返す・・・などなど。
この時点でもうだいぶ心が折れかけていて、率直に言えば「おうちかえりたい」気分でした。
でもまあ頑張っていこうと思い、Uberを使わず普通にタクシーを拾ってようやっとフィッシャーマンズワーフに着いたのでした。
Aquarium of the Bayという水族館に行ったのですが、来るまでのトラブルでもういっぱいいっぱいになっていて、内容があまり頭に入ってこなかった・・・。
ホテルのお部屋へ→晩ごはん
ホテルの部屋にようやっと入れ、安心して一息つけました。
晩ごはんは近くのステーキ屋さんへ。ジャンクな感じで美味しかったです。本当は更にベイクドポテトが付いてるんですが、食べきれないと思って外しました。
お店はこちら。
Tad's Steakhouse | San Francisco
明日から
明日・明後日は2日間のプレスカンファレンストレーニングです。
Spring 5の新機能を学習してきます!
はじめてのSpringOne 事前準備編
初の海外カンファレンス参加!
エンジニアにとって、海外カンファレンスに参加することは憧れの1つかと思います。Javaエンジニアなら有名どころはJavaOneでしょう。
今回いろいろな幸運もあり、Pivotal社が主催しているSpringOne Platformに参加することになりました!
Spring Framework / Spring Boot / Spring Cloud / Cloud Foundryなど、Pivotalがリードしているテクノロジーの最新情報が聞けますし、最近は仕事でもこのあたりの技術を触ることが多いので、機会に乗って行くことにしました。
カンファレンスに申し込もう
SpringOneの公式ページから申し込めます。
https://2017.springoneplatform.io/ehome/s1p/registration2017.springoneplatform.io
お値段は1700ドルと安くはないのですが、早めに申し込むとやや安めになります。
また、更に安くなるディスカウントコードというのもあります。コードの取得方法は、興味があればTwitter DMや対面で聞いてください。
プレカンファレンストレーニングを受けてみよう
SpringOneは計3日間なのですが、その直前の2日間で特別なトレーニング(研修)を受けることが出来ます。
2日間で700ドルと、通常のトレーニングに比べるととてもお得な値段になっています(もちろん、宿泊費とかは追加でかかりますが)。
内容は、僕も実施しているPivotal認定トレーニングとほぼ同じなのですが、Spring Boot 2.0やSpring 5など、最新技術が演習付きで学習できるのが特徴です。
僕は今回、「What's new in Spring 5」を受講することにしました。これを担当される講師の方が、いつも使っている認定テキストを作っているマスタートレーナーの方らしく、とても楽しみです!
宿泊などを手配しよう
必要なのはホテル・飛行機・保険の3つです。
今回はHISでまとめて手配しちゃいましたが、個別に手配してもよかったかな・・・と思います。
ホテルの注意点としては、危険な地域は避けることです。今回の会場であるサンフランシスコは比較的治安は良いようですが、それでも一般人は入るべきでない地域もあるようです。
危険な地域は、その地域に詳しい人(サンフランシスコならJavaOne経験者など)に相談するのがいいでしょう。もしくは、「地球の歩き方」という本に付属の地図に治安の良くない地域が書かれています。
地球の歩き方 ガイドブック B04 サンフランシスコとシリコンバレー2018年〜2019年版
飛行機は今回、JALの羽田・サンフランシスコ直通便にしました。香港経由便などを利用するともっと安くなるらしいのですが、僕はあまり海外旅行の経験が多くないので、万が一トラブルがあった場合や体力的なことを考えて、直通便にしました。
あと、HISなどを経由せず航空会社のWebサイトから直接申し込んだ方が、座席指定が出来たりメリットが大きいかな、と思いました。僕は体がデカイので、なるべく通路側の席が良かったりしますので・・・。
渡航手続きをしよう
ESTA
アメリカに短期間渡航する場合、ビザの取得は必要ありません。その代わり、WebからESTAの事前登録が必要になります。
https://esta.cbp.dhs.gov/esta/application.html?execution=e1s1
期限は渡航72時間前までらしいですが、時間がかかる場合もあるそうなので、なるべく早く登録しておいたほうがいいでしょう。
英語を勉強しよう
海外カンファレンスですから、スピーカーは全員英語で発表します。行くからには内容をなるべく理解したいので、英語も改めて勉強することにしました。
TOEIC Listening & Reading
まずはリスニング。TOEICは昨年受けたのですが、リスニングは全然聞き取れた気がしなかったので、改めて受験することにしました。
やったことは、去年買った単語集を改めてCDを聞きながら覚え直し、
CD-ROM付 改訂版 TOEIC(R)TEST 英単語 出るとこだけ!
新形式の問題集をやり直したことです。
公式 TOEIC Listening & Reading トレーニング リスニング編
公式 TOEIC Listening & Reading トレーニング リーディング編
公式TOEIC Listening & Reading 問題集2
おかげでだいぶ問題を聞き取れるようになり、スコアもかなり上がりました(リスニング390 -> 455)。
リーディングはちょっと下がっちゃったけど・・・😅(リーディング435 -> 405)
マンツーマン英会話
次にスピーキング。これを機会に、ガチで勉強することにしました。
会話力を上げるならマンツーマン英会話だろう、ということで、BerlitzとGabaを体験して前者に通うことにしました。
まあ、どちらも安くはないですね。。。ただ、ずっと外国人講師の方を相手に会話することを自分に強制できるので、とてもいい勉強になりました。
実際に向こうに行かないと分かりませんが、以前に比べれば話したいことがスッと出るようになった気がします。
いざ出発!
さて、明日夜の便で出発です!行ってきまーす!
「Spring Bootの本当の理解ポイント」というタイトルでJJUG CCC 2017 Fallに登壇してきました! #jjug_ccc
登壇してきた
www.slideshare.net
今回で8回連続8回目の登壇になりました。今後も記録を伸ばしていきたいです。
スライドもかなり多くの方々に読んでいただけているようで、現時点で4100viewsを超えています。
アンケートの結果はこちら。ご満足いただけたようで何より。
何故この内容にしたか
最近、Java EE研修のお客様はめっきり減り😅、ほぼSpringの研修ばかりやっています。
その中で実感しているのは、Spring BootでSpringに初めて触れたという方が多いと言うことです。
Spring BootはSpringの面倒な部分を隠蔽するので、一見便利なのですが、その面倒な部分を理解していないと、カスタマイズやトラブルシュートが出来ません。
また、世の中の「Spring Bootのブログ」を読んでいると「ん?コレ、BootじゃなくてSpringの話だよね?」と思う記事が非常に多いです。
そういった世の中に警鐘を鳴らしたいと思って、今回のテーマを選びました。
やってどうだったか
前述のとおり8回出させていただきましたが、ようやっと自分の立ち位置というか、自分に求められているものが分かってきたような気がします。
僕は現役のエンジニアではありません。そんな自分が、CCCに参加されるエンジニアの皆さんに何を提供できるのか、迷った時期もありました。
僕には、「現場で使ってこうだったよ!」とか「こんなテクニックがあるよ!」という話はできないからです。
しかし今回のように、中・上級者の方は分かっているけど暗黙知になってしまっている事柄を、整理して分かりやすく伝える、そのための資料を作る、ということなら僕にも出来ます。
初・中級者の方にとっては知らなかったことを知っていただけるし、中・上級者の方には人に説明するための資料や説明手順を提供できます。
次回以降もこんなテーマを見つけてやっていきたいと思います。
この4年間をちょっと振り返る
僕の初参加、そして初登壇は2014 Springでした。
正直、その頃はどのセッションを聞いてもサッパリ分かりませんでした。でも、3回目くらいから、ようやっと徐々に分かるようになってきました。
何年も前の内容が、今になって役に立つことも結構よくあります。例えば、今はMicroservices関連のこともやっているのですが、@nabedgeさんの12 Factorの資料は今になってとても参考になっています。キーワードだけでも知っているといないではだいぶ違います。
www.slideshare.net
登壇することで、自分の技術力がかなり上がったようにも感じています。資料作りのときにメッチャ調べなきゃいけないし、それは結構しんどい工程でもあります。しかし、それを何回も繰り返すことで、自分の知識が整理されたり、知らなかったことを知れたりして、自分の技術力がどんどん上がっていきます。
あと何より、色んな人との繋がりができたのが大きいですね。発表者になることで、声をかけてもらう回数が増えました。自己紹介が手短で済む(「今日○○で登壇した多田と申します」とか)ので、こちらから他の登壇者の方にお声がけするのも飛躍的に楽になります。懇親会でボッチにならずに楽しめるのは本当に嬉しい!w
ブログやTwitterでしか知らなかった方や、登壇者として「この人すごいなー!」としか思えなかった雲上の人ともお話できて、更に色んな技術情報が入ってきます。そこで、自分の理解が合っていたことを再確認できたり、間違っていたら修正できたり、全く知らなかったことを知れたりします。
自分にとって、JJUG CCCは無くてはならないものになりつつあります。JJUG CCCが無かったら、今の自分は無いですね。
全体的な感想
前回あった会場混雑の問題が、一方通行の導入や分かりやすいサインなどで解消されていました!参加者数も絞ったのかな?また、今回は参加できなかったのですが、アンカンファレンスなど新しい取り組みもありました。
費用面や運営面など、規模の拡大はこれ以上はなかなか難しいでしょうね・・・。
イチ参加者として、個人的にはこれくらいの規模が上限かな・・・と思います。これ以上規模が大きくなると、同時並行のセッション数が多くなるので、聴き逃してしまうセッションが多くなってしまうからです。
JJUG幹事の皆さん、ボランティアスタッフの皆さん、いつもありがとうございます。
僕もスピーカーとして、CCCへのコントリビュートを続けていきたいと思います!