タグ

ブックマーク / blog.shibayan.jp (20)

  • Azure が提供するデフォルトドメイン名を狙った改ざんについて注意喚起 - しばやん雑記

    Twitter でちらほら見かけて自分も軽く反応したんですが、ターゲットが Cloud Services と Traffic Manager だったので多少なりとも書いておいた方が良いかなと思ったので、注意喚起を兼ねて書きます。 今回の件を改ざんと書くのは微妙に違う気がしたのですが、元のツイートは改ざんと表現していたので倣って改ざんとしておきます。このあたりの定義は難しそうです。 MS Azure Cloud Services のデフォルトドメイン cloudapp[.]net にCNAMEが向いている大量のWebサイトが改ざんされているようです。 Googleでの検索結果には何れも星評価が付いています。 (1/N) pic.twitter.com/5kDUZTGPg2— tike (@tiketiketikeke) 2020年7月6日 クラウドサービスにCNAME定義されたドメインを狙い

    Azure が提供するデフォルトドメイン名を狙った改ざんについて注意喚起 - しばやん雑記
    rryu
    rryu 2020/07/09
    Azureには任意のサブドメイン名を付けられるサービスがあるので、それ向けのCNAMEが残っているとドメインを乗っ取ることができる。
  • .NET Core のバージョンが難しい - しばやん雑記

    ちょっと前に .NET Core のバージョンがよくわからないという話題が Twitter で上がりました。 何のVersionを表示しているのか?有識者に聞かないと良くわからん。 pic.twitter.com/1gqVqpASxP— Takekazu Omi (@takekazuomi) 2017年3月8日 @shibayan 全然わかんない。 https://t.co/d9eSBBieMV からダウンロードできるやつ、インストーラー的には 1.1.1 になってるけど実行してみたら 1.0.1 って表示されるし。dotnet --versionしても 1.0.1 だし…— ++C++; // 管理人: 岩永 (@ufcpp) 2017年3月13日 おーみさんとにぃにが分からないのなら、みんなわからないのではという感があるのと、自分も正直よくわからなかったので理解を兼ねて調べました。バー

    .NET Core のバージョンが難しい - しばやん雑記
    rryu
    rryu 2017/04/09
    なんでこんなややこしいことに。
  • ASP.NET MVC アプリケーションを ASP.NET Core MVC にマイグレーションしようとして挫折した話 - しばやん雑記

    これは既に番環境で動作している ASP.NET MVC アプリケーションを、軽い気持ちで ASP.NET Core MVC にマイグレーションしようとした考えが甘い男の、真実の物語である。 ネタ記事っぽいですが、割と真面目にマイグレーションしようとして、余りにも辛くなって諦めました。 それでは、まずマイグレーションしようとしたアプリケーションについて、簡単に紹介します。 アプリケーションの概要 既に番環境で動作しているアプリケーションでしたが、構成は一般的な ASP.NET MVC 5 と Entity Framework 6 を使っているだけの、シンプルな感じです。 ASP.NET MVC 5 Entity Framework 6 追加のパッケージとして NuGet からいくつか入れていましたが、代表的なものは以下のような感じです。 HtmlAgilityPack WindowsAz

    ASP.NET MVC アプリケーションを ASP.NET Core MVC にマイグレーションしようとして挫折した話 - しばやん雑記
    rryu
    rryu 2016/07/05
    いろいろ厳しい。
  • 既存の ASP.NET Web API アプリケーションを ASP.NET Core MVC 1.0 へマイグレーションしてみた - しばやん雑記

    .NET Core 1.0 と ASP.NET Core 1.0 が RTM したので、とりあえず簡単なものからマイグレーションしてみました。ターゲットは無職になる前に作ったこれです。 時間を持て余した感あるので、俺得 API 作ってた https://t.co/9ag1MfPiGU— しばやん (@shibayan) 2016年3月5日 この App Service Info は極めて単純な ASP.NET Web API アプリケーションなのと、既に Web Apps にデプロイして動かしていたので、そういう意味でも都合が良かったです。 マイグレーションの方法ですが、今回は C# のコードを新しく作成した Core MVC のプロジェクトにコピーすることにしました。プロジェクトの互換性なんてものは存在していないので、ソースレベルで対応します。 ソースをコピーしてしまえば、後はコンパイル

    既存の ASP.NET Web API アプリケーションを ASP.NET Core MVC 1.0 へマイグレーションしてみた - しばやん雑記
    rryu
    rryu 2016/06/29
    プロジェクトの構造がぜんぜん違うからやっぱりそうなるよなあ。
  • パクリサイトをインターネットから消し去ることに成功した話 - しばやん雑記

    パクリサイトが使っているレンタルサーバー会社に対して、実際にプロバイダ責任制限法に基いた削除申請を出してみたので書きます。これまでの経緯については下の記事を参照してください。 既に DMCA で Google / Bing への削除申請は行ってますが、自動で記事が増えるのが嫌なので行いました。 申請に必要なもの プロバイダ責任制限法は発信者情報開示や名誉棄損・プライバシー関係などいくつか分かれていますが、今回は著作権関係送信防止措置手続というのを行いました。とてもめんどくさい話なのに、丁寧に教えていただいたレンタルサーバー会社のサポート担当の方に感謝しています。 TOP | プロバイダ責任制限法関連情報Webサイト 著作権関係送信防止措置手続を行うにあたって必要な書類は以下のような感じです。 著作物等の送信を防止する措置の申出について 印鑑証明書(発行日から 3 か月以内、コピー可) 問題

    パクリサイトをインターネットから消し去ることに成功した話 - しばやん雑記
    rryu
    rryu 2015/08/24
    実印が必要だから紙で郵送なのか。役所レベル以上の行政手続きは定型の書類が無くて見本を見て自分で作れ系が多い気がするのだが、あれはいったい何なのだろう。
  • Google Analytics が Windows 10 と Microsoft Edge の表示にやっと対応したらしい - しばやん雑記

    Windows 10 と Microsoft Edge を使うようにしてから 3 週間ほどですが、地味に困ったのが Edge だと Google Analytics のグラフが表示されないことでした。 ちょっと前までは以下のように、とても残念な表示になっていました。 User-Agent を IE11 にすると表示出来ていたので早い対応を期待していましたが、時間がかかったようです。 OS とブラウザの情報も正しく取れてませんでした。ちなみに Windows 10 は NT になっていました。 まだ Server 2003 と 2000 がいるのかという突っ込みは無しにします。 これらの問題が今日確認すると全部直っていて、やっと対応したとホッとしました。表示されていなかったグラフも、これまでと同じようにちゃんと表示されています。 ブラウザも Edge として認識されるようになったので、現在の

    Google Analytics が Windows 10 と Microsoft Edge の表示にやっと対応したらしい - しばやん雑記
    rryu
    rryu 2015/08/19
    UAで区別しなくても大丈夫だからって感じでUA名をがんばっていたのに結局個別対応されてしまうんだな……
  • ASP.NET MVC でバリデーションを良い感じに扱う - しばやん雑記

    ASP.NET MVC はバリデーションの結果としてのエラーメッセージ出力が実装されていますが、これがいまいち自由度が低くて実際にはあまり使えないです。 なので、良い感じにバリデーションを扱うためにヘルパーを作りました。 public static class ValidationHelpers { public static bool IsValidationError(this HtmlHelper htmlHelper) { return !htmlHelper.ViewData.ModelState.IsValid; } public static IEnumerable<string> GetValidationMessages(this HtmlHelper htmlHelper) { return htmlHelper.ViewData.ModelState.SelectMa

    ASP.NET MVC でバリデーションを良い感じに扱う - しばやん雑記
  • Knockout.js の Mapping プラグインを使ったら凄く捗った件 - しばやん雑記

    めっちゃ久しぶりに Knockout.js の話です。最近、仕事で再び使い始めたので Tips 的なものが貯まってきたら、こうやってちょいちょい書いていきます。 Knockout : Home ASP.NET MVC 側で持っているモデルをそのまま JSON にして Knockout.js に流し込みたかったのですが、いちいち JavaScript 側でも同じ構造を持ったモデルを作るのは非常に面倒なので、今回は Knockout.js に用意されている Mapping プラグインを使ってみました。 Mapping プラグインのドキュメントは公式サイトで提供されています。 Knockout : Mapping プラグイン体は GitHub からダウンロードできます。Knockout.js の最新バージョンは 3.1.0 なので互換性を心配しましたが、今のところは特に問題なく使えています。

    Knockout.js の Mapping プラグインを使ったら凄く捗った件 - しばやん雑記
  • Knockout.js の if と visible は似ているようで違うので注意 - しばやん雑記

    Knockout.js の if と visible は見た目的には要素の表示・非表示を切り替えるので大差ないですが、DOM 的には大きく仕組みが異なっています。 簡単な例で挙動の差を見ていきます。 <span data-bind="if: flag">ほげほげ</span> ↓ タグの中身が空っぽの状態になる <span></span> if の場合は flag が true になったタイミングで、Knockout.js が初回読み込み時に複製しておいたノードを span の下に追加するようになっています。 <span data-bind="visible: flag">ほげほげ</span> ↓ 要素はそのままだけど、スタイルで非表示にしている <span style="display: none;">ほげほげ</span> visible の場合は flag が true になったタ

    Knockout.js の if と visible は似ているようで違うので注意 - しばやん雑記
  • Knockout.js 3.2.0 がリリースされたので新機能について一通り調べてみた - しばやん雑記

    最近はあまり Knockout.js についてブログを書いてませんが、超特大なアップデートを含む 3.2.0 がリリースされたので、新機能について調べておきました。 Knockout 3.2.0 released - Steve Sanderson’s blog - As seen on YouTube™ それぞれの新機能について紹介していきます。 Components Components は個人的には ASP.NET のサーバーコントロールとか MVC の部分ビューが近い気がしてます。HTML と ViewModel というペアを 1 つのコンポーネントとして扱えるようになるので、今まで以上に簡単に再利用可能なパーツとして定義できます。 サンプルとして、はてなブックマークのエントリ情報を読み込むようなコンポーネントを作ってみました。 レンダリングするコンポーネントは、新しく追加された

    Knockout.js 3.2.0 がリリースされたので新機能について一通り調べてみた - しばやん雑記
  • ASP.NET MVC 3 で独自の検証属性を作成して、クライアントサイド検証を行う - しばやん雑記

    ASP.NET MVC 2 から HTTP POST 時の検証以外にも JavaScript を利用したクライアントサイド検証がサポートされました。入力中にも自動的にエラーを表示してくれるのは非常に快適ですが、独自の検証属性の場合はそのままではクライアントサイド検証を使うことはできません。 MVC 2 向けには ナオキにASP.NET(仮) : ASP.NET MVC 2 でカスタム属性の作成と、クライアントサイド検証のポイント だけ読んでおけば問題ないのですが、MVC 3 では IClientValidatable インターフェースが追加されて MVC 2 では必要だったアダプタクラスを作る必要が無くなりました。 IClientValidatable インターフェースに関しては ASP.NET MVC でアップロードされたファイルを検証する - しばやん雑記 で独自の検証属性を作成した時

    ASP.NET MVC 3 で独自の検証属性を作成して、クライアントサイド検証を行う - しばやん雑記
  • ASP.NET MVC で条件付きの検証を行う属性とモデルバインダを実装してみた - しばやん雑記

    昔から ASP.NET MVC の検証を条件付きで実行したいと思っていた人生でした。 言葉で説明すると分かりにくいので、ヨドバシのオンラインショップのフォームがサンプルとして都合良かったので拾ってきました。 このフォームの場合、チェックの有無で検証の有無も切り替わるようになっています。これを ASP.NET MVC で実現する場合、殆どの場合は IValidatableObject を実装して、独自の検証を行うコードを書くのではないかと思います。面倒ですね。 地味にこのようなフォームが必要になるケースって多いと思います。仕事で割と出会っているので、今回は気合い入れて条件付きの検証を行う属性とモデルバインダを実装しました。 成果物は SwissKnife.Mvc に突っ込んであるので GitHub にはソースコードが、NuGet にはバイナリを置いてあります。 NuGet Gallery |

    ASP.NET MVC で条件付きの検証を行う属性とモデルバインダを実装してみた - しばやん雑記
  • Knockout.js と ASP.NET MVC の組み合わせ時にモデルバインディングが腐る件 - しばやん雑記

    今日も Knockout.js を使って ASP.NET MVC に POST するようなコードを書いていたのですが、モデルバインダが意図したとおりに値をバインドしてくれない時がありました。 まずは ASP.NET MVC 側のコードを見ていきましょう。難しいことはしてません。 public class ChildFormModel { public string Name { get; set; } } public class FormModel { public string Name { get; set; } public List<ChildFormModel> Items { get; set; } } [HttpPost] public ActionResult Post(FormModel model) { return Json(true); } 簡単にコードを紹介する

    Knockout.js と ASP.NET MVC の組み合わせ時にモデルバインディングが腐る件 - しばやん雑記
  • ASP.NET で DbContext を扱う際のベストプラクティス - しばやん雑記

    ASP.NET MVC のスキャフォールディングを使うと、以下のように Entity Framework の DbContext をコントローラのフィールドに持つコードが生成されます。 public class CustomerController : Controller { private SampleDbContext db = new SampleDbContext(); // // GET: /Customer/ public ActionResult Index() { return View(db.Customers.ToList()); } } 単純なアプリの場合はこれでいいかもしれないですが、リポジトリパターンを使った場合では DbContext をどうやって持つべきかと悩む人が居ると思います。 変更追跡やトランザクションの観点的に、DbContext や Unit of

    ASP.NET で DbContext を扱う際のベストプラクティス - しばやん雑記
    rryu
    rryu 2014/12/05
    DataLoadOptionsがDbContext単位でしかも後で変更できないからリポジトリ単位で作成せざるを得ないと思うのだがどうなんだろう。
  • IIS で SSL 3.0 を無効にする方法 - しばやん雑記

    今朝は SSL 3.0 の脆弱性が話題になっていますね。ちなみに私も影響を受けました(死 SSL 3.0に深刻な脆弱性「POODLE」見つかる Googleが対策を説明 - ITmedia ニュース 困らされて悔しいので、SSL 3.0 を IIS で無効化する方法を調べました。相変わらずレジストリ弄らないと変更できないのはどうかと思いつつ試します。 How to disable PCT 1.0, SSL 2.0, SSL 3.0, or TLS 1.0 in Internet Information Services How to Disable SSL 2.0 and SSL 3.0 in IIS 7 てか、何も考えずに Windows Server に IIS を追加すると、SSL 2.0 が有効になった状態になるのはいい加減にやめた方が良いのではないかと。 折角なので SSL 2.

    IIS で SSL 3.0 を無効にする方法 - しばやん雑記
    rryu
    rryu 2014/10/15
    レジストリ修正とサーバ再起動が必須とは。
  • ASP.NET MVC 3 と File API を利用してアップロード前に検証を行う - しばやん雑記

    ASP.NET MVC でアップロードされたファイルを検証する - しばやん雑記 でアップロードされたファイルの拡張子とファイルサイズを検証する属性を実装しましたが、いちいちアップロードが必要なので時間がかかりユーザビリティ的によくありませんでした。 ファイルサイズや拡張子といった情報は、IE 以外で実装されている File API を使えばJavaScript から取得できるので、今回はそれを利用した検証属性を作成しました。 それではサクッと独自の検証属性を作成しましょう。作業としては前回作成した UploadFile 検証属性に IClientValidatable を実装するだけです。 [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] public class UploadFileAttribute

    ASP.NET MVC 3 と File API を利用してアップロード前に検証を行う - しばやん雑記
  • ASP.NET vNext(MVC / Web API / Web Pages 6, Entity Framework 7, SignalR 3)が TechEd NA で発表された話 - しばやん雑記

    開発者向けと銘打った Build 2014 では大した情報が出てこなかったのに、TechEd North America 2014 でどう考えても開発者向けとしか思えない情報がたくさん出てくる現象に名前を付けたい。 1 日目のキーノートでは Azure 周りに大量のアップデートが入り、No.1 に「しねる」とまで言わせました。 Azure Updateいろいろ | ブチザッキ とりあえず Web サイトに関しては目立ったアップデートが無くてほっとしました。ASP.NET と Azure IaaS 周りの人たちは de:code に向けて頑張ってもらいたい所存(鬼 とまあ、Azure 周りはこれぐらいにして題の ASP.NET vNext についてですが、TechEd NA 2 日目の最初のセッションで Scott Hunter と Scott Hanselman という豪華な 2 人によ

    ASP.NET vNext(MVC / Web API / Web Pages 6, Entity Framework 7, SignalR 3)が TechEd NA で発表された話 - しばやん雑記
  • ASP.NET MVC でラジオボタン周りを良い感じに扱う - しばやん雑記

    ラジオボタンを作成する Html.RadioButtonFor の使えない子っぷりが半端ないです。そのあたりの解説はみそ先生の記事を読んでください。 ちょっと異色のRadioButtonHelper - miso_soup3 id がデフォルトだと同じになってしまったり、表示させたい個数分だけ Html.RadioButtonFor を書いたりめんどくさいですね。 そして ASP.NET MVC でドロップダウンリスト周りを良い感じに扱う - しばやん雑記 で DisplaySelectFor というヘルパーを作成したので是非とも SelectList を使いたい…!という訳でヘルパーを作成してみました。やってることは SelectList からラジオボタンを作ってるだけです。 public static class RadioButtonHelpers { public static M

    ASP.NET MVC でラジオボタン周りを良い感じに扱う - しばやん雑記
    rryu
    rryu 2014/02/14
    入力フォームを出力するカスタムヘルパーの例。
  • 年末だからこそ ASP.NET MVC のモデルの作り方について考えてみる - しばやん雑記

    Project Silk とか EFMVC とか Maintainable MVC Series を読んでると、どれもモデルが非常に厚いんですよね。 よくサンプルコードであるような EF の DB Model を直接 View に流し込むような作り方は使われていないわけですよ。 そして、今朝 MVVM Framework の Livet 作者で MVVM パターンのプロフェッショナルである尾上さんが ASP.NET MVC を学んでいるとの情報が入ってきました。 やるぞ http://t.co/6BVBUCSh MVC!— 尾上 雅則 (@ugaya40) 2011, 12月 29 自分としてもモデルの作り方で悩んでた部分があるので、これを機にちょっとまとめてみようかと思いました。年末に昼まで寝てゲーム三昧とか人間としてダメすぎるので。 とりあえず ASP.NET MVC の M,V,C

    年末だからこそ ASP.NET MVC のモデルの作り方について考えてみる - しばやん雑記
    rryu
    rryu 2013/08/08
    Project Silkの方はバリデーションを付けると同じ引数セットを2回ハンドラに渡す感じになるのが微妙。
  • RazorEngine を使ってみる - しばやん雑記

    ASP.NET MVC 3 で追加された Razor ビューエンジンだけを切り出して、テンプレートエンジンとして使えるようにした RazorEngine というライブラリがあります。 Antaris/RazorEngine · GitHub var Matt = new Hero(); » An early look at RazorEngine v3 とりあえず NuGet を使ってさくっとインストールしましょう。 Install-Package RazorEngine使い方は非常に簡単で、Razor.Parse メソッドを呼び出すだけです。 var template = "Name: @Model.Name, Age: @Model.Age"; var model = new { Name = "hauhau", Age = 18 }; var result = Razor.Parse

    RazorEngine を使ってみる - しばやん雑記
    rryu
    rryu 2013/07/08
    Razorをビューじゃないところでつかえるようにするもの。ASP.NET MVCな人はメールとかどうしてるんだろう。
  • 1