人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

商業出版のご紹介「エンジニアのためのオンライン生活ガイドブック」と「エンジニアのための見積もり実践入門」

概要

過去に参加した技術同人誌が、商業出版されます。
2冊ありますので、ご紹介します。

エンジニアのためのオンライン生活ガイドブック

まずは「エンジニアのためのオンライン生活ガイドブック」です。
こちらを2020年12月18日発売します。

オンラインで仕事も!生活も!趣味も! 『エンジニアのためのオンライン生活ガイドブック』発行! 技術の泉シリーズ
prtimes.jp

どのような内容というと、コロナの影響によるニューノーマル向けてのエンジニア向けのオンライン生活のガイドブックです。
私は13章と21章と23章を執筆しました。

第13章 オンライン勉強会への参加障壁
第21章 オンライン行政処理
第23章 オンライン時代のキャッシュレス決済利用のススメ

「第13章 オンライン勉強会への参加障壁」は、こちらのブログ記事から加筆修正して盛り込みました。

kawahara-ci.hatenablog.com

「はてぶ」では69人(減って67人)の方にブックマークされ、軽くバズっていた記事です。

[B! 勉強会] 勉強会がリモート開催になり、勉強会に参加しにくくなった件 - 人生100年!生涯エンジニア人生!

f:id:hideaki_kawahara:20201211164249p:plain

他の章では、オンライン勉強会やZoom飲み会のノウハウなどもありますので、エンジニアに限らず多くの人にも刺さる内容になっております。

ご興味があればお買い上げください。

エンジニアのための見積もり実践入門

こちらは既に発売中です。

見積もりって難しい!というエンジニアのための1冊!『エンジニアのための見積もり実践入門』発行!! prtimes.jp

どのような内容というと、見積もりというエンジニアでは避けて通れないノウハウを合同誌として書いてあります。
私は19章を執筆しました。

第19章 コンシューマーゲームの見積もり(いにしえの記憶より)

まあ、完全にポエムなので、私が書いたの以外を読んでください!
2018年の冬コミなので2年前、懐かしいです。

アフィリエイトリンク

エンジニアのためのオンライン生活ガイドブック (技術の泉シリーズ(NextPublishing))

エンジニアのためのオンライン生活ガイドブック (技術の泉シリーズ(NextPublishing))

  • 発売日: 2020/12/18
  • メディア: オンデマンド (ペーパーバック)

PHPカンファレンス2020に参加した感想

まだ全部見てない

リアルタイムで見たのは、以下の4つぐらいです。
土曜日のオンラインは家庭優先なのですよね・・・。

fortee.jp

fortee.jp

fortee.jp

fortee.jp

どの登壇も気付きを感じる内容で良かったです。
APIとセキュリティに偏っておりますが、この辺りは知見を増やして損はないからです。
下にざっくりと感想を書きます。

  • めもり〜さんの登壇は、前任者の遺産から始まるよくある話なのですが、そこからスクラッチで作るところ、それを許す会社環境など技術以外も見どころがありました。
  • あきのさんの登壇は、GraphQLと思いつつLighthouseの話でツボを抑えた話で、スライドは登壇で話せなかったことが多数あるのでLighthouseで開発するときは、スライドを参考にしたいしたいです。
  • ariakiさんの登壇は、Web開発では気付かないセキュリティの話で、過去にやってしまったことが出てきて、聞きながら「うっ」となってしまいました。
  • 徳丸浩さんの登壇は、非常に勉強になる!し「検索するとき上位のサイト参考にする」の辺り「公開処刑」が、物凄く面白かった!検索上位が汚れているのは身近なセキュリティ話と強く思います。

他の内容も、当然ながら気になっておりますので、できるだけ拝見したいと思っております。

今年のPHP漢字

今年はオンライン開催だけど、少しでも参加しようと思い、GMOさんが開催している「今年のPHP漢字」応募した。

www.gmo.jp

応募したツイートは、こちらです。

このツイートで、そしたら、まさかの!カンファレンス賞をもらいました。

カンファレンス賞は、下の3点だったのですが、お手製の一点物表彰状もあり嬉しかったです、それと布マスクだと行きにくい場所に鼻セレブマスクは助かります。
※名前が違うのは、よくある話なのでLGTM!

  • Oculus Quest 2
  • PHPcon2020限定コラボTシャツ
  • PHPcon2020限定カップ
  • 表彰状
  • ステッカー
  • 鼻セレブマスク

GMOさん、本当に、ありがとうございました。

まだ開封しただけです。
余裕があれば、色々してみたいですね。

このはさん

「PHPcon2020限定コラボTシャツ」はかわいいと評判なので、女の子の名前はあるのかな?とつぶやきました。

そしたら、お返事がきました。
「美雲このは」さんです!!

GMOさんが展開しているレンタルサーバーサービスの応援団長なのですね。(ムームードメインは使っているけど、ごめんなさい知らなかった)

conoha.mikumo.com

小江戸川越はコーヒーの街

この記事はCoffee Advent Calendar 2020の6日目として登録させていただきました。

小江戸川越

私が住む埼玉県川越市小江戸川越と呼ばれ江戸の風景を残す街として、池袋から40分以内で行けるという点もあり、日帰り旅行としても知られた街です。
江戸の風景とコーヒーの街というのは不釣り合いに感じるかもしれませんが、川越は江戸の風景だけじゃなく、コーヒーが似合う街なのです。

駅周辺にはチェーン店が多い

川越には多くの駅があります。
多くの人が訪れる川越駅周辺には、誰もが知るチェーン店が数多くあります。
JR川越駅の構内には「ベックス」が、駅を出ると「星乃珈琲店」「倉式珈琲店」「スターバックス」があります。
駅からちょっと離れると「ルノアール」「エクセルシオールカフェ」「タリーズコーヒー」「ドトールコーヒー」「コメダ珈琲」「珈琲館」などがあり、街散策の帰りなどに最適ですね。

絵になるコーヒーショップ

川越の魅力といえば街の風景で、街並みとコーヒーショップは絵になるのです。
古民家風なのは江戸、レンガ造りは大正、コーヒーを楽しみながら街の風景を楽しめるのです。

そんな素敵なコーヒーショップを探すのも川越探索の楽しみかと思います。
多くのサイトなどで紹介が多いので、ここでは外の雰囲気が良い2店を紹介します。

まずは、「シマノコーヒー大正館」です。
f:id:hideaki_kawahara:20201206233830j:plain:w400

ここは建物だけでも良い雰囲気だったりします。 観光名所の一番街の裏手なので気付かない人も多いので、大正浪漫夢通りも合わせて訪れると良いです。

次は、チェーン店ですが「スターバックス川越鐘つき通り店」です。

f:id:hideaki_kawahara:20201206234232j:plain 20 Starbucks stores to visit in 2020にも取り上げられるほどの有名店です。

stories.starbucks.com

観光名所である時の鐘の近くにあり、一見するとスターバックス?と思えるほど、スターバックスに見えないです。
スターバックスが観光名所になってしまうのは凄いです。
夕暮れは特に絵になります。
川越はコーヒーショップですら絵になるのです!

他にも、色々とあるのですが、今回は、これだけの紹介にします。
一時期は、大混雑してましたが、今は落ち着いておりますので、観光とともに、川越でカフェを楽しむのはいかがでしょうか?

Google Authenticator 3.1.0 で別のデバイスに移行する機能が追加されたので試してみる

概要

iOSが14.2にアップデートされたとき、Google Authenticatorが起動できないという不具合が2020年11月13日ぐらいから発生しておりました。

なお、「Google Authenticator 起動しない 14.2」とかで検索すると対処方法が多数あります。

そんな経緯があって、Google Authenticatorから他の認証アプリに乗り換えている人も居ますが、そもそもGoogle Authenticatorは、デバイス変更に対応していないので、他の認証アプリを使用している人も多いのが現実です。

そんな、iPhoneGoogle Authenticatorが3.1.0にアップデートした際にデバイス変更に対応したので試してみました。

試してみる

アプリケーションをアップデートします。

f:id:hideaki_kawahara:20201203125448j:plain

移行元デバイスで起動してから、右上の…をタップすると「アカウントのエクスポート」出てきます

f:id:hideaki_kawahara:20201203130032j:plain

移行元デバイスで、アカウントのエクスポートを実行すると、この画面が出てきます
それによると最大10個のアカウントをエクスポートできるようです。 なお、エクスポートしてからアカウントを消して再度行えば全てエクスポートできます。

f:id:hideaki_kawahara:20201203130042j:plain:w300

移行元デバイスで、デバイス自体の認証(パスコード、指紋認証、Face ID認証)を行うとQRコード表示されます
このQRコードを移行先のデバイスで読み取ります

f:id:hideaki_kawahara:20201203130054j:plain:w300

移行先のデバイスGoogle Authenticatorを起動してQRコードを読み取ると、インポートが完了します
f:id:hideaki_kawahara:20201203132038j:plain

移行元デバイスに戻り、QRコードの下にある「完了」をタップすると「エクスポートしたアカウントの削除」になります
アカウントが10個以上無く、移行元デバイスのフルリセットをするのであれば閉じるでも良いです。

f:id:hideaki_kawahara:20201203130100j:plain

まとめ

移行は意外と簡単でした。
他の認証アプリは、マスターアカウントを登録してクラウド経由で一気に移行するのですが、Google Authenticator 3.1.0はクラウド経由しないので若干手間ですが、マスターアカウントがクラウドで狙われるというリスクを回避できるので、企業などではGoogle Authenticator 3.1.0を利用するのもありだと思います

蛇足ですが、Google Authenticator 3.1.0の登場がiPhone 12が登場する前だったらとか、iOS14.2の不具合が無ければよかったねーとか思ってしまいます。

長年苦しめられてきた、ドコモメールの駄目な仕様が、iOS14のお陰で予定より早く消えそうで嬉しい!

iOS14の仕様変更

iOS14の仕様変更で、ドコモメールの駄目な仕様に設定されているとメール送信できないことになりました。

ドコモのアナウンスです。
service.smt.docomo.ne.jp

auのアナウンスです。
www.au.com

この駄目な仕様は「2連続のドット「..」が含まれていたり、アットマーク前にドット「.@」が含まれているメールアドレス」のことで、これはRFC5321で決めたことに違反しております。

RFC5321の4.1.2. Command Argument Syntaxに仕様が記載されていますが、難解なので..や.@のメールアドレスはRFC違反だと思ってください。

RFC 5321 - Simple Mail Transfer Protocol

歴史的な経緯

RFC違反のメールアドレスは、ドコモのiモードメール(現在のドコモメール)が発祥の地で、迷惑メールの多いドコモでは、RFC違反のメールアドレスにはパソコンからのメールが届かないということで、それが迷惑メールが来ないメールアドレスとして広まってしまいました。

それだけで終わると思われた、RFC違反のメールアドレスは、auに伝播します。

2006年6月6日に、auはメールアドレスの文字数を30文字に拡張すると同時に、RFC違反仕様が盛り込まれてしまいました。

k-tai.watch.impress.co.jp

なぜ、auは盛り込んでしまったのか?今となっては推測でしかないですが、2006年10月24日から番号ポータビリティ(通称MNP)が開始されたからとも言われております。
MNP後はMNPする前のキャリアメールは使用できなくなるので、携帯電話会社を乗り換えた後も、ドメインは異なっていても同じローカルパート(@の左側)を使用したいという需要に答えたのではないか?と推測します。

k-tai.watch.impress.co.jp

その後、ドコモが2009年4月1日から、RFC違反メールアドレスを新規登録をやめる方針に切り替わりました。

www.nttdocomo.co.jp

ドコモのメールアドレス変更のページには以下の記載があります。

また、2009年4月1日以降、「.」は「..」などのように連続で使用することや@マークの直前で使用することはできなくなりました。

この変更は2009年9月1日から始まるSPモードのためかと推測されます。

www.nttdocomo.co.jp

この対応で、RFC違反メールアドレスが減ると思われましたが、意外としぶとく残りました。
ガラケー同士はもちろん、携帯電話会社提供のメールアプリはRFC違反のメールアドレスが使えてしまうからです。
そして、iOS13までのメールアプリとメッセージアプリも、RFC違反のメールアドレスが使えていました。

このため、ドコモ同士や携帯電話会社間ならRFC違反のメールアドレスの送受信は可能なのです。
2020年の今ままで、11年間もRFC違反のメールアドレスは残ってしまったのです。

まとめ

今回iOS14の仕様変更で、RFC違反のメールアドレスが設定されているとメール送信ができないことは、大変喜ばしいことです。

アプリが対応してくれればRFC違反のメールアドレスはガラケーのみになるし、2026年3月31日にドコモのiモードが終了するので、このときにRFC違反のメールアドレスがこの世から消え去るのです!
メルマガ配信をしていた自分としては、本当に早く消えて去ってほしいと心から願うのでした。

おまけ

GmailRFC違反のメールアドレスを送信してみましょう!

macOSにDefaultで入っているPostfixを有効にして、Gmailにリレーするように設定をして試してみます。

% echo 'Test mail' | mail -s test test..@example.com
2020-11-16 00:15:31.961215+0900 0x1ff82a   Info        0x0                  67732  0    smtp: A44B369D557: to=<test..@example.com>, relay=smtp.gmail.com[64.233.189.108]:587, delay=1.3, delays=0.02/0.02/1.1/0.17, dsn=5.1.3, status=bounced (host smtp.gmail.com[64.233.189.108] said: 553-5.1.3 The recipient address <test..@example.com> is not a valid RFC-5321 553 5.1.3 address. o132sm15287203pfg.100 - gsmtp (in reply to RCPT TO command))

not a valid RFC-5321 と返答があることが確認できますね。

なお、コマンドラインで送信するとき、かなり気を付けないといけなくて、ちょっとしたことで危険な事になりかねないのです。

これは大丈夫ですがバッククォートを含んだメールアドレスをコマンドラインで送信すると、バッククォートの中を実行した結果が反映されてしまいます。
下の例だと、macOSで動かしているのでOSの名前Darwinに変換されています。
ちなみに、バッククオートが入ったメールアドレスはRFC違反ではないです。

% echo 'Test mail' | mail -s test test`uname`@example.com
2020-11-16 00:12:37.105535+0900 0x1fe590   Info        0x0                  66990  0    smtp: 82F9369D4E7: to=<testDarwin@example.com>, relay=smtp.gmail.com[64.233.189.109]:587, delay=2.6, delays=0/0/1.7/0.92, dsn=2.0.0, status=sent (250 2.0.0 OK  1605453157 gx24sm15347740pjb.38 - gsmtp)

同様に、ハイフンが入ったメールアドレスはRFC違反ではないですが、オプションと誤認します。

% echo 'Test mail' | mail -s test '-test@example.com'
mail: illegal option -- t
Usage: mail [-EiInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-F] to-addr ...
       mail [-EHiInNv] [-F] -f [name]
       mail [-EHiInNv] [-F] [-u user]
       mail -e [-f name]
       mail -H