雑記+備忘録

OS中心の技術情報と趣味について(最近は主に将棋)。備忘録なのでここに書かれたことを試すのは自己責任でお願いします。

フェールオーバークラスターのフェールオーバーをPowerShellで

検索に手間取ったのでメモ。
「役割」を右クリックして「移動」→「ノードの選択」をPowerShellコマンドレットでやりたい。

GUIでいうところの
f:id:saborin-2002:20171127135815p:plain
PowerShellでやりたい、ということ。

Move-ClusterGroup -Name <役割名> -Node <ノード名>

役割名(Groupの名前)、ノード名は事前に「Get-ClusterGroup」コマンドで調べておく。

日本語コンソールの「役割」は「ClusterGroup」に含まれるという解釈でいいのだろうか。
「リソース」と思い込んで、「Get-ClusterResource」を中心に調べていたためたどり着くまでに時間がかかった。

SQL Server ミラーリングはどの程度非推奨なのか?(しょうもない話)

SQL Server ミラーリングはどの程度非推奨なのか?(しょうもない話)

以前こんな記事を書きました。


あれから3年、ようやく今のチーム内にも「AlwasysOn」が第一選択肢の風潮が根付いてきた中、
最近また「SQL Server 2016 でミラーリング」とかいう話がよそのチームから聞こえてきました。

「え、とっくにミラーリングは機能削除になっているんじゃないの」と思って調べてみると・・・

Microsoft謹製 「SQL Server 2014 データベース エンジンの非推奨機能」ページ(https://msdn.microsoft.com/ja-jp/library/ms143729(v=sql.120).aspx)には

SQL Server の今後のバージョンでサポートされない機能
以下の SQL Server データベース エンジン 機能は SQL Server の次のバージョンではサポートされますが、 その後のバージョンでは削除されます。SQL Server のどのバージョンであるかは決定していません。

の中に、


f:id:saborin-2002:20171107150135p:plain

とある。ふむ。

SQL Server 2016 データベース エンジンの非推奨機能」ページ(https://docs.microsoft.com/ja-jp/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016)では

f:id:saborin-2002:20171107150215p:plain


f:id:saborin-2002:20171107150242p:plain

ん?

SQL Server 2017 データベース エンジンの非推奨機能」(https://docs.microsoft.com/ja-jp/sql/database-engine/deprecated-database-engine-features-in-sql-server-2017)では

f:id:saborin-2002:20171107150411p:plain


f:id:saborin-2002:20171107150430p:plain

・・・

つまりこういうことですか?

ミラーリングは機能削除する・・・・・・!削除するが・・・・・・今回 まだその時と場所の指定まではしていない そのことをどうか諸君らも思い出していただきたい つまり・・・・我々がその気になれば機能削除は10年20年後ということも可能だろう・・・・・・・・・・ということ・・・・!」

指す将順位戦途中経過 その2

前回記事 (残留争い - 雑記+備忘録)の時点では1勝4敗だったのですが、
その後まさかの3連勝を果たし、4勝4敗の五分に。

先日の表で見ると、自分 R425 に対し、

486 ●
539 ○
747 ●
1074 ●
475 ●
719 ○
762 ○
688 ○
589
867
697

おお、健闘健闘。
残留争いもだいぶいい位置まで上がってこられました。

一方で通常のR戦がなかなか連勝できず、
レーティングが上がっていかないです。相変わらず300台。
雑にしているわけでもないのですが・・・。

Windows版Squidを立ち上げる

仕事で時々プロキシサーバーの検証環境が必要になるのでメモ。

SquidフォルダをCドライブ直下に配置(Squidフォルダ自体は以前入手したものを使用)
 ↓
C:\squid\etc\squid.conf を編集
 ↓
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 の下あたりに
「acl <任意の名前> src 192.168.100.0/24」(右のIPアドレスは接続を許可するIP帯)
を記載
 ↓
http_access allow が集まっている行に
「http_access allow <上でつけた名前> 」
を記載
 ↓
http_port <ポート番号>を記載
 ↓
保存
 ↓
コマンドプロンプトから「C:\squid\sbin\squid.exe」を実行
(オプションなしで実行するだけでexeが常時動作している状態になる。
 Windowsのサービスとして登録したい場合は下記のヘルプを参照)


squid.exeのヘルプ

Usage: squid [-hirvzCDFIRYX] [-d level] [-s | -l facility] [-f config-file] [port] [-k signal] [-n name] [-O command-line]
       -d level  Write debugging to stderr also.
       -f file   Use given config-file instead of
                 c:/squid/etc/squid.conf
       -h        Print help message.
       -i        Installs as a Windows Service (see -n option).
       -k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse
                 Parse configuration file, then send signal to
                 running copy (except -k parse) and exit.
       -n name   Specify Windows Service name to use for service operations
                 default is: Squid.
       -r        Removes a Windows Service (see -n option).
       -s | -l facility
                 Enable logging to syslog.
       -u port   Specify ICP port number (default: 3130), disable with 0.
       -v        Print version.
       -z        Create swap directories
       -C        Do not catch fatal signals.
       -D        Disable initial DNS tests.
       -F        Don't serve any requests until store is rebuilt.
       -I        Override HTTP port with the bound socket passed in on stdin.
       -N        No daemon mode.
       -O options
                 Set Windows Service Command line options in Registry.
       -R        Do not set REUSEADDR on port.
       -S        Double-check swap during rebuild.
       -X        Force full debugging.
       -Y        Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.

市川市民将棋大会2017に・・・今回は不参加

将棋ネタを書くきっかけとなったこの大会、
今年は残念ながら所用で不参加ですが、情報を載せておきます。

市川市 市民将棋大会
開催日:11月12日(日)
申し込み締切:10月31日(火)必着
申し込み方法:はがき、FAX、メール(New!) のいずれか

詳しい要項、申し込み方法は市の駅や公共施設に置いている「広報いちかわ 10月7日号」の3ページ下段に記載されています。

昨年、申し込み要項のハガキについて「往復はがき」と明記されていましたが、
今年は「はがき」とだけ書いてあります。参加証代わりのはがき代は出させない、という心遣いでしょうか。
そして何とメールでも申し込めるように、QRコードが掲載されています。
「メール」というIT技術が導入されたのは、大会の雰囲気を考えると、大きな進歩と言っても過言ではありません。

場所はいよいよ全日警ホール(旧文化会館)での初開催です。
トイレも整備されているでしょうし、ありがたい。
藤井四段の話題の影響で参加者大幅増となることを見込んで大きな会場にしたのかもしれません。

過去の紹介記事を全て載せるのも煩雑になるので、注意点を書いておいた記事だけリンクを貼っておきます。

今回も大会が盛況となり、スムーズに和気あいあいと進みますことを願っております。

csvデータを取り込んでExcelで折れ線グラフを生成するPowerShell

PowerShellで以下を実現する文の紹介としてサンプルプログラムを作成しました。
Excelのセルに値を入れる
Excelのグラフ(折れ線グラフ)を作成
PowerShellExcelを扱う際の「Cells」の使い方

# 
# csvからExcelでグラフを生成するPowerShell
# 
########## 値を変更する変数 ##########

# Excelファイル名
$fileName = "Test.xlsx"

# Excelシート名
$sheetName = "Test"

## 情報CSVファイル名
$csvFName = "Test.csv"

######################################


# ファイルのパスを取得
$scriptPF = $MyInvocation.MyCommand.Path
$scriptPath = Split-Path -Parent $scriptPF

$flExcelPF = $scriptPath + "\" + $fileName

# Excelファイルが存在する場合に処理
if (Test-Path $flExcelPF) {

  # Excelのオープン
  $objExcelAp = New-Object -ComObject Excel.Application
  $objExcelAp.Visible = $true

  $objExcelBook = $objExcelAp.Workbooks.Open($flExcelPF)

  $objExcelSheet = $objExcelBook.Worksheets.Item($sheetName)

  # データを取り込み、編集
  ## CSVファイル読み込み
  $headerStr = "ddf01,ddf02,ddf03,ddf04,ddf05"
  $headerSplit = $headerStr -split ","
  $csvObj = Get-Content $csvFName | ConvertFrom-Csv -Header $headerSplit

  ## 初期値、先頭行設定
  $nCount = 1
  $objExcelSheet.Cells.Item(2, 1) = "No."
  $objExcelSheet.Cells.Item(2, 2) = "Score"

  ## CSV1件ごとに処理
  $csvObj | ForEach-Object {

    ## データ編集
    $objExcelSheet.Cells.Item(2 + $nCount, 1) = $nCount
    $objExcelSheet.Cells.Item(2 + $nCount, 2) = $_.ddf03

    $nCount++

  }

  # データをグラフ化
  $strRange = "A2:B" + (1 + $nCount)
  $dataRange = $objExcelSheet.Range($strRange)

  $chartObjects = $objExcelSheet.ChartObjects()

  $newChartObject = $chartObjects.Add(120, 10, 700, 300)

  $MyChart = $newChartObject.Chart
  $MyChart.ChartType = 4
  $MyChart.SetSourceData($dataRange)
  $MySeries = $MyChart.SeriesCollection(1)
  $MySeries.Delete() | Out-Null

  # ファイルの保存、閉じてExcelの終了
  $objExcelBook.Save()

  $objExcelAp.Quit()

  # プロセスの解放
  .{
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($MyChart)
     $MyChart = $null
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($newChartObject)
     $newChartObject = $null
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($chartObjects)
     $chartObjects = $null
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcelSheet)
     $objExcelSheet = $null
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcelBook)
     $objExcelBook = $null
     [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcelAp)
     $objExcelAp = $null
   } | Out-Null

  # ガベージコレクトの明示実行
  [GC]::Collect()
  [GC]::WaitForPendingFinalizers()
  [GC]::Collect()

}

csvファイルの項目名「ddf01~ddf05」は、現行システム(個人的に趣味で作成した)のデータが5つ項目を持っていて、
3番目の「点数」をグラフ化したかったのでこのような構成になっています。
横軸もただのナンバリングです。

ChartType = 4については以下のURLを参考に設定しています。(ありがとうございます)
http://officetanaka.net/excel/vba/graph/06.htm

PowerShellで折れ線グラフ生成」は元々他のフリーで公開されているツールと組み合わせて実現していたのですが、
パソコンを買い替えたときにそのツールを再設定するのが面倒になって、
自分のパソコンライフスタイル上ほぼ確実に入れることになるExcelでやる方針にしました。

年始の目標チェック

2017年も3/4が終わったので、年始に立てた目標のチェックをします。
「年間エントリー数35以上」

 

今の時点(年間の3/4)で27のペースが必要なのでクリア。
このままのペースでいくと達成。この調子でいこう。
仕事が落ち着き、徐々に時間もできてきました。

 

あと3か月、指す将順位戦ネタと技術ネタが中心になりそう。
毎年チェックしている市川市将棋大会ももうすぐです。