C Sharpens you up

http://qiita.com/yuba に移しつつあります

2013-06-01から1ヶ月間の記事一覧

twitterでASP.NETとかADO.NETとかつぶやいちゃおうぜ

twitterでASP.NETだADO.NETだVB.NETだと、.NET関連の単語をつぶやくと確実にあれに捕まりますよね。t.coの自動短縮URL化。 ねえなんでWCFってバイト数とか文字数の上限ですぐ引っかかるの。http://t.co/ULsYbu7Lの方が全然ましだったじゃん。— ゆば大好き (@…

IEEE1888を20分で理解する

Wikipediaの記事を読んでもよくわからなかった人のために。 「5分で理解する」というタイトルにしようと思ったんですが書いているうちに5分は無理だなと悟りました。20分ください。 IEEE1888とはなんなのか IEEE1888は建物のエネルギー管理機器類がデータを…

Javascriptで一度しか呼ばれない関数

JavaScriptで、一度しか呼ばれない関数を作る - c4se記:さっちゃんですよ☆もっとJavascriptらしく書けないだろうかとアレンジを試みました。 function one(func) { function action() { var result = func(); action = function() { return result; } retur…

JavaでもC#みたいなオブジェクト初期化子書けるんですよ

コンストラクタが特に何もしてくれず、インスタンス作ってから初期化しないといけないタイプのクラスってありますよね。シリアライズのためだったりJavaBeansだったり、あとはふつーのArrayListだから作ってから内容詰め込みます、みたいに。オブジェクト作…

SQLのカラム制約はテーブル制約と等価

SQL

SQLのテーブルにcol_A, col_Bというカラムがあるとしますよ。ここでCHECK(col_A = col_B)という制約を、col_Aにカラム制約として付けたとします。すると UPDATE my_table SET col_A = col_A + 1; なんて操作は阻止されます。当然。では、 UPDATE my_table SE…

整数を可逆スクランブルする

2年前につぶやいた内容の詳しい説明。 32ビット整数をとりあえずスクランブルするすごく簡単な方法に気付いてしまった。なにか奇数をかけると、それにかければ元の数に戻るような奇数が必ずひとつあるから、それを力任せで見つけてしまえばいいんだ。ビット…

パスワード情報に暗号鍵を格納する

考え中。とりとめゼロ。普通ユーザー管理DBにはパスワードのハッシュ値しか格納しないで、この情報はユーザー認証というか、パスワードがあってるかどうかの判定にだけ使う。で、それとは関係なく。ユーザー管理下のデータをすべて暗号化して格納してくれと…

Play!のEbeanモデルをJUnitでテストするとき"It has not been enhanced"エラーを防ぐ

Play!のJava向けO/RマッパーであるEbeanはコンパイルに介入するタイプのフレームワークです。 具体的には、Ebeanモデルがコンパイルされたあとに、getter/setterを勝手に作成して埋め込んでくれます。これが、単にpublicフィールドを書いただけで遅延アクセ…

Play! framework Evolutionsでストアド関数を書きたい

Evolutionsに指定したSQL文は適用のとき、セミコロンで分解されて一文ずつデータベースに送信されます。 ではストアド関数に含まれるセミコロンはどうなるか。 やはりぶった切られてしまいます。当然文法エラー。ではぶった切られないようにするにはどうする…

Play! framework Evolutionsのsqlファイルの優先順位

Play! frameworkではEvolutionsファイルを書くことでデータベースへのスキーマ適用とか更新がWebからワンタッチできるようになります。ありがたいですね。sqlスクリプトファイルがスキーマ変更1件を表していて、【変更を適用するSQL文(Ups)】【変更を取り消…