Open Source Conference 2021 Online Hokkaido (osc2021) に参加しました

表題のオンラインイベントに参加してきました。
[osc2021のサイト](https://event.ospn.jp/osc2021-online-do/)

視聴したセッションについてアウトプットします！
　※セッション内容はメモ取れたところだけ・・・後日動画も上がるそうですので、詳細はそちらを御覧ください！

---

## OSSのライセンス入門（10時00分〜 B会場）

- テーマに対する今までの経験
    - 過去に音楽の著作権について色々と調べたことがあり、ある程度は知っていた
        - パブリックドメインやクリエイティブ・コモンズ等
- セッション内容
    - OSSのライセンスとは、何もなければOSS開発者の著作権を侵害する再頒布を許諾するもの。ライセンス条件は、その許諾する条件
    - OSSのライセンス規定は基本的には、そのソフトウェア自体を頒布することについての規定であって、ソフトウェアを使うことについての規定ではない
    - ローカルでの使用・複製・改変は、著作権が制限されているため、問題ない。
        - ライセンス規定に記載されている条件を満たせば、使用・複製・改変に加えて頒布が可能となる、と理解できる
    - ライセンス規定に記載されている条件としては、主に2種類ある
        - 著作権表示、条文本体、免責事項を（頒布先の人が）見えるように（コピー）すること
        - バイナリのソースコードを添付、またはソースコードを提供する旨の申し出を添付すること
    - 実際の条文の確認
        - Apache License 2.0
        - GNU GPLv2
- 追加でやったこと
    - 同じ方の次（11時～）のセッションで、著作権の使用と利用、著作者、二次的著作物についての内容があり、資料が公開されていたので追加で読んでみた（当日は別セッションを聞いていたため）
- 感想等
    - 今までは何となくの理解だったが、著作権・著作者・二次的著作物・著作権の利用と使用・複製・改変等、要素に分解して構造を理解できたことにより、これから著作権に関わる作業をする際にスムーズに事を進めることができそうと感じた
        - プログラムだけでなく、動画に音楽を使用する際の考え方や、ブログ／SNS投稿に本の内容・歌詞等を引用、使用する際の考え方に活かせそう
    - あまりそういった機会は経験がないが、「著作権違反にならないためにはハードウェアの交換が必要です」のような状況になると中々悲しいな・・・と感じた

## 誰でも、今日から始められるキャリアプランニングのススメ（11時00分〜 F会場）

- テーマに対する今までの経験
    - 業務の経験や成果について、Notionに記載している途中
- セッション内容
    - キャリアとは、仕事の自分史　ー　過去の仕事、現在の仕事、未来の仕事の連鎖
        - キーワード
            - 職務経験
            - 能力開発
            - 職業生活設計
    - キャリアコンサルタントとは
        - コンサルタントというより、カウンセラーという言い方の方が近い
            - 課題解決よりかは、相談、助言、指導
    - キャリアプランニング
        - 計画のタイミング
            - 人生における節目の時
            - 将来に不安を感じた時
    - キャリアプランニングの3つのステップ
        - 自分のことを知る
        - 周囲、環境のことを知る
        - これからのことを計画する
    - このセッションでは「自分のことを知る」を扱う
    - 自分のことを知る、について
        - キーワード
            - フレームワーク（Will/Can/Must）
                - Will
                    - 何をやっている自分に意味や価値が感じられるか
                    - 本当のところ何がやりたいのか
                - Can
                    - 自分はいったい何が得意か
                - Must
                    - 組織から期待されていることは何か
            - 価値観
                - 「大事にしたい価値観は？」と問われた時に何が（どんな単語が）思い浮かぶかを考えてみる
                - （参考）Value Word
                - 浮かんだものに対してなぜそう思うのかを考えてみる
                - その理由を他者へ説明するとしたら、どう伝えるかを考えてみる
                - いくつか選ばれた単語を使って文章を作ってみる
- 感想等
    - まだまだ自分について知ることがあるなぁ、と感じた。
    - 継続してアウトプットはやっていき、セッションで触れられていたワークも実施して、これからのキャリア設計に繋げていきたい。

## PCとつないで楽しむ電子工作。IoTへの第一歩（12時00分〜 E会場）

- テーマに関する今までの経験
    - MQTT（IoT機器とサーバ側とのやりとりをするプロトコル）という用語は知っていた
        - 具体的に必要な環境とかはあまり詳しく知らなかった
    - AWS IoT Coreについては、DynamoDBとかとサービス連携できることを知っていたくらい
- セッション内容
    - MQTTのパブリッシャとしてのマイコンについて
        - マイコンの電源について
        - TWELITEという無線マイコンの紹介
        - 製品の種類
        - センサのつなげ方
        - プログラムの例
            - Webサーバとセンサからの値取得プログラムをマルチプロセスで動かす
    - インターネットとの接続（MQTTのブローカーとサブスクライバ）について
        - パブリッシャにはEclipse Pahoライブラリを使用して、MQTTでデータを送信するプログラムを入れる
        - ブローカーにはMosquittoをインストール
        - サブスクライバにもEclipse Pahoライブラリを使用し、MQTT over WebSocketでブラウザと通信させる
        - AWS IoT Coreはブローカーとして使用できる
- 感想等
    - IoTの機器側の環境や実装について知れたので、IoTで実現できるシステムの仕組みに対する理解が深まった。
        - AWSにデータが来てからの処理方法（連携できるサービス等）はもう少し知っておく必要があるなぁと感じた。
    - 振るとスライドが進む魔法のステッキにときめいた！

## MicroServiceの壁 -僕らはいかにして壁に当たり、そして乗り越えたか？（13時00分〜 B会場）

- テーマに関する今までの経験
    - マイクロサービスの仕組みについては、概念は何となく知っていた。以下のようなイメージを持っていた
        - マイクロサービスって、AWS ECSでいっぱいサービスを立ち上げているイメージ
        - AWS X-Rayを使用すればリクエストをEnd to Endで傾向つかめるよ！的なイメージ
- セッション内容
    - サービス設計時の課題
        - トランザクションの途中に、依存する別サービスが落ちていた場合、元のサービスまでロールバックが発生し、操作やり直しになってしまう
            - トランザクション設計の見直しで対応
    - サービス開発時の課題
        - サービスごとの開発チームのため、依存するサービスの開発と進捗を合わせる必要があった
            - 対策として、先に依存先サービスのAPIのIF定義をやってしまい、依存元サービスのAPIのテストはモックを使用
            - 依存先サービスの開発が間に合う場合は、そのまま開発してもらう
        - サービスごとにトランザクションを行うため、サービス間でデータの不整合が起きる
            - 処理ごとにサービス間で共通のIDを振り、各サービスで処理状態を保存しておく
    - テスト時の課題
        - サービスが増えるにつれ、エラーが起きたりサービスが落ちている時等、検討しなければいけないテストパターンが増える
            - テスト自動化の仕組みを使用
            - 実際にサービスを落として負荷をかけてみて、仮説と結果を比較
- 感想等
    - トランザクション設計での注意点等、今モノリシックなシステムで使用している設計観点もマイクロサービスの設計で使えるものがありそう
    - ECSとかでマイクロサービス作りを実践してみたい。仕事ではできなさそうなので、個人で・・・

## 自作IoTで業務効率化 & VRで見る鍵の世界（14時00分〜 B会場）

- テーマに関する今までの経験
    - IoTについては12時～のセッション時と同様
    - VRについて
        - 昔、ゲームエンジン・アーキテクチャの本を読んだけど・・・内容忘れた
        - Blender触ったことがある。ポリゴン、テクスチャ、モデリング、ボーン、ウェイト、リギング等3DCGの知識が断片的に残ってる
        - Unityは触ったことがある（ただし2Dのゲーム）
- セッション内容
    - センサについて
        - マグネットセンサ
            - 地磁気も使える
        - 照度センサ
    - RFID
        - シールについているICチップをICリーダで読み取る
        - ICチップに固定IDと128Bの書き込み領域がある
        - 本の貸し借り、商品の棚卸しとかに使える
    - 簡単なものから作るのが大事
    - セキュリティも考える必要がある
    - VRについて
        - 鍵シミュレータの開発について
            - 経緯・製作期間・苦労した点等
- 感想等
    - 改めて、3DCGの作成には、大変な労力がかかってるなぁと感じた。
    - 業務の合間に3ヶ月とかで作れるの、すごいなぁ・・・

## 危機突破! 吠えろサイバーセキュリティ（15時00分〜 F会場）

- テーマに関する今までの経験
    - AWS上のセキュリティについては知識あり
    - 一般的なWebのセキュリティは勉強中
- セッション内容
    - Black Hatでの注目トピック
        - iOSのハードウェア側での脆弱性攻撃防御機構
            - 対応していなかったモジュールがあったため、jailbreak可能となった
        - 5Gのベースバンド処理（電波を変換する処理）における任意コード実行
        - Wi-Fiの規格自体の脆弱性
            - Wi-Fiが制定された時からの脆弱性
            - 任意のパケット挿入や窃取が可能
            - アップデートが不可能な機器も多く、インパクトが大きい
            - 脆弱性が該当するか確認するツールも提供されている
        - M1 Mac向けマルウェアとその効率的な解析手法
            - 攻撃者が簡単にM1対応ができる
            - 防御側は対策の対応に手間がかかるので、不利
    - NII-SOCSでの事例
        - 識別不能（規格違反）のUDP、TCP
            - マルウェアでないものもある（研究で作ったとか）
        - 遅延起爆型マルウェア
            - 潜伏期間が長い
            - 解析する時は、長期間動きを見ないとわからない
- 感想等
    - セキュリティについてはAWSでの設計時点で考えたり、AWSに任せられる部分も多く、普段は物理層まで考えることはあまりないが、その裏で最前線で動いている人達はやっぱりかっこいいなぁと感じた。

## Blazor Unplugged（16時00分〜 D会場）

- テーマに関する今までの経験
    - C#については経験ありだが、C#でSPAが作れるフレームワークは初めて知った
- セッション内容
    - Blazorについての質疑応答
    - 実際にBlazorを使用しているサイトの紹介
    - ビルドのデモ
- 感想等
    - 質問内容が結構辛辣w
    - 当たり前だが、開発にどの言語・フレームワークを使うかは開発チームによってバラバラなので、学習コストやシステムの特性を含めて総合的に判断する必要がある。
    - Silverlightはやっぱり頭をよぎりますよね～

## ライトニングトーク（17時00分〜 A会場）

- セッション内容
    - 「Open Engineer Networkのご提案」
    - 「『GodotEngine』で『GodotEngine』のプレゼンをするよ」
    - 「みんなでプログラム書いてカジュアルに遊びたい！」
    - 「エミュレータのコードを読んでわかる「セガサターン」」
    - 「北海道とコーヒー」
- 感想等
    - GodotEngineは初めて知った。面白そう・・・
    - Github人狼、斬新！
    - ゲームのリバースエンジニアリングってなんかワクワクするよね。動く仕組みを知るのがマニアックで面白い。

## 全体を通して

- こういったオンラインイベントに参加すると、自分の普段の仕事で扱っている分野以外の幅広い知識が学べるのでいいですね。何より楽しい！
- 楽しいけど、楽しむだけではなく、今後の仕事、人生にうまく生かしていく仕組み作りもしていきたいなぁと感じています。
- どこかで聞いた言葉「アウトプットしないのは知的な便秘」
    - せっかく貴重な機会なので、インプットの気持ちよさだけを求めずに、頑張ってアウトプットしていこうと思いました！