タグ

ブックマーク / shimooka.hateblo.jp (75)

  • PHP5.3で非推奨になった機能や関数をざっくりあぶり出すワンライナー - Do You PHP はてブロ

    via. PHP: PHP 5.3.x で推奨されない機能 - Manual もう、ざっくりざっくり。$SRC_DIRは適宜設定。 find $SRC_DIR -iname \*.php -print0 | xargs -0 grep -wE 'define_syslog_variables|register_globals|register_long_arrays|safe_mode|magic_quotes_gpc|magic_quotes_runtime|magic_quotes_sybase|(call_user_method|call_user_method_array|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|set_magic_quotes_runtime|session_register

    PHP5.3で非推奨になった機能や関数をざっくりあぶり出すワンライナー - Do You PHP はてブロ
    d-nkt
    d-nkt 2010/07/27
  • SQLのオレオレコーディング規約 - Do You PHP はてブロ

    via. ホームページ移転のお知らせ - Yahoo!ジオシティーズ 読んでて懐かしかった(?)ので、なんとなくエントリ。。。 下手すると宗教戦争になりかねないコーディング規約ですが、複数人で開発する場合、プログラミング言語だけではなく、SQLにもあった方が良いのは言うまでもありません。 今のところ、オレオレ規約で書いてるわけですが、ベースとなってるのは最初に入社した会社の先輩の書き方です。で、SQLプログラミング作法の"コーディング・ルール"にある項目に沿って、それぞれどんな感じで書いてるのか晒してみます。 コメント ハイフン2つ(--)も複数行コメント(/* 〜 */)も両方使ってます。後者はjavadocっぽく書いてます。 /** * ○○○○を日毎に集約 * * @todo チューニング */ インデント スペース4つ。基的に、"意味が切れる"予約語(FROM、WHERE、AND

    SQLのオレオレコーディング規約 - Do You PHP はてブロ
    d-nkt
    d-nkt 2010/04/27
  • phpfarm - 複数のバージョンを同一マシンに簡単にインストールする - Do You PHP はてブロ

    取り急ぎ、商会紹介だけ。 過去にid:hnwさんが前全バージョンのバイナリ持ってますという話をされてましたが、同一マシンに複数のバージョンのPHPを簡単にインストールするphpfarmコマンドがsvn.php.netに登録されているようです。 Test on different machines with another PHP version on each Test on different PHP versions on one machine Solution number 1 requires either much hardware or at least quite some setup time for virtual machines. Besides that, running tests regularly on many different machines nee

    phpfarm - 複数のバージョンを同一マシンに簡単にインストールする - Do You PHP はてブロ
    d-nkt
    d-nkt 2010/03/11
  • Services_ShortURL_Googl作った - Do You PHP はてブロ

    先日、GoogleGoogleツールバーなどから利用するURL短縮サービス(Google URL Shortener)をリリースしたわけですが、Perl界隈では早速Yappoさんがモジュールを書かれた模様。 http://goo.gl/ ってのが巷では始まっていますが、まだ勝手に tinyurl を作れないようなので 簡単に http://goo.gl/hoge な tinyurl を作る WWW::Shorten::Google ってモジュールを書きました。 http://github.com/yappo/p5-WWW-Shorten-Google CPAN には、各種 tinyurl を使って url を短くするための統一インタフェイスとして WWW::Shorten ってのがあるので、それの流儀にしたがって作りました。 GitHubのソースを見てみると、何じゃこの演算は。。。で、調

    Services_ShortURL_Googl作った - Do You PHP はてブロ
    d-nkt
    d-nkt 2009/12/18
  • オブジェクトを配列にキャストしたときのキー - Do You PHP はてブロ

    PHPマニュアルのどこかに書いてあるのかも知れませんが。。。 たとえば <?php class ClassA { private $a; protected $b; public $c; } $obj = new ClassA(); var_dump(array_keys((array)$obj)); を実行すると、 $ php test.php array(3) { [0]=> string(9) "ClassAa" [1]=> string(4) "*b" [2]=> string(1) "c" } $ という具合に、メンバー変数名をキーとする配列に変換されるわけです(オブジェクトをarrayにキャストする - Do You PHP はてなも参照)が、よーくみると、 privateメンバーのキー"ClassAa"のバイト長が"9" protectedメンバーのキー"*b"のバイト長が"

    オブジェクトを配列にキャストしたときのキー - Do You PHP はてブロ
    d-nkt
    d-nkt 2009/06/08
  • 特定のプロパティを除いてserializeする - Do You PHP はてブロ

    via. php.internals: Re: need inverted __sleep? 前のエントリに関連しますが。 __sleepと__wakeupでもいい気がするんですけどどうなんでしょう。 http://php.mirror.camelnetwork.com/manual/ja/language.oop.magic-functions.php __sleepでも同様のことができますね。 serialize() は、クラスに特殊な名前 __sleep の関数があるかどうかを調べます。 もしあれば、シリアル化の前にその関数を実行します。 この関数で、オブジェクトをクリアすることができます。 またこの関数は、シリアル化するオブジェクトについて、 すべての変数の名前を配列で返すことが前提となっています。 説明の最後にある"変数の名前"ですが、1つ前のエントリのようなNULL文字を含む名

    特定のプロパティを除いてserializeする - Do You PHP はてブロ
    d-nkt
    d-nkt 2009/06/08
  • 今日のなんじゃとー! - Do You PHP はてブロ

    単純な添字配列を繋げたい場合どうするんだっけか分からなかったのでtwitterでつぶやいたところ、mumumuさんから「array_mergeで良いんじゃね?」と教えてもらいました。 でも、array_mergeって、同じキーの場合、上書きしなかったっけ?と思ってマニュアルを確認すると。。。 入力配列が同じキー文字列を有していた場合、そのキーに関する後に指定された値が、 前の値を上書きします。しかし、配列が同じ添字番号を有していても 値は追記されるため、このようなことは起きません。 挙動が違うんかよ。。。と思ったけど、考えたらそりゃそうだよなー。 先日のasialさんのエントリが頭に残ってて出てきませんでした>< +演算子なら上書きか。。。

    今日のなんじゃとー! - Do You PHP はてブロ
    d-nkt
    d-nkt 2009/02/23
  • VMwarePlayerでNAT接続できない - Do You PHP はてブロ

    VMwarePlayer2.5.1にアップデートすると、 NAT接続 HostOSからpingも通らない GuestOSからは問題なく接続できる という状態になってかなり焦ったのでメモ。 HostOS側の問題と思い、ipconfig叩いてみると、NAT用のアダプタ(VMware Network Adapter VMnet8)がなくなっていました。 ということで、仮想ネットワークエディタ(C:\Program Files\VMware\VMware Player\vmnetcfg.exe)を実行してアダプタを見てみることに。 すると、やはり作られていない模様。。。>< ここで[追加]ボタンを押して、VMnet8を選択して[OK]ボタンを押す。 [適用]ボタンを押すとアダプタが追加される。PCのスペックによってはちょっと時間がかかるかもしれません。 完了するとネットワークアダプタの名称が「VM

    VMwarePlayerでNAT接続できない - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/12/02
  • PECL::GeoIPを試してみた - Do You PHP はてブロ

    ひょんなことから、PECL::GeoIPを試してみたのでメモ。まあ、すでにマニュアルにも結構書かれているのですが。。。 インストール PHPマニュアルにもあるように、最初にGeoIPのCライブラリをインストールしておく必要があります。PECL::GeoIPはpeclコマンドでインストールできます。 $ wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.5.tar.gz $ tar zxf GeoIP-1.4.5.tar.gz -C /usr/local/src/ $ cd /usr/local/src/GeoIP-1.4.5/ $ ./configure; make; sudo make install $ sudo pecl install geoip $ ちなみに、位置情報のデータファイルは、GeoIPをインス

    PECL::GeoIPを試してみた - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/12/02
  • The return value of include - Do You PHP はてブロ

    via. http://www.urdalen.com/blog/?p=257 まあ、知ってる人は知ってると思いますが、inclue/include_onceはrequire/require_onceと違って値を返します。 たとえば、foo.phpで共通関数を定義してあった場合、 $ret = include 'foo.php'; var_dump($ret); // true な感じです。これは知ってた。 で、foo.phpでreturn文で値を返していた場合、その値が返ってきます。たとえば、先ほどのfoo.phpがhttp://www.urdalen.com/blog/?p=257のconfig.phpみたいに <?php return array( 'hostname' => 'localhost', 'database' => 'test', 'username' => 'test

    The return value of include - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/12/02
  • 「OracleDatabase 10g ExpressEdition」に関するインタビュー - Do You PHP はてブロ

    はてなからのメールというと 有料オプション継続通知 はてスタ・トラックパック通知 ぐらいしかなかったのですが、 さて、突然のご連絡ではございますが、この度、米オラクル社が提供している Oracle Database 10g Express Edition(以下XE)について是非shimooka様に ご意見をお伺いできないかと考え、はてなダイアリーのプロフィールページに 記載されているメールアドレスまで連絡させていただきました。 : そこで、はてなが主催して、XEについて興味をお持ちのエンジニアの皆様に 5人1組程度のグループ・インタビュー形式でお話をお聞きする会を11月下旬に 開催することといたしました。おお。何だか直々のメールが。。。事の発端は、ZDNetOracle XEの記事 無料で使える「Oracle Database XE」をインストール - builder by ZDNet

    「OracleDatabase 10g ExpressEdition」に関するインタビュー - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/11/27
  • Instant Client Version 11.1.0.6.0 - Do You PHP はてブロ

    11gのInstant Clientがダウンロードできるようになったみたいですね。 http://www.oracle.com/technology/software/tech/oci/instantclient/index.html(OS毎の一覧) http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html(x86用Linux版) PHPとのbuildだけでも確認しとくかな。。。

    Instant Client Version 11.1.0.6.0 - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/10/22
  • Webアプリケーション技術者の見極め方(PHP) - Do You PHP はてブロ

    via.http://www.sooey.com/journal/2008/10/17/840/ 「俺Java6年やってます!」とか言われても正直よく分からないっていう話をしたところ、Java技術者の方々に「こういう質問をしてみれば?」っていうアドバイスをもらったのでご紹介。 使い慣れたAPサーバは何ですか(→デプロイ方法を簡単に説明してください) MavenとAntはどちらを使っていますか 『Effective Java』を読みましたか(→そこから何を学びましたか) 自由にフレームワークを選んでいいと言ったら何を使いますか 他にもあったら教えてください。 Javaは1.4.2の時が最後だったからなぁ。。。とりあえず回答してみるとこんな感じ。 Tomcat(これ以外のAPサーバを使わなかったからなー) Ant 読んだけど忘れたw 何だろ。。。当時はオレオレフレームワーク(会社支給w)&オ

    Webアプリケーション技術者の見極め方(PHP) - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/10/22
  • md5を使う - Do You PHP はてブロ

    すみません。。。思いっきり勘違いしてました。以下が正しい内容です。 md5は8.3.1でも標準関数として使えます pgcryptoを使うと、digest関数、hmac関数などが使えるようになる digest関数の第2引数にアルゴリズム名として「md5」「sha1」「sha224」「sha256」「sha384」「sha512」を指定する make install後、関数を有効にしたいデータベースに対して、PostgreSQLのスーパーユーザーでcontribディレクトリにあるpgcrypto.sqlを実行する必要がある PostgreSQLの再起動は不要 # cd /usr/local/src/postgresql-8.3.1/contrib/pgcrypto/ # make # make install # su - postgres $ psql -d databasename -f

    md5を使う - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/10/09
  • 名前空間のデリミタに待ったがかかってるみたい - Do You PHP はてブロ

    PHP5.3.0α3を目前にして、家開発者メーリングリストではいまさら名前空間のデリミタについて再燃しているようです。 あまり詳しく追ってませんが、最近だと そもそも「::」って別の意味持ってるし、面倒なんだよねー もう「::」使ってる人っているの?いなそうならやっちゃえば? じゃ、「:」がいいんじゃね? $a = $b?A:B:C:D;とかどうすんだよ? そんなコード書いて良いのは(ry 「.」でいいじゃん な感じです。 はー。。。「10月にstable」とか、やっぱムリだな。

    名前空間のデリミタに待ったがかかってるみたい - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/09/30
  • 「中級者の自分が、PHPとかプログラミングに対して思ってること」に回答してみる - Do You PHP はてブロ

    via. http://webbingstudio.blog10.fc2.com/blog-entry-564.htmlPHPに関して1つだけ言っとくとすれば - iakioの日記、感想書くまでが勉強会ということで書く - bobchinの日記、自分なりに - WebProgを極めて居酒屋を開発する 第1回 LOCAL PHP部 (aka PHP北海道) のつどいに参加していないけど、回答書いてみますよ、と。 そもそも、PHPは何がどう「駄目な言語」なのか やはり「気持ちよく書けない(言語仕様)」ということになるんでしょうかねぇ。感覚的にこう書きたいけど書けないというか、回りくどく書かなきゃいけないというか。まあ、それに慣れてしまってるので、あまり目くじらたてたりしませんが、たまに思います。 問題がある関数とはどれのことを指すのか バージョン毎に挙動(動作とか引数とか戻り値とか)が変わる

    「中級者の自分が、PHPとかプログラミングに対して思ってること」に回答してみる - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/09/24
  • PHP5.3.0にmbstring.http_output_conv_mimetypesが来てた - Do You PHP はてブロ

    via. [PHP-dev 1398] mb_output_handlerによる文字エンコーディング変換について PHP-dev(ja)で出ていた件ですが、しっかりとPHP5.3.0α1から入ってました。id:moriyoshi++!id:masugata++! 一番ありがちなのは、docomo向けコンテンツをXHTMLで作成する場合、MIMETypeは application/xhtml+xmlとする必要があります*1が、mb_output_handlerを使った出力エンコーディング変換をするにはMIMETypeが「text/」で始まる必要がある*2ので、「エンコーディングが変換されねー!」とかいうことになります。 で、エンコーディング変換するMIMETypeを正規表現で指定できるのが、mbstring.http_output_conv_mimetypesディレクティブです。たとえば、こ

    PHP5.3.0にmbstring.http_output_conv_mimetypesが来てた - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/09/19
  • PHPTypeSafeで目から鱗が落ちた - Do You PHP はてブロ

    PHP5から導入されたタイプヒンティングを、とある方法で拡張してstringやint、boolなどのスカラー値に対しても使えるようにしたライブラリです。 Today I released the first public version of my new library PHPTypeSafe. It provides the ability to use PHPs Type Hinting feature for scalar values. PHP5.3以降対応で、phar形式で提供されています。つーか、PHP体に入れば楽なんだけどなぁ。。。 どのように書けるかというと、こんな感じ。barメソッドに注目。 <?php require 'com.maxhorvath.phptypesafe.phar'; class Foo { public static function bar(s

    PHPTypeSafeで目から鱗が落ちた - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/09/04
  • 「設計」勉強会やりたい - Do You PHP はてブロ

    symfony前提としてますが、多分どのフレームワークでも同じかなぁ、と。フレームワーク使った開発って今では一般的になっていて、たとえばsymfonyを使う場合、 Propelでモデルクラス作成 Actionにロジックを記述 Viewは素のPHP という、ある意味「symfony的なモノリシック」な3層構成でもWebアプリはできちゃうわけです。 でも、サービス層(ロジック層)とかを噛ましてフレームワーク依存をなくしたクラスを作ってActionはそれを利用するだけとか、ユースケースから導き出されたクラスを使うとか、テスト的な観点からこうした方が良いとか、いろいろあるわけです。 こういった情報って「symfonyはこう使う」みたいなtipsではなく、当の意味での「スキル」だと思ってるんですが、今自分がやってることが当に良いのかどうか、あるいは、もっと良い考え方があるんじゃないかと思っていま

    「設計」勉強会やりたい - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/09/02
  • Firefox3.0.1に上げるとTab Mix Plusが動かなくなったので直してみた - Do You PHP はてブロ

    Firefox3に上げるタイミングで、Tab Mix Plusのdev版を入れて使っていたんですが、Firefox3.0.1に上げると「未対応」ということでTab Mix Plusが動かなくなってしまいました。 個人的には結構重要なアドオンだったので、久々にxpiをバラして対応バージョンを書き換えることに。 $ wget http://tmp.garyr.net/dev-builds/tab_mix_plus-0.3.6.1.080416.xpi $ unzip tab_mix_plus-0.3.6.1.080416.xpi $ cp -p install.rdf install.rdf.org $ vi install.rdf $ diff install.rdf.org install.rdf 8c8 < em:maxVersion="3.0" /> --- > em:maxVersi

    Firefox3.0.1に上げるとTab Mix Plusが動かなくなったので直してみた - Do You PHP はてブロ
    d-nkt
    d-nkt 2008/07/18