タグ

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

  • de:code 2019 フォローアップ (Application Insights / Azure Serverless) - しばやん雑記

    今年の de:code は 2 つのセッションで喋りました。スライドは公開済みで、動画も少しすれば公開されると思いますが、フォローアップとして伝えきれなかったことなどをまとめておきます。 祝 東日リージョン一般提供! Azure Application Insights 基礎と実践 日 MS の武田さんと一緒に話しました。Application Insights は良くあるインスタンス数での課金ではなく容量課金で、無料でもほぼフル機能が使えるのが結構良い点だと思います。 App Service を作成する際にはほぼ同時に作られるので、最低限の設定は行われているはずですが、上手く活用できているケースは思ったより少なそうだったので、まずは基的な部分を中心に話しました。 Application Insights など Azure Monitor で使われている Kusto は結構難しいので

    de:code 2019 フォローアップ (Application Insights / Azure Serverless) - しばやん雑記
  • ASP.NET のセキュリティ対策について考える - しばやん雑記

    XSS や CSRF の話題は相変わらず結構多いですね。例えば、はまちや2さんのブログに最近書かれたエントリとか。 CSRFで強制ログインさせるというアイデア - ぼくはまちちゃん!(Hatena) 曰く、Hatena や Facebook など多くのサービスがログイン画面では CSRF 対策されていないとか。実際に書かれているようなことが起きたら怖いですねー。 で、題なんですが、ASP.NET を使ったサービスでは XSS や CSRF に関してはあまり被害を聞かないなーと思いました。ぶっちゃけ、採用サイトが少なすぎるのが理由な気もするんですが、SQL インジェクションはよく聞きますが、XSS・CSRF は自分は特に被害を知りません。 XSS XSS は悪意のある入力内容が、適切にエスケープされずに出力された場合に発生します。ということでエスケープをしましょう。 そもそも ASP.NE

    ASP.NET のセキュリティ対策について考える - しばやん雑記
  • Azure Functions v2 が GA しました - しばやん雑記

    Ignite 2018 で大方の予想通り Azure Functions v2 ランタイムが GA しましたね。 実際には先週に GA 版と思われるランタイムがデプロイされていたので、App Settings の設定を間違えていなければ既に GA 版ランタイムで動いているでしょう。 v2 では .NET Core 2.1 ベースになったり、拡張モデルが新しくなってパフォーマンスも改善したりと、色々とメリットが多いですね。99.95% の SLA も提供されています。 そして既存の Functions v1 アプリを v2 にアップグレードすることが推奨されています。新しく作る場合には v2 ベースで作る以外の選択肢はまあ無いでしょう。 We strongly encourage to start any new development on 2.0 and recommend that c

    Azure Functions v2 が GA しました - しばやん雑記
  • Azure Functions の新しい Run-From-Zip の仕組みと活用方法 - しばやん雑記

    Visual Studio 2017 の 15.8 で Azure Functions の Zip Deploy と Run-From-Zip に対応したので、そろそろちゃんとブログにまとめておこうかと思いました。 デプロイのタスク定義は Azure Functions の SDK に含まれているので、他のプロジェクトでは Zip Deploy は使えないので注意。 Zip Deploy は名前の通り zip ファイルを渡すと、それをそのままデプロイしてくれる機能です。これまでは Web Deploy 形式として作成しないといけなかったのですが、zip ならどの環境でも簡単です。 特に CI/CD を使う場合には有用ですね。MS Deploy はオプションが少し複雑です。 そして Run-From-Zipzip ファイルをそのまま wwwroot 以下にマウントして実行に使ってしまう

    Azure Functions の新しい Run-From-Zip の仕組みと活用方法 - しばやん雑記
  • Repository for ASP.NET MVC - しばやん雑記

    ASP.NET MVC で Repository パターンを使う方法を少し調べたのでまとめてみる。 モデル 基的な方針としては Repository のインターフェースを作って、そのインターフェースを実装したクラスを作る。何でインターフェースを用意するのかは、テスタビリティ向上の為。テストプロジェクトではそのインターフェースを実装したモッククラスを用意すればテストを簡単に出来る。 共通な部分は Generic 使ってさらにインターフェースとして切り出してやったほうがいいのかも。 public interface IRepository<T> { void Add(T entity); void Remove(T entity); IList<T> ListAll(); } public interface IBookmarkRepository : IRepository<Bookmar

    Repository for ASP.NET MVC - しばやん雑記
  • Repository パターンまとめ - しばやん雑記

    まとめになるかはわかりません。タイトルを思いつかなかっただけです。 Repository for ASP.NET MVC - しばやん雑記 で Repository の使い方をちょろーんと書きましたが、IRepository で共通部分くくりだしているのに、実装はそれぞれの Repository 任せってダメダメでしたね。 なので、今回は共通部分は実装してしまおうという方向。 // 共通の Repository インターフェース public interface IRepository<T> { void Add(T entity); void Remove(T entity); IList<T> ListAll(); } // Bookmark 専用のインターフェース public interface IBookmarkRepository : IRepository<Bookmark>

    Repository パターンまとめ - しばやん雑記
  • Entity Framework コード・ファースト開発の基本 - しばやん雑記

    Entity Framework CTP4 では命名規約を利用するだけで一般的な利用において十分なモデルを作成することが出来ますが、ModelBuilder の Fluent API を利用することでより詳細な永続化マッピングルールを定義することも出来ます。 基的な部分だけですが規約と Fluent API を使った場合の違いを比べてみます。 プライマリキー 規約 public class Product { // 型名 + Id 名のプロパティが自動的にプライマリキーとして扱われる public int ProductId { get; set; } } Fluent API protected override void OnModelCreating(ModelBuilder modelBuilder) { // プライマリキーとして扱うプロパティを指定 modelBuilder.

    Entity Framework コード・ファースト開発の基本 - しばやん雑記
  • ASP.NET MVC 3 と Unity の組み合わせを試し中 - しばやん雑記

    ASP.NET MVC 3 から DI のサポートが追加されたんですが、どうも DI って好きになれなかったので放置してました。 しかし、Project Silk のソースコードを読んだのがきっかけになり、今更 DI について調べています。 とりあえず ASP.NET MVC 3 プロジェクトを作って NuGet から Unity をインストールすると使えるようにはなります。しかし、MVC 3 が提供している DI のサポートを利用するには DependencyResolver にリゾルバを追加する必要があるのですが、Unity 自体には当然ながら MVC 3 でそのまま使えるリゾルバが用意されていません。 UnityDependencyResolver で検索するといっぱいヒットしますが、一般的な IDependencyResolver の実装を載せておきます。 public class

    ASP.NET MVC 3 と Unity の組み合わせを試し中 - しばやん雑記
  • ASP.NET MVC 3 開発入門 - インデックス - しばやん雑記

    全 24 回で完結しました。 はじめに 前提知識 構成図 完成したアプリのイメージ 環境の構築 プロジェクトを作成 ビューエンジンの選択 作成されたプロジェクトを確認 サーバ側のロジックを開発 モデルをコードファーストで作成 リポジトリパターンを適用する コントローラの追加 コントローラの実装 アクションの追加 強力なモデルバインダ アクションの実装 動画アップロードの実装 クライアント側のロジックを開発 ビューの作成 Razor の文法 ビューの実装 Details アクション Create, Edit アクション Delete, Index アクション HTML ヘルパーを活用 タグ・コメント登録を実装する クライアントサイド検証を利用する ローカル環境で動作を確認 IIS 7.5 Express で動作検証 ルーティング定義を確認、追加 自動的に作成されたテーブルを確認 ASP.NE

    ASP.NET MVC 3 開発入門 - インデックス - しばやん雑記
  • HTML5 の Drag and Drop API と File API を使ってファイルアップロードを実装する - しばやん雑記

    HTML5 の Drag and Drop API を使うことで、ブラウザにドロップされたファイルの情報を扱うことが出来ます。そして File API を組み合わせることで、ファイルの中身まで扱うことが出来るようになります。 そして FormData オブジェクトと XHR を組み合わせることでアップロード処理までを実装することが出来ます。完成図はこんな感じです。 今回は JavaScript の処理が中心です。jQuery を使っているので追加してくださいね。 $(function () { var uploadFiles = function (files) { // FormData オブジェクトを用意 var fd = new FormData(); // ファイル情報を追加する for (var i = 0; i < files.length; i++) { fd.append(

    HTML5 の Drag and Drop API と File API を使ってファイルアップロードを実装する - しばやん雑記
  • 1