C# Linq GroupBy Sum
サンプルクラス
Data.cs
public class Data { public int Id { get; set; } public string Name { get; set; } public DateTime Date { get; set; } public int Value { get; set; } }
テストデータの挿入
Main.cs
using System; using System.Collections.Generic; static void Main(string[] args) { var dataList = new List<Data>(); dataList.Add(new Data() { Id = 1, Name = "A", Date = new DateTime(2018, 1, 1, 18, 33, 0), Value = 90 }); dataList.Add(new Data() { Id = 1, Name = "B", Date = new DateTime(2018, 1, 2, 19, 2, 0), Value = 2 }); dataList.Add(new Data() { Id = 1, Name = "C", Date = new DateTime(2018, 1, 3, 2, 48, 0), Value = 54 }); dataList.Add(new Data() { Id = 2, Name = "A", Date = new DateTime(2019, 1, 21, 18, 9, 0), Value = 33 }); dataList.Add(new Data() { Id = 2, Name = "B", Date = new DateTime(2019, 2, 1, 12, 1, 0), Value = 88 }); dataList.Add(new Data() { Id = 2, Name = "B", Date = new DateTime(2019, 2, 5, 14, 15, 0), Value = 65 }); dataList.Add(new Data() { Id = 2, Name = "D", Date = new DateTime(2019, 2, 11, 13, 40, 0), Value = 9 }); }
これで変数 dataListに7つのオブジェクトが格納された。
一つの要素でGroupByして、SumでValueの合計値を取得する
ここではIdでGroupByして、ValueをSumしてみる。
Main.cs
var data1 = dataList.GroupBy(c => c.Id) .Select(c => new { Key = c.Key, ValueSum = c.Sum(x => x.Value) }); foreach (var d in data1) Console.WriteLine("Key={0} ValueSum={1}", d.Key, d.ValueSum);
結果
Sumのなかでcとは別にxという変数を使用しているのに注意。
日付の年と月でGroupByして、SumでValueの合計値を取得する
ここではDateのYearとMonthの2つでGroupByして、ValueをSumしてみる。
複合キーのパターン。
Main.cs
var data2 = dataList.GroupBy(c => new {c.Date.Year, c.Date.Month }).Select(c => new { c.Key.Year, c.Key.Month, ValueSum = c.Sum(x => x.Value) }); foreach (var d in data2) Console.WriteLine("Key1={0}, Key2={1}, ValueSum={1}", d.Year, d.Month, d.ValueSum);
結果
GroupByのラムダ式内に匿名クラスを返すように書いている。(new {c.Date.Year, c.Date.Month}の部分)
GroupByするキーが複数ある場合はこのように匿名クラスをキーとする。
Google AdSense をはてなブログに表示する。
こんにちは。
先日、アクセス数の少ない私のブログでもGoogle AdSenseの審査が無事通り、広告を貼ることができるようになりました。
今回は、Google AdSenseをこのはてなブログに表示する一連の流れを書きます。
※はてなブログにGoogle AdSenseを表示するには独自ドメインのブログでないとだめだそうです。
通知のメールには以下の画像が付いていました。
では、さっそく広告を貼ってみようと思い。Google AdSenseのスクリプトコードを得るためにGoogle AdSenseにアクセスしました。
広告用コードを取得する
左のメニューから広告ユニットを選択し、次に新しい広告ユニットボタンをクリックします。
次に広告の種類を選択します。まずはテキスト広告とディスプレイ広告を選択します。
説明のツアーが2ページ表示されます。次へ進むボタンしか表示されないので、クリックして進みます。
広告ユニットのスタイルを指定できます。
ここでは名前のみ指定し、保存してコード取得ボタンをクリックします。
名前は任意で構いません。
以下の画面が表示されます。広告コードをすべてコピーし、閉じてください。
Google AdSense側の操作はとりあえず、ここまでで良いです。
はてなブログに表示する。
取得した広告コードをはてなブログに表示できるようにします。
はてなブログのメニューでデザインを選択します。
つぎにヘッダを選択し、HTMLを記述するテキストボックス内に先程コピーした広告コードを貼り付けます。貼り付けた後は、変更を保存するボタンをクリックして保存します。
その後、自分のブログにアクセスしてみると、ブログヘッダ(記事の前部分)に広告が表示されているのが確認できます。
以上で一通りの広告の貼り付け方法がわかりました。
あとは、広告のサイズや表示する場所などを操作する必要があると思いますが、それはおいおい。
閲覧中のサイトのTLSバージョンを確認する
はい
ふと「今見ているサイトって暗号化されてるけど、TLSのバージョンっていくつなんだ?」と思い、どこで確認できるか調べてみました。
Google Chromeでの利用ですが、F12キーで開発者画面を開き、Securityタブを選択すると下の画面のようにConnection情報としてTLSのバージョンが記載されています。
へぇ、ここで確認できるんだ。
ちなみにHTTPS化していないサイトでは下のように表示されます。