nikkie-ftnextの日記

イベントレポートや読書メモを発信

イベントレポート | Tech BASE Okinawaに行ってきました! #TechBASEOkinawa

はじめに

こーんにーちはーーー!1
錦鯉、M-1優勝2おめでとうございます!nikkieです。

この記事は、Uzabase Advent Calendar 202120日目の記事です。
12/18(土)に沖縄で開催されたテックイベント「Tech BASE Okinawa」をレポートします!

目次

イベントの概要

Tech BASE Okinawaは、新しい技術の学びを体験できる、沖縄最大級のエンジニア向けTechイベントです。

12/18(土)に沖縄コンベンションセンターで開催されました。
このイベントの参加費は無料です。

なんで行ったの?

twadaさんはじめ、ユーザベースのFellow3トークが聞けるということで、「実質無料でしょ!」と沖縄行きを決めました。
技術好きには垂涎のイベント と感じたということです。

Pythonコミュニティで慣れ親しんだ「テックイベント遠征するなら爪痕残したいじゃん」の考えで、参加者LTにもエントリー!(これは別に書く予定です)

どんなイベントだったの?

会場入りすると、メインホールにはタイマーによるカウントダウンが。
カウントダウンが0になると、かっこいいオープニングムービーが流れ、テンション上がる!

オープニングの後は、twadaさんによる90分のキーノート!

その後、ランチタイム!
ゴーヤチャンプル美味しかったです(全然苦くなかったような・・)

f:id:nikkie-ftnext:20211220222128j:plain

午後のセッションは 4トラック 並列の3コマ!
興味のあるセッションを聞いたり、LTの準備をしたりしながら過ごしました。

LTは全部で3名。
沖縄 -> 東京(私) -> 北海道と北上する発表順でした。
リアルでやるLTは2年近くぶり、かつ、沖縄はアウェーということで、「久々の空気感を楽しもう」と臨みましたー。

その後はパネルディスカッション「沖縄テックの未来シナリオを考えよう!」。

  • 多様化するエンジニアの働き方
  • これから活躍するエンジニアに求められること
  • 沖縄の未来をどう描いていく?

フリー質問タイムには、Slidoにたくさんの質問が集まり、沖縄のエンジニアの熱を感じる 時間でした。

クロージングの後は、懇親会!!
これを読んでいる皆さん、リアルの懇親会ですよ! リ ア ル の 懇 親 会 !!

これはめちゃくちゃ楽しかったですねー。
タイムボックスは1時間なのですが大いに盛り上がり、なかなか閉まりませんでした(笑)

f:id:nikkie-ftnext:20211220222148j:plain

紅いもの天ぷら?があって、「甘い!美味しい!」って言っていたら、紅いものお土産情報も教えていただけました。

こんな感じで、たくさんインプットし、技術について語り合った1日となりました!

どんなトーク聞いたの?

聞いたトークの感想を手短にまとめます。
消化途中の部分もあり、帰りの飛行機などで原著を読み進めています。
過去に読んだ時より理解できる感覚があって楽しいんですよ、これが。
「ある程度消化したら別で記事を書きたいなー」と思っています。

堅牢なコードを書く - 例外、表明、契約による設計

twadaさんによるキーノートです。
テスト駆動開発(TDD)とペアとなる) 設計 で、コードの内側から質を上げていくという発表でした。

  • 自分以外は信頼しない防御的プログラミングより、予防的プログラミング
    • 型の制限
    • 値の宣言(Enum
    • 状態を制限して、別名参照問題に対処
    • 区間の表現(後述)
  • 中途半端に実行するより処理を失敗させる:攻撃的プログラミング
    • assert で書いて 暗黙の前提 を明示する(後述)
  • 契約プログラミング(Design by Contract: DbC
    • 失敗にはバグと例外がある
    • 失敗がバグか例外か切り分けられるようにする

区間の表現

区間・閉区間が自明でなくて分かりづらいというコードの問題点から始め、区間を表す型を作って、さらに簡単に使えるように実装するというのはお見事でした👏
日付とその日付を含むかの2属性を持った型をまず作り、そのインスタンス2つから、区間を表す型をインスタンス化するという設計アイデアは、私は一人では浮かばなかったと思うので、この場で学べてよかったです。

また、「正しい使い方を簡単に、誤った使い方を困難に4という考え方を知り、この一年くらいうっすら感じていた伸びしろがはっきりしたと思っています。
PyCon JPのスタッフ活動で実装したスクリプト群、私としてはみんな使って楽をするのが正しいと思うんですけど、なかなか使われないんですよ。
これは簡単になってないからなんだなと気づきました。

例外と表明をどう使い分ける?

  • 例外:起こるかもしれない(発生が予想できる)
  • 表明は起こり得ないことをチェック(誰も間違えない前提の表明=ありえない)

これが知られたのも収穫です。

キーノートで多く引かれたのは、以下の本です。

twadaさんの発表は資料を後追いすることが多かったのですが、実際に発表を聞くと"行間"が分かって、非常に学びがありました。
ほんと、行ってよかったです。

プログラミング言語とシステムデザイン - Clojure, Java, DDD, Clean Architecture

Fellowの矢野さんによるトークです。
システム設計の話 で、DDDやClean ArchitectureがClojureと掛け合わせるとどう意味が変わってくるかという発表でした。

  • Clean Architectureのあの図5の中央にあるUseCaseもEntityも、Clojureでは関数
    • 言語が変わったら消えてしまった
  • 👉 言語を超えて有効なものこそがシステムの基礎となるアーキテクチャ理論になる
    • 言語を超えて有効なものは、あの図ではなく、SOLID原則

私は過去あの図の箇所を中心に読んでいたのですが、矢野さんのトークをもとに『Clean Architecture』第Ⅲ部「設計の原則」(SOLID原則を扱うパート)を読み返すと、気付きがあってめちゃくちゃ面白いです。

国内におけるAIの最先端事例紹介 〜2022年のトレンド予想を添えて〜

ちゅらデータの真嘉比さんによるトークです。

最先端事例は追いきれていない感覚があった私としては、最先端の動きが掴めるトークでした。

「PyCon JP 2021やちゅらデータさん開催の振り返りではありがとうございました!」と対面でご挨拶もできました😃

終わりに

あっという間の1日でした!

会場からバスで帰る際はこのイベントで出会った方と話しながら帰ったんですが、縁によるこういう経験も2年ぶり(PyCon Singapore 2019以来)でめちゃくちゃ楽しかったです。
会食ありイベントなので準備はとても大変だったのではないかと想像しますが、参加者としてはオンサイト開催イベントのよさを満喫しました!

2022年もある予定とのことですので、興味持った方、来年一緒に遠征しましょう!

イベントで出会った皆さま、にふぇーでーびたん!

2022/01/04追記:資料公開されてます!

聞いたトークの復習や、聞けなかったトークの後追いができますね。