タグ

2011年3月13日のブックマーク (11件)

  • 過負荷に耐えるWEBサービス作成のための使えるPHPキャッシュテクニックまとめ:phpspot開発日誌

    過負荷に耐えるWEBサービス作成のための使えるPHPキャッシュテクニックまとめ。 サービス展開というとOSのチューニングや各種インフラソフトウェアのチューニング、更にはWEBアプリプログラム自体の効率化と、幅広い知識が必要になってきますが、PHPでWEBアプリを作る際によく効くキャッシュテクニックを用途・使いどころ別に説明します。 キャッシュをうまく効かせることで大幅に計算量を減らしてより多くのリクエストを少ないマシンで捌くことが出来、コストを下げたり、過負荷の悩みを減らせます。 個人レベルでのWEBサービス開発の場合、サーバ代がお財布を大きく圧迫しますが、最低のコストでサービスを賄うことに繋げられます、ということでPHPでサービス作ってやろうと思っている人は参考にしてみて下さい。 static変数でキャッシュ 特に何も入れなくてもそのまま使えるstatic変数。例えば、関数等で一定の計算

  • PHP :: static を使って関数をメモ化する [Tipsというかメモ]

    php では、下記のように static を使って返り値を記憶しておくことができます。 <?php function hoge() { static $ret = null; if ($ret !== null) return $ret; /** * * 大きなリソースを消費する何か複雑な処理が書かれるとする。 * * : * : * * ただし、この関数が呼ばれたタイミングや状態によって、返り値が変化する場合は * この手法(メモ化)は使えない。 * 同一プロセス内で何度呼ばれても返り値が同一の場合のみ有効。 * * 例えば、この関数内で下記のように、実行する時刻によって * 何か変化がある場合はNG * * $mode = 1; * if (date('g') > 10) { * $mode = 2; * } */ $ret = $result; // $result: 処理した結果を

  • Facebookが買収しただけある!Belugaはメールの未来形。 - チャーリーより強いやつに会いに行く

    Belugaって知ってますか?皆さん。僕が2〜3日前にやたらつぶやきまくって宣伝していたWebサービスなんですけど。Facebookが3月1日に買収したということで知りました。やばいです。これはすごくいいサービス。モバイルとPC両方で使えるメッセージングサービスです。これ、大げさじゃなく、メールの未来形。TwitterとかFacebookのゆるーいトークをそのままメールに持ってきた感じ。 ※使い方は後述。 Beluga: Free, Private Group Mobile Messaging http://belugapods.com/ なぜかなかなか検索結果で公式サイトが出てきませんw ここ最近のコミュニケーションツール 僕のここ最近の友達とのコミュニケーションツールって、Twitter→Facebookって流れてきたんですけど、そういう人、いっぱいいると思います。で、それに慣れた人っ

    Facebookが買収しただけある!Belugaはメールの未来形。 - チャーリーより強いやつに会いに行く
  • Illustrator(Photoshop) のペンツールできれいなパス、ベジェ曲線を描くためのコツ(私流)

    Illustrator や Photoshop のペンツール。 初心者の頃は、きれいな曲線が描けなくて悩んだものでした。そんなペンツール、パスの初心者さんのための、ペンツールできれいなベジェ曲線を描くコツを、一連の操作方法とともにまとめてみました。 ペンツールに挫折しちゃった人も、もう一回チャレンジしてみるきっかけになればうれしいです! ペンツール初心者さんが対象の記事です。 Photoshop や Illustrator のペンツール … はっきり言って私はへたっぴーです。ペンツールは切り抜きをするときやイラストを書く時など、絶対に使いこなしたいツールですよね。ペンツールで描く曲線をベジェ曲線、アンカーやハンドル(後述)も含めてパスって呼んだりもしますが、この曲線が初心者さんにはとにかく難しい …。初心者さん向けの Illustrator のや Webサイトを見ても、ペンツールできれい

  • vim で実践! コードリファクタリング

    どうも、技術部でプログラマをしている鈴木です。シャノンに来てからは主に Shanon Marketing Platform の国際化対応をやっています。 わたくし、いわゆるひとつの vi 使いでして、世の vi 使いの類にもれず、世の中のすべてのアプリケーションの UI が vi ライクになればいいと常日頃思っているクチなのですが、(この記事も、vi で書いてからコピペであります。WYSIWYG なんてクソくらえ! でありますw)今日は恥ずかしながら、そんなわたくしが普段どんな感じで vi を使っているかをお見せしたいと思います。

    vim で実践! コードリファクタリング
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • Sapporo.jsでJavaScriptの成り立ちについてLTしてきました。 - I am bad at math

    当初はNodeのことを5分で話すつもりでしたが、id:tricknotesの「時間はどのくらいあればいいですか?」という有難い申し出を受けて設定したのが20分。 さすがに手元の資料では足りないのでJavaScript歴史についても話してきました。 そちらについては資料すら作ってなかったのでホワイトボード使いつつ記憶を頼りに延々しゃべっていくという・・・さらに字が汚くて見えづらかったと思います。すみません。 JS history View more presentations from badatmath で、帰ってきてからざざざっと資料を作りました。 まずはECMAのトコまで。 JSってサイドストーリーがとっても多い言語なので突っ込んで調べるといろいろ新しい発見があり、ネタに事欠かない言語でもあります。そういうのを調べて行くとかなりJavaScriptに親近感が湧くようになるのでみなさん

    Sapporo.jsでJavaScriptの成り立ちについてLTしてきました。 - I am bad at math
  • typeof演算子から学ぶJavaScriptのデータ型の概念と関係する考察のまとめ - 三等兵

    まずはtypeof演算子について。JavaScript Gardenというウェブページがありまして。こういう一文がありまして。 The typeof operator (together with instanceof) is probably the biggest design flaw of JavaScript, as it is near of being completely broken. http://bonsaiden.github.com/JavaScript-Garden/#typeof 訳)http://efcl.info/adiary/Javascript/JavaScriptGarden#k95p17 要するにtypeof演算子は「ヒャッハーtypeof演算子ぶっ壊れてるぜー」ってことらしい。理由が下記の表。 [表1] Value Class Type - "f

    typeof演算子から学ぶJavaScriptのデータ型の概念と関係する考察のまとめ - 三等兵
  • 連載インデックス「Androidで動くJavaアプリ開発入門」 - @IT

    連載インデックス 「Androidで動くJavaアプリ開発入門」 初心者のための入門連載です。「Androidアプリとは何か」の基礎知識から開発環境の構築(Android Studio、SDK ToolsとEclipse ADT、NDK、エミュレーターなどのインストールや使い方)、Java言語で書くアプリ開発の基的なところから、最新版5の新機能までまとめて解説します。Activity、Intent、サービス、WebView、ゲーム開発、センサー、カメラ、位置情報/GPSBluetooth通信、NFC、Android Wearなど ※連載のアップデート版連載は「実業務でちゃんと使えるAndroidアプリ開発入門」として連載中です。 Javaでの常識が通用しないAndroidにおけるメモリ管理の注意点 実業務でちゃんと使えるAndroidアプリ開発入門(3) Androidアプリのメモリ

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • node.js: モジュールの使い方 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    LinuxWindowsにnode.jsをインストールしてみたので、少し使ってみました。 JavaScriptにおいて、機能が欠けていて困る事って何でしょう。クラスがないとかはさしたる問題じゃないと思うのですが、モジュール機構がないのはホントに辛いです。node.jsには、待望のモジュール機構が導入されています。どうやら、CommonJS(http://www.commonjs.org/)という仕様に従っているようですが、僕は仕様を読んだわけではなくて、実際のnode.jsを触って見当を付けただけです。それを以下に書きます。 環境は、Windows+MinGW/MSYS です。 $ echo $HOME /c/Users/hiyama/Work $ which node /c/Users/hiyama/Work/bin/node.exe $ node --version v0.5.0-p

    node.js: モジュールの使い方 - 檜山正幸のキマイラ飼育記 (はてなBlog)