メンチカツには醤油でしょ!!

ITエンジニア徒然 (AWS/Java/JavaScript/Google Spreadsheets/Jenkins/Mac/外部コミュニティ・勉強会レポ)

Hyper-Vを有効にする時のBIOSの設定 (HP EliteBook Folio 9470m)

古い下書きからの投稿です

概要

Hyper-Vを有効にして仮想環境などを構築しようとした場合、コントロールパネルからWindowsの機能でHyper-Vをインストールしますが、
Hyper-Vをインストールできません: ファームウェアで、仮想化サポートが無効になっています。

と出た際の、有効化の手順のメモです。

コントロールパネルからWindowsの機能を検索

f:id:ryoichi0102:20171017114158j:plain

Hyper-Vをインストールできません、と表示..

この後、マシンをシャットダウンしてBIOSに入ります。

f:id:ryoichi0102:20171017114209j:plain

BIOSを立ち上げます

電源を入れてF10を押下してメニューを表示させます。
メニューからF10キーを押下して、BIOS Setupを呼び出します。

f:id:ryoichi0102:20171017114228j:plain

Virtualization Technology (VTx)の有効化

System Configuration内のVirtualization Technology (VTx)をチェックします。
保存してBIOSメニューを終了させます。

f:id:ryoichi0102:20171017114240j:plain

再度、コントロールパネルからHyper-Vを有効にします

f:id:ryoichi0102:20171017114251j:plain

再起動して完了です

f:id:ryoichi0102:20171017114302j:plain

参考

Notebook PC シリーズ - BIOS で [Virtualization Technology] を有効にするには

GitHubのメールアドレスが漏れる?コミット時のメールアドレスにnoreplyを設定

経緯

釣りなタイトルでスミマセンm(_ _)m
前回、npmアカウントのプロフィールに指定するメールアドレスが全世界公開設定であり、その公開設定の範囲が変更できないことを取り上げました。

その際、GitHubではnoreplyを設定することを推奨している。
と書かれており「あれ?これはもしや…」と思って試したらこれがビンゴで
他人のメールアドレスが引っこ抜けることが判ってしまいました。

GitHubで使用しているメールアドレスも第三者に知れ渡っている?

ひょっとしてGitHubのメールアドレスも第三者に知れ渡ってるのではなかろうか、と思い、調べてみました。

厳密には、アカウント登録時のメールアドレスではなく、コミット時に設定しているメールアドレスが取得できてしまいます。

実際に引っこ抜いてみた

f:id:ryoichi0102:20171011090029p:plain

ご覧の通り、git cloneしてgit logするとメールアドレスが見えてしまいます。
(今回はGitHub上でメールアドレスを公開されている且つ有名な方のリポジトリを使用させて頂きました)

何故こういう事が起こりがちなのか?

GitHubではコミット時に使用するユーザー名とメールアドレスを設定できます。これを正しく設定しておくと、コミットログ一覧を表示した際にリンクされたりなどするため、Gitクライアントで設定する際に何気なくGitHubに登録しているメールアドレスを設定しがちです。

f:id:ryoichi0102:20171011234236p:plain

ではどうすればよいのか

メールアドレスを非公開にするにはGitHubで提供している noreply のメールアドレスを使用します。Web上で編集する場合にはアカウント設定にてKeep my email address privateを選択し、Gitクライアントなどから使用する場合にはコミットのメールアドレスにnoreplyのメールアドレスを設定します。

また、誤ってprivateのメールアドレスを使用してpushしないような設定もあります。

Blocking command line pushes that expose your personal email address - User Documentation
https://help.github.com/articles/blocking-command-line-pushes-that-expose-your-personal-email-address/

noreplyのアドレスはアカウント登録時期によって違う

Note: If you created your GitHub account after July 18, 2017, your GitHub-provided no-reply email address is a seven-digit ID number and your username in the form of ID+username@users.noreply.github.com. If you created your GitHub account prior to July 18, 2017, your GitHub-provided no-reply email address is your username in the form of username@users.noreply.github.com. You can get an ID-based GitHub-provided no-reply email address by selecting (or deselecting and reselecting) Keep my email address private in your email settings.

つまり、GitHubでnoreplyとして認識されるメールアドレスは、
・2017/06/18より後にアカウントを作成した場合は "7桁のID+ユーザー名"
・2017/06/18より前にアカウントを作成した場合は "ユーザー名"
これに @users.noreply.github.com を付けたものになります。

prior toは○○より後に、afterは○○より前に、なので 2017/06/18 ちょうどにアカウント登録した方は…どちらなんでしょうかw (これは一旦置いときます)

2017/06/18より後にアカウントを作成した場合のnoreplyメールアドレスの確認方法

【ID】+【ユーザー名】@users.noreply.github.com

これがGitHub内でサポートされるnoreplyのメールアドレスの形式になります。
【ID】部分は画面右上のアイコンメニュー⇒Settings⇒サイドメニューのEmails、ここで確認できます。

f:id:ryoichi0102:20171011182606p:plain

2017/06/18より前にアカウントを作成した場合のnoreplyメールアドレス

【ユーザー名】@users.noreply.github.com

簡単ですね。

Keep my email address private のチェックボックスをオンにしましょう。

We'll remove your public profile email and use 32690516+ryoichi0102@users.noreply.github.com when performing web-based Git operations and sending email on your behalf. If you want command line Git operations to use your private email you must set your email in Git.

とある通り、Web上で編集した場合は自動的に表示されているnoreplyのメールアドレスになりますが、Gitクライアントを使用してcommit/pushする場合は、Gitクライアントにこの設定をして下さい、とあります。

※ 上記 32690516 部分は各自違います。

noreplyアドレスの設定方法

noreplyなメールアドレスが解ったので、次は設定です。
これはCLIを使用した一般的なGitの設定と同じです。
既に設定されている場合は、二重でaddしなように注意しましょう。(上書きはされないので)

グローバルの設定であれば

git config --global --list

で設定一覧を確認して、設定が存在した場合は、

git config --global --unset user.email

で一旦削除した後に、noreplyのメールアドレスを設定します。

git config --global --add user.email my-github-user-name@users.noreply.github.com
または
git config --global --add user.email 32690516+ryoichi0102@users.noreply.github.com

です。

f:id:ryoichi0102:20171011235803p:plain

f:id:ryoichi0102:20171011235643p:plain

これで安心ですね!

参考

About commit email addresses - User Documentation
https://help.github.com/articles/about-commit-email-addresses/

github.com

npmのメールアドレスが公開な件について #NodeJS

npmとは

Node.jsのパッケージ管理システムであり、Node Package Managerの略です。
また、それらモジュール郡をホスティングしているサイトもnpmです(npmjs.com)
Mavenで言えばセントラルリポジトリ的な役割でしょう。

作成したモジュールをnpmで公開するにはnpmjs.comにサインアップする必要があります。

www.npmjs.com

npmjs.comへのアカウント登録

こちらがサインアップ画面です。

f:id:ryoichi0102:20171005213450p:plain

Public Emailという入力欄があり、登録ボタンの直前には
"Your email address will show on your profile page, but npm will never share or sell it."
とあります。
表示はするけど、引き渡したり売ったりはしないよ、ということですね。

登録後のプロフィール画面でも表示されています。

f:id:ryoichi0102:20171004092302p:plain

いやいやいやいや、これスクレイピングしたら簡単に収集できるじゃないっすか!
全世界にメールアドレスを公開するのはイヤですね。

なぜこうなっているのか調べた感じは以下の通り

・メールアドレスが公開になっているのはユーザー間でモメた時などの連絡に使用するためpublicになっている。
・だが、npmjsにフォーラム機能やサイトを通じて本人にメールが送信されるような仕組みを用意すれば良いだろうと、メールアドレス公開に反発してる人が多いのも事実。(私もそう思う)
・または、画面上にjsでレンダリングしてクローラーの収集を回避するなど。
・そしてGitHubでは、メールアドレスをprivateにしたり、コミット時に使用するメールアドレスはダミーのメールアドレス(noreply)が用意されており それを設定することも推奨されていることにまで言及され、とにかくPublic反対派が大多数。
・結局みんな、npm専用のメールアカウントを作ることになり、そのメールボックスspamでいっぱいに…初期のphp forumの頃のように。

まとめ

解決されなさそうなので、npm用のメールアカウントを作成しましょう。。

参考

github.com

github.com