カテゴリー
コンピューター

OSC2015 Hokkaido 6/13(土)2日目に参加しての感想メモ♪ #osc15do

オープンソースカンファレンス2015 Hokkaido – オープンソースの文化祭! に初めて行ってまいりました♪その時に感じたこと、勉強になったことなどをメモしておこうと思います!

追記:なお、スライドなどを自分の勉強のために次のページにまとめました♪

1-1.全体を通して。感じた雰囲気

  • こういう技術を使ってこういうものをつくったよ、こういうことをしたよ、できたよ、苦労したよ、面白かったよ、がわかる。
  • いま、何ができるかが何となく分かるカンファレンス。
  • 男性多い。20代後半〜40代が多い印象。中高学生や、高齢者もポツポツいた。
  • 男性はリュック率が高かった。

1-2.全体を通して。会場について

初めてということもあり、コンベンションセンターのどこらへんで行われているのか、大ホールか会議室なのか、そもそも受付する必要があるのかないのか、、、などわからないことだらけでした><。

ちなみに、会場についたらまず受付をする必要がありました!

1-3.全体を通して。パソコンでメモを取るときに気をつけたこと

  • ディスプレイの照明をできるだけ落とす。「スクリーンをロック」が役に立った(設定はこちらを参照)。とはいえ、照明だけ切ってロックははしない設定にできれば Mac の電池をより気にせずにセミナーに集中できると思った。
  • 常にディスプレイの明るさを半分以下に落とした。電池を持たせるため。
  • PC 使ってノートを取ることは特に禁止されていなかった。打鍵音に気をつけてメモ。

1-4.全体を通して。その他感じたこと。

以上が全体を通して感じたことでした。とても居心地のよい雰囲気でしたの。

続いて、各セミナーから幾つか覚えておきたいと思ったことをメモいたします。なお、セミナーの内容のメモには、誤っている箇所もあると思いますこと予めお断りいたします。

2-1.聞いたセミナーのメモ。11:00-11:45 自治体の港湾業務システムをSymfony2でゼロから作ってみた。

2-1-1.Symfony2 について登壇者が感じたこと

  • 単位はバンドル。
  • ORM は Doctrine (分離可能)
  • twig テンプレートがありがたかった。
  • 日本語情報はあまりない。ほとんど Symfony 公式サイトから
  • Entity は、DB にマップする部分。アノテーションが特徴的。コメントだからと試しに消したら動かなくなった。バリデーションもここに書く。面白い。
  • xxxrepository.php = SQL のイメージ
  • Form。画面とプログラムのやり取りに使う

2-1-2.HTML5 やフロント側で使った技術の特徴

  • CANVAS。ブラウザ側で描画ができる。すごい。
  • SVG。中身は XML なのでイベントを埋め込める。クリッカブルマップはもう要らない!Snap というライブラリがいい。
  • WMS(Web Map Service)
  • WFS(Web Feature Service)。地図に地物を描画、図が描ける。

2-1-3.今後のオープンソース展開予定

  • 商品化。一部オープンソース公開予定。→ あまつみ
  • セキュリティの担保は?→ソースは公開するが、セキュリティは保証しないしメンテできるとは限らない。公開物をベースにカスタマイズしてね。セキュリティを保証して欲しければ商品を買ってね。

2-2.聞いたセミナーのメモ。13:00-13:45 リリース間近の「EC-CUBE 3」に迫る!最新の開発情報をご紹介

2-2-1.目指すこと。解決されること。

  • プラグイン競合。
  • ソースが密結合で単体テストができない現状を改善。

2-2-2.変わること。大きく3点。

  • Silex 化。
  • GitHub にホスティング。
  • デザイン。

2-2-3.Silex

  • 依存するライブラリが変わる。PEARSymfonySilex
  • ディレクトリは機能毎に分けていた。ドメインドリブンを意識、Symfony のディレクトリ構造を取り入れた。ルーティングを使用したので HTML 扱いやすくなった。
  • ファイル命名、ものすごく変わった。フレームワークに準拠させた。
  • 規約、独自 → PSR-2PSR-4
  • Composer を使うようにした。
  • PEAR::MDB2DoctrineORM
  • SmartyTwig
  • EC-CUBE の Plugin は、独自仕様でのフックから Symfony のイベント、Doctrine フィルタを使用に変更。ただしこれらで対応不可能なところは今まで通りの独自仕様で。
  • Smarty と違って、オブジェクトと配列の違いを意識しなくてよくなる。エラーが減るはず。
  • <!– —>  →  {{ }}
  • doctrineORM を使うことでライブラリレベルで脆弱性を生みづらくなる。

2-2-4.GitHub

  • subversion → GitHub。subversion はコミット後に精査してリバート(受け入れない)ことがあったので喧嘩が起きやすかった。
  • GitHub にして pull request を使うことで精査後に取り込むようにした。
  • 取り込むまでの流れ。 Qiita →GitHub → slack。AppVeyor、Travis の CI が通れば pull req 受け入れ対象になる。GitHubに慣れてね。

2-2-5.デザイン

  • Bootstrap に対応した管理画面。フロントはレスポンシブ対応にだけ使っている。
    メニューを、ショップ運用者にとって使いやすくなるよう考えた。
  • フロント。カゴ落ち対策。購入完了で、5 〜 7 STEPかかっていた。長かった。→ 3 ステップ(最短2クリック)で終わるようにした。

2-2-6.まとめ。スケジュールなど

  • Symfony を使うことで、堅牢、安全、簡単に。
  • 要望は issue への投稿でお願いします。
  • EC-CUBE の 2 と 3 にプラグインの互換性はない。
  • EC-CUBE のサポートは 2017年6月までで終了。

2-3.聞いたセミナーのメモ。15:15-16:00 “鳥”でも出来る脆弱性情報の集め方・付き合い方

撮影、録音、ストリーミング禁止のセミナーでした。

2-3-1.登壇者

セミナーの内容の骨子は次でした。

  • 脆弱性の、把握 → 評価 → 対応

2-3-2.把握

  • 自分の把握。ソフトウェア、保守内容、連絡窓口
  • 知るきっかけ。
    • 情報の公開、
    • 悪用されている、
    • 窓口への届け出
  • 押さえておくサイト。RSS 使うと良い
  • 押さえておきたい Twitter アカウント(セキュリティおじさん♪)
  • セキュリティ情報、脆弱性情報はどうやって見るか?→ 製品名、言語名
  • ダメな窓口。
    • 窓口たくさんあってどれ?
    • メールなし。
    • 返事なし。経過報告なし。
  • よそのサイトのインシデントをチェック。どんな方法で被害を受けたのか?
  • 見つけた!そのとき押さえておきたい情報
    • 修正方法
    • CVE ← 脆弱性を識別するユニークなIDのこと
    • 検証コード
    • 回避策
    • 影響範囲
    • 悪用状況

2-3-3.対応

  • 最新版へ更新する。簡単。ただし、できるようにしておく環境を整えるのに壁がある場合があるので注意。
  • 修正方法がない、時間がかかる場合 → 回避策、英語だと Workaround という。

2-3-4.評価

  • 脆弱性でできてしまうこと
    • RCE ウイルスに感染する
    • EoS 管理者になれる
    • SFB 防壁を回避する
    • DoS サービスを妨害する
    • ID 秘密が漏れる
  • 特に気をつけたいのは、ネットワーク越しに悪用可能 + ( 攻撃コードが公開 or 悪用する攻撃が発生 )
  • 注意!一次情報(開発元、報告者)をあたる。二次情報(有志の検証、各種報道)だけで評価をしないこと。

2-3-5. 脆弱性アンテナの鍛え方

  • おすすめの練習台。毎月題 2 水曜日の MS セキュリティ情報公開。これらを調べてみる。たとえば、脆弱性件数、影響範囲、優先順位、悪用有無。
  • ↑は答え合わせもできる。当日午前中には月次情報を取りまとめた一覧表が公開される。
  • 謝辞欄からも有用な情報が読み取れる場合も。たとえば、謝辞のリストに日本人がいる → 国内で攻撃発生!? → そうならすぐに対応が必要かも。

2-4.聞いたセミナーのメモ。16:10-16:55 分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向

Hadoop ハドゥープとはどんなものかわかってもらうのが目的のセミナーとのことでした。

2-4-1.Hadoop とは?その特徴

  • 大規模分散処理フレームワーク。大容量・多件数のデータを扱えるようになる。
  • 集中管理型の分散システム。
  • ハードウェア構成。
    クライアント —— Hadoop マスタサーバ(データ管理、ジョブ管理) —- Hodoop スレーブサーバ
  • ソフトウェア構成。2つのコンポーネント。
    • HDFS(分散ファイルシステム)
    • MapReduce
  • 分散ファイルシステム。複数のサーバをつなげて、1つの巨大なファイルシステムのように振る舞える
  • 振る舞う裏での動き方。
    • ファイルをブロックサイズで分割
    • 複製(レプリケーション)してスレーブサーバに格納。複製は3つのサーバに置く。
  • MapReduce アルゴリズム。大量の件数のデータが有った時に複数ワーカーで分散して処理する。

2-4-2.Hadoop が適する領域

  • 数十GB以上 〜 PB のデータを扱うのに適している。
  • 数日かかるようなバッチ処理に適している。

2-4-3.Hadoop のエコシステム

おわりに

閉会式の様子は、USTREAM 中継されておりました。

和やかで楽しい、笑いの絶えない閉会でしたわね♪

また、ハッシュタグ #osc15do を追っておりますと、発表資料を公開したというツイートや観光情報など興味深いツイートが見られましたので、適当に掲載しますの。

来年も、機会が合いましたらぜひ参加したいと感じました♪

以上です。

コメントを残す