スマート駄目リーマンの忘備録

旅行記、キャリア論、世相分析など思ったことを書き連ねます

ドイツワールドカップ観戦記(ミュンヘン)

フランクフルト→ミュンヘン

 フランス対ブラジルを観戦後はICEの夜行に乗って、フランクフルトからミュンヘンを目指した。夜にも関わらず、隣の席に座ったイギリス人サポーターとサッカー談義に花が咲いた。

 「ブラジル強かったのに、それ以上にフランスがしっかりブラジルのロナウジーニョを抑えたな。フランスの守備はすごかった。日本はブラジルから完璧な崩しで一点取れたのは称賛に価するよ。」

そう言って、イギリス人サポーターは日本代表の頑張りを労ってくれた。

 ミュンヘンでは準決勝を観戦予定だが、試合まで五日ほどの余裕があり、ミュンヘンやその周辺の観光スポットを巡ることにした。

早朝のミュンヘン

 早朝に夜行列車でミュンヘンに到着。しかしながら店はまだどこも閉まっている。仕方なしにミュンヘンのイギリス様式庭園を散策することにした。

 公演はまだ早朝の為、誰もおらず、静寂が支配していた。朝日に照らされた芝生のほのかな照り返しが、秀麗であった。

ガルミッシュパルテンキルヘン

 ミュンヘンからほど近い山岳避暑地、ガルミッシュパルテンキルヘンを訪れた。電車とケーブルカーを乗りいで、山頂付近に到達した。しかし、本当の山頂は梯子とゴツゴツとした岩肌を登った先にある。岩肌にはチェーンの柵が設置されているが、そこから先は切り立った崖であった。足をブルブル震わせながら、十字架のある山頂に辿り着いた。真下の写真は本当の山頂から、山小屋を撮影した写真である。

 現地で出会ったSEをやっている日本人は、岩肌をモノともせずにスイスイと登って行く姿には驚嘆した。

 

キームゼー湖

 ミュンヘンから列車と小型船を乗り継ぎ、キームゼ―湖の島の宮殿を訪れた。市内を走るレトロなチンチン電車が、美しい市内をさっそうと駆け抜けた。頬をかすめる風が心地よかった。

ベルサイユ宮殿を参考に建築されたらしいが、本家のベルサイユ宮殿を見たことが無いので、何とも言えなかったが、美しいことに異論は無かった。

 湖畔から島への船での移動中に知り合った日本人のドイツ駐在員の奥様と一緒に島を巡り、駐在生活やドイツ人の考え方などの話題で話が弾んだ。

ドイツ博物館

 ミュンヘン市内ではドイツ博物館を堪能した。博物館に向かうまでの道が美しく、周囲を散歩しているだけで、ウキウキしてきた。

 博物館は壮大で、内容も充実しており、非常に見応えがあった。とてもじゃないが一日で見切れない。一つのテーマに対して、発端から歴史まで全てが展示されている四次元スペクタルな展示に驚愕。
 例えばコンピューターというテーマならば、簡単な論理回路真空管トランジスタ→パンチ穴式という経緯を全て網羅してあった。資源探索のテーマでは、実際の採掘現場を現物代のジオラマで再現しており、迫力が半端なかった。

 ミュンヘン市内で訪れるべきNo1観光地であると声を大にして訴えたい。人類の英知を詰め込んだ世界でも指折りの博物館だろう。

資源採掘の展示

蒸気機関

航空機はエンジンだけでも展示がてんこ盛り

まとめ

 ミュンヘンとその周辺は自然と文化施設の両方とも充実しており、誰でもが楽しめる観光スポットである。ドイツを訪れたら、ミュンヘンだけは絶対に外さないことを切にお勧めしたい。

 

reCAPCHAを簡単に実装したい

お問い合わせフォームの攻撃対策

 企業の情報システム担当者さんを悩ます、お問い合わせフォームへの攻撃(意味不明な単語を機械で打ち込んで、何度も送信)

→まともなお問い合わせが、攻撃に埋もれてしまい、非常に厄介です。

Googleのロボット/人間判定プログラムで、攻撃をブロック

 ついこの間までは、下記のようにイラストを選択して、送信することで、人間と機械を見分けていました。

難易度が高い

 しかし、上記の写真判定って分かりにくいし、人間でも間違えちゃいますよね。しかもお問い合わせフォームで間違えると、せっかく自社に興味を持っていただいたのが、台無しになることも。(写真判定が面倒だから、問い合わせもいいやって、諦められちゃうことも)

最新版

 最新版では、こうした煩雑な判定動作が無くなり、フォームに文字を入力する時間間隔やパターン認識で、ロボットか人間かを判定することが出来るようになりました。これによって、フォーム入力者のストレスが一気に軽減されました。

自社サイトのお問い合わせフォームにも設置

 こうして、いざ設置という段になりますが、きちんと動作させるためにはフロントエンドとバックエンドの両方の知識が必要です。特に中小企業の一人情シスの方の頭を意外と悩ませます。

 かくいう私も、メイン業務と並行で自社の一人情シスを担っているのですが、実装までに四苦八苦しました。今回は四苦八苦した結果を踏まえて、一人情報シスの方になるべく分かりやすく実装方法を伝授したいと思います。

Googleアカウントの取得

 とりあえず、Googleアカウントを保持していないと何も始まりません。アカウントを持っていない人は下記のサイトを参考にアカウントを取得して下さい。
gmotech.jp

ドメインの取得

 自社サイトでは、おそらくドメインを取得していると思いますが、ドメインが無い場合にはドメインの取得が必要です。

blog-bootcamp.jp

Google recapcha管理画面でサイトキーとシークレットキーを取得

 Google reCAPCHA管理画面にアクセスして、Googleからサイトキーとシークレットキーを入手して、ページに埋め込む必要があります。それについては下記のサイトの(1)の項目を参照して下さい。

 入手したサイトキーとシークレットキーはメモ帳にコピペして、大切に保存して下さい。

office-obata.com

お問い合わせフォーム(フロントエンド)に実装

項目最後にフロントエンドのコード全文を掲載しているので、必要な部分をコピペして下さい。

 

ヘッダー

 まずはヘッダーと言われる部分

<head></head>

<script src="https://www.google.com/recaptcha/api.js"></script>

を追記します。
(下記の赤枠部分 7行目)

フォームメソッド

 idを追記します。ここでは、id="myform"としました。(下記の赤枠24行目)

送信ボタン

 フォームメソッドでid="myform"と設定した人は下記43行目~53行目までを丸ごとコピペします。44行目のdata-sitekeyを各自が入手したサイトキーに書き換えて下さい。ここではダミーのaaaaaaaaaaaaaaaaaaaaaaaを入力しています。

 また、idを別の名前で設定した人は、51行目の"myform"を各自で設定した名前に書き換えて下さい。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>セミナー申し込み</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://www.google.com/recaptcha/api.js"></script>
</head>
<body>

<div class="wrapper">
    <header class="header">

        <nav class="nav">
            <ul>
                <li><img src="../_img/Logo_A.png"   alt="company"width="25%"  height="auto"  min-width="10%"></a></li>
            </ul>
        </nav>
    

    </header>


<form method="post" action="seminar_apply_check5.php" id="myform">
会社名の入力をお願いします。(必須)<br/>
<input name="company_name" type="text" required style="width:200px" ><br/>
部署名の入力をお願いします。<br/>
<input name="company_department" type="text" required style="width:100px"><br/>
お名前の入力をお願いします。(必須)<br/>
<input name="nick_name" type="text" required style="width:100px"><br/>
メールアドレスの入力をお願いします。(必須)<br/>
<input name="email" type="text" required style="width:200px"><br/>
電話番号の入力をお願いします。(必須)<br/>
<input name="tel" type="text" required style="width:200px"><br/>
ご住所をの入力をお願いします。(必須)<br/>
<input name="address" type="text" required style="width:200px"><br/>




<br/>

<button class="g-recaptcha"
        data-sitekey="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
        data-callback='onSubmit'
    style="width:100px;height:50px"
        data-action='submit'>送信</button>

<script>
   function onSubmit(token) {
     document.getElementById("myform").submit();
   }
 </script>


<br/>

</form>

    <footer class="footer">
     <p>All Right Reserved.</p>
    </footer>


</div>


</body>
</html>

バックエンドに実装

 php文の冒頭に以下のコードをコピペして下さい。bbbbbbbbbbbbbbbbbbbはダミーなので各自で入手したシークレットキーに書き換えて下さい。


$recap_response = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb&response=' . $_POST['g-recaptcha-response']);

$recap_response = json_decode($recap_response);

判定の結果、ロボットでは無い場合(if($recap_response->success == true))の処理の処理とそうでない場合の処理を以下のif分をコピペして、それぞれ記載して下さい。

if($recap_response->success == true)

{

// 判定がOKの場合の処理を記載

}

else

{ 

//判定がNGの場合の処理を記載

}

まとめ

 うまく実装出来れば、下記の絵がサイトの右下に表示されるはずです。今回0から1の間のスコアで、0.5より大きければ人間(true)、それより小さければロボットと判定(false)しています。もちろんスコアの閾値を調整して、判定条件を厳しくすることも可能です。興味がある人は他の資料やサイトを調べてみてください。


ドイツワールドカップ観戦記(フランス対ブラジル)

 

 

スペインの敗退

 スペインの敗退により、私が保持していたスペインの準決勝まで追いかけて見れるチケットはスペインに勝利したフランスを追いかけることになった。

 よって、次の試合はガーナに勝利したブラジル対フランスを観戦することとなった。

 

フランクフルトへ移動

 フランクフルトへ移動し、ユースホステルに滞在することになった。しかし、そこのユースホステルでの生活は最悪だった。私が宿泊した八人部屋にはスペイン人グループが同席していたが、彼らは夜中に酔っ払って、騒ぎ立て、一睡も出来なかった。おまけに私に枕を投げつけてくる始末。

 これまでのドイツの旅が、かなり楽しかったのに、その楽しい思い出に一寸の曇りが差し込み、暗澹たる気持ちになった。

フランス対ブラジル

 ドイツワールドカップは、ロナウジーニョの大会になるだろうとの下馬評が高かった。当然、彼が試合で、高度なスキルをいかんなく発揮してフランスに勝利するだろうと多くの人が思っていただろう。

 しかしながら、そうは問屋は降ろさなかった。ブラジルは、ロナウジーニョにボールを集めて試合を組み立てようとするも、フランスのボランチの寄せが非常に速く、プラン通りに試合運びが出来ず、手をこまねいていた。

 ブラジルが攻めあぐねていた一方で、ジダンが光り輝いていた。中盤のプレスがきつめの場所でもモモのリフティングで華麗に相手をかわすなど、ワールドカップ準決勝の緊迫感とは対照的なエンターテイメントに満ちたプレーを披露してくれた。

 前半を0対0で折り返した。両者セットプレーのチャンスがありながら、決めきれない流れが続いたが、アンリのダイレクトボレーシュートが均衡を破った。そしてフランスはそのまま逃げ切り、1-0でブラジルに勝利。

 

youtu.be

 

If文の不等式の落とし穴(VB.NET)

 

 

範囲の判定と条件分岐

 変数を取得した際に特定の範囲内とそれ以外で、条件分岐を行うことは度々あります。

 例えば変数vが0.05から0.15の範囲内であれば、範囲内と判定。それ以外を範囲外とする簡単なプログラムを作成します。

初級者の落とし穴

 おそらく初級者は下記のように書いてしまうと思います。場合によっては数値の判定に慣れていない中級者も同様のミスを犯すかもしれません。

 しかもこれ、デバックで引っかからないので、ミスに気付けません。

 このプログラム、何が駄目か分かりますか?下の赤枠部分が間違いです。数学的な表記では正しいのですが、プログラム的にはNGです。

正しい表記

 And条件で表記しないと、プログラム上では正しく認識して貰えません。意識しないと意外とハマる落とし穴なので、注意が必要です。

 

駄目な上司の見極め方

上司との付き合いは避けられない

 サラリーマンであるならば、上司との付き合いは絶対に避けられません。上司と意気投合して、スムーズに仕事を進められれば理想ですが、現実は厳しいです。

 ここでは、駄目な上司の見極めポイントを列挙してみたいと思います。

 

見極めポイント

感情のコントロールが出来ない

 普段は穏やかで優しい人でも、自分の思い通りに行かないとキレる人は要注意です。普段は良い人なので、パワハラをしていても、それが顕在化しにくく、問題が長引く可能性があります。

 具体的に一緒に車に乗った時に、別の車の運転手にキレる人や、アクセルを強く踏み込むような人は要注意です。

自己中

 これは非常に分かりやすく、自分からかけた電話に出ないと怒るくせに、相手から電話がかかっていて、出れなくても気にしない人は十中八九自己中ですね。

口だけ

 営業が設定した無茶な納期で、開発現場が疲弊している時に、当時の課長は納期を調整するように営業部長に言っておくわと威勢よく口にしました。

 しかし、待てど暮らせど納期の変更はありません。その課長が出席していた会議に同席していた開発部員によると、その課長は会議で何も発言せずに隅っこでシコシコとメモ取っていただけだったよと証言していました。つまり、口だけ。

 それならば、俺の力が至らず、君たちに負担をかけてすまないと正直謝ってくれた方がどれだけ良かったか。期待した分、落胆は大きかったです。

部下がやるべき仕事をしている(マネジメントから逃げている)

 製品の出荷検査で不具合が見つかり、予定通り製品を出荷出来ない事がありました。当該部署の課長ならば、真っ先に営業からの矢面に立って説明を行い、開発部に対しては再出荷に向けた陣頭指揮をとらなければならない筈です。

 しかし、当時の課長は部下に紛れて不具合製品の手直し作業をコソコソ行い、説明責任、陣頭指揮責任を完全に放棄していました。 

 

取引先やお客様への謝罪を部下に押し付ける

 これもアルアルで、不祥事の責任を取って謝罪をするのは管理職の筈なのですが、それを部下に押し付けるズルい人が一定数いるんですよね。しかもあたかも部下の責任で不祥事が生じたように取り繕って、部下の責任感を煽るとか本当に最低の上司がいましたね。

まとめ

 正直、上司や管理職に優れた人間性を期待すると裏切られますよ。部下は上司を勝手に慕っているかもしれませんが、上司なんて部下を都合よく利用して、自分が得する事しか考えていない事がほとんどです。

 

 

長い春休み(東日本大震災からの逃亡 帰還)

岡山で再出発を決意

 バンコクの友人宅に戻り、情報収集をしたところ、岡山は災害が少なく、暮らしやすいようであった。また岡山では大学のOB会の活動が活発なようであったのも、心強く感じた。

 とりあえず、関西国際空港行きの航空券を手配し、岡山でまずは落ち着いてこれからの事を考えようと思った。

ささやかな送別会

 私が二日後に日本に帰国し、岡山で再出発を図る旨を友人に告げると、近所のレストランでささやかな送別会を開催してくれた。レストランで食べる最後のチキンライスの味が舌に染み渡った。

 

感謝の気持ち

 友人には非常にお世話になったので、最終日に友人が仕事に行っている間に友人の部屋の掃除、洗濯を行い、せめてもの感謝の気持ちを行動で示した。

 

別れ

 飛行機の出発は深夜だったので、仕事から戻った友人が最寄り駅まで送ってくれた。

別れ際、最後に固い握手を交わした。友人の強い握力にこれからがんばれというエールの気持ちを感じた。

 

帰国

 深夜のタイ国際航空に乗り込んだ。日本に帰国してから再出発できるのかという不安今の会社にどうやって謝罪しようかという悩みなどが交錯し、飛行機では一睡も出来なかった。

 飛行機の椅子にモニターが無かったので、映画で気分を紛らわすことも出来なかった。あてどない不安感を抱えながら、窓から空をボーっと眺めていた。

 飛行機は早朝に関西国際空港に降り立った。パイロットの操縦が下手で、着陸後に前輪が何度かバウンドした。

 これからの私の日本での生活の前途を予見させているかの様であった。

 

 

ベンチャー企業へ就職する際の注意点

 

 

心を新たにベンチャー企業へ挑戦

 特に日系の大手企業の硬直的な制度や面倒な人間関係に嫌気がさして、ベンチャー企業に入社する人も多いことだろう。

 ベンチャー企業は、まだ設立間もないので、人間関係もフレッシュで、評価システムも公平だろうという期待を抱くであろう。

 サイバーエージェントのようにベンチャー企業から大手に躍進する姿に心を躍らせて、自分も会社と一緒に成長したいという希望もあるだろう。

ベンチャー企業の実態

 しかしながら、ベンチャー企業の10年後生存率は1割ほどであり、会社と一緒に自分が成長できるどころか、そもそも、その会社が5年後に存続しているどうかも怪しいのが実態である。成長はおろか、現状維持に腐心することの方が多い。

実はズブズブな人間関係

 ベンチャー企業の設立背景を調べると、学生時代に同じ研究室の仲間や学生団体の仲間と意気投合して設立。前職のキープレーヤーたちがスピンオフして設立。前職の業界内のつながりで、気に入った仲間を引き抜いて設立。大体が、こんな感じである。

 大抵のベンチャー企業は、設立時に主要な役職の人間関係が既に出来上がっている状態である事が多い。 

 つまり、中途でその会社に入社しても、中核人事の人間関係は既に出来上がっており、そこで出世するのは、中途採用では実力があっても意外と難しいかもしれない。

 社長も人間である以上、採用時には完全実力主義と謳っていても、共同で会社を立ち上げた古参メンバーをどうしても贔屓してしまいがちになる。むしろ評価の不透明性は大企業より大きいかもしれない。特に社長秘書などは、業務能力など度外視で、男性社長が気に入った女の子を採用するなんて、ザラである。

 また、社長の側近のナンバー2は社長の機嫌を損ねないように常にヨイショしなければならず、気苦労が絶えない。テレビドラマのように膝を突き合わせて、熱く意見を交わすことなど不可能に近い。ナンバー2は社長のイエスマンにひたすら徹するのだ。

福利厚生は絵に描いた餅

 ベンチャー企業にありがちで、今は未整備だけど、二~三年後には~の福利厚生を整備する予定だと面接時に聞かされるが、現在整備されていない福利厚生はこれからも整備されない可能性が非常に強い。

 特にベンチャーはスケールアップが第一優先なので、内部留保を既存社員に還元せずに新たな社員の採用や新たな事業所の設立に回しがちである。

 

会社のキーマンに気に入られるかどうか

 つまるところ、創業時に会社のキーマンに気にいられて、中核メンバーになり、おいしいポジションをGetできるかが、ベンチャーで成功できるかどうかの運命を決めると言っても過言ではない。上記の様にむしろ大手よりも実力主義ではない部分も多い。

 

まとめ

 SNSなどでは、スタートアップに入社して、会社と一緒に成長などと言ったきらびやかな言葉が並ぶが、実情は以上で述べた通りである。

 完全実力主義のフラットな環境を真に望むのであれば、小規模でも良いので自分でビジネスを立ち上げる事が近道である。

 現在は個人投資家として株の売買をしたり、ウーバーイーツをしたり、アニメのグッズを高値で転売するなどして儲けている人は数多くいる。