tag:blogger.com,1999:blog-256973332024-03-19T18:19:56.800+09:00Hiroaki's blogHiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comBlogger864125tag:blogger.com,1999:blog-25697333.post-1272344496027810482024-01-03T18:58:00.000+09:002024-01-03T18:58:21.170+09:002024年年賀状<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFeRBpw-KnmO5tVQoOfll3dCk6LYop8OOU8dSqPeQiGOW4Sy8IS6wWZYsIe0dPJTOXlVcExi2WxuJpBbPlUuXDiIwuN9EUjappBYBjCUGBogJkVUH8ViUGnsU_BaE4qeMJ-HMH7HulTVtHcGUOST_gdMGu_WoIyKAktHKkkYiUn7htjAyk-zU/s420/2024nenga-blog.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="600" data-original-height="420" data-original-width="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFeRBpw-KnmO5tVQoOfll3dCk6LYop8OOU8dSqPeQiGOW4Sy8IS6wWZYsIe0dPJTOXlVcExi2WxuJpBbPlUuXDiIwuN9EUjappBYBjCUGBogJkVUH8ViUGnsU_BaE4qeMJ-HMH7HulTVtHcGUOST_gdMGu_WoIyKAktHKkkYiUn7htjAyk-zU/s600/2024nenga-blog.jpg"/></a></div>
本年もよろしくお願いいたします。<br />
昨年は夏からブログの更新が滞ってしまったので、今年はせめて1シーズン1記事は書きたい。Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-27465656994815311662023-07-15T23:10:00.000+09:002023-07-15T23:10:03.319+09:00Amazon Linux 2023のsshdの設定変更方法<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCrBNaxH2sqYsIrYVGSBLE3P2hS2nGh6b9ClhJu4UDqkCyh60PAhuO3ehVfMFieXWjCi5G1iAZrvpRyg3tExQ-J05AnmSOPPfwHW1EP0d82oT1bxvJmqIECtxRBGpX1KnQMkZFUED-vqvyuUdR0QunrJllGUK1M1rmnTCgSoL4-_XJ-izOCnd_/s1200/remote-access.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="800" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCrBNaxH2sqYsIrYVGSBLE3P2hS2nGh6b9ClhJu4UDqkCyh60PAhuO3ehVfMFieXWjCi5G1iAZrvpRyg3tExQ-J05AnmSOPPfwHW1EP0d82oT1bxvJmqIECtxRBGpX1KnQMkZFUED-vqvyuUdR0QunrJllGUK1M1rmnTCgSoL4-_XJ-izOCnd_/s600/remote-access.jpg"/></a></div>
<p><a href="https://aws.amazon.com/jp/linux/amazon-linux-2023/" target="_blank" rel="nofollow">Amazon Linux 2023</a>のsshまわりでいろいろ調べる羽目になったので、簡単にまとめ。</p>
<h2>設定は/etc/ssh/sshd_config.d/に置く</h2>
<p>crypto-policiesが…とかあったりしますが、/etc/ssh/sshd_config.d/ 以下に設定ファイルを置いておけば、反映されます。最初に現れた設定内容が使用されるので、ファイル名に注意しましょう。<code>50-redhat.conf</code>のコメントに書いてあります。
</p>
<h2>設定ファイルの確認はsshd -t</h2>
<p>設定ファイルを変更したら、忘れずに<code>sshd -t</code>を実行して、文法的にエラーがないことを確認しておきましょう。</p>
<h2>「今」の設定状況の確認はsshd -T</h2>
<p>設定ファイルが分割されているので、最終的にどのような設定になったかが分かりにくいです。設定反映のためにsshdを再起動したのち、<code>sshd -T</code>で設定されている内容を確認しましょう。
</p>
<h2>crypto-policiesとの関係</h2>
<p>/etc/ssh/sshd_config に<code>Include /etc/ssh/sshd_config.d/*.conf</code>とあり、さらに
/etc/ssh/sshd_config.d/50-redhat.conf に<code>Include /etc/crypto-policies/back-ends/opensshserver.config</code>と書かれており、これが、update-crypto-policiesで生成された設定の読み込みを行なっているようです。</p>
<p>sshdの暗号関係の設定を変更する場合、公式サイトには<code>update-crypto-policies</code>で設定するとあります。</p>
<figure class="blogcard blogcard-hasnoimage"><a href="https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title">Default SSH server configuration</p><blockquote cite="https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html"><p class="blogcard-description">If you have SSH clients from several years ago, you might see an error when you connect to an instance. If the error tells you there's no matching host key type found, update your SSH host key to troubleshoot this issue.</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html" alt="" width="16" height="16">docs.aws.amazon.com</div></a></figure>
<p>ただ、それだとシステム全体の暗号化ポリシーを変えることになるからよろしくないという指摘があります。<p>
<figure class="blogcard"><a href="https://www.geekfeed.co.jp/geekblog/amazonlinux2023-al2023/#teratermamazon-linux-2023" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="https://www.geekfeed.co.jp/wp-content/uploads/2023/03/AL2023logo.png" alt="Amazon Linux 2023を触ってみて質問がありそうなことをまとめてみました。 | ソフトウェア開発のギークフィード" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title">Amazon Linux 2023を触ってみて質問がありそうなことをまとめてみました。 | ソフトウェア開発のギークフィード</p><blockquote cite="https://www.geekfeed.co.jp/geekblog/amazonlinux2023-al2023/#teratermamazon-linux-2023"><p class="blogcard-description">こんにちは、意識高い...</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://www.geekfeed.co.jp/geekblog/amazonlinux2023-al2023/#teratermamazon-linux-2023" alt="" width="16" height="16">www.geekfeed.co.jp</div></a></figure>
<p>確かに、変更したいのはsshdだけなので、それ以外の部分にも影響が出るようなやり方は好ましくありません。</p>
<p>ですが、この方法だと、crypto-policiesの記述がどのようにsshd_configに反映されるのか、理解しておく必要があります。<br />
「いや、そこまでは…」という意見にも同意できます。sshdだけ変更したいのであれば、<code>/etc/ssh/sshd_config.d/</code>に設定ファイルを用意するのが、素直なやり方ではないでしょうか。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-78187718015731241162023-06-02T21:34:00.003+09:002023-06-02T21:34:55.794+09:00CentOSでAWS-ApplyAnsiblePlaybooksを動かす<p>AWS Systems Managerを使えば、設定ファイルもいい感じにGitで管理できるというのは記事にしましたが、ここでポイントとなってくるAWS-ApplyAnsiblePlaybooksが、CentOS7やRockyLinuxに対応していません。どうすればよいのか、調べました。</p>
<figure class="blogcard"><a href="https://blog.hiroaki.home.group.jp/2023/02/git-clone.html" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjckYymKRhAf5Oxoi4pzFVWAJyYWPGMyDqaHsVwacbblbbQeUkmA9mGw5ukXknafrKkocBYv9smrBpEyNB-WnyRMZ37Y1ZSwS6X5LjEXfbSoBOxzn0vpc09X3zEprYwFRq9rHNb5EyaR1qdGVfSZu7p9L58b8tqwjt_bQNbSB4X60pZMNsTiA/w1200-h630-p-k-no-nu/check-list.jpg" alt="Git Cloneせずに管理された設定ファイルをdeployする" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title">Git Cloneせずに管理された設定ファイルをdeployする</p><blockquote cite="https://blog.hiroaki.home.group.jp/2023/02/git-clone.html"><p class="blogcard-description">スマホやMacなどの話から、プログラミング、あるいはアフィリエイトなど、IT系のブログです。</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiroaki.home.group.jp/2023/02/git-clone.html" alt="" width="16" height="16">blog.hiroaki.home.group.jp</div></a></figure>
<h2>AWS-ApplyAnsiblePlaybooksがやること</h2>
<p>AWSにログインしないと見れませんが、AWS-ApplyAnsiblePlaybooksはscriptです。プレイブックの実行オプションに"Install Dependencies"というものがあり、これをTrueにすると、playbookの実行に必要なプログラムをインストールします。<br />
どうやってインストールするのか読んでみたところ、<a href="https://pypi.org/" target="_blank">PyPI repo</a>から入れるようです。ということは、CentOSでもRockyLinuxでも、PyPI repoから必要なものを入れておけば、AWS-ApplyAnsiblePlaybooksを動かせるようになります。</p>
<figure class="blogcard"><a href="https://pypi.org/" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="https://pypi.org/static/images/twitter.abaf4b19.webp" alt="" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title"></p><blockquote cite="https://pypi.org/"><p class="blogcard-description">Python Package Index(PyPI)は、プログラミング言語Python用のソフトウェアのリポジトリです。</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://pypi.org/" alt="" width="16" height="16">pypi.org</div></a></figure>
<h2>パッケージ管理はyumにまとめたい</h2>
<p>PyPI repoから入れると言うことは、pipでパッケージを管理するということです。CentOSのパッケージ管理はyum(rpm)なので、パッケージ管理システムを2種類使うことになります。モノによっては二重管理となり、アップデートなど面倒な話になってきます。</p>
<p>AWS-ApplyAnsiblePlaybooksの実行に必要なコマンドは、ansible-python3 unzip wgetです。が、ansibleのプレイブックを実行するコマンドがansible-playbook-3になります。AWS-ApplyAnsiblePlaybooksはansible-playbookというコマンドを想定して作られているので、調整が必要です。</p>
<h2>CentOS用のAWS-ApplyAnsiblePlaybooksを作った</h2>
<p>ansible-playbook-3からansible-playbookにリンクを張ってもよかったのですが、そういった小細工をちゃんと管理していくのは難しいのと、パッケージ管理が二重になるのは面倒なことになりそうなので、CentOS用のAWS-ApplyAnsiblePlaybooksを作りました。といっても、コピーしてコマンドをansible-playbook-3に直しただけですが。</p>
<p>これだけだと"Install Dependencies"が動かないですが、事前に必要なパッケージを入れておけばよいだけです。作ったCentOS用のAWS-ApplyAnsiblePlaybooksはSSMのドキュメントとしてAWSで管理されるので、大した手間にはならないでしょう。</p>
<h2>設定ファイルもGit管理</h2>
<p>これで、CentOSでも設定ファイルをGit管理できるようになりました。設定ファイルの更新もSSMで行えるので、いちいち対象のサーバにログインする必要もありません。SSMでのプレイブックの実行はawsコマンドでも行えるので、GitOpsでやれることが広がります。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-67255670439256070532023-04-16T14:18:00.002+09:002023-04-16T14:18:27.989+09:00寿司の美登利@梅ヶ丘でテイクアウト<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgds_UFjI-TEcz5eWtEBPGfqrAH3dOqc8eRMJb7FgMIZ-xQfvoYQjNEmTu6zKzVjC1D6JYe9E0eXhNN6ItqVqk-i8MP6nFi6gGJgVO1NzHZDo-Gxxev2IyprZN-P6M_EhQT1_7rWYms_7ygXW9trR0kDEQ3dCqw08r6dAfGoqiCraS4dXPrw/s1600/sushi-red_roll.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="寿司の美登利-レッドロール" border="0" data-original-height="675" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgds_UFjI-TEcz5eWtEBPGfqrAH3dOqc8eRMJb7FgMIZ-xQfvoYQjNEmTu6zKzVjC1D6JYe9E0eXhNN6ItqVqk-i8MP6nFi6gGJgVO1NzHZDo-Gxxev2IyprZN-P6M_EhQT1_7rWYms_7ygXW9trR0kDEQ3dCqw08r6dAfGoqiCraS4dXPrw/s1600/sushi-red_roll.jpg"/></a></div>
<p>すごしやすい季節になったので、お散歩と称して梅ヶ丘の寿司の美登利まで行って買ってきました。安定のコストパフォーマンス。</p>
<h2>下北沢-世田谷代田が歩きやすくなった</h2>
<p>小田急線が複々線になって地下に潜り、跡地の整備も進んでのんびり歩けるようになりました。こじゃれたお店がいくつもあって引き込まれそうになりますが、我慢、我慢。空腹は最高の調味料です。ま、そんな調味料なんていらないのが美登利寿司なんですが。</p>
<h2>売店は羽根木公園と反対側</h2>
<p>梅ヶ丘と言えば寿司の美登利。なんですが、<a href="https://www.city.setagaya.lg.jp/mokuji/kusei/012/015/001/010/d00004240.html" target="_blank" rel="noopener noreferrer" >羽根木公園</a>も有名です。<br />
<figure class="blogcard"><a href="https://www.city.setagaya.lg.jp/mokuji/kusei/012/015/001/010/d00004240.html" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="/share/imgs/og-image-default.jpg" alt="羽根木公園" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title"羽根木公園。</p><blockquote cite="https://www.city.setagaya.lg.jp/mokuji/kusei/012/015/001/010/d00004240.html"><p class="blogcard-description">北沢地域で一番広い公園で、軟式野球場などのスポーツ施設のほか、プレーパーク、茶室日月庵、梅林などがあります。</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://www.city.setagaya.lg.jp/mokuji/kusei/012/015/001/010/d00004240.html" alt="" width="16" height="16">www.city.setagaya.lg.jp</div></a></figure>
<br />
寿司の美登利の梅ヶ丘売店は、小田急線を挟んで羽根木公園とは反対側の出口、少し新宿寄りの駅前にあります。</p>
<h2>上にぎりにレッドロール</h2>
<p>久しぶりに来たので、少し奮発。<br />
上にぎり
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCbmALfE7Dflvs5ynHKxEd0s7lXsQRwtf1mSL1J04ZXIk5Kj-gMWzrTW5d9QpVeKAVm9Mc-L_ypv5ztzTY_2v13HV_i0-kZeynGoTPev9caebveHv2Id_KgcekJMvdD-5Y5en8zoAU9LwR-51QDQUzZ8lhe_U1iWQ7qfhF0Cy30p9YHwJqzQ/s1200/sushi-jou-nigiri.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="寿司の美登利-上にぎり" border="0" width="400" data-original-height="770" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCbmALfE7Dflvs5ynHKxEd0s7lXsQRwtf1mSL1J04ZXIk5Kj-gMWzrTW5d9QpVeKAVm9Mc-L_ypv5ztzTY_2v13HV_i0-kZeynGoTPev9caebveHv2Id_KgcekJMvdD-5Y5en8zoAU9LwR-51QDQUzZ8lhe_U1iWQ7qfhF0Cy30p9YHwJqzQ/s400/sushi-jou-nigiri.jpg"/></a></div>
とレッドロール
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgds_UFjI-TEcz5eWtEBPGfqrAH3dOqc8eRMJb7FgMIZ-xQfvoYQjNEmTu6zKzVjC1D6JYe9E0eXhNN6ItqVqk-i8MP6nFi6gGJgVO1NzHZDo-Gxxev2IyprZN-P6M_EhQT1_7rWYms_7ygXW9trR0kDEQ3dCqw08r6dAfGoqiCraS4dXPrw/s1200/sushi-red_roll.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="寿司の美登利-レッドロール" border="0" width="400" data-original-height="675" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgds_UFjI-TEcz5eWtEBPGfqrAH3dOqc8eRMJb7FgMIZ-xQfvoYQjNEmTu6zKzVjC1D6JYe9E0eXhNN6ItqVqk-i8MP6nFi6gGJgVO1NzHZDo-Gxxev2IyprZN-P6M_EhQT1_7rWYms_7ygXW9trR0kDEQ3dCqw08r6dAfGoqiCraS4dXPrw/s400/sushi-red_roll.jpg"/></a></div>
ついついいろいろ買ってしまいたくなるのですが、残してしまうのはもったいないので、がまん、がまん。<br />
ちなみに、さび抜きとかはカウンターで頼むと用意してくれます。</p>
<h2>テイクアウトしてのんびりと</h2>
<p>お店で食べるのもおいしいのですが、休日はゆっくりしたいので、テイクアウトしてのんびりと。休息重要。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-27226275029752280662023-02-19T16:33:00.001+09:002023-02-19T16:42:53.151+09:00Git Cloneせずに管理された設定ファイルをdeployする<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjckYymKRhAf5Oxoi4pzFVWAJyYWPGMyDqaHsVwacbblbbQeUkmA9mGw5ukXknafrKkocBYv9smrBpEyNB-WnyRMZ37Y1ZSwS6X5LjEXfbSoBOxzn0vpc09X3zEprYwFRq9rHNb5EyaR1qdGVfSZu7p9L58b8tqwjt_bQNbSB4X60pZMNsTiA/s1200/check-list.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="管理-チェックリスト" border="0" width="600" data-original-height="800" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjckYymKRhAf5Oxoi4pzFVWAJyYWPGMyDqaHsVwacbblbbQeUkmA9mGw5ukXknafrKkocBYv9smrBpEyNB-WnyRMZ37Y1ZSwS6X5LjEXfbSoBOxzn0vpc09X3zEprYwFRq9rHNb5EyaR1qdGVfSZu7p9L58b8tqwjt_bQNbSB4X60pZMNsTiA/s600/check-list.jpg"/></a></div>
<p><b>本番環境の設定ファイルはバージョン管理されなければならない。</b></p>
<p>確かにそうなんですが、だからといってGit Treeをまるっとcloneしてきてというのも無駄が多いですし不要なデータを持つことでリスクが高まりますし、「そうは言っても…」というのが現実かと思います。</p>
<p>そんな現場に解決策を。<a href="https://kubernetes.io/ja/" target="_blank" rel="noopener">Kubernetes</a>だけではないのですよ、現実は…。</p>
<h2>AWS SSMの多彩な機能を活用する</h2>
<p>コンテナ化されていない、いわゆるVMを管理するにあたって強力なツールが<a href="https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/what-is-systems-manager.html" target="_blank" rel="noopener">AWS Systems Manage</a>です。機能がたくさんあってよくわからないですが、<a href="https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/run-command.html" target="_blank" rel="noopener">AWS Systems Manager Run Command</a>が重要です。これ、非常に乱暴な言い方をすると、Systems Managerから対象のVMにコマンドを送りこんで実行する機能です。いちいちVMにログインせずとも、AWSのコンソールから操作できますし、操作対象のVMは複数選べますし、理解を深めておきたい機能の1つです。</p>
<h2>SSMからAnsibleを実行する</h2>
<p>SSMのRun Commandでコマンドを実行できるということは、当然、<a href="https://www.ansible.com/" target="_blank" rel="noopener">Ansible</a>も実行できます。というか、Ansible実行用のドキュメント(Run Commandのパラメータセット?)が提供されています。どんな中身かというと…。AWSにログインしていないと見れないようですが。<br />
AnsibleのPlaybookをGitHubかS3からダウンロードしてきて、localhost(自ホスト)に対してapplyするという動きです。apply対象の選択はSSMの機能で行えばよいという判断なのでしょう。「これからAnsibleのPlaybookを書く」というのであれば、SSMの方針に素直に乗っかるのがよいのではないでしょうか。</p>
<h2>Playbookだけでなく、Zipを用意するscriptも管理する</h2>
<p>設定ファイルはもちろん、その設定ファイルをdeployするPlaybookもGitの管理下に置くのは当然です。それに加えて、Zipファイルを作るscriptもちゃんと管理しましょう。「S3のどこにアップロードする」まで決めて、そこまでscript化してしまうのもよさそうです。</p>
<p>GitHubを利用していれば、Zipファイルを作るscriptなんて不要なのですが…。AWS CodeCommitとか、BacklogのGit機能とか、GitBucketとか、いくつもサービスはあるので。</p>
<h2>自動deployも視野に</h2>
<p>SSMのRun Commandの画面でいろいろ設定する部分、これ、画面の一番下に、「AWS CLIだと…」ってコマンドが表示されます。ですので、Run Commandを実行する部分もscript化できます。<br />
全部script化してGitの管理下に置けるので、自動deployの仕組みにも乗っかりそうですね。<br />
Git Treeに取り込む際にレビューされたものをレビューされた手順でdeployする。<br />
設定ファイルだけでなくdeploy手順まで管理できるので、SSM + Ansibleは強力なソリューションになりますね。</p>
<div class="cstmreba"><div class="booklink-box"><div class="booklink-image"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191626536725?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14646691%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9943/9784798149943.jpg?_ex=200x200" style="border: none;" /></a></div><div class="booklink-info"><div class="booklink-name"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191626536725?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14646691%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >Ansible徹底入門 クラウド時代の新しい構成管理の実現</a><div class="booklink-powered-date">posted with <a href="https://yomereba.com" rel="nofollow" target="_blank">ヨメレバ</a></div></div><div class="booklink-detail">廣川 英寿/平 初 翔泳社 2017年02月16日頃 </div><div class="booklink-link2"><div class="shoplinkrakuten"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191626536725?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14646691%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >楽天ブックスで購入</a></div><div class="shoplinkamazon"><a href="https://www.amazon.co.jp/exec/obidos/asin/4798149942/kinkyou-22/" target="_blank" rel="nofollow" >Amazonで購入</a></div><div class="shoplinkkindle"><a href="https://www.amazon.co.jp/gp/search?keywords=Ansible%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80%20%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E6%99%82%E4%BB%A3%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E6%A7%8B%E6%88%90%E7%AE%A1%E7%90%86%E3%81%AE%E5%AE%9F%E7%8F%BE&__mk_ja_JP=%83J%83%5E%83J%83i&url=node%3D2275256051&tag=kinkyou-22" target="_blank" rel="nofollow" >Kindleで購入</a></div><div class="shoplinkseven"><a href="https://px.a8.net/svt/ejp?a8mat=2643C9+64AELU+2N1Y+BW8O2&a8ejpredirect=http%3A%2F%2F7af-ent.omni7.jp%2Frelay%2Faffiliate%2FentranceProcess.do%3Furl%3Dhttp%253A%252F%252F7net.omni7.jp%252Fsearch%252F%253FsearchKeywordFlg%253D1%2526keyword%253D9784798149943" target="_blank" rel="nofollow" >7netで購入</a><img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2643C9+64AELU+2N1Y+BW8O2" alt=""></div> </div></div><div class="booklink-footer"></div></div></div>
<div class="cstmreba"><div class="booklink-box"><div class="booklink-image"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191627185054?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14107515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/7652/9784873117652.jpg?_ex=200x200" style="border: none;" /></a></div><div class="booklink-info"><div class="booklink-name"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191627185054?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14107515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >初めてのAnsible</a><div class="booklink-powered-date">posted with <a href="https://yomereba.com" rel="nofollow" target="_blank">ヨメレバ</a></div></div><div class="booklink-detail">ローリン・ホッホスタイン/玉川竜司 オライリー・ジャパン 2016年04月16日頃 </div><div class="booklink-link2"><div class="shoplinkrakuten"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202302191627185054?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14107515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >楽天ブックスで購入</a></div><div class="shoplinkamazon"><a href="https://www.amazon.co.jp/exec/obidos/asin/4873117658/kinkyou-22/" target="_blank" rel="nofollow" >Amazonで購入</a></div><div class="shoplinkkindle"><a href="https://www.amazon.co.jp/gp/search?keywords=%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AEAnsible&__mk_ja_JP=%83J%83%5E%83J%83i&url=node%3D2275256051&tag=kinkyou-22" target="_blank" rel="nofollow" >Kindleで購入</a></div><div class="shoplinkseven"><a href="https://px.a8.net/svt/ejp?a8mat=2643C9+64AELU+2N1Y+BW8O2&a8ejpredirect=http%3A%2F%2F7af-ent.omni7.jp%2Frelay%2Faffiliate%2FentranceProcess.do%3Furl%3Dhttp%253A%252F%252F7net.omni7.jp%252Fsearch%252F%253FsearchKeywordFlg%253D1%2526keyword%253D9784873117652" target="_blank" rel="nofollow" >7netで購入</a><img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2643C9+64AELU+2N1Y+BW8O2" alt=""></div> </div></div><div class="booklink-footer"></div></div></div>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-68977024820372700102023-01-29T12:08:00.003+09:002023-03-31T04:29:36.865+09:00動かなくなったfreenom - 「無料」というリスク<p>freenomという無料でドメインを取得できるサービスが動かなくなり、ブログにアクセスできなくなりました。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8MT5RihhCcRX36Jcmt-KdN554Et1aJFlYP93klR7n0LLJ800QkQHDzfYOG5XryQZQHB_v0pvZ5XJzz4UCjO4KV8urhFlBpkea9uOPhSFeG9cgxNzZzl9LU99xCBqaS1WCdnaM4aLp2b4aPyJ3Wt5UaxgCWalL182E7vy5Z_F0Dk5W2IVu-A/s1200/error-desktop-pc.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="1200" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8MT5RihhCcRX36Jcmt-KdN554Et1aJFlYP93klR7n0LLJ800QkQHDzfYOG5XryQZQHB_v0pvZ5XJzz4UCjO4KV8urhFlBpkea9uOPhSFeG9cgxNzZzl9LU99xCBqaS1WCdnaM4aLp2b4aPyJ3Wt5UaxgCWalL182E7vy5Z_F0Dk5W2IVu-A/s400/error-desktop-pc.jpg"/></a></div>
<h2>無料ドメイン</h2>
<p>無料でドメインを取得できるというので取得してみたのは、結構昔の話です。</p>
<figure class="blogcard"><a href="https://blog.hiroaki.home.group.jp/2016/10/blog-post.html" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"></div></div><div class="blogcard-text"><p class="blogcard-title">無料ドメインのサービスで新たにドメインを取得した</p><blockquote cite="https://blog.hiroaki.home.group.jp/2016/10/blog-post.html"><p class="blogcard-description">無料ドメインのサービスがあったので、新たなドメインを無料で取ってみた。</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiroaki.home.group.jp/2016/10/blog-post.html" alt="" width="16" height="16">blog.hiroaki.home.group.jp</div></a></figure>
<p>無料だと複数年契約ができなかったので、毎年更新手続きをしていました。今年は更新手続きの連絡が来ないなぁと思っていたら、1/13頃から取得したドメインで作ったブログへのアクセスで時々エラーが出るようになり、1/21からは全くアクセスできなくなりました。whoisで見てみると、登録情報がなくなっている(未割当の時の情報?)ようでした。</p>
<h2>再登録できない</h2>
<p>未登録なら再登録すればよい!ということで、freenomから登録しようとしたところ、エラーです。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA9cTwRlslPMdni4Qka4Qgm0bmF37fTQWfsfnrsnCFrNeVdo9Cr5f-DVqtkdsftE9g5QVU0B8Cmfgd2pdAlo2JrT9K2KJIagvOrCfQ8ybBnZGRwWU7VM1IS0eD8wvq6kHCWrG8FUyMQ-QCl2hMk-NDnjQ3wk2XzZZiXpIN15QAQI7ZVBUqCg/s810/freenom-domain-registration-out-of-order.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="215" data-original-width="810" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA9cTwRlslPMdni4Qka4Qgm0bmF37fTQWfsfnrsnCFrNeVdo9Cr5f-DVqtkdsftE9g5QVU0B8Cmfgd2pdAlo2JrT9K2KJIagvOrCfQ8ybBnZGRwWU7VM1IS0eD8wvq6kHCWrG8FUyMQ-QCl2hMk-NDnjQ3wk2XzZZiXpIN15QAQI7ZVBUqCg/s400/freenom-domain-registration-out-of-order.png"/></a></div>
<p>temporarilyってずっとじゃん。サイトを見ても障害情報とか見当たらないですし、こういうサービスを使い続けるのは怖いです。ドメインの変更を検討しないとですね。</p>
<h2>稼ぎたいならドメイン代は払っても</h2>
<p>アドセンスで広告収入を得たいというのであれば、独自ドメインを用意する必要があります。今回のようにアクセスできない状態が何日も続くと、それだけ稼ぎに影響しますから、きっちり管理してくれる有料サービスを使った方がよいでしょう。</p>
<p>単にブログを書きたいと言うのであれば、無料のブログサービス(アメブロなど)でいいと思います。<br >
しかし、広告を貼って収入を得ようとするのであれば、やっていいことなのかを利用規約で確認しなければなりません。最悪、垢バン&書いてきた記事へのアクセス遮断ということもあり得ます。<br />
そういう意味では最初のハードルがちょっと高めです。が、そこをクリアすれば記事を書いていくだけですから、「やる気満々」のうちに乗り越えられるでしょう。</p>
<p>(いろいろな意味で)初期投資はケチらずに。</p>
<!--
<div class="booklink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="booklink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202301291158074971?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15659075%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/6443/9784534056443.jpg?_ex=200x200" style="border: none;" /></a></div><div class="booklink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="booklink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202301291158074971?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15659075%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >Google AdSense マネタイズの教科書[完全版]</a><div class="booklink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://yomereba.com" rel="nofollow" target="_blank">ヨメレバ</a></div></div><div class="booklink-detail" style="margin-bottom:5px;">のんくら(早川修)/a-ki 日本実業出版社 2018年11月20日頃 </div><div class="booklink-link2" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202301291158074971?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15659075%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >楽天ブックス</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/exec/obidos/asin/4534056443/kinkyou-22/" target="_blank" rel="nofollow" >Amazon</a></div><div class="shoplinkkindle" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=Google%20AdSense%20%E3%83%9E%E3%83%8D%E3%82%BF%E3%82%A4%E3%82%BA%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%5B%E5%AE%8C%E5%85%A8%E7%89%88%5D&__mk_ja_JP=%83J%83%5E%83J%83i&url=node%3D2275256051&tag=kinkyou-22" target="_blank" rel="nofollow" >Kindle</a></div><div class="shoplinkseven" style="display:inline;margin-right:5px"><a href="https://px.a8.net/svt/ejp?a8mat=2643C9+64AELU+2N1Y+BW8O2&a8ejpredirect=http%3A%2F%2F7af-ent.omni7.jp%2Frelay%2Faffiliate%2FentranceProcess.do%3Furl%3Dhttp%253A%252F%252F7net.omni7.jp%252Fsearch%252F%253FsearchKeywordFlg%253D1%2526keyword%253D9784534056443" target="_blank" rel="nofollow" >7net</a><img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2643C9+64AELU+2N1Y+BW8O2" alt=""></div> </div></div><div class="booklink-footer" style="clear: left"></div></div>
-->
<!--
<figure class="blogcard"><a href="https://www.blogger.com/about/?hl=ja" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="img/social/facebook-1200x630.jpg" alt="Blogger.com - あなただけの素敵なブログを簡単に作成できます。" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title">Blogger.com - あなただけの素敵なブログを簡単に作成できます。</p><blockquote cite="https://www.blogger.com/about/?hl=ja"><p class="blogcard-description">伝えたいことを自分らしく発信できます。あなただけの素敵なブログを作成して、自分の知識や経験、最新のニュースなど、伝えたいことを投稿しましょう。</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=https://www.blogger.com/about/?hl=ja" alt="" width="16" height="16">www.blogger.com</div></a></figure>
-->Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-127874068281749012023-01-02T17:12:00.000+09:002023-01-02T17:12:18.209+09:002023年年賀状<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVP1XvLOiTHX4qCo4HYptJhILDra_4z6mRdub7IHAP_F1rbui61KmS2EOLBzJCDTjccx0sIQ-foF4XQ6rDIPEFl__OKQzwWy08PwqHNSBcAE5B4uHftyKwQksSGELFyy6eHstxV0AW11RtcYO69Ytj76etDEG3bls5hpKm2h-f_NTYPp_ZxQ/s420/2023-nenga.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="400" data-original-height="420" data-original-width="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVP1XvLOiTHX4qCo4HYptJhILDra_4z6mRdub7IHAP_F1rbui61KmS2EOLBzJCDTjccx0sIQ-foF4XQ6rDIPEFl__OKQzwWy08PwqHNSBcAE5B4uHftyKwQksSGELFyy6eHstxV0AW11RtcYO69Ytj76etDEG3bls5hpKm2h-f_NTYPp_ZxQ/s400/2023-nenga.jpg"/></a></div>
<p>本年もよろしくお願いいたします。</p>
<p>もう少しマメにブログを更新しないとと思っているのですが…。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-31947253942366928432022-12-25T22:50:00.002+09:002022-12-27T08:00:41.442+09:00シュトーレンをクリスマスから食べ始める<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw9l1-9B7svT4UAJPNjveL8gcPAxzbUoZMrDslaeJfr0qTu1wjE0oz5EN2wqQrn3QjC_4Khor8ua4_MXazD077fWUj7vG5Kiiq-jmUADj9u5nc6SyQuOsFQf5ut69Rk4sgIQNm64kxzlMx_6DNW8kpRJglFy-NenvxY7qZcFPt7ZgK1zERfA/s1200/stollen.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="680" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw9l1-9B7svT4UAJPNjveL8gcPAxzbUoZMrDslaeJfr0qTu1wjE0oz5EN2wqQrn3QjC_4Khor8ua4_MXazD077fWUj7vG5Kiiq-jmUADj9u5nc6SyQuOsFQf5ut69Rk4sgIQNm64kxzlMx_6DNW8kpRJglFy-NenvxY7qZcFPt7ZgK1zERfA/s400/stollen.jpg"/></a></div>
<h2>シュトーレン - ドイツのフルーツケーキ</h2>
<p>12月に食べるのは、シュトーレン(シュトレン)。ドイツのフルーツケーキで、少しずつ食べていって、クリスマスの頃に食べきるものらしい。<a href="https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%83%88%E3%83%AC%E3%83%B3" target="_blank" rel="noopener noreferrer">シュトレン - Wikipedia</a><br />
今年は入手が遅くなったので、どんどん食べる♪</p>
<h2>フルーツケーキに砂糖の屋根</h2>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbxgeXpe7zzC0Q55vj-JfMzhYyVaRPOH5wY2a7OyuOq3LWJRWRYz7rB9iSIZdjyHxDl6-2hMbw_OpBSlnPc43OzzMg4P3NO5Y51UjjFSSL_pnQEtQmORNe3Y1wgPFo0v19YRbfBlra16xhLlUB2aT8fG0HTS7gDCJleIP30-WoLb_pmu3axg/s850/stollen-cut-1.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="400" data-original-height="850" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbxgeXpe7zzC0Q55vj-JfMzhYyVaRPOH5wY2a7OyuOq3LWJRWRYz7rB9iSIZdjyHxDl6-2hMbw_OpBSlnPc43OzzMg4P3NO5Y51UjjFSSL_pnQEtQmORNe3Y1wgPFo0v19YRbfBlra16xhLlUB2aT8fG0HTS7gDCJleIP30-WoLb_pmu3axg/s400/stollen-cut-1.jpg"/></a></div>
<p>ケーキというとやわらかくてふわふわのスポンジを思い浮かべるけど、これは違う。硬い。中身が詰まっているという硬さ。なので、持ってみると、ケーキという割にはずっしりくる。</p>
<p>フォークを刺すにも力がいるので、立てたままでは不安定。寝かす。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHSwb1QOmcvibJgD-vDd0hvjK7sqTVcsztfQo3XIvx6VxEMbK1zZlH1eevMMxemGbZi7qXduAO_2jXgS5vP-H2Nk3wPumFCl8deeoI_8GkZvpq2WzxyWBKrfoRWAGUkmAOhM06_4vYn10XbkUwozTKg_VVNSmTQ2krtUJPfaMIzxehewiAtg/s800/stollen-cut-2.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="602" data-original-width="800" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHSwb1QOmcvibJgD-vDd0hvjK7sqTVcsztfQo3XIvx6VxEMbK1zZlH1eevMMxemGbZi7qXduAO_2jXgS5vP-H2Nk3wPumFCl8deeoI_8GkZvpq2WzxyWBKrfoRWAGUkmAOhM06_4vYn10XbkUwozTKg_VVNSmTQ2krtUJPfaMIzxehewiAtg/s320/stollen-cut-2.jpg"/></a></div>
<p>ちょっと分厚く切ったのが、影でばれてしまう…(笑)</p>
<h2>キッツビュールのシュトーレン</h2>
<p>これ、軽井沢のキッツビュールというドイツ料理レストランのシュトーレン。裏メニューだったのか。毎年あたり前のように食べていたよ。</p>
<figure class="blogcard"><a href="http://www.kitzbuehl.co.jp/?pid=95275228" target="_blank" rel="noopener noreferrer" aria-label="記事詳細へ(別窓で開く)"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><img src="https://img20.shop-pro.jp/PA01319/149/product/95275228.jpg?cmsp_timestamp=20171211181020" alt="シュトーレン【1kg】 - デリカテッセンの手作りドイツソーセージ キッツビュール" width="100" height="100" loading="lazy"></div></div><div class="blogcard-text"><p class="blogcard-title">シュトーレン【1kg】 - デリカテッセンの手作りドイツソーセージ キッツビュール</p><blockquote cite="http://www.kitzbuehl.co.jp/?pid=95275228"><p class="blogcard-description"> ●本場ドイツの味●毎年、軽井沢のレストランの常連さんでも知る人ぞ知る裏メニュー【シュトーレン】を販売します。ドライフルーツの漬け込みに時間がかかるため数量限定とさせていただきます。【内容量】 1000g前後/1本【賞味期限】商品到</p></blockquote></div></div><div class="blogcard-footer"><img src="https://www.google.com/s2/favicons?domain=http://www.kitzbuehl.co.jp/?pid=95275228" alt="" width="16" height="16">www.kitzbuehl.co.jp</div></a></figure>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-14511314624447024642022-10-02T16:07:00.000+09:002022-10-02T16:07:18.680+09:00moto g52j 購入<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVi0V28-L_VoqcOwryt_JybfeL_fCNJPNglvBO6MSaR1HSRyPoqLP6OW_e9iJWSJoFLxy7nSySNDyl5XiBXCDkvS-Fq21dDkfhLCKp-hKWpAhNfeKvz2m92wDf9P94nxj7VC377xOlxWO3DI-GEeBInfK5bYaf89SKwIwRuovgll-Z8gxtJg/s1600/moto-g52j_open_box.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="moto g 52j" border="0" data-original-height="900" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVi0V28-L_VoqcOwryt_JybfeL_fCNJPNglvBO6MSaR1HSRyPoqLP6OW_e9iJWSJoFLxy7nSySNDyl5XiBXCDkvS-Fq21dDkfhLCKp-hKWpAhNfeKvz2m92wDf9P94nxj7VC377xOlxWO3DI-GEeBInfK5bYaf89SKwIwRuovgll-Z8gxtJg/s1600/moto-g52j_open_box.jpg"/></a></div>
<p>SlackアプリがAndroid 8.1のサポートを切ったことで、新し目のAndroidが載ったスマホを買わざるをえなくなりました…。</p>
<h2>格安スマホ-おまけは格安SIM</h2>
<p>新し目のAndroidスマホを安く買うことが目標です。格安SIMの端末セットというのも安くなっていることがあるので探してみたところ、OCNモバイルONEでキャンペーンをやっていました。</p>
<p>安さではAQUOS senseというのもありましたが、かなり叩かれているモデルがあったという印象で、候補から外します。<br />
中華スマホも、Google Playが使えなくなるとかなんとかあったので、排除。で、Motorora moto g52jにしました。使っていたAndroidスマホがmoto g5sだったというのもあります。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://blog.hiroaki.home.group.jp/2018/05/gomoto-g5s.html" target="_blank"><img src="https://blogger.googleusercontent.com/img/proxy/AVvXsEiwdIJo-ANXXRMCNa-GVS7MA6fACmZ3IWVKr37sDeH78ywvs2ikr3lDX9FOXtVkLA5r0wkI3mo-BAsQ-wuGozA6Nme0UE5zVdyn2lg7Esh9RI6nhgfNrK_ogzJxP-rOk52BkaqkUUvCcA6imMFDpgSm07O62bDYkPoXOJ_Thc4e3o42dlpI=w1200-h630-p-k-no-nu" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://blog.hiroaki.home.group.jp/2018/05/gomoto-g5s.html" target="_blank">ポケモンGOにmoto G5sはパワー不足</a></p><blockquote cite="https://blog.hiroaki.home.group.jp/2018/05/gomoto-g5s.html"><p class="blogcard-description">大きめの画面を持つmoto 5gsを購入したが、ポケモンGOをやるにはスペック不足</p></blockquote></div></div><div class="blogcard-footer"><a href="https://blog.hiroaki.home.group.jp/2018/05/gomoto-g5s.html" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiroaki.home.group.jp/2018/05/gomoto-g5s.html" alt="大きめの画面を持つmoto 5gsを購入した">blog.hiroaki.home.group.jp</a></div></div>
<h2>moto g52j開封の儀</h2>
<p>OCNモバイルONEの端末セットで購入したので、SIM付き。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-tyeekIPryNYvs32STZ4ox3U52PTi7QpxL5_ALDUEnY_A7Fz-XEs8p-dOaf2k-mRasMSPeOurE0ZXjZzDTImvFuYQG5_BwTLGufTBwcu44fOLawaNhPM0on7aTn6gjqrIWEOtb-Yum8yJK0iu_p86_WkWzImYWLkxGCVe_S8NzelUmuYNIQ/s640/moto-g52j_box_with_sim.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="moto g52j SIMセット" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-tyeekIPryNYvs32STZ4ox3U52PTi7QpxL5_ALDUEnY_A7Fz-XEs8p-dOaf2k-mRasMSPeOurE0ZXjZzDTImvFuYQG5_BwTLGufTBwcu44fOLawaNhPM0on7aTn6gjqrIWEOtb-Yum8yJK0iu_p86_WkWzImYWLkxGCVe_S8NzelUmuYNIQ/s320/moto-g52j_box_with_sim.jpg"/></a></div>
<p>今や、5G対応は当たり前。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiee3aVIMOgDljyjGSqmGn8XkgRRNn4sP8Taj5h-ZJ-l6sCQNUAu_2iPm0m2NMZ2RfnJZY5G1IJfBllEbEJYj2kShba_n4Nt7-zPBZU5H5hWk2HLLIvfI_jl3Uc6pkI7TgMcQCKDMdIzu25VTl8uM0Jv_6bbBlFZMpPXmkce0jB8tBHfp88EQ/s640/moto-g52j_box.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="moto g52j 箱" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiee3aVIMOgDljyjGSqmGn8XkgRRNn4sP8Taj5h-ZJ-l6sCQNUAu_2iPm0m2NMZ2RfnJZY5G1IJfBllEbEJYj2kShba_n4Nt7-zPBZU5H5hWk2HLLIvfI_jl3Uc6pkI7TgMcQCKDMdIzu25VTl8uM0Jv_6bbBlFZMpPXmkce0jB8tBHfp88EQ/s320/moto-g52j_box.jpg"/></a></div>
<h3>充電器や充電ケーブルはなし</h3>
<p>USB 3に統一されつつある?ので、別売りで値段を下げてくれるのは嬉しい。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXOr3XwZaYt5yXDjwC9qAX4mthgKJ2W1VwbiEQW2S--1cWr0t6CWlbqUgxRAv9_VCcT1S4SVpeBkHbTo5uL5-bXHa5ZUyyHTm5h2lfgRI83a5slRH3fSAw93XjgP_T5dYiZjwqRzef8n-vFQ_Ngxm0AH8ePzmiQqfMiJRSptXOPQohKaJVVQ/s640/moto-g52j_options.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="moto g52j 箱の中身" border="0" width="320" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXOr3XwZaYt5yXDjwC9qAX4mthgKJ2W1VwbiEQW2S--1cWr0t6CWlbqUgxRAv9_VCcT1S4SVpeBkHbTo5uL5-bXHa5ZUyyHTm5h2lfgRI83a5slRH3fSAw93XjgP_T5dYiZjwqRzef8n-vFQ_Ngxm0AH8ePzmiQqfMiJRSptXOPQohKaJVVQ/s320/moto-g52j_options.jpg"/></a></div>
<h3>スマホケース付き</h3>
<p>知らずにAmazonでポチってしまいましたが、スマホケースがついています。透明プラスティックのカチカチしたものではなく、ビニール系のグニャッとしたものですが、衝撃は少しやわらげてくれそうです。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDCSvutwKHKgjVKilZYSZewDqZZ9EJTO8ELJT-YSXi83-x3RPYiVn0sq3hzRx9qQVZ5QeU0w4J29aG-epGVJm3zJra0XbYxByvbE1On5KbWDEnTl54c0WcTURnm-s1hBuCYm8ZSplH3atRi0grgYF5qAbpeeFx_x60KBhAR4JU0Yk8n3ef4w/s640/moto-g52j.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="moto g52j" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDCSvutwKHKgjVKilZYSZewDqZZ9EJTO8ELJT-YSXi83-x3RPYiVn0sq3hzRx9qQVZ5QeU0w4J29aG-epGVJm3zJra0XbYxByvbE1On5KbWDEnTl54c0WcTURnm-s1hBuCYm8ZSplH3atRi0grgYF5qAbpeeFx_x60KBhAR4JU0Yk8n3ef4w/s320/moto-g52j.jpg"/></a></div>
<h2>液晶保護フィルム</h2>
<p>画面が割れると困るので、液晶保護フィルムを貼ります。本体にスマホケースが付いているので、位置合わせはやりやすいです。</p>
<div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fe-ko-bo%2F20220925014544-01268.html" target="_blank" ><img width="200px" src="https://item-shopping.c.yimg.jp/i/n/e-ko-bo_20220925014544-01268" style="border: none;" /></a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"></div><div class="kaerebalink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=https%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fe-ko-bo%2F20220925014544-01268.html" target="_blank" >wnunbg 2枚セット 対応 moto g52j 5G ガラスフィルム 2枚 日本旭硝子素材採用 硬度9H 飛散防止 対応 Motorol</a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"><div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://kaereba.com" rel="nofollow" target="_blank">カエレバ</a></div></div><div class="kaerebalink-detail" style="margin-bottom:5px;"> EーKOーBO </div><div class="kaerebalink-link1" style="margin-top:10px;"><div class="shoplinkyahoo" style="display:inline;margin-right:5px"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.shopping.yahoo.co.jp%2Fsearch%3Fp%3Dmoto%2520g52j%25205G%2520%25E3%2582%25AC%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2595%25E3%2582%25A3%25E3%2583%25AB%25E3%2583%25A0%25202%25E6%259E%259A%2520%25E3%2580%2590%25E6%2597%25A5%25E6%259C%25AC%25E6%2597%25AD%25E7%25A1%259D%25E5%25AD%2590%25E7%25B4%25A0%25E6%259D%2590%25E6%258E%25A1%25E7%2594%25A8%2520%25E7%25A1%25AC%25E5%25BA%25A69H%2520%25E9%25A3%259B%25E6%2595%25A3%25E9%2598%25B2%25E6%25AD%25A2%2520%25E3%2580%2591" target="_blank" >Yahooショッピング</a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=moto%20g52j%205G%20%E3%82%AC%E3%83%A9%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%83%A0%202%E6%9E%9A%20%E3%80%90%E6%97%A5%E6%9C%AC%E6%97%AD%E7%A1%9D%E5%AD%90%E7%B4%A0%E6%9D%90%E6%8E%A1%E7%94%A8%20%E7%A1%AC%E5%BA%A69H%20%E9%A3%9B%E6%95%A3%E9%98%B2%E6%AD%A2%20%E3%80%91&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&tag=kinkyou-22" target="_blank" >Amazon</a></div><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/?pc=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2Fmoto%2520g52j%25205G%2520%25E3%2582%25AC%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2595%25E3%2582%25A3%25E3%2583%25AB%25E3%2583%25A0%25202%25E6%259E%259A%2520%25E3%2580%2590%25E6%2597%25A5%25E6%259C%25AC%25E6%2597%25AD%25E7%25A1%259D%25E5%25AD%2590%25E7%25B4%25A0%25E6%259D%2590%25E6%258E%25A1%25E7%2594%25A8%2520%25E7%25A1%25AC%25E5%25BA%25A69H%2520%25E9%25A3%259B%25E6%2595%25A3%25E9%2598%25B2%25E6%25AD%25A2%2520%25E3%2580%2591%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0%26scid%3Daf_ich_link_urltxt&m=http%3A%2F%2Fm.rakuten.co.jp%2F" target="_blank" >楽天市場</a></div></div></div><div class="booklink-footer" style="clear: left"></div></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisRbFeEwyvYQy5BpvonpwRa_O9nyS3MwnWHTww9m-3Wjp146YpgQL5-RI5V0hDiTqBq-Nmq9mOD4Lwiq3hZid-WmVxkYgaO5wfaqCRdsuaQ7lUSOpZAecJBEIRsDbY9DSXiHXSI9Jmol-jDjjencCKF72fODYudaVib9H09-W1Aj80d8wxWQ/s640/moto-g52j-film.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisRbFeEwyvYQy5BpvonpwRa_O9nyS3MwnWHTww9m-3Wjp146YpgQL5-RI5V0hDiTqBq-Nmq9mOD4Lwiq3hZid-WmVxkYgaO5wfaqCRdsuaQ7lUSOpZAecJBEIRsDbY9DSXiHXSI9Jmol-jDjjencCKF72fODYudaVib9H09-W1Aj80d8wxWQ/s320/moto-g52j-film.jpg"/></a></div>
<h2>液晶6.8インチは大きい</h2>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsKs1MRN37p4YuwcwuqZkrHJvd-ykFSL2ty7f9jjGx04oHiIyZj8lczl8JDhdWou5W6-Em-ReMqLd324JSjoNrekkOQIzDTItWDoctDjP7kipQvXqAFq0On0uyktYF2qBW4QjunpoFZxXqWS33iAYqadg5qjoGfTEACxsXBw6pnq0_YrbtTw/s640/moto-g52j-g5s.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="g52jとg5sの比較" border="0" width="320" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsKs1MRN37p4YuwcwuqZkrHJvd-ykFSL2ty7f9jjGx04oHiIyZj8lczl8JDhdWou5W6-Em-ReMqLd324JSjoNrekkOQIzDTItWDoctDjP7kipQvXqAFq0On0uyktYF2qBW4QjunpoFZxXqWS33iAYqadg5qjoGfTEACxsXBw6pnq0_YrbtTw/s320/moto-g52j-g5s.jpg"/></a></div>
<p>moto g5sと比べると、大きいです。持ち歩くのは、どうかなぁ。これからの季節はジャケットやコートを着るから大きめのポケットに忍ばせられますが、夏場は困りそうです。<br />
今回は、お仕事(BYOD)用としていて、かつ、基本、在宅勤務なので、持ち歩きやすさは考慮しませんでした。メインで持ち歩くのであれば、自分の生活スタイルで持ち歩ける大きさなのか、考えた方がいいでしょう。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://www.motorola.co.jp/smartphone-motorola-moto-g52j/p" target="_blank"><img src="https://motorolajp.vtexassets.com/arquivos/ids/155703/Moto-G-52j-5G-pdp-kv-render.png?v=637902108483030000" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.motorola.co.jp/smartphone-motorola-moto-g52j/p" target="_blank">あらゆるシーンに最適なスマートフォン - moto g52j 5G | motorola JP</a></p><blockquote cite="https://www.motorola.co.jp/smartphone-motorola-moto-g52j/p"><p class="blogcard-description">moto g52j 5Gは、大型ディスプレイ。高性能カメラシステム。優れた防水防塵性能。FeliCa搭載。moto g52j 5Gはあらゆるシーンに最適です。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.motorola.co.jp/smartphone-motorola-moto-g52j/p" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.motorola.co.jp/smartphone-motorola-moto-g52j/p" alt="moto g52j">www.motorola.co.jp</a></div></div>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-75197043032158468612022-09-17T17:37:00.000+09:002022-09-17T17:37:21.283+09:00iPhone 13 mini 購入<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjY2-riO07rit1CY3bRT4bcm4c87gtpkiLoWbdhC8iZ8Jj5gbEmXqPLfAD__Jjd7QXFfIir0xCdf6OmGXC8voPtQt5hk6GyTCekT_yjrNzdN9f3Q7cOXE2Kxn7AfsS6kjvRu6lOOQr7wHvXiCgleb9zpjgD3hpOdm58YvCRWOTUZxFPMBdeQ/s1200/iphone8_iphone13mini.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone 8とiPhone 13 mini" border="0" width="400" data-original-height="900" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjY2-riO07rit1CY3bRT4bcm4c87gtpkiLoWbdhC8iZ8Jj5gbEmXqPLfAD__Jjd7QXFfIir0xCdf6OmGXC8voPtQt5hk6GyTCekT_yjrNzdN9f3Q7cOXE2Kxn7AfsS6kjvRu6lOOQr7wHvXiCgleb9zpjgD3hpOdm58YvCRWOTUZxFPMBdeQ/s400/iphone8_iphone13mini.jpg"/></a></div>
<p>iPhone 14の発売で賑わっていますが、このタイミングで旧製品であるiPhone 13 miniを買いました。14にはminiがないんですよねぇ。</p>
<h2>iPhone 13 mini開封の儀</h2>
<p>iPhoneも3台目になると、わくわく感はそれほどでもなくなってきますが…。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRQeHR8KwWRIuxTlGS6GR0nLh29E2XKdECYLcVM4hEsoiMM4IvLpxlLlUl9eddaxrEC-ylOxc1exkA1l1MEjDbrtzaJ6WnFTRMeRtUmSHKmTuloVGQsogeCYk3B7amST1QpgS0YN23A29ffwIreGI3rck2jIilnmlmnw2H8xpT6zRojrOdYQ/s640/iphone13mini-box-1.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone 13 miniの箱-表" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRQeHR8KwWRIuxTlGS6GR0nLh29E2XKdECYLcVM4hEsoiMM4IvLpxlLlUl9eddaxrEC-ylOxc1exkA1l1MEjDbrtzaJ6WnFTRMeRtUmSHKmTuloVGQsogeCYk3B7amST1QpgS0YN23A29ffwIreGI3rck2jIilnmlmnw2H8xpT6zRojrOdYQ/s320/iphone13mini-box-1.jpg"/></a></div>
<p>箱の裏はこんな感じ</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZpKR1eqYsOSlGtkqgUoqhhGEY1gsQu4jj-vtDUNWdkMZQMKGUSRBSou6WeKMtUOoahttsSd4ApaYoiviWBq2MNYJW4g9JcUW--cTtqtDQOSpjwdg6s59Zo93uIBu7njEelH1zHaJDgJfbsRIZIzU3PsGQzqmvIOk7hN4lsqODI3TZVOQGLg/s640/iphone13mini-box-2.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone 13 miniの箱-裏" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZpKR1eqYsOSlGtkqgUoqhhGEY1gsQu4jj-vtDUNWdkMZQMKGUSRBSou6WeKMtUOoahttsSd4ApaYoiviWBq2MNYJW4g9JcUW--cTtqtDQOSpjwdg6s59Zo93uIBu7njEelH1zHaJDgJfbsRIZIzU3PsGQzqmvIOk7hN4lsqODI3TZVOQGLg/s320/iphone13mini-box-2.jpg"/></a></div>
<p>箱を開けると…</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3KttAgMHg7KLjLeRh7zgsCd8ZGe3bkgLX1XZlZkOMY2dhajY1gZPkDPC8N2gJL2I10fTLjovPXqkzMhEp8aYU0WgId7sRFiaPTA5X8NCRUDlIppsrWGug206DXXssfFz08v9XNYlgqG3lqk7Os5SZAYARGtCVBJKajaG-d-xqYsfjjJcfHw/s480/iphone13mini-box-opened.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone 13 miniの箱を開けたところ" border="0" width="320" data-original-height="360" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3KttAgMHg7KLjLeRh7zgsCd8ZGe3bkgLX1XZlZkOMY2dhajY1gZPkDPC8N2gJL2I10fTLjovPXqkzMhEp8aYU0WgId7sRFiaPTA5X8NCRUDlIppsrWGug206DXXssfFz08v9XNYlgqG3lqk7Os5SZAYARGtCVBJKajaG-d-xqYsfjjJcfHw/s320/iphone13mini-box-opened.jpg"/></a></div>
<p>このiPhone 13 miniの下に、充電ケーブルなどの小物が入っています。</p>
<p>miniって、iPhone 8より少しだけ小さいんですね。ホームボタンがない分液晶画面が大きくなっていますが、それでも気持ち縮んだ感じ。持ち歩くものですから、小さい方がいいんです。大きな画面がほしい人は、iPad使ってください :-p</p>
<h2>iPhone 8からの移行</h2>
<p>面倒なところでもありますが、並べておいておけばほとんどやってくれるので、問題はやる気だけです。2回目ですけど、一応、下記の記事を読んでおきました。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://time-space.kddi.com/mobile/20200107/2812" target="_blank"><img src="https://tspace-prod.s3.amazonaws.com/eyecatch/f3b7e5d3eb074cde5b76e26bc0fb5776/fea087517c26fadd409bd4b9dc642555.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://time-space.kddi.com/mobile/20200107/2812" target="_blank">iPhoneのデータ移行「クイックスタート」の手順と注意点、事前準備マニュアル</a></p><blockquote cite="https://time-space.kddi.com/mobile/20200107/2812"><p class="blogcard-description">iPhoneからiPhoneへの機種変更では、iOS 12.4以降であれば「クイックスタート」を利用することで、パソコンを使用せず簡単にデータ移行ができる。クイックスタートの一連の手順や注意点から、LINEやSuicaなどの設定が必要なアプリについても解説する。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://time-space.kddi.com/mobile/20200107/2812" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://time-space.kddi.com/mobile/20200107/2812" alt="">time-space.kddi.com</a></div></div>
<p>基本的に、画像はGoogle PhotoにアップロードしてiPhoneから消してしまうという使い方なので、移行は短時間…というわけでもなかったです。<p>
<h3>Walletの移行は張りついている必要アリ</h3>
<p>Apple Watchを使っているのが原因なのかどうかはわかりませんが、Walletに登録してあるクレジットカードのセキュリティコードをカード毎に入力する必要があります。三井住友カードのNLのような、アプリを使わないとカード情報が確認できないカードは、事前にセキュリティコードをメモしておくか、Walletへの登録を後回しにする必要がありました。</p>
<h3>アプリはApple Storeから再インストール</h3>
<p>iPhone内のデータのコピーが終わると移行作業(クイックスタート)は終わって画面にアプリのアイコンが並ぶのですが、アプリのインストールは引き続き行われるようです。見ていると、アプリのアップデートが行われるようなアニメーションがあちこちのアイコンに現れました。<br />
アプリを大量にインストールする時は、ネットワークの太さが胆です。</p>
<h2>iPhone 13 mini用のアクセサリ</h2>
<p>ケースと液晶フィルムは必要でしょう。ということで、アマゾンでレビューを見ながらチョイス。製品と全く関係ないことで星1つとかつける人がいるので、低評価のレビューをちゃんと読んで、あてになる評価かどうか判断しました。<br />
高評価のレビューって、ショップがギフト券を餌に依頼していたりするので、信用できないんですよね。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfKUYyFEiqkQULmoEkTtz9ptABNhiGHUp3aybIcHtTkQV-ud44fZkOnbop3CKkhOknvF0uyy8MxDfSnnj8a1EtNofRKDpYb8bxyZaI-tI2a5OouTJUgcPIKI72v3GWFRirf5Ntwamyr9oHqin8VVdkJxJuB_Zxy4axMJyLx5-cPoGvgoq_g/s640/iphone13-mini-accessories.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone13 mini用のアクセサリー" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLfKUYyFEiqkQULmoEkTtz9ptABNhiGHUp3aybIcHtTkQV-ud44fZkOnbop3CKkhOknvF0uyy8MxDfSnnj8a1EtNofRKDpYb8bxyZaI-tI2a5OouTJUgcPIKI72v3GWFRirf5Ntwamyr9oHqin8VVdkJxJuB_Zxy4axMJyLx5-cPoGvgoq_g/s320/iphone13-mini-accessories.jpg"/></a></div>
<h3>液晶フィルム</h3>
<p>iPhone 13の背面カメラって、飛び出ているんですよね。カメラにも保護フィルムを貼りたいので、両方入っている商品を選択。</p>
<div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/g00u8mp1.cr1lz1b9.g00u8mp1.cr1m0ac5/kaereba_main_202209171715402841?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Falo-alo-online%2F4946528647221%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Falo-alo-online%2Fi%2F10037141%2F" target="_blank" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/alo-alo-online/cabinet/r_1660634031/4946528647221.jpg?_ex=128x128" style="border: none;" /></a></div><div class="kaerebalink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/g00u8mp1.cr1lz1b9.g00u8mp1.cr1m0ac5/kaereba_main_202209171715402841?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Falo-alo-online%2F4946528647221%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Falo-alo-online%2Fi%2F10037141%2F" target="_blank" >【2+2 セット·13 Mini】iphone13 mini ガラスフィルム + カメラフイルム 13 mini レンズフイルム 硬度9H 99%高透過率 飛散防止 自动</a><div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://kaereba.com" rel="nofollow" target="_blank">カエレバ</a></div></div><div class="kaerebalink-detail" style="margin-bottom:5px;"></div><div class="kaerebalink-link1" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/kaereba_main_202209171715402841?pc=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2Fiphone13%2520mini%2520%25E3%2582%25AC%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2595%25E3%2582%25A3%25E3%2583%25AB%25E3%2583%25A0%2520%25E3%2582%25AB%25E3%2583%25A1%25E3%2583%25A9%25E3%2583%2595%25E3%2582%25A4%25E3%2583%25AB%25E3%2583%25A0%252013%2520mini%2520%25E3%2583%25AC%25E3%2583%25B3%25E3%2582%25BA%25E3%2583%2595%25E3%2582%25A4%25E3%2583%25AB%25E3%2583%25A0%2520%25E7%25A1%25AC%25E5%25BA%25A69H%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0%26scid%3Daf_ich_link_urltxt&m=http%3A%2F%2Fm.rakuten.co.jp%2F" target="_blank" >楽天市場</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=iphone13%20mini%20%E3%82%AC%E3%83%A9%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%83%A0%20%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%95%E3%82%A4%E3%83%AB%E3%83%A0%2013%20mini%20%E3%83%AC%E3%83%B3%E3%82%BA%E3%83%95%E3%82%A4%E3%83%AB%E3%83%A0%20%E7%A1%AC%E5%BA%A69H&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&tag=kinkyou-22" target="_blank" >Amazon</a></div><div class="shoplinkyahoo" style="display:inline;margin-right:5px"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.shopping.yahoo.co.jp%2Fsearch%3Fp%3Diphone13%2520mini%2520%25E3%2582%25AC%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2595%25E3%2582%25A3%25E3%2583%25AB%25E3%2583%25A0%2520%25E3%2582%25AB%25E3%2583%25A1%25E3%2583%25A9%25E3%2583%2595%25E3%2582%25A4%25E3%2583%25AB%25E3%2583%25A0%252013%2520mini%2520%25E3%2583%25AC%25E3%2583%25B3%25E3%2582%25BA%25E3%2583%2595%25E3%2582%25A4%25E3%2583%25AB%25E3%2583%25A0%2520%25E7%25A1%25AC%25E5%25BA%25A69H" target="_blank" >Yahooショッピング</a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"></div></div></div><div class="booklink-footer" style="clear: left"></div></div>
<p>わかりにくいですが、ガイド枠には上下があります。すんなりiPhoneにはまらない場合、上下を確認してみてください。<br />
フィルムの位置決めは、ガイド枠があるのでまぁまぁ楽かなぁと。大きくずれるとガイド枠にひっかかってぴったりくっつかないので、枠に収まるようにやり直せばいい感じに貼れます。</p>
<h3>iPhone用ケース</h3>
<p>透明プラスティックのカチカチとした材質だと、落とした時に割れそうな気がします。ケースだけが割れるのであればいいのですが、衝撃を吸収しきれずにiPhoneに傷がつくと「何のためのケース?」ということになるので、やわらかいTPU素材を使った物を選ぶようにしています。</p>
<div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/g00u3l21.cr1lzd79.g00u3l21.cr1m045b/kaereba_main_202209171725059351?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fcoordinateaccess%2F2avd13jio6skex48%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fcoordinateaccess%2Fi%2F10005270%2F" target="_blank" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/coordinateaccess/cabinet/img0_mil0/oht_0/remval_45/2avd13jio6skex48.jpg?_ex=128x128" style="border: none;" /></a></div><div class="kaerebalink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/g00u3l21.cr1lzd79.g00u3l21.cr1m045b/kaereba_main_202209171725059351?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fcoordinateaccess%2F2avd13jio6skex48%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fcoordinateaccess%2Fi%2F10005270%2F" target="_blank" >Highend berry iPhone 13 mini ケース TPU ソフトケース スマホケース カメラレンズ保護 耐衝撃 クリア 透明 落下防止 ストラップホール付き</a><div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://kaereba.com" rel="nofollow" target="_blank">カエレバ</a></div></div><div class="kaerebalink-detail" style="margin-bottom:5px;"></div><div class="kaerebalink-link1" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/kaereba_main_202209171725059351?pc=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FHighend%2520berry%2520iPhone%252013%2520mini%2520%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B9%2520%25E3%2582%25AF%25E3%2583%25AA%25E3%2582%25A2%2520%25E9%2580%258F%25E6%2598%258E%2520TPU%2520%25E3%2582%25BD%25E3%2583%2595%25E3%2583%2588%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B9%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0%26scid%3Daf_ich_link_urltxt&m=http%3A%2F%2Fm.rakuten.co.jp%2F" target="_blank" >楽天市場</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=Highend%20berry%20iPhone%2013%20mini%20%E3%82%B1%E3%83%BC%E3%82%B9%20%E3%82%AF%E3%83%AA%E3%82%A2%20%E9%80%8F%E6%98%8E%20TPU%20%E3%82%BD%E3%83%95%E3%83%88%E3%82%B1%E3%83%BC%E3%82%B9&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&tag=kinkyou-22" target="_blank" >Amazon</a></div><div class="shoplinkyahoo" style="display:inline;margin-right:5px"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.shopping.yahoo.co.jp%2Fsearch%3Fp%3DHighend%2520berry%2520iPhone%252013%2520mini%2520%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B9%2520%25E3%2582%25AF%25E3%2583%25AA%25E3%2582%25A2%2520%25E9%2580%258F%25E6%2598%258E%2520TPU%2520%25E3%2582%25BD%25E3%2583%2595%25E3%2583%2588%25E3%2582%25B1%25E3%2583%25BC%25E3%2582%25B9" target="_blank" >Yahooショッピング</a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"></div></div></div><div class="booklink-footer" style="clear: left"></div></div>
<p>背面カメラの部分はちゃんと開いていて、上の液晶フィルムを貼ったカメラが引っかかるなんてことはありませんでした。すてきな梱包で送られてきましたけど。<p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi43FkWr6MRUPUnvCJ-QOn-oiZrvDDOynv0cJiShnUv0N3RQZ-acqai1afbVPVt4hya3FDilhVuXaMcGa7CoWOi6V5cMQkf51nAZxeQV6LDgvvByzkkfHqeOSW0n2EY5wua-NBckVoF9BhcpESSWW0_wCb1Ys-flsEapR9HuVV7e22x6XtXVg/s640/iphone13mini-case.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="iPhone 13 mini ケース TPU" border="0" height="320" data-original-height="640" data-original-width="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi43FkWr6MRUPUnvCJ-QOn-oiZrvDDOynv0cJiShnUv0N3RQZ-acqai1afbVPVt4hya3FDilhVuXaMcGa7CoWOi6V5cMQkf51nAZxeQV6LDgvvByzkkfHqeOSW0n2EY5wua-NBckVoF9BhcpESSWW0_wCb1Ys-flsEapR9HuVV7e22x6XtXVg/s320/iphone13mini-case.jpg"/></a></div>
<h2>速くなって快適</h2>
<p>iPhone 8でピクミンブルームをやっていると、ポストカードを選んでいるときに落ちたり、他のアプリから切り替えた時に操作できるようになるまでかなり間があったりと、結構ストレスでした。が、とりあえず、そういったことはなさそうです。<br />
iPhone 8を買ったのは3年半前でしたから、スペック的にはもう無理でしたね。最新版を買って3年使うか、前モデルを2年使うか。そのくらいのサイクルで買い替えて行くのが良さそうです。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://blog.hiroaki.home.group.jp/2019/01/iphone8.html" target="_blank"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi72rEGJShZjgDyu_-fgVIxABSpZnwUqqyO4DTgupiv_WwBNcYdhGjCrO_-FySgeF4xDzTeZ0acHOt7dh61N6W1atzxz1_sFWx5bg0zIHm87AHvnHvoir-xRhbrTRKpfUBdWWBy/w1200-h630-p-k-no-nu/iphone8-box.jpg" alt="iPhone8購入"></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://blog.hiroaki.home.group.jp/2019/01/iphone8.html" target="_blank">iPhone8購入</a></p><blockquote cite="https://blog.hiroaki.home.group.jp/2019/01/iphone8.html"><p class="blogcard-description">以前購入したモトローラ Moto G5sがポケモンGoをやるには遅くてまいっていたので、Appleの初売りと Rebates(リーベイツ)のポイントアップが重なったタイミングで購入。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://blog.hiroaki.home.group.jp/2019/01/iphone8.html" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiroaki.home.group.jp/2019/01/iphone8.html" alt="">blog.hiroaki.home.group.jp</a></div></div>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-45550709324767155172022-08-14T08:03:00.001+09:002022-08-14T08:11:27.815+09:00VSCode Remote ContainersでGoogle App Engine向けの環境を作る<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCFxRRsjMcbY_Fh5sBMOO4sn-phh0IjW3J7GGsp4Zu10zKW-pFPG26p9mmpgaIu19NdmgPA9SaKAJyoLPBNEYag-dMc7pl_cAAmATdQGFGf4JCfKmQl8J3yH9JOqxn9qaNYFXilfxNBGqfGvAbHppwiRV9xkS2MoJGqzluhBpcFVt-x4r8Q/s1600/terminal-php.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="801" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCFxRRsjMcbY_Fh5sBMOO4sn-phh0IjW3J7GGsp4Zu10zKW-pFPG26p9mmpgaIu19NdmgPA9SaKAJyoLPBNEYag-dMc7pl_cAAmATdQGFGf4JCfKmQl8J3yH9JOqxn9qaNYFXilfxNBGqfGvAbHppwiRV9xkS2MoJGqzluhBpcFVt-x4r8Q/s1600/terminal-php.jpg"/></a></div>
<p>Visual Studio CodeのRemote Containersは、開発に必要なツールをすべてコンテナに押し込めるため、手元の環境を汚さずに済みます。いくつも開発案件を掛け持ちして、PHPだRailsだPythonだとインストールした結果、アンインストールしたくても環境を壊しそうでできない!なんてことも回避できるでしょう。</p>
<h2>GoとGCP(App Engine)の環境</h2>
<p>App Engineで動くプログラムをGoで開発するとして、その環境をVS Codeで構築することにしました。プログラムの元ネタは
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://womenwhogotokyo.github.io/codelab/google-app-engine-go/?index=codelab#0" target="_blank">Google App Engine で Go を動かしてみよう</a></p><blockquote cite="https://womenwhogotokyo.github.io/codelab/google-app-engine-go/?index=codelab#0"><p class="blogcard-description">Google App Engine で Go を動かしてみよう</p></blockquote></div></div><div class="blogcard-footer"><a href="https://womenwhogotokyo.github.io/codelab/google-app-engine-go/?index=codelab#0" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://womenwhogotokyo.github.io/codelab/google-app-engine-go/?index=codelab#0" alt="">womenwhogotokyo.github.io</a></div></div>
です。<a href="https://github.com/hiroaki0404/codelab">hiroaki0404/codelab: Codelabs of Go by Women Who Go Tokyo organizers</a>にforkしました。</p>
<h2>Remote Containersでディレクトリを開く</h2>
<p>リポジトリをcloneしてきたディレクトリを、Visual Studio Codeで開きます。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiINnx80x_x9728riAGZGr3DAh5kLxjH-nNTHc4P-NUTjje_ZpsKOOI0iWbSAqQgaGp97gPOVmqJeAJBpHF7GoVDqMtCUZpH4UAWJ1bo-h_T6wXEKTpRP3POJvj4yIvQcaOQmnRGKQvDcPUJEQWPEr8zKv1sEM0jDkD36Bm_cOZV8iyZe691w/s1920/vscode-remotecontainer-go-1.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Visual Studio Codeでディレクトリを開く" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiINnx80x_x9728riAGZGr3DAh5kLxjH-nNTHc4P-NUTjje_ZpsKOOI0iWbSAqQgaGp97gPOVmqJeAJBpHF7GoVDqMtCUZpH4UAWJ1bo-h_T6wXEKTpRP3POJvj4yIvQcaOQmnRGKQvDcPUJEQWPEr8zKv1sEM0jDkD36Bm_cOZV8iyZe691w/s400/vscode-remotecontainer-go-1.png"/></a></div>
<p>画面左下の緑の部分をクリックするとコマンドパレットの部分に候補が表示されるので、「Reopen in Container」を選択。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlZ_UUqVuRTiG1j5Ng5O9Mm6MpWO54AOkEo8Rtgf-3pCRkkSl7fVXnj4Mnwdv7CElvTmJTXwaKuklXtEPzQpmkizU5iwWAorV254gcK7XSVkhqANQDW1jn4nmDdkM4Xi3J8arrNpY2lTG-GmohQ7R-kxMnYDgIwfAX0QXcbjoTkbyO3Jp9ng/s1920/vscode-remotecontainer-go-2.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Reopen in Container" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlZ_UUqVuRTiG1j5Ng5O9Mm6MpWO54AOkEo8Rtgf-3pCRkkSl7fVXnj4Mnwdv7CElvTmJTXwaKuklXtEPzQpmkizU5iwWAorV254gcK7XSVkhqANQDW1jn4nmDdkM4Xi3J8arrNpY2lTG-GmohQ7R-kxMnYDgIwfAX0QXcbjoTkbyO3Jp9ng/s400/vscode-remotecontainer-go-2.png"/></a></div>
<p>次の選択肢が表示されるので、「Go」を選択。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhABaxMf5KKPEHs36aGTFzgtnRLP8LnMOH8ra5IBpoQpCVQOpUy6tduzuq-Rsj0_FUescKzqmVjIp51ahSbxE_JdCwScIclztZ9izW3iw5iuE0UjriZIeA87t5JGKwov8TI25CqKAjazX89-C8CkvsQQeRNUSDSXEGQ4c8WFgNczLqhcpQHsQ/s1920/vscode-remotecontainer-go-3.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Go" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhABaxMf5KKPEHs36aGTFzgtnRLP8LnMOH8ra5IBpoQpCVQOpUy6tduzuq-Rsj0_FUescKzqmVjIp51ahSbxE_JdCwScIclztZ9izW3iw5iuE0UjriZIeA87t5JGKwov8TI25CqKAjazX89-C8CkvsQQeRNUSDSXEGQ4c8WFgNczLqhcpQHsQ/s400/vscode-remotecontainer-go-3.png"/></a></div>
<p>バージョンの選択肢が表示させるので、とりあえず「1.18-bullseye」を選択。App Engineでサポートしているのは1.16までなので、あとで修正します。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfF2Xhg60wQS9EutcE4wEH7RpFsrfvLBL8NL6ORCwf_2PHWWNorce0AIYkTAN59QOZf92YdXNLZpxNZhc69MkNlUc43qK34nOLKyshgd8ALRmLIU-l7_PXLC2gHokpYz5yLikehfsfehBbNJcrXt5CdF3BV1Yz1q9BDtptRHlTLJOAivNPnA/s1920/vscode-remotecontainer-go-4.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="1.18-bullseye" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfF2Xhg60wQS9EutcE4wEH7RpFsrfvLBL8NL6ORCwf_2PHWWNorce0AIYkTAN59QOZf92YdXNLZpxNZhc69MkNlUc43qK34nOLKyshgd8ALRmLIU-l7_PXLC2gHokpYz5yLikehfsfehBbNJcrXt5CdF3BV1Yz1q9BDtptRHlTLJOAivNPnA/s400/vscode-remotecontainer-go-4.png"/></a></div>
<p>Node.jsのバージョン。今回は使わないので、「none」を選択します。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Shi7Qlja6UiOX0ixqdK0GMxzwSFKUqs-4TYawlJ_d2QB8MeC1BvsgYp1zru_c7hVXane_7H3yTSKmO3QxL9uWgrDhDy8lydg4OhmVQtNtlgdgo5PEOYoj3YVefQIdgHP-zar1BzT6ehj6jOdMLPNcsFQ32eJiWoPvZObMDKcwBzNH718YA/s1920/vscode-remotecontainer-go-5.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Node.js - none" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Shi7Qlja6UiOX0ixqdK0GMxzwSFKUqs-4TYawlJ_d2QB8MeC1BvsgYp1zru_c7hVXane_7H3yTSKmO3QxL9uWgrDhDy8lydg4OhmVQtNtlgdgo5PEOYoj3YVefQIdgHP-zar1BzT6ehj6jOdMLPNcsFQ32eJiWoPvZObMDKcwBzNH718YA/s400/vscode-remotecontainer-go-5.png"/></a></div>
<p>追加でインストールするもの。残念ながらgcloudコマンドはないので、なにも選ばずにOKをクリックします。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2FKCJDSVzLBYWPvg5JPXbrD6yvvfcAC1KsfctSIbv6tOmiszA9Wxp6cAOpTSKNaS7pgzCa-ZVgmjTOEMiew_YPCm5uw3SIpebgWnRP_WoRhHp93iQizXiQsU2LOnLcxZQITYGHmSiAu-MBXw_Lymkvfy-xxo8kvQPTXcHIwW6Lue3rwosA/s1920/vscode-remotecontainer-go-6.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="additional features - none" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2FKCJDSVzLBYWPvg5JPXbrD6yvvfcAC1KsfctSIbv6tOmiszA9Wxp6cAOpTSKNaS7pgzCa-ZVgmjTOEMiew_YPCm5uw3SIpebgWnRP_WoRhHp93iQizXiQsU2LOnLcxZQITYGHmSiAu-MBXw_Lymkvfy-xxo8kvQPTXcHIwW6Lue3rwosA/s400/vscode-remotecontainer-go-6.png"/></a></div>
<p>リモートコンテナのビルドが始まります。しばらく待ちましょう。</p>
<h2>.devcontainerの設定ファイルを修正する</h2>
<p>ディレクトリを確認すると、.devcontainerが追加されています。<a href="https://github.com/hiroaki0404/codelab/tree/step1/.devcontainer">codelab/.devcontainer at step1 · hiroaki0404/codelab</a>にcommitしておきました。</p>
<p><a href="https://github.com/hiroaki0404/codelab/blob/step1/guestbook/app.yaml">guestbook/app.yaml</a>を見るとgo 1.16を指定しているので、リモートコンテナのGoも1.16にしましょう。<a href="https://github.com/hiroaki0404/codelab/blob/step1/.devcontainer/devcontainer.json#L11" target="_blank">この部分</a>を「1.16-bullseye」に修正します。</p>
<h2>MacとWindowsで差が出るのはgcloudコマンドが原因</h2>
<p>gcloudコマンドを使えるようにしましょう。既にある設定をコンテナ側でも使えるように、設定ファイルのディレクトリをコンテナ側から見えるようにします。設定ファイルのある場所の関係で、WindowsとMacとで設定内容が異なります。</p>
<h3>Windows向けの設定</h3>
<p> .devcontainer/devcontainer.json に<a href="https://github.com/hiroaki0404/codelab/blob/step2-windows/.devcontainer/devcontainer.json#L18" target="_blank">mountsの設定を追加</a>します。また、<a href="https://github.com/hiroaki0404/codelab/blob/step2-windows/.devcontainer/devcontainer.json#L47">remoteUserの設定を削除</a>して、コンテナ内ではgcloudコマンドの設定ファイルにrootユーザでアクセスするようにします。設定がコメントアウトされるので、<a href="https://github.com/hiroaki0404/codelab/blob/step2-windows/.devcontainer/devcontainer.json#L38">カンマを消す</a>必要があります。<br />
gcloudコマンドのインストールは、.devcontainer/Dockerfileで<a href="https://github.com/hiroaki0404/codelab/blob/step2-windows/.devcontainer/Dockerfile#L11" target="_blank">指定</a>します。Dockerの場合のインストール方法も公式ドキュメントに載っていますので、その通りにします。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://cloud.google.com/sdk/docs/install-sdk?hl=ja" target="_blank"><img src="https://cloud.google.com/_static/cloud/images/social-icon-google-cloud-1200-630.png?hl=ja" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://cloud.google.com/sdk/docs/install-sdk?hl=ja" target="_blank">クイックスタート: Google Cloud CLI をインストールする | Cloud SDK のドキュメント</a></p><blockquote cite="https://cloud.google.com/sdk/docs/install-sdk?hl=ja"><p class="blogcard-description">Google Cloud CLI をインストールして基本的な gcloud CLI コマンドを実行する方法を学習します。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://cloud.google.com/sdk/docs/install-sdk?hl=ja" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://cloud.google.com/sdk/docs/install-sdk?hl=ja" alt="">cloud.google.com</a></div></div>
<p>SDKもGo版を<a href="https://github.com/hiroaki0404/codelab/blob/step2-windows/.devcontainer/Dockerfile#L13">インストール</a>します。</p>
<p>ファイルを変更したら、<a href="#rebuild">リビルド</a>に進みましょう。</p>
<h3>Mac向けの設定</h3>
<p>Windowsと同様に、.devcontainer/devcontainer.json に<a href="https://github.com/hiroaki0404/codelab/blob/mac/.devcontainer/devcontainer.json#L20">mountの設定を追加</a>します。remoteUserの設定を削除するので、カンマに注意です。また、.devcontainer/Dockerfile に<a href="https://github.com/hiroaki0404/codelab/blob/mac/.devcontainer/Dockerfile#L11">gcloudコマンドをインストールする</a>設定を追加します。こちらはWindows向けと同じです。</p>
<h2 id="rebuild">.devcontainerのファイルを変更したらリビルド</h2>
<p>設定ファイルを変更したので、コンテナをリビルドします。<br />
画面左下の緑の部分をクリックして、コマンドパレットの部分から「Rebuild Container」を選択します。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9icd_Yl1TkND7AiIe2Tji3JqZBkgCZyuRMnRDg4uZ-nqlcSIM8Nu4V6274EzayDWItWkCMwIY0XUKA8v-GxW3_P9pYibyXtumMHBi_Wge41qMKg9wEUCPLVcO9ttXbQF_ImnG4jHn7ycLq9v3wMpKDntvpm2T-uzWfjuIuJUIUS3bnpZeWw/s1920/vscode-remotecontainer-go-7.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="1034" data-original-width="1920" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9icd_Yl1TkND7AiIe2Tji3JqZBkgCZyuRMnRDg4uZ-nqlcSIM8Nu4V6274EzayDWItWkCMwIY0XUKA8v-GxW3_P9pYibyXtumMHBi_Wge41qMKg9wEUCPLVcO9ttXbQF_ImnG4jHn7ycLq9v3wMpKDntvpm2T-uzWfjuIuJUIUS3bnpZeWw/s400/vscode-remotecontainer-go-7.png"/></a></div>
<h2>リモートコンテナ側で確認</h2>
<p>コンテナのリビルドが終わったら、確認しましょう。<br />
VSCodeでターミナルを開いて、<code>go version</code>としてバージョンが1.16になっているか、確認します。</p>
<p>問題がなければ<a href="https://womenwhogotokyo.github.io/codelab/google-app-engine-go/?index=codelab#5">Google App Engine で Go を動かしてみよう</a>の6ページ目から進めましょう。</p>
<h2>gcloudの設定ファイルはなんとかならないか</h2>
<p>WindowsとMacでファイルの場所が違うし、コンテナにmountするとrootでないとアクセスできないし、もう一息といった気がします。<br />
でも、Windows側でリンクを張ってMacと同じようにすればいいのかな?コンテナ内でのユーザがrootになってしまうのも、開発環境ということで割り切っていいのかも。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-62221265032544244702022-07-24T17:20:00.001+09:002022-12-27T08:01:03.243+09:00ヒロタのシューアイス<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn9YtC6bhvd6I7KOK2wYfH2k_wHosFmk7O7EYgYyl9XSlFFiKzonJ1nPcax0SN4cRUHTUujXlF0M1uUEG7FsIXbKvuGXHQp-cqfRJQYr8IpaAozamO0lVE5uB6JWSOO9wm664Q3qRs-VAn1UQIvzE8NhjVfK9Fw7ImTbLSB-Fh52OkB2s9iA/s1600/hirota-chou-cream-3.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="900" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn9YtC6bhvd6I7KOK2wYfH2k_wHosFmk7O7EYgYyl9XSlFFiKzonJ1nPcax0SN4cRUHTUujXlF0M1uUEG7FsIXbKvuGXHQp-cqfRJQYr8IpaAozamO0lVE5uB6JWSOO9wm664Q3qRs-VAn1UQIvzE8NhjVfK9Fw7ImTbLSB-Fh52OkB2s9iA/s1600/hirota-chou-cream-3.jpg"/></a></div>
<p>ヒロタといえばシュークリームだったのですが、夏は冷たいシューアイス!表参道にヤボ用(Appleストア)があったので、帰りに買いました。</p>
<h2>エチカ表参道の洋菓子のヒロタで購入</h2>
<p>行ってみればわかるのですが、エチカ表参道のお店といっても乗り換え通路の片隅にある小さな販売スペース。でも、表参道だから賃料はすごいんだろうなぁ。</p>
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.echika-echikafit.com/shop/omotesando/omt12" target="_blank">洋菓子のヒロタ エチカ表参道店</a></p><blockquote cite="https://www.echika-echikafit.com/shop/omotesando/omt12"><p class="blogcard-description">洋菓子のヒロタ エチカ表参道店</p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.echika-echikafit.com/shop/omotesando/omt12" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.echika-echikafit.com/shop/omotesando/omt12" alt="">www.echika-echikafit.com</a></div></div>
<p>支払いはQuicPayでもOKなので、エポスカード - MIXI Mのパターンで支払うことにしている人でも大丈夫。</p>
<p>持ち歩き時間30分までならドライアイスを無料でつけてくれるので、シューアイスのテイクアウトでも安心です。</p>
<h2>基本はバニラ</h2>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-iTc4B-6wK6VVI45Joaz8tIDO8oOZA4wkFvq7Vo7GqnJDgjwjVuz8I-bqD1uh0nMphivMXzEiZKYKWKy3Dr1ABGgrLljB2pkv2wHAKgXB1lZ41BNLrGCEsrDNk6WFxA-Ow8bF2tBNKq_zGMGM2MONp6xO8MuUEfE25Af_AXF6_6Dvx5arw/s640/hirota-chou-ice-vanilla.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-iTc4B-6wK6VVI45Joaz8tIDO8oOZA4wkFvq7Vo7GqnJDgjwjVuz8I-bqD1uh0nMphivMXzEiZKYKWKy3Dr1ABGgrLljB2pkv2wHAKgXB1lZ41BNLrGCEsrDNk6WFxA-Ow8bF2tBNKq_zGMGM2MONp6xO8MuUEfE25Af_AXF6_6Dvx5arw/s320/hirota-chou-ice-vanilla.jpg"/></a></div>
<p>バニラです。奇をてらわず、定番は抑えましょう。</p>
<h2>チョコはアイスよりもシュークリームが好み</h2>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglheRggHrsXrpFRa7ryqhZwpbNmvxczx9ADTEhwKivEkfrUVW6htp07nxZH6hg_CJTqKoEkpU-jFnJ7WaH3uaBp-8svxqGtaVK_GXL1DoKD9iEVBcK8dq51jmP7skXEBcLw6vSAQDsC8NfFTs6BS9wc_1HOSHVfXPqb5aLB5PmFovspONLMg/s640/hirota-chou-ice-chocolate.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglheRggHrsXrpFRa7ryqhZwpbNmvxczx9ADTEhwKivEkfrUVW6htp07nxZH6hg_CJTqKoEkpU-jFnJ7WaH3uaBp-8svxqGtaVK_GXL1DoKD9iEVBcK8dq51jmP7skXEBcLw6vSAQDsC8NfFTs6BS9wc_1HOSHVfXPqb5aLB5PmFovspONLMg/s320/hirota-chou-ice-chocolate.jpg"/></a></div>
<p>チョコレートらしさを味わうのであれば、シューアイスよりもシュークリームの方がよさそうです。チョコレートのコッテリしつつも滑らかな舌触りは、アイスではちょっと厳しい。</p>
<h2>ヨーグルトはさっぱり</h2>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirC7acw9Lcn-w31kCuyzOPX9C3W5aISpZ7ixQUX0qCrVex3rBpHj9vitOtQeCuOfyuPb7YvbMFEHZVEcSc05THUOncV-A54-tRQI4ybxdgzG9EoMyXntaw5tO_J3DRcsPrwSduTPq7xVeZXk_8vPmva8bL-VN4T965zK6iyakzlFz0QUKbyg/s640/hirota-chou-ice-yogurt.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="480" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirC7acw9Lcn-w31kCuyzOPX9C3W5aISpZ7ixQUX0qCrVex3rBpHj9vitOtQeCuOfyuPb7YvbMFEHZVEcSc05THUOncV-A54-tRQI4ybxdgzG9EoMyXntaw5tO_J3DRcsPrwSduTPq7xVeZXk_8vPmva8bL-VN4T965zK6iyakzlFz0QUKbyg/s320/hirota-chou-ice-yogurt.jpg"/></a></div>
<p>アイスはちょっと重いなぁという人には、ヨーグルトがおススメ。弱い酸味がさっぱりとした後味を演出してくれます。</p>
<h2>通販があるじゃないか</h2>
<p>「表参道なんて通らないし」「わざわざヒロタに行くのもねぇ」なんてのは、いらぬ心配。オンラインショップが楽天市場にありました。</p>
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://hb.afl.rakuten.co.jp/hgc/29db8243.c6f20c44.29db8244.06d620a0/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fhirota-online%2Fc%2F0000000101%2F&link_type=hybrid_url&ut=eyJwYWdlIjoidXJsIiwidHlwZSI6Imh5YnJpZF91cmwiLCJjb2wiOjF9" target="_blank">【楽天市場】ヒロタのシューアイス:ヒロタ・オンライン・ショップ</a></p><blockquote cite="https://hb.afl.rakuten.co.jp/hgc/29db8243.c6f20c44.29db8244.06d620a0/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fhirota-online%2Fc%2F0000000101%2F&link_type=hybrid_url&ut=eyJwYWdlIjoidXJsIiwidHlwZSI6Imh5YnJpZF91cmwiLCJjb2wiOjF9"><p class="blogcard-description">楽天市場:ヒロタ・オンライン・ショップのヒロタのシューアイス一覧。楽天市場は、セール商品や送料無料商品など取扱商品数が日本最大級のインターネット通販サイト</p></blockquote></div></div><div class="blogcard-footer"><a href="https://hb.afl.rakuten.co.jp/hgc/29db8243.c6f20c44.29db8244.06d620a0/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fhirota-online%2Fc%2F0000000101%2F&link_type=hybrid_url&ut=eyJwYWdlIjoidXJsIiwidHlwZSI6Imh5YnJpZF91cmwiLCJjb2wiOjF9" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://item.rakuten.co.jp/hirota-online/c/0000000101/" alt="">item.rakuten.co.jp</a></div></div>
<p>シュークリームはマルエツとかOdakyu OXとかで見かけるけど、シューアイスは見かけないです。が、ネットショップで買えるなら、入手に困ることはないですね♪</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-32953453413432879522022-04-15T08:49:00.001+09:002022-08-14T08:56:40.150+09:00Windows TerminalでWSLのUbuntuが立ち上がらなくなった<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaocJC71QYH6oIQKNj2p44ut1p_8DcbIcIpT7zri9acraTXud6ZNI00aa-QjX09zNETGOLfB4u8b7MvT3X_LH7QrQHdrvAjkoaKC_SdXj8zXG8Ono3tnW8PNn4laO5x8_qvi-KgAbnQi7Tb02H-_YWPLN98ruvmg2CwU8TVrWP3--5O-8TMA/s1600/error-message.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="801" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaocJC71QYH6oIQKNj2p44ut1p_8DcbIcIpT7zri9acraTXud6ZNI00aa-QjX09zNETGOLfB4u8b7MvT3X_LH7QrQHdrvAjkoaKC_SdXj8zXG8Ono3tnW8PNn4laO5x8_qvi-KgAbnQi7Tb02H-_YWPLN98ruvmg2CwU8TVrWP3--5O-8TMA/s1600/error-message.jpg"/></a></div>
Windows TerminalのメニューからWSLのUbuntuを選んで立ち上げようとしたところ、エラーになって立ち上がらなくなりました。
<h2>Windows Terminalの仕様変更が原因らしい</h2>
<p>Windowsターミナルのバージョンアップで、仕様が変わったとあります。
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/troubleshooting#set-your-wsl-distribution-to-start-in-the-home--directory-when-launched" target="_blank"><img src="https://docs.microsoft.com/en-us/media/logos/logo-ms-social.png" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/troubleshooting#set-your-wsl-distribution-to-start-in-the-home--directory-when-launched" target="_blank">Windows ターミナルのトラブルシューティング</a></p><blockquote cite="https://docs.microsoft.com/ja-jp/windows/terminal/troubleshooting#set-your-wsl-distribution-to-start-in-the-home--directory-when-launched"><p class="blogcard-description">Windows ターミナルでの一般的な障害の修正について説明します。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/troubleshooting#set-your-wsl-distribution-to-start-in-the-home--directory-when-launched" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://docs.microsoft.com/ja-jp/windows/terminal/troubleshooting#set-your-wsl-distribution-to-start-in-the-home--directory-when-launched" alt="">docs.microsoft.com</a></div></div>
startingDirectoryの設定を見直す必要がありそうです。<p>
<h2>startingDirectory(開始ディレクトリ)を変更する</h2>
<p>設定を修正します。JSONファイルではなく、設定画面から修正します。<br />
Windowsターミナルで設定画面を開きます。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitk5mktboONewLyspL6l2XReNRAtZcjS_3hGulQh4eB97AFMlDpcf4k-enE8NNFzI1qCp-JwLb0QGbLJoKejoGvHGLGAEwNrwr8aOs9Wy4uHUBuekg6La5K7Cfg9vNmfYE7p5w0-nmmJZyueM3u-bLKqelr1-MUeTpobLj_ejMXQxgJ3vjSw/s742/windows-terminal_settings-1.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitk5mktboONewLyspL6l2XReNRAtZcjS_3hGulQh4eB97AFMlDpcf4k-enE8NNFzI1qCp-JwLb0QGbLJoKejoGvHGLGAEwNrwr8aOs9Wy4uHUBuekg6La5K7Cfg9vNmfYE7p5w0-nmmJZyueM3u-bLKqelr1-MUeTpobLj_ejMXQxgJ3vjSw/s400/windows-terminal_settings-1.png"/></a></div><br />
画面左側に表示されているプロファイルから、<b>Ubuntu</b>を選びます。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbT7PbsRFG2f6MYpRBw9sxgswSduWTiyfUfh5m556Bt6rsjE6Q2HAYZS_1rQ16NAzfVbN2rmheEMaaCBtnd-_1XlpyaYsrNfD1254YUoYq3T4GwFHx6tPIE-6CmhsilSUYJGpe-FvIs-Z-HGTeIioOpm7VhaQR1Yv6o9NcMGEEgSR-FQ0NCA/s1732/wt-profile-ubuntu.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="950" data-original-width="1732" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbT7PbsRFG2f6MYpRBw9sxgswSduWTiyfUfh5m556Bt6rsjE6Q2HAYZS_1rQ16NAzfVbN2rmheEMaaCBtnd-_1XlpyaYsrNfD1254YUoYq3T4GwFHx6tPIE-6CmhsilSUYJGpe-FvIs-Z-HGTeIioOpm7VhaQR1Yv6o9NcMGEEgSR-FQ0NCA/s400/wt-profile-ubuntu.png"/></a></div><br />
開始ディレクトリを設定します。Ubuntuを起動した直後のディレクトリを指定することになりますが、<code>%USERPROFILE%</code>でよいでしょう。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjol6P9hyEKEty4yCeEd-qmA0lzG0oX1lIBOsqjeYbwxvXn389a0VBzIbrFIpQWtWTK2GXg9qhM2vpWIo_0m5FgKyxaMLgwOzxxbaS_wrMeIOLYqhyKeJJggRzgfpYHPtdPaZhpguh0DfwPkYayes5s6T2bFiBYWMRxrun7kB0aAJo8mSVcQA/s1732/wt-profile-ubuntu-starting-directory.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="950" data-original-width="1732" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjol6P9hyEKEty4yCeEd-qmA0lzG0oX1lIBOsqjeYbwxvXn389a0VBzIbrFIpQWtWTK2GXg9qhM2vpWIo_0m5FgKyxaMLgwOzxxbaS_wrMeIOLYqhyKeJJggRzgfpYHPtdPaZhpguh0DfwPkYayes5s6T2bFiBYWMRxrun7kB0aAJo8mSVcQA/s400/wt-profile-ubuntu-starting-directory.png"/></a></div><br />
画面右下の保存ボタンを押して、変更を反映させます。</p>
<p>Windows TerminalからUbuntuのプロファイルを選択して、問題なく立ち上がることを確認します。</p>
<br >
<p>びっくりしましたが、トラブルシューティングのページに載っていて助かりました。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-28964201544670040082022-01-05T20:50:00.000+09:002022-01-05T20:50:24.213+09:002022年年賀状<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjkqBjm8S2mM3sCSkFEU_DGYD0JiQ5N8gd2souXxn20SdrqbDmcvUT7APnG1-dtQkVd8-NSrGExjrjzYyAFKnlq95UxEUWDIZkmkz0iK_6AcTKLY8cKshukTLX3qgytJw8XHfFj0gWWnQSPwRR33FsXEA5-yrYu3bO5x3MyZ9pTWBQw5d4O0g=s420" style="display: block; padding: 1em 0; text-align: center; "><img alt="2022年年賀状" border="0" height="400" data-original-height="420" data-original-width="284" src="https://blogger.googleusercontent.com/img/a/AVvXsEjkqBjm8S2mM3sCSkFEU_DGYD0JiQ5N8gd2souXxn20SdrqbDmcvUT7APnG1-dtQkVd8-NSrGExjrjzYyAFKnlq95UxEUWDIZkmkz0iK_6AcTKLY8cKshukTLX3qgytJw8XHfFj0gWWnQSPwRR33FsXEA5-yrYu3bO5x3MyZ9pTWBQw5d4O0g=s400"/></a></div>
<p>本年もよろしくお願いします。</p>
<p>昨年同様、無地の年賀はがきの手配に失敗したので、Webで代用させていただきます(_o_)</p>
<p>新しい職場がそれなりに忙しいのか、単にお酒に弱くなっただけなのか、夕食後にすぐ寝てしまうことが多くなりました。ブログの更新がなかなかできていませんが、マイペースで続けていきます。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-81485785792765969072021-07-11T11:51:00.002+09:002022-09-23T07:10:14.903+09:00Windows Terminalはsshクライアントとしても使える<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgolLHJVWYIdSLLEbVbHVfCzOI2SfiYKHtT0hpzzNiEm95LcLVfHvH67plxR0Xftfhi_2P7UNAz_PbJoIyMauvpyNZ3JS2mAMi-NW9l3zAdQ1NPKPLiuURtX3P1EwrSXvzAJ4k8/s1200/terminal-php.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="801" data-original-width="1200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgolLHJVWYIdSLLEbVbHVfCzOI2SfiYKHtT0hpzzNiEm95LcLVfHvH67plxR0Xftfhi_2P7UNAz_PbJoIyMauvpyNZ3JS2mAMi-NW9l3zAdQ1NPKPLiuURtX3P1EwrSXvzAJ4k8/s600/terminal-php.jpg"/></a></div>
<p>Windows環境で生活しようとすると、Terminalをどうすればよいか悩みます。会社マシンだとMacを選べないケースも多く、「サーバにログインするためだから」と割り切る必要もありました。しかし、この問題もWindows Terminalで解決できそうです。おまけに、「まだ<a href="https://www.putty.org/" target="_blank">PuTTY</a>使わないとだめ?」「<a href="https://ttssh2.osdn.jp/" target="_blank">Tera Term</a>どうなったっけ?」といった<a href="https://www.openssh.com/" target="_blank">ssh</a>クライアントの問題も、なんとかなりそうです。</p>
<h2>インストールはMicrosoft Storeから</h2>
<p>Microsoft Storeからダウンロードしましょう。Preview版じゃなくて大丈夫です。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab" target="_blank"><img src="https://store-images.s-microsoft.com/image/apps.34065.13926773940052066.8978812d-6c65-429b-835d-2cecd178e2d7.3b5795a0-e24b-46a4-bfb3-f2d832f1d7e7?w=120&h=120&q=60" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab" target="_blank">Windows Terminal を入手 - Microsoft Store ja-JP</a></p><blockquote cite="https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab"><p class="blogcard-description">Windows 10 向けの Microsoft Store からこのアプリをダウンロードします。スクリーンショットを確認し、最新のカスタマー レビューを読んで、Windows Terminal の評価を比較してください。 </p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab" alt="">www.microsoft.com</a></div></div>
<h2>設定はsettings.jsonを触らずにGUIからできる</h2>
<p>活発に開発が行われているからなのでしょう。ググってみると、settings.json を編集している記事を見かけます。今では、Git Bashを使うとか、sshクライアントにするとか、色の設定とか、たいていのことは設定画面でできるようになっています。</p>
<h3>Git Bashを使う</h3>
<p>Windows Terminalで起動するシェル、PowerShellとかコマンドプロンプトとか用意されていますけど、Git Bashも使えるようにしたいというのは当然でしょう。最近の<a href="https://gitforwindows.org/" target="_blank">Git for Windows</a>だと、インストール中にWindows Terminal用のプロファイルを作るかどうか聞いてくるので、そこで作ればWindows Terminalのメニューから選ぶだけです。<br />
作らずにスキップしてしまった?大丈夫、プロファイルを作ればよいのです。</p>
<h3 id="mkprofile">プロファイルを作る</h3>
<p>Windows Terminalの中で何を動かすかは、プロファイルで指定します。プロファイルは、設定画面で追加できますので、Git Bashはもちろん、sshを動かすことも可能です!</p>
<h4>1. メニューから設定を選択する</h4>
<p>画面上部、タブのところにあるvマーク(下の図で青で囲んだ部分)をクリックすると、メニューが表示されます。赤で囲んだように、設定という項目があるので、それを選択します。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtLXn0Trn9XSzprENN0BvcLzVzY1p7qaMt_tDw4kNSw3L9-RYW-egTPZCaPsK2gXmmux1cD_jzVbvjAtGsp9yjtsl_xD9kXUbhqKFaqRsqSZf8JvIjSc9LAMM6MyqOO_ZIobX/s742/windows-terminal_menu.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal メニュー" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtLXn0Trn9XSzprENN0BvcLzVzY1p7qaMt_tDw4kNSw3L9-RYW-egTPZCaPsK2gXmmux1cD_jzVbvjAtGsp9yjtsl_xD9kXUbhqKFaqRsqSZf8JvIjSc9LAMM6MyqOO_ZIobX/s400/windows-terminal_menu.png"/></a></div>
<h4>2. 新規追加を選択</h4>
<p>設定画面の左側のエリアを下にスクロールさせると、新規追加という項目があるので、それを選択します。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNP5E_NGxewaRtNN8p1HU6rpUIQtF9UUeiqQ1ZYBOo9s8Vr0wJZUf3lR8kt4Na3jw64ETiuvHpk6RLDYMHczjA17vKnBhLMgmxPN0jb84Sa_Y7TMBKgOBcPlCoSjp2mYuh2D6P/s742/windows-terminal_settings-1.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal 設定画面" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNP5E_NGxewaRtNN8p1HU6rpUIQtF9UUeiqQ1ZYBOo9s8Vr0wJZUf3lR8kt4Na3jw64ETiuvHpk6RLDYMHczjA17vKnBhLMgmxPN0jb84Sa_Y7TMBKgOBcPlCoSjp2mYuh2D6P/s400/windows-terminal_settings-1.png"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSCdjOhD5Gjm3r52gZgU-swDKocFj_G6hPUByDbIKLPVxTXpJckU6HRHFyQhqNtntEXonv0hzbChZ1w0LMkr3aS2ROB7pjymZ3lOnTCl18qI3E5NcuxQzsa8RHy5VwWi0Y6_VU/s742/windows-terminal_settings-2.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal Profile追加メニュー" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSCdjOhD5Gjm3r52gZgU-swDKocFj_G6hPUByDbIKLPVxTXpJckU6HRHFyQhqNtntEXonv0hzbChZ1w0LMkr3aS2ROB7pjymZ3lOnTCl18qI3E5NcuxQzsa8RHy5VwWi0Y6_VU/s400/windows-terminal_settings-2.png"/></a></div>
<h4>3. Profileを設定する</h4>
<p>新しくProfileが作られ、全般タブが開きます。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_OgXm_dUIk2YCoOqIw6W7Sjd4mpQzFzYyjcSR2MEZh0w5YvOFDW9msAR_wfZKn3uhnQv3bZhGo5rnF39hPZgthyphenhyphencVz-sinFwZloOH8EUJwmtO9mq6nyCp6S6lR2WT4Lbs374/s742/windows-terminal-profile-general.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal Profile画面 全般タブ" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_OgXm_dUIk2YCoOqIw6W7Sjd4mpQzFzYyjcSR2MEZh0w5YvOFDW9msAR_wfZKn3uhnQv3bZhGo5rnF39hPZgthyphenhyphencVz-sinFwZloOH8EUJwmtO9mq6nyCp6S6lR2WT4Lbs374/s400/windows-terminal-profile-general.png"/></a></div>
<p>プロファイル名など設定します。「コマンドライン」にbash.exeを指定すれば、Git Bashが起動します。ssh.exe とそのパラメータを指定すれば、PuTTYなどの代わりになります!<br />
「役職」?Titleの誤訳でしょう。タブの耳のところに表示される文字列を指定します。</p>
<p>図だとわかりにくいですが、下にスクロールさせると隠れていた設定項目が出てきます。</p>
<p>次に見た目を調整しましょう。<b>外観のタブ</b>をクリックします。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6LIw_JhU9Sb7ahnCRGKCoJqNvVMbZ8zbB1sNmIEJstcR1P_K9lHOIWr7nALbrMbN2G4FiKBVIXqK19X7Hj6DP4lQzcB-PrqKPnqgmGSSjgIVTtdYCh3ws8RjiRUMQHCDUr_7s/s742/windows-terminal-profile-appearance.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal Profile画面 外観タブ" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6LIw_JhU9Sb7ahnCRGKCoJqNvVMbZ8zbB1sNmIEJstcR1P_K9lHOIWr7nALbrMbN2G4FiKBVIXqK19X7Hj6DP4lQzcB-PrqKPnqgmGSSjgIVTtdYCh3ws8RjiRUMQHCDUr_7s/s400/windows-terminal-profile-appearance.png"/></a></div>
<p>色とかフォントとか背景とか、見た目に関する設定を行います。</p>
<p>最後に、その他もろもろは<b>詳細設定のタブ</b>で。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmN6QYqQvkM-xV7PfnaHG9rNQTnsaO4wN1t3D7RDU7DytXYK4HxkBorf0K1yGd4QR2CPbhHWsTkzEfnWGdgRssoICrAe4K-jcLbGcaXpMuE3LMIvZ4v5i3_qrpzK42f8vf1Cd3/s742/windows-terminal-profile-details.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminal Profile画面 詳細設定タブ" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmN6QYqQvkM-xV7PfnaHG9rNQTnsaO4wN1t3D7RDU7DytXYK4HxkBorf0K1yGd4QR2CPbhHWsTkzEfnWGdgRssoICrAe4K-jcLbGcaXpMuE3LMIvZ4v5i3_qrpzK42f8vf1Cd3/s400/windows-terminal-profile-details.png"/></a></div>
<p>「プロファイルの終了動作」は、bash.exeやPowerShellといった、指定したコマンドが終了したときのWindows Terminalの動きを指定します。仕事で使う場合は「自動的に閉じない」が安全ですね。<br />
「ベル通知スタイル」も考えて設定しましょう。会議中の内職などで音が鳴っては困るシーンもあるでしょうし。</p>
<h2>sshクライアント</h2>
<p><a href="#mkprofile">プロファイルを作成する</a>でもふれたように、ターミナル内で起動するコマンドを指定できます。なので、「コマンドライン」にsshと起動オプションを指定してあげれば、sshクライアントに早変わり。</p>
<p>接続するIPとかポート番号とか、都度指定したいというのであれば、普通にコマンドプロンプトなりGit Bashなりを起動してからsshすればよいのでは?</p>
<h2>プロファイルの内容を変更する</h2>
<p>プロファイル作成時に色やフォントなどの設定を行えました。もちろん、一度作成したプロファイルの内容を変更できます。</p>
<p>設定画面を開いて、変更したいプロファイルを選択。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh24tBRFfFmggDGsXlf-Df_Sq5T_Aos6RMt_zWG85lIviOh_Iz8RrDwU5flvkiimRqSyHLPu1joSV7m66kysEQkGyydtiop258proBJ2SLw8BE0H53C6BOliwLnvvKhuzwYuREw/s742/windows-terminal-profile-modify.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Windows Terminai Profile変更" border="0" width="400" data-original-height="394" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh24tBRFfFmggDGsXlf-Df_Sq5T_Aos6RMt_zWG85lIviOh_Iz8RrDwU5flvkiimRqSyHLPu1joSV7m66kysEQkGyydtiop258proBJ2SLw8BE0H53C6BOliwLnvvKhuzwYuREw/s400/windows-terminal-profile-modify.png"/></a></div>
<p>「全般」「外観」「詳細設定」の各項目を変更したら、画面右下の保存ボタンで変更を保存します。</p>
<h2>公式ドキュメント</h2>
<p>一度、公式ドキュメントを読んでおきましょう。<a href="https://www.hanselman.com/blog/whats-the-difference-between-a-console-a-terminal-and-a-shell" class="previewlink" target="_blank" rel="noopener">コンソール、ターミナル、シェルの違いとは</a>を説明したブログ記事へのリンクもあります。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/" target="_blank"><img src="https://docs.microsoft.com/en-us/media/logos/logo-ms-social.png" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/" target="_blank">Windows ターミナルの概要</a></p><blockquote cite="https://docs.microsoft.com/ja-jp/windows/terminal/"><p class="blogcard-description">Windows ターミナルの概要と、それによってコマンド ライン ワークフローを改善する方法について説明します。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://docs.microsoft.com/ja-jp/windows/terminal/" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://docs.microsoft.com/ja-jp/windows/terminal/" alt="">docs.microsoft.com</a></div></div>
<h2>Terminal問題解決?</h2>
<p>少しずつ改良されているとはいえ何か微妙だったコマンドプロンプト、ある日現れてきたけどわざわざ覚えるのもなぁという感じのPowerShellと、Windowsでターミナルを使おうとしても微妙なものばかりでしたが、Windows Terminalでひとまず解決しそうです。仕事マシンがMacでなくても、しばらくはやっていけるでしょう。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-67695273818267740822021-01-04T14:39:00.002+09:002021-01-04T14:47:57.450+09:002021年年賀状<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOdzWKQINSsqk3mghSkVxGDvOvtmnAX4Pxmr-4QsUfIqWar3LqMcI8-t6QU1HfY8gxwSGIMRU5IwoFmmhbyswHXYDdNO68JkwVFpSL9NBN_qIJym5JckU9NBIOug10DmhecQPR/s420/2021-nenga.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="420" data-original-width="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOdzWKQINSsqk3mghSkVxGDvOvtmnAX4Pxmr-4QsUfIqWar3LqMcI8-t6QU1HfY8gxwSGIMRU5IwoFmmhbyswHXYDdNO68JkwVFpSL9NBN_qIJym5JckU9NBIOug10DmhecQPR/s320/2021-nenga.jpg"/></a></div>
<p>今年もよろしくお願いします。<br />
無地の年賀はがきは売り切れで入手できなかったので、物理的な年賀状は省略させていただきます (_o_)</p>
<p>今年は、長年プログラムを書いてきた経験を投資関係に生かしていきたいと思っています。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-22898709610172967202020-10-30T20:02:00.002+09:002020-10-30T20:02:54.346+09:00Apache HttpClientでKeep-Aliveを設定する<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdtqijLcTtey6iJihser8LVSS-5XH_rwFVTCbBOOV7uogJvOL_NnPrPBnm2Xg2ibChP4OukTViK4H-77ysE_Dw3dbHW7BRrM6ObC1MZUw17Pat2oQd1YHrsNC-AhcKCHN01_Rd/s640/feather.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="427" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdtqijLcTtey6iJihser8LVSS-5XH_rwFVTCbBOOV7uogJvOL_NnPrPBnm2Xg2ibChP4OukTViK4H-77ysE_Dw3dbHW7BRrM6ObC1MZUw17Pat2oQd1YHrsNC-AhcKCHN01_Rd/s600/feather.jpg"/></a></div>
<p>プログラムから外部のWeb APIを呼び出すことはよくあることで、HttpURLConnectionクラスを使ったり、<a href="https://square.github.io/okhttp/" class="previewlink" target="_blank" rel="noopener">OkHttp</a>などのライブラリを使ったりするようです。ちょっと古い?<a href="https://hc.apache.org/httpcomponents-client-4.5.x/index.html" class="previewlink" target="_blank" rel="noopener">HttpClient</a>を使っているプロジェクトで、HTTPのKeep Aliveを見直す必要があったので簡単にまとめます。</p>
<h2>Apache HttpComponents</h2>
<p>Apache Http Clientなんて聞きましたが、今では<a href="https://hc.apache.org/index.html" class="previewlink" target="_blank" rel="noopener">Apache HttpComponents</a>というようです。バージョンが上がるときにAPIが大きく変わったことがあるらしく、どのバージョンについて説明している記事か確認するように気をつけましょう。この記事では4.5について説明します。
</p>
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://hc.apache.org/httpcomponents-client-4.5.x/index.html" target="_blank">Apache HttpComponents – HttpComponents HttpClient Overview</a></p><blockquote cite="https://hc.apache.org/httpcomponents-client-4.5.x/index.html"><p class="blogcard-description">Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. HttpClient seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations.</p></blockquote></div></div><div class="blogcard-footer"><a href="https://hc.apache.org/httpcomponents-client-4.5.x/index.html" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://hc.apache.org/httpcomponents-client-4.5.x/index.html" alt="">hc.apache.org</a></div></div>
<h2>HTTP Keep-Alive</h2>
<p>HTTPはステートレスなプロトコルなので、毎回サーバに繋いで処理が終わったら切断して、というのが基本です。が、いちいち繋ぎなおすのは効率がよくないため、接続しっぱなしにする、Keep-Aliveという仕組みがあります。<a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010301549339239?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16258098%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >Real World HTTP</a>を読んでみるのがよいでしょう。</p>
<br />
<div class="booklink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="booklink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010301549339239?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16258098%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9038/9784873119038.jpg?_ex=200x200" style="border: none;" /></a></div><div class="booklink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="booklink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010301549339239?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16258098%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >Real World HTTP 第2版</a><div class="booklink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://yomereba.com" rel="nofollow" target="_blank">ヨメレバ</a></div></div><div class="booklink-detail" style="margin-bottom:5px;">渋川 よしき オライリー・ジャパン 2020年04月21日頃 </div><div class="booklink-link2" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px;background: url('//img.yomereba.com/yl.gif') 0 -50px no-repeat;padding: 2px 0 2px 18px;white-space: nowrap;"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010301549339239?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16258098%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" rel="nofollow" >楽天ブックスで購入</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px;background: url('//img.yomereba.com/yl.gif') 0 0 no-repeat;padding: 2px 0 2px 18px;white-space: nowrap;"><a href="https://www.amazon.co.jp/exec/obidos/asin/4873119030/kinkyou-22/" target="_blank" rel="nofollow" >Amazonで購入</a></div><div class="shoplinkkindle" style="display:inline;margin-right:5px;background: url('//img.yomereba.com/yl.gif') 0 0 no-repeat;padding: 2px 0 2px 18px;white-space: nowrap;"><a href="https://www.amazon.co.jp/gp/search?keywords=Real%20World%20HTTP%20%E7%AC%AC2%E7%89%88&__mk_ja_JP=%83J%83%5E%83J%83i&url=node%3D2275256051&tag=kinkyou-22" target="_blank" rel="nofollow" >Kindleで購入</a></div> <div class="shoplinkseven" style="display:inline;margin-right:5px;background: url('//img.yomereba.com/yl.gif') 0 -100px no-repeat;padding: 2px 0 2px 18px;white-space: nowrap;"><a href="https://px.a8.net/svt/ejp?a8mat=2643C9+64AELU+2N1Y+BW8O2&a8ejpredirect=http%3A%2F%2F7af-ent.omni7.jp%2Frelay%2Faffiliate%2FentranceProcess.do%3Furl%3Dhttp%253A%252F%252F7net.omni7.jp%252Fsearch%252F%253FsearchKeywordFlg%253D1%2526keyword%253D9784873119038" target="_blank" rel="nofollow" >7netで購入</a><img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2643C9+64AELU+2N1Y+BW8O2" alt=""></div> </div></div><div class="booklink-footer" style="clear: left"></div></div>
<h2>HTTP Connectionが維持される時間は?</h2>
<p>HTTP/1.1では、Keep-Aliveがデフォルトです。<pre>Connection: Close</pre>のヘッダーをつけてサーバかクライアントがリクエスト/レスポンスを投げることで、明示的に接続を切断します。そうでない場合、タイムアウトするまでは接続が維持されます。</p>
<p>タイムアウト?何秒でタイムアウトするか、どこにも書いてありません。何秒にするか、決まりもないようです。Apache HTTP Serverで、Keep-Aliveの設定値を短めにしてサーバの負荷を下げるなんてことを見かけたこともあるので、サーバー管理者が適切な値を設定するもののようです。</p>
<p>問題なのは、何秒接続が維持されるのか、クライアント側にはわからないことです。クライアントが想定している維持時間(例えば60秒)よりも、サーバ側の設定が短い(例えば30秒)場合、クライアントでは、既に閉じられているコネクションを使おうとして、通信がエラーになります。エラーリトライすればよいのかもしれませんが、すぐにリトライしてよいものなのかどうか、判断する必要があります。</p>
<h2>Keep-Aliveの拡張情報をApache Http Clientで使う</h2>
<p> 何秒接続が維持されるかわからないのでは不便だと思っている人は多いようで、Keep-Aliveのヘッダーを独自拡張しているサーバがあります。とあるApache http serverは<pre>Keep-Alive: timeout=5, max=100</pre>となっていましたし、Nginxでの動きを検証した記事もありました。
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://www.nari64.com/%3Fp%3D579?p=579" target="_blank"><img src="https://www.nari64.com/wp-content/uploads/2013/12/jyogyoku_tit.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.nari64.com/%3Fp%3D579?p=579" target="_blank">Nginx の keep-alive の設定と検証 - How old are you?</a></p><blockquote cite="https://www.nari64.com/%3Fp%3D579?p=579"><p class="blogcard-description">このエントリは nginx Advent Calendar 2014 の7日目です。 1 はじめに Webサーバを運用する時に気になる設定の1つとして keep-alive の設定があります。 今まで調べようと思ってできていなかったので、nginx Advent Calendar 2014 の勢いに乗って調べてみました。このエントリの概要は以下の通り。 クライアント Nginx 間の keep-a</p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.nari64.com/%3Fp%3D579?p=579" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.nari64.com/%3Fp%3D579?p=579" alt="">www.nari64.com</a></div></div>
</p>
<p>では、Http Clientでどう対応すればよいかというと、チュートリアルにコードが載っています。
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e425" target="_blank">Connection keep alive strategy</a></p><blockquote cite="https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e425"><p class="blogcard-description">The HTTP specification does not specify how long a persistent connection may be and should be kept alive. Some HTTP servers use a non-standard Keep-Alive header to communicate to the client the period of time in seconds ...</p></blockquote></div></div><div class="blogcard-footer"><a href="https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e425" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d5e425" alt="">hc.apache.org</a></div></div>
<p>Keep-Aliveのtimeoutが検出できなかった場合のコードを少し手直しする必要がありますが、あとは使えそうです。ただ、</p>
<ul>
<li>サーバから提示されたtimeoutをそのまま使う?(少し短めの値にしなくても大丈夫?)</li>
<li>timeoutの値がなかった場合、何秒にする?(チュートリアルのコードでは30秒になっているけど?)</li>
</ul>
<p>といった部分は、検討した方がよいでしょう。</p>
<h2>いい感じにやってくれるライブラリはそのうち?</h2>
<p>Java11で、HTTPクライアントAPIは大幅に進化したようです。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://news.mynavi.jp/article/imajava-10/" target="_blank"><img src="https://news.mynavi.jp/article/imajava-10/ogp_images/ogp.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://news.mynavi.jp/article/imajava-10/" target="_blank">イマドキのJava徹底入門(10) HTTP接続を劇的に改善したHTTPクライアントAPIとは?(その1)</a></p><blockquote cite="https://news.mynavi.jp/article/imajava-10/"><p class="blogcard-description">Javaの標準APIでHTTP接続を行う場合、HttpURLConnectionクラスを使う方法が一般的だった。しかしこのクラスは実装が古く、HTTP/2プロトコルにも対応していないため、実用に耐えない。そこで、Java 11からHTTPクライアントAPIが登場した。今回は、この新しいAPIを使ってHTTP接続を行う方法を紹介する。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://news.mynavi.jp/article/imajava-10/" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://news.mynavi.jp/article/imajava-10/" alt="">news.mynavi.jp</a></div></div>
<p>サードパーティーのhttp client ライブラリも、いろいろ進化することでしょう。HTTP/2に移行しないサーバもあるでしょうから、HTTP/1.1でも手間をかけずに効率的に利用できるようなライブラリが出てくることを期待しています。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-57166173853975909912020-09-17T20:28:00.005+09:002022-08-14T08:56:59.860+09:00MacでVSCode Remote Containersのエラーが出たら<p>Visual Studio Codeの<a href="https://code.visualstudio.com/docs/remote/containers" target="_blank" class="previewlink" rel="noopener">Remote Containers</a>、とても便利ですね。開発に必要な環境をすべてDockerコンテナに押し込めるので、手元のマシンが汚れなくてすみます。<br />
Macで試したらエラーが出たので、ちょっとメモ。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoSk4Q0oSKQb-WYGR8gkEQLeIzq3Z5TfxDxgtsk5eRmtgSZU3H-hGfpWV37GZRWQWaJGy1ZyoYBQsPWQV22WfHUj8w7_42h-NOZWzcisZM0q3KJv_V5pNZPlfI-0khhCaZD4kg/s1109/vscode-docker-error.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Visual Studio Codeで出たdockerが見つからないエラー" border="0" width="320" data-original-height="815" data-original-width="1109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoSk4Q0oSKQb-WYGR8gkEQLeIzq3Z5TfxDxgtsk5eRmtgSZU3H-hGfpWV37GZRWQWaJGy1ZyoYBQsPWQV22WfHUj8w7_42h-NOZWzcisZM0q3KJv_V5pNZPlfI-0khhCaZD4kg/s320/vscode-docker-error.png"/></a></div>
<h2>Visual Studio Code Remote Containersとは</h2>
<p><a href="https://qiita.com/d0ne1s/items/d2649801c6f804019db7" target="_blank" class="previewlink" rel="noopener">VSCode Remote Containerが良い - Qiita</a>を参照。
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://qiita.com/d0ne1s/items/d2649801c6f804019db7" target="_blank"><img src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png?ixlib=rb-1.2.2&w=1200&mark=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D380%26txt%3DVSCode%2520Remote%2520Container%25E3%2581%258C%25E8%2589%25AF%25E3%2581%2584%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D54%26txt-clip%3Dellipsis%26txt-align%3Dcenter%252Cmiddle%26s%3D5cc939fde489208a74d5d7f2f34fc96d&mark-align=center%2Cmiddle&blend=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D500%26txt%3D%2540d0ne1s%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D45%26txt-align%3Dright%252Cbottom%26s%3D268112c8e36ad5d90dc9a4a22d238f3b&blend-align=center%2Cmiddle&blend-mode=normal&s=ca9c82784afa0f45fa42c0b98464e5b3" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://qiita.com/d0ne1s/items/d2649801c6f804019db7" target="_blank">VSCode Remote Containerが良い - Qiita</a></p><blockquote cite="https://qiita.com/d0ne1s/items/d2649801c6f804019db7"><p class="blogcard-description">
Visual Studio Code Remote Development
VSCode Remote Containerは、VSCodeの拡張機能の1つです。
Dockerのコンテナ内でVSCodeを開き、開発することを可能にし...</p></blockquote></div></div><div class="blogcard-footer"><a href="https://qiita.com/d0ne1s/items/d2649801c6f804019db7" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://qiita.com/d0ne1s/items/d2649801c6f804019db7" alt="">qiita.com</a></div></div>
Macで使うには、こちらの記事のほうがわかりやすいかも。
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://blog.hiros-dot.net/?p=10059" target="_blank"><img src="https://blog.hiros-dot.net/wp-content/uploads/2019/09/Docker.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://blog.hiros-dot.net/?p=10059" target="_blank">[Mac] VSCode で Docker による開発環境を利用する方法</a></p><blockquote cite="https://blog.hiros-dot.net/?p=10059"><p class="blogcard-description">今回は VSCode の Remote -Containers を使用して、Docker による開発環境の構築方法とその利用方法について説明します。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://blog.hiros-dot.net/?p=10059" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiros-dot.net/?p=10059" alt="">blog.hiros-dot.net</a></div></div>
<h2>Docker returned an error. Make sure the Docker daemon is running.</h2>
<p>記事をまねしてMacでやってみたところ、上記のようなエラーが出てしまう。Docker Desktopが起動していることは確認できていて、ターミナルで<pre><code>docker ps</code></pre>と打ってもエラーにならない。</p>
<p>どうやらVSCodeからはdockerコマンドが見つからないらしい。</p>
<h2>VSCodeのdockerコマンドを修正する</h2>
<p>見つからないならフルパスで指定すればよい。ということで、設定を直す。<br />
下図の赤丸をクリックして、設定メニューを表示させる。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQuYQmWozX_iPpeVYzrmqtd8sULwnEpV16AoumcMQUMZES3M9Q-zAoBoDr5Hl1BNC42WjBhgaPkMta1cJRVFzQhd6ebw2GT0Kie4CMpN2A0xlQT9Xt-y7-vESKgUaOUpK_SxH0/s1109/vscode-settings-icon.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Visual Studio Codeの設定アイコン" border="0" width="320" data-original-height="815" data-original-width="1109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQuYQmWozX_iPpeVYzrmqtd8sULwnEpV16AoumcMQUMZES3M9Q-zAoBoDr5Hl1BNC42WjBhgaPkMta1cJRVFzQhd6ebw2GT0Kie4CMpN2A0xlQT9Xt-y7-vESKgUaOUpK_SxH0/s320/vscode-settings-icon.png"/></a></div>
表示されたメニューからSettingsを選択。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoLajBrfi_dnY1cgLcUkfikS6MBBUK248v4ypTmh-GNx6MyVi68jBc90vHUFlt1azO6xp9P0Gv68ZXHriv_14aunA9wwZ9Esjtbu4BEjaWNarHBN_xL_hpUeEWzf-9ucIx7KQV/s289/vscode-settings-menu.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Visual Studio Codeの設定メニュー" border="0" width="320" data-original-height="142" data-original-width="289" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoLajBrfi_dnY1cgLcUkfikS6MBBUK248v4ypTmh-GNx6MyVi68jBc90vHUFlt1azO6xp9P0Gv68ZXHriv_14aunA9wwZ9Esjtbu4BEjaWNarHBN_xL_hpUeEWzf-9ucIx7KQV/s320/vscode-settings-menu.png"/></a></div>
設定項目が表示されるので、下図赤丸のように<pre>docker</pre>と入力して、設定項目を絞り込む。<br />
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixpj8cP-tsYJYDRcH7A_TCujfd2SrxYGNd7W4SNVvXzthom6OhjejuXzVFvkCbKeruIV6Zk4xK9DbOPOoVUaZ1Y5phyphenhyphenZST_1qLhMGG6E501pu_KhINP2iK6S9aosYiV4UmMb0p/s1109/vscode-settings-docker.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Visual Studio Codeの設定項目を絞り込む" border="0" width="320" data-original-height="815" data-original-width="1109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixpj8cP-tsYJYDRcH7A_TCujfd2SrxYGNd7W4SNVvXzthom6OhjejuXzVFvkCbKeruIV6Zk4xK9DbOPOoVUaZ1Y5phyphenhyphenZST_1qLhMGG6E501pu_KhINP2iK6S9aosYiV4UmMb0p/s320/vscode-settings-docker.png"/></a></div>
黄色で囲んだ<pre>Remote - Containers</pre>が、Remote Containersの設定項目。右側の説明にあるように、dockerコマンドを指定するようになっているので、ここを<br />
<pre><code>/usr/local/bin/docker</code></pre>
に変更する。<br />
これでOK。</p>
<h2>ログインシェルを変えていると遭遇する?</h2>
<p>他のブログでは設定のことは書かれていない。おそらく、デフォルトの設定だと問題なく使えるのであろう。ログインシェルを変えていることくらいしか思い当たらないが、まぁ、解決したので良しとしよう。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-9273877565907119812020-09-11T17:05:00.002+09:002020-09-11T17:05:44.331+09:00HerokuのWordPressサイトをお引越し
<p>昔、ただでWordPressを動かしたくて<a href="https://jp.heroku.com/home" target="_blank" class="previewlink" rel="noopener">Heroku</a>で環境を作ったのだが、腹をくくってWordPressが使えるサービスを契約したので、お引越し。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgotux5dXN4boOC3zVGKc8aCJV9N0_59v_a2dMZ_xdnjqRKMyGWk1rebN5PG4_Kc4mS1iV17saggCXrvJRIdX2CJT02E-355MvZ0kxAMNelA-dc2SyDeGUA0lc-c2dDVHftCqGR/s1280/moving-3671446_1280.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="946" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgotux5dXN4boOC3zVGKc8aCJV9N0_59v_a2dMZ_xdnjqRKMyGWk1rebN5PG4_Kc4mS1iV17saggCXrvJRIdX2CJT02E-355MvZ0kxAMNelA-dc2SyDeGUA0lc-c2dDVHftCqGR/s400/moving-3671446_1280.png"/></a></div>
<p>Herokuを選ぶ時点でそれなりに知識があるのだろうということで、細かいことは端折って短めに。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://jp.heroku.com/home#" target="_blank"><img src="https://www.herokucdn.com/images/og.png" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://jp.heroku.com/home#" target="_blank">クラウド・アプリケーション・プラットフォーム | Heroku</a></p><blockquote cite="https://jp.heroku.com/home#"><p class="blogcard-description">Heroku は、アプリケーションの開発から実行、運用までのすべてをクラウドで完結できる PaaS(サービスとしてのプラットフォーム)です。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://jp.heroku.com/home#" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://jp.heroku.com/home#" alt="">jp.heroku.com</a></div></div>
<h2>WordPressのバージョンが古くて危険</h2>
<p>Herokuで動かすために使ったのは、これ。<br />
<a href="https://github.com/mhoofman/wordpress-heroku" class="previewlink" target="_blank" rel="noopener">GitHub - mhoofman/wordpress-heroku: Template project for deploying WordPress to Heroku</a><br />
バージョン4.xは今となってはちょっと。最新バージョン…はいろいろあるにしても、それに近いバージョンに上げなければ。</p>
<p>で、問題は、これ、DBにPostgreSQLを使うように修正されているということ。普通の方法ではうまくいかない気がする…。</p>
<h2>始めに方針を決める</h2>
<p>最初にどうやって引越しするか、案を作って検討する。これ、「なんとかなるでしょ」って省いて行き当たりばったりで進めたりするけど、事前に検討するという癖をつけないとね。大切な仕事で行き当たりばったりで進めるような人には、頼まないでしょ?</p>
<ol>
<li>動いているのと同じバージョンのWordPressをセットアップする。DBはMySQL。</li>
<li>PostgreSQLからデータを抜き出して、MySQLに投入する。</li>
<li>記事が表示されるようであれば、WordPressをバージョンアップ</li>
<li>WordPressのバックアップツールを使って丸ごとバックアップし、契約したサービスのWordPressに入れたツールでリストア</li>
</ol>
<p>問題になりそうなことを考えてみる。</p>
<ul>
<li>古いWordPressは入手できる?</li>
<li>PostgreSQLからMySQLへの移行はどうする?</li>
</ul>
<p>これらを解決できそうだったので、引越し決行!</p>
<h2>古めのLinuxで環境を作る</h2>
<p>古いWordPressだから古いOSがいいだろう、ということで、Ubuntu 12.04を探してきてインストール。インターネットに晒すわけにはいかないので、VMで。<a href="https://www.virtualbox.org/" class="previewlink" target="_blank" rel="noopener">Oracle VM VirtualBox</a>とかVMwareとか、マジ助かる。</p>
<p>古いWordPressは<a href="https://ja.wordpress.org/download/releases/" class="previewlink" target="_blank" rel="noopener">リリース | WordPress.org 日本語</a>にあるので、4.1.1をダウンロード。セットアップは通常の手順どおりMySQLで行う。MySQLも最新版である必要はないので、Ubuntuのパッケージをインストール。</p>
<p>wp-config.phpの設定内容は、Herokuで動いているものと同じにしておく。影響があるのかないのか調査すべきなんだろうけど、ここは手抜き。<br />
Herokuのconfigに設定しているので、管理画面で設定値を表示させて、wp-config.phpに反映させていく。</p>
<p>ここまでで、WordPressのセットアップを行って管理画面が表示されることを確認しておく。</p>
<h2>PostgreSQLからMySQLにデータを移す</h2>
<p>意外と前例があるものだ。ぐぐったら<a href="https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06" class="previewlink" target="_blank" rel="noopener">PostgreSQLのデータをMySQLに移行する - Qiita</a>という記事が出てきたので、それに従って移行する。スキーマはWordPressインストール時に作られているので、データの移行だけでOK。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06" target="_blank"><img src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png?ixlib=rb-1.2.2&w=1200&mark=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D380%26txt%3DPostgreSQL%25E3%2581%25AE%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2582%2592MySQL%25E3%2581%25AB%25E7%25A7%25BB%25E8%25A1%258C%25E3%2581%2599%25E3%2582%258B%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D54%26txt-clip%3Dellipsis%26txt-align%3Dcenter%252Cmiddle%26s%3D3c81fe0786ca57e457c7b04dcb39da5c&mark-align=center%2Cmiddle&blend=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D500%26txt%3D%2540artifactsauce%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D45%26txt-align%3Dright%252Cbottom%26s%3D916a71b52b988acb22da972fd289db78&blend-align=center%2Cmiddle&blend-mode=normal&s=b64f967c12fb8a5f779cac2efc603014" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06" target="_blank">PostgreSQLのデータをMySQLに移行する - Qiita</a></p><blockquote cite="https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06"><p class="blogcard-description">長くアプリケーションをメンテナンスしているうちに、データベースを別の環境に移行する機会もあるかと思います。私が経験したPostgreSQLからMySQLへの移行における手順を示しておきます。
このシステムは下記のような特徴を持ってい...</p></blockquote></div></div><div class="blogcard-footer"><a href="https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://qiita.com/artifactsauce/items/f9fdee98a258b349dc06" alt="">qiita.com</a></div></div>
<p>PostgreSQLのデータをpg_dumpコマンドで取り出す。接続パラメータは<br />
<pre><code class="bash">% heroku pg:credentials:url</code></pre>
で表示されるので、それを見ながら<br />
<pre><code class="bash">% pg_dump --data-only -d dbnameの値 -h hostの値 -U userの値 > db-data-日付.dump</code></pre>
とする。</p>
<p>上記記事にあるPerlスクリプトでデータを変換する。のだが、ファイル名がpublic.xxxとなってしまうので、Shell(bash)上でdataディレクトリに入ってから
<pre><code class="bash">% for f in * ; do mv $f ${f#public.}; done</code></pre>
としてpublic.のないファイル名にする。</p>
<p>ファイル名からpublic.がなくなっていることを確認したら、記事のようにmysqlimportでMySQLに取り込む。</p>
<p>ここまでできたら、記事がちゃんと表示されるか、実際にブラウザからアクセスしてみる。WordPressにログインできるか、管理画面に各記事が表示されるかも確認する。</p>
<h2>WordPressをバージョンアップ</h2>
<p>WordPress 4.1.1 だとあまりにも古いので、WordPressのバックアップツールで移行できるのかどうかわからない。というか、あるバックアップツールを動かそうとしたらエラーになったので、WordPressのバージョンアップが必要だろう。</p>
<p>WordPressを新しくするには、PHPやMySQLのバージョンも関係してくるので、意外と面倒。なので、Ubuntu を新しくしてWordPressが動くように設定する。</p>
<p>最新版まで新しくしていくのが正しいのだろうけど、そのまま使うわけでもないので、PHP 5.6で動くバージョンまで上げる。PHP 7にするのは面倒に感じたので。</p>
<h2>バックアップツールでお引越し</h2>
<p>WordPressのバックアップツールを使ってお引越し。<br />
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://www.vektor-inc.co.jp/post/all-in-one-wp-migration/" target="_blank"><img src="https://www.vektor-inc.co.jp/wp-content/uploads/2017/12/wpm_main-1024x630.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.vektor-inc.co.jp/post/all-in-one-wp-migration/" target="_blank">管理画面からわずか3ステップでサイトの引っ越しが完了するプラグイン「All-in-One WP Migration」が簡単すぎ!</a></p><blockquote cite="https://www.vektor-inc.co.jp/post/all-in-one-wp-migration/"><p class="blogcard-description">当ブログでも何度か WordPressサイトの引越し関連の記事を書いてきましたが、今回紹介するブラグイン「All-in-One WP Migration」は管理画面からの操作だけでサイトの引っ越しが完了してとても便利だったのでご紹介します。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.vektor-inc.co.jp/post/all-in-one-wp-migration/" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.vektor-inc.co.jp/post/all-in-one-wp-migration/" alt="">www.vektor-inc.co.jp</a></div></div>
記事の通り。引越し元がPHP 5.6、引越し先がPHP 7だったため、インポート時に警告が出たけど問題なかった。</p>
<h2>WordPressと戯れたいのではない。ブログを書きたいのだ。</h2>
<p>「問題が何で」「最終的にはこのようにしたい」「そのため、この手順で作業を行う」と、順序だてて考えて進めていくという訓練にはいいのだが、もともとは「WordPressでブログサイトを作り、記事を書いていく」ことが目的だったわけで、回り道をした感はある。<br />
わずかな出費を惜しまずに、やりたいことをやるための必要経費と割り切ることも重要だろう。これからは素直にWordPressが使えるレンタルサーバを使うことにする。</p>
<p><br /></p>
<a href="https://px.a8.net/svt/ejp?a8mat=2NK3XQ+1CTKDU+348+6AC5D" rel="nofollow">
<img border="0" width="468" height="60" alt="" src="https://www28.a8.net/svt/bgt?aid=160501742082&wid=001&eno=01&mid=s00000000404001056000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=2NK3XQ+1CTKDU+348+6AC5D" alt="">
<a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+6VOCFM+3JTE+62MDD" rel="nofollow">
<img border="0" width="468" height="60" alt="" src="https://www21.a8.net/svt/bgt?aid=190405477416&wid=001&eno=01&mid=s00000016565001020000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www13.a8.net/0.gif?a8mat=35D1T1+6VOCFM+3JTE+62MDD" alt="">
<a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+78RVQQ+CO4+5YRHD" rel="nofollow">
<img border="0" width="468" height="60" alt="" src="https://www29.a8.net/svt/bgt?aid=190405477438&wid=001&eno=01&mid=s00000001642001002000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=35D1T1+78RVQQ+CO4+5YRHD" alt="">
<a href="https://px.a8.net/svt/ejp?a8mat=3BM7XV+85IQ0I+1JUK+5YRHD" rel="nofollow">
<img border="0" width="468" height="60" alt="" src="https://www24.a8.net/svt/bgt?aid=200911027493&wid=001&eno=01&mid=s00000007238001002000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=3BM7XV+85IQ0I+1JUK+5YRHD" alt="">
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-56523879663126721732020-05-09T18:20:00.000+09:002020-05-09T19:17:27.030+09:00Linuxの資格の有効期限の延長を調べてみた<p>COVID-19(コロナウイルス)で外出自粛が続く今、各種資格試験を受けるのは難しいし、そんな余裕は金銭的/精神的にもなくて当然です。<br />
そういってもやってくるのが、資格の有効期限、有意性の期限です。<a href="https://www.lpi.org/ja/" target="_blank" class="previewlink" rel="noopener">LPIC</a>と<a href="https://lpi.or.jp/" target="_blank" class="previewlink" rel="noopener">LinuC</a>について、調べてみました。<br />
<div style="color:red">※必ずご自身で最新情報を確認してください。掲載内容から、いかなる損失や損害などの被害が発生しても、当ブログでは責任を追いかねます。</div></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidBUFXs1EkORP0MMVeV1uH7WW-z6RUW7oD9rDjmqDBixdBljGdyOczSePrnh80Yp4H9LFuB8w06Ut51rc88nKnYTonVVV2y-1Hw1zufTu_MSrtMbjHzH11eXiooWhiIzCKtORc/s1600/penguin_couple.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidBUFXs1EkORP0MMVeV1uH7WW-z6RUW7oD9rDjmqDBixdBljGdyOczSePrnh80Yp4H9LFuB8w06Ut51rc88nKnYTonVVV2y-1Hw1zufTu_MSrtMbjHzH11eXiooWhiIzCKtORc/s320/penguin_couple.png" width="320" height="320" data-original-width="1200" data-original-height="1200" /></a></div>
<h4>LPICの有効期限は2ヶ月延長(6/30までに期限がくるものについて)</h4>
<p>LPICは、期限が2020/6/30までとなっているものは2ヶ月延長です。<a href="https://www.lpi.org/ja/coronavirus" target="_blank" class="previewlink" rel="noopener">COVID-19(コロナウイルス)への対応| Linux Professional Institute</a>で確認してください。<br />
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://www.lpi.org/ja/coronavirus" target="_blank">COVID-19(コロナウイルス)への対応</a></p><blockquote cite="https://www.lpi.org/ja/coronavirus"><p class="blogcard-description">最終変更6年2020月19日COVID-XNUMX(コロナウイルス)の拡散を遅らせるために、Linux Professional Institute(LPI)試験を受ける資格に影響を与える、または認定ステータスを更新する可能性のある世界中のポリシーが制定されました。 あなたの健康と安全が最も重要であるため、コミュニティへの影響を軽減するためにポリシーに一時的な変更を加えています。ホストイベントもキャンセルされたため、いくつかのLPI試験ラボがキャンセルされました。 登録済みの受験者は、交換用のバウチャーを受け取り、可能な場合はラボが再スケジュールされます。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://www.lpi.org/ja/coronavirus" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://www.lpi.org/ja/coronavirus" alt="">www.lpi.org</a></div></div><br />
自分の認定証をサイトで確認してみます。
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiumlGRlr3m0H97jkqiwvSEP8z_TrELYe9OedYQdqY1rBR0DqQRh1Pqv0TbHnu2PWBE4BmYqwySMHaFZtcDZoSSJl09LalLkQNrcWDZqixhqkuOQi4-9wNsJYSqxPdGYarEuH0Y/s1600/lpic-extended.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiumlGRlr3m0H97jkqiwvSEP8z_TrELYe9OedYQdqY1rBR0DqQRh1Pqv0TbHnu2PWBE4BmYqwySMHaFZtcDZoSSJl09LalLkQNrcWDZqixhqkuOQi4-9wNsJYSqxPdGYarEuH0Y/s320/lpic-extended.jpg" width="320" height="162" data-original-width="1137" data-original-height="577" /></a></div><br />
最後に受験したのはLPIC-3 303(Security)で2015/6/7。5年間有効なので2020/6/7が期限となるところが、2ヶ月延長で2020/8/7。2ヶ月延長されています。</p>
<h4>LinuCの有効期限は7/1に延長(6/30までに期限がくるものについて)</h4>
<p>LinuCは、2020/3/1〜2020/6/30に期限がくるものについては2020/7/1に延長です。<a href="https://lpi.or.jp/news/information/_covid-19.shtml" target="_blank" class="previewlink" rel="noopener">重要:新型コロナウイルス感染症 (COVID-19) の影響に伴う「有意性の期限」の 延長の特別対応(救済措置)について(4月8日更新)|IT資格といえばLPI-Japan | LinuC/OSS-DB/HTML5/OPCEL</a>で確認してください。<br />
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="https://lpi.or.jp/news/information/_covid-19.shtml" target="_blank">重要:新型コロナウイルス感染症 (COVID-19) の影響に伴う「有意性の期限」の 延長の特別対応(救済措置)について</a></p><blockquote cite="https://lpi.or.jp/news/information/_covid-19.shtml"><p class="blogcard-description">■対象期間の有意性の期限の延長
有意性の期限が【2020/3/1 ~ 2020/6/30】の方の認定は、一律【2020/7/1】に延長(更新)いたします。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://lpi.or.jp/news/information/_covid-19.shtml" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://lpi.or.jp/news/information/_covid-19.shtml" alt="">lpi.or.jp</a></div></div><br />
自分の認定証をサイトで確認してみます。
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fCf3RebA_WiFmKcDkQGcJk-ssbKIrKpe9C0hwQjeEcnBHBl0T8tAj6U86pXxo19PidPbUxqMcnvvTxQKC898keNQkIOwLRR-SodB8ocFYK4xy7Wl64dT316KofrzC33JBZrH/s1600/linuc-extended.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fCf3RebA_WiFmKcDkQGcJk-ssbKIrKpe9C0hwQjeEcnBHBl0T8tAj6U86pXxo19PidPbUxqMcnvvTxQKC898keNQkIOwLRR-SodB8ocFYK4xy7Wl64dT316KofrzC33JBZrH/s320/linuc-extended.jpg" width="320" height="171" data-original-width="1138" data-original-height="608" /></a></div><br />
LPICから移行したので、LinuC 303の2015/6/7が最新の認定日。5年間有効なので2020/6/7が期限となるところが、2020/7/1まで延長されています。</p>
<h4>延長期限直前は混みそう</h4>
<p>LPIC、LinuCとも、CBT(コンピュータ・ベースド・テスティング)です。受けた人はわかっていると思いますが、風通しの悪い部屋にPCがずらっと並んでいて、みな、画面に表示される問題を黙々と解いていきます。<br />
3密を避けるため、一度に受験できる人数を減らしている試験会場もあるみたいです。そうすると、席の予約がたいへんになります。落ちたときの再受験も考えると、1ヶ月前には受けておきたいところです。そう考えると…。6月は混みそうですね。<br />
<a href="https://px.a8.net/svt/ejp?a8mat=3BDLT7+F9J44Y+3JWG+HX5B5" rel="nofollow">
<img border="0" width="468" height="60" alt="" src="https://www21.a8.net/svt/bgt?aid=200509099923&wid=001&eno=01&mid=s00000016576003010000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www18.a8.net/0.gif?a8mat=3BDLT7+F9J44Y+3JWG+HX5B5" alt="">
</p>
<h4>資格の断捨離</h4>
<p>Linux系の資格を複数持っていても意味がないように感じられるので、どちらかの再認定(更新)を止めるいい機会だと思っています。「資格なんか意味がない」なんて言う人もいますが、そういった話は今回はスルーします。<br />
サイトを見ると、LinuCは期限延長のことがトップページには書かれていなくて、資格を持っている人に対してちょっと不親切です。ま、有効期限が切れても「資格を取得した」ということは職務経歴書に書けるので、両方更新を止めるというのもアリですね。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-43713255748472024162020-03-07T19:21:00.001+09:002020-09-12T17:37:32.489+09:00リンクケーブルをmacOS Catalinaに対応させる<p>OSをアップグレードすると使えなくなるアプリが出てくるのはいつものこと。しばらく待てば対応版が出てくるものなので、そろそろいいかと思ってmacOS Catalinaにアップグレードしたところ、マウス・キーボード共有のためのケーブルのドライバが動かなくなっていてちょっと焦った。</p>
<h2>WindowsとMacを並べて便利に使うには</h2>
<p>WindowsマシンとiMacを並べて置いているのだが、キーボードやマウスをいちいち切り替えるのはとても面倒。なので、Windowsマシンに繋いだキーボード・マウスでMacも動かせるよう、いくつかソフトを試してみた。結果、ドラッグ&ドロップ対応リンクケーブルというもので両者を繋ぐことにした。
</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://blog.hiroaki.home.group.jp/2016/07/macwindows.html" target="_blank"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha9OGG8QZa-Gr32LdFseVAcynAxTx-hbLlwt_u16xq_i6AhPdvRw9KGIyNvroQ2NZbo3FC3VP3Hvi9-2RFf4SYlb4HfjdgPw6Tg2sAHovn6sx8b-Mqoo6pwOMw-n4ZdcOFkO1L/w1200-h630-p-k-no-nu/love-1100887_640-min.jpg" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://blog.hiroaki.home.group.jp/2016/07/macwindows.html" target="_blank">MacとWindowsでキーボードを共有するケーブル</a></p><blockquote cite="https://blog.hiroaki.home.group.jp/2016/07/macwindows.html"><p class="blogcard-description">WindowsとMacを1組のキーボード・マウスで操作する場合、ドラッグ&ドロップ対応リンクケーブルを使うと便利。</p></blockquote></div></div><div class="blogcard-footer"><a href="https://blog.hiroaki.home.group.jp/2016/07/macwindows.html" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://blog.hiroaki.home.group.jp/2016/07/macwindows.html" alt="">blog.hiroaki.home.group.jp</a></div></div>
<h2>アップデートでCatalinaに対応する</h2>
<p>Catalinaにアップグレードしたところ、このリンクケーブル用のアプリが起動しなくなった。「2台のWindowsマシンでキーボードを共有するならまだしも、WindowsとMacじゃぁユーザも多いとは思えないし、もう無理かなぁ?」と思って、共有するプログラムをいろいろ調べていたのだが、ふと、<a href="https://www.google.com/search?q=kb-usb-link3m+catalina&oq=kb-usb-link3m+catalina&ie=UTF-8" target="_blank" class="previewlink" rel="noopener">kb-usb-link3m catalina</a>でググってみたところ、あたらしいソフト(ドライバー)が出ていることを発見。変更内容を確認したところ、Mac OS 10.15 (Catalina)に対応させるファームウェアアップデータということで、問題解決。</p>
<div class="blogcard blogcard-hasnoimage"><div class="blogcard-content"><div class="blogcard-text"><p class="blogcard-title"><a href="http://www.sanwa.jp/support/download/dl_driver_ichiran.asp?upd=0.301948&code=KB-USB-LINK3M" target="_blank">undefined</a></p><blockquote cite="http://www.sanwa.jp/support/download/dl_driver_ichiran.asp?upd=0.301948&code=KB-USB-LINK3M"><p class="blogcard-description">ドラッグ&ドロップ対応USB2.0リンクケーブル(Mac/Windows対応)用ソフトウェア</p></blockquote></div></div><div class="blogcard-footer"><a href="http://www.sanwa.jp/support/download/dl_driver_ichiran.asp?upd=0.301948&code=KB-USB-LINK3M" target="_blank"><img src="https://www.google.com/s2/favicons?domain=http://www.sanwa.jp/support/download/dl_driver_ichiran.asp?upd=0.301948&code=KB-USB-LINK3M" alt="">www.sanwa.jp</a></div></div>
<h2>アップデートはWindowsで</h2>
<p>ファームウェアのアップデートは、途中でエラーになると使い物にならなくなることがあるので、慎重に、提示されている手順どおりに行うのが鉄則。このケーブルの場合、繋いだりはずしたりする必要があって面倒なのだが、端折らずに手順書どおりに行っていく。<br />
手順書を読んだ結果、Windowsでアップデートする方が少しだけ操作が少ないので、Windowsでファームウェアのアップデートを行う。Catalinaに対応したV1.0.1190.36Rになったことを確認してから、iMacに繋いで手順書どおりに設定する。<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0w94SAKIxJfQptR3j4bw7CDORL3CK8TXTUDFaECWbaHKm5KMq4NmRfLYKUFWmeVuSLZuS_XmZZuhYd5Oi8Nj7heJMgLNyudDyU22mh02dd4B8IOQ03SNeVztE3TFgmcY3xWTK/s1600/kb-usb-link3m_ver.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0w94SAKIxJfQptR3j4bw7CDORL3CK8TXTUDFaECWbaHKm5KMq4NmRfLYKUFWmeVuSLZuS_XmZZuhYd5Oi8Nj7heJMgLNyudDyU22mh02dd4B8IOQ03SNeVztE3TFgmcY3xWTK/s1600/kb-usb-link3m_ver.png" data-original-width="378" data-original-height="127" /></a></div>
</p>
<h2>今までどおりの使い勝手が嬉しい</h2>
<p>OSのアップグレードにきっちり追従してくれるのは、とても嬉しい。変に操作方法が変わることもなく、マウスを動かしていくだけで操作対象のマシンが切り替わってくれる。<br />
デスクトップマシンとノートPCの組み合わせでもキーボード・マウスの共有はできるので、お試しあれ!</p>
<br />
<div class="kaerebalink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="kaerebalink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/g0000011.cr1lz8e1.g0000011.cr1m0ef6/kaereba_main_202003071919142252?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F03c2ead8cac8ab6ea6cd34d093537a73%2F&m=http%3A%2F%2Fm.product.rakuten.co.jp%2Fproduct%2F03c2ead8cac8ab6ea6cd34d093537a73%2F" target="_blank" ><img src="https://thumbnail.image.rakuten.co.jp/ran/img/1001/0004/969/887/762/844/10010004969887762844_1.jpg?_ex=64x64" style="border: none;" /></a></div><div class="kaerebalink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="kaerebalink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/g0000011.cr1lz8e1.g0000011.cr1m0ef6/kaereba_main_202003071919142252?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2F03c2ead8cac8ab6ea6cd34d093537a73%2F&m=http%3A%2F%2Fm.product.rakuten.co.jp%2Fproduct%2F03c2ead8cac8ab6ea6cd34d093537a73%2F" target="_blank" >サンワサプライ ドラッグ&ドロップ対応Type-Cリンクケーブル Mac/Windows対応 KB-USB-LINK5</a><div class="kaerebalink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://kaereba.com" rel="nofollow" target="_blank">カエレバ</a></div></div><div class="kaerebalink-detail" style="margin-bottom:5px;"></div><div class="kaerebalink-link1" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/kaereba_main_202003071919142252?pc=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2Fkb-usb-link%2F-%2Ff.1-p.1-s.1-sf.0-st.A-v.2%3Fx%3D0%26scid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2F" target="_blank" >楽天市場</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=kb-usb-link&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&tag=kinkyou-22" target="_blank" >Amazon</a></div><div class="shoplinkyahoo" style="display:inline;margin-right:5px"><a href="//af.moshimo.com/af/c/click?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502&s_v=b5Rz2P0601xu&url=http%3A%2F%2Fsearch.shopping.yahoo.co.jp%2Fsearch%3Fp%3Dkb-usb-link" target="_blank" >Yahooショッピング</a><img src="//i.moshimo.com/af/i/impression?a_id=1407417&p_id=1225&pc_id=1925&pl_id=18502" width="1" height="1" style="border:none;"></div><div class="shoplinkseven" style="display:inline;margin-right:5px"><a href="//af.moshimo.com/af/c/click?a_id=664751&p_id=932&pc_id=1188&pl_id=12456&s_v=b5Rz2P0601xu&url=http%3A%2F%2F7net.omni7.jp%2Fsearch%2F%3Fkeyword%3Dkb-usb-link%26searchKeywordFlg%3D1" target="_blank" ><img src="//i.moshimo.com/af/i/impression?a_id=664751&p_id=932&pc_id=1188&pl_id=12456" width="1" height="1" style="border:none;">7net</a></div></div></div><div class="booklink-footer" style="clear: left"></div></div>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-52998514012936010762020-02-20T17:28:00.001+09:002020-09-12T17:39:13.569+09:00MicrometerからCloudWatchにメトリクスを送信する<p><a href="https://spring.io/projects/spring-boot" target="_blank" class="previewlink" rel="noopener">Spring Boot</a>
でプログラム内部のメトリクスを収集するときに使われる<a href="https://micrometer.io/" target="_blank" class="previewlink" rel="noopener">Micrometer</a>。収集したメトリクスをどうやって活用するか(どのサービスで監視・グラフ化するか)考えた結果、AWS <a href="https://aws.amazon.com/jp/cloudwatch/" target="_blank" class="previewlink" rel="noopener">CloudWatch</a>を使うことにした。</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjWNNb-rlHPRy-SauWsykUJReJWIyodpW3WRY-IqWlOjq1v7PVBFH_uBzcx-PTAO66y2hXveRBIFJtlxDowvTCg7lX1o5RlboIKyUuSO29UN6aZl4p-9hKTSwHOkTw-QzcAIcg/s1600/stock-1863880_1280.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjWNNb-rlHPRy-SauWsykUJReJWIyodpW3WRY-IqWlOjq1v7PVBFH_uBzcx-PTAO66y2hXveRBIFJtlxDowvTCg7lX1o5RlboIKyUuSO29UN6aZl4p-9hKTSwHOkTw-QzcAIcg/s1600/stock-1863880_1280.jpg" data-original-width="1280" data-original-height="853" /></a></div>
<h2>Prometheusは運用できない</h2>
<p>監視といえば、<a href="https://prometheus.io/" class="previewlink" target="_blank" rel="noopener">Prometheus - Monitoring system & time series database</a>がここ数年人気だ。</p>
<p>「差別化する必要がなければメジャーに乗っかれ」というポリシーで、Prometheusももちろん使ってみようとした。しかし、運用してくれるサービスが見当たらない。運用に関われるエンジニアが少ないので、監視関連に人的リソースを割くのは可能な限り避けたい。となると、残念ながらPrometheusは候補から外れる。普段であれば<a href="https://mackerel.io/ja/" class="previewlink" target="_blank" rel="noopener">Mackerel(マカレル)</a>を使うのだが、今回は1分よりも短い間隔でメトリクスを送信することも考えていたため、他の方法を検討することにした。</p>
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://mackerel.io/ja/" target="_blank"><img src="https://mackerel.io/assets/images/brand/illustrations/ogimage.png" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://mackerel.io/ja/" target="_blank">Mackerel(マカレル): 新世代のサーバー管理・監視サービス</a></p><blockquote cite="https://mackerel.io/ja/"><p class="blogcard-description">はてなが開発した新世代のサーバー管理・監視サービスです。仮想サーバーなどクラウドサービスをMackerelで統合管理および監視ができます。フリートライアル実施中!</p></blockquote></div></div><div class="blogcard-footer"><a href="https://mackerel.io/ja/" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://mackerel.io/ja/" alt="">mackerel.io</a></div></div>
<h2>CloudWatch連携は可能なのか?</h2>
<p>AWSで動いているプログラムのメトリクスの収集なので、CloudWatchを利用できないか検討するのが自然な流れだろう。ということで<a href="https://micrometer.io/docs" class="previewlink" target="_blank" rel="noopener">Micrometerのdocs</a>を見てみたのだが、PrometheusはあってもCloudWatchはなかった。一方、<a href="https://github.com/micrometer-metrics/micrometer/tree/master/implementations" class="previewlink" target="_blank" rel="noopener">micrometer/implementations at master · micrometer-metrics/micrometer · GitHub</a>を覗いてみると、cloudwatchとcloudwatch2が存在しているものの、どう違うのかわからない。そもそも、docsに出てこない時点で注意が必要だ。</p>
<h2>CloudWatch エージェントはStatsDプロトコルを使用できる</h2>
<p>CloudWatchエージェントでは、StatsDプロトコルを用いてカスタムメトリクスを取得することができる。Micrometerのdocsを見ると、StatsDはサポートしているモニタリングシステムに含まれている。<p>
<pre>micrometer+StatsD -> CloudWatch Agent -> CloudWatch</pre>
<p>という構成で、Spring BootアプリケーションのメトリクスをCloudWatchに送信できることがわかった。<br />
micrometer側(Spring Boot側)の設定は問題ないだろう。CloudWatchエージェントは自ホスト(localhost)で動かすので、自ホストにあるStatsDに向けてメトリクスを送信するようにすればOK。</p>
<p>となると、CloudWatchエージェントの設定をどうするか。<br />
ググってみると、<a href="https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538" class="previewlink" target="_blank" rel="noopener">CloudWatchAgentのStatsDを試してみる - Qiita</a>という記事が見つかった。<br />
<div class="blogcard"><div class="blogcard-content"><div class="blogcard-image"><div class="blogcard-image-wrapper"><a href="https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538" target="_blank"><img src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Fogp-background-1150d8b18a7c15795b701a55ae908f94.png?ixlib=rb-1.2.2&w=1200&mark=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D380%26txt%3DCloudWatchAgent%25E3%2581%25AEStatsD%25E3%2582%2592%25E8%25A9%25A6%25E3%2581%2597%25E3%2581%25A6%25E3%2581%25BF%25E3%2582%258B%26txt-color%3D%2523333%26txt-font%3DAvenir-Black%26txt-size%3D54%26txt-clip%3Dellipsis%26txt-align%3Dcenter%252Cmiddle%26s%3Df763185d02627c6c6a5c28b4527d700b&mark-align=center%2Cmiddle&blend=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D500%26txt%3D%2540murata-tomohide%26txt-color%3D%2523333%26txt-font%3DAvenir-Black%26txt-size%3D45%26txt-align%3Dright%252Cbottom%26s%3D8aee2c367f9b4b17ba46326a275ff7ab&blend-align=center%2Cmiddle&blend-mode=normal&s=f6bd772a27f503dab318bfba46397994" alt=""></a></div></div><div class="blogcard-text"><p class="blogcard-title"><a href="https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538" target="_blank">CloudWatchAgentのStatsDを試してみる - Qiita</a></p><blockquote cite="https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538"><p class="blogcard-description">CloudWatchAgentを設定をしていると、statsDとかcollectdとか名前が出てきますが、どうやらOSSの数値レポーティングツールらしいです。
prometheusを主に使っているので困ったことがなくて所見ですが、今...</p></blockquote></div></div><div class="blogcard-footer"><a href="https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538" target="_blank"><img src="https://www.google.com/s2/favicons?domain=https://qiita.com/murata-tomohide/items/9bd1320865b2eba47538" alt="">qiita.com</a></div></div>
が、対話式の設定ツールでポチポチ設定するのが許されるのは、お試しのときだけ。設定は<pre>/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json</pre>に行う。
<script src="https://gist.github.com/hiroaki0404/df0e2db5b6d6f712247e9844a6d7d940.js"></script>
パラメータについては、<a href="https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-custom-metrics-statsd.html" class="previewlink" target="_blank" rel="noopener">StatsD を使用したカスタムメトリクスの取得 - Amazon CloudWatch</a>を参照。説明が多いが、上記サンプルの項目を確認すれば十分だ。メトリクスの取得間隔とCloudWatchへの送信間隔の設定もある。</p>
<h2>直接CloudWatchに送れるのは嬉しい</h2>
<p>CloudWatchエージェントが必要とはいえ、他のサービスを経由せずにCloudWatchにメトリクスを送れるのは便利だ。イベントブリッジを使えば外部サービスからCloudWatchにイベントを送信することができるが、利用サービスが多い=障害ポイントが多い という認識なので、AWSに直接送れるというのはメリットだ。</br>
また、CloudWatchに送れば、AutoScalingやLambdaの起動など、AWSの持っている仕組みをスムーズに使うことができる。CloudWatchはデータのグラフ化が弱いという印象だが、それも改善されるだろう。</p>
<p>CPU利用率やディスクの空き容量などのインフラ側のメトリクスはよく収集されるが、プログラム内部のメトリクス、例えば、外部API呼び出しの時間や受け付けたHTTPリクエストの数などは、あまり収集されていないという印象だ。Micrometerを使えば送信先のサービスはjarを入れ替えるだけで済むので、もっと内部のメトリクスを収集するような流れになってほしい。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-29018612509889781382020-01-02T12:55:00.001+09:002020-01-02T12:55:56.141+09:002020年年賀状<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtY5olZpFecr82xdBfD_uE9F6Avd3AWNeoC_UjRc6zGDeEMHQiyQXXk2IuQHkDbcVpCZmiwfOaLVSIxV70llXmyMdrc_XXDnbdW1nOqLBhaFwL-6Oj31M2vcoX0-xR_TWSV1dh/s1600/2020-nenga.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtY5olZpFecr82xdBfD_uE9F6Avd3AWNeoC_UjRc6zGDeEMHQiyQXXk2IuQHkDbcVpCZmiwfOaLVSIxV70llXmyMdrc_XXDnbdW1nOqLBhaFwL-6Oj31M2vcoX0-xR_TWSV1dh/s400/2020-nenga.jpg" width="270" height="400" data-original-width="284" data-original-height="420" /></a></div>
<p>今年もよろしくお願いします。</p>
<p>昨年は春でブログが途切れてしまったので、今年は最低でも各シーズンに1つは書くようがんばります。</p>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-10454347834868035232019-04-26T23:08:00.002+09:002020-10-16T07:59:00.233+09:00Tomcat DBCPをSpring Boot 2のマルチデータソースでも使うには<h2>Spring Boot 2でdefaultのDBCPが変更</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQff_YvdFCFQCQqXxXsXhNLREMUFD4-mFfF76hABJ6VjHF_AbTJ3MvEFMWLpmvoXttUcLnBWV9OTH7HRxK2ZZbGxEuTAwEJEhH0wSfPUdDVxTT9Q_F7px0WB-sjn8TjsHd09Id/s1600/cloud-3333628_1280.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQff_YvdFCFQCQqXxXsXhNLREMUFD4-mFfF76hABJ6VjHF_AbTJ3MvEFMWLpmvoXttUcLnBWV9OTH7HRxK2ZZbGxEuTAwEJEhH0wSfPUdDVxTT9Q_F7px0WB-sjn8TjsHd09Id/s400/cloud-3333628_1280.png" width="400" height="225" data-original-width="1280" data-original-height="720" /></a></div>
<p>Spring Boot 2で大きな変更がいくつか行われている。defaultのDBCPが<a href="https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html" target="_blank" class="previewlink" rel="noopener">Tomcat JDBC Connection Pool</a>から<a href="https://brettwooldridge.github.io/HikariCP/" target="_blank" class="previewlink" rel="noopener">HikariCP</a>になったのもその1つだ。Migrationしようとした時、Tomcat DBCPに依存したコードを書いていた(<a href="https://blog.hiroaki.home.group.jp/2017/03/sqlmode.html" class="previewlink" target="_blank" rel="noopener">sql_modeの設定</a>が適切でないので、Poolから接続を持ってくるときに設定しなおすsqlを割り込ませていた)ので、
<ul>
<li>HikariCPに対応したコードに修正する</li>
<li>Tomcat DBCPをそのまま使い続ける</li>
</ul>
の選択に迫られ、検証の作業工数が少なくて済みそうな後者で対応することにした。</p>
<h2>Tomcat DBCPを使い続ける設定</h2>
<p>application.propertiesに
<pre><code class="prettyprint">spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource</code></pre>
と書いて、pom.xmlで
<pre><code class="prettyprint xml"><dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.16</version>
</dependency></code></pre>
とすれば、Tomcat DBCPが使われるようになる。</p>
<h2>複数のデータソースの場合の設定</h2>
<p><a href="https://aws.amazon.com/jp/rds/aurora/" target="_blank" class="previewlink nofollow" rel="noopener">Amazon Aurora</a>のように、readとwriteで別々の接続を持たせた方が嬉しいDBMSがある。また、アクセス数が多いシステムであれば、readはレプリカから行うように負荷分散していることも多いはずだ。</p>
<p>たまたま、複数のDBにアクセスする必要があったプログラムをSpring Boot 2にバージョンアップしてみたところ、上記の設定だけではHikariCPが使われてしまっていた。</p>
<p>結局、HikariCPがクラスパス上に存在していなければTomcat DBCPが使われることから、pom.xmlでspring-boot-starter-jdbcを指定する際、
<pre><code class="prettyprint xml"><dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.16</version>
</dependency></code></pre>
のように、HikariCPを除外するようにして解決した。<a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide#working-with-sql-databases" class="previewlink" target="_blank" rel="noopener">Spring Boot 2.0 Migration Guide</a>を深読みすれば気が付く内容であったが、application.propertiesの設定でなんとかなるのではないかとがんばってしまった。もしかしたら、なんとかできる設定があるのかもしれない。</p>
<h2>HikariCPに乗り換える?</h2>
<p>Spring Bootのバージョンアップに関する記事をいくつか見てみたが、Tomcat DBCPをそのまま使い続けようとしているものは検索結果の上位にはなかった。
<ul>
<li><a href="https://qiita.com/yukina-ge/items/1ca029ed69494bfd36d6" target="_blank" class="previewlink" rel="noopener">Spring Boot 1.5.10 → Spring Boot 2.0.0 にしたときの覚書 - Qiita</a></li>
<li><a href="https://irof.hateblo.jp/entry/2018/03/02/011401" target="_blank" class="previewlink" rel="noopener">SpringBoot2.0がリリースされたのでバージョンアップしてみた - 日々常々</a></li>
<li><a href="https://www.soudegesu.com/java/migrate-springboot-1-to-2/" target="_blank" class="previewlink" rel="noopener">Spring Bootを1.5から2へマイグレーションするステップとポイント - そうなんでげす</a></li>
<li><a href="https://ksby.hatenablog.com/entry/2018/10/11/003522" target="_blank" class="previewlink" rel="noopener">Spring Boot 1.5.x の Web アプリを 2.0.x へバージョンアップする ( その10 )( Tomcat connection Pool → HikariCP に変更する ) - かんがるーさんの日記</a></li>
</ul>
確かに、DBCPに限らず、いろいろこのタイミングでSpring Bootのdefaultにあわせて変更するのがよさそうに思えるが、そこまで作業工数に恵まれたプロジェクトばかりではないのだ…。</p>
<div class="booklink-box" style="text-align:left;padding-bottom:20px;font-size:small;zoom: 1;overflow: hidden;"><div class="booklink-image" style="float:left;margin:0 15px 10px 0;"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010160755598993?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14283515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" ><img src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/2470/9784798142470.jpg?_ex=200x200" style="border: none;" /></a></div><div class="booklink-info" style="line-height:120%;zoom: 1;overflow: hidden;"><div class="booklink-name" style="margin-bottom:10px;line-height:120%"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010160755598993?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14283515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" >Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発</a><div class="booklink-powered-date" style="font-size:8pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="https://yomereba.com" rel="nofollow" target="_blank">ヨメレバ</a></div></div><div class="booklink-detail" style="margin-bottom:5px;">株式会社NTTデータ 翔泳社 2016年07月20日頃 </div><div class="booklink-link2" style="margin-top:10px;"><div class="shoplinkrakuten" style="display:inline;margin-right:5px"><a href="https://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010160755598993?pc=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F14283515%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" >楽天ブックス</a></div><div class="shoplinkrakukobo" style="display:inline;margin-right:5px"><a href="http://hb.afl.rakuten.co.jp/hgc/04e170e7.7842b4f1.04e170e8.320b4764/yomereba_main_202010160755598993?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frk%2F603ca043fbba377391906f396212c1ad%2F%3Fscid%3Daf_ich_link_urltxt%26m%3Dhttp%3A%2F%2Fm.rakuten.co.jp%2Fev%2Fbook%2F" target="_blank" >楽天kobo</a></div><div class="shoplinkamazon" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/exec/obidos/asin/4798142476/kinkyou-22/" target="_blank" >Amazon</a></div><div class="shoplinkkindle" style="display:inline;margin-right:5px"><a href="https://www.amazon.co.jp/gp/search?keywords=Spring%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80%20Spring%20Framework%E3%81%AB%E3%82%88%E3%82%8BJava%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA&__mk_ja_JP=%83J%83%5E%83J%83i&url=node%3D2275256051&tag=kinkyou-22" target="_blank" >Kindle</a></div><div class="shoplinkseven" style="display:inline;margin-right:5px"><a href="https://px.a8.net/svt/ejp?a8mat=2643C9+64AELU+2N1Y+BW8O2&a8ejpredirect=http%3A%2F%2F7af-ent.omni7.jp%2Frelay%2Faffiliate%2FentranceProcess.do%3Furl%3Dhttp%253A%252F%252F7net.omni7.jp%252Fsearch%252F%253FsearchKeywordFlg%253D1%2526keyword%253D9784798142470" target="_blank" >7net</a><img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2643C9+64AELU+2N1Y+BW8O2" alt=""></div> </div></div><div class="booklink-footer" style="clear: left"></div></div>Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.comtag:blogger.com,1999:blog-25697333.post-65586378909181046752019-04-06T05:41:00.001+09:002020-09-12T17:41:25.339+09:00WordPressのブログを引っ越した<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggH-xSVW5F2lytjsjPHiEpM15Aph-jbrf3EFNTpgG2Xg6vSjEwHk4NjahpDWkzBFXuJdg6VHUroplexL0lIf0uG8yemBjGJr3UJsEsmblXUOKGq_1jChZq_GjkFXR_Eyyh2jBq/s1600/moving-3671446_1280.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggH-xSVW5F2lytjsjPHiEpM15Aph-jbrf3EFNTpgG2Xg6vSjEwHk4NjahpDWkzBFXuJdg6VHUroplexL0lIf0uG8yemBjGJr3UJsEsmblXUOKGq_1jChZq_GjkFXR_Eyyh2jBq/s320/moving-3671446_1280.png" width="320" height="237" data-original-width="1280" data-original-height="946" /></a></div>
<p>WordPressでブログを書いていたのだが、自分で管理するのがしんどくなってきていた。
<ul>
<li>WordPressの更新は、管理画面で行えるから、いい。</li>
<li>プラグインの更新は、管理画面で行えるから、まあ、いい。</li>
<li>テーマの更新は、頻繁に行うものでもないから、まぁ、いい。</li>
</ul>
が
<ul>
<li>WordPressを動かすために必要なPHPを5から7にバージョンアップ</li>
<li>サーバのUpdate</li>
</ul>
となってくると、正直面倒くさい。こういうことは、お仕事だけで十分だ。</p>
<p>というわけで、<b>移転という視点</b>で、「WordPressが使える」とうたっている有料のサーバーを探してみた。</p>
<h2>カラフルボックスに移転した</h2>
<p>WordPressのサーバー比較とかで検索して出てくるのは、「新たに始める」ことを暗黙の前提にしているブログがほとんどだ。<br />
それでも、以前は「DNSに登録するアドレスを更新すればそのうち切り替わる」から、新旧2つのサーバでしばらく動かしておけばよかった。<br />
でも、最近はhttpsを使うようになっている。切り替わってからSSLの証明書を入手する必要があるので、以前よりも引越しにかかる時間は増えている。<br />
それに、無料のSSLを使うためにはDNSのサーバを切り替える必要があると読み取れるサービスもいくつかあった。</p>
<p>こういった点に注意して
<ul>
<li>無料のSSLが使える。証明書の取得処理は、好きな時に手動で開始できる。</li>
<li>無料のSSLを使う場合でも、DNSのサーバを切り替える必要がない</li>
</ul>
ということが読み取れた、<a href="https://px.a8.net/svt/ejp?a8mat=356TN5+8ZVTV6+42SG+5YRHE" target="_blank" rel="nofollow">ColorfulBox</a>
<img border="0" width="1" height="1" src="https://www15.a8.net/0.gif?a8mat=356TN5+8ZVTV6+42SG+5YRHE" alt="">を使うことにした。
<ul>
<li>値段は飛び抜けて高いということもない</li>
<li>サービスのスペックが他社と大きく違うこともない</li>
</ul>
と、マイナスポイントも特になかった。</p>
<h2>引越しサービスは使わなかった</h2>
<p>カラフルボックスにはWordPressの引越しを行なってくれるサービスがある。「利用してみた」というブログも見かけたが、今回は自分で行なった。<br />
といっても、手順はカラフルボックスのヘルプに書いてある。<br />
<a href="https://help.colorfulbox.jp/manual/wp-transfer/" class="previewlink" target="_blank" rel="noopener">WordPressのサイトを他サーバーから移行する方法 – ColorfulBox(カラフルボックス) サポートサイト</a><br />
「プラグインを使わない場合」の手順でDBとファイル一式をアップロードし、<br />
DNSの登録アドレスの変更→管理画面でSSL証明書の手続き<br />
という順番で、引越し完了。</p>
<h2>WordPressサービス比較</h2>
<p>今回、比較していてためになったのが<b>障害情報</b>のページ。よく読んでいると、システム構成が垣間見えて面白かった。</p>
<p>比較したサービス
<table border="1" cellspacing="1">
<tr><th>サービス名</th><th style="width:120px">申し込みページ</th><th>コメント</th></tr>
<tr><td>エックスサーバー</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+78RVQQ+CO4+67RK1" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www27.a8.net/svt/bgt?aid=190405477438&wid=001&eno=01&mid=s00000001642001044000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=35D1T1+78RVQQ+CO4+67RK1" alt=""></td><td>オススメしている人が多い。ここのサーバーを使ってWordPressのブログサービスをやっている業者があるっぽい。</td></tr>
<tr><td>wpX</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=2NK3XQ+N7XDE+CO4+ZSKW1" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www25.a8.net/svt/bgt?aid=160501742039&wid=001&eno=01&mid=s00000001642006012000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2NK3XQ+N7XDE+CO4+ZSKW1" alt=""></td><td>エックスサーバーだとお隣さんが人気サイトの場合に影響受ける印象だけど、こっちだと大丈夫そう。初期費用0円というのも、手軽に始められる。</td></tr>
<tr><td>スターサーバー</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=356TN5+9E68DU+1WTI+62MDD" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www22.a8.net/svt/bgt?aid=190114961568&wid=001&eno=01&mid=s00000008919001020000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www11.a8.net/0.gif?a8mat=356TN5+9E68DU+1WTI+62MDD" alt=""></td><td>なかなかお安い。</td></tr>
<tr><td>mixHost</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+6VOCFM+3JTE+5ZEMP" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www24.a8.net/svt/bgt?aid=190405477416&wid=001&eno=01&mid=s00000016565001005000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=35D1T1+6VOCFM+3JTE+5ZEMP" alt=""></td><td>オススメしている人が多い。エックスサーバーと同じく、使っている業者がいる感じ。</td></tr>
<tr><td>さくらのレンタルサーバー</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=2NK3XQ+AVR8TU+D8Y+69P01" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www25.a8.net/svt/bgt?aid=160501742658&wid=001&eno=01&mid=s00000001717001053000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=2NK3XQ+AVR8TU+D8Y+69P01" alt=""></td><td>レンタルサーバー以外もやっている。いろいろやれる<a href="https://px.a8.net/svt/ejp?a8mat=2BLE39+728436+D8Y+BWVTE" target="_blank" rel="nofollow">さくらのVPS</a>
<img border="0" width="1" height="1" src="https://www14.a8.net/0.gif?a8mat=2BLE39+728436+D8Y+BWVTE" alt="">は使用中。</td></tr>
<tr><td>KagoyaのWordPress専用サーバー</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+6C11GY+7YE+62MDD" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www29.a8.net/svt/bgt?aid=190405477383&wid=001&eno=01&mid=s00000001031001020000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www15.a8.net/0.gif?a8mat=35D1T1+6C11GY+7YE+62MDD" alt=""></td><td><a href="https://kusanagi.tokyo/" target="_blank" class="previewlink" rel="noopener">KUSANAGI </a>という超高速WordPressが使えるのがウリ。ただ、一部の機能が使えないという話がある。</td></tr>
<tr><td>JetBoy</td><td style="display:flex;align-items:center;"><a href="//af.moshimo.com/af/c/click?a_id=1399995&p_id=1272&pc_id=2060&pl_id=19394&guid=ON" target="_blank" rel="nofollow"><img src="//image.moshimo.com/af-img/0459/000000019394.jpg" width="120" height="60" style="border:none;"></a><img src="//i.moshimo.com/af/i/impression?a_id=1399995&p_id=1272&pc_id=2060&pl_id=19394" width="1" height="1" style="border:none;"></td><td>無料SSLを使うには、DNS Serverを切り替える必要があるように読み取れた。</td></tr>
<tr><td>ConoHa WING</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=35D1T1+6V2WTU+50+5SL7SH" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www23.a8.net/svt/bgt?aid=190405477415&wid=001&eno=01&mid=s00000000018035035000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www12.a8.net/0.gif?a8mat=35D1T1+6V2WTU+50+5SL7SH" alt=""></td><td>ちょっと高い。といっても、エックスサーバーとそれほど違わないか。</td></tr>
<tr><td>カラフルボックス</td><td style="display:flex;align-items:center;"><a href="https://px.a8.net/svt/ejp?a8mat=356TN5+8ZVTV6+42SG+60H7L" target="_blank" rel="nofollow">
<img border="0" width="120" height="60" alt="" src="https://www27.a8.net/svt/bgt?aid=190114961544&wid=001&eno=01&mid=s00000019024001010000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www17.a8.net/0.gif?a8mat=356TN5+8ZVTV6+42SG+60H7L" alt=""></td><td>WordPressの引越しメニューあり。東京と大阪でバックアップを持っている。</td></tr>
</table>
</p>
<h2>引越しはプロに任せる</h2>
<p>「Linuxの勉強だ!」という気持ちでやれる人ならともかく、「ブログ書きたい!システムのことはやりたくない!」って人は引越しサービスを使った方がいい。ブログにアクセスできないということはアフィリエイターにとっては機会損失に繋がるのだから、プロのノウハウを借りて短時間で済ませるようにすべきだと思う。</p>
Hiroaki Abehttp://www.blogger.com/profile/17433611162685241076noreply@blogger.com