がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

言語

日刊PHPホラー物語(笑

こんばんわ。PHPホラー物語の時間です(笑い まずは http://bugs.php.net/bug.php?id=36689 をご覧ください。 Bug #36689 syslog() truncates messages -中略- Description: - the PHP function syslog() truncates messages at 500 characters. it should no…

同じファイル名で異なるMD5SUM???

大垣 靖男さんの Blog https://www.codeblog.org/blog/yohgaki/ より。 PHP 5.1.4のMD5SUMが変更されている php-5.1.4.tar.bz2のmd5sumの値が変わっていました。おかしいなと思い、新しくtar.bz2をダウンロードし古いtar.bz2と比較してみると pear/install-p…

もはや「小ネタ」レベルのでっかいネタ

PHPにはemptyっちゅぅ関数があるです。復帰値がbooleanであるあたりからしても、挙動は明確ですね。 で…無論当然もっぱら、念のためチェックが入るデス。 http://jp.php.net/manual/ja/function.empty.php 戻り値varが空でないか、0でない値であれば FALSE …

だめだ…

PHP、相変わらず色々とあってソースチェックとかしてるです。 ………だめだ。この言語、まず確定で「未来永劫落ち着きません」モード全開。 ちょっと真面目に書くと。多分「ハッカーのおもちゃ」からスタートしたんじゃないかなぁ? で、ソースコードの質もまた…

仕様メモ

変数宣言…レベルで切り分けようかなぁ、と。どっちかっていうと、lint用に。そうすると業務での縛りがしっかりと出来るような気がする。 イメージとしては… レベル0:最もコアな部分 byte : 8bit レベル1:通常の言語において出てくるであろう基本形 tiny …

メモ

おらいりぃ先生のプレファクタリングって本見て…ふとひらめいたので、めも。 ADT、SSSPHPの基本仕様になんとか突っ込もう。 ADTとは、abstract data type。抽象データ型って訳されてます。 非常にOOP的にグッドな発想なので…これは仕様に取り入れてみたい。 …

もしかして…唯一の現実解?

んっと。海外のサイトで http://www.hardened-php.net/home.8.html ってのがありまして。 5.1.4にセキュリティパッチあててます。 こちら -> http://www.hardened-php.net/php_514_security_fixes.118.html Several days ago PHP 5.1.4 was released by PHP.…

本気ですごいぞPHP2

ううむ…Fixed bug #36152 (problems with curl+ssl and pgsql+ssl in same PHP). http://bugs.php.net/bug.php?id=361525.1.2から5.1.3(5.1.4って言っても語弊ないなぁ)のChangeLogなのですが。 内容もさることながら、コメントが秀逸。 [26 Jan 2:48pm UTC]…

本気ですごいぞPHP…

故あって…今まで、ChangeLogチェックしてなかったです。多分本能が嫌がっていた。 で…故あって、ChangeLogチェックしだしたです。…本能が嫌がってます。 以下、斜めにチェックして目についてしまった不幸な内容をいくつか。 Fixed XSS inside phpinfo() with…

巷のソースちぇ〜っく:Perl編

ふと思い出した…どこぞの掲示板に実在するソースなのですが。 ファイルopen ロック開始 ファイル読み込み ファイルclose データ処理 ファイルopen ロック開始 データ書き込み ロック解除 ファイルclose………。googleその他のランキング見てる限り「結構有名ど…

巷のソースちぇ〜っく

いやまぁ以前からチェックしていたのですが。 有名なXOOPS。…汚いです(あっさり)。まぁ歴史的経緯その他あるんでしょうが…もうちょっときれいにクラスにして欲しい。 さらに有名なphpbb。…目が腐れます。大抵汚いソース見てますが、知ってる限りではぶっちぎ…

忘れないうちに仕様のメモ

SSSPHPのメモざます。 まず基本は「言語仕様の整理とそぎ落とし」。 関数は「最低限必要なもの」と「お便利」に切り分け。…ってか基本「全部クラス」にしたいのが本音。既存ソース動かなくなりそうだ………けど………ラッピングすればOKか? php.ini相当のものは無…

そうきたか…

職場の友人から教わりまして。 http://lovemorgue.org/modules.php?name=News&file=article&sid=950 経由で http://www.hardened-php.net/ PHPへのパッチ配布をされているサイト。すでに5.1.4のまで出回っているあたりは壮絶の一言。 ………ってか「パッチ当て…

………え?

PHP5.1.4インストールしてみたです。…が。 インストールログの一部をご覧くださいませ。 Installing PEAR environment: /usr/local/lib/php/ --18:53:09-- http://pear.php.net/install-pear-nozlib.phar => `pear//install-pear-nozlib.phar' Resolving pea…

で、またUpdateですか?

ちょいとタイミング遅れましたが。PHP君Updateです。しかも一段ぬかし(笑 http://itpro.nikkeibp.co.jp/article/COLUMN/20060508/236988/?ST=lin-server&P=1簡単に引用してみまふ。 今月は,PHP 5系の最新版にあたるPHP 5.1.3と,そのリリース直後にみつかっ…

PHPのインストールでトラブル?

いやまぁそのまんまの内容なのですが。 直接的事象を発覚した時間軸順にずらずらっと。 まず コンパイルオプションを追加してのコンパイルで、コマンドモードではOkなのにApache経由ではNG ってのがありました。 調査すると、どうやら Apacheのmodulesディレ…

桁あふれに伴う仕様

んっと…えっと…あっと………。 http://www.php.net/manual/ja/language.types.integer.php 整数のサイズはプラットフォームに依存しますが、 約20億(32ビット符号付)が一般的な値です。 PHPは符号無し整数をサポートしていません。 これはまぁいいです。ただま…

その値は数字? 数値?

直接的にはPHPなのですが、まぁPerlでもほぼ確定で同様のことが起きると思うので、あわせて。 型がしっかりした言語ではおきにくい事故なのですが…多分。型が暗黙に色々といじくられてしまう言語は、多分「プログラマの脳内でも自動補完」がなされてしまい、…

またバグ;;

えっと………ええタイトルの通りですともさ。…泣くぞ。 以下、まだ分析はしきれていないのですが、状況を簡単に。直接的な事象 ・とあるプログラムにおいて、ob_cleanを事前に発行した際に画像が壊れる ・対象プログラムにおいてはob_clean行をコメントアウトす…

なまほげ君登場予告(笑

んっと。…PHP君、色々と面倒な挙動が多すぎです。なので、 <?phpより前、或いは?>より後ろに1bit足りとでも余分なデータは認めない 全角空白みつけたらワーニング 先日発見した「引数の数」のチェック をしてくれる「Perlの」プログラムでも書いてみようか…

「PHPにおける」Webからの配列の取得方法

なんか書いてたつもりが書いてなかったので、一応。 Webで、特にcheckboxなどでありがちなのですが。 <input type="checkbox" name="food" value="meet">肉が好き<BR> <input type="checkbox" name="food" value="fish">魚が好き<BR> <input type="…

SSSPHP

一応まだ「戯言」ってことで。 職場で友人と「SSSPHPつくろっか?」とか言ってます。…もう一つ冗談か微妙な口調で。SSSPHPってのは「Simple Secure Stupid PHP」の略です。 作り方としては…いらん関数全部捨てて「最低限の関数」だけ実装してコアリリース。…

スタックが壊れる!?

んっと。 function foo($f, $s)ってな関数がございます。んで、こいつを foo();ってcallすると当然のごとく怒られます。 では質問。 function foo()に対して foo("first", "second");とcallするとどうなるか? 答え: 問題なく(ワーニング一つ出ず)プログラ…

日本語周り調査結果:PHP5.1.2

そのまんまでございますはい。 とりあえず関連しそうなのは mbstring.encoding_translation mbstring.internal_encoding mbstring.http_input の3つ(入力の場合)。で…丁寧に設定してももう一つ挙動が怪しい。 もし。もし貴方が「入力文字コードは自動的に以…

PHP5のクラス new は全て参照で

結論: PHP4はnewの時に実態を返すっぽい。でもPHP5では参照を返すっぽい。 よく知られた話……だと思うのですが、色々実験した結果とかその怖さとか何とかがあるのでちょろりとメモ。 class hoge { function set_data($s) { $this->data_ = $s; } function ge…

Javaでのファクトリーメソッド実装の一例

java.lang.Class.forName( クラス名 ).newInstance();でいけるらしい。 実際には return (キャストしたいクラス名:大抵は基底クラス名かな?)Class.forName( クラス名 ).newInstance();って感じになるのかな?

最近ツボにはまってる言語とその派生

Brainf*ck*1っていう言語があるです。なんていうか…素晴らしい言語です。 多分、ある観点から考えると「現存するなかで最も容易なプログラム言語」であると思われるです。 ちなみに、言語仕様は以下の通り。 > ポインタをインクリメントする。ポインタをptr…

Zendかこいい!!

ふらりふらり(現実逃避)していると、ふとたどり着きましたゼンド・ジャパン株式会社 技術情報コンテンツ( http://www.zend.co.jp/tech/index.php?Top )。 現状(否応なしに)PHPをやっている(やらされている)身にとっては、Zendさんの資料はよかれ悪しかれ興味…

ライブラリの作り方メモ

久しぶりに本っ気でメモ。 C++のMakefileの書き方。…汚いですが(苦笑 CC = g++ OPT = INCLUDE = OBJ = program.o \ program2.o \# シェアードライブラリ libgallup.so : $(OBJ) ld -shared -no_archive -o libgallup.so $(OBJ) -lc# スタティックライブラリ …

php.iniの謎−読み込む場所編−

んむぅ…php.iniとの格闘は現在も続いております。 今回の御題は「どこのini読んでるねん?」 特にポイントになったのがコマンドライン関係。…いやまぁ「PHP コマンドラインでなんか使いたくねぇよ」とかいう切実な発言をしたいのですが、現実問題として「テ…