2011年7月6日水曜日

.NET MVC | 既定のエンドポイント要素が見つかりませんでした

エラー「既定のエンドポイント要素が見つかりませんでした」が発生した場合の要因を1つ挙げる。

要因として、参照設定されている別のプロジェクト(クラス)における「App.config」の内容が、
「Web.config」に反映されていない可能性がある。

よって、App.config の内容を Web.config に追加すれば解決する。

2011年7月4日月曜日

jQuery | 複数の要素をまとめて、ある要素で囲む

  1. <script type="text/javascript">  
  2.   $(function () {  
  3.    $("#label, #item").warapAll("<div id="column"></div>");  
  4.    });  
  5. </script>  
  6.   
  7. <div id="label"></div>  
  8. <div id="item"></div>  

このようにして、warapAllを使用すると、

  1. <div id="column">  
  2.   <div id="label"></div>  
  3.   <div id="item"></div>  
  4. </div>  

複数の要素を、指定した要素で囲んでくれる。

jQuery | 要素を切り取って貼る

  1. <script type="text/javascript">  
  2.   $(function () {  
  3.    $("#paste").append($("#cut"));  
  4.    });  
  5. </script>  
  6.   
  7. <div id="cut">partial cut</div>  
  8.   
  9. <div id="paste"></div>  

id = cut の子要素は本来の位置から切り取られ、id = paste の位置に挿入される。(貼る)

DOM上から見て、要素自体は切り取られる形になる。

2011年5月18日水曜日

C# | EF CodeFirst におけるテーブル定義の変更

Entity Framework CodeFirst におけるテーブル定義の変更です。
  1. using System.Data.Entity;  
  2.   
  3. public class ReCreateTable  
  4. {  
  5.  public void Exec  
  6.  {  
  7.   // テーブルに変更があれば再作成  
  8.   Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SampleContext>());  
  9.  }  
  10. }  
SampleContext はコンテキストクラスとなります。

注意点は、すでに存在するレコードは削除されること。自動的にコンバートしてくれれば良かったのになぁ。

2011年5月16日月曜日

IIS7.5 | Webサイトの開始ができない

Webサイトの開始を行おうとすると、「プロセスはファイルにアクセスできません。別プロセスが使用中です。」となる場合がある。

原因の1つとして、そのWebサイトで使用するポート番号が、すでに別のプログラムによって、使用されていることが挙げられる。

対処法は、次の通り。
  1. コマンドプロンプトで netstat -anb
  2. 対象のポート番号を使用しているプロセスを確認
  3. プロセスが、inetinfo または、「情報を取得できません。」以外であれば、そのプロセスをタスクマネージャー等で停止させる
僕の場合は、httpsのバインドをすると、上記エラーとなった。原因は、Skypeがポート443番を使用していたからだった。

雑談 | 再開

色々あったけど、再開。

2011年3月17日木曜日

Scala | Java Swing アプリの作成方法

◆前提条件
  • IDE が NetBeans
  • NetBeans から Maven プロジェクトを作成できる
◆作成手順
NetBeans から新規プロジェクト作成する。
Mavenプロジェクトを選択して、次へ。
「デフォルトの原型カタログ」ツリーから、A simple scala project を選択して、次へ。

次の画面で、プロジェクト名などを入力し完了すると、プロジェクトが完成する。

プロジェクトを作成した後は pom.xml を変更する。変更箇所は、
  • <scala.version>2.8.1</scala.version> → Scala のバージョンを上げる。

※追記予定・・w

Ruby | Windows 実行形式の exe 作成方法

Windows 実行形式の exe 作成方法にするは、Exerb が必要となる。これがインストールされていると、コマンドプロンプト画面で以下のような手順なる。
  1. mkexy sample.rb
  2. exerb sample.exy
これで、exe が作成される。1. でレシピファイルを作成することが重要。

また、VisualuRuby で Windows GUI アプリを作成している場合は、
  1. mkexy sample.rb
  2. exerb -c gui sample.exy
という手順になる。2. で、オプション -c gui を指定しているが、これを省くと、exe 実行時にコマンドプロンプト画面が表示されてしまう。

Ruby | Windows7 へのインストール

Rumix を使うと簡単にインストールできる。特に、
  • Exerb (Windows 実行形式の exe にできる)
  • VisualuRuby (Windows GUI アプリが作成できる)
がパッケージとして同梱されているので、Windows アプリを作成するのに便利。ただし、Rumix 1.00 通常版に限るので、Ruby は1.8系となる。1.9系の対応版は今後に期待したい。

Ruby | 言語仕様の覚書

個人的に気になった言語仕様をまとめる。
  1. interface、abstract の概念なし。
  2. コンストラクタは複数持てない。(デフォルト引数を使うことで解決できる)
  3. モジュールはインスタンス化できない
  4. ミックスをした順番に、変数や関数はオーバーライドされる。
  5. オーバーロードはできない。(デフォルト引数を使うことで解決できる)
  6. クラス or モジュールに存在しない変数や関数も使用可能。(実行時に存在すれば良い)
6. により強力なダックタイピング効果があるが、Rubyの作法としては、良いのか悪いのか疑問。

2011年3月16日水曜日

Windows Server 2008 R2 | リモート接続を可能にする

システムのプロパティのリモート設定において、接続を許可しているのにも関わらず、他マシンからリモート接続できないときは、必要なサービスが停止している可能性がある。

  • Remote Desktop Configuration
  • Remote Desktop Services

上記のサービスを、サーバーマネージャーから起動してあげれば、リモート接続が可能になる。

VirtualBox | リモート接続

◆ ゲストOSに対して直接リモート接続
設定のネットワークを「ブリッジアダプタ」にして、外部ネットワークと接続できる状態にしておく必要がある。

◆ VirtualBox自体のリモート接続機能を使う(Widowsのリモート接続となる) +
設定のディスプレイにおいて、リモートディスプレイの

  • 「サーバー有効化」にチェック
  • ポート設定(3389以外が良い、そのPCがリモート接続で使うポートなので) 
を設定する。実際にリモート接続する場合には、他のWindowsマシンから、リモート接続を行う。接続先は、「マシン名 : 設定したポート」となる。また、ログオン設定(資格情報)を正しく設定しておく必要がある。

これにより、ゲストOSがLinuxであっても、Windowsリモートデスクトップで接続できるので便利。

2011年2月28日月曜日

Hyper-V | Ubuntu 10.10 のインストール

  1. ここから、インストールイメージを入手(今回は64bit Desk Top を使用)。
  2. Hyper-Vで空の仮想環境を作成(ネットワークアダプターは設定しても認識されない)。
  3. 空の仮想環境を起動し、DVDのマウントから、インストールイメージを選択する。
  4. 起動画面が始まれば、左のメニューから日本語を選択する。
  5. インストール開始ボタンをクリックする。
  6. ネットワークが繋がっていませんと言われるが、無視して次をクリックしていく。
  7. たまにある必須事項(PC名等)を入力も忘れずにする。
  8. 最後は再起動して完了となる。
ほんとは、日本語リミックスを使いたかったが、イメージファイルをマウントするだけで、スタックエラーとなって断念した。たぶん、何か方法はあると思うけど。。

再度、日本語リミックスで挑戦したらインストールできた。理由は不明。

2011年2月23日水曜日

.NET MVC | カスタムHtmlヘルパーの作成

カスタムHtmlヘルパーの一例。拡張メソッドにより、HtmlHelperに追加にした。

  1. using System.Web.Mvc.Html;  
  2. using System.Linq.Expressions;  
  3.   
  4. public static class CustomTextBoxHelper  
  5. {     
  6.  public static MvcHtmlString BlueTextBoxFor<TModel, TProperty>(  
  7.   this HtmlHelper<TModel> htmlHelper,   
  8.   Expression<Func<TModel, TProperty>> expression  
  9.    )  
  10.    {  
  11.      var htmlAttributes = new Dictionary<stringobject>();  
  12.   
  13.      htmlAttributes.Add("style""background-color: skyblue;");  
  14.   
  15.      return InputExtensions.TextBoxFor<TModel, TProperty>(  
  16.       htmlHelper,   
  17.       expression,   
  18.       htmlAttributes) ;         
  19.     }  
  20.  }  

こんな感じで、cshtmlに記述できる。

  1. @Html.BlueTextBoxFor(x => x.text)  

2011年2月22日火曜日

.NET MVC | エンコーディングなしで表示する

Razor構文で、Htmlエンコーディングをしないで、ビジネスロジックの文字列を表示する方法。

  1. @Html.Raw(myString)  

参考
stackoverflow

.NET MVC | 認証の方法(Authorize)

認証の方法は以下のとおり。

通常の認証

  1. // コントローラクラスで認証設定  
  2. [Authorize]  
  3. public ActionResult Index()  
  4. {              
  5.   return View();  
  6. }  

カスタム認証

  1. // カスタムクラスの作成  
  2. public class CustomAuthorizeAttribute : AuthorizeAttribute  
  3. {  
  4.  protected override bool AuthorizeCore(HttpContextBase httpContext)  
  5.  {  
  6.   // ・・・認証処理を記述する・・・  
  7.   return true;  
  8.  }  
  9. }  
  1. // コントローラクラスで認証設定  
  2. [CustomAuthorize]  
  3. public ActionResult Index()  
  4. {              
  5.   return View();  
  6. }  

という感じで、AuthorizeAttributeクラスを継承してやるとできる。

参考
SCHOTIME.NET
David Hayden

Scala | importするクラスをまとめる

importする内容をまとめることができる。

まとめる前
  1. import java.io.BufferedOutputStream  
  2. import java.io.File  
  3. import java.io.FileOutputStream  
  4. import java.io.IOException  

まとめた後
  1. import java.io.{BufferedOutputStream ,File , FileOutputStream ,IOException }  

ただし、import java.{io.BufferedOutputStream } という感じで、さらに下のクラスを指定することはできない。

Blogger | シンタックスハイライトする「SyntaxHighlighter」

SyntaxHighlighterを使うと、コードをシンタックスハイライトしてくれる。

■ Bloggerでの導入方法

  1. fazibearのページの「To add it check out this page.」をクリック
  2. ダウンロードしたHtmlから「Add to Blogger」をクリック
  3. ウィジット追加画面で、タイトルを空白にして、追加する
ちなみに、「2」のHtmlは、Chromeで表示するとデザインが崩れて追加できなったので、IEかFirefoxで行った。

2011年2月21日月曜日

C# | ISO-8601からDateTimeへ変換

ISO-8601形式の文字列からDateTime型へ変換する方法。

  1. using System.Globalization;  
  2.   
  3. DateTime d;  
  4. DateTime.TryParseExact(  
  5.     "2010-08-20T15:00:00Z",  
  6.     "s",  
  7.     CultureInfo.InvariantCulture,  
  8.     DateTimeStyles.AssumeUniversal, out d);  

"s" は、"yyyy-MM-ddTHH:mm:ssZ" とかの正規表現でも可能なので、引数となる文字列の形式に合わせることができる。

test

test