[郵便] 宅配ボックスを指定する届出。

Amazon のお急ぎ便や、ヨドバシの当日お届けなど、深夜に欲しい物を注文して次の日に到着するというのは非常に便利である。彼らの苦労には頭がさがる思いだ。
しかし、そんな彼らの苦労を台無しにする可能性が高い、郵便局の存在。

郵便局の配達員は、せっかく配達に来ても、不在だとご丁寧に不在だと持ち帰ってしまう。
一人暮らしの場合、マンション等に設置してある宅配ボックスがあるが、競合他社ではたいていボックスに入れておいてくれて事なきを得るのだが。

個人的には、荷物が確実に届くのは当たり前であって、受け取り側がいかに気持ちよく受け取ることができるかという事がサービスだと思う。

閑話休題。
郵便局で宅配ボックス等の指定をするには、
エリアを担当する郵便局に届出を出さなければならない。


自分が住んでいる地区を担当する郵便局は調べればわかるので、そこに電話をして届出をしたいから依頼書を送ってくれ、というと届けてくれる (これは比較的 早く届けてくれる)。

ちなみにこれは指定場所の届出なので、戸建でも場所を指定することはできると思われる。

[C#, LINQ] List<> のデータをコピー (マージ) する。

var list1 = new List< string > { "あ", "い" };
var list2 = new List< string > { "あ", "い", "う", "え", "お" };

var margeList1 = list1.Concat(list2).ToList();

// { "あ", "い", "あ", "い", "う", "え", "お" } となる。

var margeList2 = list1.Union(list2).ToList();
// { "あ", "い", "う", "え", "お" } となる。
.NET Framework 3.5 以降の LINQ を使用すると、List<> のデータを簡単にマージして新しい LIST<> を作ることができる。
Concat メソッドは、2 つの List<> をそのままマージし、Union メソッド は重複した値を自動的に省いてくれるとても役に立つメソッドだ。

[Google 日本語入力] ダウンロードに失敗しました

Google 日本語入力のダウンロードに失敗するケースがあるようだ。
この場合、解決策は「2, 3 日経ってから再度インストーラーを起動する」という驚愕のアドバイスがあるのだが、実際にしばらく放置してみたら本当にインストールできるようになった。

……。

[PowerShell] Active Directory モジュールを利用する



PowerShell から Active Directory を管理する場合、
まず AD のモジュールを準備しなければならない。

Windows 7 Service Pack 1 (SP1) 用のリモート サーバー管理ツール
http://www.microsoft.com/ja-jp/download/details.aspx?id=7887

  1. [コントロールパネル] - [プログラムのアンインストールまたは変更] - [Windows の機能の有効クアまたは無効化]
  2. リモード サーバー管理ツール → 役割管理ツール → AD DS および AD LDS ツール
  3. 「Windows PowerShell 用 Active Directory モジュール」にチェックオン。
これで Import-Module ActiveDirectory コマンドで、
モジュールを呼び出すことができるようになる。


余談だが、上記操作後は PowerGUI のモジュールにも追加できるようになる。
  1. [ファイル] - [PowerShell ライブラリ]
  2. Active Directory にチェックオン
モジュールのコマンド一覧
http://technet.microsoft.com/ja-jp/library/dd378783%28WS.10%29.aspx

Windows 7 から Windows サーバーへの接続における注意点
http://social.technet.microsoft.com/Forums/ja-JP/powershellja/thread/60256caf-c0bb-44ae-b47e-24647f996a7e

[C#] PowerShell 用のモジュールを参照設定する (System.Management.Automation)

.NET から PowerShell のコマンドを発行するには、System.Management.Automation の dll が必要だが、これは System.Management の参照設定をしてもインポートされない。 PowerShell 1.0 の dll であり、64 bit 環境においては以下にインストールされている。

C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\System.Management.Automation.dll

[PowerShell] C# から発行したコマンドで、グループが削除されない。

PSCommand から PowerShell のコマンドを発行して Office 365 のグループを削除する場合、「Remove-MsolGroup -ObjectId "ObjectId"」や「Remove-DistributionGroup -Identity "Identity"」では削除できなかった。

特にエラーが出ているということもないのでわからなかったのだが、どうやら確認ダイアログを無効化するオプションを付けないと削除できないようだ。
# セキュリティグループの削除
Remove-MsolGroup -ObjectId "ObjectId" -Force
# 配布グループの削除
Remove-DistributionGroup -Identity "Identity" -confirm:$false

[0x8007000D] MP3 のタグ編集で、予期しないエラーのため...が出る


Windows 7 など、エクスプローラーから MP3 の編集を行うときに、こんなエラーが出る場合がある。これはどうやらタグ情報がおかしいらしい。
タグを保存し直すと戻ったりするらしい。
自分は MP3TAG というソフトを使ったら直った。
これはジャケット写真も埋め込めて便利だ。

[C#] 終端の改行コードを削除する

改行コードを追加しながらループする場合、何も考えないと最後の行に対しても改行コードが入る。終端に追加された改行コードを削除する場合は、TrimEnd メソッドを使用する。
var sb = new StringBuilder();
for (int i = 0; i < 10; i++)
{
  sb.Append(i.ToString() + "行");
  sb.Append("\r\n");
}
Debug.WriteLine(sb.ToString().TrimEnd('\r', '\n'));

[C#] Contains における大文字と小文字の扱い


Contains メソッドは比較を行う際に便利なメソッドであるが、これは大文字と小文字を区別する。
LINQ の比較においても大文字と小文字は区別され、気をつけないと比較がうまくいかないケースがある。

手っ取り早いのは、比較対象文字列を揃えて比較する。
以下のように記述する。
var source = new string[3] { "abc", "AAA", "bbb" };
var target = "ABC";

var result1 = from n in source where n.Contains(target) select n;
Debug.WriteLine(result1.Count());
// 結果 : 0

var result2 = from n in source where n.ToUpper().Contains(target.ToUpper()) select n;
Debug.WriteLine(result2.Count());
// 結果 : 1

[Visual Studio] タブインデックスをマウスクリックで設定

Windows フォームのタブインデックスだが、各コントロールのプロパティから入力していくのはしんどい。以下の方法で視覚的にわかりやすく設定することができる。
[表示] - [タブオーダー]
*デザインビューを開いている時にのみ表示される。
各コントロールに数字が表示されるので、順番にマウスでクリックしていく。