(O+P)ut

(O+P)ut

(O+P)ut = OutPut

【UNIX】passwdとchpasswdの違い

f:id:mtiit:20180920133440j:plain
UNIX系のOSでは、パスワードを変更するコマンドが二つあります。
passwdコマンドとchpasswdコマンドです。


どちらもパスワードを変更するコマンドなのですが、違いがあるので簡単に整理しました。



さて、違いを一言で言えば、

  • passwd

誰でも使用可能 対話的にパスワードを変更

  • chpasswd

rootのみ使用可能 非対話的にパスワードを変更 



です。



使用イメージとしては、

普通のパスワード変更 → passwdコマンド
複数のパスワードを一括で変更する または シェルを用いてバックグラウンドでパスワードを変更する等の特殊な変更 → chpasswd

という感じかと思います。



以下、具体的に解説します。



まずは権限周りの確認ですが、例えば一般ユーザがコマンドのパスを探す whichコマンドを使うとpasswdコマンドが発見できます。

$ which passwd
/usr/bin/passwd

このpasswdコマンドの権限を見てみると 「-r-sr-xr-x」 になってます。最初の s は特殊なアクセス権を付与するための「SUID(Set User ID}」ですね。

しかし、一般ユーザがwhichコマンドでchpasswdを探そうとすると見つけられないです。

$ which chpasswd
chpasswdはありません

一方で、rootにスイッチしてから行うと

# which chpasswd
/usr/bin/chpasswd

passwdコマンドと同じディレクトリに存在します。
chpasswdコマンドの権限を見てみると 「-r-x------」 となっています。
一般ユーザでは見当たらないわけですね。




使用法に関しても、passwdコマンドは、対話的に「新しいパスワードの入力 → 再入力」を求められたりしますが、chpasswdコマンドは求められずにパスワード変更が可能です。

標準出力を用いて以下のようにしたり

echo "username:password" | chpasswd

test1:testpass1
test2:testpass2
test3:testpass3
といったパスワードの一覧が記載されたmypwdfileというファイルを容易して以下のようにしたり、

cat mypwdfile | chpasswd

できます。



一人のパスワードを変えるだけなら、passwdコマンドで十分ですが、このように一括処理をしたりするときにはchpasswdコマンドが便利だと思います。


以上、ご参考ください。

【IT系】EOS の意味

先日、IT系でよく見るよくわからない単語としてサンセットというものを紹介しました。
mti.hatenablog.com

それとほぼ同義で使われるのが EOS です。

End Of Sales / End Of Support
企業の製品やサービスの取り扱い期限に関する略語。

End Of Sales「販売終了」で End Of Supportが「サポート終了」の意味です。

使われ方としては、保守サポートが切れる機器を更改したりすることを EOS対応 と言ったり、ソフトウェアのサポート期日をEOS情報 と言ったりします。

ご参考ください。

【雑記】ノキアの電力事業進出のニュース

電力新聞にノキアの電力事業に関する記事を発見。
ノキア、日本の電力分野に参入。通信網高度化を提案 | 電気新聞ウェブサイト

一部を抜粋しますが、以下のように記載されています。

ノキアは、日本の電力会社に通信網の統合や新技術の導入を提案する。電力分野のIoT(モノのインターネット)化には通信網のさらなる高度化が不可欠。ノキアは日本のメーカーなどとも連携し、電力関連の通信インフラ市場に参入する。
(中略)
ノキアは通信会社に限られていた高速の無線通信を電力会社などが専用で使える「プライベートLTE」と呼ばれる通信網も構築できる。この通信網を導入した米センプラエナジー風力発電所の故障予兆把握に用いて修繕費を9割削減した実績がある。


今回は、ノキアが参入して実績を上げた「風力発電所の故障予兆把握」について簡単に解説します。
f:id:mtiit:20180918162158j:plain



そもそもですが、ノキアフィンランドに本社を置く通信インフラ技術を中心とする開発ベンダーです。2011年まで世界の携帯電話シェアは第1位だったこともあり、携帯の世界では元巨人という存在です。そんなノキアが電力事業を行っているというのは知りませんでした。

そして、ノキアが記事の中にはスペース・タイム・インサイトというアメリカの企業を買収したことが書かれています。この企業は、分析ソリューションの当時の世界大手であり、電力分析を行うソフトを電力会社に提供していたようです。



つまり、ノキアは上記で買収したソフトを使って風力エネルギーのコスト削減を実現した、というのが正しい見方と思われます。
ポイントは、修理コストの低減への貢献です。



今回の対象の風車はネブラスカ州*1にあります。ちなみに、アメリカのいくつかの州は総電力の10%以上を風力発電で賄っているところがあり、ネブラスカ州もまたその一つです。


さて、実は風力発電というのは想定以上の風力は故障の原因となるため発電ができないといったように故障というのがつきまとうやっかいな側面があります。そして、風車というのは騒音問題などもあり人があまり住んでいないエリアに立てられることから、メンテナンスも大変となります。日本でもそれらの背景から海上風力発電なんてものが進められていたりもします。

そして、風車が故障によりダウンをすると、現地に人やクレーンを派遣し修理を行う必要があります。もちろん、メンテナンス中は発電ができないのでそれもまた機会損失となります。
f:id:mtiit:20180918162037j:plain

ノキアは、これを事前に予測し予防保守を行い、それらの費用の削減に貢献した、ようですね。

ノキアのサイトでも以下のように英語で記載されています。
Go beyond predictive maintenance with real-time workforce optimization to significantly lower costs and minimize downtime. Using sophisticated machine learning and prescriptive analytics, Nokia determines the optimal schedule and routing for wind turbine maintenance crews and automatically schedules work orders in your field service maintenance system.
(訳:リアルタイムの人員最適化による予測的な保守を超え、コストを大幅に削減し、ダウンタイムを最小限に抑えます。 洗練された機械学習と規範的な分析を使用して、Nokiaは風力タービンメンテナンスの乗組員のための最適なスケジュールとルーティングを決定し、フィールドサービスメンテナンスシステムの作業指示を自動的にスケジュールします。 )

このような機械学習のソフトと、実際に遠隔監視システムを構築することが可能なノキアの融合で成せるプロジェクトだったのかもしれません。

今後の日本でも電力ビジネスに関しては、少し関心を持ってフォローしたいと思います。

*1:オマハ があるところですね。

【BluePrism入門】Excelからの情報取得

f:id:mtiit:20180822175446j:plain:w60

RPAとして、業務を改善する際には「Excelのデータを取得し、Webブラウザに入力」などなどでExcelが登場することが多いです。

今回は、以下のような
ExcelのデータをBluePrism内のコレクションに代入する流れを説明したいと思います。

f:id:mtiit:20180903165103p:plain



まず、完成図は以下のようになります。

f:id:mtiit:20180903165313p:plain


見てわかるように3つのアクションがあり、この流れとしては、

  1. インスタンスを作成(CreateInstance)
  2. Excelファイルをオープン(OpenWorkbook)
  3. 値を取得しコレクションに代入(GetWorksheetCollection)

です。


インスタンスを作成

まずは、インスタンスです。
アクションを作成し、以下のように設定します。

Business Object Action
MS Excel VBO Create Instance

「Output欄」でhandleという変数を作成し、2・3でこれを引き継いで使用します。ちなみに、handleは数値を扱う変数です。

Inputs Outputs
デフォルト handle File name



■ワークブックをオープン
アクションを作成し、以下のように設定します。

Business Object Action
MS Excel VBO Open Workbook

「Output欄」でWorkbooknameという変数を作成します。

Inputs 1 Inputs2 Outputs
handle File name Workbookname

ここで、File nameに開くExcelファイルのフルパスを入力します。
f:id:mtiit:20180903190717p:plain






■値を取得しコレクションに代入
アクションを作成し、以下のように設定します。

Business Object Action
MS Excel VBO Get Worksheet As Collection

以下のように、1と2で出力してきたOutputと、シート名を入力し、アウトプットに受け渡したいCollectionを選択して渡します。、

Inputs1 Inputs2 Inputs3 Outputs
handle Workbook Name Worksheet Name Collectuon

ちなみに、Collectionは以下のようにしてラベルはExcelファイルと揃える必要があります。

f:id:mtiit:20180903175433p:plain

もし揃っていないと、以下のようなエラーが出ます。

Internal : Collection fields are defined but cannot be matched to the incoming collection - The collection definition does not contain the field Name  

これを実行すると、以下のような形で終了します。

f:id:mtiit:20180903192111p:plain

以下のように値が格納されます。

Collectionの中を見ると、初期値には値が入っていませんが現在値には入っています。

f:id:mtiit:20180903193209g:plain

これで、BluePrism内で別サービスに引き渡したりできますね。

以上、ご参考ください。

【雑記】初代ポケモンの技にある難しめの語彙

私は90年代生まれですが、ポケモンの赤緑青世代でがっつりしっかりやってました。

f:id:mtiit:20180902121314j:plain
当時は、技の意味が分からずに使っていたものもありましたが、少しずつ大人になるにつれてそういう意味だったのかーなんて後から理解していく、誰もが通る道ですね。
例えば、「はかいこうせん」は「破壊+光線」ですが、当時は「ハカイコウセン」という文字の羅列として認識していました。


そんなことをふと思い出して、
初代ポケモンの技で、少し日常では使わないワードを拾いながらその語彙の持つ意味を解説していきたいと思います。

改めて どういう意味? と聞かれると即答できないワードもあるかと思います。
ちなみに、技は全種類で165種類あり、その中から9つピックアップしました。





1. いあいぎり
威力50 命中率95
居合切り、つまり居合抜刀術です。もともとの定義でいうと、「鞘に収めた状態の刀から抜き放つ動作行う攻撃を中心に構成された武術」、のようで一撃必殺というニュアンスも感じられます。その割には威力が低い気もしますが、ひでマシンだったこともあり重宝しましたね。*1
ちなみに、英語名では「Cut」と略されているところは笑えます。



2. かまいたち
威力80 命中率75
漢字で書くと、鎌鼬。日本に伝わる妖怪の名前でもあり、つむじ風に乗って現われて人を切りつけると言われてます。雪国でよく言われていたことから、寒さで手足の皮が裂ける、「あかぎれ」という現象を指していたのでは、との説もある模様です。



3. けたぐり
威力50 命中率90
ワンリキーが使ってくるイメージがあります。漢字で書くと、蹴手繰り。これは相撲の決まりてのようで、「立合いの際に相手の足を蹴り、相手の手を手繰って倒す技。」とのこと。当時はなんとなく「殴り」のぐりかと思ってました。英語名では「Low Kick」。そのままですね。



4. サイケこうせん
威力65 命中率100
サイケってなんぞ?って感じですね。サイケデリック(Psychedelic)の略称のようで、意味は「幻覚剤によってもたらされる心理的感覚や様々な幻覚、極彩色のぐるぐる渦巻くイメージによって特徴づけられる視覚・聴覚の感覚の形容表現」とのこと。割とアウトローなワードのように見えますが、どうなんでしょうか...



5. じごぐくるま
威力80 命中率80
地獄車。発祥は柔道一直線という漫画であったりストリートファイターIIの技であったり、所説あるようですが「一回転した後に巴投をする」というのが技のイメージっぽいです。柔道一直線という漫画が1967年から1971年に連載していたようなので、こちらが発祥でストリートファイターIIの1991年発売で世に出て広まったという流れなんですかね。ちなみに、ポケモン初代は1996年発売です。



6. ソニックブーム
威力(20ダメージ) 命中率100
攻撃力・防御力に関係なく、敵に20のダメージを与える っていう特殊な技でした。こちらのワードは物理で習った人もいるかと思いますが、科学的な用語で、音速以上で飛行する物体から生ずる衝撃波が生む大音響のことを指します。以下の図を教科書なんかで見た人もいるのではないでしょうか。

f:id:mtiit:20180902115150j:plain



7. テクスチャー
効果:戦闘中のみ敵と同じタイプになる
ポリゴンが使う技ですね。とんがっている技であまり使い道もわかりませんが、これもまたCGの用語です。意味としては、「テクスチャ (texture) :物の表面の質感・手触りなどを指す概念」ということで、それこそ3Dグラフィックスで造形した物体の表面に画像をぺたぺた貼ったりすることを指したりします。



8. ナイトヘッド
威力(自分のレベルの数値だけ、敵にダメージを与える) 命中率100
検索しても、日本で1992年にやっていたドラマしかでてこないですね。人の脳で使用されていない部分をナイトヘッドと呼ぶ、なんて記載もありますがソースがないのでどうなんでしょう。英語名を見てみると「Night Shade」と略されているので、ゴーストポケモンっぽい響きでつけただけのようにも見えます。



9. わるあがき
威力50 命中率100
ポケモンでは、全ての技を使い切って出せる技がなくなる時のみ使える技です。当時は全く気にしてなかったですけど、出せる技がなくて追い込まれた時に出す技は「悪足搔き」。なかなか言い得て妙です。



以上、初代ポケモンを懐かしみながら書いてみました。ご参考ください。

*1:ひでマシンの「ひで」が秘伝からきていることはポケモンを卒業してから知りました。

【雑記】 LPガス輸入先に見る多角化の重要性

そもそも、LPガスとはなんでしょうか
f:id:mtiit:20180830185031p:plain
上の図がイメージしやすいですが、LPガス(Liquefied Petroleum Gas)は「液化石油ガス」と呼ばれて、ボンベに入れて運搬し、都市ガスインフラが行き渡っていない郊外や地方都市で広く家庭用として利用されています。
ちなみに、都市ガスはメタンが主成分ですが、LPガスはブタンやプロパンです。
何が違うのかというと、燃やす分にはどっちでもよいのですが、ボンベに入れて運ぶためには常温で液化しやすいのがLPガスで、そうじゃないのが都市ガスです。*1


さて、そんなLPガスですが、日本はどこの国からの輸入量が多いかご存知でしょうか?



日本LPガス協会は、WebサイトでLPガスの国別輸入量を需給日報として月次で公開しています。
日本LPガス協会(Japan LP Gas Association):統計資料:需給月報

たとえば、最新版の2018年6月を見ると、アメリが全体の過半数を占める1位となっております。2位以下に中東の国が続きますが、知らない人はびっくりしたかもしれません。ちなみに、10年前の2007年では、中東諸国で過半数以上を優に占めていました。



実は、LPガスは、石油の精製や天然ガスの精製で生産されます。そんな中で、アメリカはシェールガスを手に入れたことで中東の国と同じようにLPガスの輸出国になっているわけです。




これは日本にとってかなり重要な意味を持ちました。



2018年8月発売の"週刊エコノミスト"にも紹介されていましたが、昔の日本はLPガスを中東に依存しており、石油の値段に変動してLPガスも変動する変動リスクが高い状態でした。また、価格も不透明で、中東の言い値でつかまされていたというものでした。


一方、アメリカからも購入することによって、値段の変動が抑えることができる、おもしろい作用が働きます。


例えば、中東の石油減産などによる価格つり上げが行われた場合の動きを見てみましょう。

中東の石油価格があがる →
 中東のLPガスの価格もあがる → 
  採算が取れるためアメリカのシェールオイル採掘が活発に →
   アメリカ産のLPガスの値段はあがらない

この動きが、中東とアメリカからLPガスを買う日本にとってはトータルで見れば値段がそう大きく変動しない要因になります。
つまり、ネガティブフィードバックが効く、とてもよい構造になっていることがわかります。*2

何事もそうですが、一か所に依存するのはよくないのだなーと思ったニュースだったので取り上げてみました。ご参考ください。

*1:都市ガスは液化させるのは大変なので、ご存知の通り配管の中を気体で移動しています。

*2:中東からのLPガスも言い値ではなく適正価格に近づいたとか...

【BluePrism入門】switch文

f:id:mtiit:20180822175446j:plain:w60

BluePrismとは以下のようにフローを作成しながら、自動化したい作業を実現していくRPA*1ツールとなります。

f:id:mtiit:20180822155107p:plain
見た目はフローチャートのようですが、構造化プログラミング言語のように記述していきますので、条件分岐で用いるswitch文(スイッチ文)が存在します。

こちらの作り方を実例を元に、紹介します。

まず、用いるのはステージの「choice」です。作成すると、デフォルトでChoiseとOtherwiseがリンクされたオブジェクトが生成されます。

f:id:mtiit:20180828184443p:plain

今回は、C言語でいうところの以下の分岐を作成してみます。

int a;
scanf("%d", &a);
switch (a) {
	case 1:		printf("a = 1\n");break;
	case 3:		printf("a = 3\n");break;
	case 5:		printf("a = 5\n");break;
	default:	printf("others\n");break;
}

Choise1をダブルクリックすると、caseの分岐を記載できます。今回は、下記のようにしました。case1..等のところは名称なのでなんでもいいです。ポイントは、Choice Criterionのところに条件式を記載します。

f:id:mtiit:20180828185520p:plain

作成すると、分岐の数だけ自動的に Anchorが作成されます。

これの結果を、文字列の変数である print に値を書き込む Caluculation をそれぞれの分岐先に配置して動かしたGIFは以下となります。

f:id:mtiit:20180828190811g:plain
変数aを変えれば、その結果とおりに動きますのでぜひ実際に作成して確認ください。

*1:Robotic Process Automation