2011年7月6日水曜日

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

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

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

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

2011年7月4日月曜日

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

<script type="text/javascript">
  $(function () {
   $("#label, #item").warapAll("
"); }); </script> <div id="label"></div> <div id="item"></div>

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

<div id="column">
  <div id="label"></div>
  <div id="item"></div>
</div>

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

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

<script type="text/javascript">
  $(function () {
   $("#paste").append($("#cut"));
   });
</script>

<div id="cut">partial cut</div>

<div id="paste"></div>

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

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

2011年5月18日水曜日

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

Entity Framework CodeFirst におけるテーブル定義の変更です。
using System.Data.Entity;

public class ReCreateTable
{
 public void Exec
 {
  // テーブルに変更があれば再作成
  Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SampleContext>());
 }
}
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に追加にした。

using System.Web.Mvc.Html;
using System.Linq.Expressions;

public static class CustomTextBoxHelper
{   
 public static MvcHtmlString BlueTextBoxFor<TModel, TProperty>(
  this HtmlHelper<TModel> htmlHelper, 
  Expression<Func<TModel, TProperty>> expression
   )
   {
     var htmlAttributes = new Dictionary<string, object>();

     htmlAttributes.Add("style", "background-color: skyblue;");

     return InputExtensions.TextBoxFor<TModel, TProperty>(
      htmlHelper, 
      expression, 
      htmlAttributes) ;       
    }
 }

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

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

2011年2月22日火曜日

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

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

@Html.Raw(myString)

参考
stackoverflow

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

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

通常の認証

// コントローラクラスで認証設定
[Authorize]
public ActionResult Index()
{            
  return View();
}

カスタム認証

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

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

参考
SCHOTIME.NET
David Hayden

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

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

まとめる前
import java.io.BufferedOutputStream
import java.io.File
import java.io.FileOutputStream
import java.io.IOException

まとめた後
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型へ変換する方法。

using System.Globalization;

DateTime d;
DateTime.TryParseExact(
    "2010-08-20T15:00:00Z",
    "s",
    CultureInfo.InvariantCulture,
    DateTimeStyles.AssumeUniversal, out d);

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

test

test