OSC2008

参加させてもらいました。OpenSourceConference2008 Tokyo/Fall。京急蒲田の大田産業プラザ。10時に到着。
1日中とてもおもしろかった。以下聴いた講演のメモ。


10:15-11:00 テスト厨になりたいあなたのためのDocTest

  • kunit Maple (株)ディノ
  • TDD(Test driven Development)=単体テスト、コーディング
  • テストの分類
    • Developer Testing(←TDD)
    • Customer Testing
    • QA Testing(品質保証のためのテスト)
  • TDD = 設計手法といわれる。クラス名、メソッド名を決めるのも設計。小さな単位での設計。
  • TDDのステップ
    • RED:わざと失敗させる。別の帽子をかぶる。
    • GREEN:汚くてもいいのでひとまず動かす。
    • REFACTOR:コードを洗練させる。
  • PHPプロTOM先生のテスト講座(Webページ、連載)
  • PHPDocumentor
  • Doc test
  • テスト駆動開発入門(書籍)
  • Clean code that works. 動作するきれいなコード
  • (動かない&汚い)→(動く&汚い)→(動く&きれい)


11:15-12:20 「あなた」とオープンソース/フリーソフトウェア、そして「Debian

  • 楽天Debianサーバーを導入している。
  • Free/Libre Open Source Software
    • Stallman : Free software = Crazy idea: GNUプロジェクトを思い立つ1983
    • Free Software Foundation
    • 1991年Linuxを投稿→みなが開発。
    • Ian Murdock Debian Projectの始まり
    • GNU(FSF)とは別の考え方。GNU以外のソフトもフリーと考える
    • 1998年2月3日Netscapeのコードを公開するに当たって名づけられた(OSS
    • Mozillaが生まれた。マーケティング用語としてOSSが考えられた。
    • 書籍「オープンソースソフトウェア」15章。
  • フリーソフトウェアだと「理念」が前面に出過ぎ?商売にならない。
  • OSD準拠ならOSSライセンスと言ってよい。
  • ライセンス=プロトコル
  • ソフトウェアのライセンスは何が良い?OSIの代表的ライセンスを利用するのが吉。
  • プロトコルを新たに実装するとバグが...。FLOSSライセンスは広い分野でたたかれ続けたライブラリのようなもの
  • 開発形態:コミュニティによる分散開発。業務開発とは真逆
  • SVN, git repository
  • sourceforge.jpおすすめ
  • オフショア開発: アメリカ→インド。ミスコミュニケーション
  • 失敗するオープンソース開発
  • 会社のプロダクトをOSに
    • 必要なのは内容とひきつけ方
    • インターネットはアテンションエコノミー
    • コミュニティを作る→自発的にできるもの。過度のガバナンスは萎縮をもたらす。
  • 一人でやる症候群
  • OSSライセンスはOSD10項でまとめられている。ライセンスはプロトコル
  • FLOSSの利点
  • ベンダーロックイン/パクスアメリカーナ回避
  • Debianから生まれたDistribution: knoppix, Xandros, Linspire, Ubuntu (Dell)
  • プロプライエタリソフトウェアも良い点がある?
    • サービスのよさ。
  • GPL汚染?そもそもGPLなコードを使わずにスクラッチで作れば必要ない
  • OSの社会的意義
    • 競争状態の創出:独占状態による収奪構造の破壊
    • 社会福祉的(マスが確保できない分野):少数民族語圏
    • 私企業一社依存状態のリスク削減
    • 経済的側面:インフラストラクチャ整備が新たな産業創出を生む
    • 需要は変わらず、形を変えて産業創出が行われる
    • 「ちょっと新しいこと」のコストとリスク
  • 商用ソフトが売れない?
    • 売れているソフトウェアベンダは極々一部でしかない。 
    • お金を持っている人たちにそれだけの価値があると思わせること
    • これから大成功するベンダはこれからは出てこない。自動車産業といっしょ。
    • Eric Sink on the Business of Software (おすすめ書籍)
  • 文明的側面
    • 知の共有=「巨人の肩に乗る」アイザックニュートン
    • 知識が公開されても複雑になるほど専門家の価値は高まる
    • ソフトウェアがさまざまな場所で使われれば専門家が必要になる。
  • 知財はどうなる?
    • ソフトウェアについて、特許自体で儲けられるところはほとんどない。
    • パテント・トロールの危険性
  • コンテンツ 
    • コンテンツの取り扱いは難しい問題
    • フリーなコンテンツが増えることは社会的な利益をもたらす。Creative Commons
  • 商標?
    • まったく別問題。Linux,Debianも商標登録している。防衛のため。
  • 知財問題はまだ折り合いを考える必要がある。
  • ラベルを貼って思考停止しないように。Think!


13:00-13:45 いまさら聞けないLinuxサーバセキュリティ入門

  • 情報セキュリティ=機密性+完全性+可用性
  • LVM:故障に対処する
  • サーバセキュリティの基本
    • 守るべきものは何か
    • 守らないものを減らす
    • 守るべきものを確実に守る
    • 守れなかったときに、すぐに気づき対処する
  • 攻撃の手順 
    • IPの検索、DNSのゾーンデータを使う
    • ポートスキャンを行う。NMAPコマンド
    • セキュリティホールのありそうなポートを攻撃
    • バッファオーバフロー、管理者権限の取得
    • バックポート設置などの仕掛けを行う
  • 例:セキュリティホールを利用
  • 例:sshを狙ったパスワードクラック
    • パスワードの脆弱性を狙う
    • ログファイルに認証失敗に関するログが残る
    • パスワードを適切なものに。公開鍵方式でsshの認証を行う。
  • 守るべきものを減らす
    • 不必要なものが多いと管理が手薄になる
    • 不必要なサービス(デーモン、ネットワークポートのLISTEN状況)
    • LISTEN: TCPでポートの監視を行っている状態。
  • LISTEN中のネットワークポート
  • Fail Safeとしてのパケットフィルタ
    • カーネルのNetfilterによりパケットを遮断、iptablesコマンドで設定
    • サービスが不意に起動しても大丈夫
    • 接続元ごとのアクセス制御が可能
  • パッケージのアップデート
  • セキュリティスキャナ
  • 侵入検知ツール Tripwiree, Snort, chkrootkit


14:00-14:45 新しい教育用ビジュアル言語スタンダードScratch

  • 作ったところ:MIT、メディアラボ
  • ミッチェル・レズニック;LEGO MindStorms, Cricket, StarLogo, パパートの弟子
  • シーモア・パパート:人工知能、LOGO開発、構成主義を提唱、Learning learning
  • 100ドルノートPC
  • スローガン imagine, program, share
  • ターゲット8歳以上、ベストは12歳
  • プログラム言語としてのScratch
    • プロトタイプベース
    • クラスなし
    • インスタンスは2種類のみ
    • イベントで起動
    • すべて並列で動く
  • Scratch 1.3 多言語対応42言語
  • 公式Webサイト scratch.mit.edu
  • Pico Board: 外部センサー、$50
  • Squeak Etoysとの比較
    • ゴール:Real Science & Real Math
    • Personal Dynamic Media
    • Dynabook
  • ジョンマロニー


アンケート用紙を提出して引いたクジで当たった豪華商品↓大当たり。ありがとうございました。これ使って何ができるのかよく知らない。これから調べる。

Microsoft Expression Studio 2

Microsoft Expression Studio 2