TP-Linkのネットワークカメラ「Tapo C200」で老齢母親の見守りシステムを構築したよ

TP-Linkのネットワークカメラ「Tapo C200」をつかって老齢な母親(おばあちゃま)の見守りシステムを構築したお話し。

まぁ普通のネットワークカメラなんだけど、Amazonで評価高かったし、有名メーカーだし、そんなに高くなかったし、予備のmicroSDとかあったし、Amazonでクーポンでてたし、でお試しで導入してみたらこれがバッチリハマったのでご報告。

TP-Linkのネットワークカメラ「Tapo C200」の購入目的は
「実家で一人暮らしの老齢な母親(遠距離)が元気に生活できているか確認したい」
です。

要件はこんな感じ。

(要件1) ずっとカメラを監視することはできないし、したくない。

母にもプライバシーってものがあるし、僕もそんなに暇じゃないので、常時カメラ動画を眺めてることなんてできない。ただし日中の行動時間帯は自動で監視をしていてほしい。

(要件2) 1日に数回のレベルで母親が活動していることを通知してほしい。

1日に数十回というレベルで通知がきても逆にウザいので、適度な通知が来るレベルにしたい。

(要件3) 通知はスマホにしてほしい。

僕はスマフォの通知をスマートウォッチに飛ばしているのでスマホの通知という形式で飛ばしてほしい。メールよりアプリの通知にしてほしい。

(要件4) 母親が元気に活動してくれていることが通知でわかればいい。

前述同様に「母親が元気に活動している様子を見たい」わけではないので、通知だけくれればよくて、カメラの画質とかあまり必要ない。ぶっちゃけ録画してくれなくてもいい。

っということでTP-Linkのネットワークカメラ「Tapo C200」を購入。特にちゃんと調べたて購入したわけじゃないけど、偶然にも僕の要件にピッタリフィットしていた。

まず「Tapo C200」でできることをご紹介

  • すべての設定をスマホアプリで完結。
  • 監視動画のチェックもスマホで行う。
  • スマホとカメラは同一ネットワークに居なくてもよい(外部ネットワークからアクセス可能)。
  • カメラは水平方向360度設定が可能。
  • 逆に垂直方向は114度しか回らない。
  • カメラに指定位置を覚えさせてワンクリックで角度変更が可能(画角を覚えさせることができる)。
  • 動態検知機能が搭載されている。
  • 動態検知したときのみカメラ録画がされる(常時録画も可能)。
  • 動態検知したときスマホアプリ経由で通知がくる。
  • 動態検知が動作する時間を細かく設定できる(夜間は動作OFFとかできる)。
  • 照明を消したときのナイトモードが地味に優秀。
  • 正直、音声通話はオマケ程度

っということで、我が家の「おばあちゃま見守りシステム」の設定をご紹介。

(POINT1) まず常時録画はOFFで。動態検知時間は朝7:00~夜20:00まで。

僕と違って夜は早めにねるヒトなので夜間は動態検知する必要なし。っというか夜間にバシバシ通知こられても困るし。

(POINT2) カメラは常にリビングのメイン窓に向ける。

これにより朝夕のカーテン開け/閉めのみ動態検知される。

行動監視を「カーテンの開け/閉め」にフォーカスすることで必要な行動検知が可能。逆にそれ以外の行動検知を排除するような画角にすることで雑音(無意味な通知の乱発)を排除している。

カメラの設置場所は「カーテンの開け/閉め」の際に動態検知できればよいので部屋の片隅で問題なし。もちろんWiFi(無線LAN)と有線による電源供給は必要だからご留意いただきたい。

以上。

とても簡単。

こんな状態で1週間ほど運用してみた結果、1日に5~6回の通知が毎日くるようになり、非常に機能的にシステム稼働しています。

「Tapo C200」じゃなきゃできないこと、じゃないけど、ネットワークカメラと動態検知機能をつかった独居老人の見守りシステム構築例でした。

ちなみに、TP-Linkの「Tapo C200」お値段は、Amazonで単体4,190円に700円クーポンがついて、合計3,490円で買えます。「64GB microSD」がついてるバージョンもあるけど、それにすると700円クーポンつかないので、別で買ったほうがいいかもね。

僕は、「Tapo C200」用のmicroSDとして「東芝 microSDXC 64GB 100MB/s THN-M203K0640 UHS-I Toshiba」これを入れてつかってます。参考までに。

学校で勉強することの意味について

 

どこかで書いたかもだけど「勉強することの意味を見いだせない」若者に言いたいことがある。

僕も中学、高校、大学と「勉強することの意味を見いだせない」一人だった(だから勉強はキライだったし、やらなかった)。そんな僕がなんとか学校を卒業して、偶然とある大きな企業に就職して、様々な経験と年齢を重ねて、学生時代を振り返って「勉強することの意味」に対して自分なりの答えが見えてきたのでそれをお伝えしたい。

結論から申し上げる。
特に中学、高校で「勉強する内容自体にそれほどの意味は無い」と思っている(大学での勉強ですらほとんど意味は無いと思っている)。
ではなぜ勉強するのか?
それは二つある。
一つ目は「勉強する方法を学ぶこと」と、
二つ目は「自分に勉強する能力があること示すこと」だ。

中学、高校で学ぶ知識など(大学で学ぶ基礎的な分野についても)、その気になれば1か月もかからず習得可能だ。受験するわけではないので、すべて暗記する必要はない。どういう方法があり、その詳細はどこを見れば(参照すれば)のっているのか、その知識はどのように使えるのか、がわかればいい。英語であっても1か月ほど英語しか話せない環境で暮らせばある程度は身につく。

ではなぜ中高6年間もつかって勉強するのか?

おそらく、君は学校を卒業してからも一生勉強することとなる。
学校を卒業して社会人になってからも自己学習(新しいことを自分で学ぶこと)が非常に重要となってくる。しかしながら、特に企業に就職したら勉強する時間などまともに与えてもらえないだろう。したがって、将来の君は仕事上で結果を出すために必要なツールとしての「十分な知識」を極々限られた時間の中で得なければならない(仕事をしながら、学生時代からは考えられないほどの短い時間で「十分な知識」を得ることが求められる)。この「十分な知識」を得るために必要な学習時間を最小化することが人間の能力と言ってもよい。中高6年間の勉強はまさに「十分な知識を得る時間を最小化すること」を鍛える場であると言って良い。これが、一つ目の「勉強する方法を学ぶこと」の真意だ。したがって、ダラダラ勉強していても意味がない。長い時間勉強していれば良いというものでもない。目標を定めて、そこまで到達する時間をどんどん少なくしていくことが重要だ。

次に重要なことは「自らの能力を示すこと」だ。

前述を繰り返すが「十分な知識を得る時間を最小化すること」が人間の能力であるのは間違いない。これを示すために学校での「試験」や「受験」が存在する。「試験」や「受験」とは、限られた時間のなかでどれだけの知識を獲得できたか?という君の能力を確認する行為であると言ってよい。つまり、その内容(試験内容など)にはあまり意味はない。
3ヶ月という学習期間で得られた知識量を試すのが「中間/期末テスト」、3年間という学習期間で得られた知識量を試すのが「受験」、という具合だ。その試験から得られるものは「自らの能力の証」として学内順位、また「自らの能力の証」として最もわかりやすい「学校名」というカンバンを得られる。

様々な企業が「採用において学歴を重要視しない」と公言してきて久しいが、入社選考においていまだに「学歴や学校名」による選考を裏で行っているのはまぎれもない事実だ。なぜならば、前述の通り「十分な知識を得る時間を最小化する能力」が高い人間を採用しようとした場合、偏差値の高い学校の学生であれば、採用する上で満足のいく能力の人間である可能性が高い。もし偏差値が高い大学の学生と低い大学の学生がいた場合、表面上(人間的な部分)で判断できなければ、間違いなく偏差値が高い大学の学生を採用するだろう。一方で、多人数の応募者すべてを面接して、人間性を見る時間など企業にはない(数千人に及ぶ入社希望者すべてと話す時間的余裕などない)。そのため何をするかと言えば「まず応募者の大学名で絞り込む」ことだ。ある程度の偏差値の大学に絞って応募者を選考すれば効率的に採用活動を行うことができる。企業によってやり方は異なるとは思うが、これが選考基準として「学校名(学歴)で判断する」ことが今でもなお重要視される理由だ。
(「東大の学生は全員能力が高い」は必ずしも絶対ではないが「東大には能力の高い学生が多い(他の大学に比べて)」は間違いのない事実だ)

終わりに、「勉強することの意味」を無理に見出す必要はないと思っている。なぜなら「勉強することの意味」など、所詮「オトナの事情/世の中の事情」でしかない。そんなところを理解したところで勉強することのモチベーションになどならない。では勉強などしなくてよいのか?否、そうすれば君はだれからも信頼されないし、信用されない君は望むものは何一つ手に入らない。君の能力をオトナに証明してほしい。そうすれば君の望むものが手に入る(それは君が能力を証明した見返りにオトナから与えられる)。それが君のモチベーションになることを祈るばかりだ。

余談だが、学校での勉強の結果をもって君の能力を示すことは、今後の君の人生において最も簡単な「能力の証明」となる。学校を卒業して社会人となってからは君自身の「能力の証明」を行うことは非常に難しい。なぜなら、学校という場では「能力の証明」する方法がキッチリ定められており、教育課程を進めていけば勝手に「成績」という形で証明される。その方法に異論をはさむ余地はない(つまり世の中が認めている「能力の証明」の方法というわけだ)。しかし、社会人になってからは「能力の証明」の方法は様々な方法や形式があり、それを自分で考えて選択(もしくはコーディネート)しなければならず、加えて、証明した結果を他人にわかるように説明(アピール)する必要が出てくる。どんなに君が努力をしたとしても、証明の方法が他人に伝わらなければ全く効果がない。さらに、自身の能力をアピールする相手によって証明方法や説明方法も変える必要がある。これは非常に厄介だ。加えて、時間的に余裕がほとんどない場合が多く、前述の通り、学生時代のような時間もほとんどないことが多い。

僕は強くこう言いたい。
「学生のうちに自身の能力を証明せよ」
と。
それが君の人生をよりよくする近道だ。

PCでスマフォをUSB充電したら仕事をクビになった

まず俺の話ではなく全く関係ない人間の話なんだけど、注意喚起としてメールが回ってきた。
その話聞いてちょっと違うんじゃない?と思ったのでちょっと書いてみる。

そのクビになった技術者がいる現場では、どうやらPCにスマフォをつなげてはいけないというルールになっていたそうで、それを破ってPCのUSB端子でスマフォを充電しちゃってた。それがみつかってクビになったらしい。ルールを破ったのだからクビになっても仕方がない。それは正論。でもね、ちょっとまって。二つの観点からちょっと違うんじゃない?と思ったことがあるので順に書いてみるよ。

まず「セキュリティルール」という観点から。

セキュリティルールってのは「守る」ためにある。つまり、まっとうに働く人(社員やパートナー含め)を守り、企業の情報(=企業の資産)を守りるためにあるわけで、人間を罰するためのものじゃない。言い換えると、セキュリティルールってのは「ルールを守らせる」のが目的ではなく、被害を防ぐことが目的なわけだ。今回の件では、ルール違反は見つかったが、本来の目的は侵されていない。つまり、「被害は無かった」わけ。でも被害が発生する可能性のあるセキュリティルール上の違反が見つかった。しかも、過失はあるが、故意でルール違反を犯したわけでもない(「普段の癖でやっちゃった」らしい、それもちょっとアホすぎるけど)。それをいきなり当事者をクビにして「ハイ終わり」ってのはセキュリティ運用上どうなのかなと思った。

セキュリティルールってのは状況に応じてどんどん変更されるべきものだ。守るべき対象がどんどん変わっていくのでルールも変わっていく。さらにルール上の問題が見つかったらそれに合わせてルールを変えるか運用を変えていく。今回の件で言えば、ルール違反が発生して、それが重大な問題であると認識したのであれば、ルールを変更するか、運用を変えるべきじゃないのか?(=技術的な対策を打つ、なども含め)

ルール違反者を見つけ出し、それを切り捨てて、それでセキュリティが守られると思っているようならそれは大きな間違いだ。現状でルール違反者が発生する可能性があって、それが重大な損害の発生につながる可能性がある判断したのであれば(重大な問題が発生すると判断したからクビにしたんだよね)、次のルール違反者が出現する可能性も十分にあり、それが損害に発展する可能性も十分にある。それってまったくセキュリティリスクをケアできていないよね。

もうひとつは「雇用者(=管理者)」という観点。

損害が発生していない過失を見つけたからといってその過失者をクビにするのは雇用者としてどおなのかなとも思う。企業活動上でヒューマンエラーなんていたるところで起こっている。例えば、メンドくさくて手順通りにやらなかった、でも問題はなかった。これと今回の「PCでスマフォ充電しちゃった」問題と何が違うの?前者はお説教ですんで、後者はクビなわけ?

企業活動上、ヒューマンエラーが発見された場合には原因を明らかにして今後ヒューマンエラーが起こらないようになにかしらの「対策を打つ」というのが常識だ。そこには、ヒューマンエラーを起こした人間を罰する、というのは含まれない(別途で損害賠償という責任追及手段をとる場合はあるけど)。一般的な常識と今回の問題を照らし合わせれば、うっかり「PCのUSB端子でスマフォを充電」しちゃわないように対策を講じるか、うっかり「PCのUSB端子でスマフォを充電」しても問題ないようにするのが順当な考え方だ。逆に「PCのUSB端子でスマフォを充電」しちゃった人間をクビにするのはちょっと常識から外れている。

ってな感じで、「PCのUSB端子でスマフォを充電したらクビになっちった、テヘペロ」的なメールにとっても違和感だらけだったので書きなぐってみました。お粗末。

「バグのないプログラムを書け」はできるんじゃない?

プログラムのわからないえらい人「バグのないプログラムを書くことはできないのか?難しいかもしれないが、十分に気を付けていれば防げるのではないか?」にどう返したらいいのかわからない

http://anond.hatelabo.jp/20170214114736

バグは人のミスなんだから、理屈的には正しいような気がする

だけど未だかつて人類はこれを達成できていないという観測的事実がある、何故そうなるのかを説明することは可能だろうか

ふと思ったんだけど、この増田さんが言われた「バグのないプログラムを書け」はできるんじゃない?

ゼロにはできないけど、限りなくバグの少ないシステムは作れると思うよ。理論的にはね。

でもね、問題がある。

「バグが限りなく少ないプログラムを書く」ためには膨大なコストと時間がかかる。

システム構築ってのは必ず予算と工期が決まっている。

だから100万円でシステムをつくるのに、1000万円かけて「バグが限りなく少ないプログラム」は作れないし、1ヵ月の工期に1年もかけていられない。

100万円のシステムを1ヵ月で作るのに1000万円かけて1年もの時間を費やしていいのなら「バグが限りなく少ないプログラム」は作れるんじゃないかな。

その「プログラムのわからないエロい人」に言ってみたらいいよ。「予算と工期を最低でも10倍用意したらできるかもよ」と。加えて「それでもやるか?」と。

それでもゼロにはならないから、世の中のシステム障害ってのものが後を絶たないのだけどね。

【寄稿】システム開発の見積が高い4つの理由(ワケ)

Giochiamo!!ジョキアーモ!!からの寄稿記事です。

≪元サイトで読む≫

【ワケ1】儲ける必要のある「会社組織」が見積もっているから

システム開発という話から逸れますが、そもそも会社組織というものは絶対に儲ける必要があります。トントンじゃ絶対にダメなんです。なぜなら、そもそもマイナスからスタートしているからです。

会社組織というものは存在しているだけで経費がかかります。事務所賃貸費用、間接人件費、税金などなど。これは、仕事をしていなくとも必要であり、組織が生きていく上で絶対に必要となる生命維持(「法人は人格を有する」とはよく言ったものです)の費用です。したがって仕事を受ける以上、それなりに儲けを乗せないといけません。逆を言えば、会社組織というものは儲けが少ない仕事は受けてはいけないのです(儲けが少ない仕事ばかりしていると生命維持に支障がでてきます)。

したがって、当然ながら見積額にはその会社がその仕事で活動するうえで最低限以上の利益(経費といってもいい)が乗ります。つまり、会社組織が大きければ大きいほどこの利益が大きくなってきます。大きなシステム会社に見積もりを要求するとビックリするような金額が出てくるのはこのためです。

以前、勤めていた会社では「最低でも経費は6掛け」で計算していました。つまり原価100万円(原価=直接経費)の仕事は167万円以上の金額で提示していました。これがある程度の会社組織ならば当たり前のようにされています。一般の方々から見たら6掛けされた見積額と原価額を聞くと「ボッタくってるなぁ」と感じるかもしれませんが、これでも儲かっているわけではないんです。いろいろな経費を引くと、これでもトントンなんです。これには僕もビックリしました。このように会社組織の生命維持に必要な経費というものはとても大きいものなんです。

【ワケ2】システム会社が得意な技術が決まっているから

システム会社には得意な技術が必ずあります。建設会社を例にわかりやすく例えると、マンションなどのコンクリート構造物が得意とか、橋梁などの鋼構造物が得意とか、身近でいえば木造の家を作るのが得意だとか、そういう得意分野みたいなものがあるのです。具体的には、Windows系.NETが得意とか、業務システムをJavaで構築するのが得意とか、PHPでWEBサービスを作るのが得意とか、SAPやSalesforceなどの特定アプリケーションの導入やカスタマイズが得意とか。そのシステム会社によほど経営的な判断(新しい分野にチャレンジしよう、など)があった場合以外は、通常、その会社得意な技術やアプリケーションを使ってシステムを構築することを前提として提案や見積額が提示されます。

一方で、システム開発というのは不思議なもので、技術ごとに人件費単価が異なっているのです。つまり、.NETで工数1人月で作る場合と、Javaで工数1人月で作る場合と、PHPで工数1人月で作る場合でかかってくる人件費は異なっているのです。さらに不思議なことに、この人件費単価はかなり差があり、へたをすると費用が1~3倍になることがあります。

そこで、とある会社に「あれがしたい、これがしたい」と要望を持ち込むと、その会社が得意な技術と作り方でソロバンをはじきます。そうすると必然的に価格が異なってくるのです。つまり他社と1~3倍ほど差がある見積額が出てくるわけなんです。

具体例を出すと、Javaでシステムを構築する技術者の一般的な人月単価(技術者1人に1か月間作業をさせるのに必要な価格)は平均で60万円と言われています。一方でPHP技術者は平均月額単価は30万円です。しかもPHPはそもそも簡単学習、短工期を最大のメリットとしている言語ですので、Javaよりも高速で(短い工期で)構築することができます。おのずと見積額にも明確な差がでてくるわけです。(※ただし双方にメリット・デメリットがあるので一概に価格では決められないことはお断りしておきます)

【ワケ3】正しく要件を定義していないから

システムを作る上で最も重要な作業の一つに「要件定義」といわれる作業があります。この作業を簡単に説明すると「お客様の要件や要望を聞いて、お客様が何をしてほしいのか決める」作業となります。これは「お客様の御用聞き」をする作業ではありません。「お客様に本当に必要なこと」を正しくかつ詳細に探り当てる作業なのです。さらにいうと「お客様にはいらないこと」をちゃんと明確にする作業でもあるのです。そして要件定義をするうえで一番重要なことは、要件定義の段階では決して「お客様に必要なモノ(機能や形姿)」を具体的に定義してはいけないのです。

基本的にお客様はご自身のことをよくわかっておられません。ご自身にとって「本当に必要なモノ」を見えていないことが非常に多いのです。お客様は、ただ、漠然と「ほしい」と思ったから来ただけなのです。したがって作り手である我々が「そもそもなぜ、ソレがほしいと思ったのか?」「ソレを持つことによって何を成したいのか?」を紐解きながら「ただ、ほしい」という気持ちを解きほぐし、「お客様に本当に必要なこと」「お客様には要らないこと」を明確にして、お客様と共有していきます。これが要件定義という作業です。具体的なモノの話は、要件定義が明確になった後に具体的に設計されます(これを基本設計といいます)。

シンプルに考えてみてください。本当に成すべきことがわかっていないのに、本当に役に立つシステムができると思いますか?本当に成すべきことが分かっていないのに、システムを正しく使うことができると思いますか?本当に成すべきことがわかっていれば、不必要を極限までそぎ落とし、必要最低限の機能で最大の効果を上げるシステムを作ることが可能となります。つまり、要件定義が正しくできていれば「必要なシステムを安く作る」ことも十分に可能なのです。逆を言えば、要件定義が不完全もしくは間違って行われていた場合「必要以上かつ不必要で余計なものを作ってしまう(=高価になる)」危険があるわけです。

私のところに他社で出された見積を片手に「このシステム作るのにこんなに費用かかるの?」と相談に来られる方が多くいます。すこし時間を頂戴して、その方の要件をゆっくり紐解いていくと、実際にはその金額の半額以下で十分に構築可能なことがたくさんあります。つまり、お客様の要件を慎重に抽出してから、違ったやり方、異なる技術、その方の妥協点などをよくよく探っていくと1/5の価格で出来てしまうことも当たり前のようにあるのです(ただし、価格を下げるということは何かしらの代償が伴います。それを必ず説明してご納得いただかない限り、その仕事はお受けできないことがあることはお断りしておきます)。

この要件定義を正確に行うことが、正確な見積もりを出す根拠となります。強いて言えば、本来であれば要件定義ができていなければ見積はだせないのです。すでにお気づきと思いますが、要件定義は発注前に行われなければなりません。つまり、専門の技術者が要件定義をするのではなく、営業担当者が要件定義を行うことが多いのです(一般的な会社組織では技術者を動かすのは発注がなされた後になります)。要件定義を行うにはそれ相応の知識と経験が必要となります。一般的な技術者であっても要件定義を正確に行うことは難しいのです。要件定義を行う営業担当者にその知識と経験があるか・・・それが大きな問題となります(ここを重視して優秀な営業担当者を配置する会社組織ももちろんあります)。したがって、「だされた見積もりが高い」と相談に来られた場合、私はその方が話を持ち掛けたシステム会社の要件定義があまり正確に成されていないのではないか?と常に疑い、まず要件を慎重に分析することから始めるのです。その結果が前述の事例に結びつきます。

【ワケ4】その仕事を「やりたくない」から

最後は、単純な理由なのですが、あなたの持ち込んだ要望について、そのシステム会社が「できるけど、やりたくない」場合があります。【ワケ1】でもすこし触れましたが、会社組織には「やってよい仕事(=やるべき仕事)」と「やってはいけない仕事」があります。やりたくない理由はとても簡単で単純に利益に結びつかないのです。これは会社ごとにかなり明確に決まっています(これが明確でない会社は前述のとおり存続が危ういです)。しかし、お客様に対して「それは儲からないのでやりません」とはさすがに言えません。言えば失礼どころか信用を失いかねません。したがって、かなり利益を乗せた金額(=本来ならやらないが、このくらいくれるなら受けてもいい金額)を提示して「申し訳ありません、うちではこのくらい頂かないとできません」と頭を下げるのです(これなら営業職も頭を下げやすいのです)。

以上が、システム会社の見積が高い4つの理由(ワケ)です。
いかがでしたでしょうか?
あなたの手元にある「システム会社が作成した見積書」が高い理由をお分かりいただけましたでしょうか?

PHPerはワープアまっしぐら。PHPerの単価が月60万~とかありえない。

そもそもPHPerの単価が月60万~とかありえない。

「フリーランスエンジニアが知るべき、PHP案件のトレンド、特徴、単価相場とは」
https://freelance.potepan.com/blogs/1685.html
より引用

~前略~

フリーのエンジニアが受け取る報酬の相場は一般的にプログラマで「40~60万」、システムエンジニアで「60~80万」と言われています。もちろんスキルや時間によりますが、一般的にはPHPですと相場は月60〜高い方で90万ほどです。

~後略~

この記事についてモノ申したい。

PHPが短期開発に向いているのは正しいが、それはPHPが規模の小さいシステム開発に向いているという理由がある。1人ないし2人という小規模でチャチャっと作ってしまうようなシステム開発でPHPは非常に大きな力を発揮する。そういう小規模なシステムだけに予算自体も少ない。大きなシステムほど成功すれば大きな利益が得られるが、システム規模が小さくなれば利益も少なくなり、自ずとシステム開発予算も小さくなる。

PHP案件は予算200万以下という案件が圧倒的に多い(比べてJava案件は億規模がゴロゴロある)。これに原価60%だと計算すると120万になる。これがエンジニアに支払われる金額となる。予算200万の規模だと工数は延べ2~3人月ぐらいが良いところだろう。工数がかかりすぎだと思うだろうか?これに要件定義や設計期間、運用テストなども含まれていると仮定すると、妥当な数値だ。単純に120万を3で割っても一人当たり40万だ。上流工程で月40万とかはありえないので、マネジメントをする上流SEだけ月60万と計算すると、コーダーに支払われるのは一人当たり30万となる。この計算、発注者と受注者の間にウワマエを刎ねるハイエナ会社(管理費、口座貸費用などの名目でウワマエを刎ねる)が一切いないことを前提に話している(つまり商流が1段)。ハイエナがいればそれだけ技術者に流れる金も少なくなる。

次にPHPは比較的に習得が容易だ(PHPフレームワークなども含め)。つまりPHPerはたくさんいる。技術者がたくさんいれば相場は自ずと下がる。さらに高度な技術者は単価の低いPHP案件など受けない(Java案件などの単価の高い案件にいく)から、PHP案件しか受けられない技術レベルの低い(=単価を安くせざろうえない)技術者しかいない。結果、案件争奪戦はダンピング合戦となり、PHPer=低単価が決定される。結果、高いレベルの技術者は余計にPHPからはなれていく。ここ7~8年ぐらいこの負の連鎖が続いた。これがPHPerのエンジニアリングサービス(技術者派遣)の実情だ。ぶっちゃけて、Javaなら月60万から、PHPなら月30万から、と買い手と売り手の双方で価格相場が形成されている。PHPerがこれを超えて単価を勝ち取るにはPHPコーディング以外の付加価値が必要となる。

ではそもそもPHPで予算規模の大きなシステムはあるのか?あるにはある。しかし全体からすればごくごくわずかで、しかも首都圏に限られる。もちろんそこには高レベルの技術者が集まってくる(Javaでバリバリ稼いでいるけど、PHPが好き、などの場違いな高段者)。あなたはそこで彼らと肩を並べる自信はあるだろうか?

ではなぜPHP案件で予算規模の大きなシステム開発案件がないのか?それは大手システム開発会社が関わっているからだ。大きな予算がついているということは失敗が許されない。つまりリスクをちゃんとヘッジしてくれる大手システム会社にまず話が持ち込まれる。そういう大手はよっぽどのことがない限りPHPなど絶対に使わない。かならずJavaが提案される。(なぜかって?そりゃJava技術者のほうが人件費単価が高いからだよ!!そのほうが見積額を高額にできるからねっ!!)

さらに、エンジニアリングサービスにも地域格差というものがある。関西(主に大阪)は首都圏(主に東京)に比べて単価が80~70%と思っていい。東京での単価60万が大阪なら48万に、東京での単価40万は大阪だと32万になる。「SEなら東京にいけ」というのはこういうところからも来ている(そもそも案件数が首都圏は関西の2倍以上あるというのが主な理由ではある)。

つまり、金を稼ぎたいなら、PHPではなくJavaをやれ、というのが結論だ。というか常識と言っても過言ではない。

冒頭サイトで

PHPの場合はなにしろ開発需要が大きく、求人案件数も多いため、フリーランスの皆さんも多くの案件から自分に合ったものを選ぶことができます。

とあるが、この文章の後ろには「単価(給料)を選ばなければ」という一文が隠れていることを声を大にして言いたい。PHPの仕事は腐るほどあるのだ。だが誰が見てもワープアまっしぐら。あるていど会社組織の体を成している組織(社員を抱えていて食わせていかなければならない組織)では、その単価の安さから受けることができない(受けたら赤字確定だから)。したがってPHP案件は常時人不足。そこが辛うじて現在の単価を維持しているカラクリだ。

このままだと、PHPがあまりにも悲しいのでPHPの優れている点もあげていく。
(技術的に、ではなく、ビジネスとして、という観点から)

PHPはJavaに比べて圧倒的に「安く」作れる。PHPはあらゆるコストがJavaに比べてとても低いのだ。つまり同規模のシステムであれば、Javaに比べPHPのほうが1/10の金額で作れる。これは予算が限られている顧客にとって最大のメリットとなる。したがって、我々のような極小規模のインディペンデント会社が、技術者を売るのではなく、システム開発の全体像から提案して受託開発の受注を狙う場合は、PHPで提案することにより顧客に刺さる可能性が飛躍的に高まる。さらにインフラ周りや改修などの運用コストも低く抑えられるので提案力が出てくる。つまり、起業するとかフリーランスでシステム開発受託を狙う場合、大手と差別化をはかるという意味でPHPは大きな武器となる。逆に、前述に戻るが、末端技術者としてPHP案件に従事するというのであれば、経済的にジリ貧以外のなにものでもない。ワープアまっしぐらだ。「それでもPHPが好き」というのであれば別だが・・・

三菱東京UFJ銀行のワンタイムパスワードについてサポートに電話してみた

三菱東京UFJ銀行のワンタイムパスワードについてサポートに電話してみたのでその内容を書いてみる。まだワンタイムパスワードの申し込みをしていない方は参考にしてほしい。

三菱東京UFJ銀行のワンタイムパスワードについてサポートに電話してみた

スマフォアプリでワンタイムパスワードを生成する方法と、ジャパンネットバンクや三井住友銀行のようなパスワード発行機(カード型)を使う方法の二種類選べる。

スマフォアプリでは、1口座しかワンタイムパスワードを生成できない。たとえば、UFJで個人口座と事業口座を持っている場合、スマフォアプリではどちらか一方の口座しかワンタイムパスワードを生成できない。一つの端末でどちらか一方の口座しかワンタイムパスワードを生成できない。

アプリで初回登録時(※初回のみ必要で一回設定すればよく、ワンタイムパスワードの生成のたびに必要ではない)に設定用番号なる番号が必要で、その番号の取得は、毎日8:00~21:00、1日3回までと制限されている(※つまり、無理やり1端末で複数口座を運用する方法の障害となる)

一度申し込んだ後にカードからアプリ、もしくは逆にアプリからカードへの変更が可能である。

カードからアプリへ切り替える場合は即日だが、アプリからカードへ切り替える場合は郵送期間も含めて10日前後かかる。

アプリの場合はインストールしたアプリから、カードを申し込む場合はネットから申し込んでほしい。

IT系でよく使う「経営者」「マネージャ」「ディレクタ」「プロデューサ」というチョット意味不明な役職を「戦争」に例えて説明する

説明をスタートする前に、戦争において「戦術」と「戦略」の違いをご存じだろうか?とりあえずウィキペディアの「戦術と戦略」ご覧いただきたい。

以下「ウィキペディア – 戦術 – 戦術と戦略」項より抜粋

戦略と戦術を明確に区分分けする事は出来ないが、概念上は区分されるべきものである。戦略は戦役全体での勝利を収める為に指導する術策であり、[32]戦術は戦場において実際に敵に勝利するために戦闘部隊を指揮統制する術策である。つまり戦略は大局的な観点から目標設定の整合性や他方面の状況などを調整した巨視的な術策であって、戦略上の都合によって採りうる戦術に制約が生じることはありうる。
戦略と戦術の類似点をいくつか挙げることは出来る。両者ともに目標達成の手段という共通の性質を持ち、また戦略・戦術は共に一般的な理論であると同時に特殊的な術である。初心者はしばしば戦略を理論、戦術を実践として誤解するが、双方とも理論と術を併せ持っている。加えて情勢判断に基づいた戦力準備・戦力運用・教育訓練が三位一体となって目標達成を追求するという基本的な枠組みも類似している。[* 防衛大学校・防衛学研究会編『軍事学入門』(かや書房、2000年)144項より]
戦略と戦術の異なる点も挙げることが出来る。それは戦略と戦術が上下関係に属していることと関係して、考慮すべき問題の大小、配慮すべき時間の長短、視野の広狭などが決定的に異なっている点である。また戦略家・戦術家の思考様式の差異であり、戦術家としての役割を担う下級指揮官は一定の条件下で与えられた任務を達成するために判断すればよいが、戦略を担う高級指揮官は下級指揮官に任務を与える場合に必要な戦力を与えなければならず、また常に全体的な状況を把握して指導することが重要である。[* 防衛大学校・防衛学研究会編『軍事学入門』(かや書房、2000年)145項より]
また戦略・戦術の概念は近代以降に精緻化が進み、戦略は国家戦略、軍事戦略、作戦戦略に構造化されている。[* 防衛大学校・防衛学研究会編『軍事学入門』(かや書房、2000年)141項](戦略を参照)また作戦的な性格と戦闘的な性格から戦術を作戦術と戦術に区分する場合もある。

とある。このことを簡単にするために、ここでは、戦場という現場で行う術を「戦術」、戦場以外で行う術を「戦略」と定義する。厳密には違うかもしれないが概ね間違ってはいないはずだ。

まずは「経営者」から説明していく。

経営者の役割はとは戦争をする(つまりプロジェクトを行う)に当たって「どうなれば勝利なのか」「どうなると敗北なのか」「戦うことによって何を得るのか」を定義することだ。つまり目的を明確に定義することに尽きる。目的を達成するための手段や方法を考えるのは経営者の仕事ではない。経営者は戦略も戦術も定義してはならない。その役割は他者に任せなければならない。

次に「プロデューサ」について。

プロデューサの役割は、経営者が定義した目的を達成するための「戦略」を練ることだ。戦略の中でも「勝つための戦略」という攻撃的(オフェンシブ)な戦略を考える役割を担っている。したがって、プロデューサはリスクを恐れず打って出て、戦うことにより得られる目的を最大化することを考える。従って正面突破が難しいようなのであれば奇抜な策を提案することもあるし、十中八九勝てて、だれがやっても最大の効果が得られる勝ち戦ならばプロデューサの出番は少ないだろう。プロデューサはその役割の性質上目立つ。どのような職種においてもプロデューサが派手に見えるのはそのためだ。

「マネージャ」について説明する。

マネージャはプロジェクトを進めるにおいて、また戦う組織を維持運営する場合においてもっとも重要な役割を担う。マネージャもプロデューサと同じく「戦略」を練ることを役割としている。しかしプロデューサとは視点が違い「負けない戦略」という防衛的(ディフェンシブ)な戦略を考案するのがマネージャの最も重量な役割だ。戦争においても仕事上のプロジェクトにおいても、勝てなくても負けなければよいのだ。現実での戦いというのはゲームのように勝ち負けだけのゼロサムゲームではない。勝てないとわかっていても戦わなければならないことが往々にしてある。その時に「負けない戦略」が非常に重要になってくる。逆に、いくら勝てそうな相手だからといっても、どんな不測の事態が起こらないとも限らない。相手の戦力や戦略、戦術の予測を見誤っている可能性もある。それらのリスクをあらかじめ予見して、もしもの時を考え、被害を最小限に抑える方策をあらかじめ立てて置き、必要とあらば躊躇なく防衛的な戦略を発動させるのがマネージャの仕事だ。つまり、自組織を永続させることがマネージャの最も重要な役割と言い換えてもいい(戦って勝ったとしても自身がボロボロで再起不能ではそれは負けたに等しい)。さらに加えると「マネージャ」の重要なもう一つの役割として、戦線を維持して戦力を常に最高の状態に保つための兵站(ロジスティクス)を整備することも「マネージャ」の大きな役割だ。なお、現在のアメリカ軍では軍事作戦費用の50%以上をロジスティクスに費やしている。「マネージャ」はそれだけ重要な役割を担っている。

そして最後に「ディレクタ」だ。

もちろんディレクタは戦術を担当する。経営者が戦闘(仕事上で言えばプロジェクト)の目的を定義し、それに沿った戦略をプロデューサとマネージャが立案、準備をする。その戦略を受けて戦場で最も効果的に、かつ効率的に結果を出すために指揮を取る。つまり、戦場において、与えられた人的、物的資源(リソース)を最大限有効活用して戦略を具体化して目的を達成させるのがディレクタの役割だ。

なお、筆者の個人的主観だが、第二次世界大戦の日本軍には「マネージャ」職が欠落していたように思う。逆に「プロデューサ」と「ディレクタ」職は非常に優秀な人間が多かった(ロジスティクスが互角であった場合、総合すると日本軍は勝っていたそうだ)。つまり、勝つための戦略は立てられるが、物量に勝る相手に対して「負けない戦い」ができず自身がボロボロとなり再起不能となった。それを顧みず戦いを続けた結果が第二次世界大戦の結果につながったと思っている。もし当時の日本軍に優秀な「マネージャ」職が存在していて、「プロデューサ」と「ディレクタ」と同等かそれ以上の発言力があったとしたら、いまの歴史は大きく変わっていたはずだ。

この説明では仕事上のプロジェクトの役職を戦争に例えて説明してみた。「戦争とビジネスは全く違う」と反論される方もおられるだろう。しかし、現在主流のプロジェクトマネジメントの源流は、戦争大国アメリカでの戦争理論からきている。また、完全な戦争論であるランチェスターの法則を取り入れた企業が結果を残しているのは、戦争とビジネスが非常に似通った行為であることを如実に示している。

いかがであっただろうか?身近なプロジェクトに照らし合わせるとこの説明は非常にしっくりくるはずだ。そして、うまく回っているプロジェクト、成功したプロジェクトをみると、この役割がぴったり当てはまっていることが多いのではないかと思う。

2015年11月16日からauでスマートフォン回線を契約するとボッタクリのパケット定額プランが強制加入になる

スマートフォンを使用する場合、通常だとパケット定額プラン(カケホーダイプランなども含めたパケホプラン)の割引プランをに何も考えず加入している方が多いだろう。一方で、比較的割安なポケットWiFiやWiMAXなどのモバイルWiFiルータを持ち歩き、ネット回線はポケットWiFiやWiMAXなどの回線を使用して、スマートフォンのモバイルデータ通信は基本的にOFFで運用する方法がある。近年MVNO(仮想移動体通信事業者)が非常に充実してきており、メガキャリア(DoCoMo、au、Softbankなど)よりも安価にモバイルデータ通信手段を調達できるようになってきたので、この運用方法を選択する方がさらに増えてきたのではないだろうか。

当然ながら、このポケットWiFiやWiMAXなどのモバイルWiFiルータを使用してスマフォを運用する場合にはメガキャリアの高額なパケット定額プランには加入しない。auショップやDoCoMoショップで店員に「ネット通信量が高額になりますよ」という脅しに屈せず「すべてなし、基本料金のみで!!」と豪語して、おもむろにモバイルデータ通信をOFFにして、自分の持っているWiFiに接続するのだ。

そこで本題。

auではこの「高額なパケット定額プランには加入しない」ができなくなる。正確には2015年10月27日現在は「高額なパケット定額プランには加入しない」は可能なのだが、auでは2015年11月16日からパケット定額プランが強制加入になる。また、一度でもパケット定額プランを付けてしまうと今後は「パケット定額プランが外せなくなる」。なお、このパケホ強制はiPhoneだけでなくすべてのスマートフォンに適用される。ガラケ(フィーチャーフォン)は除外とのことだ。

こればっかりは正直暴挙と言わざろう得ない。月々5000円弱の高額な定額プランが強制加入とは殿様商売にもほどがある。現在、ガラケーユーザは月々2000円弱しかコスト負担していない。それがスマフォにしたとたん、スマートバリュー等の割引をしたとしても6000円弱が確定する。初期投資で機種を一括購入、基本プランのみを契約して(分割割引を放棄して)、ネットは自宅やWiFiスポットを使用するという運用方法も取れない。もちろん、ヤフオクなどで白ロム機やSIMフリー機を購入して基本プランのみで運用する方法もできなくなる。完全にユーザの利便性と多様性を無視した暴挙だ。

益々MVNOなどの格安キャリアへの転出組が増えるだろうし、auから他キャリアへの転出も増えるだろう。さらばau。

2014年10月~11月のサイトを閲覧したスマフォ・タブレットの機種別シェア

直近30日分のGoogle アナリティクス 解析結果にて。

ちなみにこのサイトじゃないよ。

俺がやっているWEBサービスのTOPページです。

言っときたい事は、このサイトのように、其の筋の人間が多いサイトじゃないってこと。システム関係の人間じゃない方々が8割以上なのは確か。

やっぱりiPhone, iPadがおおいなー。appleシェアが落ちてるとはいえ、やっぱりスマフォ・タブレット対応の最有力はまだまだiPhone, iPadなんだね。

ちょっとびっくりなのはWindows RT Tabletが以外と多い事。

Windows RT、シェアのばしてるねー。