ブログのログとかネットワークのトラブルとか

ブログのログ

派遣先で利用しているブログサーバーの空き容量が急に減ったので確認したところ、httpd のログが急に増えており確認しました。

今週はじめ、WordPressのテーマを更新したページがあり、そのテーマにバグがあって急いで修正したのですが、そのワーニングが大量にログに出力されており、容量を圧迫するまでになってました。

私が気が付くまでそれほど経ってないと思うのですが、500Mバイトものテキストファイルになっています。このワーニングを除くと、他のログは200Kバイトにも満たないサイズなので、かなりの脅威です。早めに気が付いてよかったと改めて思います。このまま1ケ月も気が付かずにいたら、httpd のログのせいで DISK がいっぱいになったかもしれません。

ついでに攻撃( ~/public_html/wp-login.php へのアクセス)もチェックしたのですが、いろいろな国から来てますね。そのうちの1つのアドレスは、ネットで調べたら WordPress にマルウェアを仕込んだログが報告されてました。「File does not exist:」で始まるメッセージで報告されているうちは安心、ということでは無さそうです。

pp_notekey_TP_V

それと、先日修正した他にも、まだ PHP のワーニングが出てました。たぶん、表示他は問題ないのでしょうが、こういうのどうなんでしょうね。大量に出てくる前に、修正した方がいいかなと思ってます。ところで、こういう PHP のワーニング、デザイン屋さんはあまり気にしないんでしょうかね。

ネットワークのトラブル

そうこうしていいるうちに、ネットワークトラブルで離れた建物にある事務所に呼ばれました。ちょっと前に、Hubの故障で呼ばれて交換してきたばかりです。ちょうど事務机の下に Hub が置かれているので、電源ケーブルが抜けたか、LANケーブルが外れたかどちらかな、といったことを考えながら現地に向かいました。

現場について Hub を見ると、情報コンセントが閉まっていて、LANケーブルが外れていました。持って行ったケーブルで情報コンセントと Hub を繋いで、リンクアップを確認して復旧です。ついでに、いろいろ外したらしく、その Hub に繋がっていた複合機も切れてたので、繋いで復旧しました。

あの、床に設置する情報コンセントは、一見便利そうですが、前の職場でも机の配置の変更の度に苦労させられました。アクセスフロアなら穴の位置を調整していろいろできるのですが、床に組み込み式だと動かせないので、最低の位置に設置さざるえないケースがでてきます。

今回の現場もそうで、椅子に座ってちょうど足の位置に、ごつい情報コンセントがありました。きっと不便だからといって LAN ケーブルを抜いて、床に隠してしまったのでしょう。残念ですが、それはやってはいけないことです。

UNI_cables_TP_V

ついでに担当者のノートパソコンの無線LANが使えない、というので見たところ、無線LANのスイッチが切れてました。このスイッチをオンにして復旧。無線のスイッチは、手前の電源ランプやアクセスランプが集まった場所にあったのですが、使う際に触れてスイッチを動かしてしまったのででしょう。サイド側にあれば触ることは少ないと思うのですが、ノートパソコンはこういう点がいまいち行き届かない製品が多いように思います。

こういう仕事ばかりだと、やっぱり単価が安いよな、と改めて思いましたが、お礼を言われると悪い気はしません。また、呼んでください、という気分になります。

SAS の件で相談うけました

今、派遣先で導入を計画している SAS Stuido の件で、軽く相談がありますた。

今度、SAS の営業が説明く来るんだけど、事前に問い合わせがあって。ソフト開発はどうするの?って聞かれたんだけど、どうしよう?

「う、困ったな」と思ってものの、「まじめに回答しない方がいいかな」と判断。

「山形大学は、大手の三菱総研なんとかに全て依頼したみたいですけど」

これは、事前に調べてて確認済み。業界注目のビッグデータの解析で、契約した件がニュース
になってました。
山形大学とのIRに関する協定について
山形大学学長定例記者会見(10月7日)

喉まで、「SAS は比較的覚えやすいプログラム言語だし、SAS University Edition で担当者が学習するんじゃなかったんですか」とか、「統計を使って経営に活かすには、統計の考え方をマスターする必要があって難しい、とい話をしてましたよね。」とか、まあ、いろいろ言いたいことが出てたのですが、うまく飲み込めました。

なんか、いまさらこんな話をしているとはがっかりです。

というか、コードを書くだけならやりますが、「解り易いグラフにして」とか言われるとちょっと。正直、何がどう解り易いかが解らないので、作りようが無いんですけど。その辺は、統計のプロにアドバイスしてもらうべきでだと思いますがね。組織内に、統計のプロがいれば別ですが、いそうにないし。

この件、なんか、まだまだ「ガックリ」なことがありそうな気配です。

サーバーの時刻合わせかも

サーバーの時刻合わせをちょっと記載を

昔はLANに接続したパソコンは全て Active Directoryのドメインコントローラーと時刻を同期する必要がありました。というのは、Active Directoryでは、時刻がずれると共有サーバーのファイルが見えなかったり、最悪ログインえきなくなりました。そのため、クライアントとなるパソコンは、必ずドメインサーバーと時刻を同期させておく必要があった訳です。

最近はクラウドの時代で、Web経由でのファイル共有も一般的になってきました。つまり Active Directory のドメインコントローラに繋がってなくとも、Webにログインさえできれば、会社の環境が使える、ということです。

しかも、今時のパソコンはインターネットに繋がることが前提になっている。Windows Update ができない環境では、怖くてパソコンは使えない。そうなると、ドメインコントローラとの時刻同期よりも、インターネットとの時刻同期が必要になってくる。だから、Windows10 などの今の Microsoft のOSでは、デフォルトで自社の時刻合わせサーバーが設定されています。

じゃ、ちょっと前のサーバーは…

今は使われていないドメインコントローラと同期するようになっている、ということかな。
ちゃんとメンテされていれば問題ないが、そうでないと…

派遣先でそんなパソコンに出くわしました。

もうそろそろリース切れになりそうな、Windows Server 2008 で構成されたグループウェアのシステム用のサーバーです。運が悪いことに、Webサーバー2台とDBサーバー1台の3台構成で、負荷分散が組んでありました。サーバーのシステム時計の時刻が少しずれていたのでしょう、「セッションが残っていてログインできません」のメッセージが出てログインできない事態が発生しました。

もちろん、サーバーの「インターネット時刻」のサーバーは、LAN内の何かのサーバーが設定されていました。しかし、しばらく前に何かの機器に置き換わったらしく、時刻合わせては動作していませんでした。
まあ、メンテされていない状態、ですね。

あとがき

一応、後から気がついて設定を修正しておいたので、同じ原因でのトラブルはもう発生しないと思いますが、リプレースが近いシステムは何かとトラブルを引き起こすので、次は何があるかちょっと不安です。
(というか、ここトラブル多すぎ!!)

pics1830

ブログのテーマのバグ発見

先週、管理しているブログサーバーのエラーログをチェックしたところ、大量のPHPのワーニングが出ているのに気がつきました。

こんな感じのもがログファイルを埋め尽くしています。


 PHP Warning:  Invalid argument supplied for foreach() in 
(WordPressのあるパス)/wp-content/themes/(自作テーマ?)/include/modal.php on line 7

メッセージに記載してあったmodal.php の該当する箇所は、次のようなコードでした。

$terms = get_the_terms($post->ID, 'date'); 
$t_slug=''; 
foreach ($terms as $term) { 
	$term_name = $term->slug; 
	$t_slug = $t_slug.'d'.$term_name.' ';
}; 
$t_slug = substr($t_slug, 0, -1); 
echo $t_slug;

WordPress 組み込みの関数 get_the_terms() を受け取ったデータを表示しています。どうも表示中の投稿と同じタームの情報を表示するのに使う関数らしいのですが、実はこの get_the_terms()、失敗した場合は FALSE を返します。

表示しているページによっては、FALSE になるのでしょう。というか、トップページだったら、必ず FALSE になっていると思います。

get_the_terms() のリファレンスには、ちゃんと失敗したら、ということが書いてあるのですが、これを書いた人は、ケアする必要を感じなかったのでしょうね。一応、ちゃんと動くし。

サーバーを管理する側としては、こんなワーニングで重要なメッセージを見落とすと困るし、余計なDISKを使っていまう、何も考えずに、is_array() 文で条件分岐して、FALSE だったら何も表示
しないようにコードを修正しました。
今は、このワーニングは出てません。

$terms = get_the_terms($post->ID, 'date'); 
$t_slug=''; 
if( is_array($terms) ) {
	foreach($terms as $term) { 
		$term_name = $term->slug; 
		$t_slug = $t_slug.'d'.$term_name.' '; 
	}; 
	$t_slug = substr($t_slug, 0, -1); 
}
echo $t_slug; 

これは、foreach() の第1引数は、配列かオブジェクトでなければならない、という仕様があり、FALSE は配列でもオブジェクトでもないということで、ワーニングが出ています。なので、配列でなかったら何も表示しないようにしました。

でも、「FALSE」というたった1つだけの配列と見なせばできて当然、という考えもあります。

ということで、こんな書き方もできるのだそうです。

$terms = get_the_terms($post->ID, 'date'); 
$t_slug=''; 
foreach ((array) $terms as $term) { 
	$term_name = $term->slug; 
	$t_slug = $t_slug.'d'.$term_name.' ';
}; 
$t_slug = substr($t_slug, 0, -1); 
echo $t_slug;

C言語でよくやるキャスティングですね。char 型の変数なんだけど、int の変数といっしょに計算させたいので、この計算だけは int として扱いますみたいな。
個人的には、is_array() で判定させて、確実に何も表示させないようにする、が正しいとは思いますが、問題無いみたいです。

is_array() は、私もすぐに思いついたのですが、(array) をつけるやり方はすぐには解らず、こちらを参考にさせてもらいました。

foreach文のエラーが出た時の対処方法

この記事の作者も教えてもらったようでう、元ねたはこちらだそうです。

PHPのforeach文でnullチェックなしでエラー回避

C言語のキャスティングは、20年以上前のよく書いていたころは使っていましたが、ここ10年
くらいはまったくやってません。すっかり忘れてました。幾つもの言語を使いこなして、それぞれの
いい点をうまく使っていく、というのがカッコイイな、と改めて思っています。

SAS University Edition で散布図を描く

・Excelでも散布図は書けます

正直言うと、これまでの社会人生活でExcelで散布図を書いたことはありません。
以前、同じ会社のQC活動をやっていた人とか、品質管理を仕事にしていた人たちはよく使っていたので、目にする機会はありました。Excel の標準機能ですし、使えないことはありません。

試しに作ってみたのたのがこれです。ただ、手元にデータが無いので、ネットで見つけた数値をそのまま使いました。

SAS_sanpu_table

SAS_sanpu_fihure

それと知らなかったのですが、簡単に近似直線も引いてくれます。簡単に作ろうと
思えば、それほど手間ではありません。

SAS_sanpu_fihure2

・SAS University Edition で散布図を描く

散布図は SAS University Edition でも作成できます。
なお、ネットで調べると、散布図を書いただけでは解析したことにはならないそうです。散布図作成に利用した2つの系列のデータに関係性があるかどうかを判断し、関係があるならどれだけ密接かも加味し、2つの系列のデータの相関関係を導きだし、そのうえで、使った数値が使えるかどうかを判断するのだそうです。そして、使えると判断したら、その2つの系列のデータを基にした施策を行うのだそうです。

昔のQC活動とか品質管理の教育でもそんな話があったのでしょうが、それ以前に、現状把握と原因追求の考え方が重要と習ったので、こういうのは覚えてませんでした。

さて、SASでのプログラムの話です。
SAS には、統計で使う標準偏差のような数値を算出する機能があります。もちろん同じものはExcel でも標準で用意された関数で計算できます。まず、その数値を表で出します。そして続いて、散布図のグラフを描きます。

(1) CSV取り込み

Excel の表で準備した数値は、CSVファイルで取り込みます。
取り込み方法は、折れ線グラフや棒グラフで使ったものと同じです。


filename readin '/folders/myfolders/sample/SASで散布図を作成する.csv';
data enshuu;
	infile readin dlm=',' dsd firstobs=1 encoding="sjis" termstr=CRLF;
	input No e_x e_y;
	run;

filename でCSVファイルのファイル名を指定します。このとき、CSVファイル名には
倍角の漢字なども使用できます。
次に、data でデータセットを定義します。
infile は、ファイルからデリミタ「,」や1行目がコメントで、「SJIS」でエンコード
されており、改行コードが「CRLF」で、「”」で囲まれた「,」は文字の一部と扱うなどの
仕様で読み込みします。
また、input で指定した順で、数値として読み込みます。

(2) 表を描く

次に、標準偏差などの数値を表で表示します。
これには、「proc corr data=(データセット)」を使います。

proc corr data=enshuu;
	var e_x e_y;
	run;

データセットは、CSVファイルから読み込んだものを使い、3つのデータのうち、「var 」コマンドで「e_x」と「e_y」の2つのデータを使うよう指定しています。run は、表を描くための命令です。

(3) 散布図を描く

そして、散布図を描きます。
散布図を描く命令は、「proc sgplot data=(データセット)」です。

proc sgplot data=enshuu;
	scatter x=e_x y=e_y;
	xaxis min=10 max=30 label="X軸" grid;
	yaxis min=0 max=100 label="Y軸" grid;
	reg X=e_x y=e_y / clm cli ;
	run;

データセットは、CSVファイルから読み込んだものを使います。「scatter」が散布図を描く命令です。X軸の変数とY軸の変数を指定します。
xaxis と yaxis で、X軸とY軸の範囲や、ラベルを指定しています。ここでは、さらにX軸とY軸の両方でグリッドを使うように指定しています。
reg コマンドは回帰直線で近似線を引くコマンドです。回帰直線とは何か、というのはネットで調べてみてください。統計の基本みたいです。ここでは「/」以降にオプションとして、「clm cli」を指定しています。これは、信頼区間と予測区間をいっしょに表示するオプションです。
最後に、run でグラフを描きます。
なお、「proc 」で指定した表と散布図は同じ画面に表示されます。

SAS_sanpu_fihure3

とりあえず、ここまで。

SAS University Edition でExcelと同じグラフを描く

・SAS 初心者が使うには

SAS University Edition は、ビッグデータの解析にも使われる SAS Studio を無料で使うことができる仕組みです。SAS Studio の入門や学習用に基本的に誰でも使用することができます。

SAS Studio で統計を使ったデータ処理をやろう、と思う人はきっと Excel を使ったことがある人が大半でしょう。じゃ、練習用に Excel と同じグラフを作ってみようか、という人もいるかもしれません。

今いる職場でそういう話になったので、作成したサンプルを基に簡単にまとめてみました。

・Excel のデータ

やることは、予め Excel で作った折れ線グラフ、棒グラフを、Excelから作ったCSVファイルを基にして、SAS University Edition で作ってみようというものです。

まず、折れ線グラフと棒グラフは、Excel のデータで同じデータを使って作りました。

Excel の表
access_sample01

折れ線グラフ
access_sample02

棒グラフ
access_sample03

グラフは、タイトルを変えたくらいで、特に編集していません。

・SAS University Edition でプログラム

SAS Universiry Edition は、フリーの仮想OSを使うソフト Virtual Box でゲストOSとして動作します。ベースは Linux のようで、Virtual Box では、Red Hat Linux として認識されてます。仮想OSの中で Web サーバーを使ったアプリケーションとして動作し、ホストOS側のWebブラウザを解して利用できます。

SASUniversityEdition

Webブラウザで接続すると SAS Studio が起動し、JavaScript を使ったプログラム用のエディタが使用できます。なお、IEでは JavaScript の仕様上の違いで、漢字などの倍角文字を使っているとエディタで文字化けすることがあるようです。

SAS_Studio_Start

なお SAS Studio のエディタは、コントロールキー+C、コントロールキー+Vといったショートカットキーを使って、テキストなどからコピペが可能です。Webブラウザで調べた SAS Studio でも使えるプログラムを、コピペして利用することができます。

・グラフを描くプログラム

SAS University Edition でグラフを描く前に、Excel で作ったCSVファイルを取り込みます。CSVファイルは、ファイル形式をCSVにしてセーブするだけなので、やりかたは割愛します。SAS のプログラムでは、下記のようなコードでいけそうです。

filename IN '/folders/myfolders/sample/アクセス数推移.csv';
data readin ;
infile IN dlm=',' firstobs=1 dsd encoding="sjis" termstr=CRLF;
input date : anydtdte10.
	bot feed win mac ipon ando other subtotal ;
run ;

まず、SAS のプログラムは、データを作る「data (データセット) ;」 と、表やグラフを描く「proc sgplot data=(データセット) ;」の2つのパートに分かれています。CSVファイルの取り込みでは、まず、ファイル名を定義し、そのファイルから、フォーマットに合わせてデータを取得します。

順番に説明すると…
filename は、CSVファイルの定義。ファイ名名に倍角文字も使用できます。
data readin; は、「readin」というデータセットを定義する宣言です。
infile は、ファイルのフォーマットを定義しています。
CSVなので、デリミタが「,」とか、firstobsでデータ以外の行数が何行あるか指定し(ここでは1行のみ)、SJIS でエンコードして、改行コードが「CRLF」など。
dsd は、「,」で区切られた単語が「”」で括られていたら、その中の「,」を単語の一部とみなす意味だそうです。

input は、CSVに格納された数値などを、どの変数に格納するかで、数値の場合は変数名のみでOKですが、文字列などは定義が必要です。ここでは、1列目が日付なので、「(変数名) : anydtdte10.」で SAS の日付データとして取り込んでいます。
最後の run; は、データの取り込み実行の指示です。

続いて、グラフを描きます。
1つの変数、例えば botをY軸に、日付を date で折れ線グラフを描くには、こんなコードでもOKです。

proc sgplot  data=readin ;
series x=date y=bot ;

ただ、これではX軸がSASの内部で使われる時間の数字だし、何のグラフかわかりません。
こんな感じに整形してやります。

title "1週間に機種毎の累積アクセス数の推移(2016/6/12-6/19)";
proc sgplot  data=readin ;
series x=date y=bot /legendlabel="検索エンジンからアクセス数";
format date date. ;
xaxis labet="日付" grid;
yaxis label="アクセス数" ; 
run ;

title は、グラフのタイトルで倍角の漢字も使えます。
折れ線グラフを描く命令 series のオプション「 /legendlabel=」で線の名称を指定します。
なお、「/」は、ここからオプション、という意味でのようで、この右側に他のオプションも追加できます。
format は、date 変数の表示を、SAS の内部の日付を表す数値から「date.」で日付表示に変える命令です。
そして、xaxis と yaxis はX軸、Y軸の名称を指定し、X軸にグリッドを追加しています。
各軸の名称には、倍角の漢字も指摘できます。
最後の run で、描画を行います。

なお、Excel では、累積の折れ線グラフを作成したので、data で累積値を作り、次のようにプログラムを作成してみました。

filename IN '/folders/myfolders/sample/アクセス数推移.csv';
data readin ; 
	infile IN dlm=',' firstobs=1 dsd encoding="sjis" termstr=CRLF;
	input date : anydtdte10.
		bot feed win mac ipon ando other subtotal ;
	a1 = bot;
	a2 = bot + feed ;
	a3 = bot + feed + win ;
	a4 = bot + feed + win + mac ;
	a5 = bot + feed + win + mac + ipon ;
	a6 = bot + feed + win + mac + ipon + ando ;
	a7 = bot + feed + win + mac + ipon + ando + other ;
	run ;

title "1週間に機種毎の累積アクセス数の推移(2016/6/12-6/19)";
proc sgplot  data=readin ;
	series x=date y=a1 /legendlabel="bot";
	series x=date y=a2 /legendlabel="feed";
	series x=date y=a3 /legendlabel="Windows";
	series x=date y=a4 /legendlabel="MacOS/X";
	series x=date y=a5 /legendlabel="iPhone";
	series x=date y=a6 /legendlabel="Android";
	series x=date y=subtotal /legendlabel="その他";
	format date date. ;
	xaxis labet="日付" grid;
	yaxis label="アクセス数" ; 	
	run ;
 

同じ要領で棒グラフを作成するための SAS プログラムも作成します。棒グラフを、描く命令は「vbar」です。基本は次のとおり。

proc sgplot   data=readin  pctlevel=graph;
vbar date / response=bot;

基本は、「vbar (X軸の変数) / respose=(Y軸の変数)」です。なお、proc の「pctlevel=」の「graph」に代えて別のキーワードを指定すると、パーセンテージの棒グラフにもできるそうです。

折れ線グラフを同じように、累積の棒グラフを作成する SAS プログラムは次のとおりです。

filename IN '/folders/myfolders/sample/アクセス数推移.csv';
data readin ; 
	infile IN dlm=',' firstobs=1 dsd encoding="sjis" termstr=CRLF;
	input date : anydtdte10.
		bot feed win mac ipon ando other subtotal ;
	a1 = bot;
	a2 = bot + feed ;
	a3 = bot + feed + win ;
	a4 = bot + feed + win + mac ;
	a5 = bot + feed + win + mac + ipon ;
	a6 = bot + feed + win + mac + ipon + ando ;
	a7 = bot + feed + win + mac + ipon + ando + other ;
	run ;

title "1週間の機種毎の累積アクセス数の推移(2016/6/12-6/19)";
proc sgplot   data=readin   pctlevel=graph;
	vbar date / response=a7  legendlabel='その他' ;
	vbar date / response=a6  legendlabel='Android';
	vbar date / response=a5  legendlabel='iPhone';
	vbar date / response=a4  legendlabel='MacOS/X';
	vbar date / response=a3  legendlabel='Windows';
	vbar date / response=a2  legendlabel='Feed';
	vbar date / response=a1  legendlabel='Bot';
	format date date. ;
	xaxis labet="日付" grid;
	yaxis label="アクセス数" ; 
	run ;

後ろから長い棒グラフを描いて、順番に手前に短い棒グラフを描き、累積が見えるようにしています。そのため、a1 から a7 の変数を作り、それぞれにラベルをつけました。

・あとがき

実は、もっと簡単に累積のグラフも書けるのでは、探してみたのですが見つけられませんでした。Excel で簡単に作れる方が特殊だったのかな、と思っています。まあ、プログラムで簡単にデータが作れるので、そっちでやってくれ、ということでしょうか。

今日はここまで…

統計のソフトウェアってどう

・まずソフトウェアって

パソコンなどで動作するソフトウェアはよくできたものはとても便利で、いろいろなことを自動でやってくれます。しかし、こちらが意図したとおりに動作してくれるとは限らない。じゃ、なんで思ったように動作してくれないのか、それを調べるのは以外と大変な作業になります。ですが、中身がわかっていれば、途中のデータを表示したり、思ったとおりにならない動作のみを再現してあげれば、調べられます。

世の中には、こういう目に見えないものを調べる仕事というのは以外と多いのかもしれない。ふたを空けたら歯車が欠けていて、それが誤動作の原因、なんていうのは今時少ないように思います。

以前勤めていた会社で作っていた半導体もそう。つめの先ほどのシリコンに考えられない規模の電子回路が作られている。その人の目で見えないような電子回路を追って、誤動作の原因の調べる技術者が何人もいた。まるで、開かない箱の中の様子を、小さな穴からいろいろな道具を挿しては、中の様子を探り、壊れた箇所を探しているような感じがします。

ソフトウェアは、その小さな穴から挿す道具を、症状に合わせて作ることができる。半導体の検査でも、同じような感じで中を探るパターンを作ってその出力結果から原因を調べられる。たぶん、見えない相手を調べる人たちは、対象に合わせていろいろな道具を作り出しているのでしょう。

・統計のソフトウェアがあるらしい

今、派遣先でビッグデータ解析ソフトの導入計画があり、それに参加を求められています。

ネットでいろいろと調べたところ、これも同じようなものかな、という気がしています。
つまり、世の中のよく解らない現象(直接手で触れないような物)を、いろいろな道具を使って調べていく、ということ。よく解らない現象については世の中のいろいろな装置や仕組みが吐き出す巨大がデータになっていて、とても人の手では調べられない。人の手では調べられないが、これを調べる道具を作って探っていくと、きっと何かが解るかもしれない、ということのようです。
そのための道具が統計であり、統計を利用したソフトウェアということになると。

・統計のソフトってどうなの

半導体の不具合解析は、半導体に作られた電子回路を熟知し、専門の測定器を使える技術者でなければ扱えませんでした。ソフトウェアも、何をやろうとしているか、そのために内部でどういうデータが処理されるかが解らないと解析できません。しかし、統計を利用した世の中の状況の調査は、調べようとする人のセンスしだいで、誰でも扱えるもののようです。

まあ、このセンスは、いい技術者と呼ばれるか普通の技術者で終わるかにも関わる重要なものですが、覚えるものではないので、自分で磨くしかありません。しかも、技術者の世界ではその結果が明白に解りますが、世の中のことになると、外れたのはそれが一過性のことだから、調査の対象にしたこと事態間違いだった、みたいな言い訳ができたりするし。どうなんでしょうね。

統計の技術を使ったプログラムは面白そうですが、それを使って実績をあげている、というのはなんか、うさんくさい感じもします。(どうせ「これならいけそう」とひらめいたアイデアを、統計のマジックで裏づけ資料を作って発表したら、偶然当たったみたいな。さすがに言いすぎかな。)

PAK86_seisakudb20140517_TP_V

NASのHDD故障だそうです

派遣先で使われている、バックアップ用の安価なNASのHDDが故障したそうです。ちなみにメーカーは、バッファローでした。

昔、以前勤めていた会社で、私が機種選定した初期のバッファロー製NASを使っていた時期がありした。
約5年ほどでしたが、故障もなくリース切れで返却するのがもったいない、なんて言われました。

転職した会社でも使っており、こっちは少人数のファイル共有用でした。残念ながら故障したので、私の提案でより安価なNASに買い替えました。幸い、データを読める状態だったので、データを失うことなく移行できました。

とまあ、値段の割りに便利なもの、という印象があります。

今回故障したのは、Windows サーバーで構築したデータベースのバック用で、たぶん、導入してから使われたことは1度もないかもしれない、と思えるNASです。とはいえ、万が一のことを思うとバックアップをやめる訳にはいきません。
今回故障したNASも、RAID構成なので HDD の1つくらい故障しても止まることは無いのですが、まあ、早いうちに HDD を交換すべきでしょうね。

交換用のHDD は、たぶん1万円くらいでしょうから、個別に購入しても会社でなら経費で落とせる範囲。
これが、エンタープライズ仕様だと、たかだか1個のHDDがうん十万円もするので、保守に入ってないと怖くて運用できません。
ただし、今回故障した NAS がバックアップしているシステムですが、そろそろ更新の時期、というのがちょっと気になる点です。HDDが1つ壊れるくらいだから、他のも危ないと見るか、システム全体の更新に合わせて新しいのに置き換えるので、それまでこのまま運用するか、なんて選択もあるのかな。

なお、システム全体の包括な保守契約があるそうなので、後はその保守会社との相談だそうです。
(保守があるのなら、すぐ交換でしょ、と思ってしまいますがね)

ちなみに、同じサイズのHDDでも、エンタープライズ用とデスクトップ用は全くの別ものです。工業製品は大抵、製品寿命が設定されています。使われた材質や加工精度、耐久試験の有無などで、同じような部品でも、全く価格が違ったりします。もちろん、信頼性の高い部品は高価で、特別な用途でしか使われず、大量生産される部品には、品質の劣るものが含まれます。

安く安定的に出荷されるデスクトップ用HDDは、大量生産された製品で、残念ながら品質が劣るものが含まれていたりします。(NASはメーカーにクレームを言うと交換してくれます。秋葉原でも交換してくれるみたいです。)

もちろん、大量生産のHDDと言っても工場で検査されて出荷されるので、使用する上での問題はありません。しかし、サーバーなどで酷使すると、脆さが露呈するそうです。昔から、こういったデスクトップ用のHDDを組み合わせたNASがあるのですが、以前勤めていた会社のある課長さんは、こういったサーバーを毛嫌いしていました。かなり、痛い目にあったのでしょう。
その会社では、そういった安価なNASは、部門の小さい範囲で使われるもの以外はありませんでした。

私は、用途を限ればこういう安価なNASもあり、という立場です。ただ、保守契約が無いと怖くて使えません。たとえバックアップだと言っても、HDDが壊れたらその日のうちに交換してくれないと。

自宅でゲーム

World of Tnaks 、本格的に始めました。
と言ってもまだ、レベル1の戦車を使っています。
このゲームは、第2次大戦に登場した戦車を使って遊ぶ、リアルタイムなゲームで、世界中のファンがいるらしいです。
(開発元はロシアみたいですが)

ちょっと前までは、パソコンが対応していなかったので、遊べなかったのですが、最近パソコンを新しくしたので、遊べるようになりました。
(というか、OSが Ubuntu だったので、そもそも動作しませんでした)

やった感じは、ちょうど昔流行ったサバイバルゲームみたいな感じですね。
いい大人がエアーガンでペイント弾を打ち合って、一喜一憂しているあれです。最近は、ホリエモンも遊んでいるのをネットのニュースで見て、懐かしくなりました。ちなみに、このゲームで遊んでいるのは、圧倒的に男性が多いそうです。

で、World of Tnaks ですが、10段階くらいのレベルがあるようで、レベルに合わせてマッチングされた人たちと遊ぶことになります。
もちろん始めたばかりの私は、初心者コース。

装備も初期配置のものを使ってます。これを使っていると基本的にお金がかからない。でも、大戦初期の軽戦車なんで、見かけもしょぼいし、性能もいまいち。とはいっても、初心者レベルではこれを使いこなすもが大変で、あっという間に敵のグループにボコボコにされていまいます。

学生時代は、紙でできたマップに、厚紙を切り取った戦車を動かし、サイコロで命中判定するゲームで遊んでいました。あのころ、データシートだけだった大戦初期の戦車が目の前を走っていたりすると、かなりうれしくなります。
とはいえ、当時紙のゲームで遊んだ戦車は、このゲームではかなりレベルが高く、とても遊べそうにないのが残念です。まあ、この先どうなるか解らないので、遊べる機会があるかもしれないので、それに期待しようかな。

こんなグラフィックばりばりのゲームが、Celleron の安価な CPU のノートPCでも動作するなんて、いい時代になったものです。

SAS University Edition 導入の背景

先日、大学職員の方との何気ない会話で、SAS University Edition は、山形大学でSAS Visual Analytics を使っているので、それを導入する前提だ、という話が解りました。
ネットで検索すると、山形大学関係の記事が幾つもあります。

代表的な記事はこれでしょう。

国立大学法人 山形大学 実践的に効果あるエンロールメント・マネジメントの実現に向け、「SAS®

Visual Analytics」を活用
国立大学法人 山形大学
実践的に効果あるエンロールメント・マネジメントの実現に向け、「SAS® Visual Analytics」を活用

今、山形大学は、MBAを持っているマーケティング専門の教授をスタッフに招いて多くの学生に受験してもらい、しかも、退学や停学させずに卒業してもらうにはどうすればいいか、という課題に向けて積極的に活動しています。その活動の一環で、SAS Visual Analytics を導入して効果をあげているようです。

1. そもそもなんで...

山形大学

実は、山形大学は 2001年に入試試験の計算間違いが判明し、それ以降、学生支援の考え方がスタッフに定着していました。また、地方の国立大学で受験者数の減少が問題となっていました。そういう素地があって、アメリカで生まれたエンロールマネジメント(EM: 大学における学生支援の取り組み)とインスティテューショナル・リサーチ(IR: 大学自体を調査・分析することで、大学の意思決定を支援する取り組み)に積極的でした。

2006年にEMの専任教職員などを置く組織を設置し、2007年にキーマンととなる福島教授をスタッフとして向かえて本格的に活動を始めました。福島教授は、留学経験がありMBAも取得している、大学マネージメント・大学マーケティングの専門家です。そして、この組織は今ではエンロールマネジメント部に昇格し、山形大学の中核的な存在となっています。
(キーマンだった福島教授は、2016/4 から大正大学に移られました)

そして、2010年には総合的学生情報データ分析システムの構築に着手しました。こうして得られたデータは、Microsoft SQL Server を中心としたシステムに蓄えられ、SharePoint を使って表示するようにしていましたが、より、職員が手軽に使える仕組みとして 2013年から SAS Visual Analytics の導入に着手し、今は効果を挙げているそうです。

2. なぜ、SAS だったか

SAS Visual Analytics を導入して成功している会社には、小売業や製造業もあり、マーケティングの考え方と非常に相性のいいソフトのようです。また、雛形にちょっと手を加えれば、全く新しいデータを加えて、それを使った解析も可能です。ユーザー次第で常に新しい試みができるようです。

一方、Microsoft 製品は、Microsoft SQL Server にしてもそうなのですが、アプリケーションの裏側にあって活躍するミドルウェアで、表側のアプリケーションはソフト会社が作成するのが一般的だという印象があります。定型業務には能力を発揮しますが、新しいことに対応したり、細かい仕様変更には対応できないのでしょう。山形大学で SAS Visual Analytics を導入した経緯を読んだ記事にもそういった記載がありました。Microsoft の組み合わせでは、システムエンジニアに依頼しないと新しい分析ができないそうです。

sas institute japan

3. SAS でよかったの?

ただし、SAS Visual Analytics は、かなり敷居が高いソフトだと思っています。きっと導入当初は、コンサルタントがエンロールマネジメント部の職員といっしょになり、いろいろな雛形を準備したり、操作指導を行ったのだと思います。

実際ネットで調べたところ、ビッグデータの解析に関して、三菱総研DSCが講師の派遣やデータ解析を行う契約を結んだというニュースがヒットしてました。この会社は、都市銀行系の電算部門が独立したIT企業で、アウトソースで給与計算を行うサービスなどを行っています。ビッグデータの活用についても、いろいろなノウハウを持っているようです。

そして何よりも、トップが積極的にこの仕組みの導入を支持し、これに関わるスタッフ全員が理解して、キーマンがうまく導いたことから導入の成功例として、記事にもなっているのでしょう。

記事にはトップの話しか載らないので、実際にデータ収集に当たったり、データ提供に関して関係者と交渉したり、集めたデータの集計の仕方を学んだ関係者の話には興味があります。

私は、新しいシステムの導入や、システムの移行などを幾つか経験してきました。そこでつきまとうのがデータの移行です。新しいシステム導入でも、こういうデータがあるから使える、を前提に話が進みます。しかし、新しいシステムに合うデータだったことは1度もありません。スクリプトを組んでフォーマットを変えて読めた、というのはいい方で、エラーになるデータを手で直すこともよくありました。また、従来の仕組みでは無かったデータが必要になる、というのもよくあります。新しいシステムをゼロから学んで、その仕組みと従来のデータに合う情報を作ってあげる必要があります。

きっと、コンサルタントとデータ収集を担当する人たちが、長い時間協議してやっと使えるレベルになったのいうのが実際では、と思ってしまいます。

4. で私は…

今、私が細々とやっている SAS University Edition ですが、実は導入理由もキーマンが誰かも解らずはじめました。この先どうなるか、かなり心配です。