がるの健忘録

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

プログラミング

容易に修正できること

ふとおもったっつか思い出した名言。 過ちて改めざる、これを過ちと謂う 本来は「過ちを改めないのが本当に過ってるってことなんだよ」なのですが。 プログラムの場合「容易に改められること*1」が大切なんだと思う。 つまり。 「過っていても比較的容易に修…

入力時無毒化の弊害への考察:別角度から

んと。 一般に「生兵法は怪我の元」とか「半可通」とか色々ありますが。 ぶっちゃけて「中途半端な対応はなにもしないよりもまずい」ケースが多々あります。 完全に「未対応」だと色々と焦燥感も出せるのですが。 「何となく対応してるっぽい」感じだと、「…

入力時無毒化の弊害への考察:予想事例

とまぁざくざく突っ込みましたが。 んと…予想される面倒事をいくつか。 いち 「入力で<>(半角ね)をNGにしました」 「え〜例えば >>(くどいようだけど半角ね) とか使いたいし通せるようにしてよ」 「(なんでNGなのか前任者から引き継いでないしなぁ)わか…

入力時無毒化の弊害への考察:突っ込み

あえて。あえて「サニタイズ」書かずに「入力時無毒化」と書いてみます*1。 先日もまぁドカドカと叩いたのですが、ちと色々と考察を。 元ネタとして、キーワード「入力時 サニタイズ」でググって色々なサイトを見に行ってます。 # つまらん事に「入力時のサ…

「サニタイズじゃなくてエスケープなんだ」と何度言えば…orz

元ネタ列挙。 PHPでのセキュリティ対策についてのメモ http://note.openvista.jp/2008/php-security-memo/#2 XSS対策に入力時エスケープは非常にややこしい http://ukstudio.jp/2008/10/27/xss/ XSSの脆弱性を限りなくなくす方法 http://blog.webcreativepar…

IPアドレスの比較にまつわるエトセトラ

んと。普通にIPv4を知っている人だと、「IPアドレスでしょ unsigned longでしょとりあえず数値にしてから比較すると範囲とか扱いやすいよね」って考えるのは割と真っ当な発想だと思うです。 でまぁ、以前に まず.で区切って 作業用変数を8ビットシフトして…

果たして今、何人が笑えるんだろうか?

昔々。こんな「笑い話」があったのを記憶しています(細かいところはちゃんと覚えてませんが)。 プA:をいをい。バグがあるよ。この関数の戻り値、正しい挙動の倍の数字で戻って来ちゃってるぞ? プB:解りました修正します - 一定時間経過 - プB:なおしました…

なるほど読書感想文ですか

元ネタ。 プログラミングの教育には読書感想文が無いと思ったので書いてみる http://d.hatena.ne.jp/tonocchi/20080828/1219886869 ははぁんなるほどプログラムの読書感想文ですか。 面白いし画期的な発想かも。 …なんか発展させてみたいなぁ。

DBの、特に削除と候補キー周りにまつわる思考実験

おもいっくそ思考実験なので鵜呑み厳禁&考えながら書いてるので多分文体めちゃくちゃw まず。以前に、オラクルマスターとお仕事をしたりしてその流儀をしばらく使ってみたんだけど*1………うん正直トラブルを引き起こしやすかった。 いや別に善し悪しをどうこ…

えといわゆる phpspotメソッド ですか?

元ネタは http://d.hatena.ne.jp/gallu/20080702/p2 あたりから。 んと。今し方伺ったら。なんかこんな文章が入り込んでた。修正日不明(だって書いてないんだもん)。 ※ 本サンプルはFlexigridの使用法を示すことに主眼を置いたものであり、セキュリティの観…

なぜこうもレビューされてないコードを記事に書く?

元ネタは わずか数行で"ものすごいテーブル"に! - jQueryプラグイン「Flexigrid」 http://journal.mycom.co.jp/articles/2008/06/25/flexigrid/menu.html の三番目のPageである 動作サンプル - JSON+Ajaxでソートなどを可能にしたテーブルリスト http://jour…

date_parseにおける「日付フォーマットにエラーがある場合」とは?

んと…大分前に嵌ったのですが。 「日付のvalidateをどうすんべ」ってのが発端でございました。 例えば $s = 'yyyymmdd';という文字列をdate_parseすればエラーなのは当然でございます。 まぁ… http://php.benscom.com/manual/ja/function.date-parse.php 返…

相変わらずもやもやしているドラフトな覚え書き

「クラス」とか「SQL」とか、大雑把過ぎる切りわけがあるから混乱をきたす気がしている。 ので、ちと役割分担を試みてみたり。 :クラス3種: 部品クラス: 機能ベース。 同一機能なら同じクラスになる。九分九厘、「業務クラス」とか「より複雑な部品クラ…

「最低限のセキュリティ」ってなんぞや? に関する考察

これもまたちとお題があがってたもので。んでもってやっぱり超ドラフト。 とりあえず… 基本的なHTMLエスケープ処理くらいやろうよ 単純なタグが入力出来るような基本的なXSSは論外です 基本的なSQLエスケープ処理くらいやろうよ 単純なSQL-Injectionなんて以…

「保守メンテナンス性」ってなんぞや? に関する考察

おもいっくそドラフトな考察。 よく話をするのですが。プロとアマチュアの差って。「実装できるか出来ないか」じゃなくて*1、保守メンテナンス可用性なんじゃないかと思う今日この頃。 問題は「保守メンテナンス性ってなんぞや?」という話になるわけです。 …

CGIのデータの流れ覚え書き

半分熱でうなされながら書いてる危険な文章w 多分。言語、携帯/PCの如何によらず。 ある側面から切り込むと、CGIってこういう流れ。 ・(HTTP requestでプログラムがcallされる:HTTPdが大抵やってくれる ・(request データを適宜パースする:PHPの場合は勝…

テストの問題、ですらなさそうな… orz

元ネタは http://blogs.wankuma.com/shuujin/archive/2008/05/18/138193.aspx http://blogs.wankuma.com/naka/archive/2008/05/18/138160.aspx http://d.hatena.ne.jp/ripjyr/20080517/1210957963 一番大本からまず一文。 通常時には問題無く処理が行われる…

名言というか名文というか

コーディング規約どうすんべとか悩んでる時用メモ。 間違ったコードは間違って見えるようにする http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%…

copyが深かったり浅かったり

御題的には、deep copy(ディープコピー)とshallow copy(シャローコピー)の話です。 んと。例えば文字列Aの内容を文字列Bにcopyする時は。大抵の言語において b = a;で片がつくと思います。 お次。中にintegerとかしかないようなクラスの場合。つまり class f…

“globalという6字からなる文字列”なら…転がってるなぁorz

元ネタはえムナウさんのこちらから。 オブジェクト指向でグローバルは駆逐された?冗談じゃない。 http://blogs.wankuma.com/mnow/archive/2008/04/07/131953.aspx 先に、半私信。 えムナウさん大丈夫ですってば「別にC#ぢゃなくてもどこの言語にいっても駆…

めも:指定ディレクトリ配下の通常ファイルのListを取得

うんなんていうかタイトルそのまんま。 一応念のため。場当たり的に作ったのでエラーチェックとかろくすっぽしてないから使う時は注意。 // 第二引数は trueなら先頭.なファイルも取り込む function get_al_filename($base_dir, $flg = false) { // $ret = …

実態が切れてないorz

んと…Via、 http://blogs.wankuma.com/hatsune/archive/2008/03/30/130473.aspx http://blogs.wankuma.com/jitta/archive/2008/03/28/130332.aspx http://blogs.wankuma.com/episteme/archive/2008/03/29/130391.aspx http://blogs.wankuma.com/tyappi/archi…

可視性への一考

厳密には「書」ではないんですがね。 http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%8…

保守性の一例

んと。まぁ目の前に実例があって萎えてるとかって話はおいといて。 とりあえず「ある種の変更にどれくらい容易に耐えられうるか」ってのは、ひとつの指針になると思うです。 例えばWebの場合の設問。 ある1Page(ってか1line)があると仮定します。普通に入…

ソースコードレビューとペアプログラミング

ふと昔を振り返ってみて思うのですが。 昔って、先輩からの(こわ〜い)ソースコードチェックとか、場合によっては(もはや晒し者としか思えないレベルでの)「たくさんの人に見られるソースコードレビュー」とかがあったと思うです。 # 括弧の中は冗談ですとも…

きれいなソースってのは多分ハインリッヒの法則なんだ!!

いやまぁそも「きれいなソース」の定義も難しくはあるのですが。 修正とか変更とか明らかに加味されていないソースを見てふと思ったのが。 彼らは、ハインリッヒの法則を知らないんだなぁと。 つまり「1つの重大事故(ばぐ)」がおきなければそれでいいと考え…

来たよ 来たよ ハイエナ 来たよ orz

ほぉら来たハイエナが。 http://itpro.nikkeibp.co.jp/article/COLUMN/20080108/290642/ Ruby:高生産性でビジネスに急拡大,課題は大規模への展開 先に。 Ruby on Railsを作ったのは,David Heinemeier Hanssonというデンマーク出身の技術者で,今は,カナ…

美しいコード、かぁ

ネタ元は http://d.hatena.ne.jp/tonotonotono/20080208/1202448149 とか http://maname.txt-nifty.com/blog/2008/02/for_human.html とかから始まるあちこちにつながるリンク群。 ふと考えてみる。 多分自分にとって「美しい」と感じるのは、まずなによりも…

邪悪だ…

多重継承。危険で、でもとても甘美な響き。 多分いまだ議論尽きせぬところかとは思いますが、それは「可能であればこそ」。「多重継承が出来ない」のなら、そも議論の俎上に上がることすらありません。 例えばPHPとかね。 え? そんなあなたに耳寄りな危険情…

余談というかなんというか

ふと、興味があったので。 対象:OpenPNE-2.10.3.tar.gz tar zvxfで展開後、「grep -R GLOBALS * | wc -l 」を実施。 結果……… 1018。 ここから何かを思うか思わないかは、あなた次第*1。 *1: (C)関暁夫