Oracle Code One 2018[3日目]

この日は朝一から私のセッションでした。初の国際カンファレンスで英語での発表でした。日本のJavaコミュニティとエンジニアについて話しました。途中で話すことやJUGリーダーの名前が飛んだりして詰まりました。練習不足ですね。スライドも間違いが何箇所かありました。櫻庭さんの名前を間違えるとは思ってもいませんでした。

今日聞いたセッションは5つです。Beckのコンサートにも参加しました。

・Get to Know the Real World

月曜日に聞いたGraph Algorithms: Predict Real-World Behaviorと同じ発表者の方でした。発表者が同じことに気づいていませんでしたが、月曜日がかなり良い発表だったので期待しました。期待以上でした。Neo4jを使って映画と俳優等の関係性(チュートリアルとかでよくあるやつ)のデータを使ってそれらの関係性をグラフ(丸のつながり)で見るというデモとその前置きを説明する内容でした。可視化すると面白い関係が見られるということです。最初にグラフとは何か(ここではチャートではなくて丸のつながり)、どこで使われているか、どうやって使うかとグラフで見る関係の例からデモといった流れです。グラフはSNSでよく使われていてFacebookが特に力を入れているそうです。今回はNeo4jを使ってグラフを作ります。AくんとBちゃんが愛し合っていてAくんはTwitterアカウントを持っているけどBちゃんはアカウントを持っていないという状況でもグラフなら問題ないということでした。愛の線を引いてグラフ中の人(丸)をクリックしたらTwitteアカウントが表示されて持っていなかったら何も表示しなければ良いだけです。現実世界の状況(関係)を目的に合わせて可視化するのがグラフです。デモでは映画のキャラクターと俳優の関係を見たのですが、ロードオブザリングの1作目で殺されるキャラクターを演じた俳優が3作目で他のキャラクターとして出てくるのが見ている人は混乱するのですが大人の事情ってやつがあるんだねという話や、オークやエルフなどは4種類ぐらいのパターンから演じられている等グラフにしてわかることもあります。

 

Java Puzzles NG S03: What? Where Did Those Come From?!

2回目のJava Puzzleです。1回目はSFJUGで体験しました。少しだけ内容が被っていました。Java Puzzleは勉強になります。

 

・Performance Story: How to Speed Up HTTP/2 Client

このセッションはつまらなかったです。スピーカーが淡々と述べるだけでした。調べれば出てきそうなことをずっと言っていました。

 

・An Experience with Using Java with HuKuberetes for Microservices

寺田さんのセッションです。開始10分前には前の方がほとんど空いていませんでした。寺田さんのセッションだけ会場が暑かったです。寺田さんはどこへ言っても愛されます。寺田さんのセッションは中継されていました。

youtu.be

寺田さんの実体験に基づいた内容でした。学生にとっては現場の状況を学べる良い機会です。何となく想像はできますが、実体験を語っていただけたので助かります。

 

Keynote: Groundbreakers: The Code Avengers

f:id:EVGENIY:20181025183921j:plain

始まる前です。コードでDJをやっているみたいです。sonic piというやつらしいです。

コミュニティキーノートは毎年お遊戯の時間です。お遊戯の前は色々あったのですが、IBMクラウドの話をしてのは驚きました。スポンサーとなるとORACLEの製品は御構い無しなんですかね。JUGリーダーたちが呼ばれてIBMの靴下を投げました。私もゲットしました。

今年のお遊戯はアベンジャーズのパロディーです。

f:id:EVGENIY:20181025183840j:plain

ドクター・ステファン・ストレンジです。

f:id:EVGENIY:20181025183801j:plain

参加者の椅子の下にインフィニティストーンやミニチュアのバスケットボールが置いてあります。それをJUGリーダーたちに渡して紫色のDukeを倒す(助ける)寸劇です。セリフはアベンジャーズから引用がいくつかありました。ただ、台本かアドリブかはわかりません。バットマンワンダーウーマンも出てきました。マーベル限定ではありません。

f:id:EVGENIY:20181025183809j:plain

フラッシュもいますね。キャプテン・セバスチャン・アメリカです。

f:id:EVGENIY:20181025183815j:plain

伊藤さんも登壇していました。アンカンファレンスは世界中で開催されているみたいです。

JJUG10周年を祝ってもらいました。

 

 

KeyNoteのあとはBeckのコンサートに行きました。

f:id:EVGENIY:20181025183721j:plain

会場がAT&Tスタジアムなので野球観戦のセットを食べました。もちろん他の食べ物もあります。

f:id:EVGENIY:20181025183714j:plain

最初は後ろの席で見ていました。

f:id:EVGENIY:20181025183705j:plain

Beckが出てくることにはほとんどの日本人が帰ってしまいきしださんに誘われて前の方に行きました。人の間を縫って一番前まで行けました。

 

時間が戻って会場の様子です。今日はお昼のチケットを撮り忘れました。

f:id:EVGENIY:20181025183936j:plain

今日もコーヒーとハーゲンダッツが配られました。

f:id:EVGENIY:20181025183957j:plain

今日の戦利品です。IBM靴下とアンカンファレンスオーガナイザー(かな?)に人たちが投げたTシャツをゲットしました。あとBeckのチケットは回収されなかったのでまだ持っています。今日はブースであまりゆっくりできなかったのでTシャツなどは手に入らなかったです。

 

明日は最終日です。私のセッションも終わったので気楽に楽しみたいと思います。

今日はいろんな経験をした1日でした。

Oracle Code One 2018[2日目]

この日は前日の経験をもとに早めのバスに乗っていきました、やはり私に家から1時間と見積もるのが良さそうです。

この日は6つのセッションに行きました。

・Let's Start Java11 from the Begining with JShell

きしださんのセッションです。JShellを使ってJava11と12でできることを紹介していました。私は私の端末のターミナルでJava11のJShellを使いながら聞いていました。きしださんはブラウザで実行できるJShellの上でJava12のJShellを動かす想定で話を進めました。

資料はここにあります。

qiita.com

朝一から手を動かして目が覚めた気がします。

 

・Firefighting Java Big Data Problems

ビックデータを扱う上で適切なツールを使って時間やリソースを有効に活用しましょうというセッションです。現実世界で起こり得る上司からリクエストに対してそのリクエストに答えたりそもそもそのようなことを聞かれないためにDB周りをどのように扱うかなどを話していました。Big Dataを集めているときは野良データをDBに入れるのではなくAVROを通しましょうといった具合です。巨大で不揃いなデータの扱いには気をつけましょうという話でした。

 

・What's New in the Java Platform Language and Tooling Area

varの扱い等のJava11や12で新しく(var自体はJava10からですが)加わったことに対して適切なコードの書き方や好ましくない例をあげるセッションでした。楽になったからといってただコード量を少なくすると読みづらくなります。見やすくて混乱しないコードを書きましょう。

 

Apache Spark Now Runs on Kubernetes!

Kubernatesの上でSparkを使った事例をデモと合わせて紹介していました。最初にSparkとKubernatesとDockerの概要を説明してから

 でもコードはここにあります。 

github.com

 

・Kenote: Oracle Code One

Kubernatesとかのオープンソースがすごいよ、ブロックチェーンを使ってメッセンジャーで車の売買ができるよ、Grandbreakerの表彰してパネルディスカッションするよといった具合でした。オープンソースがすごいのは今に始まったことではありません。それよりあなた歩きすぎじゃないですか?長ーいデモのキーノートでした。車をメッセンジャーで売買するデモだったのですが、ブロックチェーンを使う必要性がよくわからなかったです。会長の車を得るのは面白かったです。Grandbreakerの1人でPythonの人が冗談で「Oracleに表彰されても誇りに思わないよ。(笑」と言っていました。

最後にJavaRockStarの方々が壇上に上がって終わりました。f:id:EVGENIY:20181024152638j:plain

 

・How to Build Your Own Acoustic Simulator on GPU with Java(改めImplement my own sound simulator)

もうひとつのきしださんのセッションです。スケジュールや入り口とスライドのタイトルが違っていてGPUという言葉がなくなっていたのできしださんがタイトルを言った時に会場の空気が変わりました。それでも退出する人はいなかったので、みなさんそのうち出てくるだろうという気持ちで聞いていたと思います。きしださんのデモではノイズが取り除かれる前だったので発表が終わってからノイズを取りますと言っていました。

 

昨日よりはJavaのセッションが多いのでJavaのイベントに来たという実感がありました。ただ、キーノートはつまらなかったです。キーノートの時間にラーメンを食べに行っている方々がいてそちらと一緒に行動していた方が賢かったかもしれません。明日のキーノートはお遊戯なので見に行きます。

会場の様子です。

 

f:id:EVGENIY:20181024152629j:plain

2階と3階の間から撮りました。

f:id:EVGENIY:20181024152546j:plain

かっこいいパネルが置いてありました。

f:id:EVGENIY:20181024152553j:plain

この絵も完成に近づいています。

f:id:EVGENIY:20181024152607j:plain

パックマンが置いてありました。このよこに占いの機械もありました。

f:id:EVGENIY:20181024152403j:plain

今日のランチチケットです。今日から来た人は昨日のチケットを渡して受付のおばさんい「これじゃないよみんな紫色のやつちょうだーい」と叫んでいました。

f:id:EVGENIY:20181024152718j:plain

きしださんのセッションの時間中に櫻庭さんから店を16人で予約したから2005前で集合ねというつぶやきがありました。私もその中に入れていただいていました。きしださんのセッションの後は明日の準備のために早く帰ろうと思っていたのですが、少しだけ顔を出して早めに帰りました。

f:id:EVGENIY:20181024152511j:plain

料理は美味しかったです。上の写真の獅子唐が意外性もあって美味しかったです。ちゃんと辛いですがからすぎないちょうど良い感じの獅子唐でした。

私が通っている語学学校の寮のすぐそばなので今度機会があれば学生と行こうと思います。

f:id:EVGENIY:20181024152502j:plain

今日の戦利品です。広げているTシャツ2枚はもらいました。右の折りたたんでいるCodeOneのTシャツは買いました。ロンTフード付きで$35くらいです。デューク人形はJava Day Tokyoの時に買いましたが、CodeOneで見かけるたびに買おうと思います。参加するたびに増え続けるデュークを見てみたいです。真ん中の黒いのはWebカメラのレンズを隠すシールです。私はいつもノートパソコンのカメラを付箋で隠しているのですがかっこ悪くいのでいい感じのシールを探していて、ちょうどOracleのロゴ入りのが安かったので買いました。ただ、私のMac Book Pro13には合いませんでした。閉めても隙間ができてしまい完全には閉じないのです。日本に帰ったら15インチの方につけてみます。あっちは問題なく閉じると思います。

明日はいよいよ私のセッションです。朝一なのでセッションを乗り切ったら思い切り楽しもうと思います。Beckのコンサートも楽しみです。

Oracle Code One 2018[1日目]

Oracle Code Oneが今日から始まりました。バスで会場へ向かったのですが、いつもとは違う道の混み方をしていました。ずっと渋滞なのです。いつもだと30分もかからない道が1時間以上かかりました。CodeOne初日で空港から直接くる方が列を作っているかと思いきや、毎年連日シリコンバレーからずっと混んでいるそうです。去年のJavaOneは7万人の参加者が来たそうなので相当数の車がMoscone Centerに向かっているわけです。会場で朝ごはんを食べるつもりで早めに出た方が良いのでしょうか。

今日参加したセッションは7つです。

 

・How Machine Learn to Code: Machine Learning on Source Code

データサイエンスや機械学習の概要から始まってコードで理論をどう実装するかやその時に役立つツールの話でした。スピーカーが言っていた「機械学習の仕事はどこに行ってもDeep Learningと言われるのでしょうがなくNeural networkを使う」はどこの国でも同じなのだと思いました。

ニューラルネットワークをチューニングしすぎて専用機にすると当初の目的とかけ離れたことになるや機械学習を使うプロジェクトのほとんどはGPUが使われます等基本的な内容が多かったです。初心者向けに機械学習の概要と実装部分の紹介をしたセッションでした。

 

・50 Shades of Data: How, When, Why-Big, Relational, NoSQL, Elastic, Graph, Event

Oracle Databaseのこれまでの使われ方と最近の使われ方を最初に紹介して次にNoSQLは全くSQLを書かないわけではなくNot Only SQLが正しいですという説明をして最後にOracle Database XE-eXpress Editionを無料で使えるという告知をして終わりました。勢いがあってスピーカーさんが早口で話していましたが、なんとか聞き取れました。データベースやSQLが本質的には変わっていないこと、データを正しく扱って捌くこととOracleJava以外の無料の製品があることを学びました。

 

・From Monolith to Microservice DB and Improving App and Database Performance in Projects

最初にコードとデータのどちらが大切かという問いかけに対して「そうですね、データが何より大切ですね」と言い張ったスピーカーがかっこよかったです。ただ、そのあとはわりと当たり前のことを言っていたのであまり覚えていないです。気に入ったスライドは全てスマホにとっているのですが、このセッションはタイトルとアジェンダの2枚しかとっていませんでした。データとデータベス、マイクロサービスのDBの世界とデータと問題というトピックでした。

 

Cloud Computing Spacecraft Deployment from NASA's Human Luner Output

月の衛星のシュミレータを開発したお二人によるセッションでした。スピーカーの1人が「JavaFXならなんでも作れる!強力なJavaが使えるからJavaFXを使うんだ」となんども言っていました。もう1人のスピーカーは主に数学や物理の理論の部分を説明していました。お二人のシュミレータにはクラウドにログインをするボタンがあって「なんでみんなこのボタン作らないんだろうね?作ればいいのに」とJavaFXクラウドの組み合わせが強力であることを推していました。最後に「これは月のシュミレーターだけど他の惑星でもできるんですか?」という質問に対しても「これは月しか入れてないけどJavaだから宇宙の90%は趣味レーションできる(ようになる)」とおっしゃっていました。アメリカンなノリのセッションでした。

 

・How Does Ruby on Rails Work with MySQL, Oracle Database, and Other Databases

このセッションはRubyに興味があったというよりは日本人エンジニアの方の発表を見て勉強しようと思って参加しました。海外の発表ということで日本人独特のツール等の読み方に気を付けなければならないと感じました。SQLエスキューエルですが海外だとシークェルのような発音です。

 

・Graph Algorithms: Predict Real-World Behavior

こちらはNeo4jというツールを使ってブラウザ上でいろんなデータを視覚化できますというセッションでした。最初にグラフアルゴリズムについて紹介してそれがどのような状況で使われるかやどのツールを使うかを説明していました。Neo4jを使ったデモ(チュートリアル)を見せて他のトレーニング方法やオススメのデータセットを紹介していました。Keynoteに意識してか時間より10分くらい早く終わりました。

 

Keynote: The Future of Java Is Today

全てのキーノートはこれまでのセッションが行われていたMoscone Westの横のMoscone Northで行われます。

 開始20分前くらいに並んだのですが、すでに大行列ができていました。 

f:id:EVGENIY:20181023144959j:plain

キーノートはカバンの中もチェックされます。

f:id:EVGENIY:20181023144954j:plain

会場はとっても広いです。前の方はJava Championやスポンサーの方の席です。私は左端の前に座りました。左端は一番前にも座れました。ただ、首が疲れたので今度からは後ろでも真ん中の方に座ろうと思います。2時間首をひねりっぱなしだと疲れます。

f:id:EVGENIY:20181023144950j:plain

開始前の席からの写真です。

 

ここからは会場の様子です。

恒例のDukeとツーショットを撮っていただきました。私のスマホを見て係りの方が「ハイ、チョットマッテネー」と言って撮ってくれました。

f:id:EVGENIY:20181023145003j:plain

Dukeもグッドサインをやってくれているみたいです。

ランチチケットは連なっていて1日ごとに取り離します。

f:id:EVGENIY:20181023145020j:plain

11:20頃から並びましたが、外にまで列が続く大行列になりました。私の分をもらえるか不安になりながら並んでいましたがまだまだ受け取った時はまだまだ残っていました。

f:id:EVGENIY:20181023145015j:plain

Twitterでみなさんがまずいまずいとおっしゃっていましたが、案の定アメリカクオリティーです。ただ、食べられないほどまずくはなかったです。

f:id:EVGENIY:20181023145010j:plain

ブースでアイスを配っていました。ハーゲンダッツです。2種類くらいありました。

f:id:EVGENIY:20181023144947j:plain

本日の戦利品です。真ん中のカードとスピーカーは同じブースで手に入れたのですが、カードの方は1000枚限定なんだそうです。アプリでディスプレイに表示するデザインを作った人がカードをもらえます。Wi-Fiが弱くて途切れながらでしたが私のデザインを送って表示できました。家でもう一度試そうと思ったのですが、家のWi-Fiも調子が悪かったのでネット環境が安定したところでやります。カードの下のスピーカはカードをもらった人が抽選で箱を開けてその中からランダムに選んだ物をもらえます。私はスピーカーでした。

Keynoteの後にJCPのパーティがあったのですが、私は参加しませんでした。私のスライドの最終調整や電話が来る予定が入っていたので今回は残念ながら参加が難しかったです。来年以降は参加したいと思います。

明日はCodeOne2日目です。明日は今日ほどセッションを受けない予定なのでブースに立ち寄る時間を多く取られると思います。

 

 

Oracle Code One 2018[0日目]

Oracle Code One2018のレジストレーションと蟹Oneに参加しました。

Oracle Code One2018はサンフランシスコのMoscone Centerで11月22日から24日まで行われます。(Oracle OpenWorldは25日まで)

レジストレーションはスピーカー用のレーンに並んだのですぐに終わりました。

f:id:EVGENIY:20181022154500j:plain

バックパックは思っていたより小さかったですが、機能性が高くて普段使いしたくなります。Beckのコンサートは当初は$300の予定だったのですが、事前に無料になって返金してもらいました。その時のメールがとても親切だったのを覚えています。会場でチケットを受け取る時は再発行できないから絶対に無くさないよう気を付けてくれと言われました。

f:id:EVGENIY:20181022154534j:plain

Moscone Westの2階からの眺めです。この反対側ではストライキがここ2週間くらい続いています。

f:id:EVGENIY:20181022154543j:plain

私の発表は水曜日なのですが、部屋が空いていたので接続チェックをしました。

f:id:EVGENIY:20181022154530j:plain

Moscone Westから見たMoscone Northです。会場の周りはどこかしらが赤色です。

そのあとは毎年恒例の日本人参加者が集まる蟹Oneに参加しました。

f:id:EVGENIY:20181022154520j:plain

毎年このお店なんだそうです。

f:id:EVGENIY:20181022154514j:plain

蟹が有名なお店なのですが、私は蟹が苦手なので鳥料理をいただきました。他にもアレルギー等で蟹を食べなかった方もいらっしゃいます。私はただ蟹の味が嫌いなだけです。この一年はほとんど魚を食べていません。

f:id:EVGENIY:20181022154508j:plain

デザートにチーズケーキをいただきました。キャラメル風味のチーズケーキです。

このあとソフトドリンクでコーヒーをいただく予定だったのですが、お店のコーヒーが切れてしまって飲みませんでした。

f:id:EVGENIY:20181022154504j:plain

代わりに揚げバナナのデザートをいただきました。私はお腹がいっぱいだったのでいただきませんでした。

蟹Oneは毎年Code One(去年まではJava One)の最終日に行われていたらしく、参加者でセッションの話をして盛り上がっていたらしいのですが今年はCodeOne前に開催されました。いつもの最終日にJava Championが企画したBBQとたこ焼きのイベントが開催されるため今年はCode One開催まえに蟹Oneを開いたそうです。毎年Java Oneに参加されていた方は蟹Oneに参加するとイベントが終わった気分になるそうです。今年はまだ終わっていません、これから始まります。毎年蟹Oneに参加されている方々が「来年はまた最後にやりたいね」とおっしゃっていました。

明日からOracle Code One2018が始まります。明日は朝から晩までセッションに参加します。

 

サンフランシスコ留学[197日目]

この日は午前中はずっと家にいて今週開催されるイベントの準備をしていました。午後からそのイベントのレジストレーションをしてからそのイベントの日本人参加者が集まる会に行きました。その中に海外に留学した経験がある方や、仕事で海外に長期間いらした方々とお話しいた時に私と同じ経験をした方がいました。あまり人と話さないので英語圏にいても英語を話さないのです。技術者の中にもおしゃべりな人がいますが、私はおとなしい方でイベントの懇親会でも最初の席にずっと座って話した尽きたら食べるか飲むに集中するタイプです。コミュニケーション力が高い人は席を移動していろんな人と話したり同じ席にいても話題がつきません。私は留学して1ヶ月くらい経った時に英語力上達について振り返ったのですが、そもそも人と話すのがそんなに好きではない私がすぐに英語が上達するわけがなかったのです。それから英語のインプットとアウトプットの量を意識するようになりました。学校や普段の生活で多くの英語を学びますが、それを使って話す機会が少ないので自分で何かしらの方法で出力しなければなりません。英語で日記を書いたりこのブログを英語で書こうかと考えましたが、日記は途中でやめてしまいブログは毎日続けるハードルが上がってしまうので日本語のままにしています。その代わりドラマの感想を英語でたまに書きます。「たまに」がポイントです。嫌になったら何事も続きません。私がわがままな性格であることをわかっているので無理なく続けるために簡単なことを続けるようにしました。最近はクラスで多く英語を書いたりイベントの準備で英語訳したり英作文をすることが多いのでその作業はしていません。

明日からサンフランシスコ留学はイベント参加のため休みます。週末から再開します。

サンフランシスコ留学[196日目]

今日は家にずっといました。休日恒例ホームメイトの友達コーナーです。今日は最近よく来る台湾のホームメイトの友達の台湾人の学生が来ました。いつもより多めでした。人が多かったので昼も夜も私は自分の部屋で食べました。台湾人同士なので中国語で話します。私はあまりその中で食べたく無いです。そして彼らは料理を作るのでたまにくれます。料理をもらいに来た様に見られたく無いので毎回距離を取っています。ただ、たまにもらう料理はとても美味しいです。

明日は久しぶりに日本の知人に会います。楽しみです。

サンフランシスコ留学[195日目]

この日は朝一のクラスでした。教科書を一通り終わらせた後は、新聞の記事を読んで見出しを考えるワークをやりました。その後、2人か3人のグループになってニュースのヘッドラインを読む動画を作りました。いくつかの完成品を見ました。真面目にやるグループやニュースを変更するグループがあって面白かったです。私のペアはスペイン人でハイテンションで面白い雰囲気に私がついて行きました。

晩御飯後に台湾のホームメイトの友達がやってきて台湾流フライドチキンを作ってくれました。見た目はからあげ○ンなのですが、ジューシー感がない代わりにチキンの味が濃くて美味しかったです。サクサクの唐揚げに近いです。他のホームメイト曰くサンフランシスコで食べたものの中で一番美味しいそうです(笑