訳あって、外部から自宅のデータを参照したいことがあり、そういうことのできるNASを購入したことがある。

その際、値段の関係でHDDを入れ替えられないタイプのNASを購入した。

初期費用は安くついたが、壊れるのはHDDの方が先で、4年は使えなかったように思う。

これが過去の話。

 

今回、同窓会や親戚の集まりの写真を共有しようと思い、「複数の人が更新、参照をできるよう」にしたかったので、クラウドのサービスで何か無いか探したが、

 ・複数のメンバーが誰でもアップロード、閲覧ができること

 ・何らかの認証がいること

 ・メンバーは、メールアドレスではなく、共通のもので済むこと

を満たすものが見つからなかった。(読み方が甘いだけ?あると教えて欲しいです・・)

調べていたらNASだと要件は満たす。そりゃ、以前やったことがあるから、当たり前なんだけど・・。

 

何社が候補があったが、今回はQNAP社のものを入手した。ポイントは

 ・RAID1で構成対応であること

 ・、安価なこと

も重要だが、

 ・HDD交換ができること

が最重要であった。こればっかりは前回の教訓である。

 

今のところは快適に使えている。アプリ入れればできることが増えるって、もうミニコンピュータである。

今どきのNASは外部アクセスを許可するにあたり通信の制御を設定しなくて済むので、かなり敷居は下がっているのでは無いかと思う。

 

クラウドにデータを置いておこうという発想もいいが、コスト考えるとNASもまだまだ捨てたものではないな、と思った。

 

 

人がいないからやむを得ないのだが、ここしばらくlinuxへのミドルウェアの設定とかshellのメンテナンスをしている。

shellなんてsonyのnewsっていうOS(UNIX系)を触って以来かも。ちなみにその上でCOBOLなんかを動かしていたよなというずいぶん昔の話。

 

で、shellだが、まともに2日ほどどっぷりつかるといろいろなことができることが分かってきた。

役に立っているのが

 ・DB更新

 ・DBの参照と、その参照内容による分岐

である。

あるシステムがリリース前なのだが、コードチェックしているとDBのキーの設定が悪い。しかしキー変更による影響が読めない。

そういう場合、shellでパッチを作る、ってことをしている。もちろん、根本解決ではないが、当面はこれで凌ごう。

 

また、知らなかったのだが functionが使えたり(利便性は通常の言語とより劣る)とかもするらしく、今更ながら奥の深さを感じている。

 

納品前に勉強しないといけないことが多いのは実は結構厳しいのだが、やむを得ない。今の勉強を必ずどこかで生かしたいなと思う。

Selenium というツールがある。調べた限り、誰かが日本語のブログを2008年には書いている。10年目には突入しているということだが、あまり浸透してないかもしれない。ブラウザの画面上で自動テストを実施するもの、というとざっくりしすぎかもしれないが、そんなようなものだ。

 

基本はFireFox向けで、それは Selenium IDE というそうだ。それ以外のブラウザに対しては試していないが、ドライバを使うそうで、Chrome等にも対応しているそうだ。

 

先日、引き継いだ保守プロジェクトで、Seleniumでのテストが作成されていたので、試しに動かしてみた。ブラウザが人の手でデータを入れているかのように動いていき、ボタンやリンクをクリックする動作も再現できる。バグ回収後のデグレード試験やJavaなどのバージョンアップ後の挙動確認にはもってこいだろう。

 

しかし、不向きはある。テスターさんからの話も交えるが

・HTMLの組み方によっては(どうやら配列らしいが)正常に動かないケースがある。

・そもそもプログラマがテストのしやすさを考慮していないケースがある。

・新規だと、そもそもテスターに引き渡されるのが直前かつ時間がないので、そこからだとスクリプトを起こすのが大変である。

などである。

しかし、これらは設計や製造の指針等でクリアできる点でもある。

 

システムエンジニアやプログラマでテストのしやすさまで考えている人はかなり少数派である。つまりはプロジェクトのリーダーやマネージャーが考慮しないとテストの効率を上げることは難しいのではないだろうか。

 

これからは労働人口がどんどん減っていくとされてる。それをそのまま受け入れるか、知恵と工夫でなんとか乗り切れないかと考えるか。Seleniumは後者のための強力なツールになりうるのではないか、と思う。