db tech showcase 2017(1日目)に参加した話

今回の投稿は、いつもの、技術を論じるブログではなく読み物です^^; 2017/9/5、db tech showcase 2017に参加しました。 私はDatabaseを軸として打ち出しているイベント(セミナー)に参加したのは実は初めてだったりします(「私はDB屋では無い」のです)…

Dictionary to Objectのマッパーを使う - Slapper.AutoMapper

本日、会社でDictionaryオブジェクトからObjectへのオートマッパーを行う方法知りませんかー?と聞かれまして・・・ 決め打ちの固定プロパティへのマッピングであれば、AutoMapperのMapFromで出来るかなぁ・・・と思ったのですが・・・ 要件としてはプロパテ…

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で開発&デバッグ…