C#7.1のAsync Mainがお気に入り~Visual Studio 2017 Update 3(15.3)

Visual Studio 2017 Update3(15.3)が 2017/8/14 にリリースされました。 www.visualstudio.com .NET Core 2.0サポートだったり、コンパイルベースのAzure Functionsサポートのような今までPreview版を利用しなければならなかった機能が正式版で使えるように…

Azure FunctionsでCosmos DBを入力バインドする

以前「Azure FunctionsからCosmos DBに出力バインドする」という記事を書きましたので、それと対になる形で入力バインドについても簡単にまとめておこうと思います。 ryuichi111std.hatenablog.com 今回 実装することは以下の通りです。 HttpTriggerを持つAz…

「Serverless Meetup Tokyo #4」に参加した話

2017/8/9 「Serverless Meetup Tokyo #4」に参加してきました。 serverless.connpass.com 4回目の開催ということですが、私は初めての参加になりました。 すんごい人気なので、#5も今の時点で満員状態のようです(補欠当選も十分あるので、興味があれば、溢…

【Cosmos DB】有効期限(TTL)で自動削除されるデータを作る

1 概要 Cosmos DBでは「有効期限付きデータ(ドキュメント)」というものを作ることができます。 ログ情報とかユーザーセッション情報とかのデータを ドンドコドンドコ 投入して、一定期間経過したデータは自動で削除するようなケースで利用可能です。 「よ…

<2017年8月版>Xamarin + Prism 超入門(とりあえず動かしてみよう!)

最近の本ブログへのトラフィックのうち、以前に書いた以下の記事へのものが未だに多いようです。 ryuichi111std.hatenablog.com ただし、上記記事では開発環境が Visual Studio 2015 であり、少し古いバージョンをベースとしています。 その為、[2017年8月版…

Azure FunctionsからCosmos DBに出力バインドする(2)~.csコンパイル編

1. はじめに 前回のエントリーに引き続きの投稿になります。 Azure Functions 出力バインドを利用し Cosmos DB にデータ出力を行います。 前回はAzureポータルのみでFunctionsの作成を行いました。 また、ソースコードの実装は .csx(C#スクリプト) をポー…

Azure FunctionsからCosmos DBに出力バインドする(1)~.csx編

Azure Functionsには、その実行に関して「トリガー」「バインド」という概念が存在します。 「トリガー」 ファンクションの実行のきっかけとなるもの。「1つのファンクション」に「1つのトリガー」が定義されます。 「バインド」 そのファンクションで処理す…

Azure Cosmos DB入門(8)

本コンテンツは「Azure Cosmos DB入門」の(8)です ryuichi111std.hatenablog.com 8 Cosmos DBをもっと知りたい 8.1 一貫性レベル(Consistency Level) CAP定理 多くの分散型NoSQLのアプローチ 8.1.1 Cosmos DBの提供する一貫性レベル(Consistency Level)…

Azure Cosmos DB入門(7)

本コンテンツは「Azure Cosmos DB入門」の(7)です ryuichi111std.hatenablog.com 7 Cosmos DBプログラミング ~ Table編 7.1 はじめに 7.1.1 Cosmos DB(Table) と Azure Table Storage 7.1.2 アクセス用クラスライブラリ 7.2 Cosmos DB(Table) 7.2.1 デー…

Azure Cosmos DB入門(6)

本コンテンツは「Azure Cosmos DB入門」の(6)です ryuichi111std.hatenablog.com 6 Cosmos DBプログラミング ~ Gremlin編 6.1 はじめに 6.1.1 グラフ データモデルとは 6.1.2 Gremlinとは 6.2 準備 6.2.1 Cosmos DB(Gremlin)データベースアカウントの作…

Azure SQL Databaseで、Elastic PoolにGEOレプリケーションする時にハマった話

はじめに Azure SQL Databaseは単独リージョンへの展開のみで 99.99% の可用性をSLAで保証しています。(SQL Database の SLA) とはいえ「2017年3月 のAzure障害祭り」のようなことが発生することも事実です。 (私個人としては、”Azure(やクラウド)批判…

Azure Cosmos DB入門(5)

本コンテンツは「Azure Cosmos DB入門」の(5)です ryuichi111std.hatenablog.com 5 Cosmos DBプログラミング ~ MongoDB編 5.1 はじめに 5.1.1 Cosmos DB(MongoDBデータモデル)とMongoDB 5.2 準備 5.2.1 Cosmos DB(MongoDB)データベースアカウントの作成…

Azure Cosmos DB入門(4)

本コンテンツは「Azure Cosmos DB入門」の(4)です。 ryuichi111std.hatenablog.com 4 Cosmos DBプログラミング ~ DocumentDB編(後編) 4.1 サーバーサイド(データベースサイド)ロジック 4.2 トランザクション 4.2.1 Cosmos DBでのトランザクション 4.…

Azure Cosmos DB入門(3)

本コンテンツは「Azure Cosmos DB入門」の(3)です ryuichi111std.hatenablog.com 3 Cosmos DBプログラミング ~ DocumentDB編(前編) 3.1 まず、はじめに 3.1.1 DocumentDBとSQL 3.1.2 REST API(DocumentDB API) と クラスライブラリ 3.2 準備 3.2.1 Cos…

Azure Cosmos DB入門(2)

本コンテンツは「Azure Cosmos DB入門」の(2)です。 ryuichi111std.hatenablog.com 2 Cosmos DBの主要概念 前回の「Azure CosmosDB入門(1)」では、Cosmos DBの「特徴」と「Hello Cosmos DB」と題した簡単なサンプルについて説明しました。 早く具体的な…

Azure Cosmos DB入門(1)

本コンテンツは「Azure Cosmos DB入門」の(1)です。 ryuichi111std.hatenablog.com 1 Cosmos DBとは Cosmos DBはAzureで提供されるデータベースサービスの1つです。データベースの種類としては、いわゆる「NoSQL」データベースとなります。 公式ドキュメ…

Azure Cosmos DB入門(目次)

「Azure Cosmos DB入門」目次 DocumentDB が Azure Cosmos DB としてリニューアルされたので、改めてこのサービスの全体像を整理したコンテンツ(ブログ)を「Cosmos DB入門」として書こうと思います。 目次は以下の通り。順次コンテンツを追加していく予定…

DocumentDBライブラリの「1クエリ」は「1HTTPリクエスト」ではない

豆知識的なメモ ブログです。 私自身、DocumentDBを学ぶ上で「あー、そうなんだぁ。ライブラリがいい意味でも、そうでない意味でも、面倒見てくれてるんだなぁ」と思った点について書いておきます。 ※本記事では「FeedOptions.MaxItemCount」と「DocumentDB…

DocumentDB でページング処理を行う

「データを一覧してページング表示する」という要件は エンプラ系でも コンシューマー系でも 常にある要件です。 ということで、DocumentDBでデータのページング取得を行う方法を書いておこうと思います。 1. 前提 DocumentDBアカウントには、既に以下のデー…

DocumentDB のインデックス設定によるRUの変動について

DocumentDBのインデックスについて調べてのでブログに記しておこうと思います。 DocumentDBではデフォルト設定でも結構いい感じに動くようにインデックス設定が行われているのですが、カスタマイズ可能であり、これを最適化するとRUや(インデックス用)デー…

DocumentDBの(マスター)キーとauthorizationトークンについて

最近 DocumentDB について調べたり、使ったりしております。 DocumentDB は (たしか)2015年にGAしたと思うのですが、GAから日が経っているのに、想像したよりもネット上のブログなどでの資料が少ない気がしています(特に日本語)。 一方 本家のドキュメン…

Computer Vision APIでランドマーク認識する

本日は天気が良く、最近にしては珍しく予定が何もなかったのでプチドライブにいってきました。 我が家のある夢の国を出発し、永代橋を渡り、銀座を通り抜け、東京タワーへ、そしてレインボーブリッジ(下の一般道)を渡って夢の国に舞い戻る・・・という。 …

Global Azure Bootcamp 2017@Tokyo に行ってきた

本日(2017/4/22)、Global Azure Bootcamp 2017@Tokyoに参加してきました。 Global Azure Bootcamp 2017@Tokyo - connpass ということで、ざっくり(長々?)個人的感想を垂れ流しておきます。 Azureって何よ2017年の最新情報をゆるまとめ JAZUG女子部の安…

DocumentDBのgeospatial機能で地理的検索(位置情報検索)を行う

結構以前からあったものだと思うのですが、Azure DocumentDBの「geospatial(地理空間検索)」機能を使ってみたいと思います。 緯度・経度情報をDocumentDBに保存しておき、以下のような操作を行うことが可能です。 2点間の距離の算出 1つの地理的領域が、…

Visual Studio for Mac から ASP.NET CoreアプリをAzureにパブリッシュ!

Visual Studio for MacでASP.NET CoreアプリをAzure App Service にパブリッシュしてみたいと思います。 では早速。(Visual Studio for MacのGUIとウィザードが自動出力するコードのみを使ったノンコーディング操作で行きます。) 1. プロジェクトの作成 Vi…

ASP.NET Core で URL Rewrite する

Webサーバーである「Apache」や「IIS」には URL Rewrite 機能が付いています。 同様にASP.NET Coreでも、アプリケーションレベルとしてのURL Rewrite機能が実装がされています。 ということで、簡単にご紹介を。 準備 Visual Studio 2017を起動し以下のプロ…

C#7のローカル関数(Local Function)とは何か

C#

C# 7には「ローカル関数(Local Function)」という機能が追加されました。 関数(メソッド)の中に関数を定義できるというものです。 以下は(処理的には何の意味も持ちませんが)ローカル関数を使った例です(リスト1)。 TestClass1クラスのTestMethod1()…

Azure FunctionsをVS2017でローカル実行&デバッグしてパブリッシュする

MSDNブログ(↓↓↓)で Azure Functions 関連の記事を見たので自分でやってみました。 blogs.msdn.microsoft.com 上記ブログに記述されている事、そして今回自分で試した事を要約すると以下の内容です。 Azure FunctionsをVisual Studio 2017で開発&デバッグ…

Azure VM 2台 を超簡単にLoad Balancer構成してみた

先日、Azureの障害祭りがあったということで・・・というわけではないですが(笑) 2台構成の Azure Virtual Machine(高可用性)を、「超簡単に」組むというのをやってみました。 また、今更どうこう言うまでもなく ResourceManager ベースになってから、Az…

C# 7 の Tuple は戻り値が複数の時に便利

2017/3/11、「Visual Studio 2017 リリース記念勉強会 & まどすた #2」に参加してきました。 1コマ目のセッションとして、岩永 信之(@ufcpp)さんの「C# 7」セッションを聞かせていただきました。 C# 7の新機能について非常に細かく説明していただきましたが…

VS2017よりもっと先取りしたい! ~ Visual Studio Preview

2017/3/7に Visual Studio 2017 がリリースされました。 多くの機能が盛り込まれ、そして改善されました。 私を含め皆さんも Visual Studio 2017 の新機能を試して、プロジェクトへの導入の検討をしていることでしょう。 しかし、ギーク達は更なる「おもちゃ…

Docker Support で ASP.NET Core アプリを作る - Visual Studio 2017

Visual Studio 2017がいよいよ正式リリースされました。 個人的感想としたは「超目玉!!!」な機能は、感じられていないのですが、個々の技術要素は非常に興味深く思っています。 昔に比べて、各情報は小出しにリリースされるので上記のような感想を持つ形…

Portability Analyzerを使ってライブラリの.NET Standard準拠を調べよう

Visual Studio 2017のリリースを迎え(るにあたり)、(技術的には、直接的にそこに関連付いているわけではないけれど)「.NET Standard」というキーワードが強く聞こえてくるようになった気がしています。 そうそう、先日、 Xamarin Studio も .NET Standar…

Visual Studio 2017 で Live Unit Testing(xUnit)した感想

3月7日にVisual Studio 2017の正式リリースを控えた週末に、RC版でチョロチョロと遊んでいました。 その中で「Live Unit Testing」について書いてみたいと思います。 この機能は、結構わかりやすい機能で、すでに多くの方がブログ等で紹介されています。 MsT…

Syncfusion SfAutoComplete を使ってみる - Xamarin Forms

前回の投稿に引き続いて Syncfusion の Essential Studio for Xamarin を使ってみたいと思います。 ↓↓↓前回↓↓↓ ryuichi111std.hatenablog.com 今回は SfAutoComplete を使ってみます。 SfAutoComplete は、テキストボックスへのユーザーの入力に対して、候補…

Syncfusion SfTreeMap を使ってみる - Xamarin Forms

最近ちょろちょろと Syncfusion の Essential Studio for Xamarin で遊んでおりました。 ということで、各コンポーネントの使い方なんかをブログにあげていこうかな、と思います。 まずは SfTreeMap の使い方について書きたいと思います。 Syncfusion Essent…

Xamarin Formsでカスタムレイアウトを作ってみる

Xamarin Formsでは Grid / StackLayout / RelativeLayout / AbsoluteLayout などいくつものLayoutが用意されています。 これら以外に、開発者が独自に カスタムレイアウト を作成する事が出来ます。 という事で、カスタムレイアウトの勉強として「ShuffleLay…

Xamarin Forms - StackLayoutのVerticalOptions(Expands)について

(非常にピンポイントな話題ですが)Xamarin FormsのStackLayoutにおける、子コントロールの配置で、「VerticalOptions(HorizontalOptions)」指定時の動きについて纏めたいと思います(特にExpandsに焦点を当てて)。 このネタ、先日の「Xamarin.Forms本 邦…

「JXUGC #22 最新事例&お前のアプリを説明してもらおうの会」に参加した話

今まで、ユーザーグループやコミュニティのイベントには消極的だったのですが、2017年から色々なところに参加させていただこうかと思い、本日(1/28)の「JXUGC #22 最新事例&お前のアプリを説明してもらおうの会」にも参加させていただきました。 このイベ…

Xamarin Studio(Xamarin Forms)でxUnitする

Xamarin StudioでxUnitを利用する方法についてメモしておきます。 ユニットテストツール xUnit を Xamarin Studioで使用する方法になります。 誰でも出来るように丁寧に画面キャプチャして説明したいと思います。 アドインを追加する テストランナーを Xamar…

プレリリース版のXamarin Formsを使う方法

前回のポストでプレリリース版「Xamarin.Forms 2.3.4.184-pre1」のPickerコントロールについて触れました。 Xamarin Studio や Visual Studio for Mac を利用して新規ソリューション(プロジェクト)を作成した場合、通常、Stable版のXamarin Formsプロジェ…

PickerがBindableになるそうだ(Xamarin.Forms 2.3.4.184-pre1)

Xamarin Forms + MVVM開発において最も相性の悪いコントロールの代表である Picker がBindableになるそうです。 現在 Xamarin.Forms 2.3.4.184-pre1 にて実装が提供されています。 blog.xamarin.com 正式版への取り込みは以下のロードマップに記述されている…

Xamarin Forms(Prism)のシンプルサンプルをGithubにあげた

Xamarin Forms & Prismにおける超シンプルなサンプルをGithubにあげました。 github.com サンプルの方針は以下です。 Xamarin Forms + Prismプロジェクトである。 各種UIコントロールのプロパティはViewModelのプロパティとデータバインディングする。 各種U…

Prism(Xamarin Forms) における INotifyPropertyChanged

Xamarin Formsおいて ソース→ターゲット のデータバインディングでは、ソースオブジェクトに INotifyPropertyChangedインターフェイス を実装する必要があります(OneTimeモードは除く)。 この点について「素のXamarin Forms」と「Xamarin Forms With Prism…

XAMLとコンパイルについて(Xamarin Forms)

あけましておめでとうございます。 今年も「自分の知識の整理」と「技術者としてのフェアの精神(ネットで教えてもらうだけでなく、自ら知り得た知識を共有する精神)」でブログを書いていこうと思います。 また、今年は勉強会とかにも積極的に顔を出してみ…

Xamarin Formsのデータバインディングを整理する(2)

前回の続き・・・ 前回の投稿では、Xamarin Formsにおけるデータバインディングの基本(?)について説明しました。それらは単一コントロール(ターゲット)へのデータバインディングでした。 ryuichi111std.hatenablog.com 今回は「コレクションデータ」(…

Xamarin Formsのデータバインディングを整理する(1)

昨今の開発言語やフレームワークにおいて「データバインディング」は非常に重要で有益な技術となっています。 Xamarin Formsにおいても データバインディング がサポートされており、これは WPF / Silverlight などから引き継がれた技術になります(といって…

C# 7 のタプル機能(そろそろC# 7について考えたのです)

C# 7 ではいくつかの機能追加が行われています。 というか、言語仕様レベルでの機能追加がまだ行われるとか、どんどん複雑化していくような危惧も持ってしまいますが・・・「デコンストラクタ」とか本当に必要なのかなぁ・・・とか思っちゃったりもするけど…

Xamarin + Prism 超入門(とりあえず動かしてみよう!)

[2017/8/3追記] Visual Studio 2017をターゲットとした焼き直し記事を書きました。 ryuichi111std.hatenablog.com 本エントリーはVisual Studio 2015をベースとしています。 Visual Studio 2017での作業手順は上記「<2017年8月版>Xamarin + Prism 超入門(と…

Azure DocumentDB Emulatorを使ってみた。で、.NET Coreから操作した話。

技術者としての尊敬の対象である Scott Hanselman 氏のブログで「Azure DocumentDB Emulator」についての記事が書かれていたので、自分でも使ってみました。 www.hanselman.com こんなことをやった 「Azure DocumentDB」は、もはや、広く知られた Azureが提…