Shibuya.js in Kyoto メモ

piroさん寝坊

id:secondlifeさん

JS<->AS

一人だけ浴衣。

相互補完

LLからCを呼ぶのと似ている

マルチメデイア系
ライブラリ

URLの変更
navigation.useragent

htmlの要素主翼
html上にオーバーレイ

ExternalInterface#addCallback

ロードと非同期処理の問題

ExternalInterface.call


いろいろメンドイ

クロージャーとして渡せばOK


JSProxy

Uffy
AS=>JS

はてなサマーインターン




nanto_viさん

取説 正規表現

RegExp コンストラクタのプロパティ = グローバル変数

exec
test

RegExp コンストラクタのプロパティは使うな




にとよんさん


WSHでDOM

WSHIEと同じJSエンジン

prototype.js が動くはず

.OpenTextFile(src)
.ReadAll()


window.document

DOM使えない!!

dom4winui.js

ウィンドウの階層構造をDOMと見なす

ijs.js

俺の電卓
偶数しか入力できない電卓www

AutoHotKey

Windows用のGreasemonkey

Macもできたら・・・




amachangさん


IE8登場前に絶対に押さえておくべき3つの仕様

クロスドメイン

XHR level 2


Selectors API

Cross Document Messageing




ライトニングトーク


takesako さん怒濤すぎ


kanasan さん

真面目な語り口とネタグリモン


piroさん来ないw
司会の人が代わりにプレゼン。
読み上げw

はてなのバックエンドシステムの変遷

id:naoyaさん


初期のバックエンド

KRP

最初のはてな

CGImod_perl

静的なコンテンツも返してしまう問題
メモリの大量消費

リバースプロキシー
mod_proxy



アクセス増加

WEB DB ハードを分ける

2001年後半

postgreSQLMySQL


Webサーバー

proxy
mod_perl
db

収益問題
受託開発

hatena フレームワーク

MVCフレームワーク


2002年5月
はてなアンテナ


複数の異なるサービス

proxy でサーバーをわける

三層構造


mod_rewrite
振りわけ

DBをテーブルごとにわける


場所、熱、メンテナンス性


ケースは京都の工場に設計を持っていって作ってもらった。


MySQL過負荷

レプリケーション

追加すればある程度耐えられる状態に


ルーターLinux


2003年3月 はてなダイアリー

ブログブーム


開発当初からパーティショニング

サーバー増加ペースも増大


Reverse Proxy
接続数過剰

サービス毎に回線をひとつ以上

一部DNSラウンドロビン


2004年2月 東京へ移転
サーバー台数50台

トラックでサーバーを運ぶ様子がリアルタイムに動画に


2004年9月入社


フレームワークのバージョンアップ
設計の見直し、utf-8対応ほか

自作サーバーの利点

早い、うまい、安い
柔軟に構成変更可能


Reverse Proxyはフェイルオーバー機能を持っていない。

mod_proxy_balancer


2005年2月
2泊3日の合宿で
はてなブックマーク



SPOF(1カ所壊れたら止まる場所)多数

Nagiosで監視 → ダウン → 人力で対応


回線飽和
ベストエフォート100Mbps
商用回線は高い

電力不足

光明が見えない半年間



2006年klabさんとの出会い
”こんなに簡単!Linuxロードバランサ”

オープンソースでの可用性確保
組織力を活かした運用体制

安心して寝たいから頑張る

データセンター見学

LVS(IPVS)

keepalivedとの組み合わせで可用性確保


mod_perl と MySQL の間に入れた
一番壊れやすいところ


LVSによって多数のSPOFを解消

運用の効率化
アプリケーション担当とインフラ担当の仕事の分離

2007年1月
さくらインターネットiDC


サービス単位で数回に分けて移動

旧DCと新DCをVPNでつないで



データセンターで体動かすとすごい充実感!


インフラチームの発足

基幹ネットワーク全面的に設計し直し

三層の間にLVS


自作サーバー
メモリが壊れた、初期不良

商用サーバー
ECCが使える


64bit化の追い風

メモリ4GBの壁を突破

DBのデータ大部分をOSがキャッシュできる


MySQLマスタがSPOF

マルチマスタ化

Keepalivedで切り替え


ファイルサーバーSPOF

DRDB

ネットワークを介して、ミラーリング
ネットワークRAID


画像サーバー
DRDB
lighttpd
Squid

MogileFS



新しいフレームワーク

社長がつくったORマッパー
memcached

自分たちに最適な機能を入れられる

メソッドチェイン


サーバーリソースを使い切れないサーバー

リソースのアンバランス

価格はいっしょ

仮想化技術
Xen

1台のサーバーに複数のホスト
最大8つ

仮想ホストでディスクレスサーバー

ログ解析が終わらない
大規模データ処理に時間がかかる

Hadoopの導入

GoogleMapReduceOSS


OSの自動インストールシステム

何度か動いてるサーバーが初期化された事件が


はてなRPMレポジトリ


Puppet

サーバーの設定

Capistrano

デプロイ


350台

どこに何があるのかわからなくなる

スペック、用途、番号

サーバー管理ツール
情報管理、デーモンから
負荷状況調査

他ツールとの連携

バックアップツール
Notch


サーバ/インフラを支える技術