忍者ブログ
雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
[181]  [179]  [178]  [177]  [175]  [176]  [174]  [172]  [173]  [171]  [170
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ずいぶんと変な一週間でした。三週間分ぐらいのイベントがまとめてやってきた気がします。
簡単に備忘録もかねて今週のダイジェストを書いてみます。

○本社に2回も帰社しました。
確かに今週は仕事も楽だったので時間があったのですが・・・まぁ新卒社員が研修を受けてらっしゃる間ぐらいは先輩面させてください。私の今の勤め先の新人さんと比べると我が社の新人のふがいないこと・・・さすが一部上場超有名企業とそこらの下請け企業の差だけあってスタート地点での差は大きいです。しかしながら1年後はわかりませんよ。大企業だからってぬるま湯につかっているような状態であればこちらだって軽く追い越すことが出来ますからね!


○現在の勤め先は外人さんがとても多いです。中国人韓国人はもちろん、中東アジアのほうからいらっしゃったような方もたくさん見受けられます。その中でも仲の良い同僚の韓国人女性の方がいます。中国ロシア日本と渡り歩いてこられたそうで、相当な国際派。彼女は日本のアニメが大好きだと豪語してらっしゃるのですが、ついこないだお昼ご飯の最中にドラゴンボールの話題になったとたん、まるで別人のごとく語り出しました。
「特にベジータとか好きですね」「ベジータ最高ですよ!」「ベジータには哲学がありますよ!!」「彼は王子という常に最強サイヤ人でなくちゃいけない立場なんですよ!それがなんかいきなり孫悟空とか悟飯とかにやられて・・・」
一体全体、ヤムチャと並ぶドラゴンボール史上2大かませ犬の王子の何がそんなに彼女の心の琴線に触れたのでしょうか・・・わからない・・・


○HTML上で、<form>タグが勝手に改行することを今更知りました。CSSが使えないので、なくなく<table>タグで整形しました。畜生、誰だこんな仕様を考えたのは・・・


○動的に生成されるHTMLソースに文字列を出力するときには、HTMLエンコードを施してサニタイズ(<script>タグなどの攻撃コードの無害化)を施さなければなりません。当然私たちが今仕事で作っているシステムにもサニタイズ用のメソッドがあります。

    public static final String sanitize(final String word) {
        String ret =
word;
        String quot = "\"";
        if (ret != null) {
            ret = replace(
word, "&", "&amp;");
            ret = replace(
word, ">", "&gt;");
            ret = replace(
word, "<", "&lt;");
            ret = replace(
word, "'", "&#39;");
            ret = replace(
word, quot, "&quot;");
        }
        return ret;
    }

これで安心・・・って、アレ?このメソッド何かおかしくない?
まさかとは思ったのですが、念のために & > < " ' の5文字を変換するテストコードを書いてみました。

' しか変換されてませんでした。

そりゃそうだ、置換するたびに置換した結果を破棄してるじゃないですか、上のコード。
正しくはこうですよね。

    public static final String sanitize(final String word) {
        String
ret= word;
        String quot = "\"";
        if (ret != null) {
            ret = replace(
ret, "&", "&amp;");
            ret = replace(ret
, ">", "&gt;");
            ret = replace(
ret, "<", "&lt;");
            ret = replace(
ret, "'", "&#39;");
            ret = replace(
ret, quot, "&quot;");
        }
        return ret;
    }

いつからこのバグが残っていたんだろうとCSVで履歴を調べてみました。
2005年からずっとでした。軽くめまいがします。


○Strutsの1.2.4を仕事で使っているのですが、なんと生まれて初めてStruts自体のバグに遭遇しました。
そのバグというのが、Strutsがマルチパートデータを含むhttpリクエストパラメータを正しくForwardできないというもの。要するに、<input type="form">を使用してファイルアップロード機能を作ろうとすると、その受けたリクエストを別のアクションにフォワードできないんです。いや、出来るけどリクエストパラメータが全部無くなります。

現象:
ActionA(ファイルをアップロードするためにenctype="multipart/form-data"を使用)

バリデーションでエラーになったので、input属性が指定するアクションにフォワードされる

ActionB(DynaFormを使用=HttpパラメータからFormの値をとっている)、なぜか値が取得できない

詳細を調べてみますと、どうやらフォワード時(RequestProcessor.doForward())の処理中で、マルチパートデータを単体リクエストにアンラップしており、その際にパラメータが消失してしまっているみたいなんです。
strutsの公式フォーラムにもバグ情報がありました。
https://issues.apache.org/struts/browse/STR-1264
どうやらバージョン1.3では直っているみたいです。


○昨日、金曜日は飲み会で焼き肉食いに行きましたが、無理して食べ過ぎてノックダウンしてタクシーで送り返されるハメになりました。まだ微妙に胃袋の調子が悪いです。こんなに苦しいのは去年のの正月にノロウィルスでぶっ倒れて以来です。もちろん飲み食いだけでは初めて。
もう今後一切焼き肉は食べないことをここに誓います。
飲み会に誘われても飯は食わないことにします。やっぱり暴飲暴食よりも質素小食が一番ですよ。・・・たぶん。
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
06 2017/07 08
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
ブログ内検索
最新コメント
[11/13 DSLR-A850]
[08/29 逆援助交際]
[08/23 クンニ]
[08/22 熟女]
[08/19 痴漢]
はてなブックマーク
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
バーコード
推奨環境

横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。

忍者ブログ [PR]