2017年08月くりーむわーかープログラムとか。・試しててハマった事など。誰かのお役に立てば幸いかと。その他、いろいろエトセトラ。バイト数で切り出しちょっとSQLServerのクエリで文字列をバイト数で切り出ししたくなった。SQLServerにはバイト数で切り出す関数は無いらしい。まー別に使いどころはあんまないしの。SQLServerでやる場合は下の感じ。reverse(@test)))全角半角入ってもちゃんといく。全角を中途半端に切ると1バイト削られる。@test)--⇒"あ1"文字列として扱いたい場合は、この仕様は割とありがたい。使い方によっては気を付けないとダメそーかな。MySQL使うタイトル通り。ついでにEFから呼べるようにもする。Nugetで↓をインストール。したら、まず、SQL直接書くやつ。↑のインストールとは別に、EFを入れないとダメ。最初はWeb.Config。まーこれでやる必要はないけど何となく。/></connectionStrings>テーブル用のPOCO。}}とゆーことで、普通に使えますねって当たり前か。RedmineとかのDBをちょっと他から触りたくなっただけです。Rubyでプラグインとか作るのめんどー。MVCでWebApi作ってたんですが、なんだか戻りがXMLになってしまう。Chromeで取るとデフォでXMLになるっぽい?デフォでJsonにしたい。stackoverflowに同じ質問あった。回答は色々あるけど、何となく今は↓が一番良さげ?デフォを変えるなら。}}WebApiConfigのRegisterの中で↑を追記。あと、ちょっと違うけど、URLの指定で最後に「~~.json」とか「~~.xml」って指定させて、フォーマットを変える方法。RedmineのAPIはこれ形式すな。}}ただ、最初のデフォルト強制する奴つけてると効かなくナリ。あと、↓の感じでURLは最後の「/」付けないと効かなかったりする。Routeの設定ちゃんとやればいけるっぽいの。/api/controller/action.json/ついでに、Routeの設定ってみんなどうしてるんでしょ。デフォのままだと、Controllerのみだから、GetとかPostしか作れないよね?Controller増やせばいいんだけど、ファイルいっぱいできるからあまし好きじゃない。action入れてやってたりするんですが、これってありなのかしら。WebApiにレスポンスヘッダつける以前、レスポンスヘッダ付けるやつを書いた。あっちはControllerを継承した普通のページ用のコントローラでの話。WebApiでやる場合はちょっと変えないと無理。}}Jsonで戻したい場合は、オブジェクトで戻すと思うんだけど、↑の感じで書いてあげるとオブジェクトをJsonにして戻してくれる。最近、DBの照合順序を変更する必要があった。SQLServer2012。一部のテーブルのみとか、部分的に照合順序を変える事は正直あまり考えられないので、インスタンス丸ごと変える。見てるとだいたい↓の感じで書いてある。句を使用して変更できます。このステートメントを実行しても、既存のユーザー定義テーブルの列の照合順序は変わりません。句で変更することができます。データベースを再構築する場合は、元の場所からデータベースを削除して再作成する必要があります。データベースが作成されます。これらのデータベースに対するユーザーの変更はすべて失われます。データベースの既定のデータベース設定に対する変更が対象になります。⇒TechNetユーザーDBは変えれなくはないけど、DBの照合順序変えても既存は変更されない。あと、システムデータベース(tempとか)はユーザDBとか存在してると変えられない。それ何て再インストール?正直、ユーザDBのインスタンス変えても、一時テーブルとか使うとtempテーブルにデータが出来るから、そっちと照合順序違くなって、Joinとか落ちるので、全DB変更する以外の事はあまし考えられない。ググると色々出てくるんだけど、ぶっちゃけインスタンス再インストール(or別で作る)以外に無難な方法がありませんね。あと、見てるとDBバックアップして変更後に復元するとか書いてあるサイトもあるけど、それやると、照合順序復元されてまるで意味なし。ストアドとかの戻りとかはDBの照合順序変えれば適用されるらしいけど、テーブルの定義は変わらないようす。ついでにDBの照合順序は新しく作成されるテーブルに適用されるものみたいなので、既存は何も変わらない。DBの照合順序変えてもsp_helpでテーブル見れば定義変わってないのが確認できる。ゆーことで、以下の感じで全部作り直した。元DB復元したものかリンクサーバで元データを新しい方に入れ込むめんどくさし。これしか綺麗にいく方法が思いつかん。Japanese_XJIS_100_CI_AS_SC見かけ上は上でも上手くいってるんだけど、本当にうまくいってるのか自信がありません。やって確認すればいいんだろうか。ちなみに変更するのはサロゲートペア文字への対応用です。プログラム的な話はあれですが、SQLでいくと普通の照合順序使ってると、len()とかおかしくなる。サロゲの文字の場合はlen()が2でかえってくるので。rightとかsubstringとか全部おかしくなる。ゆえに照合順序を変えて、サロゲでもlen()で1って帰ってきてくれるようにしないと色々あれなのです。照合順序的には「japanese*****SC」みたいに「SC」つく照合順序が補助文字があーだこーだでサロゲ文字入ってきても上手くいく照合順序の様子。あー、いちを個別のクエリ上でcollate句で照合順序指定すればテーブルとかDBの照合順序が違くても上手くいく。んな事をやり続ける自信ありませんヨネ。ver2以前、書いたやつのちょっと補足。rel="stylesheet"/>↑みたいな、ブラウザキャッシュをやめさせるクエリ文字列をファイル更新された自動でつけるやつ。直すのは「RegisterBundles()」してるとこ。デフォだとBundleConfigっていうクラス名かな。FileHashVersionBundleTransform());bundles.Add(addBundle);「FileHashVersionBundleTransform」の中身は元記事参照。したら、cshtml側で↓の感じで使いたいやつを呼ぶ。{@Scripts.Render("~/lib/hoge")}結果は↓の感じ。正規表現のパフォーマンス最近、正規表現でちょろちょろ判定をしてたんだけど、書き方によって相当パフォーマンスに影響あるんですね。ホントにかなり変わる。@"(パンダ|ライオン|デザイン)(。|\d|\s)";みたいな正規表現はクソ重い。何となく、「(a|b|c)(x|y|z)」みたいな組合せがすごい増えるとやれる感じがする。