手を抜いたのかも

派遣先の大学の公式サイトは、外部の業者が専任で管理に当たっているので私はタッチしていない。先日、合格発表をWebサイトで行った際に、渡されたページのできが悪く、表示に時間がかかって、最悪タイムアウトする事態が発生した。

 


どうも、6月にリニューアルした公式サイトが重すぎて、サーバーが耐えられなかったとのこと。それを受けて、今は大幅に軽量化を果たして、明らかに軽くなった。先日、その対応の報告書も見せてもらったのだが、Webページを開くと体感で解るくらい軽い。合格発表のページも、公式サイトに画像やスタイルシートを読みにいくのをやめて発表のサイトだけで表示できるように修正する予定なので、次回は遅くなることはないだろう。

 


去年の合格発表は、サーバーが繋がり難い、ということはなかった。公式サイトがリニューアルしたとはいえ、そこまで重いコンテンツが並んでいた訳ではない。それでも今回の公式サイトの軽量化では、CSSで表示する画像を軽くしたり、JavaScriptのアニメーションを止めたりして、軽量化を行ったそうだ。

 


合格発表の直後、何で遅いの、と聞かれてチェックしたところ、1枚のページを表示するのに、100を超えるファイルをロードしていた。そんなにあるを目で追うのはかなり厳しい。結局、どれが遅い原因かは特定できなかった。公式サイトの運営を任されている会社でも、同じようにチェックしたことだろう。それで、とにかく画像を軽くして、JavaScript を減らすことにしたのだと思う。

 


サイトそのものの見かけはいいのだが、最初のアニメーションが邪魔だと思う公式サイトをいろいろと見てきた。アニメーションを表示している間にサーバー側で準備して送り出すことで、遅延を感じさせないための工夫だったのだと思う。

 


アクセス数が少ないうちは、うまく動作しているだろうが、アクセス数が増えたら、準備が追いつかない。すぐに繋がらなくなる訳だ。いいと思って真似しても、大学の公式サイトには向かない仕様だったということでしょう。たぶん、デザインのみ考えて、アクセスの際の負荷を考えてなかったのでしょう。良質のコンテンツさえ用意しておけば、なんとかなる、みたいな。

 


どこにいてもネットに繋がる便利な世の中なのだが、その便利さにかまけて手を抜くと、いつかは痛い目にあういうことか。

ハローワークで見かけたシステムエンジニアの求人、給与14.5万円

久々にインターネットでハローワークの求人をチェックしてみたのですが、今の時期は
新しい求人が少ないみたいで、IT系の求人はほとんどありません。

 

そんな中で、県内でも大きな施設でシステムエンジニアを募集しているのが目に留まりました。年齢制限は無いものの、その給与はガッカリするような金額です。なんと最低が、145,200円。上は一応20万円は超えているのですが、大卒の初任給と同じレベル。まあ、いわいる一般事務と同じ水準ですね。

 

山形県最低賃金が全国的にも低いので、月給も東京に比べれば低いレベルにあります。しかし、これはエンジニアを雇う気が無い、というか、パソコンや施設に関わる雑用係りを雇いたいというのでは。昔、「ショム2」というコミックを原作としたドラマがありましたが、彼女達がやっていたような仕事をやらせたいのでしょうか。システムエンジニアという職種が曖昧なので、こんな給料でも希望する人がいて、その人を雇えると思っているんでしょうね。

 

昔勤めていた会社の情報システムにいた後輩の女性は、いろいろな部署から集まる申請書を処理するかたわらで、EメールやExcelといったアプリの使い方を指導したり、不具合のあるパソコンの交換をやったりと、以外と忙しくしていました。しかし、ソフト開発のようなことにはタッチせず、そういったスキルも持っていなかったと聞いています。

 

こういう事務職員は、きっとどこでも重宝されると思うのです。しかし、それをシステムエンジニアという職種で採用するのはどうかと思うのですがね。こういうことをやっているから、日本のIT技術者の立場がいつまで経っても低いと言われてしまう、と思うのですが。なんて、考えすぎかな。

 

PHPが動く自分のサイトの引越し

PHPJavaScriptを練習するため、PHPが動作する無料サーバーを借りていたのですが、メンテしなくなっていたので、別のところに引っ越すことにしました。

 

狸森(むじなもり)の穴倉 – Just another WordPress site

 

 

 

コンピュータウィルスに弱いWindows7はリスクが高い

今日、興味深い記事を見つけました。先週、テレビの朝の全国ニュースでもやっていたコンピュータウィルスの「WannaCry」に感染したパソコンの 98% が Windows 7 だそうです。


http://www.itmedia.co.jp/news/articles/1705/20/news034.html
「WannaCry」感染の98%は「Windows 7」で「XP」はほぼゼロ

 

Windows 7 のパッチはとっくにリリースされていれるので、普通に使っていれば被害にあうことはありません。しかし、パッチが当たっていないパソコンが多い、という実態です。


派遣先の大学は、インターネットが遅いため、Windows Update が進まないことがよくあります。たまにしか使わない、ちょうど手元にある古いノートパソコンも、Windows Update が当たっていないパソコンの1台。最後に更新を確認したのが、2016/08/06 と出ているので、毎週電源は入っているのですが、去年からOSの更新はされていません。


誰かがメールなどで「WannaCry」を持ち込んだら、このパソコンは、間違いなく感染してたでしょう。


このパッチが当たっていなかったパソコンは、使っていた人がわざとパッチを当ててなかった訳ではありません。Windows Update の設定を確認したところ、自動で更新を確認する設定になっていました。

 

しかし、現実には当たっていない。今日、2時間動かしっぱなしにしたのですが、
OSの更新確認が終わる見込みはまったくありませんでした。パソコンを24時間
ネットに繋ぎっぱなしにしとけば、いつかは更新確認ができてパッチが当たった
かもしれません。でもそれは、1日後か一ヵ月後か解らない状況です。

 

このパソコンは、利用頻度が低いと言っても普通に使っていたパソコンです。それで
半年以上当たっていない訳ですから、同じように使っているのにパッチが当たらない
パソコンはいくらでもありそう気がします。そして、自動で当たるよう設定している
訳ですから、パッチが当たらないのは利用者の責任とは言えないでしょう。


マイクロソフトとしては、こんなことは全て承知していて、去年は強制的にでもWindows 7 の使用を止めさせようとしたのでしょう。でも、うまくいかなかった。こんなコンピュータウィルス騒ぎも予想していたのでは、と思うのですが。さすがにそれは無いか。


とはいえ、かつては OutlookIE を使うのにはセキュリティのリスクを覚悟する必要がある、なんて時代もありました。Windows 7 を使い続けるのは、かなりのリスクを覚悟しなければならない時代になったようです。

 

f:id:muzina_630:20170207164051j:plain

Excel でささっと

派遣先の大学で使われている学生の成績などを管理するシステムや、学内で利用するEメールなどを一括して登録することになった。どうも、やり方は毎年違うらしい。その時の担当者の詳しい方法でやるのだろう。ということで、今年は私のやり方に。


学生の学籍番号は入試番号と紐付けられており、入学が決まると番号は振られる。そして、学内のシステムやEメールには、学籍番号とは違うユニークなIDが設定される。

今年は、次のフォーマットで設定した。

2017 + (イニシャルのアルファべット2文字) + (2桁の数字)

仮に、サイトウ ツカサ さんという学生がいたら、2017ss11 とかになる。


これをどうやって作るか。
私は、Excel でやることにしました。

まず、元になる情報は、学籍番号、漢字の氏名、ひらがなの氏名です。
例えば、こんな感じ。

"2017-01-001" "斉藤 司" "サイトウ ツカサ"

ここから、IDを作成することになります。


まず、イニシャルのアルファベット2文字をどうすか。
ネットで調べると、VBA で作った記事が目を引きました。
そのコードを見ると、文字を判定して、該当するアルファベットを選んでいるだけでした。これなら、VBA にする必要はありません。辞書のシートを作っておいてvlookup() で検索するだけです。

 

1文字目は、"サイトウ ツカサ"の1文字目を left() で切り出し、vlookup() でアルファベットを検索します。


2文字目は、"サイトウ ツカサ"の苗字と名前の間の空白の位置を find() で計算し、その次の文字を mid() で切り出します。そして、1文字目と同じように vlookup()
で辞書を検索してアルファベットを作ります。

 

2桁の数字をどうするか。去年までは rand() で作ったランダムな数字を作って、後から一致してものを探して、手で直したのだそうです。そんな手作業は、間違いを生む原因なので、もちろん却下。

 

ユニークなIDにするには、イニシャルに通し番号を振ればいいだけです。なので、作成途中のシートをコピーして、イニシャルでソートした表を作り、通し番号を振る計算式を作りました。難しいことは何もやってません。こんなのです。

 

[通し番号]
=if(イニシャル = 1行上のイニシャル , 1行上の通し番号 + 1, 1)

 

これで、同じ1行上のイニシャルと同じなら通し番号をふり、違うイニシャルなら1を振ります。あとは、イニシャルが変わる度に、10の位を1つ上げていくだけ。

 

[10の位の数字]
=if(通し番号 = 1 , if(1行上の10の位の数字 > 80, 10, 1行上の10の位の数字 + 10), 10の位の数字)


こんな感じになります。

sa11
ss21
ss22
ss23
st31
st32

この4ケタでユニークがIDができあがりです。これに、年度を足して、2017ss11 といったIDを設定します。


これで、600個を超えるユニークな ID が一瞬で作れます。
まあ、通し番号を作るシートを別に作っているので、元のリストに修正が入ると面倒です。ここは、工夫のしがいがあるなと思ったのですが、そんな依頼は無く、これで完了でした。これくらいあっさりいくと苦労しないで済むのでいいですね。

最近テレビを見なくなった

最近はテレビを見てないので、情報が偏っているのでは、と思うようになってきた。数年前に、夜の時間帯はどのチャンネルを回しても似たようなバラエティか2時間ドラマばかりでつまらないと感じて、テレビを見なくなった。そのうち、仕事がバカみたいに忙しかったり、それを辞めてしばらく夜勤の仕事をやったり、バイトに励むようになってからは、もう全く見てない。

 


食事をしている時間や妻が見ている時間は、ついつい目に入る機会もあるのだが、テレビを見て過ごす時間は、今は1時間未満まで減っていると感じている。


そうすると、以前ならニュース番組やドキュメンタリーで世の中のいろいろなことを知ることがきでたのに、今はそれができないのでは、と感じている。できるだけ、ネットの動画でニュースの解説番組を見るようにしている。


昔と比べて決定的に何かが足りないような気がする。
例えば昔なら、テレビのドラマでいろいろなことを学んだ。歴史のこと、風習のこと、世の中の常識など。私が子供のころから生活スタイルが大きく変わっていないように思うのだが、情報に関しては様変わりしてしまった。


必要な専門情報はすぐに調べられる反面、何が世の中の常識なのか解りにくくなっているような気がする。こう思うようになったのは、年老いた証拠だろうか。最新のメディアについていけなくなったとか。


今、クラウドシステムから申し込んだライターの仕事を副業みたいにしているのだが、歴史をテーマとした記事では、こんな大河ドラマや時代劇があったな、と思い出し、ネットで調べたりすることが多い。まあ、私は日本の歴史を大河ドラマと時代劇で学んだようなものだ。後から本で読んで、ずいぶんと違うじゃないか、と考えを改めたものも多いがそれはドラマの脚色だからしょうがいない。見た当時は、全く違和感がなかったし。


今の子供は、そういう体験はあるのだろうか。うちの子もYouTube などでいろいろな動画を見ている。そういう動画は、元の映像があってそれを真似たものも多いはず。真似た方を覚えていってオリジナルを知らないで過ごすのは、誤った記憶のまま大人になるのでは。


昔は調べようがなかったことでも、今ではネットを使って調べることができる。ただし、間違った情報の中から真実を見つけるのは、なかなか大変だ。その大変さを厭わずに人を言うことを鵜呑みにしないで、自分で調べる習慣を付けさせらたらいいな。


とりあえず、今の子供に対する口癖。
「おまえインターネットが使えるんだから、自分で調べろ」

これに対する子供の口ごたえ
「俺は調べる方法がわかんないから聞いているんだ」

なかなかいいことを言うじゃないか。

PHPで作ったスクリプト、rubyでも作ってみた

1台のサーバーで複数のブログを公開しているので、それぞれの WordPress のバージョンを調べるスクリプトを作って確認したばかりですが、このスクリプトPHP で作りました。WordPress が動作する、というのは PHP が動作する、ということなので、パッケージがインストールされていないので動作しない、といったことはありません。

 

こういうスクリプトruby の方がいい、という思いもあってテスト環境でほぼ同じ機能を ruby でも作ってみました。こっちの方が記述が簡単になり、見やすいように思います。ruby の方が生産性は高いので当然かもしれません。

 

しかし、問題が。MySQLへの接続をどうするか。
PHP では、MySQLへのアクセス機能をモジュールとして組み込む仕組みになっており、WordPressMySQL を使うことから、当然本番システムにも組みまれています。
しかし、ruby は、複数の手段が用意されています。さらに、ruby のプログラムにモジュールとして組み込むのではなく、Perl のように外部のライブラリとして用意する仕組みになっています。

 

当然、本番システムには、ruby というプログラムはインストールされているものruby の外部ライブラリはインストールされていません。Ruby on Rails でシステムを構築すると、この辺の問題は無いのでしょうが、所詮ただのブログサーバーですから。

 

MySQLruby 用ライブラリは、gem の仕組みを使って簡単に入れられるのですが、開発環境とちがい本番環境を途中からいじるのは、ちょっと。


このスクリプトは、コマンドラインから実行するだけで、実行速度を気にする必要がない。なので、外部 コマンドとして mysql を実行し、その結果を ruby で処理させるのがいいかも。
ネットで検索すると、この外部コマンドを使った例が、以外と Google の検索の上位にある。ということは、同じことを考えている人が多いということか。

 

mysql コマンドで、必ず1つのワードだけ出力するようSQLを書き、さらに事前に動作確認してエラー処理を省けば、ソースは簡単に記述できます。誰が使ってもOK、というスプリクトを組むにはそれなりに面倒ですが、割り切って作ればそうでもありません。

 

実際に作ってみたら、案外簡単な記述でもちゃんと動作しました。
やっぱりどうせ使うのなら ruby の方がいいかな。

 

f:id:muzina_630:20170209144233j:plain