読者です 読者をやめる 読者になる 読者になる

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 超入門(とりあえず動かしてみよう!)

今回はXamarinで本格的な(?)開発を行う際の「gettting started」的な記事を書きたいと思います。 要点としては「Xamarin + Prism」で開発する為の「はじめの一歩」の記事となります。 「Macで Xamarin Studio を利用するケース」、「Windowsで Visual Stu…

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

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

Visual Studio for Mac + Visual Studio Team Servicesでソース管理する

仕事レベルのプログラム開発の場合、ソース管理は必ず必要となります。 しかし、今時は個人開発であってもソース管理は必要ですし、また、サンプルの実装をGithubで公開するといった事も日常的な事でしょう。 今回は開発環境として「Visual Studio for Mac」…

Entity Framework Core 1.1のHasField()とUsePropertyAccessMode()を使ってみた

Entity Framework Core 1.0 → 1.1における機能追加の1つとして「HasField()メソッドの追加」というものがあります。 Entity Frameworkでは、基本的に 「モデルクラス=データベース上のテーブル」 「モデルクラスのプロパティ=データベーステーブル上のカラ…

.NET Core開発で project.json / .csproj に手動で参照追加する場合・・・

こんな事ないですか?また、初心者な人、悩む事ないですか?的な記事です。 プロジェクトへの「パッケージ参照(アセンブリ参照)追加」は、Visual Studio などの統合開発環境を使用しているとGUI操作のみで完了してしまいます。 しかし、CLIやVisual Studio…

会社のブログができたので・・そっちにもたまに投稿します

私の所属する会社の「開発者ブログ」なるものが立ち上がりました。 ということで、そっちにもたまに投稿します! dev.knowlbo.co.jp という宣伝投稿でした。 本ブログは .NET Core を軸に、会社のブログへの投稿は Xamarin などのモバイル系および業務的に得…

ASP.NET CoreでAutoMapperを使う

AutoMapperも既に.Net Coreへの対応が行われております。 ということで、ASP.NET CoreでAutoMapperを動かしてみたいと思います。 テスト環境 テスト環境はMacで、dotnet --info の結果は以下の通りです。 ryuichi:coreMvcAutoMapper daigo$ dotnet --info .N…

「Connect(); 2016」 day1を見た

「Connect(); 2016」を見終えまして、感想を。 去年に引き続き「Connect(); 2016」はDeveloperにとって非常に面白い、興味深い発表やデモが行われたのではないかと思います。 その中で、個人的に印象に残った事柄を以下にポロポロと書き記します。 Visual St…

ORMベンチマーク(RawDataAccessBencher)をAzure IaaSで実行してみた

はじめに(雑談的な・・・) 新規のシステム開発を行う際に、最近 何気に悩むのが「データアクセスのアーキテクチャ選択」だと思います。 昔々20年前くらいであれば「SQLをADO経由でゴリゴリ実行するぞ!」でOKだったのが、今では「素のADO.NET」から「Entit…

.NET Coreでマルチプロジェクト構成のソリューションを作る

.NET Coreに限らないお話ですが・・・本ブログ 及び 各所の技術解説では単一プロジェクト構成が取られることが多いです。 これは「対象解説において”スポットを当てる技術”以外の箇所の複雑さを省く」為です。 しかし、実際のシステム開発においては、「単一…

.NET Core(Entity Framework Core)でCode Firstする

Entity Framework Core 1.1 Preview1でのCode First(コード・ファースト)による開発(というか、まず初めにC#でモデルクラスを定義。モデルクラスからデータベース定義を自動生成の流れ)について見ていきたいと思います。 「コード・ファースト」という言…

MS公式Dockerイメージを使って.NET Core開発を行う(Mac)

.NET Coreのいくつかの開発環境・ランタイム環境のDockerイメージ(Dockerfile)はMicrosoft公式としてDocker Hubで公開されています。 microsoft/dotnet - Docker Hub ターゲットOSは Linux のものと Windows Server 2016 Nano Server がありますが、ここで…

.NET Coreのバージョンを戻したい!(Mac)

.NET Core界隈は賑やかにバージョンアップを繰り返し、2016/10/25には 1.1 Preview 1 が登場していますね。 blogs.msdn.microsoft.com .NET Coreマニアたちは最新バージョンに飛びついて色々試していることでしょう。 しかし、新技術でありPreview状態であっ…

Visual Studio Code 〜 vscode-mssql拡張を使ってSQL Database(Azure)に接続する

Visual Studio Code on MacとXamarin Studioにはまっている今日この頃・・・ Visual Studio Code拡張の vscode-mssql(Microsoft SQL Server support in VS Code) を使ってAzure SQL Databaseに接続&クエリー実行するという事を試してみました。 Azure SQL D…

Microsoft Tech Summitに行ってきた(PartsUnlimitedをMacで動かす、のおさらい)

2016/11/1-2に開催されたMicrosoft Tech Summit 2016にちょこっとだけ参加してきました。 2日間フル参戦できれば幸せですが、打ち合わせやら作業やらの為、11/2に3セッションのみの参加となりました。 で、私が受講したのは以下の3セッション。 SPL003 【Dev…

ASP.NET Core~SerilogからSeqでロギングしてslackに通知する

数年前から「プレインテキストログ派」vs「構造化ログ派」戦争が起こっているとかいないとか・・・ そんな私が関わるプロジェクトの多くは、やはり大抵log4netマンセーであります。 現在のアプリケーションにおいてロギングは当然のごとく実装すべきものであ…

ASP.NET CoreにおけるDI(Dependency Injection)

ASP.NET Coreでは「DI(Dependency Injection)」を基本として使用するアーキテクチャが採用されています。 DI自体は古くからある考え方であり、Javaなどでは昔から、そして今でもメジャーに使われている技術です。 勿論 .NET 開発者の間でも利用されています…

DevOpsが最近身の回りで流行っている・・・気がするお話し

最近身の回りで DevOps について話し合う機会が多くなりました。そこで、自分自身でも色々考えてみたので、考えの整理を含めてブログに記したいと思います。 今更か・・・ DevOpsの起源は Velocity2009 でflickr技術者の語った「10 deploys per day」である…

非真面目なウォーターフォールとアジャイル、そしてエンジニアとマネージャに思うこと

こんな20年を送ってきたのですよ・・・ 約20年弱 日本のソフトウェア業界で働いてくると、思うことや希望や絶望や色々なことを心に抱えるものです。 私自身は、入社に希望を持たないコンピュータ企業に1.5年、希望を持つ独立系ソフトウェア零細企業に…

Visual Studio Codeで.NET Coreアプリをデバッグする

Visual Studio Codeのリリース当初、普段 仕事でフルセットの Visual Studio 2015 を使っている身としてあまり関心を持っていなかったのですが、使ってみたらなんだか結構いけてる気がしてきました。 VS2015ほど、裏でいろいろお世話してくれることもないの…

ASP.NET CoreアプリをAzure App Serviceに配置して、Production / Stagingのスワップまで試す

今回のシナリオとしては以下を想定しています。 VS2015でASP.NET Coreアプリを作成 構成情報として appSettings.json を用意 *また、Staging環境用の appSettings.Staging.json、開発環境用の appSettings.Development.json を用意 AzureのApp Serviceにデプ…

ASP.NET Core RC2 ~ 構成情報(config)の読み込み

ASP.NET Coreにおける構成情報(ユーザー定義の構成)の読み込みについて記述したいと思います。 ということで全体のアジェンダは以下の通り。 従来のASP.NETでの構成ファイル ASP.NET Coreでの新しい構成ファイル JSONファイル形式 階層型データ形式 INIフ…

de:code 2016 Keynoteを改めて観なおして

5/24-25で開催されましたde:code 2016にちょろっと参加しました。 (全セッションの動画配信されないかなぁ) また、channel9でKeynoteを改めて観なおして思った事、それからこの1~2年にマイクロソフトに対して思っていることのまとめをここに記述しておこ…

ASP.NET Core RC2でHelloWorld~EntryPointとStartupも探る

ASP.NET Core RC2 と Visual Studio 2015 UPDATE 2でHello Worldを作ってみようと思います。 で、その後でASP.NET Coreの基本動作の部分について少し探索してみようかと思います。 まずは準備 ①Visual Studio 2015:UPDATE 2を適用した環境を用意 ②.NET Core…

ASP.NET Core 1.0の概要を整理する

2016/5/19に ASP.NET Core もRC2になりましてGo-live licenseも付きました。と、いうことでASP.NET Core 1.0について整理しておこうかな、と。 個人的にはK runtimeと言われたあたりからちょろちょろっと注目し始めて、RC1から本格的に見始めた感じです。 ま…