デブサミ2010「次世代Web標準 HTML5 最新動向」行ってきた

デブサミに夕方から行ってきた。気になった部分だけ抜き書きメモ。

  • HTML5の背景
    • webアプリケーションの台頭
      • HTML/CSS/JavaScriptの組み合わせでは機能が足りなかった
      • XHTML 2.0とかXFormsとか考えられたけど
      • XMLベースの技術、開発者に支持されなかった
      • ブラウザ含めて不安定な技術だった
    • 何とかしようと考えられたのがHTML5
      • 機能拡張
      • 安定性の向上
  • Canvas
    • immediate mode
      • 描画したものを操作できない
  • audio要素、video要素
  • Web Storage
    • localStorage
    • sessionStorage
  • Web Worker
    • Shared-nothing
    • DOMとかにアクセスできない
  • Web Cache
    • CACHE MANIFEST とか書く
  • online/offlineイベント
  • 相互運用性の問題
    • そもそも仕様がなかった件
      • 実装に依存しないように作られた
    • 標準化されないままだった
  • DOM中心の仕様構成
  • 勧告はまだ先になりそう
    • 実装は進んでいる
    • 一度には進まない
  • Web Workers
    • バックグラウンド処理を可能にすることでユーザビリティの向上へ
    • 並列処理でマルチCPUを生かせる
  • JavaScriptプログラムのレイヤー化が進むのでは?
    • UI層: DOMとかjQueryで扱えるものとか
    • BL層: Business Logic層、HTTP通信(Ajaxが担っていた部分)とか
    • UI層とBL層の間をやり取りするWeb Messaging、とか
      • Web Messaging、任意のJavaScriptオブジェクトをやり取りする
      • 設計が面倒、実装も面倒
    • フレームワーク作った
    • Workerに処理を投げられるということは、その間に他の操作ができるということ。
  • ライブラリ
  • video要素の動画のキャプチャーをcanvasに取れる
    • CanvasのdrawImageメソッドでできる
  • Web Workersを使うことでブロッキングしないものを
    • Sketchpad http://mugtug.com/sketchpad/
      • canvas要素を重ねることで状態を表現している
      • 状態を保存、コピーしておくcanvas要素を複数持つことで履歴表示を可能にしている
  • テキストマイニングにWeb Sorcket向いてるかも
    • パイプラインでリクエスト処理できる
      • HTTPみたいにリクエスト/レスポンスを待たない
  • Files API
    • multiple属性を使うと複数選択できたりする

デブサミ2010「高性能・安定運用のためのLinux-DBシステム構築/運用技術」行ってきた

デブサミに会社を抜け出して行ってきた。参加したのは1つだけだけど。気になった部分とかのメモを公開。

  • DB製品の品質、という観点が重要
  • 一般解を求めすぎないこと
    • 社内標準で全部揃えようとしたりすると効率が悪いことも
    • アプリの性質によって設定は変えるべき
  • よいところより悪いところを見よう
    • 安定性重要
  • メモリ
  • I/Oスケジューラ
    • noopやdeadlineに変更するのもいいかも(デフォルトはcfq)
    • MySQL 5.4だと大差ないけど
    • MySQL 5.1だとそれなりに差がある
      • I/Oスレッドの数に差があるため
    • MyISAMならI/Oのキューサイズ変更も効果的
  • RAIDコントローラのwrite cache使おう
  • innodb_autoextend_incrementの値を変更するのもよい
    • デフォルト8、例えば20に変更するとか
  • ツール紹介
    • iostatのutilはあてにならない
      • svctm見るべき
    • mpstatだとCPU単位でiowaitとか見れる
      • vmstatとかtopだと平均値になってしまう
    • OProfile
      • 実行中のプロセスの負荷計測
    • gdb
    • SystemTap
  • ネットワークよりディスクの方がボトルネックになりやすい
    • でもコネクションプールもいいかもね。
  • カーネルパニックの場合の対処、再起動させる
    • kernel.panic_on_oops = 1
    • kernel.panic = 10
  • /etc/security/limits.conf

ここまで書いたところで松信さんが資料を公開してくれました。

当然資料の方が正確ですね…。

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)

Linux-DB システム構築/運用入門 (DB Magazine SELECTION)

iCacti

お仕事でシステムのモニタリングツールとしてCactiを使っているのだが、外出先とかで確認しなければいけない場合がたまにある(仕事中毒…)。iPhoneCactiのグラフを見ることができるiCactiというアプリを見つけたので試してみた(ちなみに230円だった)。

こんな具合にグラフを参照できる。ランドスケープにも対応しているので、iPhoneを横にして持った方がグラフは見やすいかもしれない。また、表示するグラフのデータの期間についても設定が可能。

CactiBasic認証でアクセス制限している場合は、URLにユーザー名とパスワードを埋め込めばアクセスできる。

いつものCactiのツリー画面で見るよりは見やすい、と思う。

鱈のミルクスープ

鱈のミルクスープを作ったら家族に好評だったのでメモとして作り方を。割といつも適当に作っているので、書いておかないと自分でも忘れてしまうので。

  1. 鱈を用意する。塩鱈だったらぶつ切りにして水に放っておけば塩抜きできる。いずれにせよぶつ切りに。できたら骨を抜いて、白ワインか料理酒をふりかけておく。
  2. 玉ねぎとじゃがいもを適当に切ってオリーブオイルで炒める。
  3. 玉ねぎがすきとおってきたら水を500ccぐらい加え、コンソメの元とブイヨンの元を少しずつ入れて弱火から中火ぐらいで煮る。お好みでローリエとか胡椒とか適当に。
  4. その間別の鍋でほうれん草を茹でておく。
  5. じゃがいもに箸が刺さるようになったら牛乳を500ccぐらい入れる。沸騰すると吹きこぼれるので注意。弱火で。
  6. 鍋があたたまってきたらぶつ切りにしておいた鱈を白ワインごと投入。
  7. だいたい火が通ったら最後に茹でておいたほうれん草を投入。
  8. 塩で適当に味を見て完成。

文章に起こすと結構面倒くさいけど、おいしいので是非。鱈の代わりに牡蠣とかでもいいかもしれない。

Deliciousに移行します

ふと思い立って、ブックマークをはてなブックマークからDeliciousに移行しました。またはてなブックマークに戻ってくるかもしれないけど、しばらくDelicious使いになってみます。

移行した主な理由はコメントが1000文字まで付けられること。多めに本文を引用しておきたいことが結構あって、そのたびにはてなブックマークの100文字という制限は短いなあと感じていたので。

例外を簡単にラップできるように(5.3.0から)

PHPのマニュアルを見ていて気付くことって案外多い。

今日はExceptionの項を見ていて、コンストラクタの第3引数にPHP 5.3.0から別の例外を渡すことができるようになったのを知った。

<?php
try {
    $pdo = new PDO($dsn);
} catch (PDOException $e) {
    throw new AnotherException($e->getMessage(), $e->getCode(), $e);
}

つまり、こういうふうに例外のラッピングができるようになるということ。今さらな機能だけれど、実装されないよりずっといい。