最新情報

流行をキャッチしつづける、ビジネスパーソン必携フリーソフト Trend Catcher シリーズ は、
グラフィック表現や情報量も向上し、Google Desktop版、Windows デスクトップ ガジェット版ともに、最新の Windows7 に対応しました。

どちらも下記のページからダウンロードしていただけます!

9月 24

例によって iPhone 5 を購入しました。
この投稿では、iPhone 4S から iPhone 5 に機種変更して良かったと思える点を書きたいと思います。

iPhone 5

なお、今回も ソフトバンク オンラインショップ で注文しました。当日に受け取れるかは微妙なところですが、列に並ぶ必要がないのでオススメです。今回は、プレオーダーが始まった当日21時頃に予約、日曜日の午前中に配達という感じです。

以下、ほぼ丸一日使ってみての感想となります。

Continue reading »

8月 02

スキーマレスの Azure Table Storage では、文字列のContainsを使ったQueryはサポートしないようですね。(ただし StartsWith は CompareTo を応用することで使えるらしい…)

Linq to Azure Table では普通に書けるので、ダメもとで下記のコードを試してみたのですが、500 Error が返されるため、ちょっと調べてみました。

var query = from t in this.CreateQuery<Product>(EntitySetName)
            where (t.PartitionKey== ProductTable.PartitionKey) && t.Tags.Contains(tag)
            select t;

return query.ToList();

MSDNを漁ってみると、下記のような投稿が見つかりました。
LINQ SubString Query Using Azure Table Storage…

また下記のBlog記事を見るように提案されています。
Implementing a Simple Word Search Using Azure Table Storage

結局のところ、部分文字列の検索に関しては、自前でインデクス化したテーブルを別途作ってやるのが早道のようですね。確かに理にかなっています。

今回の(僕の)用途では、タグ付けされたアイテムを抽出するだけですから、アイテムの登録・更新時に、検索用テーブルにアイテムを登録してやることで実装したいと思います。

8月 01

英語の記事ですが、ASP.NET MVC で多言語対応するための、素晴らしい記事です。

ASP.NET MVC 2 Localization complete guide

まさに完全ガイドですね。

ASP.NET MVC のローカライゼーション手法については、ローテクな雰囲気を感じますが、いかにも MVC っぽくて良いのかもしれません。

着手しているプロジェクトでは、運営コストの観点から、ASP.NET MVC は REST API の提供と、管理者サイトUIのみで使われる予定なので、今回は、この記事の出番は少ないかも。

7月 08

今回は、ASP.NET MVC 2 が自動生成する View (Webフォーム) にて、各項目のラベル表示を変更する方法について調べてみました。

まず、View を追加するまでの方法については、MSDN の下記の記事が参考になりました。
10 行でズバリ !! ASP.NET MVC におけるデータの取得から画面表示までの流れ (C#)

上記を参考にしつつ、Azure Table ストレージに作ったテーブルに、TableServiceEntity の派生クラスを挿入するコードまでは、簡単に書く事ができました。

でも、このままだと、下記のように、変数名がそのまま表示されちゃうんですよね。

image image
こんなコードが自動生成される。 こんな感じで 変数名 が表示される。

 

解決方法としては… なんかググったら下記のプレゼンテーションがヒットしました。 (^_^;
ASP.NET MVC 2 ~新機能の紹介~
上記は 技術ひろば.net 様が公開して下さっているようです。ありがとうございました。

要するに LabelFor() の処理では 、Windows Form の PropertyGrid と同様、System.ComponentModel 名前空間にある DisplayName 属性の値を表示しているんですね。

using System.ComponentModel;
  :
[DisplayName("画像 (サムネ)")]
public string ImageSmall { get; set; }          // 画像(小)
[DisplayName("画像 (詳細)")]
public string ImageLarge { get; set; }          // 画像(大)

という訳で、表示対象のクラス定義にて、上記のように DisplayName 属性を加えてやったところ、無事に下記のような表示になりました。簡単ですねぇ。

image

通常の用途なら、このあたりで十分かもしれません。めでたし、めでたし。

ただ、多言語対応を考慮すると、下記のように DisplayAttribute の派生クラスを自前で定義するほうが良いかもしれませんね。 -> Localization of DisplayNameAttribute

さて次回は、この調子で多言語対応について調べてみたいと思います。

7月 05

最近、個人的に Windows Azure で動作するサービスを書いてます。

やっぱ Azure で書くなら MVC だよね~、という訳で、これから幾つか備忘録的なポストをしていく予定です。正直、MVC も Windows Azure も実戦は初めてなんですが。

まずは、Azure 向けの開発で参考になった記事をまとめてみます。

業務システムでWindows Azureを使うための42の覚え書き
とても良記事でした。実際にサービスを稼働させる上で考慮すべきポイントが簡潔にまとまっていてすごく参考になりました。 PowerShell の専用コマンドレットを使って Windows Azure のDeployment を制御するという辺りが特に実用的でした。

PowerShell で始める Windows Azure アプリケーション管理
課金体系を考えると、Windows Azure のアプリケーション管理は切実な問題です。(現在の課金方法では、サーバーにアプリを配置しているだけで課金される)
この記事では、PowerShell を使って、開発マシンから適切に Windows Azure を管理する手法が詳細に説明されており、とても参考になりました。

コードで学ぶ Windows Azure アプリケーション開発入門
実際の開発方法については、こちらの連載が参考になりました。下位の概念についても丁寧に解説されているため、理解が深まりました。

Windows Azure ストレージによるアプリケーション エンジンの強化
実際に各種ストレージを実装する際に、とても参考になりました。この記事では Queue と Table について簡潔に解説されています。着手しているプロジェクトでは SQL は使いたくなかったので、この記事だけで用が足りてしまいました。

とりあえず、以上です。

これ意外にも、MSDN を筆頭に、とても実践的な資料が沢山公開されていますね。
書店では、さっぱり関連書籍を見かけませんが、オンライン資料は非常に充実していて驚きました。

そろそろ旬の技術、という事でしょうかね~。

5月 18

iPad メモ帳iPad の日本語入力は、iPhone のフリック入力ほど特殊ではありませんが、覚えておくと便利な機能があります。高速な日本語入力を行うための参考資料として、スクリーンショットを交えて記事にしてみます。

今回のトピックは iPad のキーボード レイアウト設定 です。 下記について、それぞれ解説していきます。

  • iPad では、日本語キーボードのレイアウトを4種類から選択できる。
  • 技術文書または英語を書く機会が多い場合、キーボード レイアウトを QWERTY に変更することを検討してみる。
  • レイアウトの切り替えにより、日本語の変換候補の順序も変更される。 

Continue reading »

4月 23

image

すこし前になりますが、上海問屋の格安モニターアーム を導入してみました。

他の製品と比べて大幅に安いのが気になりましたが、購入してみたら、全く問題ないどころか、素晴らしかったので記事にしてみます。

こんな感じになりましたよ!

 

モニターアームを導入すべき4つのポイント

  • 付属スタンドより、はるかに自由な位置/角度にモニターを配置できます。
  • モニターの高さ/角度を微調整できるので、長時間労働による疲労感を軽減できます。
  • モニター下部の空間を有効に活用できます。
  • 配線がシンプルになり掃除がしやすく、デスク周りを清潔に保つことができます。

それでは、実際に設置した様子を見ながら、順に説明していきます。

Continue reading »

12月 12

従来、ドラッグ&ドロップでListBoxのアイテムの並び順を変えるのは、少々めんどうでしたが、Silverlight3 の対応により、とても簡単に行えるようになったようです。

image

そもそも、WPF/Silverlight の ListBox は、単純な文字列から複雑なコントロール群まで、なんでも格納できるというパワフルなものですが、ここに数行のコードを追加するだけで、ドラッグ&ドロップなんかも簡単に実装できるんですね。

ポイント

  1. 格納したいオブジェクト群を 「ObservableCollection」 というリストに格納します。
    • ObservableCollection<StackPanel> commandList = new ObservableCollection<StackPanel>();
  2. その ObservableCollection を ListBox.ItemSource にセット。
    • this.CommandListBox.ItemsSource = this.commandList;
  3. XAMLで下記の太字部分を追加してやります。

<Grid x:Name="LayoutRoot">
 
<controlsToolkit:ListBoxDragDropTarget msWindows:DragDrop.AllowDrop="True">
      <ListBox x:Name="CommandList">
          <ListBox.ItemsPanel>
              <ItemsPanelTemplate>
                  <StackPanel Orientation="Vertical" />
              </ItemsPanelTemplate>
          </ListBox.ItemsPanel>
      </ListBox>
 
</controlsToolkit:ListBoxDragDropTarget>
</Grid>

ネタ元

http://www.xdevsoftware.com/blog/post/Reorderlist-with-Silverlight-3-Drag-and-Drop-Listbox-.aspx

余談になりますが、上記の XAML では <ListBox.ItemsPanel> として <StackPanel> を定義していますが、この StackPanel の Vertical を Horizontal にするだけで、横方向の ListBox も作れてしまいます。

このあたりの柔軟さが、XAML の魅力ですね。

10月 04

先日、Linkstation mini に接続できなくなり、WEBコンソールで確認したところ「RAID1アレイでエラーが発生しました」というメッセージを出してアクセス不能になってしまいました。

正式にはメーカーに送り返すしか方法がないのですが、ネットを検索してみると、保証外ながら、自分でHDDを交換するなどして対応されている方々がおられ、その方法も公開されていました。

筐体を極限まで小型化したとはいえ、RAIDなのにメーカー修理って…と、みんな思うんですね。

Continue reading »

8月 03

約一年ぶりになりますが、TrendCatcher for Google Desktop を更新しました。
ダウンロードは下のボタンから、または Google Desktop のギャラリーウィンドウからもお選びいただけます。

Screen Shot

なお、今回の主な変更点は下記のとおりです。

今回の更新により、アイテムをクリックした際に表示される、詳細ウィンドウが正しく動作しないなどの不具合が解消されています。

また、Amazon Product Advertisement API の規約変更により、8月15日以降、本バージョン以前のガジェットは動作しなくなりますので、どうかご注意ください。

それでは、今後とも、Trend Catcher をよろしくお願いいたします。

Get Adobe Flash player