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

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

夢を持つ必要も何者かになる必要も無い

君は将来何になりたいの?!

 これ、小学生に上がる頃には大人たちから必ず浴びせられる言葉。正直小学生ならば、おいしいご飯を食べて、ぐっすりと寝て、遊んでいられれば、十分に楽しい筈だ。今が十分に楽しい子供たちがほとんどなのだ。別に楽しい今から不透明な将来を考える必要など毛頭ないのだ。

 だからこそ、そうした楽しい日常を送っている子供たちは、大人たちから唐突に

「君は将来何になりたいの?!」と聞かれて面食らってしまう。

 

無理やり夢をひねり出す

 よって、男の子たちはサッカー選手、パイロット。女の事たちはケーキ屋さん、CAなど無理やり夢をひねり出す。大人たちの問いかけに回答するために。

 

夢を持てと子供を洗脳する罠

 大人になって気が付いたが、こうした将来何になりたいという問いかけは、大人たちが子供を躾けるための罠であったのではと思うのだ。

 将来サッカー選手になりたい→じゃあ、真面目に練習しようね。将来CAになりたい→じゃあ真面目に英語を勉強しようね。~になりたい→そんじゃー真面目に~しよう というパターン。

 こういった誘導を子供たちに仕掛けて、学校教育に従わせる。学校を始めとした先生に、このように問いかけられて、大人になっても働かずに炬燵でずっとゴロゴロして、ゲームやっていたいなどと回答出来る勇気のある子供がどれだけいるだろうか?

 

夢を持つ必要も何者になる必要も無い

 大人になって、周囲を見渡すと子供時代の夢を実現している人は千人に一人もしくは一万人に一人といった印象だ。

 今月の住宅ローンの支払いや家賃の支払いがまず第一優先で、それを実現するために最短な仕事を各々が逆算し、それを黙々とこなすことが精一杯な人達が圧倒的多数なのだ。

 真面目な大人は、子供の頃の夢と今の自分とのギャップに大いに打ちのめされるだろう。

何になりたいかでは無く、どうありたいか

 しかし、そもそも子供の頃に夢を持ち、何者かにならなくてはいけない前提自体がそもそも間違っているのではないだろうか?

 別に夢なんて必要ない。ずっと炬燵でゴロゴロして、ゲームしていたいなら、それで良いのだ。このように自分がどうありたいかから逆算して、それを実現させるにはどういったスキルが必要なのか洗い出すことが大切なのだ。

国や組織に縛られず自由に働き、好きな時に遊びたい

 私は本質的に自分一人の自由をこよなく愛する人間だ。子供の頃から、友達と一緒に遊ぶのは非常に苦手で一人が好きだった。また、学校という組織にも非常に窮屈感を覚えた。

 学生時代に海外旅行先で、自営業や投資家として時間的、物理的に自由な環境でお金を稼ぎ、自由に海外旅行している方々を心底うらやましいと感じたものだ。

 私は世間や親からの一流企業にずっとしがみつけという洗脳に抗い、現在は小規模な会社で在宅ワークメインでプログラミングの仕事を主にこなしている。

 プログラミングの仕事は、結果が全てである。10時間かけても、要件を満たせないコードしか書けない人もいる。その一方で2~3時間でさっさと要件を満たし、バグのないコードを書き上げて後はのんびりするか、受託で仕事を沢山こなして、多額の収入を手にする人もいる。

 学歴も年齢も関係なくコードという成果物で、個人の実力が可視化される。よって、一日2~3時間しか働かなくても仕様を満足するコードを書いていれば誰にも文句は言われない。

 さらに、プログラミング言語は万国共通なので、日本以外でも働くことが出来る。リモートのインフラが発達した現在では、日本に居ながらにして海外の仕事を引き受けることも可能だ。

 私は幸いにもプログラミングの適性がそこそこあったようで、与えられた課題をさっさとこなして、あとはマイペースに仕事をしている。元来プログラマーを志していた訳では無いのだが、自分自身の国や組織に縛られずに働けるスキルから逆算し、自分の適性を見極めてプログラマーという職業に行きついたのだ。

 そもそも国や組織の制約を受けずに働けるスキルとは何だろう。これはつまり国の文化や言語に影響を受けない非言語スキルという事になる。そうなると理系分野や職人の仕事が主になる。技術者、プログラマー、医者、料理人、農業、漁業従事者、マッサージ師などになるだろうか?

 私はそこから、先ずは技術者を選び設計の仕事に従事した。しかし、得意な強度計算だけでなく、細々した図番などの管理がどうも苦痛であった。そこで、次の候補としてプログラマーに辿り着き、たまたまそれが自分にとっては苦痛ではなかったという訳だ。そして幸運なことにプログラマーの仕事はテレワークとの相性も良く、会社に行かなくても仕事を完結できる場合が多い。

まとめ

 大人や世間からのあなたの夢は何?あなたは何者になりたいの?という呪縛から逃れて、自分はどういう状態にいることが心地よいのか自分自身に問いかけることが大切だろう。

 そして大人は子供に夢を問いかけずに、子供の好きな事や好きな状態をキープ出来るようにそっと裏からサポートしてあげることが、子供の将来の幸福にきっとつながるはずだ。

 

 

 

 

 

 

ドイツワールドカップ観戦記(フランクフルト→帰国)

ミュンヘンからフランクフルトへ

 ミュンヘンで準決勝を観戦した後はフランクフルトへ向かった。フランクフルトで二泊した後にルフトハンザ航空の成田行きに乗って帰るためだ。

 二日程度の滞在の為、遠出する訳にも行かず、ライン川の美術館に立ち寄ったり、ライン川沿いのカフェで本を読んだりして過ごした。観光では無く、一か月に渡る旅の小休止という言葉が適当だろう。

 初めての海外での長期旅行で、当初は不安も大きかった。しかし、現地で英語でのコミュニケーションが取れたおかげで、現地や海外の人と友達になれたし、それなりに深い話も出来た。

 しかしながら、滞在のほとんどが8人部屋のいわゆるドミトリーという事もあり、精神的な疲れが蓄積してきたことは否めなかった。

 やはり、日本人の性なのか、一ヶ月近くもドイツにいると温泉に入って、畳の部屋で寝ころびたいという欲求が高まって来た。

帰国

 帰りの飛行機では足を延ばしたかったので、非常口前の近くで、前に席が無い所にして欲しいとチェックインカウンターで懇願したところ、快く受け入れて貰えた。

 とにかく疲れがたまっており、帰りの飛行機ではずっと目を閉じて、ひたすら休んでいた。

 大学の夏学期期末試験前に無事に成田空港に到着した。携帯電話の電源をONにすると大学の友人から授業内試験の開催を知らせるメールが何通も届いていた。

 その科目は建築美術という一般教養であった。期末試験中に試験を行わず、最後の授業で試験を行っていたのだ。当然ドイツにいる私は受験できなかった。

 しかしながら、非常に親切な教授で、救済措置としてレポートを代わりに提出すれば単位を頂けるとのことだった。夏休み中にドイツで撮影したケルン大聖堂の写真をレポートに沢山盛り込んで、適当な考察を付けて提出したところAの評価が頂けた。

 

まとめ

 ドイツワールドカップ観戦の一人旅で、海外の一人旅の面白さに覚醒してしまい、社会人になってからも、長期休みを利用しては世界の様々な国を巡った。

 中学生時代、社会の授業中に先生の説明は上の空で、世界の地図帳を眺めては、ここは一体どんな場所でどんな景色が広がっているのだろうかと思いを馳せていた。

 そうした思いを実際の旅で確認して行く作業を大人になってからひたすらやり続けたのだった。

 もし、この旅で散々な目に遭い、二度と海外旅行なんて行くかボケ!!という気持ちになったら、その後の海外旅行での様々な思い出は無かっただろう。そうした意味で、初めての海外一人旅のドイツが楽しい思い出になったことは、私の中で非常に重要な意味を持っていたのだ。

 ここ数年、コロナ騒動による入国規制で思うように海外旅行が出来なくなっていたが、若い人は是非、日本の外の空気を思う存分堪能してきて欲しい。終わり。

 

 

ドイツワールドカップ観戦記(準決勝 ポルトガル対フランス)

アリアンツアレーナへ

 この前のフランス対ブラジル戦はブラジルの敗退という思いもよらない結果であった。次はポルトガル対フランスの準決勝を観戦するためにミュンヘンアリアンツアリーナへ。

 アリアンツアリーナは外壁のパネル部材に日本のメーカーの旭硝子(現在のAGC)製の特殊フィルムが使用されてることで有名である。

 宇宙からやって来たUFOの様な不思議な出で立ちが物珍しく、何度も写真を撮影した。

ja.wikipedia.org

キックオフ

 

 ブラジルの敗戦で、ドイツ大会の目玉選手であるロナウジーニョのプレーが見られなかったのは寂しかった。しかしながら、ポルトガルにもフィーゴ、デコ、クリスティアーノ・ロナウドなどの素晴らしい選手を抱えており、見ごたえは十分だった。

 とりわけ、クリスティアーノ・ロナウドミドルシュートの勢いには目を見張るものがあった、フィジカルモンスターと言われる所以も納得であった。

 ポルトガルの攻撃は勢いがあったが、フランスの鉄壁の守備がそれを寄せ付けない凄みを有していた。ゴール前の守備では、体を横からぶつけて、ポルトガルの選手を自由にさせなかった。

 試合はポルトガルの勝利であったが、フランスの勝因は上記の守備力だったと思う。守備的な中盤からディフェンスに高い身体能力の選手を揃えて、スピードで振り切られない事、フィジカルコンタクトで負けない事が徹底されていた。

youtu.be

 

 

 

 

 

VB.netのFormデザイン画面を編集出来ない時の解決方法

 

 

 

Formデザイン画面が無い

 複数人の共同開発で、VBのFormアプリケーションを組み込む時に、受領したFormアプリのデザイン画面が起動しないトラブルが稀にあります。

 Formのコードをコピーして、スタートボタンを押すと下記のようにFormアプリは起動するのですが、この画面をデザイン画面で編集出来ません。非常に困ります。

右クリック→デザイナーの表示

 From1.vbの右クリック→デザイナーの表示で解決することが多いです。

それでも駄目なら

→新しくFormアプリケーションを作り直す

 上記の様な場合は新しくFormアプリケーションを作り直すのが得策です。

rucio.o.oo7.jp

 

 上記のリンクに従ってFormアプリケーションを作り直した後に移植元のプロジェクトフォルダ内のFom1.vbとForm1.Designer.vbを新しいフォームアプリケーションのプロジェクトフォルダ内のFom1.vbとForm1.Designer.vbにコピペで上書きします。

 そうすることで、Form画面を完全に再現出来ます。その上で、今までのプログラムを追加で実装した方が、結果的に速い場合が多いです。

 

 

日本で成果主義が進まない理由

 

 

成果主義

 日本でもグローバル競争に打ち勝つために2000年代から謳われ出した成果主義年功序列ではなく、成果によって等級や給与を定めて、社内に健全な競争を生み出し、企業の底上げを目指しました。

2020年代でも、いまいち浸透していない

 上記のスローガンのもと成果主義が推進されてきましたが、20年後の2020年代の今現在どうでしょうか?率直に言って、それほど浸透していないのが実情ではないでしょうか?(一部の外資系企業や証券会社などを除く)

 

明治維新、太平洋戦争の敗戦などの大事件が起きない限り変わらない

 私の見立てでは、成果主義が謳われても、日本の中小企業を含めた末端まで日本で成果主義が浸透することは、よほどの天変地異が起きない限り、おそらく無いだろうと思います。

 つまり、高齢の既得権益者が物理的に排除されるという外的なパワープレイが無いと基本的に無理という事です。

 

なぜ欧米では成果主義が浸透しているのか

 それでは、同じ人間なのに何故欧米では成果主義が浸透しているのでしょうか?元来、欧米では、移民が一般的で社会の中に多民族が混在していることが一般的でした。そうした他民族の人たちが一緒に働くには、分かりやすいルールが必要です。(他民族間ではお互い分かり合えない事が大前提にあるのです。)

 また、アメリカは訴訟社会なので、成果に対して適切な対価が支払われないと、すぐに裁判沙汰に発展します。

 こうしたことから、導入されたのが数字や成果物による評価です。これであれば、人種や民族に関わらず、公平な評価が可能です。

 

日本は単一民族が大前提

 翻って、日本では単一民族が大前提にあります。つまり、お互いが一応分かり合えているよねという前提で、仕事が進みます。だからこそ、日本には就職時に職務契約書(job description)など有ってないようなもので、会社の為ならば、様々な仕事をさせられます。当然ながら、仕事の評価基準も曖昧になってしまいます。

 1990年代まで暗黙の了解で存在していた終身雇用制度も別に書面で正式に謳われたものでは無いにも関わらず、企業はそれを労働者に保証していたし、労働者もそれを信じていました。

 また、日本人は農耕民族なので、自分の獲物だけ確保出来ればそれで良しとは行きません。大きな獲物をしとめたならば、それをコミュニティ全体で分かち合わないと村八分にされてしまいます。そうなると獲物をしとめた一番の功労者は、大しておいしい思いを出来ずに終わります。

 しかし、コミュニティの力が強固だった為に、おいしい思いにあずかれなかった功労者は、今度、別の者が獲物をしとめた際に、そのおこぼれを拝受することが可能でした。こうして、コミュニの絆は安定的に維持されてきたのでした。バブル崩壊までは・・・。

 

バブル崩壊で相互扶助も崩壊

 1990年代のバブル崩壊で、日本が弱体化しつつある中で、過去に獲物を分け与えた功労者は、別の功労者のおこぼれにあやかれるチャンスが激減します。

 そうなるとどうでしょうか?それじゃ、俺はコミュニティを出て行って、自分一人で狩りをして、獲物を独り占めしてやるという人が現れてきます。コミュニティも弱体化しつつある中で、弱い人たちの面倒を見ることも出来なくなってきます。

 しかしながら、過去に獲物を獲得できた強者も現在は獲物を獲得できる力が衰えると、コミュニティにしがみつき、過去にコミュニティに提供した対価を得ようとします。

まとめ

 日本で成果主義が進まない理由は、以下の通りとなります。

①分かり合えていることが大前提の社会で、ルールを明示しなかったこと。

②農耕民族のために、一人だけ得をすれば良しという観念が浸透しにくかったこと。

③暗黙の了解で、獲物を提供していた功労者に終身雇用という見返りがあった事。一部の強者を除き、過去の功労者の多くが、過去の見返りを得ようとして、コミュニティにしがみついている事。

 

 

 

 

 

 

 

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

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

 フランス対ブラジルを観戦後は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)しています。もちろんスコアの閾値を調整して、判定条件を厳しくすることも可能です。興味がある人は他の資料やサイトを調べてみてください。