2013-01-01から1年間の記事一覧

【C#】TaskのDispose

結構色々な資料を読んだつもりだったんですが、TaskはDisposeメソッドを持っていると言うことを昨日初めて知って、結構驚きました。 世の中に出回っている(MSDNを含む)資料でTaskをusingに入れているものを見たことがなかったので、IDisposableも実装して…

【SSIS】SSISの派生列で数値判定

使うデータはこんな感じで。CSVで。 hoge,fuga,piyo 2,2,3 c,3,4 1,3,5 派生列の式 ちょっとアクロバティックですが、こんな感じのexpressionを書いてあげます。派生列名は「isNumeric」とでもしてあげますか。 (DT_I4)hoge == (DT_I4)hoge 当然このままだと…

Android Support Libraryセットアップ方法の意訳

サポートライブラリのセットアップ サポートライブラリを開発プロジェクトに適用する方法は使用する機能とAndroidプラットフォームのバージョンに関係します。 このドキュメントガイドではサポートライブラリをダウンロードする方法、及び開発環境にライブラ…

【Android】Android 3.0〜4.0ぐらいに追加されたAPIまとめ(4.x編)

4.0.xで追加された諸要素 4.0.xでAPIが追加されたのは4.0.0及び4.0.3のみみたいです。 端末内の個人情報やカレンダーに登録されている情報なんかを引っ張ってこれるようになったみたいですが、特に興味がないので割愛。 かなり色んな要素が追加されてはいる…

【C#】DateDiff

ただの親近感のお話です。 public class DateDiff { public int Year { get; private set; } public int Month { get; private set; } public int Week { get; private set; } public int Day { get; private set; } public int Hour { get; private set; } …

【Android】Android 3.0〜4.0ぐらいに追加されたAPIまとめ(3.x編)

結局自分でSupport Libraryを使ったりなんだりでもうちょっと詳しくなったので、色々追記しました。 [2014/07/02追記ここまで] 前書き 前に使ってた端末がFroyoだったこと、Androidアプリの開発を始めた頃はGingerbread全盛期だったこともあり、AndroidのAPI…

【Java】JavaでLINQっぽいことをやる

この前言った通り、結局のところ私が欲しいのは高階関数の機能であり、それ以上のことは望んでいなかったんですが、こんなものを見つけました。 Bringing Closures to Java 5, 6 and 7 恐ろしくシンプルな機構です。callと言うメソッドを持ったインターフェ…

【Java】lambdajを使ってLINQっぽいことをやる

流石に平日は(時間的な問題と環境的な問題で)じっくり腰を据えて試すことが出来ないので、「とりあえずコンパイルは通るけど実行したらどうなるかわからない」ってレベルでしか実験できてません。以下のサンプルコードは実行しても意図しない結果になるか…

【C#】Microsoft.SqlServer.Dts.Runtimeを使ってパラメータマッピングと結果セットを持つSQL実行タスクを作成する

おさらい タスクを作成する場合はPackage.Executables.Addを呼び出すことで可能となります。具体的に何のタスクを作成するかは「プログラムによるタスクの追加」という資料に記載されているSTOCKモニカーで指定することができます。 返ってくるExecutableク…

【C#】enumで宣言されているメンバーを文字列から特定し取得する

つらつら語っても仕方ないのでコードを出しましょう。 public static TEnum GetEnum<TEnum>(string target) { if (string.IsNullOrEmpty(target)) throw new ArgumentException("Target is null."); var type = typeof(TEnum); if (!type.IsEnum) throw new NotSupp</tenum>…

【C#】Microsoft.SqlServer.Dts.Runtimeを使ってDTSXを生成する

コードサンプル 下準備としてMicrosoft.SqlServer.ManagedDTSを参照設定に追加しないといけないんですが、.NETタブからは見つけられなかったので、C:\Windows\assembly\GAC_MSIL\配下を探してみてください。 using Microsoft.SqlServer.Dts.Runtime; namespa…

【VB】VB 6.0の例外処理

もう2013年も残り3ヶ月を切ったと言うのに未だにVBA(VB6.0)なんて過去の遺産を保守しなきゃいけない現状そのものがもうイライラするんだけど、動いちゃってるものは仕方ないのでやるしかない。 そんなわけでどこかの誰かが片手間で作ったようなコードを読…

【VBA】VBAでjsonのパーサを作ってみよう

JsonObjectの方でItemプロパティを使うようにしました。 前書き なんとかVBAでjsonをパースすることが出来るようになったのはいいけれど、なんでjsonごときにここまで苦戦せにゃならんのだと思うのは正しいし、汎用的なパーサを作ってしまうのがいいのでは?…

【VBA】VBAでjsonをパースする

前書き せっかくVBAでHTTP通信が出来るんだから未だに流行のjsonでもパースしてみましょう。 とりあえず一つだけ言えることは、やめとけってことです。jsonを扱うなら素直に別の言語を使うか別のデータ形式を使った方が絶対にいいです。本当に死ぬほど面倒で…

【VBA】Excel VBAでHTTP通信

ぐぐればいっぱい出てくるけど、断片的にしか見つからないのでまとめる。 MSXML2.XMLHTTPを作成する VBAからHTTP通信をしたい場合はCreateObject(“MSXML2.XMLHTTP”)でIXMLHTTPRequestオブジェクトを作るのが一番簡単だと思う。XMLHttpRequestはjavascriptで…

【SSIS】SSIS覚書-スクリプト関連(3)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 意外と知られていない…

【C#】OLE DB接続を使った時のエラー特定方法

SQLを動的に生成してOLE DB接続でSELECTを発行するものを作っていたんだけど、そのSQL実行時にある特定のエラーが出た時は別の方法で再試行したい、という案件。 とりあえずエラーが起きた時に返ってくるのはOleDbExceptionみたいなので、catchしてみよう。 …

【C#】Tuple.Equalsに関するメモ

以下のコードであれば、trueになる。 var foo = Tuple.Create("hoge", "piyo"); var bar = Tuple.Create("hoge", "piyo"); if (foo.Equals(bar)) { Console.WriteLine("true"); } else { Console.WriteLine("false"); } 内部的にEqualsが呼ばれていれば何で…

Excelとワイルドカード/正規表現検索

じゃー自分で作ればいいじゃん、って言うか、私は作ったけど、一応Excelの検索にもワイルドカードぐらいは実装されている。 ?で任意の一文字、*で任意のn文字、~でエスケープ。 ちょっとした検索ぐらいならこれで事足りるし、FIND関数やIF関数でも(当然COUN…

【C#】Windowsのログインユーザを偽装する

SQL Serverからデータをとってきたいんだけど、ある特定のユーザでWindows認証によるログインを済ませないと目的のデータが引っ張ってこれない。SQL認証であれば接続文字列にちょちょっと加えればそれで済むんだけど、Windows認証だとそうもいかない。 まぁ…

【C#】HttpClientのPOSTメソッドとGETメソッドのパラメータをお手軽に追加する

private static FormUrlEncodedContent CreatePostContent(params Expression<Func<Object, Object>>[] exprs) { var contents = new List<KeyValuePair<string, string>>(); foreach (var expr in exprs) { var obj = expr.Compile().Invoke(null); if (obj == null) continue; if (obj is Byte[]) { contents.</keyvaluepair<string,></func<object,>…

Excel-DNAで遊ぼう(2)

誰かが新たにデファクトスタンダードになるような帳票ソフトを開発してくれればそれで済むんですが、仕方ないのでそう言ったものが出てくるまでなんとかExcelでやり過ごしていくしかないのです。 と言うわけで、Excel-DNAなる面白いおもちゃがあるのでExcel…

Excel-DNAで遊ぼう(1)

じゃあVisual StudioでExcelのアドイン作ればいいんじゃね?と言うことで、Excel-DNAで遊びましょう。 どんなことが出来るとか、どうやって導入するとか、どんなメリットがあるかとか、そう言うのはもう先人が書いているので適当に読んでください。日本語リ…

【C#】C#で和暦変換

極々稀に西暦→和暦の変換をしなきゃいけないことがあるんだけど、割と面倒だってことだけは知っているのでちょっとまとめておく。 Utilなクラスを作れば十分だと思うが、ありとあらゆるところで出てくる場合は拡張メソッドでもいいかもしれない。 とりあえず…

【SSIS】SSIS覚書-スクリプト関連(2)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 前回はスクリプトタス…

【SSIS】SSIS覚書-スクリプト関連(1)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き なんだかSSISのスクリ…

【SSIS】SSIS覚書-接続マネージャー関連

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き SSISは日本語のノウハ…

【C#】IEnumerable<dynamic>の作り方

IEnumerable<dynamic>を継承するクラスを作成しようとするとビルド時に動的なインターフェイス ‘System.Collections.Generic.IEnumerable<dynamic>’ を実装できません と表示される。 dynamicで受け取るオブジェクトがGetEnumeratorを実装していれば普通にforeachでいいんだけ</dynamic></dynamic>…

【サクラエディタ】サクラエディタで選択中のHTMLをエスケープするマクロ

{ if(Editor.IsTextSelected == 1){ var buf = GetSelectedString; buf = buf.replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/\"/g, "&quot;") .replace(/'/g, "&apos;"); Editor.InsText(buf); } })(); アップロードする度ジェネリクスが消滅する…

【C#】Team Foundation Server SDKの覚書

ドキュメントを読んでもちんぷんかんぷんだったので試行錯誤したあれをメモしておきます。 TFSへの接続 var nc = new NetworkCredential(userName, password); //ここのUriは"http://[TFSのサーバ名]:[ポート番号]/[ディレクトリ]"を指定する var configurat…