サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
d.hatena.ne.jp/uratch
11:52 | 3回にわたって画像サーバについて書いてきましたが、公開したと思ったら早速ServersManの大規模障害に見舞われ、冗長化も全く意味なし(><)いいんです。障害はどの業者でも起き得ますし、こういった機会を、自分のシステムを見つめ直す良い機会だとプラスに考えるのが大事です。今回は、http://usagi.be/***/_img/ からアプリケーションサーバ上 http://coco.to/_img/ を参照するように手動で切り替えて、復旧させました。でも、エンジニアだったら、とことん自律型システムの構築に拘りたいものです。自動切替まだ構築した訳ではありませんが、今回の様な障害を踏まえ業者間冗長化を考えています。以下、構成案。ServersMan : usagi.be x 2台SaaSes : usagi.newdomain x 2台ラウンドロビンじゃ足りなかった訳ですから、
11:46 | 画像のデプロイに関して、大手サービスのHTMLソースを見つつ日々疑問を持っていました。どこも万全ではないと。今回は、cocoで採用している画像デプロイ方法について御紹介したいと思います。依存関係FFFTPやscp、rsyncなどでファイルをアップロードしてリリースしている方も多いと思います。このリリース方法の問題点は、依存関係を考慮していない点です。例えばこのようなHTML。 次回のリリース時にはロゴを24pxにしたいと思ったとします。この時、24pxの画像を先に上げてしまうと、HTMLは16px指定のままですから、ユーザには歪んだ画像を見せる事になってしまいます。逆にHTMLを先に上げたとしても別箇所のレイアウトに影響を与えるケースもありますから、どっちを先に上げればいいという事にはならないでしょう。ファイル名変更原始的な回避策は、logo.gifをlogo_201012
12:49 | 前回は、nginx + ServersManでの検証結果を御紹介しました。今回は、サーバ構成を含めた構築内容を掘り下げて説明していきたいと思います。ドメイン画像サーバですので、ドメインはさほど表に出ません。屋号が「studio Usagi」なので価格の安さから「usagi.be」を取得する事にしました。お名前.comで、1,830円/年。DNSサービスも無料で付いてきます。DNSラウンドロビン共用レンタルサーバと違って、VPSサーバを使うとなると、httpd / mysqld らデーモンの監視は自身で行わなければなりません(勿論共用でもした方がいいのですが)。とは言っても、一人WEBサービス屋のスタートアップ時に、監視周りに多くの時間は避けませんので、スピート重視で構成を考えていきます。以下構成仕様。サービス監視は簡単なスクリプトを用意。反応がなければGMailにアラートを
新・浅く広くをモット... この日記は、プライベートモードに設定されています。 ログインページへ お知らせ はてなブックマークのアプリは毎週アップデート! 今すぐダウンロード ログイン 新・浅く広くをモットーに | 一人WEBサービス屋メモ ブログトップへ 記事一覧 このブログについて 関連メニュー はてなダイアリートップへ はてなでブログを始める(無料) 話題のキーワードを見る 人気の記事を見る © Hatena PC版 PC版
15:59 | 先日、運営しているサイトcocoの画像サーバを構築しました。昨今はVPSが500円程度で借りられる様になり、一人WEBサービス屋には本当にいい時代になりました。今回、選定対象にしたのは、以下3つの業者です。ServersMan(初期0円 / 月額490円 / メモリ256M / HDD 10G)S@@Ses(初期3000円 / 月額450円 / メモリ512M / HDD 50G)SAKURA Internet(初期0円 / 月額980円 / メモリ512M / HDD 20G)料金やスペックについて、2010/12/19時点のものを記載しました。キャンペーン適用や保障スペックなど細かい注意点がありますので、詳しくは各社サイトでご確認下さい。シミュレーション処理数値目標は、月間1億アクセスとしました。これは、1ページ当たり50画像掲載だったとすると、200万PV。ブラウザキ
mysql | 17:15 | 最近、MySQLのwait_timeoutでハマッたので、レポートします。Googleで「MySQL wait_timeout」で検索すると、上位に出てくるマニュアルページ。MySQL server has gone away エラーの最も一般的な原因は、サーバがタイムアウトして接続がクローズしたことです。デフォルトでは、何も起きない状態が 8 時間続くと、サーバは接続をクローズします。この時間は、mysqld 開始時に wait_timeout 変数を設定することで変更できます。この内容、そのまま飲み込むとハマります。例えば以下のようなバッチプログラムがあったとします。1. DB connect2. API問い合わせ3. API取得結果をDBにインサート4. 2, 3 を何万回も繰り返す5. DB close2. の間は、DBには何もしていませんのでアイド
14:30 | Keep-Alive on / off に関する文献の多くが曖昧であることが気になっていたので、まとめてみました。Apacheのドキュメントから、Keep-Aliveの説明を拝借しますと、HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、複数のリクエストが同じTCPの接続で送られる、長時間持続する HTTP セッションを提供します。つまり、Keep-Aliveは、『TCP 3ウェイハンドシェイクの節約』であるという点を理解しなければなりません。たいていの文献は『画像やCSSが多いサイトでは、接続を使い回すことにより無駄遣いをなくす』という説明をしていますが、この接続を使い回すという表現も曖昧な気がします。何となく分かった気になってしまう人も多いのではないでしょうか。それでは、まずは以下のようなhttpd.confで、Apacheの動
19:01 | 先日、投資関係の方とお話しする機会がありました。Twitter関連サービスに可能性を見出しているようで、第二のえふしんさん発掘を目論んでいるように見受けられました。私とのMtg.の目的は、週末エンジニアのような人がどういった事に興味を持っているかのヒアリングといったところでしょうか。後日、話した内容をメモ書きしてお送りしたのですが、せっかくなのでblogにもまとめ直して載せたいと思います。twitter関連開発者自分の独断で、Twitter選抜を勝手に決めてしまいました^^Twiloghttp://twilog.org @ropross700万PV/月 : 15,000円/月紹介記事)http://bizmakoto.jp/bizid/articles/1002/10/news032.html収益参考)http://togetter.com/li/10232Togetter
09:28 | 今回は珍しくSEO・アフィリエイトに関するお話をさせて頂きます。ceeは、2年前の2008年4月にリリースしました。所属する会社でサーチエンジンからの誘導を期待したサービスを立ち上げた際に、実験できる場が欲しいと思い、プライベートで一人開発しました。まず、何故グラビアアイドルをコンテンツに選んだのか言いますと、初めにこちらをご覧下さい。2007検索ワードランキング。「mixi」「Youtube」ら人気ネットサービスが上位に来て、企業名がその後に続きます。私は勤めている会社が検索系企業ということもあって、どういったワードが多く検索されているかを把握できる立場にありました。上位51位以降には、人気ネットサービス名に混じって有名タレント名が徐々に入ってきます。ちなみに2009年はこちら。グラビアアイドルではありませんが、「嵐」「東方神起」が50位以内に早速入っています。つまりce
php | 00:56 | 先日、PHPな1人WEBサービスを一つ紹介させて頂きました。映画レビューまとめサイト - coco『ツイッターのつぶやきで勝手に映画をレビュー』という、閃きのない自分にしては良く出てきたアイデアだと思っていたのですが、毎日使うものでもないですし、どこかと提携するなりして定常的なトラフィックを確保しない限り、1度見たら忘れ去られてしまいますよね。リリースして間もないですが既に閑古鳥が鳴いてます。しょぼーん。「blogパーツ作ったら小規模ポータルへの配信、持ちかけてみるよ」などと励ましの声も頂いていますが、現在モチベーション低下中。ちなみにアクセス数は50〜100ユーザ/日。映画タイトルはどんどん増えていくので、検索エンジンからの流入増を考えると更なるアクセス増は見込めるのですが、直帰率8割なので全然お話にならないです><グラビアアイドルまとめサイト - cee今日
PHP | 12:32 | Blog::koyhogeDo You PHP?try 〜 catch 構文は、難しい概念ではない(と思っている)為、参考文献は上記程度しか読んだことがありません。皆さんバリバリ使われているのでしょうか。私はあまり使っておりません。エラー処理が段々と複雑化していった時に、結局「if」で行っていた時と変わらない、もしくはむしろ複雑になって、結局、作り直さなければならないような状況を想像し、二の足を踏んでしまいます。ただ、バッチプログラムでは重宝しています。何かしら異常があったら強制終了みたいな単純なもので利用しています。以下サンプルコードです。 function ErrorHandler($errno, $errstr, $errfile, $errline) { throw new Exception($errstr, $errno); } set_error_
php | 19:43 | 60行で作るPHP用テンプレートエンジン以前見た時から気になっていて、coco実装時にちょうどいい機会でしたので私も作ってみました。TEAR::Pagerに続く第二弾、TEAR::View。ちなみに47行です。 * view.php --- ライブラリ * tpl/sample.php --- ビュー * sample.php --- サンプルダウンロードして、sample.php にブラウザでアクセスすれば動きます。CodeIgniter、CakePHPらと似たような概念設計となっています。高速であるviewへの変数割当機能以外は盛り込まないそれぞれ詳細を述べますと、文字列置換型のテンプレートエンジンは、パフォーマンスの面においてエレガントでない為、includeするのみとする。Smartyのドキュメントと睨めっこしている時間が非常に無駄に感じた。変数汚染/X
php, security | 12:40 | CodeIgniter におけるXSS自動対策パッチを開発しました。CodeIgniterを使っていない方でも、XSS対策実装のあるべき姿が分かる内容となっております。よろしければ参考にしてください。XSS対策の実装方法は色々ありますが、あくまで以下が必要要件となります。ユーザが入力したデータそのものが保存されることユーザが入力したデータそのものがHTML出力されることこれらが満たされた上で初めて真のXSS対策と言えます。それぞれをもう少し詳しく説明します。ユーザがフォームに「&」と入力したのであれば、当然、データベースにも「&」と入っていなければなりません。「&」などと別物になることがあってはなりません。ユーザがフォームに「&」と入力したのであれば、HTML出力時には必ず「&」と表示されなければなりません。「&」と表示されたり、全角「&」で
このページを最初にブックマークしてみませんか?
『d.hatena.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く