タグ

tipsに関するy-kawazのブックマーク (91)

  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

    PHP コード最適化 Best Practices 63+ - カタコト日記
    y-kawaz
    y-kawaz 2008/05/22
    言われてみりゃその通りってのが多いけど、気付いてなかったのも多くて参考になる。
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    y-kawaz
    y-kawaz 2008/04/09
    Encode.pmとか出てきてから手間が増えてPerlが使いづらくなった。そのせいでもう滅多にPerl使わなくなって他の言語使ってるわ…。
  • hyuki.com | 結城浩 | 教えるときの心がけ

    目次 はじめに 教える前に 教える前に、学ぶ 教える前に、自分を整える 教える前に、相手を整える 教えるとは、ドラマを演じること ここは舞台、あなたは演技者 型にはまらず、ダイナミックに 教えるとは、ガイドすること 生徒の知っていることからはじめましょう 全体像を伝えましょう すべてを教えてはいけません 教えるときの二刀流 二つの方法 二つの表現 語るか聞くか メタな立場 広さと深さ 教えるとは、生徒との対話 教えることは、知識を伝えるだけじゃない 対話は一方通行じゃない 対話の進み方は一定じゃない 対話は謙虚に 教えるとは、はげますこと、ほめること 安心して質問できますか 生徒をおどかしてはいけません 生徒をばかにしてはいけません 生徒を恐れてはいけません 優秀な生徒と期待にそわない生徒 ところで、いつまで教えるつもり? 付記:父の思い出 付記:教えることについての独り言 読者のみなさん

    hyuki.com | 結城浩 | 教えるときの心がけ
  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
    y-kawaz
    y-kawaz 2008/03/31
    Unicode使うなら-CIO
  • JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記

    経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ

    JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
    y-kawaz
    y-kawaz 2008/03/04
    yieldなんて知らなかったなぁ、現行の主要ブラウザではどれが対応してるんだろうか?
  • [CSS]ブラウザ間の差異を無くすリストのスタイルシート | コリス

    Konstruktors Notesのエントリー「How to Create Beautiful and Elegant HTML Lists Using CSS」から、CSSを使用して美しくエレガントなリストを制作する方法を紹介します。 How to Create Beautiful and Elegant HTML Lists Using CSS 各ブラウザによるリストのレンダリングの差 リストにmarginやpaddingを指定した場合、「Internet Explorer」と「Gecko, Webkit and Opera」の各ブラウザで、レンダリングが異なります。 <textarea name="code" class="css" cols="60" rows="5"> ul, ol{ margin:auto -3em 1em 0; padding:0; position:rel

    y-kawaz
    y-kawaz 2008/03/04
    ulのデフォルトデザインってホント直観的じゃないんだよな…。いつも適当なCSS適用して勝手配置を殺してた。
  • マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル:phpspot開発日誌

    phpied.com Blog Archive Simultaneuos HTTP requests in PHP with cURL The basic idea of a Web 2.0-style "mashup" is that you consume data from several services, often from different providers and combine them in interesting ways. マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル。 通常、PHPAPIにアクセスする場合、例えば、Yahoo!検索APIはてなブックマークのRSSを取得してマッシュアップする場合は次の図のようになります。 ただ、この方式だと、Yahoo!検索APIにリクエストし、その結果を待ちます。 そして、そこからはてなブック

    y-kawaz
    y-kawaz 2008/02/24
    非同期で複数のHTTPリクエストするTips
  • mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ

    追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option

    mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ
  • cyano: Apache アーカイブ

    Software Design 2007年 09月号にmod_rewrite活用テクニックを書きました Software Design 2007年 09月号にmod_rewrite活用テクニックを書きました。 公式ドキュメントでも黒魔術などと称されている悪名高いモジュールmod_rewriteですが、要は設定例や内部でどのように動くかが解説されていないためによくわからないモジュールとされているだけであって、それらを理解してしまえば普通に使いこなすことができるようになります。 例えば以下のことを知らないような人向けに書いてみました。 RewriteRuleディレクティブに渡される(RewriteRuleディレクティブで評価される)URLが、RewriteRuleディレクティブをどこに書くか(httpd.confか.htaccessかなど)によって違う RewriteBaseディレクティブはな

    y-kawaz
    y-kawaz 2007/12/13
    Apacheの色々テクニック。パフォーマンスに関するTipsとか
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

    y-kawaz
    y-kawaz 2007/11/21
    色んなクラス定義の方法
  • ソーシャルブックマークユーザーのIDとPASSをいとも簡単に抜き取る手口*ホームページを作る人のネタ帳

    ソーシャルブックマークユーザーのIDとPASSをいとも簡単に抜き取る手口*ホームページを作る人のネタ帳
    y-kawaz
    y-kawaz 2007/05/14
    これは騙されるかも??