サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
レイングッズ
normalian.hatenablog.com
2011/09/29 に jQuery Mobile 1.0 RC1 がリリースされ、正式リリースが間近に迫った jQuery Mobile を利用している方も多いだろう。今回は jQuery Mobile 利用時のちょっとした TIPS を紹介させて頂く。 ファイルアップロードに失敗する jQuery Mobile を利用した Web アプリケーションで、以下の様な multipart/form リクエスト(ファイルアップロード)を行う場合に問題が発生する。まず、以下のサンプルコードを参照して欲しい。 <h3>画像のアップロード</h3> <form action="/imgpost" method="POST" enctype='multipart/form-data'> <dl> <dt>コメント: </dt> <dd><input type="text" name="comment
Windows版 Node.js である node.exe がリリースされたことは先日の記事 id:waritohutsu:20110801:1312224615 にて記述し、同記事にて Windows Azure Platform で動作させるまでの手順を紹介した。今回は node.exe でライブラリを読み込む TIPS について紹介する。 Node.js のライブラリとは? Node.js はデータベース接続やファイル操作、ネットワーク接続が可能だが、同機能は個別にライブラリを読み込む必要がある。ライブラリは当然JavaScriptで記述されており、以下の書式で読み込むことが可能だ。 var http = require('http'); var sys = require('sys'); var net = require('net'); var fs = require('fs'
最近はやりの Node.js 、私のブログの読者各位にも試している方はいるだろうか。 Node.js とは、「サーバサイド JavaScript」の実装の一つだ。画面側(HTML)のロジックとしてのJavaScriptでなく、サーバ側のロジックとしてJavaScriptを記述することが可能である。 Node.js の基礎を最初に学びたい方は、別途以下の記事を参照して頂きたい。 第1回 サーバサイドJavaScriptの本命「Node.js」の基礎知識 さらに直近、ついに Node.js の Windows 版のバイナリである 「node.exe」 がリリースされた*1。今回は、こちらの node.exe を利用してWindows Azure 上で Node.js を動作させるまでを紹介する。 node.exe 単体で動作させる Windows Azure 上でなく、 Node.js 単体で
フィルタって? ASP.NET MVCでは、「System.Web.Mvc.Controllerクラスを継承した自作コントローラークラス」がロジックの中核を担います。以下の例はデフォルト生成されたコントロールクラスです。 public class HomeController : Controller { public ActionResult Index(string comment) { ViewData["Message"] = "Hello World的な何か"; return View(); } (中略) } この例では、単純に"<ドメイン名>/Home/"にアクセスした場合にViewDataにデータをつめて返すだけの処理を実装しています。このアクション実行前後に汎用的な処理を行いたい場合、ASP.NET MVCの機能であるフィルターを実行する事で実現する事が可能です。Java出
前回のエントリである「 id:waritohutsu:20110717:1310921162 Cerebrata 社の Azure Management Cmdlets を利用してみる 」にて、Cerebrata社製のCmdletツールについて紹介した。「便利な機能がたくさんある」と言ったものの、「どんなコマンドがあるか分からない」という方も多いのではないだろうか。そんな方に紹介したいのが、今回扱う Windows PowerShell Cmdlet Help Viewer だ。 同ツールを利用することで、以下を知ることが可能だ。 特定アセンブリのコマンド一覧 コマンドの概要 コマンドの実行方法 コマンドの指定可能なオプション一覧、必須オプション Cerebrata.AzureUtilities.AzureManagementCmdlets.dllの概要 Windows PowerShel
皆様、Windows Azure ログ機能を活用しているだろうか。ログ機能が存在しているのは知っているが、利用していない人が多いのではないだろうか。私主観として、Windows Azureのログが活用されない理由は以下だと考えている。 Windows Azure SDKがCTP版からv1.0 Novemberになった際、ログ機能が大幅に変更されて良く分からなくなったため デフォルトテンプレートの設定ではログが出力されないため ログが出力される場所はWindows Azureストレージ・サービス(以下、単にストレージ・サービス)であり、専用のビュアーが少ないのでログ機能を利用するメリットが少ないため Windows Azure ログ機能の利点は分かりにくいかも知れないが、Windows Azureで動的スケールを実現する場合、アプリケーションの診断をする場合、アプリケーションの動作証跡をとる
ご存じの方も多いと思うが、Windows Azure SDK 1.3からAzureインスタンスに対するリモートデスクトップが可能となった。利用方法については「MSDN Windows Azure SDK 1.3 評価キャンペーン > 新機能体験手順書 (Word 形式、3.68 MB)」を参考にして頂きたいが、当該機能を利用することでWindows Azure コンピュート・サービスの内部動作を詳細に把握することが出来る。 この観点から、エバンジェリストの佐藤 直樹氏は自身のブログで「Naoki Sato's Blog > SDK 1.3 Azure Drive のスクリーンショット」を記述している。今回はこちらの記事をベースに、もう一歩踏み込んだ内容について紹介する。 リモートデスクトップ to Azureインスタンスの使い心地は? 既に試されれている方が何人もいることだと思うが、振り返
今回はWindows Azure AppFabricが提供する機能の一つであるCaching機能について紹介しようと思う。CTP版の機能は色々と利用可能だが、私見では「VM Role」「Windows Azure Connect」に続いて、Windows Azure Platform上でアプリケーションを作成する際のアーキテクチャに大きな影響を与えるであろう重要な機能である。是非一緒に学習して頂きたい。 また、概要が理解しやすいようにまとめたLT資料を id:waritohutsu:20110123:1295764343 に公開した。合わせてご参照頂きたい。 なぜAppFabric Caching機能が美味しいのか? Windows Azure AppFabric Caching機能を見たとしても「別にキャッシュしてくれる程度だとなぁ…、Table Storage使う&インスタンス数増やし
以前、ASP.NET MVC3から導入されたJsonValueProviderFactoryの利用方法を紹介した id:waritohutsu:20100926:1285487020 。しかし、同記事で利用したASP.NET MVC3はPreview版であり、最新のRC2とは取り扱い方法が異なる*1。今回はASP.NET MVC3 RC2でJsonValueProviderFactoryを利用する方法を紹介する。 概略 今回は以下のアプリケーションを利用してJsonValueProviderFactoryについて紹介する。 画面側からGETリクエスト/POSTリクエストを非同期に飛ばし、Controller側では受け取ったリクエストデータの内容を標準出力に表示するだけの簡単なアプリケーションだ。SkyDrive上にMvc3RC2App.zipを公開したので、是非実際に動作させて頂きたい。
後でもうちょっと整形しよう・・・ privateメソッドにアクセスしたい! 単体テスト実行時等、privateメソッド、privateメンバにアクセスしたい事が多々あります。通常、一つのクラスに5つくらいメソッドがあったら、共通化処理のprivateメソッド or 状態保存用のprivateメンバが一個か二個は用意されているでしょう。 このprivateなメンバ・メソッドは割と単体テストの肝になると思いますが、もちろん単純にnewした程度ではこいつらにアクセスできません。今回はVisual Studio 2005以前、Visual Studio 2008 以降でオススメの方法をそれぞれ実行したいと思います。 今回のテスト用クラスのコード class DarkSide { private int state = 10; private int SumWithState( int num )
Silverlightで利用できるRIA Services、一度触ってみると便利さに驚くことだと思う。先日、RIA Services v1.0 SP1 BetaとToolkit October 2010がリリースされた。これらをインストールすることで、RIA ServicesでWindows Azureストレージ・サービスのテーブルストレージを利用することが可能だ。 そこで今回は、RIA Servicesでテーブル・ストレージを利用するまでの手順を紹介したい。作成するサンプルの起動イメージは以下となるので、参考にして頂きたい。 ※RIA Servicesをまだ利用していない方は、以下のサイトで学習することをオススメする。 どっとねっとふぁんBlog > WCF RIA Services (RSS) 前提環境 今回の前提環境は以下となっている。 Visual Stuido 2010(Expr
ASP.NET MVCでFilterを使えること自体は皆さん御存知だと思いますし、Usa*Usaさんあたりを見てもらえればよいと思います。が、Exception自体については余り語られていません。Exception系の処理がどう走っているかを軽くまとめて見ます。 まずはまとめから 必要な物として Controller に [HandleError]属性を追加 → 無い場合は、Exceptionの発生でアプリケーションが終了する。 web.config に を追記 → 無い場合は、そもそもOnExceptionメソッドが動かない 実行順番 コントローラ内部のアクションを実行 コントローラクラスのOnException()を実行 フィルターのOnException()を実行 下準備 web.config の設定 そもそもの所、web.configで設定してあげないとエラーハンドリングも何もあっ
Windows Azureで開発をする人間が必ず一度は起動するDevelopment FabricとDevelopment Storageだが、実はこいつ等には罠がいくつも存在する。その中でも特に重要な問題について簡単に紹介する。 Development Storageでテーブル列にマルチバイト文字をインサートしようとすると、InvalidOperationExceptionが発生する 同問題はMicrosoft Connectに登録されている。 つまり、Develoment Storageでは、テーブル・ストレージの列に「割と普通は普通」や「砂金信一郎はイケメン系」といった文字列をそのまま格納することは出来ない。このため、BASE64エンコードやURLエンコードを用いて同問題に対応する事が多い。 試しに本番環境でマルチバイトデータを格納し、Visual Studio 2010のストレージ
今更感漂うが、テーブル・ストレージの「Continuation token」について述べたいと思う。 「Continuation token」とは テーブル・ストレージを取り扱うために必要なデータであり、以下の3種類が存在する。 x-ms-continuation-NextTableName x-ms-continuation-NextPartitionKey x-ms-continuation-NextRowKey 賢明な方はプロパティ名を見て察しがついたかもしれないが、こ奴らは「テーブル・ストレージ用のREST APIのカスタムヘッダ*1」であり、主にテーブル・ストレージのページング処理を行うために利用する。 「ページング処理になんでこんなものが必要なんだ?」と思うかたも多いだろうが、テーブル・ストレージに対して発行したクエリで返されるエンティティの数は、以下のいずれかの理由で制限され
自分の備忘録を含めて軽くメモ。知ってる人も多いと思いますが、簡単に書いてみます。知っていると結構便利です。 タイムアウト処理と例外発生処理のテストを行う場合、ExpectedException属性やTimeout属性を使用したテストが出来ます。判定用のクラスはAssert機能以外にも、StringAssertクラスやCollectionAssertクラスが存在します。 上記の属性、クラスを知っているだけでも単体テスト効率が上がるので、一応ちょこっと書いてみます。 例外処理用の属性 例外が発生するロジックのテストも容易です。いちいち「try〜catch」を書く必要は有りません(こっちは地味ですが相当便利だと思います)。 /// <summary> /// ExpectedExceptionの引数と同じ例外じゃないとダメ ⇒ このテストは失敗する ///</summary> [TestMeth
2010年4月24日に「クラウドDay」と題し、豪華なゲストを何人も招いて、普段より大きめな会場の小田急サザンタワー(OST)でわんくま同盟 東京勉強会 46回目を開催させて頂いた。当日にどたばたあったが、フォローアップをば。以下は当日に行ったセッション内容。 中田@日経コンピュータさん、(・∀・)キムティ♪さん、harutamaさん、砂金さん、Azaas(感謝の意)!! 以下、各セッションに関して解説させて頂く。 「写真で振り返るクラウドの歴史」by 中田@日経コンピュータさん 写真を使って、クラウドに限らず近年のコンピュータ史を振り返って頂いた。出始め頃からクラウドを追いかけてきた方の情報を存分に公開して頂けた。写真を用いて居たので、予備知識の無い方にも分かりやすかったのでは無いだろうか。 「クラウドの原理とパラダイム」by (・∀・)キムティ♪さん 資料を作って頂いたキムティさんに代
福井さんのブログ「[Memo]VS2010 RCのAzure開発で "One of the request inputs is out of range" 例外が発生」で、Windows Azureストレージ・サービスの命名規則が話題になっていた。私自身も命名規則ではまった事が有ったので、これを機会に調べてみた。 結論から言うと、テーブルストレージ、ブロブストレージ、キューストレージは全て命名規則が異なっていた。なんでこんな状態になったのかは分からないが、実際にアプリケーションを作る人間側には結構つらい。Windows Azureを学習する人のため、自分のため、命名規則をまとめてみた。 私としてのお勧めなストレージネーミングルールは「全て小文字の英字(最初の文字以外は数字もあり)でネーミングする」だ。 サンプルアプリケーション 折角なので命名規則検証用のアプリケーションを作成した。宜しけれ
ナオキにASP.NET(仮)というブログを書いている「北兄者」こと「積極的な金髪幼女に誘われたが、負けてしまった青い記憶を持つ人物」に無茶ぶりされました。「Windows Azure、SQL Azure、AppFabricについて140文字以内でまとめて」と言われてしまったので、やれる範囲でまとめた&参考文献を書いてみたので、皆様ご参考にしていただければ幸いです*1。 Windows Azure 本文(138文字) Windows Server 2008ベースとしたクラウドOS。クラウド環境でユーザアプリケーションを実行する「コンピュートサービス」と、クラウド環境での拡張性と可用性を持った「ストレージサービス」を提供する。.NETだけでなく、C++、PHP、Java等の動作実績を持つ。 所感 Windows Azure Platformとの区別に注意が必要で、「Windows Azure
「Googleを支える技術」で?一躍有名になった感がするmap、filter、reduceですが、LINQ(C#)で対応させると以下になるんでしょか? 一般? LINQ(C#) map Select filter Where reduce Aggregate せっかくneueccさんがAggregateの良いサンプルを書いてくださったので、Aggregateの復習も兼ねてさらっと。 class Program { public static void Main(string[] args) { Console.WriteLine(Enumerable.Range(1, 10) .Select(num => num * num) .Where(num => num % 2 == 0) .Aggregate((sum, num) => sum + num)); //220 Console.Re
どうも、最近すっかり更新が滞っていた割と普通です。某所で記事書かせて頂いたり、某所でセッションしたり、某所でライトニングトークしたり、冬コミで原稿描いたりと大忙しでした。今回は久々にバージョンアップしたWindows Azure SDK 1.1について紹介します。 Windows Azure SDK 1.1の概要 2009年11月13日から更新が止まっていたWindows Azure SDKのバージョン1.1がリリースされました。詳細なSDKの更新内容は、別途「Windows Azure SDK 1.1 参考サイト」を参照して頂くとして、主な更新内容は以下の二つだと思われます。 Windows Azure Guest OSのバージョン管理 Windows Azure Drives機能のリリース また、今回のリリースで、Azure SDKを利用した開発を行うVisual Studioのバージ
Javaで開発してるとlog4jの恩恵を受ける日々を送っています。log4j.xmlをクラスパス上に配置すると勝手に読み込んでくれるので、その部分の機能を確認してみようと。 まずは結論から入り、その後にソースコードの解析を。 設定ファイル読み込み 優先順位(結論) 設定ファイル読み込みロジック log4j.jarがクラスローダに読み込まれた直後、staticフィールドに含まれたlog4jの設定ファイル読み込みロジックを処理される。 「読み込む設定ファイルの優先順位」に従って設定ファイルが存在するパスを検索し、最初に設定ファイルが見つかったパスのjava.net.URLオブジェクトを生成する。 生成したURLオブジェクトのファイルをstaticフィールドの最後で有効化している。 読み込む設定ファイルの優先順位 log4j.xml を Thread.currentThread().getCon
普段はあんまり書かないのですが、先日に Kestrel Vintners というワイナリーに行ってワインをガッツリ箱買してきたので「こういう場所もあるんだよ」という程度の情報共有です。まずは Kestrel Vintners の場所ですが、以下の様に Woodinville にあります。この辺はぱっと見かけるだけでも10個以上のワイナリーがある場所なので、シアトル在住でワインが好きならご存じの方も多いと思います。日本から出張でくる方は Bellevue/Redmond/Kirkland 辺りで接待ごはんを食べることが多い認識ですが、先日に日本から来た方を Woodinville ワイナリーに招待したら喜んでもらえました。 ワイナリーというとブドウ畑が広がっているのを想像するかたもいるかもしれませんが、この Kestrel Vintners ワイナリーに限らず、この辺は販売所なのでかなりこじ
formタグ内にチェックボックスを複数配置する場合、ありがちな間違いとして、以下のコード例があげられる。 <form method="POST" action="test.php" > <input type="checkbox" name="pic_id" value="1">1</input> <input type="checkbox" name="pic_id" value="3">2</input> <input type="checkbox" name="pic_id" value="3">3</input> <input type="submit" value="submit" name="submit" /> </form> しかし、本コードは正しく動作しない。今回はPHPでチェックボックスのリクエストを受け取る方法を記述する。 PHPでうまく受け取る方法 HTTPリクエス
自分でもコソコソとASP.NET MVCの情報を集めているのですが、ここにさらしておこう。 オフィシャルサイト系 asp.net/mvc ASP.NET MVCサイトの総本山と言っても良い筈。まずはここに来よう asp.net/mvc/garally ASP.NET MVCサイトデザインのテンプレートが入手できる asp.net/mvc/learn 非常に色々と情報が載ってる ASP.NET MVC 1.0ダウンロードページ ASP.NET MVC 1.0本物 ASP.NET MVC Traning KIT 書籍 ASP.NET MVC 実践プログラミング − .NET Frameworkによる標準Web開発技法 CodePlex ASP.NET MVCのCodeplexサイト ASP.NET MVCのロードマップ MVCContrib ASP.NET MVCに付加機能を色々付けてくれる部
ASP.NET MVC内のテストコードでも、華麗に使われているMoq.dllを少々使ってみた。こ奴が何者かという事に関しては「まずコードを見ろ!」と言いたいところですが、端的に述べると「単体テスト用のMockを作りやすくするライブラリ」でしょうか?前々からASP.NET MVC内部で眺めては居たのですが、実際使ってみてこいつの便利さを知ってみました。 で、肝心の取得場所ですが、Google Codeに公開されています。こちらからDL可能ですので、Moq.3.1.416.3現在のバイナリをDLしてください。 まず使ってみる そもそも使い方がさっぱりわからんので、とりあえず使ってみる [TestMethod()] public void HttpSessionStateBase01() { //NotImplementedExceptionが発生するかのテスト HttpSessionState
C#, ダメ系 | 04:15 | そろそろ描かないと時節に乗り遅れると思って描いてみた。id:matarillo:20090728 で良い感じに擬人化のメモがまとめられてたので、まずは好き勝手に自分の願望+Iori_oさんの妄想を取り入れてみた。これを元にしてもしなくても良いが、皆もっと妄想を働かせて擬人化を可愛くしようじゃないか!!*1
現象 SQL Server 2005から、SQL Server 2008にアップグレードしたところ、Visual Studio 2008 SP1 から *.mdfファイルがアタッチできない事件が起きました。その際に発生したエラーメッセージが以下となっていました。 エラー1 ユーザーインスタンスのプロセスを起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。エラー1の原因としては、主に以下が考えられるそうです。 旧 SQL Server のデータが残ったままになっている SQL Server がリモート接続を許可していない エラー2 アセンブリがロードできません‘Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyTo
前提環境 データベースが存在している App.ConfigにConnectionStringが記述されている 対象テーブル 以下のテーブルが格納されているデータベースがソリューション内に存在する。 App.Config ConnectionStringとして、以下の内容が記載されているとする。 プログラム側での操作 参照を追加 ConnectionStringの取得 データ一覧の表示 参照を追加 "System.Configuration"名前空間を"参照設定"に追加する。この際、"System.Configuration"名前空間を追加しないと"System.Configuration.ConfigurationManager"が参照できない*1。 ConnectionStringの取得 App.Configで記述したConnectionStringのname属性を使用して、C#プログラ
このページを最初にブックマークしてみませんか?
『normalian blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く