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

楽しいエンジニア人生!

2021年の技術同人活動を振り返る #技書博 #技術書典

f:id:hideaki_kawahara:20211202231405p:plain

本記事は 技術同人誌・商業執筆 Advent Calendar 2021 の3日目です。

adventar.org

12月2日はふーれむさんの「コロナ禍の地方民における技術同人活動って結局どうだったのか2021」です。

qiita.com

私も技術同人活動を簡単に、今年の振り返りとして書いていきます。

12月4日はやまいもさんの「薄い本はいいぞ。」です。

yamaimo.hatenablog.jp

カジュアル面談本とオフラインイベントについて

カジュアル面談本のことと、オフラインイベントに参加したことを振り返ります。

その時の記録は過去のエントリにあります。
カジュアル面談のトリセツをリリース!第5回技術書同人誌博覧会にサークル参加した思い出より #技書博
kawahara-ci.hatenablog.com

カジュアル面談のトリセツを再び頒布!技術書典11オフラインにサークル参加した思い出より #技術書典
kawahara-ci.hatenablog.com

オフラインイベントは2回参加してます。
2021年6月19日(土)に第5回技術書同人誌博覧会で、2021年7月11日(日)技術書典11オフラインにて、『エンジニアのための「カジュアル面談のトリセツ」』というカジュアル面談という、あまり注目されていないけど、みんな気になる内容を、私のカジュアル面談をしまくるという経験から執筆したものを頒布しました。

執筆始めたころは、カジュアル面談をした会社は30社ぐらいでしたが、2021年12月1日現在は70社ほどになりました。
まだまだ、物理本は頒布していますので、カジュアル面談が気になる方は、是非ともお買い上げください

booth.pm

そして、オフラインでのイベントは1年半ぶりでしたが、みんな懐かしさを噛み締めていた感じでした。
オフラインは物理本を印刷してイベントに運ぶや、印刷したのがイベントで出会える良さもあり、イベント会場で頑張った気持ちがこみ上げてくる感じが良いのですよね。

まあ、オンラインはギリギリまで執筆を頑張れる良さがありますがwwwww

なお、徹底的に感染症対策を行ったのでイベントにおけるクラスター発生は無かったです。
また、オフラインでイベントに参加したいです。
来年には第6回技術書同人誌博覧会が2022年2月26日(土)にあるようですね。
是非とも参加したいです。

gishohaku.dev

オフラインのみなら、来年には技術書典11が2022年1月22日(土)から2022年1月30日(日)にあるようです。

techbookfest.org

商業出版

オフラインイベント以外では、技術書典10に頒布した「PythonとScrapyを使ったWebスクレイピング 」が商業出版しました。

kawahara-ci.hatenablog.com

初の単著による商業出版でした。
単著による商業出版は夢の1つでしたので、2021年は私にとっては躍進の年だったと思います。

まとめ

2021年は、コロナということで、あまり大きな活動ができなかったのですが、ワクチン接種なども進み感染者が減る傾向が出てきたので、少しではありますが、オフラインイベントが戻ってきた感じでした。
今後も、感染者を増やさないような節度ある行動をしながら、オフラインイベントに参加していきたいです。
また、商業出版も果たしたので、さらに?!

iOS15から始まったiCloud+のプライベートリレー(ベータ版)で知られてない機能

f:id:hideaki_kawahara:20211028165054p:plain

プライベートリレーの説明

support.apple.com

iCloudプライベートリレーをオンにすると、iPhoneから送出されるトラフィックが暗号化され、2つの異なるインターネットリレー経由で送信されます。これにより、Webサイト側からあなたのIPアドレスと位置情報が見えなくなり、ネットワークプロバイダもあなたのブラウズアクティビティを収集できなくなります。

よくわからん。

kakunin.tokyo

まあ、簡単に言うと、上のようなIPアドレス(利用しているプロバイダー)を確認するサイトを利用すると、私は自宅ではauひかりを利用してますが、下のように AKAMAIという別のIPアドレス(別のプロバイダー)から接続していることになっています。
つまり、IPアドレス(利用しているプロバイダー)と、それに紐づく地域情報が隠されます。
f:id:hideaki_kawahara:20211028120852p:plain:w320

これがプライベートリレーのメイン機能なのですが、Safariブラウザと一部のアプリしか反応しないのでベータ版となっているようです。
世間の説明でも、これぐらいは書いてあるのですが、プライベートリレーには知られていない機能があります。
今回は、これを説明します。

ちなみに、iCloud+の説明と、カスタムドメインの説明をした記事はこちらです。 kawahara-ci.hatenablog.com

メールを非公開について、メールアドレスが漏れる説明をした記事はこちらです。 kawahara-ci.hatenablog.com

メールアプリで画像が非表示に変わる

今までiOS14のメールアプリは画像が含まれるメールを開くと画像も表示していました。

メールアプリで画像を開くということは、どういうことでしょうか?
添付ファイルではなく、HTMLメールでは画像を読むために、画像が置いてあるサーバーにアクセスするということなります。
そうなると、利用者のIPアドレス(利用しているプロバイダー)がメール送信者に伝わります
また、画像を開いた時間がわかるので、いつメールを読んだかが、メール送信者はわかってしまうのです。
1ピクセルの画像を埋め込んでいるビーコンという手法もあり、画像がないと思われるメールでも実は画像があるということもあります。

このためiOS15からメールアプリに設定が追加されました。
設定アプリのメールに「プライバシー保護」があります。
そこには下のような「"メール"でのアクティビティを保護」があります。
こちらはiCloud+じゃない方も利用できますので、プライバシーが気になる方は有効にしておきましょう。

f:id:hideaki_kawahara:20211030015832j:plain:w320
一応、デフォルトで有効になっていますが、有効になっていると下のように画像は表示しなくなるように変わりました。

f:id:hideaki_kawahara:20211028122910p:plain:w320
Gmailアプリも、そのようになっていたので自然な対応かと思います。
画像を表示するときは、利用者が「コンテンツを読み込む」というアクションをして画像を表示させます。

メールアプリのプライベートリレー

これを、iCloud+でさらに進化させたのが、メールアプリのプライベートリレーです。
下のようにプライベートリレーを有効にします。
f:id:hideaki_kawahara:20211028123047p:plain:w320

そして、先ほどの画像があるメールをメールアプリで開いてみますと下のようになります。
f:id:hideaki_kawahara:20211028123204p:plain:w320

「コンテンツを読み込む」というアクションをしなくても、自動的に画像を表示するようになりました。

つまり、プライベートリレーが有効になっているとき、画像を開いてもプライバシーは侵害されないと判定され自動的に画像が開かれるようになるのです。
メールアプリで色々とメールを受信している人には良い機能かと思います。
iCloud+を利用している人は試してみてください。

iOS15から始まったiCloud+の「メールを非公開」は返信するとApple IDに使用しているメールアドレスが漏れます(条件付き)

f:id:hideaki_kawahara:20211012155846p:plain

結論

  • 「メールを非公開」で作成したメールアドレスを受信専用するだけならメールアドレスは漏れません。
  • 前提条件がありますが、受信したメールから返信すると、メールヘッダーからApple IDに使用しているメールアドレスが漏れます。

「メールを非公開」試してみる!

今回は、iOS15から開始したiCloud+で「メールを非公開」を使ってみます。
なお、iCloud+とカスタムメールドメインの説明はこちらです。
kawahara-ci.hatenablog.com

プライベートリレーの知られていない機能の説明はこちらです。
kawahara-ci.hatenablog.com

「メールを非公開」は「Apple でサインイン」とは異なる機能です。
support.apple.com

「メールを非公開」と「Apple でサインイン」の違いをまとめましたので、ご確認ください。

Apple でサインイン

  • サイトやアプリの対応が必要です。(対応してないサイトやアプリでは使用できません)
  • サインインするときApple IDのメールアドレスを使用するかメールを非公開にするか選べる。
  • メールを非公開にするときメールアドレスは *@privaterelay.appleid.com になります。
  • サイトにサインインするときに、または対応アプリをインストールするときにメールアドレスが決まる。
  • iOS 13から登場した機能です。
  • iCloud+を利用しなくても使えます。

メールを非公開

  • サイトやアプリの対応は不要です。
  • メールアドレスは *@icloud.com
  • iOS 15から登場した機能です。
  • iCloud+にアップグレードする必要がある。

メールアドレスを発行する

新たにメールアドレスを発行するのは、[設定]-[アカウント]-[iCloud]-[メールを非公開]から行います。
「新しいアドレスを作成する」をタップすると、下の画面が出ます。

f:id:hideaki_kawahara:20211005024154p:plain:w320

「別のアドレスを使用する」をタップすると、他に2つ候補が出てきます。
メモなどを入力して、次へをタップするとメールアドレスが発行されます。

f:id:hideaki_kawahara:20211005024209p:plain:w320

完了をタップしてメニューに戻ります。
実に簡単にメールアドレスが発行されました。

f:id:hideaki_kawahara:20211005024305p:plain:w320

発行したメールアドレスの転送先はApple IDで使用しているメールアドレスになります。

メールをやり取りする

Googleアカウント(Gmail)から、「メールを非公開」で作成したメールアドレスにテストメールを送信します。

f:id:hideaki_kawahara:20211005024320p:plain:w640

上の図はApple IDに使用しているメールアドレスで受信したところです。
送信元(From)は元のメールアドレス(Googleアカウント)から来るのではなく、元のメールアドレスから変換されたicloud.comからとなります。

Googleアカウントから送信したので「Googleアカウント_at_gmail_com_ランダムなシリアル値@icloud.com」というメールアドレスになりました。
そして、転送メールなので送信先(To)は「メールを非公開」で発行したメールアドレスになっています。

余談ですが、この変換されたメールアドレスの仕組みは15年ぐらい前に考案したことあるんですが、特許取っておけばよかったなーと、あははは。

f:id:hideaki_kawahara:20211005024344p:plain:w640

上の図は返信を行うところです。

変換されたメールアドレスに返信すると、iCloud側が変換して元々の送信元にメールを送信するだろうと言うことで返信してみます。
そして、Apple IDに使用しているメールアドレスは隠されたままと信じます。

f:id:hideaki_kawahara:20211005024356p:plain:w640

上の図は元々の送信元のGoogleアカウントでメールを受信したところです。

差出人は「発行したメールアドレス」になっていて、Apple IDに使用しているメールアドレスでは無いです。
問題なさそうかな??

返信したメールを詳細に確認

いやいや、メールっていうのは、メールヘッダーに色々な情報がある!!
メールヘッダーを見ないとスッキリしません!!確認しましょう!!!!
普通のGoogleアカウントで受信したメールのメールソースを確認します。

f:id:hideaki_kawahara:20211005024710p:plain

上の図はメールヘッダーを確認したところです。
あれ??駄目ですね。
Authentication-Resultsの項目にApple IDに使用しているメールアドレスの情報が出ていますね。
DMARC1DKIM2にはApple IDで使用しているメールアドレスのドメインが表示されています。
SPF3にはApple IDで使用しているメールアドレスそのものが表示されています。

このことから、SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れてしまうことになります。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れてしまうことになります。

なお、DMARCやDKIMSPFに対応していないメールアドレスなら漏れないだろうとは思います。
実際に、DMARCとDKIMに対応したメールサーバーは多くは無いですが、SPFに対応したメールサーバーは国内においては9割を超えているし、GmailやYahooメールやマイクロソフトメールなどの主要なメールサービスではSPFに対応しています。

まとめ

SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れます。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れます。

受信したメールを返信する用途があるとき「メールを非公開」は使えない機能となります。
返信することが無ければとりあえず使える機能です。

余談ですが、この問題は「Apple でサインイン」からある問題でして・・・そのままかー!というのが正直な感想です。
今までは「Apple でサインイン」という名前でサインイン程度なら良い機能で、うるさく言うつもり無かったけど、今回は「メールを非公開」と堂々と言ってきたので、返信してしまうと非公開とは言い切れないので注意喚起としてブログにまとめました。


  1. DMARCはメールアドレスの不正利用を防止するための仕組みです。

  2. DKIMはメールを送信するとき電子署名を行い、受信者がそれを検証して送信元の改ざんを防ぐ仕組みです。

  3. SPFはメールを送信するドメインが詐称されていないかを検査するための仕組みです。

『PythonとScrapyを使ったWebスクレイピング』を2021年10月1日に刊行!!

説明

2020年の年末にPythonスクレイピングの技術同人誌を頒布しました。

kawahara-ci.hatenablog.com

技術同人誌の内容を大幅にパワーアップして、技術同人誌では6章までだったのを9章まで増やし、技術同人誌では50ページだったのを100ページに増やして、商業誌として出します!
章は1.5倍!ページ数は2倍!増えております。

タイトルは 『PythonとScrapyを使ったWebスクレイピング』です。

表紙は、技術同人誌版では風呂場で撮影した写真でしたが、商業誌ではPythonをイメージした女の子を描いてもらいました。
良く見ると「Pythonロゴの色」になっています。
あと、道具などはScrapyロゴの色と合わせてもらいました。

表紙を描いてくれたα(アルファ)さん、ありがとうございました。

発売日は2021年10月1日です。
電子版 1,600円(税別)、印刷版 2,000円(税別)になります。

nextpublishing.jp

prtimes.jp

書籍のリンク

商業誌版

  1. Amazon印刷版 https://www.amazon.co.jp/dp/484437981X/
  2. Amazon電子書籍https://www.amazon.co.jp/dp/B09GVNZX54/
  3. 楽天ブックス https://books.rakuten.co.jp/rk/03dbcfb9748f350b8f7f9ed56ebeb739/
  4. 紀伊國屋書店 https://www.kinokuniya.co.jp/f/dsg-08-EK-1059652
  5. Google https://play.google.com/store/books/details/?id=DTBEEAAAQBAJ
  6. Reader Store https://ebookstore.sony.jp/item/LT000153910001339409/
  7. BOOK TECH https://book-tech.com/books/d018e9c0-c9b9-4106-bda0-12dfcfcd5265

アフリエイトリンク

Amazon印刷版

Amazon電子書籍

楽天ブックス

iOS15から開始したiCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)を使用する

f:id:hideaki_kawahara:20210924063019p:plain

iOS 15と同時にiCloudiCloud+にアップグレードしました。

iCloud+とは?

iPhoneなどApple製品を使用するときApple IDを作成するとiCloudというサービスが無料で利用できます。
このiCloudというサービスでは5GBのストレージ使えるだけの微妙なサービスですが、50GB,200GB,2TBという追加で有料ストレージプランもあります。
今回、この追加ストレージプランがiCloud+というサービスにアップグレードされました。

support.apple.com

※5GBストレージのiCloudサービスはiCloudのままです。

アップデートされたのは下の4つです。

  • プライベートリレー
  • メールを非公開
  • HomeKitセキュアビデオ
  • カスタムのメールドメイン(オリジナルのEメールドメイン

この中で、プライベートリレーやメールを非公開は、iCloud+を利用している人なら簡単に試せますが、カスタムのメールドメインドメインなどを知っている人じゃないと試せないので試してみました。

メールを非公開についてもブログ書いてますので、こちらも合わせてご覧ください。

kawahara-ci.hatenablog.com

プライベートリレーの知られていない機能の説明はこちらです。
kawahara-ci.hatenablog.com

カスタムメールドメイン(オリジナルのEメールドメイン)とは?

iCloudはメールサービスを行っており、@icloud.comというメールアドレスを使用します。
iCloud+では利用者が所有しているドメイン名を使ってメールサービスをしようとする物です。

iCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)は、5つのドメイン名と各ドメインに3つのメールアドレスを設定できるので、合計で15個のメールアドレスを利用できます。
ファミリー共有していると、各ドメインに4人(自分を合わせると5人)を参加させられるので、合計で75個のメールアドレスの利用ができます。

なお、Appleではドメイン名の提供を行っていないので、ドメイン名を持っていない方は事前にドメイン名を取得してください。

試す条件

  • Apple IDを取得している
  • 2ファクター認証を有効にしている
  • iCloudでストレージプランを契約してiCloud+になっていること(ファミリー共有なら最低1人以上のiCloud+の管理者がいる事)
    • またはApple Oneに契約している
  • 自由に使えるドメイン名を所有している

ちなみに私はiCloudでストレージの追加をして、iCloud+を契約している人になります。

それではiCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)を追加していきましょう!

ファミリー共有

カスタムメールドメイン(オリジナルのEメールドメイン)をファミリー共有で利用したいときは、ファミリー共有にiCloud+を追加する必要があります。

f:id:hideaki_kawahara:20210924043020p:plain:w320

上のようなファミリーと共有済みにiCloud+が含まれていない状態では、カスタムメールドメイン(オリジナルのEメールドメイン)設定中にファミリーメンバーが出てきますが、設定後にはファミリー側はカスタムメールドメイン(オリジナルのEメールドメイン)が利用できませんので気を付けてください。
iCloud+をタップします。

f:id:hideaki_kawahara:20210924045641p:plain:w320

iCloud+を共有をタップします。

f:id:hideaki_kawahara:20210924045659p:plain:w320

完了メッセージが出たら閉じます。

f:id:hideaki_kawahara:20210924045727p:plain:w320

上のように、ファミリーと共有済みにiCloud+が含まれている状態なら、ファミリー側もカスタムメールドメイン(オリジナルのEメールドメイン)が利用できます。

f:id:hideaki_kawahara:20210924045741p:plain:w320

今回は3人でiCloud+を利用する設定にしました。

カスタムメールドメイン(オリジナルのEメールドメイン)設定手順

カスタムメールドメイン(オリジナルのEメールドメイン)設定をiPhoneの設定アプリからしたいところですが、できません。
ブラウザーでしかできないので、ブラウザーを起動しましょう。
せっかくなので、アドレスバーが下に移動した新しいSafariでやってみましょう。

f:id:hideaki_kawahara:20210924050610p:plain:w320
iCloudApple IDでログインしましょう。
iPhoneならFace IDまたはTouch IDでログインできますね。
次にアカウント設定をタップします。

f:id:hideaki_kawahara:20210924050853p:plain:w320
画面遷移したら下の方にスクロールします。
お目当ての「カスタムメールドメイン」(オリジナルのEメールドメイン)があるので「管理」をタップします。

f:id:hideaki_kawahara:20210924051004p:plain:w320

「あなただけ」と「あなたとファミリー」の選択ですが、個人だけで使用するなら「あなただけ」を選択します。
ファミリー共有で使用するなら「あなたとファミリー」を選択します。
今回は「あなたとファミリー」を選択します。

f:id:hideaki_kawahara:20210924051312p:plain:w320

次に所有しているドメイン名を入力します。
今回は「ほげほげ.tokyo」を入力しました。

f:id:hideaki_kawahara:20210924051442p:plain:w320

画面遷移すると、ドメイン名に「ほげほげ.tokyo」が設定されました。
このときiCloudメールに「iCloudメールでドメインを設定する手順」というがメールが届きます。

f:id:hideaki_kawahara:20210924051645p:plain:w320

ここでメールアドレスを入力を要求されますが、引継ぎ用なので新規に設定するときは何も入力せずに「スキップ」します。

f:id:hideaki_kawahara:20210924052147p:plain:w320

ドメインレジストラの設定を更新するの項目が有効になるので「表示」をタップします。

f:id:hideaki_kawahara:20211015113731p:plain:w320

ドメインのレコード設定情報がでてきます。
これを元に、ドメインレジストラの設定を更新と言いたいところですが、MXはPriorityがSPFは引用符が抜けてたりして中途半端です。
このときiCloudメールに「カスタムドメインの設定を完了してください」というがメールが届くのですが、こちらを参考にするのが良いです。
そのまま完了をタップします。

f:id:hideaki_kawahara:20210924053744p:plain:w320

利用しているドメインレジストラで、ドメインのレコード設定を行います。

f:id:hideaki_kawahara:20210924053856p:plain:w320

ドメインのレコード設定が終わったら、セットアップを完了をタップします。

f:id:hideaki_kawahara:20210924054236p:plain:w320

確認をタップします。

f:id:hideaki_kawahara:20210924054329p:plain:w320

設定が完了しました。
このときiCloudメールに「自分用のカスタムメールアドレスを作成しましょう」というがメールが届きます。
続けるをタップします。

f:id:hideaki_kawahara:20210924054541p:plain:w320
デフォルトのiCloudメールのメールアドレスを設定します。
続けるをタップします。

f:id:hideaki_kawahara:20210924054557p:plain:w320
完了をタップします。

メールアドレスの設定

f:id:hideaki_kawahara:20210924054813p:plain:w320
このままではドメイン名を設定しただけなのでメールアドレスがありません。
+をタップしてメールアドレスを追加します。

なお、ファミリー側は各ファミリー側でメールアドレスを追加します。

f:id:hideaki_kawahara:20210924055246p:plain:w320

ドメイン名も含めて入力します。
なお、メールアドレスにハイフンが使用できない仕様です。

f:id:hideaki_kawahara:20210924055411p:plain:w320

上のようになったら、カスタムメールドメイン(オリジナルのEメールドメイン)で利用できるようになります。

カスタムメールドメイン(オリジナルのEメールドメイン)の利用

iPhoneなら、メールアプリで使用できます。

f:id:hideaki_kawahara:20210924055540p:plain:w320

差出人で「ほげほげ.tokyo」を選択します。

f:id:hideaki_kawahara:20210924055653p:plain:w320

テストメールを送信します。

f:id:hideaki_kawahara:20210924055729p:plain:w320

無事にカスタムメールドメイン(オリジナルのEメールドメイン)から届きました。

SPFDKIMは?

f:id:hideaki_kawahara:20210924061127p:plain

Gmailで確認すると、SPF1DKIM2が設定されていました。
SPFはすぐに設定されるのですが、DKIMに関してはiCloudメールサーバーで設定する時間が少々かかるようで、30分ぐらい待つのが良いでしょう。

まとめ

ドメイン名を所有していて、iCloud+で50GBがいちばん安いプランなので月々130円(税込)でカスタムメールドメイン(オリジナルのEメールドメイン)を運用できます。
DKIMの設定付きで月々130円(税込)は安い方に入ります。
個人商店とかでのカスタムメールドメイン(オリジナルのEメールドメイン)とかなら利用価値はあるかと思います。

まあ、追加ストレージを使っているならオマケ機能として悪くないかなーとは思います。


  1. SPFはメールを送信するドメインが詐称されていないかを検査するための仕組みです。

  2. DKIMはメールを送信するとき電子署名を行い、受信者がそれを検証して送信元の改ざんを防ぐ仕組みです。