IT
【UNIX】変数文字列を扱う時のシングルクォーテーション有無について
正直個人的にあんまり区別つけずに使っていたがなんとなくわかってきたので備忘的にメモ
 
 UNIXで適当な環境変数「var」を用意してそいつを使う場合、
var="aaa"echo $var ←①
echo ‘$var’ ←②
 
 としたとき、①と②は結果が違う。
 
$ aaa ←① $ $var ←②
 
 ってなる。
 つまり②は評価してほしい変数の中身ではなく評価式(っていうの?よくしらんが)がそのまま出る。
 シングルクォーテーションで囲うと、中に変数を書こうが、書かれた文字列をそのまま扱うという動きをするのだ。
 (今さらながら思い知った)
 
【javascript】文字列変数に改行をいれるとイカれる
javascriptの文字列変数にソースコード上でそれとわかるような形で改行いれるとページ全体がなんかおかしなことになる。
 少なくとも、その変数使ってるjavascriptは動かなくなるようだ。
 まあ普通に考えるとそういうもんだろう。
 個人的な感覚でいうと、変数に固定の文字列埋め込むケースではコーディングミス(誤記、というか)以外に考えられらない。
 だから普通発生しないはずである。
 ただ実際に発生して困ったので備忘録として残す。
 
【HTML】input type=fileのC:akepath問題
input type="file"でファイルを選択すると、選択されたファイルが実際に位置しているローカルディスクのフルパスとは違うパス値として自動的にC:\fakepath\(選択したファイル名)に変換されることがある。
 ググってみると昨今のブラウザのセキュリティ仕様で勝手にそういう風に変換されるらしい。
 ただこれはブラウザ毎にも少し異なる動きをするし、ローカルのHTMLを直接ブラウザで開いた場合やサーバ上に存在するHTMLを開いた場合でも異なる。
 実験して分かった範囲をまとめてみる。
 
【Java】Servletでファイルダウンロードさせる基本的な仕組みとファイル名に関するちょっとした実験
Servletでファイルダウンロードさせる実装のメモ
 と、ダウンロードファイル名に関するちょっとした実験の結果
 
 ダウンロードの動きを取るかどうかは、最終的にはブラウザに依存するようだが、
 レスポンスヘッダ「Content-Disposition」に「attachment」をいれてやり、
 かつファイルの種類によって適切なContent-typeを指定することで、
 ダウンロードの動きになるようである。
【HTML】MAXLENGTH指定における文字数オーバー分の漢字変換扱い
INPUTでTYPE=TEXTの場合に設定するMAXLENGTHプロパティによる、
 最後の文字の入力制御のされ方がブラウザによって違うようだ。
 
プログラムと英語
今までいくつかのシステム開発に携わってきて、それらは様々なプログラムで構成されているわけだが、
 ソースコードの主要な部分、つまり変数とかメソッド名とかテーブル名とか、その辺は基本的に半角英数記号で記述されるので、
 まあ、システム都合にも寄るんだろうけど、基本的に「日本語を無理やり英語にした」っていうのがスゴク多い。
 例えば「受注金額」という項目があった場合、
 Javaで定義する変数は「juchu_kingaku」とかだし
 テーブル項目の物理名は「JUCHU_KINGAKU」なわけだ。
 俺みたいな英語が全然できない人間からするとむしろこういうほうがわかりやすいんだけども、
 グローバル化が叫ばれる昨今、本来はこういうのはよくないのかもしれないなと、なんとなくふと思った。
 
【Oracle】NUL(U+0000)の後ろには文字列結合できない
OracleでNUL(UnicodeでいうとU+0000、制御コード)の後ろに文字列結合すると、結合した文字列が消滅するらしい。
 要するにNULの後ろに文字をくっつけることができない。
 そういうもんなのか?
 なんとなく、まあ、気持ちはわからんでもないけどそういうこと勝手にやるなよなあ~って思う。
 俺だけ?
 
【HTML】SUBMITボタンでVALUE未指定だとIEで印刷プレビューすると「クエリ送信」になる
SUBMITにVALUE未指定だと、IEで印刷プレビューすると勝手に「クエリ送信」って文字列が付くらしい。
 ググってみると、昔のバージョンのIEだと、
 SUBMITにVALUEが入ってない場合、ブラウザ表示の段階から「クエリ送信」って表示する仕様だったようだ。
 現代のIEの印刷プレビューにだけそれが残っているのはその名残か?
 
 この現象は、Win7/IE11で再現。
 Google Chrome、FireFoxではおきない。
 要するにIEだけで起きる。
 はっきり言っていい迷惑だ。
 余計な文字を勝手に出すな!と言いたい。
 
【java】FileFilterメモ
File#listFilesでFileオブジェクトの配列を取得するとき、FileFilterを引数に与えると、取得してくるFileオブジェクトを絞り込むことができる。
 ただそのためのFileFilterクラスは自分で自作しないとならない。
 FileFilterはインターフェースなので、実装(implements)した個別クラスを定義し、「accept」メソッドを実装する。