タグ

ブックマーク / tnakamura.hatenablog.com (45)

  • ASP.NET Core MVC で Basic 認証 - present

    先日 ASP.NET Core で Basic 認証を行うサンプルを書いた。 tnakamura.hatenablog.com ただ、これだと全てのパスで認証が必要になってしまう。 もともとやりたかったことは、 「ASP.NET Core MVC で Authorized 属性を付けたアクションだけを認証必須にすること」。 Microsoft.AspNetCore.Authentication をベースに Basic 認証ミドルウェアを作れば実現できそうだったけど、既に同じことをやっている人がいた。 github.com NuGet でパッケージが公開されているので、使わせてもらうことにした。 using idunno.Authentication; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.

    ASP.NET Core MVC で Basic 認証 - present
    nakaji999
    nakaji999 2018/10/16
  • ASP.NET Core で Basic 認証 - present

    ASP.NET Core で Basic 認証を行うサンプルを書いてみた。ユーザーは固定なので、番で使うときは ASP.NET Core Identity みたいに、ユーザー情報をストアから取得するようにしたほうがいいだろうな。 using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using System; using System.IO; using System.Security.Claims; using System.Text; using System.Th

    ASP.NET Core で Basic 認証 - present
    nakaji999
    nakaji999 2018/10/16
  • 2017 年の抱負 - present

    毎年抱負を書いてはいるものの、達成できたためしはない。でも続けることが重要。性懲りも無く、2017 年も抱負を書きたいと思う。 2017 年は OSS に注力したい。それも、有名 OSS にコントリビュートするのではなくて、自らツールやライブラリを書いて公開したい。言語は去年に引き続き C#。.NET Core と Xamarin がメインで、余力があれば Unity も。 というのも最近、エンジニアとしての生存戦略を考えなければと思うようになった。この先生きのこるために実績を作りたい。業でやったことは公開できそうにないので、プライベートプロジェクトでやるしかない。 1日のうち30分〜1時間は時間を確保できるようになったので、MacBook Proを新調した今年ならできるはず。ネットやマンガといった誘惑に負けないことが前提だけど。

    2017 年の抱負 - present
    nakaji999
    nakaji999 2017/01/04
    自分もそうなんだよなぁ “MacBook Proを新調した今年ならできるはず。”
  • ASP.NET Core で Swashbuckle - present

    はじめに Swashbuckle はまだプレリリースの段階ではあるけど、 ASP.NET Core にも対応しているみたい。 github.com Swashbuckle を使えば、Web API の実装から Swagger Definitions を生成できる。 温かみのある手作業で、 Web API の Swagger Definitions を書いていたけど、 もう限界なので試してみることにした。 プロジェクト新規作成 今回は Web API だけ使うので、 ASP.NET Core の Web API プロジェクトを作成しておく。 Swashbuckle をインストール project.json の dependencies に "Swashbuckle": "6.0.0-beta902" を追加して、パッケージをリストア。 Swagger を使うように Startup を修正 u

    ASP.NET Core で Swashbuckle - present
    nakaji999
    nakaji999 2016/10/09
  • ASP.NET Core アプリケーションを Docker で動かす - present

    yo aspnet で作成したプロジェクトには Dockerfile が含まれているので、 ASP.NET Core アプリケーションを Docker で動かすこともできる。 ただ、2016/07/25 時点では Dockerfile に手直しが必要。 そのままだと docker build でコケる。 といっても apt-get に -y オプションを追加するだけだけど。 修正した Dockerfile がこちら。 FROM microsoft/dotnet:latest RUN apt-get update && apt-get install -y sqlite3 libsqlite3-dev COPY . /app WORKDIR /app RUN ["dotnet", "restore"] RUN ["dotnet", "build"] RUN ["dotnet", "ef",

    ASP.NET Core アプリケーションを Docker で動かす - present
    nakaji999
    nakaji999 2016/08/16
  • Web API の Swagger definition を書いてみた - present

    Single Page Application(SPA) の開発を効率化できないか検討している。 具体的にはクライアント側と Web API 側を平行に開発したい。 Web API のインタフェースを定義しておいて、 Web API が形になるまではスタブを使ってクライアント側を開発すれば、 平行に開発できそうだ。 これは誰でも思いつくやり方。 そこで白羽の矢が立ったのが Swagger。 http://swagger.io/swagger.io Swagger を使ってみた記事はネットでたくさん見つかったけど、 その多くが既存の Web API から Swagger を使ってドキュメントを生成するものだった。 やりたいのは Web API の Swagger definition を書いて、 Swagger を使ってドキュメントとソースコードの生成。 試しに、ユーザーの CRUD を行う

    Web API の Swagger definition を書いてみた - present
    nakaji999
    nakaji999 2016/03/09
  • ASP.NET MVC アプリの画面テストで Selenium を試してみた - present

    Selenium 実践入門を読んで Selenium 熱に火がついたので、 ASP.NET MVC で実装しているアプリの画面テストを Selenium 使って書くことにした。 もちろん C# で。 画面テスト専用のテストプロジェクトを作成し、 Selenium を使うためのパッケージをインストール。 PM> Install-Package Selenium.WebDriver PM> Install-Package Selenium.Support 最初はログインページの自動テストから書くことする。 ページオブジェクトパターンでやるので、ログインページを抽象化したページオブジェクトを作っておく。 using OpenQA.Selenium; namespace MyMvcApp.UITests { public class LoginPage { private IWebDriver _

    ASP.NET MVC アプリの画面テストで Selenium を試してみた - present
  • ASP.NET MVC でチャートを表示 - present

    ASP.NET MVC でレーダーチャートを表示する方法を調べたところ、 System.Web.Helpers にある Chart クラスを使うのが手っ取り早そうだった。 System.Web.Helpers は ASP.NET MVC 5 のプロジェクトを新規作成すると、 既にアセンブリ参照に含まれているから、 すぐに使えて嬉しい。 試しにレーダーチャートを出力してみる。 まず、コントローラーでレーダーチャートの画像ファイルを作成し、パスをビューに渡す。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Helpers; using System.Web.Mvc; namespace ChartSamp

    ASP.NET MVC でチャートを表示 - present
  • ASP.NET MVC で PDF を作成 - present

    ASP.NET MVC でチャートを表示するには、 System.Web.Helpers にある Chart クラスを使えばいいことが分かった。 ASP.NET MVC でチャートを表示 - present ここからさらに、チャートを含んだドキュメントを PDF でダウンロードできるようにしたい。 これを実現するには、iTextSharp を使うのが良さそうだ。 iTextSharp では、PDF に画像を埋め込むのはそう難しくない。 using iTextSharp; using iTextSharp.text; using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using Syst

    ASP.NET MVC で PDF を作成 - present
  • 死にたくないのでエチケットカッターを買った - present

    Wikipedia によると、鼻毛を抜くと死ぬ可能性があるらしい。 鼻毛は脳に近い場所にあるため、鼻毛を抜くと毛根が黴菌により炎症し化膿、脳に影響が及んで死亡する場合がある 死因が「鼻毛を抜いたから」というのは勘弁。エチケットカッターを買うことにした。 買ったのは、ネットで評判が高かったパナソニック製のエチケットカッター。 届いたので早速使ってみたけど、予想外にくすぐったかった。 自分が敏感なだけかも。 鼻の中央側はハサミで切りにくくて神経使っていたけど、エチケットカッターだと簡単。 あと、眉を整えるのにも使えるのも嬉しい。 鼻に使ったやつを眉にも、ってのは抵抗あるけど、水洗いすれば気にならない。 最低でも月に1回掃除した方がいいらしい。 2160 円と値段は高くないし、買ってよかった。オススメ。

    死にたくないのでエチケットカッターを買った - present
    nakaji999
    nakaji999 2014/07/22
    俺も死にたくないから検討しよう
  • SQL Server 2012 の DAC Framework を試してみた - present

    Windows Azure + Azure SQL データベースでサービスを提供するにあたって、今頭を悩ませているのがデータのバックアップ。ファストサーバーの件もあるし…。 Windows Azure ポータルサイトから手動でバックアップする手段は提供されてるけど、定期的に自動でバックアップを取りたい。そこで、SQL Server 2012 で提供されている DAC Framework を使ってバックアップの仕組みを構築しようと考えている。ちなみに、Windows Azure ポータルのバックアップ機能も DAC Framework を使っているみたい。どうせなら同じ形式がいいよね。独自形式にする理由なし。 ひとまず、DAC Framework を使ってデータベースのエクスポートとインポートができるか実験してみた。Azure SQL データベースは試用期間切れてまだ契約してないので試してい

    SQL Server 2012 の DAC Framework を試してみた - present
  • Azure SQL データベースの課金の仕様がややこしい - present

    Azure SQL Database で、データを Insert したり Delete したり、ときにはデータベースを CREATE したり DROP したりしていたら、無料評価版の有効期限を30日残して Azure SQL Database の使用制限に達してしまった。 てっきり、データベースに保存しているデータのサイズで課金されると思っていた。Webエディション1GBなら、データのサイズが1GB以内に収まっている間は定額、って思っていたら違ったみたい。 Azure SQL データベースにデータをInsertしたりDeleteしたり、データベースをDropしてCreateしたりしてたら、全然データ保存してないのに無料分を使い果たしてしまった。保存してるデータ量で課金されるんじゃなかったのかな? #azurejp 2012-06-19 10:24:11 via twicca @t_naka

  • Selenium でブラウザを自動操縦して Web アプリをテストする - present

    はじめに Jasmine の RubyGems を使ってコマンドラインから JavaScript のテストを実行できたけど、Ruby からブラウザを自動操縦するのには Selenium WebDriver を使っているみたい。この Selenium WebDriver 、Ruby だけじゃなくて、C# や JavaPython から利用するためのライブラリもあります。ということは、慣れ親しんだ C# で Web アプリの UI のテストが書けますね。 Selenium WebDriver を試してみる Selenium WebDriver のライブラリは下記のページで入手できます。 Downloads C# 用のライブラリを使って、「IE を起動してこのブログを表示し .NET で記事を検索する」テストを書いてみました。 using System; using System.Coll

    Selenium でブラウザを自動操縦して Web アプリをテストする - present
  • .NET 開発者のための Jenkins 入門 - present

    はじめに 仕事で Subversion と Trac を使っていますが、残念ながら、活用できているとは言えません。継続的インテグレーション(以下CI)?何それおいしいの?って状態。そもそも CI やるために Trac とか諸々導入したはずなんですけどね…。 CI 導入しなきゃと思い続けて結構な期間が経過しました。その間、定期的にリリースビルドを行っていたんですが、コミット忘れや修正し忘れにより、何度もビルド環境がぶっ壊される…。その度に手作業で修正してたんですが、さすがに堪忍袋の緒が切れて CI 導入を開始しました。 やりたいこと ひとまず次ができれば OK。 Subversion を定期的に監視して、変更があったらビルドとテストを実行。 失敗したら管理者にメールを送信する。 ビルドぶっ壊した人にメール送る。 CI ツールは Jenkins、ソースコード管理システムは Subversion

    .NET 開発者のための Jenkins 入門 - present
  • 第二新卒をとうの昔に過ぎた30才前後の人が違う業界に転職するには - present

    私が違う業界に転職したい、というわけじゃないけど、考える機会があったので。思考実験をメモしておきます。 よく「30才過ぎて違う業界に転職するのは無理」と聞きます。確かに、中途採用では即戦力が求められるので、よほどのコネでもない限りは無理。どうしてもその業界で仕事がしたいなら独立するしかないです。しかしまったくの素人だと成功する可能性は限りなくゼロ。リスク高すぎです。 これだと夢も希望もないですね。視点を変えてみます。例えば自分がベンチャー企業を経営していて、中途採用をする立場で考えてみます。 自分の会社に、まったくのド素人を中途で採用するか?いや、しないでしょう。同じ未経験なら新卒を採ります。ただし、よく知っている人なら採用する可能性はあります。つまりコネですね。 では、業務の経験はないけど、プライベートでいろいろ活動している人だったら?私なら、活動の内容が公開されていて、それを見て戦力に

    第二新卒をとうの昔に過ぎた30才前後の人が違う業界に転職するには - present
  • 結局最後は「MVVM + Messenger + Behavior パターン」に行き着いた - present

    はじめに 前回、Messenger パターンという、ViewModel から View に要求を送る方法を試しました。 いまさら聞けない「MVVM + Messenger パターン」超入門 - present ただ、「View のコードビハインドにメッセージを処理するコードなんて書きたくない!」っていう人は結構いるみたいです。私もできることならコードビハインド書きたくないですね。 そんな人向けに、「Blend SDK に含まれている System.Windows.Interactivity.dll を使って、メッセージに対する処理を XAML で書いてしまおう」という、 Messenger を発展させたパターンがありました。その名も「Messenger + Behavior パターン」。 Messenger + Behavior パターンの鍵 System.Windows.Interact

    結局最後は「MVVM + Messenger + Behavior パターン」に行き着いた - present
  • Mercurial + Bitbucket = 最高! - present

    はじめに Mercurial リポジトリのホスティングサービス『Bitbucket』が、容量無制限&プライベートリポジトリ作り放題になっていました。 Free source code hosting — Bitbucket 似たようなサービスでは、Git リポジトリのホスティングサービス『GitHub』が有名ですが、こちらは無料アカウントだとプライベートリポジトリが作れません。容量も現時点で 300MB までと制限されています。 無料アカウントで出来ることは、Bitbucket が圧勝ですね。 前からプライベートリポジトリが欲しかったので、Bitbucket に飛びついてみました。 Mercurial を導入します Mercurial をインストール 公式サイトからダウンロードしてインストールします。 Mercurial SCM Windows で Cygwin を使っている場合は、Cyg

    Mercurial + Bitbucket = 最高! - present
  • いまさら聞けない「MVVM + Messenger パターン」超入門 - present

    はじめに 以前、MVVM パターンで ViewModel から View を操作する話題で祭になりました。 MVVM パターンで VM から VIEW を操作したい MVVMでVMからViewを操作する考察 - The Road to C# Master Trapemiya MVVMパターンでVMからVに通知する方法 - かずきのBlog@Hatena MVVM パターンで ViewModel から Viewを操作する方法 - present その後しばらく WPF や Silverlight から離れていたんですが、その間に Messenger というパターンが有力になってきたみたいです。さっそく調査開始。 Messenger パターンって? 簡単に説明すると、View と ViewModel が共通の Messenger を参照し、ViewModel は Messenger を介して

    いまさら聞けない「MVVM + Messenger パターン」超入門 - present
  • Reactive Extensions 入門(1) - present

    入門するのは私なんですけどね。.NET Framework 4 SP1 で追加されると噂の Reactive Extensions(以下 Rx)。ずっと気にはなっていたんですが、まったく触っていませんでした。 id:okazuki さんが Rx の入門記事を書いていたり、neue さんが Rx の詳細な解説を書いていたりしていて、今更な感じがしますが、ブログのネタに困っていたので記事にしてみます。車輪の再発明みたいなもんです。あと、コード書かないと理解できない残念な頭なので、記憶の整理も兼ねています。 Rx と言えば、仮面ライダー…じゃなかった、Observer パターンです。あの GoF のデザインパターンのひとつ。 http://itpro.nikkeibp.co.jp/article/COLUMN/20051227/226807/ 簡単に言えば Rx は「Observer パターンを

    Reactive Extensions 入門(1) - present
  • 匿名クラスを使ったリファクタリング - present

    最近、メソッド内のローカル変数の数が多くなると、関連性のあるものを匿名クラスを使ってまとめるようになりました。こんな風に。 // WCF で使う設定を匿名クラスにまとめる var config = new { BaseAddress = "net.pipe://localhost", Address = "Greeting", Binding = new NetNamedPipeBinding(), }; var host = new ServiceHost( typeof(GreetingService), config.BaseAddress); host.AddServiceEndpoint( typeof(IGreetingService), config.Binding, config.Address); host.Open(); var client = ChannelFact

    匿名クラスを使ったリファクタリング - present