redwarrior’s diary

C#, ASP.NET, WEB, G*などの雑多な情報

第17回 Tokyo Atlassian ユーザーグループ に参加した

etc

こちらも2カ月くらいたってしまって今更感がありますが、参加したので感想を書いておきます。 Confluence上でKPIをレポート自動生成によって共有する レポートにテンプレートエンジンを使用して、Webアプリのようにレポートを作成するという内容でした。Conf…

(小ネタ)プロダクトバックログについて勘違いしていたこと

プロダクトバックログについて勘違いしていた。 プロダクトバックログは、複数の要求に優先順位をつけたリストのことだった。 今までプロダクトバックログを個別の要求だと思っていて、プロダクトバックログの一覧とかいう言葉を使ってしまっていた。ああ、…

CodeIQの忘年会に参加した

etc

4カ月近くたってしまいましたが、昨年末にCodeIQ大忘年会に参加したのでその記録を残しておきます。 最初は元グーグルエンジニアの及川さんの話を聞いた。Qiitaの社内で行われている取り組みなどが知れて興味深かった。ChatOpsすごい。 資料:CodeIQ 2015大…

Angular 2のビルド周りについて調査した

Angular 2, TypeScript, tsconifg, Browserify, babelify, beefyを使用して、ビルドからHttpサーバーでの動作確認まで行う。 使用した package.json, tsconfig.json, index.htmlを表示。

Angular 2をさわってみたので、参考になったサイトをまとめる。

とあるシステムを作り変えることになって、現在のシステムの解析や、システムの使われ方の聞き取りなどタスクが割り振られる中で、アーキテクチャの検証タスクになり、Webアプリによる実装の検証担当になり、Anugular2をさわってみたので、参考になったサイ…

(小ネタ)2重ループをLINQを使って書く

コレクションが二つあって、片方のコレクションの値で、もう片方のコレクションを検索して処理を行う時に、2重ループを使うことがありますが、これはLINQを使用して書くことも出来ます。 C#で解説する「データ処理の直交化と汎用化」 − @IT ただしサイト内…

(小ネタ)改行文字を削除する

ささいな事ですが、うっかり引っかかったのでまとめておきます。 C#で文字列に含まれている改行文字を取り除く方法は、改行文字を含む位置によって違います。 末尾にある場合 TrimEndメソッドに改行文字を渡します。環境に依存しないようにCRとLFを両方とも…

awaitは、中断と再開

前回からだいぶ時間が空いてしまいました。本年もよろしくお願いいたします。 C# 5.0以降で可能になったasyncとawaitとTaskについての自分用のメモ。ASP.NET MVCやWeb APIでは必要になってくる知識。 ググった結果を斜め読みしてまとめたメモなので、awaitの…

テストプロジェクトからメインプロジェクトのDBを参照する

この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 - Qiita の15日目です。 アドベントカレンダーからいらした方、初めまして。今年の始めのあたりからブログを書き始めた redwarriror と申します。 普段はC#等のMicrosoft系の技術を中心に書い…

Visual Studio 2015は、Professionalでもユニットテスト機能(MSTest)が充実している

Visual Studio 2015になって、Professionalエディションでもユニットテストが便利になったと実感したので忘れずに書いておく。 便利だと思ったのは以下の2つ。 テスト対象クラスのメソッドから、テストクラス/メソッドを作成する テスト対象クラスのメソッ…

(小ネタ)EqualsメソッドもGetHashCodeメソッドもReSharperで!

ReSharperカテゴリの2つ前と操作がほとんど一緒ですが、機能紹介ということで。 csファイル(クラス)を開いて、メニューのRESHARPER→Edit→Generate Codeと選択し(もしくはクラス内にカーソルを合わせて「Alt」を押しながら「Insert」を押す)、 出てきたメ…

(小ネタ)C#のユニットテストで public でないメソッドをテストする方法(MSTest)

Javaでは、publicでないメソッド(かつ、privateでもない)をテストする場合は、packageを一緒にすれば良かったのですが、C#ではどうやるんだろうと思って調べました。 参照先の通りにやったら出来たので、特に追記することはありません。 ソースコード単位…

(小ネタ)C#でメソッドの引数に値渡しが行われるのは、値型のみ

自作クラスなどの参照型の引数に ref とか out とかつけるのは意味がなく、m9(^Д^)プギャーされるのでやめた方が良いですね。 自作の構造体や列挙型は値型なので、参照渡しが必要ならばつけましょう。

LINQを使用したメソッドの共通化の試行錯誤

LINQを使用して、DBから取得したデータでDTOを構築するメソッドを作成していると、インターフェイスは違うのに処理の流れがほぼ同じになる事ってありませんか? どういうことかと言うと、片方の処理では、単純なLINQを使用しているのでIQueryable<T>を返します</t>…

PowerShellでGit操作が楽になるposh-gitをインストールしてみた。

以前の投稿で、PowerShellでGitコマンドを実行できるようになりました。 redwarrior.hateblo.jp その時に行ったposh-gitのインストールと設定についてまとめておこうと思います。 PowerShellの設定 PowerShellを使用して、プロキシ経由でファイルをダウンロ…

(小ネタ)GitコマンドをPowerShellスクリプトに組み込む最も簡単な方法

前回の記事で、ClickOnceアプリケーションをコマンドラインから発行する方法を書きましたが、 どうせならばバージョン管理システムからソースコードをダウンロードして、ビルドが出来るようにしたいと思い、GitコマンドをPowershellスクリプトに組み込む方法…

ClickOnceアプリケーションをコマンドライン(MSBuild)から発行する方法

ClickOnceアプリケーションをコマンドラインもしくはPowerShellから、MSBuildを使用して発行する方法がわかったので、忘備録としてまとめておく。 MSDNと@ITで必要な情報は足ります。 MSDN ClickOnce のセキュリティと配置 MSBuild ClickOnce アプリケーショ…

ClickOnceアプリケーションをMSBuildで発行しようとしたらエラー発生(したけど解決した)

ClickOnceアプリケーションをMSBuildを使用して発行しようとしたら、エラーに遭遇したのでメモを残しておきます。 エラーメッセージは、以下の通りです(見辛いので改行しています) C:\windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targ…

(小ネタ)Visual Studio 2015 のバージョンがv14なわけ。(Visual Studio 2013 はv12です)

ものすごい小ネタですが、ASP.NETのフォーラムで議論されていました。 forums.asp.net アメリカでは13が不吉な番号だかららしいです。CTPの時点で話題になっていたようですね。 以下のページで、より詳しく検証されています。 blog.livedoor.jp Officeで既に…

Visual Studioを使用したテスト駆動開発ブートキャンプ(TDDBC)に参加しました

2015/9/2にマイクロソフトセミナーを品川のマイクロソフト社で受けてきました。タイトルの通り、和田卓人(id:t-wada)さんは日本のTDD(テスト駆動開発)の第一人者であり、とても勉強になりました。 著名人の話を無料で聞けるとは、マイクロソフトセミナー…

Spring in Summer に参加しました

日本Springユーザ会が主催する「Spring in Summer」というカンファレンスに参加しました。Springは、JavaのWeb開発などでよく使われるフレームワークです。 会場は東京駅の近くのグラントウキョウサウスタワーで、リクルートテクノロジーズのセミナールーム…

(小ネタ)WindowsフォームでShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作を理解する。

Windowsフォームアプリケーションのソースコードを見ていて、ShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作の理解があいまいだったので調べました。 ShowDialogメソッド フォームクラスのShowDialogメソッドを実行すると、画面が…

(小ネタ).NETで設定ファイル(***.config)の値に半角スペースを使用する方法

.NETで設定ファイル(Web.configやApp.config)の値に半角スペースを使用したい場合がたまにあります。 代表的なのはDBの接続文字列で、AttachDbFilenameにmdfファイルのパスを指定する場合です。 コンソールアプリケーションで、SQL Server 2012 Express Lo…

(小ネタ)INotifyPropertyChangedの実装も、ReSharperはサポートしている

Windowsフォームでデータバインディングをする場合に、INotifyPropertyChangedをオブジェクトに実装する必要があるが、ReSharperを使用するとメニューから選択するだけで作成してくれる。 (どのフィールドを通知対象とするかは、フィールドごとに設定する必…

(小ネタ)ToStringメソッドもReSharperで作成してくれる!

クラスを開いて、メニューのRESHARPER→Edit→Generate Codeと選択し、出てきたメニューから「Formatting members」を選択するとプロパティを選択する画面が出てくるので、ToStringメソッドに含んでほしいプロパティを選択して、作成すると、ToStringメソッド…

(小ネタ)インターフェースのシグネチャを変更したら、実装クラスのシグネチャも変更されるReSharperならね。

タイトル以上のものは無いのですが。はは~、<m(__)m> とお辞儀をしたくなる便利さです。 やり方: interfaceソースを開いて、メソッドにカーソルを置いた状態で、メニューのRESHARPER→Refactor→Change Signatureを選択すると、メソッド名、戻り値、パラメータを編集</m(__)m>…

(小ネタ)BindingSourceを手動で更新すると、行の設定が解除される場合がある

System.Windows.Forms.BindingSourceのDataSourceプロパティに通常の(BindingListではない)Listを代入した場合、 Listの要素を更新を反映させるためには、BindingSourceのResetItemメソッドに対象のインデックスを渡して呼ぶか、ResetBindingsメソッドを呼ぶ…

foreachでループのindexを取得して、さらに絞り込む

以下のサイトで、foreachでループのindexを取得する方法がのっています。 foreachでループのindexを知る方法 - かずきのBlog@hatenaokazuki.hatenablog.com これだけでも十分便利なのですが、indexを取得しながらさらに絞り込むことが出来ます。以下のサイト…

(小ネタ)ASP.NET Web APIのコントローラーがIHttpActionResultを返す理由

ASP.NET Web APIのスキャフォールディングでコントローラーを作成する時、「Entity Framework を使用したアクションがある Web API 2 コントローラー」を選択すると、戻り値に、IHttpActionResultが指定される。 これはIHttpActionResultを戻り値にすれば、…

(小ネタ)ASP.NET Web API で 省略可能なパラメータを使用する

ASP.NET Web APIのメソッドの引数にデフォルト値を指定すると、パラメータをオプションとして使用する(あってもなくても動作し、省略されたパラメータにはデフォルト値を設定する)ことが出来る。 以下を参考にさせていただきました。 ASP.NET WEB API Quer…