MogileFSの話(原さん)
- 飛行機遅れてちゃんと聞けなかった…
IPv6の話(koyhogeさん)
- そろそろIPv4なくなるよ
- IPv4とv6の違い
- アドレス長が違う
- 1つのデバイスに複数のアドレスがつく
- IPv6対応=v4でもv6でも動くようにする
- OS側はほぼ対応済
- 新APIに従ったアプリケーションなら大丈夫
- mod_phpやCGIのようなものではPHP自体はIPv6とか気にする必要はない
- fsockopenとかfile_get_contentsとかは問題ない
- socket拡張を使うと自前で処理する必要がある
- PEARとか使えばいいんじゃないの
- ext/soapはOK
- PEAR::NET_IPv6は機能不足
- PEAR::Net_SocketはOK
- だが途中にIPv4のための回りくどいコードがある
- PEAR::Net_POP3/NET_IMAP/NET_SMTP/HTTP_RequestあたりはOK
- PEAR::NET_Serverはsocket拡張を直接使っているので×
- PEAR::NET_DNSはRR Typeを指定すればOK
- 全体的にそこそこ対応されている
- IPv6アドレスの解析は不十分
- マルチキャスト/エニーキャストは考慮されていないけど使わないよね
PHP5.3の話(koyhogeさん)
- PHP6の機能が全部来てしまってカオス
- 5.2のコードは全部動く
- namespaceの話
- \←きもーい
- ::は解決できない問題が
- 1ファイルに複数のnamespaceを書いてもOK
- {}で囲んでもOK
- グローバル空間を指定するには頭に\をつければOK
- でも書かないと勝手にグローバルを調べてくれるよ
- クラス名だけは駄目
- 可変クラス名もいける
- useでimport
- asで別名を付けれる
- namespaceのネストは不可
- useは必ずグローバルからになるが、newとかは現在の名前空間に影響される
- 既存のライブラリはどうしようもない
MOONGIFTの中の人の話
- 画像ネタが多いプレゼン
- 80万PV
- 仕事でOSSを使ってシステム構築をしてた→情報が集まってるし公開してみよう
- 3件/日くらい
- ユーザからの投稿はあまりない
- 最初はlivedoorブログでやってた
- ブログだけで食っていくのは無理
- なので別の仕事がメイン
- MOONGIFTは宣伝窓口
- 情報は発信しないと集まらない
- 毎日更新するのが大事
- 作った人は偉い
- 微妙なものも紹介するけどインスピレーションとかに繋がればいいんじゃない
- ほとんどRSSから情報収集
- 68フィードくらいしか読んでない(うちソフトウェア関係が40)
- ほとんど英語の
- Fastladderで読んでる
- http://open.srcphp.com/とか
- http://www.ghacks.net/とか
- やっぱSBMが便利(del.icio.usのopensourceタグとか)
- ただ紹介するだけでは意味がない
- ちゃんと自分で理解しないといけない
- できるだけ試してから記事にする
- たまに自作ソフトウェアも紹介
- 1時間半〜2時間
- 記事だけなら45分くらい
- 午前中に終わらせる
- 1日大体10〜20くらいのネタがあるが、そこから書きやすいのを選んで書く
- 時々数ヶ月後に発掘される
- 昔に書いたものは大体覚えてる
- バージョンアップのネタまでは無理
- 2008年に話題になったPHPソフトウェア
- 最近紹介した便利そうなの
- 良かったこと
- いろいろ
- 悪かったこと
- クラックされた!
- WordPress…
- PHPは3から使ってる
- こんなPHPソフトウェアは嫌だ
- register_globals=On(未だにある)
- ISO-8859直書き
- Ajax文字化け
- 日本語URL使えない(Wikiとかで)
- display_errors=off
- よくわからんExtensionとかライブラリとか
- パスワードがわからない
- O/Rマッパーとか使ってるのに初期設定はMySQL専用とか
- SQLファイル多すぎ
- データベース作成が前提とか
- インストール手順ほしい
- UTF-8使ってほしい
- http://tatsuj.in/よろしく
初級者向けSQL入門〜SELECT、その魅力〜(id:iakioさん)
- 普通のプログラムとSQLの違い
- 普通のプログラム:書いた通りに動く
- SQL:何がほしいかを書く
- どうやって動いてるの?
- RDBMSはテーブルの集まり
- テーブルは行と列で構成されている
- それぞれはスカラー値の集合
- SELECT文はテーブルみたいなものからテーブルみたいなものを取り出す
- テーブルをSELECTして取得したのもまたテーブルである
- FROM→WHERE→SELECT
- WHERE句には各行に対して真偽を返すスカラー値を書く
- TRUEの行だけ取得される
- NULLはTRUEでもFALSEでもない
- 1+NULL=NULL
- NULL IS NULL=TRUE
- col=0でNULの行は来ない
- WHERE句に書けるものはターゲットリストにも書ける
- GROUP BY
- グループに対して集約関数
- ターゲットリストにはGROUP BYした列、集約関数、定数しか書けない(普通は)
- GROUP BYした後にWHERE=HAVING
- サブクエリ
- FROM→WHERE→GROUP BY→HAVING→ORDER BY→OFFSET/LIMIT
モダンなモバイル開発(ゆどうふさん)
セキュリティの話(大垣さん)
- もっとも簡単なセキュリティ対策=守るべきものを持たない
- 基本的な対策=脆弱性を作らない、直す
- なぜセキュリティ対策が必要か
- 守るべき物があると安全性の確保が必要になる
- COSOフレームワーク
- セキュリティ問題=適切な行動を取ることによる、事故または故意に基づく行為からデータ・資源を守ること
- セキュリティのCIA=機密性、完全性、可用性
- 機密性=権限を持った人だけアクセスできる
- 完全性=情報処理及び処理方法が正確であることを保護すること
- 可用性=許可された利用者が必要なときに情報及び資産にアクセスできること
- セキュリティ標準=ISMS
- 他にもPマーク、PCI DSS、ITIL、COBIT、COSO Control Frameworkなど
- CVE=脆弱性の統一番号
- CVSS=脆弱性の危険度
- 1970年代からセキュリティの研究は行われていた
- 現在の脅威
- 不正プログラム
- 情報漏洩
- 情報改ざん
- DDoS
- 攻撃目標
- PCのBOT化(乗っ取り)
- アカウント取得
- 金銭被害が出る
- 年を追う毎により危険になっているのではないか
- 0day攻撃
- パスワードとかどのサイトでも同じのを使ってる人とか
- MD5の全データの逆引きをDB化とか今のHDD容量なら余裕
- YouTubeにいろいろクラック動画がある
- 攻撃側が一方的に有利
- OWASP TOP 10
- SANS TOP 20
- 自分の書いたプログラム以外信用するな
- HTTPSだからと言って安全ではない
- NoScript使おう
openpear(riafさん)
PostgreSQL 8.4 Update(板垣さん)
- 8.4は2009年Q1リリース予定
- 8.0系は機能拡張がメイン
- テーブルパーティショニングの簡略化
- constraint_exclusion=partition
- 今まではON/OFFしかなかった
- CHECK制約の判定をパーティションだけに限定
- EXECUTE USING in PL/pgSQL
- 今まではINSERTのトリガで自前で分散テーブルに書き込み
- IFの羅列で各テーブルへの書き込みを書かなくても動的にINSERTトリガを生成
- constraint_exclusion=partition
- ディスク先読み
- effective_io_concurrency
- Bitmap Heap Scanしか速くならない
- リカバリはそこそこ速くなる(full_page_writes=off)
- Windowsでは動かない(posix_fadvise(WILLNEED))
- リカバリはどのくらい
- ログのサイズも小さくなって高速
- full_page_writes=offが怖ければpglesslogを(ただし使い方が面倒)
- effective_io_concurrency
- 論理リストア高速化
- pg_restoreでマルチスレッドでリストア
- -m, --multi-thread=[number-of-threads]
- パラレルリストア
- pg_restoreでマルチスレッドでリストア
- WITH(WITH RECURSIVE)句
- 再帰クエリ
- ツリー構造の子孫を全て取得とかが簡単に
- ループ処理ができる
- Window関数
- 表を区間ごとに集計する
- 行をまとめることはできない(GROUP BYとは違う)
- ランキングとか
- 互換性/移植性
- 8.2→8.3でキャストが厳格化して動かなくなることが
- キャストを再定義(INOUT)
- 列の別名でASが不要に
- DISTINCT高速化
- PG/pgSQLにCASE構文
- SQL履歴ビュー
- shared_preload_libraries='pg_stat_statements'
- prepared statementを使う必要がある
- VACUUM
- UPDATE=新規行を複製して古いのを削除
- 8.4でVisibility Mapの追加
- ガベージ位置を追跡してピンポイントで削除
- Free Space Mapのメモリ割り当てが自動化
- HOT
- デッドロックログ
- pgtune
- 自動初期チューニング
- postgresql.confを環境情報から勝手にチューニングしてくれる
- pg_reorg
- テーブルを再編成し、断片化を解消
- 処理中も運用可能
- ディスク容量を使う
- 8.4は「痒いところに手が届く」リリース
- 日本人の開発者多い
LT
- メモ忘れた…