.NET

PowerShellの実行環境について

今回はPowerShellの実行環境について、私が普段使っている環境を紹介します。 ここでいう環境とはPowerShellの起動時に読み込まれるプロファイルファイルの設定についてです。プロファイルファイルとはユーザディレクトリ配下の「WindowsPowerShell\profile.…

PowerShell from Japan!!に参加することになりました

HIRO's.NETのHIROさんに誘われて「PowerShell from Japan!!」というサイトに参加することになりました。 http://powershell.hiros-dot.net/default.aspx PowerShellを専門に扱うサイトで、PowerShellの入門記事やTipsを紹介していこうということらしいです。…

PowerShell流のXML生成術

多くの言語ではXMLの生成に通常DOM(Document Object Model)を使いますが、PowerShellではDOMを使うよりも可読性や使い勝手の良さでより優れた方法があります。 基本 その方法は以下のように「ヒア文字列」と「文字列への変数展開」を利用した簡易的なテン…

Unity Application Block 1.1 Released

Enterprise Library 4.0がリリースされて、これに搭載されているDIコンテナのObjectBuilderが「Unity Application Block」と名前を改められてリリースされた。 Unity Application Block 1.1 - May 2008 | Microsoft Docs Enterprise Library自体は(いろんな…

Yahoo路線検索スクリプト

しばらくプログラムネタを書いていなかったので、無理矢理なんか作ってみた。よく使うWebサービスをPowerShellから使えるようにすると便利なので、Yahoo路線検索をPowerShellから呼び出せるようにしてみた。 Get-Transit.ps1 param([string]$from="津", [str…

ウィンドウのないActiveXコントロールはVistaではサポートされません?

そろそろ会社でもVistaの導入が始まるという事で、過去に作ったシステムの動作検証を行っていたら「ウィンドウのないActiveXコントロールはサポートされません」というエラーメッセージが表示された。問題のシステムは.NET2.0、Windows XP環境で動作するよう…

.NETとSilverlightで(デフォルトの)日付の書式が違う件

.NETとSilverlightでは日付の書式が違うことに気が付いた。例えば以下のようなコードの場合、 DateTime.Now.ToString(); .NET 2008/04/18 10:00:00 Silverlight 平成 20/4/8 10:00:00 というように結果が異なる。これは.NETとSilverlightでは日本語Cultureの…

最近投稿したはてなブックマークの一覧を取得するスクリプト

さっき作ったWSSE認証用のスクリプトを使って、はてなブックマークから最近投稿したブクマ一覧を取得するスクリプトを作った。 Get-RecentBookmark.ps1 param([string]$userName, [string]$password) if($userName.Length -eq 0 -or $password.Length -eq 0 …

はてなブックマークを投稿するスクリプト

お次は、はてなブックマークにブックマークを投稿するスクリプト。 New-Bookmark.ps1 param([string]$userName, [string]$password, [string]$url, [string]$summary) if($userName.Length -eq 0 -or $password.Length -eq 0 -or $url.Length -eq 0 -or $arg…

WSSE認証用のヘッダ文字列を生成するスクリプト

はてなブックマークのAtomAPIを利用するためにはWSSE認証を使用するらしいので、PowerShellからWSSE認証を行うためのスクリプトを作った。 Get-WsseHeader.ps1 param([string]$userName, [string]$password) if($userName.Length -eq 0 -or $password.Length…

はてなブックマークを削除、編集、取得するスクリプト

はてなブックマークAPIを使った残りの機能三連発。 ブックマークの削除 指定したIDのブックマークを削除する。 Remove-Bookmark.ps1 param([string]$userName, [string]$password, [string]$id) if($userName.Length -eq 0 -or $password.Length -eq 0 -or $…

SilverlightでjQuery

さっきのやつでサーバーサイドからクライアントサイドのJavaScriptを呼び出せる事がわかったので、さっそくjQueryのラッパークラスを作ってみた。 jQuery.cs class jQuery { private static readonly HtmlWindow window = HtmlPage.Window; private ScriptOb…

Silverlight 2でTodoアプリを作ってみる その3

前回でTodoアイテムの追加画面を表示するところまでを作ったので、今回は追加画面の実際の処理を作る。まずサーバーサイドの処理から実装する。「AddItem.aspx」というASP.NETページを新規作成して、コードビハインドファイルに以下の処理を追加する。 AddIt…

Silverlight 2でTodoアプリを作ってみる その2

前回でTodoアイテムの一覧をListBoxに表示した。 といってもタイトルが表示されているだけなので今回はまず、完了したかどうかを示すチェックボックスを表示してみる。 チェックボックスを表示するためにはListBoxに表示するアイテムの表示方法を変える必要…

Silverlight 2でTodoアプリを作ってみる その1

VS2008もAmazonから届いて、やっとこさSilverlight 2の開発環境が整ったのでなんか作ってみることにした。「Silverlight Application」プロジェクトでプロジェクトを新規作成する。名前は「SLTodo」にする。 作成した直後のプロジェクト構成 画面的には、Tod…

Silverlight 2 Beta 1を入れてみた

Silverlight2のBeta1とSDKがリリースされたので、とりあえず入れてみた。 http://www.microsoft.com/silverlight/resources/installationFiles.aspx?v=2.0 http://www.microsoft.com/downloads/details.aspx?familyid=4E03409A-77F3-413F-B108-1243C243C4FE&…

カスタムプロバイダを単体テストするには?

PowerShellでカスタムプロバイダを作っていて、ある程度複雑になってくると単体テストをしたくなってくる。でも、カスタムプロバイダで実装するメソッドはそのほとんどがprotectedなため、自前でカスタムプロバイダをインスタンス化してテストする事はできな…

PowerShellのカスタムプロバイダをCodeReposにコミットした

以前作ったPowerShellのカスタムプロバイダをCodeReposにコミットして、プロジェクトページも作った。 http://coderepos.org/share/wiki/PSCutomProviders 使い慣れたTracだけあって作業が進む進むw調子こいて色々書いてしまった。CodeReposの自由さが気に…

CQLをいじる

とりあえず標準で用意されているクエリをいじっていく。 Source Code Quality constraints 実際のコード(テキスト)に対するチェック Methods too big このクエリはコードが30行を超えたものをリストアップするもの。 WARN IF Count > 0 IN SELECT TOP 10 M…

NDepend First Impression

件のNDependだが、とりあえず使ってみた感想を書いてみる。インストール自体は公式サイトからダウンロードしたバイナリを適当な場所に配置するだけ。VisualStudioとReflector.NETへのアドイン追加は手動でやる必要がある。コードを解析を実行するには、簡単…

NDependのライセンスをもらいました

id:naoki0311さんの紹介で、.NET用コード解析ツールのNDependのProfessionalライセンスを作者であるPatrickさんから、ブログでツールを紹介するという条件で無料で頂いた。NDepend自体は前から名前だけは知っていたけど、有償ということでなかなか手が出せな…

PowerShellにWebDAVをマウントする

最近PowerShellばっかりやっている気がするけど、今回はPowerShellにWebDAVサポートを追加した。これを使うとWebDAVサーバー上のリソースをローカルのリソースのように扱える。ソースは以下から OneDrive マウントの仕方 PS > New-PSDrive Hoge Web http://l…

PowerShellで2chビューワ もっとイカスの作った

これでPowerShellのスクリプトを組み合わせて2chビューワを作ったけど、こんなことができるとわかって、もっとイカス2chビューワを思いついた。ソースはあとにして、ソースは以下から OneDrive どんな風に2chをビューするかというと、まず「2ch」ドライブにc…

PowerShellでTodo管理 その3

全ソース TodoProvider.cs using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Management.Automation; using System.Management.Automation.Provider; using System.Collections.ObjectModel; using Syst…

PowerShellでTodo管理 その2

前回で、Todoドライブへのcdが失敗したので、とりあえずcdができるようにする。といっても、NavigationCmdletProviderにはオーバーライドできるメソッドが山程あるので、どれをどうすればいいのかわからない。仕方が無いので、手当たり次第にオーバーライド…

PowerShellでTodo管理 その1

なんとなくTodoアプリを作りたくなったので、PoweShellで作ってみる。最初はスクリプトで作ろうかと思ったけど、無理がありそうだったのでカスタムProviderでやることにした。PowerShellの特徴として、種類の違うデータに対して同一のコマンドで操作を行える…

PowerShellで2chビューワ

http://engineers-be-ambitious.blogspot.com/2007/10/2ch.htmlなんていうのが紹介されていたので、さっそくPowerShellで2chビューワを作ってみた。板一覧を取得するスクリプト Get-BoardList.ps1 param([string]$boardCategory="*", [string]$boardName="*"…

Google Chart API を呼び出すスクリプト

既に誰かがやっているだろうけど、Google Chart API をPowerShellから呼び出すスクリプトを作ってみた。 Show-Chart.ps1 param([object[]]$data, [string]$chartType="lc", [int]$width=300, [int]$height=300) if($data -eq $nll -or $args[0] -eq "-?") { …

カロリーAPIを呼び出すスクリプト

カロリーAPIとかいうのが紹介されていたので、さっそくPowerShellから使えるようにした。 http://soogle.ddo.jp/calapi/ Get-Carolie.ps1 param([string]$name) if($name.Length -eq 0) { exit 1 } [void](Import-Assembly System.Web) $xml = New-Object xm…

RSSを生成する

ちょっとRSSを生成したくて仕様を調べていたんだけど、バージョンが色々あってどれを使ったらいいのかさっぱりわからない。仕方がないので、はてなが配信しているRSSをテンプレートにすることにした。最初はDOMでやろうかと思ったけど、面倒くさかったのでテ…