<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[完全に理解した.com]]></title><description><![CDATA[エンジニアが「○○完全に理解した」までスムーズに到達するためのブログ]]></description><link>https://www.kanzennirikaisita.com</link><generator>GatsbyJS</generator><lastBuildDate>Mon, 02 Feb 2026 01:00:55 GMT</lastBuildDate><item><title><![CDATA[【2025 年 12 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2025 年 12 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202512</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202512</guid><pubDate>Sun, 04 Jan 2026 03:38:45 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2025 年 12 月に読んだ本をまとめます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://techbookfest.org/product/gYKKXa0gFGc57GG9fRURqB?productVariantID=v8Ze7earE3cC8DkbQsmdK2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フィジカルAI 入門と実践~LeRobotで手を動かすロボット作製と模倣学習~&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/49fTE8o&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基盤モデルとロボットの融合 マルチモーダルAIでロボットはどう変わるのか&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2025 年 4 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2025 年 4 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202504</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202504</guid><pubDate>Thu, 01 May 2025 02:21:28 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2025 年 4 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ai×ソフトウェア開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%C3%97%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA&quot; aria-label=&quot;ai×ソフトウェア開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AI×ソフトウェア開発&lt;/h2&gt;
&lt;h3 id=&quot;ai駆動開発完全入門-ソフトウェア開発を自動化するllmツールの操り方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8Bllm%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E6%93%8D%E3%82%8A%E6%96%B9&quot; aria-label=&quot;ai駆動開発完全入門 ソフトウェア開発を自動化するllmツールの操り方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cTQaK1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AI駆動開発完全入門 ソフトウェア開発を自動化するLLMツールの操り方&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;上流から下流まで生成aiが変革するシステム開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%8A%E6%B5%81%E3%81%8B%E3%82%89%E4%B8%8B%E6%B5%81%E3%81%BE%E3%81%A7%E7%94%9F%E6%88%90ai%E3%81%8C%E5%A4%89%E9%9D%A9%E3%81%99%E3%82%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA&quot; aria-label=&quot;上流から下流まで生成aiが変革するシステム開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4lUlUCX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;上流から下流まで生成AIが変革するシステム開発&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;AI×ソフトウェア開発の分野で2冊の書籍を読みました。&lt;/p&gt;
&lt;p&gt;『AI駆動開発完全入門』のほうは副題通りツールの使い方の解説、『上流から下流まで生成AIが変革するシステム開発』のほうは著者が実施している工夫の解説といった内容でした。&lt;/p&gt;
&lt;p&gt;このようなツールがあることは知っていても、具体的な使い方はイメージがつかないという方に参考になるかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2025 年 3 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2025 年 3 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202503</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202503</guid><pubDate>Tue, 01 Apr 2025 08:07:53 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2025 年 3 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;生成ａｉのしくみ-〈流れ〉が画像・音声・動画をつくる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%9F%E6%88%90%EF%BD%81%EF%BD%89%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%E3%80%88%E6%B5%81%E3%82%8C%E3%80%89%E3%81%8C%E7%94%BB%E5%83%8F%E3%83%BB%E9%9F%B3%E5%A3%B0%E3%83%BB%E5%8B%95%E7%94%BB%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8B&quot; aria-label=&quot;生成ａｉのしくみ 〈流れ〉が画像・音声・動画をつくる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4441IrO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;生成ＡＩのしくみ　〈流れ〉が画像・音声・動画をつくる&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;画像生成などで使われる拡散モデルのしくみを扱ったこちらの書籍を読みました。&lt;/p&gt;
&lt;p&gt;数式がないことをウリにした書籍であり詳細な理解は難しいですが、この分野のとっかかりとして読んでみるのは悪くないかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 1 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;なかなか読書の時間をとれない期間が続いていますが、少しずつ読書の時間をとるようにしていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2025 年 1 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2025 年 1 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202501</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202501</guid><pubDate>Sat, 01 Feb 2025 04:09:21 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2025 年 1 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;［入門］ドメイン駆動設計基礎と実践・クリーンアーキテクチャ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E5%85%A5%E9%96%80%EF%BC%BD%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E5%9F%BA%E7%A4%8E%E3%81%A8%E5%AE%9F%E8%B7%B5%E3%83%BB%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3&quot; aria-label=&quot;［入門］ドメイン駆動設計基礎と実践・クリーンアーキテクチャ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3CK6dfM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［入門］ドメイン駆動設計――基礎と実践・クリーンアーキテクチャ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ソフトウェアデザイン誌の特集をまとめたこちらの書籍を読みました。&lt;/p&gt;
&lt;p&gt;解説の仕方・内容とも参考になる点がたくさんありました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 1 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;ここのところ読書の時間を全然とれていないので、週 1 冊ぐらいを目標に読書の習慣を取り戻していきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Azure Easy Auth 調査メモ]]></title><description><![CDATA[Azure Easy Auth について調べたメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/azure-easy-auth-memo</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/azure-easy-auth-memo</guid><pubDate>Wed, 01 Jan 2025 06:19:48 GMT</pubDate><content:encoded>&lt;p&gt;Azure Easy Auth について調べたメモです。&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;Azure App Service や Container Apps では、「Easy Auth」を使うと簡単に認証ができる。&lt;/p&gt;
&lt;p&gt;開発者が構築したコンテナの前段でリバースプロキシのようなコンテナが起動し、&lt;code class=&quot;language-text&quot;&gt;/.auth&lt;/code&gt; 以下のエンドポイントが追加されるとのこと。&lt;/p&gt;
&lt;h2 id=&quot;認証方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%8D%E8%A8%BC%E6%96%B9%E6%B3%95&quot; aria-label=&quot;認証方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;認証方法&lt;/h2&gt;
&lt;p&gt;認証については、たとえば自社のユーザーしか使えないようにしたい場合、Azure Entra ID に登録済みのユーザーしか使えないようなことは簡単にできそう。&lt;/p&gt;
&lt;p&gt;Azure AD B2C を使えば、Cognito・Auth0・Supabase Auth を導入するのと同じように、社外のユーザーに対しても認証を構築できそう。&lt;/p&gt;
&lt;h2 id=&quot;ローカル開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E9%96%8B%E7%99%BA&quot; aria-label=&quot;ローカル開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ローカル開発&lt;/h2&gt;
&lt;p&gt;ローカルでは &lt;code class=&quot;language-text&quot;&gt;/.auth&lt;/code&gt; というエンドポイントがないので、そこをどうするかが課題。&lt;/p&gt;
&lt;p&gt;ローカルでの開発用に、&lt;code class=&quot;language-text&quot;&gt;/.auth&lt;/code&gt; 以下へのアクセスを Azure にプロキシする例がある模様。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hajekj.net/2020/05/01/running-easyauth-locally/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://hajekj.net/2020/05/01/running-easyauth-locally/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/buchanan-edwards/azure-easy-auth-local/blob/master/azure-easy-auth-local.js&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/buchanan-edwards/azure-easy-auth-local/blob/master/azure-easy-auth-local.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;実際に Easy Auth を使う開発をする際は、このようなプロキシを使うか、ローカルでは &lt;code class=&quot;language-text&quot;&gt;/.auth&lt;/code&gt; 以下へのリクエストに固定のトークンを返すような実装があるとよさそう。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/ja-jp/azure/active-directory-b2c/configure-authentication-sample-react-spa-app&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure Active Directory B2C を使用してサンプルの React シングルページ アプリケーションで認証を構成する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.shibayan.jp/entry/20220729/1659064065&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure に実装されている 3 つの Easy Auth (Web Apps / Static Web Apps / Container Apps) の実装を再確認した&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[2024 年 10 月から 12 月のふりかえり]]></title><description><![CDATA[2024 年 10 月から 12 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2024-last-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2024-last-quarter</guid><pubDate>Wed, 01 Jan 2025 01:07:08 GMT</pubDate><content:encoded>&lt;p&gt;2024 年 10 月から 12 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;出版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%87%BA%E7%89%88&quot; aria-label=&quot;出版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;出版&lt;/h2&gt;
&lt;p&gt;11 月に共著書『&lt;a href=&quot;https://amzn.to/3DzzABR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChainとLangGraphによるRAG・AIエージェント［実践］入門&lt;/a&gt;』が出版されました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://github.com/GenerativeAgents/agent-book/blob/main/assets/cover.jpg?raw=true&quot;&gt;&lt;/p&gt;
&lt;p&gt;刊行イベントも 5 つぐらい実施しました。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202410&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 10 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202412&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 12 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 6 冊でした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/3XPVG9H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデル入門&lt;/a&gt; の輪読会をしてしっかり理解していったのがとてもよかったです。&lt;/p&gt;
&lt;h2 id=&quot;ランチタイム勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%83%B3%E3%83%81%E3%82%BF%E3%82%A4%E3%83%A0%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;ランチタイム勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ランチタイム勉強会&lt;/h2&gt;
&lt;p&gt;ランチタイムの勉強会を継続しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://generative-agents.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエージェントキャッチアップ&lt;/a&gt; の勉強会を 13 回開催&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/@studyco7292/playlists&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChainゆる勉強会&lt;/a&gt; を #14 と #15 の 2 回開催しました。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;studyco&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#studyco&quot; aria-label=&quot;studyco permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StudyCo&lt;/h2&gt;
&lt;p&gt;勉強会グループ「&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;」では、以下の勉強会で登壇しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/337603/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LT大会#9】LLMの活用・機械学習・データ分析関係のいろいろな話題にふれよう【登壇者も募集】&lt;/a&gt; - 大幅アップデートされたRagas 0.2をキャッチアップ&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/338929/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024年12月】OpenAI・GoogleのAI関連アップデートをキャッチアップ！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー約 7400 名 (3 ヶ月前 + 400)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が約 3750 名 (3 ヶ月前 + 350)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2024 年 10 月から 12 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;出版 1 冊 + 刊行イベント 5 つぐらい実施&lt;/li&gt;
&lt;li&gt;ビジネス書・技術書を 6 冊読んだ&lt;/li&gt;
&lt;li&gt;ランチタイム勉強会 15 回&lt;/li&gt;
&lt;li&gt;勉強会で 2 回登壇&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;読書が全然できていないのを改善していきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 12 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 12 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202412</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202412</guid><pubDate>Wed, 01 Jan 2025 00:53:06 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 12 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;aituberを作ってみたらプロンプトエンジニアリングがよくわかった件&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aituber%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%8C%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%81%A3%E3%81%9F%E4%BB%B6&quot; aria-label=&quot;aituberを作ってみたらプロンプトエンジニアリングがよくわかった件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3DCuLaJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AITuberを作ってみたらプロンプトエンジニアリングがよくわかった件&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;『AITuberを作ってみたらプロンプトエンジニアリングがよくわかった件』を献本いただき読みました。&lt;/p&gt;
&lt;p&gt;AITuber に興味がある方にはぜひ手にとってほしいです。&lt;/p&gt;
&lt;h2 id=&quot;ローカルllm実践入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABllm%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80&quot; aria-label=&quot;ローカルllm実践入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4gYdnM8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ローカルLLM実践入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ローカル LLM (BERT あたりは除く) をテーマとした書籍は見覚えがないので読ませていただきました。&lt;/p&gt;
&lt;p&gt;ローカル LLM の概要やエコシステムについて、さくっとつかむのによかったです。&lt;/p&gt;
&lt;h2 id=&quot;はじめての知識グラフ構築ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E7%9F%A5%E8%AD%98%E3%82%B0%E3%83%A9%E3%83%95%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;はじめての知識グラフ構築ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Dzr4T8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめての知識グラフ構築ガイド&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;GraphRAG が話題なこともあり、知識グラフに関する書籍を読みました。&lt;/p&gt;
&lt;p&gt;タイトル通り、知識グラフの基礎から構築方法までまとめられており、知識グラフに興味がある方は手にとってみるとよさそうです。&lt;/p&gt;
&lt;h2 id=&quot;トップセールスは教えてくれなかった！-営業は台本が9割&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%83%E3%83%97%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%81%AF%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%82%8C%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%EF%BC%81-%E5%96%B6%E6%A5%AD%E3%81%AF%E5%8F%B0%E6%9C%AC%E3%81%8C9%E5%89%B2&quot; aria-label=&quot;トップセールスは教えてくれなかった！ 営業は台本が9割 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4fIcKVY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;トップセールスは教えてくれなかった！ 営業は台本が9割&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;営業についての書籍を 1 冊読みました。&lt;/p&gt;
&lt;p&gt;今後も技術書以外の書籍もある程度読んでいくつもりです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 4 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月も忙しく読書の時間をほとんどとれず、月の最後のあたりで 4 冊読んだ程度となりました。&lt;/p&gt;
&lt;p&gt;移動時間などで読書する習慣を戻していきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 10 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 10 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202410</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202410</guid><pubDate>Tue, 05 Nov 2024 11:52:51 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 10 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;大規模言語モデル入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80&quot; aria-label=&quot;大規模言語モデル入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3XPVG9H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデル入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;『大規模言語モデル入門』を復習として読み返しました。&lt;/p&gt;
&lt;p&gt;じっくり読んだので、Attention の構造など、前回読んだときよりさらに理解が深まりとてもよかったです。&lt;/p&gt;
&lt;h2 id=&quot;aiエディタcursor完全ガイド-やりたいことを伝えるだけでできる新世代プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BFcursor%E5%AE%8C%E5%85%A8%E3%82%AC%E3%82%A4%E3%83%89-%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8%E3%82%92%E4%BC%9D%E3%81%88%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B%E6%96%B0%E4%B8%96%E4%BB%A3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;aiエディタcursor完全ガイド やりたいことを伝えるだけでできる新世代プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4hxkU5A&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエディタCursor完全ガイド ―やりたいことを伝えるだけでできる新世代プログラミング―&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Cursor の解説書を読みました。&lt;/p&gt;
&lt;p&gt;とりあえず使ってみるだけだと知らない機能もあると思うので、こういった書籍にさっと目を通すのもいいと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月も忙しく、ほとんど読書の時間をとれませんでした。&lt;/p&gt;
&lt;p&gt;少しずつ読書の時間を取り戻していきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2024 年 7 月から 9 月のふりかえり]]></title><description><![CDATA[2024 年 7 月から 9 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2024-third-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2024-third-quarter</guid><pubDate>Tue, 01 Oct 2024 07:15:38 GMT</pubDate><content:encoded>&lt;p&gt;2024 年 7 月から 9 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;インプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;インプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インプット&lt;/h2&gt;
&lt;h3 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h3&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202407&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 7 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202409&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 9 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 2 冊でした。&lt;/p&gt;
&lt;p&gt;ここ 3 ヶ月はとにかく忙しく、読書の時間をほとんどとれませんでした。&lt;/p&gt;
&lt;h3 id=&quot;ランチタイム勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%83%B3%E3%83%81%E3%82%BF%E3%82%A4%E3%83%A0%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;ランチタイム勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ランチタイム勉強会&lt;/h3&gt;
&lt;p&gt;ランチタイムの勉強会を 2 つ立ち上げました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dify-mokumoku.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;もくもくDify&lt;/a&gt; での勉強会を 10 回開催&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://generative-agents.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエージェントキャッチアップ&lt;/a&gt; の勉強会を 3 回開催&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;アウトプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;アウトプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アウトプット&lt;/h2&gt;
&lt;h3 id=&quot;studyco&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#studyco&quot; aria-label=&quot;studyco permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StudyCo&lt;/h3&gt;
&lt;p&gt;勉強会グループ「&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;」では、以下の勉強会で登壇しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/321457/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ノーコード・ローコードLLMアプリ開発ツールの実際！Difyなど4つのツールの概要とディスカッション&lt;/a&gt; - Zapier ChatGPT Integrationsの紹介&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/324522/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習アプリケーション（LLMアプリケーション）の「評価」の基本を改めて整理・議論する会&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/328389/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LT大会#8】LLMの活用・機械学習・データ分析関係のいろいろな話題にふれよう【登壇者も募集】&lt;/a&gt; - LangGraphでのHuman-in-the-loopの実装&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/329477/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonで改めて考える「クラス（class）」の使いどころ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、ランチタイムのゆるい雰囲気の勉強会として、LangChainゆる勉強会 #9 から #13 まで、5 回開催しました。&lt;/p&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー約 7000 名 (3 ヶ月前 + 700)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が約 3400 名 (3 ヶ月前 + 400)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h3 id=&quot;他のコミュニティ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%96%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3&quot; aria-label=&quot;他のコミュニティ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;他のコミュニティ&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://langchain.connpass.com/event/329185/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChain Meetup Tokyo #2&lt;/a&gt; で「LangChainの現在とv0.3にむけて」というテーマで話しました。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2024 年 7 月から 9 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;インプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビジネス書・技術書を 2 冊読んだ&lt;/li&gt;
&lt;li&gt;ランチタイム勉強会 13 回&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;アウトプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会で 10 回登壇&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;忙しくて読書の時間をあまりとれない分、ランチタイムに勉強会を開催して強制的に時間をとったのは結構よかったです。&lt;/p&gt;
&lt;p&gt;とはいえ読書の時間はしっかりとりたいので、次の 3 ヶ月は毎月 8 冊といういつもの目標でやっていきます。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 9 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 9 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202409</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202409</guid><pubDate>Tue, 01 Oct 2024 02:25:10 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 9 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;大規模言語モデル入門ⅱ〜生成型llmの実装と評価&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80%E2%85%B1%E3%80%9C%E7%94%9F%E6%88%90%E5%9E%8Bllm%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%A8%E8%A9%95%E4%BE%A1&quot; aria-label=&quot;大規模言語モデル入門ⅱ〜生成型llmの実装と評価 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3TOFLXM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデル入門Ⅱ〜生成型LLMの実装と評価&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;『大規模言語モデル入門Ⅱ』を読みました。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3XPVG9H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデル入門&lt;/a&gt;』の続編として話題になっていたので、一通り目を通しておくことができてよかったです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 1 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;先月に引き続き今月もとても忙しく、ほとんど読書の時間をとれませんでした。&lt;/p&gt;
&lt;p&gt;積読が増えてきたので、そろそろ読書の時間をたくさんとるようにしたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 7 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 7 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202407</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202407</guid><pubDate>Thu, 01 Aug 2024 09:45:21 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 7 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;トップセールスが使いこなす！基本にして最高の営業術総まとめ-営業１年目の教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%83%E3%83%97%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%81%8C%E4%BD%BF%E3%81%84%E3%81%93%E3%81%AA%E3%81%99%EF%BC%81%E5%9F%BA%E6%9C%AC%E3%81%AB%E3%81%97%E3%81%A6%E6%9C%80%E9%AB%98%E3%81%AE%E5%96%B6%E6%A5%AD%E8%A1%93%E7%B7%8F%E3%81%BE%E3%81%A8%E3%82%81-%E5%96%B6%E6%A5%AD%EF%BC%91%E5%B9%B4%E7%9B%AE%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;トップセールスが使いこなす！基本にして最高の営業術総まとめ 営業１年目の教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3LSjzHK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;トップセールスが使いこなす！“基本にして最高の営業術”総まとめ 営業１年目の教科書&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;営業についての本を一冊読みました。&lt;/p&gt;
&lt;p&gt;技術書ばかり読んでいると思考が技術に偏りがちなので、こういった本をたまに読むのは良いなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 1 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;先月は比較的多くの本を読めていたのですが、今月は忙しかったこともあり、ほとんど読書の時間をとれませんでした。&lt;/p&gt;
&lt;p&gt;とくに忙しかったことが落ち着いたので、来月はたくさん本を読む時間をとりたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2024 年 4 月から 6 月のふりかえり]]></title><description><![CDATA[2024 年 4 月から 6 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2024-second-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2024-second-quarter</guid><pubDate>Sun, 30 Jun 2024 19:16:23 GMT</pubDate><content:encoded>&lt;p&gt;2024 年 4 月から 6 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;インプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;インプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インプット&lt;/h2&gt;
&lt;h3 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h3&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202404&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 4 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202405&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 5 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202406&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 6 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 20 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標なので、目標より少し少ない冊数になってしまいました。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/4dxuweP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;起業のファイナンス　増補改訂版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/44hH2Lb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;評価指標入門〜データサイエンスとビジネスをつなぐ架け橋&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3yQDbsx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スモールビジネスの教科書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 冊です。&lt;/p&gt;
&lt;h2 id=&quot;アウトプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;アウトプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アウトプット&lt;/h2&gt;
&lt;h3 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h3&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、読書の記録やふりかえりの記事以外まったく投稿しませんでした。&lt;/p&gt;
&lt;p&gt;また、Zenn などにも投稿しませんでした。&lt;/p&gt;
&lt;h3 id=&quot;studyco&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#studyco&quot; aria-label=&quot;studyco permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StudyCo&lt;/h3&gt;
&lt;p&gt;勉強会グループ「&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;」では、以下の勉強会で登壇しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/315393/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangSmith入門―トレース／評価／プロンプト管理などを担うLLMアプリ開発プラットフォーム&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、ランチタイムのゆるい雰囲気の勉強会として、LangChainゆる勉強会 #3 から #8 まで、6 回開催しました。&lt;/p&gt;
&lt;p&gt;あとは、LT 大会で 1 度話しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/318107/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LT大会#7】LLMの活用・機械学習・データ分析関係のいろいろな話題にふれよう【登壇者も募集】&lt;/a&gt; - RAGの評価フレームワーク「Ragas」をさくっとキャッチアップ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー 6300 人を突破 (3 ヶ月前 + 900)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 3000 を突破 (3 ヶ月前 + 600)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h3 id=&quot;外部登壇&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%96%E9%83%A8%E7%99%BB%E5%A3%87&quot; aria-label=&quot;外部登壇 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;外部登壇&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://mlops.connpass.com/event/315387/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RAG MLOps LT大会！！！&lt;/a&gt; にて、「LangSmithを活用したRAGの評価・改善フローの整備」というタイトルで LT をしました。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2024 年 4 月から 6 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;インプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビジネス書・技術書を 20 冊読んだ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;アウトプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会で 9 回登壇&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;特に LLM アプリケーションの評価に関して知見を貯めたりアウトプットしたりできました。&lt;/p&gt;
&lt;p&gt;7 月からも 3 ヶ月で明確に詳しくなったと言える分野があるようにしたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 6 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 6 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202406</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202406</guid><pubDate>Sun, 30 Jun 2024 18:56:48 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 6 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;llm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm&quot; aria-label=&quot;llm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM&lt;/h2&gt;
&lt;h3 id=&quot;llmのファインチューニングとrag-チャットボット開発による実践&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%B3%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%A8rag-%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%83%9C%E3%83%83%E3%83%88%E9%96%8B%E7%99%BA%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%B7%B5&quot; aria-label=&quot;llmのファインチューニングとrag チャットボット開発による実践 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3RR9n61&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LLMのファインチューニングとRAG ―チャットボット開発による実践―&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;amazon-bedrock-生成aiアプリ開発入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-bedrock-%E7%94%9F%E6%88%90ai%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80&quot; aria-label=&quot;amazon bedrock 生成aiアプリ開発入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cndWNA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Bedrock 生成AIアプリ開発入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;pythonと大規模言語モデルで作るリアルタイムマルチモーダル対話システム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%81%A8%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A7%E4%BD%9C%E3%82%8B%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB%E5%AF%BE%E8%A9%B1%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&quot; aria-label=&quot;pythonと大規模言語モデルで作るリアルタイムマルチモーダル対話システム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cea957&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonと大規模言語モデルで作るリアルタイムマルチモーダル対話システム&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;LLM 関連分野の書籍を 3 冊読みました。&lt;/p&gt;
&lt;p&gt;『Amazon Bedrock 生成AIアプリ開発入門』は、AWS での LLM アプリケーションの開発を非常に丁寧に解説しており、その名の通り入門書としてとても良かったです。&lt;/p&gt;
&lt;p&gt;『Pythonと大規模言語モデルで作るリアルタイムマルチモーダル対話システム』は、AITuber の開発者の方が悩んでいる点について、専門家がまとめたような内容で勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;その他、統計・機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E7%B5%B1%E8%A8%88%E3%83%BB%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;その他、統計・機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、統計・機械学習&lt;/h2&gt;
&lt;h3 id=&quot;ゼロから作るdeep-learning-❹-強化学習編&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8Bdeep-learning-%E2%9D%B9-%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92%E7%B7%A8&quot; aria-label=&quot;ゼロから作るdeep learning ❹ 強化学習編 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cJhLMU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから作るDeep Learning ❹ ―強化学習編&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;サンプルサイズの決め方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E6%B1%BA%E3%82%81%E6%96%B9&quot; aria-label=&quot;サンプルサイズの決め方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zlPNIB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サンプルサイズの決め方&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;効果検証入門〜正しい比較のための因果推論／計量経済学の基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8A%B9%E6%9E%9C%E6%A4%9C%E8%A8%BC%E5%85%A5%E9%96%80%E3%80%9C%E6%AD%A3%E3%81%97%E3%81%84%E6%AF%94%E8%BC%83%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%9B%A0%E6%9E%9C%E6%8E%A8%E8%AB%96%EF%BC%8F%E8%A8%88%E9%87%8F%E7%B5%8C%E6%B8%88%E5%AD%A6%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;効果検証入門〜正しい比較のための因果推論／計量経済学の基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ROB3IL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;効果検証入門〜正しい比較のための因果推論／計量経済学の基礎&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;統計・機械学習に関して、その他 3 冊読みました。&lt;/p&gt;
&lt;p&gt;強化学習は基本をおさえておきたかったので、『ゼロから作るDeep Learning ❹ ―強化学習編』を読めたのはとても良かったです。&lt;/p&gt;
&lt;p&gt;また、評価について改めて考えを整理したく、『サンプルサイズの決め方』と『効果検証入門』を読みました。
どちらもこの分野に興味がある人は一度目を通しておくと良い本だと感じました。&lt;/p&gt;
&lt;h2 id=&quot;オンライン講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;オンライン講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;オンライン講座&lt;/h2&gt;
&lt;h3 id=&quot;オンライン講座を売るならこの3つから始めなさい-udemyteachable国内サービス-～受講者12万人講師コンサルが教える、最短15分で動画スクール＆会員サイトを作るガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%82%92%E5%A3%B2%E3%82%8B%E3%81%AA%E3%82%89%E3%81%93%E3%81%AE3%E3%81%A4%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%81%AA%E3%81%95%E3%81%84-udemyteachable%E5%9B%BD%E5%86%85%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9-%EF%BD%9E%E5%8F%97%E8%AC%9B%E8%80%8512%E4%B8%87%E4%BA%BA%E8%AC%9B%E5%B8%AB%E3%82%B3%E3%83%B3%E3%82%B5%E3%83%AB%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E3%80%81%E6%9C%80%E7%9F%AD15%E5%88%86%E3%81%A7%E5%8B%95%E7%94%BB%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%EF%BC%86%E4%BC%9A%E5%93%A1%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E4%BD%9C%E3%82%8B%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;オンライン講座を売るならこの3つから始めなさい udemyteachable国内サービス ～受講者12万人講師コンサルが教える、最短15分で動画スクール＆会員サイトを作るガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3RPScld&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オンライン講座を売るならこの3つから始めなさい: Udemy,teachable,国内サービス ～受講者12万人講師コンサルが教える、最短15分で動画スクール＆会員サイトを作るガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;オンライン講座のプラットフォームについての最新情報を知りたく、こちらの書籍を手に取りました。&lt;/p&gt;
&lt;p&gt;Lekcha、Lectea といったサービスの概要を知ることができてとても良かったです。&lt;/p&gt;
&lt;h2 id=&quot;グラフ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%A9%E3%83%95&quot; aria-label=&quot;グラフ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;グラフ&lt;/h2&gt;
&lt;h3 id=&quot;グラフ理論入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96%E5%85%A5%E9%96%80&quot; aria-label=&quot;グラフ理論入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cELDdd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;グラフ理論入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;グラフデータベース-neo4jによるグラフデータモデルとグラフデータベース入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%A9%E3%83%95%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9-neo4j%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B0%E3%83%A9%E3%83%95%E3%83%87%E3%83%BC%E3%82%BF%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8%E3%82%B0%E3%83%A9%E3%83%95%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%85%A5%E9%96%80&quot; aria-label=&quot;グラフデータベース neo4jによるグラフデータモデルとグラフデータベース入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cL2zyz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;グラフデータベースの基礎知識を身につけたく、これら 2 冊を読みました。&lt;/p&gt;
&lt;p&gt;『グラフ理論入門』は、ひさしぶりに数学の教科書を手に取った感覚があって良かったです。&lt;/p&gt;
&lt;h2 id=&quot;特許&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%89%B9%E8%A8%B1&quot; aria-label=&quot;特許 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;特許&lt;/h2&gt;
&lt;h3 id=&quot;技術者・研究者のための-特許の知識と実務&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8A%80%E8%A1%93%E8%80%85%E3%83%BB%E7%A0%94%E7%A9%B6%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE-%E7%89%B9%E8%A8%B1%E3%81%AE%E7%9F%A5%E8%AD%98%E3%81%A8%E5%AE%9F%E5%8B%99&quot; aria-label=&quot;技術者・研究者のための 特許の知識と実務 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cHAjNv&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;技術者・研究者のための 特許の知識と実務&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;特許を取ろう-技術者・研究者へ贈るコツとテクニック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%89%B9%E8%A8%B1%E3%82%92%E5%8F%96%E3%82%8D%E3%81%86-%E6%8A%80%E8%A1%93%E8%80%85%E3%83%BB%E7%A0%94%E7%A9%B6%E8%80%85%E3%81%B8%E8%B4%88%E3%82%8B%E3%82%B3%E3%83%84%E3%81%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&quot; aria-label=&quot;特許を取ろう 技術者・研究者へ贈るコツとテクニック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cnd0sm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;特許を取ろう! ―技術者・研究者へ贈るコツとテクニック―&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;実例からわかる-特許化の要点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E4%BE%8B%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B-%E7%89%B9%E8%A8%B1%E5%8C%96%E3%81%AE%E8%A6%81%E7%82%B9&quot; aria-label=&quot;実例からわかる 特許化の要点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zpZXb8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実例からわかる　特許化の要点&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;特許の基礎知識をつけたかったので、3 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;概要は理解できましたが、なかなか難しい分野だという印象が残りました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 12 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;比較的多くの本を読めてよかったです。&lt;/p&gt;
&lt;p&gt;書籍を購入するペースが上がっているので、来月もこのぐらいの読書量をキープしたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 5 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 5 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202405</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202405</guid><pubDate>Fri, 31 May 2024 23:06:41 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 5 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;bpo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bpo&quot; aria-label=&quot;bpo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;BPO&lt;/h2&gt;
&lt;h3 id=&quot;経理業務のbpo（ビジネス・プロセス・アウトソーシング）活用のススメ-新しい経理部門が見えてくる50のポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%8C%E7%90%86%E6%A5%AD%E5%8B%99%E3%81%AEbpo%EF%BC%88%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%BB%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%83%BB%E3%82%A2%E3%82%A6%E3%83%88%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%B3%E3%82%B0%EF%BC%89%E6%B4%BB%E7%94%A8%E3%81%AE%E3%82%B9%E3%82%B9%E3%83%A1-%E6%96%B0%E3%81%97%E3%81%84%E7%B5%8C%E7%90%86%E9%83%A8%E9%96%80%E3%81%8C%E8%A6%8B%E3%81%88%E3%81%A6%E3%81%8F%E3%82%8B50%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;経理業務のbpo（ビジネス・プロセス・アウトソーシング）活用のススメ 新しい経理部門が見えてくる50のポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3V704zr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;経理業務のBPO（ビジネス・プロセス・アウトソーシング）活用のススメ: 新しい経理部門が見えてくる50のポイント&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;BPO について学ぶため、こちらの一冊を読んでみました。&lt;/p&gt;
&lt;p&gt;BPO の概要をつかむのに悪くなかったです。&lt;/p&gt;
&lt;h2 id=&quot;db&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#db&quot; aria-label=&quot;db permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DB&lt;/h2&gt;
&lt;h3 id=&quot;［改訂3版］内部構造から学ぶpostgresql設計・運用計画の鉄則&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E6%94%B9%E8%A8%823%E7%89%88%EF%BC%BD%E5%86%85%E9%83%A8%E6%A7%8B%E9%80%A0%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6postgresql%E8%A8%AD%E8%A8%88%E3%83%BB%E9%81%8B%E7%94%A8%E8%A8%88%E7%94%BB%E3%81%AE%E9%89%84%E5%89%87&quot; aria-label=&quot;［改訂3版］内部構造から学ぶpostgresql設計・運用計画の鉄則 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4e3xWGc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［改訂3版］内部構造から学ぶPostgreSQL―設計・運用計画の鉄則&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;PostgreSQL について、気になっていたこちらの書籍を読みました。&lt;/p&gt;
&lt;p&gt;設定やチューニングなどの観点で丁寧に書かれていました。&lt;/p&gt;
&lt;h2 id=&quot;スモールビジネス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%A2%E3%83%BC%E3%83%AB%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9&quot; aria-label=&quot;スモールビジネス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スモールビジネス&lt;/h2&gt;
&lt;h3 id=&quot;スモールビジネスの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%A2%E3%83%BC%E3%83%AB%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;スモールビジネスの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3yQDbsx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スモールビジネスの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;スモールビジネスの教科書【実践編】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%A2%E3%83%BC%E3%83%AB%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%80%90%E5%AE%9F%E8%B7%B5%E7%B7%A8%E3%80%91&quot; aria-label=&quot;スモールビジネスの教科書【実践編】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/457kf55&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スモールビジネスの教科書【実践編】&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;金儲けのレシピ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%87%91%E5%84%B2%E3%81%91%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94&quot; aria-label=&quot;金儲けのレシピ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4aHEUOo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;金儲けのレシピ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;スモールビジネスについて学ぶため、こちらの 3 冊を読みました。&lt;/p&gt;
&lt;p&gt;どれもとても良い本でした。&lt;/p&gt;
&lt;p&gt;とくに『スモールビジネスの教科書』は、スモールビジネスに興味のある方はもちろん、多くの方に是非ともおすすめしたい一冊でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 5 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は読書量は少なめで、積読ばかり増えてしまいました。&lt;/p&gt;
&lt;p&gt;とくに技術書をなかなか読めていないので、6 月は技術書を読む時間を増やしたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 4 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 4 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202404</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202404</guid><pubDate>Wed, 01 May 2024 00:36:20 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 4 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ファイナンス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%B3%E3%82%B9&quot; aria-label=&quot;ファイナンス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ファイナンス&lt;/h2&gt;
&lt;h3 id=&quot;起業のファイナンス-増補改訂版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B5%B7%E6%A5%AD%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%B3%E3%82%B9-%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88&quot; aria-label=&quot;起業のファイナンス 増補改訂版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4dxuweP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;起業のファイナンス　増補改訂版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;スタートアップ企業のファイナンスの基礎知識がほしかったため、『起業のファイナンス』を読みました。
表現が平易で非常に読みやすく、自分がほしかった知識を得るのにぴったりでした。
スタートアップ企業のファイナンスに興味がある方に是非おすすめしたいです。&lt;/p&gt;
&lt;h2 id=&quot;社団法人&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA&quot; aria-label=&quot;社団法人 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;社団法人&lt;/h2&gt;
&lt;h3 id=&quot;一般社団・財団法人設立完全マニュアル-第3次改訂版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E3%83%BB%E8%B2%A1%E5%9B%A3%E6%B3%95%E4%BA%BA%E8%A8%AD%E7%AB%8B%E5%AE%8C%E5%85%A8%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB-%E7%AC%AC3%E6%AC%A1%E6%94%B9%E8%A8%82%E7%89%88&quot; aria-label=&quot;一般社団・財団法人設立完全マニュアル 第3次改訂版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4dkA63R&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;一般社団・財団法人設立完全マニュアル 第3次改訂版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;一般社団法人の設立を検討するため、書籍を 1 冊読みました。
一般社団法人の定義や設立のメリット・デメリットなど含め、知りたかった情報を一通り得られました。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;評価指標入門〜データサイエンスとビジネスをつなぐ架け橋&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%95%E4%BE%A1%E6%8C%87%E6%A8%99%E5%85%A5%E9%96%80%E3%80%9C%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9%E3%81%A8%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%82%92%E3%81%A4%E3%81%AA%E3%81%90%E6%9E%B6%E3%81%91%E6%A9%8B&quot; aria-label=&quot;評価指標入門〜データサイエンスとビジネスをつなぐ架け橋 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/44hH2Lb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;評価指標入門〜データサイエンスとビジネスをつなぐ架け橋&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;機械学習の「評価」について改めて学ぶべく、『評価指標入門』読みました。
とくに第 1 章が良い内容で、目的関数と評価指標と KPI のつながりなど、とても参考になりました。
機械学習に少しでも関わる人に、是非おすすめしていきたい書籍でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 3 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;仕事がかなり忙しく、読書量は少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;読みたい本はどんどん増えているので、5 月はもう少し読書の時間をとるようにしたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2024 年 1 月から 3 月のふりかえり]]></title><description><![CDATA[2024 年 1 月から 3 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2024-first-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2024-first-quarter</guid><pubDate>Mon, 01 Apr 2024 00:52:15 GMT</pubDate><content:encoded>&lt;p&gt;2024 年 1 月から 3 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;インプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;インプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インプット&lt;/h2&gt;
&lt;h3 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h3&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202401&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 1 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202402&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 2 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202403&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2024 年 3 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 26 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標なので、目標より少し多めに読むことができました。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3w8cQ7W&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Vision Transformer入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3SD8fUj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向UIデザイン──使いやすいソフトウェアの原理&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3SWxMH6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユースケース駆動開発実践ガイド&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 冊です。&lt;/p&gt;
&lt;h2 id=&quot;アウトプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;アウトプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アウトプット&lt;/h2&gt;
&lt;h3 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h3&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、8 記事投稿しました。&lt;/p&gt;
&lt;p&gt;また、Zenn に 2 つの記事を投稿しました。&lt;/p&gt;
&lt;h3 id=&quot;studyco&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#studyco&quot; aria-label=&quot;studyco permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StudyCo&lt;/h3&gt;
&lt;p&gt;勉強会グループ「&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;」では、以下の勉強会で登壇しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/309857/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;いまこそ学ぶLLMベースのAIエージェント入門―基本的なしくみ／開発ツール／有名なOSSや論文の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、ランチタイムにゆるい雰囲気の勉強会を 3 つ開催しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/309931/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【ランチタイム勉強会】Pythonの開発環境の基本をおさえよう&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/310497/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LangChainゆる勉強会#1】LCELのチュートリアルを動かしながら解説【ランチタイム開催】&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/312506/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LangChainゆる勉強会#2】LCELでRAGを実装（クエリ拡張なども）【ランチタイム開催】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あとは、コラボ勉強会や LT 大会で、5 〜 10 分ほどの発表を 3 つしました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/304752/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【StudyCo with Momento】LLMに独自知識で回答させる「RAG」の理解を深めよう&lt;/a&gt; にて、「RAG（Retrieval Augmented Generation）の基本」&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/305299/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【StudyCo×KAGコラボ】Azure・AWSでLLMアプリ開発レベルアップ！事例＆ハンズオン&lt;/a&gt; にて、「速習：LLMアプリの開発の基本とAzure&amp;#x26;AWSの2023年の動向」&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/311547/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【LT大会#6】LLMの活用・機械学習・データ分析関係のいろいろな話題にふれよう【登壇者も募集】&lt;/a&gt; にて、「LLMチャットボットのアプリケーション設計Tips」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー 5400 人を突破 (3 ヶ月前 + 1400)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 2400 を突破 (3 ヶ月前 + 700)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h3 id=&quot;招待いただいた登壇&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8B%9B%E5%BE%85%E3%81%84%E3%81%9F%E3%81%A0%E3%81%84%E3%81%9F%E7%99%BB%E5%A3%87&quot; aria-label=&quot;招待いただいた登壇 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;招待いただいた登壇&lt;/h3&gt;
&lt;p&gt;Developers Summit 2024 にて、&lt;a href=&quot;https://event.shoeisha.jp/devsumi/20240215/session/4798&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPTでちゃんと成果を出していく&lt;/a&gt; というセッションに呼んでいただいて登壇しました。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2024 年 1 月から 3 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;インプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 23 冊の本を読んだ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;アウトプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブログを 8 記事書いた&lt;/li&gt;
&lt;li&gt;Zenn の記事を 2 つ書いた&lt;/li&gt;
&lt;li&gt;StudyCo で 7 回登壇&lt;/li&gt;
&lt;li&gt;Developers Summit 2024 で登壇&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;4 月からは論文・OSS 関連のインプットを増やすのと、実装面でのアウトプットを増やしていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 3 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 3 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202403</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202403</guid><pubDate>Mon, 01 Apr 2024 00:29:38 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 3 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;システム設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;システム設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システム設計&lt;/h2&gt;
&lt;h3 id=&quot;システム構築の大前提－－itアーキテクチャのセオリー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89%E3%81%AE%E5%A4%A7%E5%89%8D%E6%8F%90%EF%BC%8D%EF%BC%8Dit%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC&quot; aria-label=&quot;システム構築の大前提－－itアーキテクチャのセオリー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cACx1Z&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システム構築の大前提－－ITアーキテクチャのセオリー&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;システム設計関連の書籍として『ITアーキテクチャのセオリー』を読みました。&lt;/p&gt;
&lt;p&gt;エンタープライズでのアーキテクチャについて、著者の見解が手厚く書かれていました。&lt;/p&gt;
&lt;h2 id=&quot;生成-ai&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%9F%E6%88%90-ai&quot; aria-label=&quot;生成 ai permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;生成 AI&lt;/h2&gt;
&lt;h3 id=&quot;面倒なことはｃｈａｔｇｐｔにやらせよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9D%A2%E5%80%92%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AF%EF%BD%83%EF%BD%88%EF%BD%81%EF%BD%94%EF%BD%87%EF%BD%90%EF%BD%94%E3%81%AB%E3%82%84%E3%82%89%E3%81%9B%E3%82%88%E3%81%86&quot; aria-label=&quot;面倒なことはｃｈａｔｇｐｔにやらせよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/43BGa3H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;面倒なことはＣｈａｔＧＰＴにやらせよう&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;amazon-bedrock-超入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-bedrock-%E8%B6%85%E5%85%A5%E9%96%80&quot; aria-label=&quot;amazon bedrock 超入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IZvcLH&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Bedrock 超入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;生成ai時代を勝ち抜く事業・組織のつくり方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%9F%E6%88%90ai%E6%99%82%E4%BB%A3%E3%82%92%E5%8B%9D%E3%81%A1%E6%8A%9C%E3%81%8F%E4%BA%8B%E6%A5%AD%E3%83%BB%E7%B5%84%E7%B9%94%E3%81%AE%E3%81%A4%E3%81%8F%E3%82%8A%E6%96%B9&quot; aria-label=&quot;生成ai時代を勝ち抜く事業・組織のつくり方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vyJqA4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;生成AI時代を勝ち抜く事業・組織のつくり方&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;生成 AI 関連で話題の書籍を 3 冊読みました。&lt;/p&gt;
&lt;p&gt;『面倒なことはＣｈａｔＧＰＴにやらせよう』は、Advanced Data Analysis の活用の解説がとてもよく、参考になりました。&lt;/p&gt;
&lt;h2 id=&quot;研究計画&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A0%94%E7%A9%B6%E8%A8%88%E7%94%BB&quot; aria-label=&quot;研究計画 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;研究計画&lt;/h2&gt;
&lt;h3 id=&quot;増補改訂-研究計画書デザイン大学院入試から修士論文完成まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82-%E7%A0%94%E7%A9%B6%E8%A8%88%E7%94%BB%E6%9B%B8%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E5%A4%A7%E5%AD%A6%E9%99%A2%E5%85%A5%E8%A9%A6%E3%81%8B%E3%82%89%E4%BF%AE%E5%A3%AB%E8%AB%96%E6%96%87%E5%AE%8C%E6%88%90%E3%81%BE%E3%81%A7&quot; aria-label=&quot;増補改訂 研究計画書デザイン大学院入試から修士論文完成まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3PIj3yu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂　研究計画書デザイン―大学院入試から修士論文完成まで&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;研究の育て方-ゴールとプロセスの「見える化」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A0%94%E7%A9%B6%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E3%82%B4%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E3%80%8C%E8%A6%8B%E3%81%88%E3%82%8B%E5%8C%96%E3%80%8D&quot; aria-label=&quot;研究の育て方 ゴールとプロセスの「見える化」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IYGekj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;研究の育て方: ゴールとプロセスの「見える化」&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;「研究計画」という分野を少し知りたかったので、2 冊書籍を読みました。&lt;/p&gt;
&lt;p&gt;この 2 冊は「研究計画」の概要を知るのにちょうどよかったです。&lt;/p&gt;
&lt;h2 id=&quot;python&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python&quot; aria-label=&quot;python permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python&lt;/h2&gt;
&lt;h3 id=&quot;pythonプロフェッショナルプログラミング-第4版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC4%E7%89%88&quot; aria-label=&quot;pythonプロフェッショナルプログラミング 第4版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4aAzSU9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonプロフェッショナルプログラミング 第4版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Python を書く機会が増えているので、さらなるスキルアップにつながればと思い、『Pythonプロフェッショナルプログラミング』を読みました。 &lt;/p&gt;
&lt;p&gt;個人的にはすでに知見のある分野が多かったですが、Python をなんとなく書いている段階から実践的なアプリケーションを開発する段階までステップアップしたい方によさそうだと思いました。&lt;/p&gt;
&lt;h2 id=&quot;クローラー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC&quot; aria-label=&quot;クローラー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クローラー&lt;/h2&gt;
&lt;h3 id=&quot;pythonによるクローラー＆スクレイピング入門-設計・開発から収集データの解析・運用まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%EF%BC%86%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E8%A8%AD%E8%A8%88%E3%83%BB%E9%96%8B%E7%99%BA%E3%81%8B%E3%82%89%E5%8F%8E%E9%9B%86%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E8%A7%A3%E6%9E%90%E3%83%BB%E9%81%8B%E7%94%A8%E3%81%BE%E3%81%A7&quot; aria-label=&quot;pythonによるクローラー＆スクレイピング入門 設計・開発から収集データの解析・運用まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3J1Cmiu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonによるクローラー＆スクレイピング入門 設計・開発から収集データの解析・運用まで&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;pythonクローリング＆スクレイピング増補改訂版--データ収集・解析のための実践開発ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%EF%BC%86%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88--%E3%83%87%E3%83%BC%E3%82%BF%E5%8F%8E%E9%9B%86%E3%83%BB%E8%A7%A3%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%AE%9F%E8%B7%B5%E9%96%8B%E7%99%BA%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;pythonクローリング＆スクレイピング増補改訂版  データ収集・解析のための実践開発ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4cP4XFE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonクローリング＆スクレイピング[増補改訂版] -データ収集・解析のための実践開発ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;jsnodejsによるwebクローラーネットエージェント開発テクニック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#jsnodejs%E3%81%AB%E3%82%88%E3%82%8Bweb%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&quot; aria-label=&quot;jsnodejsによるwebクローラーネットエージェント開発テクニック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IXB4oK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;クローラーについて基本をおさえたく、書籍を 3 冊読みました。&lt;/p&gt;
&lt;p&gt;とくに Python で解説している 2 冊が自分にはあっていて、クローラーの基本を理解できました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 10 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;3 月前半は読書量多め、後半は購入だけして積読多めでした。&lt;/p&gt;
&lt;p&gt;4 月からも月 10 冊ぐらいは読み続けたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 2 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 2 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202402</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202402</guid><pubDate>Fri, 01 Mar 2024 04:51:07 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 2 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;要件定義・システム設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;要件定義・システム設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;要件定義・システム設計&lt;/h2&gt;
&lt;h3 id=&quot;ユースケース駆動開発実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;ユースケース駆動開発実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3SWxMH6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユースケース駆動開発実践ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;だまし絵を描かないための－－要件定義のセオリー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A0%E3%81%BE%E3%81%97%E7%B5%B5%E3%82%92%E6%8F%8F%E3%81%8B%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AE%EF%BC%8D%EF%BC%8D%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC&quot; aria-label=&quot;だまし絵を描かないための－－要件定義のセオリー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4bYPOkm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;だまし絵を描かないための－－要件定義のセオリー&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;ユーザー要件を正しく実装へつなぐシステム設計のセオリー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E8%A6%81%E4%BB%B6%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F%E5%AE%9F%E8%A3%85%E3%81%B8%E3%81%A4%E3%81%AA%E3%81%90%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC&quot; aria-label=&quot;ユーザー要件を正しく実装へつなぐシステム設計のセオリー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/49QZMma&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザー要件を正しく実装へつなぐシステム設計のセオリー&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;要件定義・システム設計の分野で 3 冊読みました。&lt;/p&gt;
&lt;p&gt;『ユースケース駆動開発実践ガイド』は 5 年ぐらいまでにも読んだことがありましたが、今改めて読むと参考になることが多く、とても素晴らしい本だと思いました。&lt;/p&gt;
&lt;p&gt;この分野の書籍は引き続きある程度読んでいくつもりです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 3 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;1 月はある程度本を読めたのですが、今月はかなり読書の時間が少なかったです。&lt;/p&gt;
&lt;p&gt;しばらく忙しくなりそうですが、読みたい本は増える一方なので、読書の時間はしっかり確保していきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「The Rise and Potential of Large Language Model Based Agents: A Survey」を読んだメモ]]></title><description><![CDATA[2023 年 9 月の論文「The Rise and Potential of Large Language Model Based Agents: A Survey」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/llm-based-agents-survey</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/llm-based-agents-survey</guid><pubDate>Tue, 20 Feb 2024 07:32:18 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 9 月の論文「&lt;a href=&quot;https://arxiv.org/abs/2309.07864&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The Rise and Potential of Large Language Model Based Agents: A Survey&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;p&gt;GitHub: &lt;a href=&quot;https://github.com/WooooDyy/LLM-Agent-Paper-List&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/WooooDyy/LLM-Agent-Paper-List&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;1-introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-introduction&quot; aria-label=&quot;1 introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 Introduction&lt;/h2&gt;
&lt;p&gt;AI エージェントの定義が以下のように書かれている。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Typically in AI, an agent refers to an artificial entity capable of perceiving its surroundings using sensors, making decisions, and then taking actions in response using actuators&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ChatGPT (GPT-3.5) による翻訳は以下の通り。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;典型的には、AIでは、エージェントはセンサーを使用して環境を感知し、意思決定を行い、アクチュエータを使用して反応的に行動を取る人工的な実体を指します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The concept of agents originated in Philosophy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;エージェントの概念の起源は哲学とのこと。&lt;/p&gt;
&lt;h2 id=&quot;2-background&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-background&quot; aria-label=&quot;2 background permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2 Background&lt;/h2&gt;
&lt;h3 id=&quot;21-origin-of-ai-agent&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#21-origin-of-ai-agent&quot; aria-label=&quot;21 origin of ai agent permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1 Origin of AI Agent&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;In a general sense, an “agent” is an entity with the capacity to act&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;一般に、エージェントとは行動する能力を持つモノを指すとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While in a narrow sense, “agency” is usually used to refer to the performance of intentional actions; and correspondingly, the term “agent” denotes entities that possess desires, beliefs, intentions, and the ability to act&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;狭義ではエージェントは、欲望・信念・意図を持ち、行動する能力を持つモノを指すとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt; Importantly, the concept of an agent involves individual autonomy, granting them the ability to exercise volition, make choices, and take actions, rather than passively reacting to external stimuli.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;重要な点は、個々に自律性を持っていて、意志をもって選択し行動することだとのこと。&lt;/p&gt;
&lt;h3 id=&quot;22-technological-trends-in-agent-research&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#22-technological-trends-in-agent-research&quot; aria-label=&quot;22 technological trends in agent research permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.2 Technological Trends in Agent Research&lt;/h3&gt;
&lt;p&gt;AI エージェントが以下のようにいくつかの方式で発展してきたことが書かれている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Symbolic Agents&lt;/li&gt;
&lt;li&gt;Reactive agents&lt;/li&gt;
&lt;li&gt;Reinforcement learning-based agents&lt;/li&gt;
&lt;li&gt;Agents with transfer learning and meta learning&lt;/li&gt;
&lt;li&gt;Large language model-based agents&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;23-why-is-llm-suitable-as-the-primary-component-of-an-agents-brain&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#23-why-is-llm-suitable-as-the-primary-component-of-an-agents-brain&quot; aria-label=&quot;23 why is llm suitable as the primary component of an agents brain permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.3 Why is LLM suitable as the primary component of an Agent’s brain?&lt;/h3&gt;
&lt;p&gt;LLM がエージェントの脳として適している理由が、以下の観点で説明されている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Autonomy&lt;/li&gt;
&lt;li&gt;Reactivity&lt;/li&gt;
&lt;li&gt;Pro-activeness&lt;/li&gt;
&lt;li&gt;Social ability&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;3-the-birth-of-an-agent-construction-of-llm-based-agents&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-the-birth-of-an-agent-construction-of-llm-based-agents&quot; aria-label=&quot;3 the birth of an agent construction of llm based agents permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 The Birth of An Agent: Construction of LLM-based Agents&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt; Inspired by this, we present a general conceptual framework of an LLM-based
agent composed of three key parts: brain, perception, and action (see Figure 2).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;LLM ベースのエージェントのフレームワークとして、脳・知覚・アクションという構成を提案している。&lt;/p&gt;
&lt;p&gt;これは LLM ベースのエージェントの基本構造として自分が考えていたものにかなり近い。&lt;/p&gt;
&lt;h3 id=&quot;31-brain&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#31-brain&quot; aria-label=&quot;31 brain permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.1 Brain&lt;/h3&gt;
&lt;h4 id=&quot;312-knowledge&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#312-knowledge&quot; aria-label=&quot;312 knowledge permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.1.2 Knowledge&lt;/h4&gt;
&lt;p&gt;必要な知識を以下の 3 種類で整理している。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;言語的な知識&lt;/li&gt;
&lt;li&gt;常識的な知識&lt;/li&gt;
&lt;li&gt;ドメインの専門知識&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4-agents-in-practice-harnessing-ai-for-good&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-agents-in-practice-harnessing-ai-for-good&quot; aria-label=&quot;4 agents in practice harnessing ai for good permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4 Agents in Practice: Harnessing AI for Good&lt;/h2&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Assist users in breaking free from daily tasks and repetitive labor, thereby Alleviating human work pressure and enhancing task-solving efficiency.&lt;/li&gt;
&lt;li&gt;No longer necessitates users to provide explicit low-level instructions. Instead, the agent can independently analyze, plan, and solve problems.&lt;/li&gt;
&lt;li&gt;After freeing users’ hands, the agent also liberates their minds to engage in exploratory and innovative work, realizing their full potential in cutting-edge scientific fields.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI エージェントの達成すべき目標として、3 つの方向性が書かれている。&lt;/p&gt;
&lt;p&gt;ChatGPT (GPT-3.5) による翻訳は以下のとおり。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;ユーザーが日常のタスクや繰り返しの労働から解放されるのを支援し、人間の仕事の圧力を軽減し、タスク解決の効率を向上させます。&lt;/li&gt;
&lt;li&gt;ユーザーが明示的な低レベルの指示を提供する必要がなくなります。代わりに、エージェントは独自に分析し、計画し、問題を解決できます。&lt;/li&gt;
&lt;li&gt;ユーザーの手を解放した後、エージェントは彼らの心も解放し、先端科学分野での彼らの全能力を実現するために探求的で革新的な作業に従事できます。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;42-coordinating-potential-of-multiple-agents&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#42-coordinating-potential-of-multiple-agents&quot; aria-label=&quot;42 coordinating potential of multiple agents permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.2 Coordinating Potential of Multiple Agents&lt;/h3&gt;
&lt;h4 id=&quot;421-cooperative-interaction-for-complementarity&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#421-cooperative-interaction-for-complementarity&quot; aria-label=&quot;421 cooperative interaction for complementarity permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.2.1 Cooperative Interaction for Complementarity&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;However, during MetaGPT’s practical exploration, a potential threat to multi-agent cooperation has been identified. Without setting corresponding rules, frequent interactions among multiple agents can amplify minor hallucinations indefinitely.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;マルチエージェントが小さなハルシネーションを増幅してしまうケースがあったとのこと。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;最後まで読んだが、とくに最初のあたりの AI エージェントの歴史・定義であったり、基本構成のフレームワークが良かった。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「A Survey on Large Language Model based Autonomous Agents」を読んだメモ]]></title><description><![CDATA[2023 年 8 月の論文「A Survey on Large Language Model based Autonomous Agents」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/a-survey-of-agents</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/a-survey-of-agents</guid><pubDate>Fri, 02 Feb 2024 09:23:18 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 8 月の論文「&lt;a href=&quot;https://arxiv.org/abs/2308.11432&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;A Survey on Large Language Model based Autonomous Agents&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;p&gt;GitHub: &lt;a href=&quot;https://github.com/Paitesanshi/LLM-Agent-Survey&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/Paitesanshi/LLM-Agent-Survey&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;1-introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-introduction&quot; aria-label=&quot;1 introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 Introduction&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Specifically, we organize our survey based on three aspects including the construction, application, and evaluation of LLM-based autonomous agents.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以下の 3 つの観点についてまとめているとのこと。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;construction&lt;/li&gt;
&lt;li&gt;application&lt;/li&gt;
&lt;li&gt;evaluation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;For the agent construction, we present a unified framework composed of four components, that is, a profile module to represent agent attributes, a memory module to store historical information, a planning module to strategize future actions, and an action module to execute the planned decisions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;エージェントの構造として、4 つのコンポーネントに整理したフレームワークを提案。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;profile&lt;/li&gt;
&lt;li&gt;memory&lt;/li&gt;
&lt;li&gt;planning&lt;/li&gt;
&lt;li&gt;action&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;2-llm-based-autonomous-agent-construction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-llm-based-autonomous-agent-construction&quot; aria-label=&quot;2 llm based autonomous agent construction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2 LLM-based Autonomous Agent Construction&lt;/h2&gt;
&lt;h3 id=&quot;21-agent-architecture-design&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#21-agent-architecture-design&quot; aria-label=&quot;21 agent architecture design permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1 Agent Architecture Design&lt;/h3&gt;
&lt;h4 id=&quot;211-profiling-module&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#211-profiling-module&quot; aria-label=&quot;211 profiling module permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1.1 Profiling Module&lt;/h4&gt;
&lt;p&gt;profile の作成方法は以下の 3 つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;手作り&lt;/li&gt;
&lt;li&gt;LLM で生成&lt;/li&gt;
&lt;li&gt;現実のデータセットに基づく&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;212-memory-module&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#212-memory-module&quot; aria-label=&quot;212 memory module permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1.2 Memory Module&lt;/h4&gt;
&lt;p&gt;たとえば、短期記憶は context window、長期記憶は vector storage とのこと。&lt;/p&gt;
&lt;h4 id=&quot;213-planning-module&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#213-planning-module&quot; aria-label=&quot;213 planning module permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1.3 Planning Module&lt;/h4&gt;
&lt;p&gt;以下の構造に整理。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;フィードバックなしの計画&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サブゴールの分解&lt;/li&gt;
&lt;li&gt;マルチパス思考&lt;/li&gt;
&lt;li&gt;外部プランナー&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;フィードバックを伴う計画&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;環境に関するフィードバック&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ReAct&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;人間のフィードバック&lt;/li&gt;
&lt;li&gt;モデルのフィードバック&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;214-action-module&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#214-action-module&quot; aria-label=&quot;214 action module permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.1.4 Action Module&lt;/h4&gt;
&lt;p&gt;ここは読み飛ばした。&lt;/p&gt;
&lt;h2 id=&quot;3-llm-based-autonomous-agent-application&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-llm-based-autonomous-agent-application&quot; aria-label=&quot;3 llm based autonomous agent application permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 LLM-based Autonomous Agent Application&lt;/h2&gt;
&lt;p&gt;どんな分野があるかまとめられている。&lt;/p&gt;
&lt;p&gt;大きくは以下の 3 分野。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;社会科学&lt;/li&gt;
&lt;li&gt;自然科学&lt;/li&gt;
&lt;li&gt;エンジニアリング&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4-llm-based-autonomous-agent-evaluation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-llm-based-autonomous-agent-evaluation&quot; aria-label=&quot;4 llm based autonomous agent evaluation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4 LLM-based Autonomous Agent Evaluation&lt;/h2&gt;
&lt;h3 id=&quot;41-subjective-evaluation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#41-subjective-evaluation&quot; aria-label=&quot;41 subjective evaluation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.1 Subjective Evaluation&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;LLM-based agents have a wide range of applications. However, in many scenarios, there lacks general metrics to evaluate the performance of agents. Some potential properties, like agent’s intelligence and user-friendliness, cannot be measured by quantitative metrics as well. Therefore, subjective evaluation is indispensable for current research.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;評価のための一般的な指標が不足しており、定量評価できない特性もあるため、現在の研究では主観的な評価は不可欠としている。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Subjective evaluation refers to the testing of the capabilities of LLM-based agents by humans through various means such as interaction, scoring, and so on.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;主観的な評価とは、人間が対話したりスコア付けするものなど。&lt;/p&gt;
&lt;p&gt;チューリングテストもある。&lt;/p&gt;
&lt;p&gt;主観的な評価に LLM を使うこともできる。&lt;/p&gt;
&lt;p&gt;たとえば EvaluatorGPT や ChatEval というものがある。&lt;/p&gt;
&lt;h3 id=&quot;42-objective-evaluation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#42-objective-evaluation&quot; aria-label=&quot;42 objective evaluation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.2 Objective Evaluation&lt;/h3&gt;
&lt;p&gt;客観的な評価の方法もいろいろある模様。&lt;/p&gt;
&lt;h2 id=&quot;6-challenges&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#6-challenges&quot; aria-label=&quot;6 challenges permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6 Challenges&lt;/h2&gt;
&lt;h3 id=&quot;62-generalized-human-alignment&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#62-generalized-human-alignment&quot; aria-label=&quot;62 generalized human alignment permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6.2 Generalized Human Alignment&lt;/h3&gt;
&lt;p&gt;LLM は人間の正しい価値観で動くよう調整されることが多いが、それではシミュレーション用途で不適切な可能性があるとのこと。&lt;/p&gt;
&lt;h3 id=&quot;65-knowledge-boundary&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#65-knowledge-boundary&quot; aria-label=&quot;65 knowledge boundary permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6.5 Knowledge Boundary&lt;/h3&gt;
&lt;p&gt;人間をシミュレーションするうえでは、LLM は膨大な知識を持ちすぎている。&lt;/p&gt;
&lt;p&gt;知識がない想定で意思決定する様子をシミュレーションするときに困る。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;エージェントの構成要素を以下の 4 つに整理しているのが分かりやすかった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;profile&lt;/li&gt;
&lt;li&gt;memory&lt;/li&gt;
&lt;li&gt;planning&lt;/li&gt;
&lt;li&gt;action&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;主観的な評価は不可欠だと明言されている点は、こう言われていますと引用しやすい。&lt;/p&gt;
&lt;p&gt;課題として、正しい倫理観を持ちすぎることや、知識がありすぎることにより、人間らしいシミュレーションをできない可能性が指摘されているのは面白い。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[MRKL の論文を読んだメモ]]></title><description><![CDATA[「MRKL Systems: A modular, neuro-symbolic architecture that combines large language models, external knowledge sources and discrete reasoning」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/mrkl-systems</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/mrkl-systems</guid><pubDate>Fri, 02 Feb 2024 01:26:25 GMT</pubDate><content:encoded>&lt;p&gt;「&lt;a href=&quot;https://arxiv.org/abs/2205.00445&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MRKL Systems: A modular, neuro-symbolic architecture that combines large language models, external knowledge sources and discrete reasoning&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[v1] Sun, 1 May 2022 11:01:28 UTC (2,143 KB)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2022 年 5 月の論文です。&lt;/p&gt;
&lt;h2 id=&quot;1-introduction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-introduction&quot; aria-label=&quot;1 introduction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 Introduction&lt;/h2&gt;
&lt;p&gt;LLM の欠点が以下のようにまとめられている。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;最新情報にアクセスできない&lt;/li&gt;
&lt;li&gt;独自の情報源にアクセスできない&lt;/li&gt;
&lt;li&gt;計算などのある種の推論が苦手&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;モデルの爆発&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;この項目は、さまざまなタスクをこなせるモデルを作るには計算リソースなどが大量に必要で困難、といった意図に読める。&lt;/li&gt;
&lt;li&gt;この論文は 2022 年 5 月時点なので、GPT-3.5 や GPT-4 を踏まえていない意見に見える。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;The solution we offer takes the form of a flexible architecture dubbed the Modular Reasoning, Knowledge and Language (MRKL, pronounced “miracle”) system, whose high-level design is depicted below.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;MRKL は、柔軟なアーキテクチャのことだと書かれている。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thus a MRKL system consists of an extendable set of modules, which we term ’experts’, and a router that routes every incoming natural language input to a module that can best respond to the input (the output of that module can be the output of the MRKL system, or be routed to another module). These modules can be:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;MRKL に登場する要素として、experts や router という単語が出ている。&lt;/p&gt;
&lt;p&gt;Grounding の汎用的なアプローチ、ということに見える。&lt;/p&gt;
&lt;h2 id=&quot;3-crossing-the-neuro-symbolic-chasm-a-calculator-test-case&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-crossing-the-neuro-symbolic-chasm-a-calculator-test-case&quot; aria-label=&quot;3 crossing the neuro symbolic chasm a calculator test case permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 Crossing the neuro-symbolic chasm: A calculator test case&lt;/h2&gt;
&lt;h3 id=&quot;31-arithmetic-as-a-test-case-for-chasm-crossing&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#31-arithmetic-as-a-test-case-for-chasm-crossing&quot; aria-label=&quot;31 arithmetic as a test case for chasm crossing permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.1 Arithmetic as a test case for chasm crossing&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Note that we limit their role to extracting the right arguments for the symbolic calculator, not performing the calculation itself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;言語モデルは引数の抽出に使うと書かれている。&lt;/p&gt;
&lt;p&gt;Function calling などの原型のようなアプローチだと捉えられそう。&lt;/p&gt;
&lt;h3 id=&quot;32-training-jurassic-x-to-extract-the-arguments-for-basic-arithmetic&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32-training-jurassic-x-to-extract-the-arguments-for-basic-arithmetic&quot; aria-label=&quot;32 training jurassic x to extract the arguments for basic arithmetic permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.2 Training Jurassic-X to extract the arguments for basic arithmetic&lt;/h3&gt;
&lt;p&gt;ここでは算術の例だけが挙げられている。&lt;/p&gt;
&lt;p&gt;MRKL 自体はかなり汎用的（たとえば RAG なども含む）が、この論文だけは算術のみを検証している模様。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;現在 LLM を使った AI エージェントのしくみの原型が提案されているように見えた。&lt;/p&gt;
&lt;p&gt;LLM を使った AI エージェントの Survey などを見て、もう少し歴史的な流れをおさえておきたいと思った。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2024 年 1 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2024 年 1 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202401</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202401</guid><pubDate>Thu, 01 Feb 2024 02:45:09 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2024 年 1 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;仕事術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%95%E4%BA%8B%E8%A1%93&quot; aria-label=&quot;仕事術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仕事術&lt;/h2&gt;
&lt;h3 id=&quot;世界一流エンジニアの思考法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%80%9D%E8%80%83%E6%B3%95&quot; aria-label=&quot;世界一流エンジニアの思考法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/48X55Ap&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;世界一流エンジニアの思考法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;とても話題になっていた『世界一流エンジニアの思考法』を読みました。&lt;/p&gt;
&lt;p&gt;話題なだけあって、参考になる内容がとても豊富でした。&lt;/p&gt;
&lt;h2 id=&quot;要件定義・システム設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;要件定義・システム設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;要件定義・システム設計&lt;/h2&gt;
&lt;h3 id=&quot;経営者が参画する要求品質の確保超上流から攻めるit化の勘どころ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%8C%E5%96%B6%E8%80%85%E3%81%8C%E5%8F%82%E7%94%BB%E3%81%99%E3%82%8B%E8%A6%81%E6%B1%82%E5%93%81%E8%B3%AA%E3%81%AE%E7%A2%BA%E4%BF%9D%E8%B6%85%E4%B8%8A%E6%B5%81%E3%81%8B%E3%82%89%E6%94%BB%E3%82%81%E3%82%8Bit%E5%8C%96%E3%81%AE%E5%8B%98%E3%81%A9%E3%81%93%E3%82%8D&quot; aria-label=&quot;経営者が参画する要求品質の確保超上流から攻めるit化の勘どころ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/49goqfF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;経営者が参画する要求品質の確保―超上流から攻めるIT化の勘どころ&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;ユーザのための要件定義ガイド第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%82%AC%E3%82%A4%E3%83%89%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;ユーザのための要件定義ガイド第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vUqMT7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザのための要件定義ガイド第2版&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;図解まるわかり-要件定義のきほん&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E3%81%BE%E3%82%8B%E3%82%8F%E3%81%8B%E3%82%8A-%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93&quot; aria-label=&quot;図解まるわかり 要件定義のきほん permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/48U73le&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解まるわかり 要件定義のきほん&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;図解即戦力-要件定義のセオリーと実践方法がこれ1冊でしっかりわかる教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%8D%B3%E6%88%A6%E5%8A%9B-%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC%E3%81%A8%E5%AE%9F%E8%B7%B5%E6%96%B9%E6%B3%95%E3%81%8C%E3%81%93%E3%82%8C1%E5%86%8A%E3%81%A7%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8B%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;図解即戦力 要件定義のセオリーと実践方法がこれ1冊でしっかりわかる教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4blnSXS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解即戦力　要件定義のセオリーと実践方法がこれ1冊でしっかりわかる教科書&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;図解即戦力-システム設計のセオリーと実践⽅法がこれ1冊でしっかりわかる教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%8D%B3%E6%88%A6%E5%8A%9B-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC%E3%81%A8%E5%AE%9F%E8%B7%B5%E2%BD%85%E6%B3%95%E3%81%8C%E3%81%93%E3%82%8C1%E5%86%8A%E3%81%A7%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8B%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;図解即戦力 システム設計のセオリーと実践⽅法がこれ1冊でしっかりわかる教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3SD7Ilg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解即戦力　システム設計のセオリーと実践⽅法がこれ1冊でしっかりわかる教科書&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;オブジェクト指向uiデザイン──使いやすいソフトウェアの原理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91ui%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E2%94%80%E2%94%80%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%8E%9F%E7%90%86&quot; aria-label=&quot;オブジェクト指向uiデザイン──使いやすいソフトウェアの原理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3SD8fUj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向UIデザイン──使いやすいソフトウェアの原理&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;introducing-eventstorming&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#introducing-eventstorming&quot; aria-label=&quot;introducing eventstorming permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://www.eventstorming.com/book/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Introducing EventStorming&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;要件定義・システム設計の書籍をいろいろと読みました。&lt;/p&gt;
&lt;p&gt;とくに IPA の『ユーザのための要件定義ガイド』は、現実的にこういう問題あるよねといった話や事例などが豊富で、想像していたよりとても良い内容でした。&lt;/p&gt;
&lt;p&gt;また、『オブジェクト指向UIデザイン』は是非とも多くの方におすすめしたいです。&lt;/p&gt;
&lt;p&gt;EventStorming の書籍は、まだ執筆途中の点も多く、書籍からしっかり学ぶのは少し大変な印象を受けました。&lt;/p&gt;
&lt;h2 id=&quot;llm-周辺&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm-%E5%91%A8%E8%BE%BA&quot; aria-label=&quot;llm 周辺 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM 周辺&lt;/h2&gt;
&lt;h3 id=&quot;azure-openai-service実践ガイド-～-llmを組み込んだシステム構築&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#azure-openai-service%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%EF%BD%9E-llm%E3%82%92%E7%B5%84%E3%81%BF%E8%BE%BC%E3%82%93%E3%81%A0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89&quot; aria-label=&quot;azure openai service実践ガイド ～ llmを組み込んだシステム構築 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/48Ydaow&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure OpenAI Service実践ガイド ～ LLMを組み込んだシステム構築&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;vision-transformer入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vision-transformer%E5%85%A5%E9%96%80&quot; aria-label=&quot;vision transformer入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w8cQ7W&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Vision Transformer入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;azure-openai-serviceではじめるchatgptllmシステム構築入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#azure-openai-service%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8Bchatgptllm%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89%E5%85%A5%E9%96%80&quot; aria-label=&quot;azure openai serviceではじめるchatgptllmシステム構築入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/49hP0VS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;chatgptによるプログラム制御入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chatgpt%E3%81%AB%E3%82%88%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E5%88%B6%E5%BE%A1%E5%85%A5%E9%96%80&quot; aria-label=&quot;chatgptによるプログラム制御入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w2rrSI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPTによるプログラム制御入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;LLM 周辺分野で何冊か読みました。&lt;/p&gt;
&lt;p&gt;『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門』については、Zenn に感想記事を書きました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zenn.dev/os1ma/articles/4476fd5f9fc01b&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://zenn.dev/os1ma/articles/4476fd5f9fc01b&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;個人的に、『Vision Transformer入門』は多くの方におすすめしたいです。&lt;/p&gt;
&lt;p&gt;現在は画像・テキストなどのマルチモーダルが話題ですが、その解説も含まれています。&lt;/p&gt;
&lt;h2 id=&quot;linux&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux&quot; aria-label=&quot;linux permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux&lt;/h2&gt;
&lt;h3 id=&quot;systemdの思想と機能-linuxを支えるシステム管理のためのソフトウェアスイート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#systemd%E3%81%AE%E6%80%9D%E6%83%B3%E3%81%A8%E6%A9%9F%E8%83%BD-linux%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E7%AE%A1%E7%90%86%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%B9%E3%82%A4%E3%83%BC%E3%83%88&quot; aria-label=&quot;systemdの思想と機能 linuxを支えるシステム管理のためのソフトウェアスイート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/47Yy1Xi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;systemdの思想と機能　Linuxを支えるシステム管理のためのソフトウェアスイート&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;発売したばかりの『systemdの思想と機能』も読んでみました。&lt;/p&gt;
&lt;p&gt;systemdについて、この本のようにまとまった情報を見たことがなく、とても良かったです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 13 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;自分としては多めの冊数ですが、月の前半でたくさん本を読んで、後半は全然読まなかったです。&lt;/p&gt;
&lt;p&gt;また 2 月前半から色々本を読むようにしたいです。&lt;/p&gt;
&lt;p&gt;そして、読んでいる途中の『Linuxプログラミングインタフェース』を 1 月は全然読み進めなかったので、2 月こそは読み進めたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「Voyager: An Open-Ended Embodied Agent with Large Language Models」を読んだメモ]]></title><description><![CDATA[「Voyager: An Open-Ended Embodied Agent with Large Language Models」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/voyager</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/voyager</guid><pubDate>Mon, 29 Jan 2024 12:34:25 GMT</pubDate><content:encoded>&lt;p&gt;「&lt;a href=&quot;https://arxiv.org/abs/2305.16291&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Voyager: An Open-Ended Embodied Agent with Large Language Models&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;h2 id=&quot;abstract&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#abstract&quot; aria-label=&quot;abstract permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Abstract&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;1) an automatic curriculum that maximizes exploration, 2) an ever-growing skill library of executable code for storing and retrieving complex behaviors, and 3) a new iterative prompting mechanism that incorporates environment feedback, execution errors, and self-verification for program improvement.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とくに 2) の動作をスキルライブラリとして保存することや、3) の検証まわりが気になった。&lt;/p&gt;
&lt;h2 id=&quot;2-method&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-method&quot; aria-label=&quot;2 method permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2 Method&lt;/h2&gt;
&lt;h3 id=&quot;22-skill-library&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#22-skill-library&quot; aria-label=&quot;22 skill library permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.2 Skill Library&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Adding a new skill. Each time GPT-4 generates and verifies a new skill, we add it to the skill library, represented by a vector database.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;スキルを生成して検証したら、ベクトルデータベースに保存するとのこと。&lt;/p&gt;
&lt;h3 id=&quot;23-iterative-prompting-mechanism&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#23-iterative-prompting-mechanism&quot; aria-label=&quot;23 iterative prompting mechanism permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.3 Iterative Prompting Mechanism&lt;/h3&gt;
&lt;p&gt;3 種類のフィードバックをするとのこと。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;環境（マインクラフト）からのフィードバック&lt;/li&gt;
&lt;li&gt;実行エラー&lt;/li&gt;
&lt;li&gt;タスクの成功の検証&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Instead of manually coding success checkers for each new task proposed by the automatic curriculum, we instantiate another GPT-4 agent for self-verification.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;別の GPT-4 インスタンスに検証させるとのこと。&lt;/p&gt;
&lt;h2 id=&quot;3-experiments&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-experiments&quot; aria-label=&quot;3 experiments permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 Experiments&lt;/h2&gt;
&lt;h3 id=&quot;32-baselines&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32-baselines&quot; aria-label=&quot;32 baselines permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.2 Baselines&lt;/h3&gt;
&lt;p&gt;ベースラインとして ReAct、Reflexion、AutoGPT と比較するとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;therefore we have to re-interpret them to be executable in MineDojo and compatible with our experimental setting:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「MineDojo」でプレイ可能なように実装し直した？
MineDojo は Minecraft の API のようなもの？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MineDojo/MineDojo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/MineDojo/MineDojo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voyager は Mineflayer を使っているとのこと。
Mineflayer は、Minecraft の JS/Python API。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PrismarineJS/mineflayer&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/PrismarineJS/mineflayer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;35-multimodal-feedback-from-humans&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#35-multimodal-feedback-from-humans&quot; aria-label=&quot;35 multimodal feedback from humans permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.5 Multimodal Feedback from Humans&lt;/h3&gt;
&lt;p&gt;この時点では GPT-4 は Vision がなかったとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We demonstrate that given human feedback, Voyager is able to construct complex 3D structures in Minecraft, such as a Nether Portal and a house (Fig. 10). There are two ways to integrate human feedback:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;人間からのフィードバックがあると、3D の建造物を建てたりできたとのこと。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;Minecraft に限った要素が多いのかと思ったら、むしろ汎用的な要素が多くて驚いた。&lt;/p&gt;
&lt;p&gt;とくにスキルを検証して保存しておくのは、元々そのようなエージェントを作りたいと思っていたので面白かった。&lt;/p&gt;
&lt;p&gt;GPT-4V がなかったころの論文なので、視覚情報が増えたらどうなるかも気になった。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[数学や科学の話で「存在しないことの証明は（悪魔の証明だから）難しい」と言うのはやめようという話]]></title><description><![CDATA[会話をしていて、「存在しないことの証明は（悪魔の証明だから）難しい」という表現を聞くことがあります。
私は「存在しないことの証明は難しいとは限らない」と考えているので、その考えをまとめておきます。]]></description><link>https://www.kanzennirikaisita.com/posts/stop-using-probatio-diabolica</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/stop-using-probatio-diabolica</guid><pubDate>Tue, 23 Jan 2024 06:08:25 GMT</pubDate><content:encoded>&lt;p&gt;会話をしていて、「存在しないことの証明は（悪魔の証明だから）難しい」という表現を聞くことがあります。&lt;/p&gt;
&lt;p&gt;私は「存在しないことの証明は難しいとは限らない」と考えているので、その考えをまとめておきます。&lt;/p&gt;
&lt;h2 id=&quot;「存在しないことの証明は（悪魔の証明だから）難しい」とは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AE%E8%A8%BC%E6%98%8E%E3%81%AF%EF%BC%88%E6%82%AA%E9%AD%94%E3%81%AE%E8%A8%BC%E6%98%8E%E3%81%A0%E3%81%8B%E3%82%89%EF%BC%89%E9%9B%A3%E3%81%97%E3%81%84%E3%80%8D%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;「存在しないことの証明は（悪魔の証明だから）難しい」とは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「存在しないことの証明は（悪魔の証明だから）難しい」とは？&lt;/h2&gt;
&lt;p&gt;「存在しないことの証明は（悪魔の証明だから）難しい」とよく言われます。&lt;/p&gt;
&lt;p&gt;例えば「宇宙人が存在しないことを証明しろ」というのは難しいですね。
宇宙を端から端まで調べない限り証明できないからです。&lt;/p&gt;
&lt;p&gt;このように、存在しないことを証明するのは、端から端まで調べる必要があるから難しい、と言われることがあります。
それを「悪魔の証明」と呼ぶのもよく聞きます。&lt;/p&gt;
&lt;p&gt;しかし、存在しないことを証明するのは、必ずしも難しくないのです。&lt;/p&gt;
&lt;h2 id=&quot;ないことの証明ができる例&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AE%E8%A8%BC%E6%98%8E%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E4%BE%8B&quot; aria-label=&quot;ないことの証明ができる例 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ないことの証明ができる例&lt;/h2&gt;
&lt;p&gt;たとえば、中学生・高校生レベルの数学で、「◯◯が存在しないことを証明せよ」という問題は定番ですね。
「10の倍数に奇数がないことを証明せよ」と言われたら、簡単に証明できます。&lt;/p&gt;
&lt;p&gt;また、私はITエンジニアですが、コンピュータの領域でも存在しないことを証明されているものはたくさんあります。
有名な例としては「停止性問題」があり、「あらゆるアルゴリズムが有限時間で停止するか判定できるアルゴリズムは存在しない」ことが証明されています。&lt;/p&gt;
&lt;p&gt;このように、数学や科学の文脈では、存在しないことの証明は必ずしも難しくないのです。&lt;/p&gt;
&lt;p&gt;（もちろん、存在しないことを証明するのが難しい場合もあります。たとえば「四色問題」が挙げられるでしょう）&lt;/p&gt;
&lt;h2 id=&quot;そもそも「悪魔の証明」とは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E3%80%8C%E6%82%AA%E9%AD%94%E3%81%AE%E8%A8%BC%E6%98%8E%E3%80%8D%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;そもそも「悪魔の証明」とは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそも「悪魔の証明」とは？&lt;/h2&gt;
&lt;p&gt;そもそも「悪魔の証明」とはなんなのでしょうか？&lt;/p&gt;
&lt;p&gt;Wikipedia には、以下のように書かれています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;悪魔の証明（あくまのしょうめい、ラテン語：probatio diabolica、英語：devil’s proof）とは、証明することが不可能か非常に困難な事象を悪魔に例えたものをいう。中世ヨーロッパのローマ法の下での法学者らが、土地や物品等の所有権が誰に帰属するのか過去に遡って証明することの困難さを、比喩的に表現した言葉が由来である。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;引用元: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E6%82%AA%E9%AD%94%E3%81%AE%E8%A8%BC%E6%98%8E&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://ja.wikipedia.org/wiki/%E6%82%AA%E9%AD%94%E3%81%AE%E8%A8%BC%E6%98%8E&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一言で言えば、法的な争いでの証明の話（とくに権利の証明の話）なんですね。&lt;/p&gt;
&lt;p&gt;「悪魔の証明」というのは、決して数学的・科学的に認められた法則ではないのです。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ということで、私は “数学や科学の話で「存在しないことの証明は（悪魔の証明だから）難しい」と言うのはやめよう” という意見を持っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2023 年 10 月から 12 月のふりかえり]]></title><description><![CDATA[2023 年 10 月から 12 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2023-last-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2023-last-quarter</guid><pubDate>Fri, 29 Dec 2023 12:31:06 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 10 月から 12 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;インプット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%97%E3%83%83%E3%83%88&quot; aria-label=&quot;インプット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インプット&lt;/h2&gt;
&lt;h3 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h3&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202310&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 10 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202311&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 11 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202312&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 12 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 16 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標だったので、目標の 2/3 程度でした。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3vid7oN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;検索システム 実務者のための開発改善ガイドブック&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/41EVsna&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;BERT入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3RFzoV1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;雑に作る ―電子工作で好きなものを作る近道集&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 冊です。&lt;/p&gt;
&lt;p&gt;LLM を使ったアプリケーション開発に関わることが増えたので、検索システムや BERT について知識を拡充できたのはとても良かったです。&lt;/p&gt;
&lt;h3 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h3&gt;
&lt;p&gt;この 3 ヶ月は資格取得などは特にしませんでした。&lt;/p&gt;
&lt;h2 id=&quot;執筆&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%B7%E7%AD%86&quot; aria-label=&quot;執筆 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;執筆&lt;/h2&gt;
&lt;h3 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h3&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3RIn0Fh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;』を執筆（共著）し、10/18 に発売されました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=7e516f3cdeca77beab485e643cf003b0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4297138395&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4297138395&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;自分でもかなり良い出来の書籍だと思います。&lt;/p&gt;
&lt;h3 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h3&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、10 記事投稿しました。&lt;/p&gt;
&lt;p&gt;また、Zenn に 3 つの記事を投稿しました。
とくに「&lt;a href=&quot;https://zenn.dev/os1ma/articles/acd3472c3a6755&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChain の新記法「LangChain Expression Language (LCEL)」入門&lt;/a&gt;」はかなり好評いただきました。&lt;/p&gt;
&lt;p&gt;今後も Zenn などに少しずつ記事を投稿しようと思います。&lt;/p&gt;
&lt;h2 id=&quot;セミナー・教材作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC%E3%83%BB%E6%95%99%E6%9D%90%E4%BD%9C%E6%88%90&quot; aria-label=&quot;セミナー・教材作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セミナー・教材作成&lt;/h2&gt;
&lt;h3 id=&quot;studyco&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#studyco&quot; aria-label=&quot;studyco permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StudyCo&lt;/h3&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は主に以下の 2 つの勉強会で登壇しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/295516/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【書籍出版記念】LangChainから学ぶLLMを使ったアプリケーションの工夫&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/298456/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【書籍出版記念vol2】LangChainでAIアシスタントを動かすハンズオン【オフライン開催】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、「&lt;a href=&quot;https://studyco.connpass.com/event/301631/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【当日開催】今朝のOpenAI DevDayでのアップデートをキャッチアップする会&lt;/a&gt;」という勉強会を企画し、多くの方にご参加いただきました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://studyco.connpass.com/event/303484/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LT大会&lt;/a&gt; では、「速習：LangChainの大きなアップデート（2023年秋〜冬）」という発表をしました。&lt;/p&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー 4000 人を突破&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 1700 を突破&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h3 id=&quot;招待いただいた登壇&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8B%9B%E5%BE%85%E3%81%84%E3%81%9F%E3%81%A0%E3%81%84%E3%81%9F%E7%99%BB%E5%A3%87&quot; aria-label=&quot;招待いただいた登壇 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;招待いただいた登壇&lt;/h3&gt;
&lt;p&gt;Forkwell さんに企画いただき、「&lt;a href=&quot;https://forkwell.connpass.com/event/301152/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;」という勉強会もさせていただきました。&lt;/p&gt;
&lt;h3 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h3&gt;
&lt;p&gt;この 3 ヶ月では、以下の 1 つのUdemy 講座を公開しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自作シェルで学ぶLinuxシステムプログラミング―Pythonで150行の「シェル」を実装してLinuxのしくみを学ぼう&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、こちらの講座含め、わたしが作成した講座の割引クーポンは、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;oss&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oss&quot; aria-label=&quot;oss permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OSS&lt;/h3&gt;
&lt;p&gt;OSS への貢献はまったくできませんでした…&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2023 年 10 月から 12 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;インプット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 16 冊の本を読んだ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;執筆&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;書籍『&lt;a href=&quot;https://amzn.to/3RIn0Fh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;』が発売された&lt;/li&gt;
&lt;li&gt;ブログを 10 記事書いた&lt;/li&gt;
&lt;li&gt;Zenn の記事を 3 つ書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会で 5 回登壇した&lt;/li&gt;
&lt;li&gt;Udemy 講座を 1 つリリースした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;発売された書籍の宣伝にかなりかたよっていた気がします。&lt;/p&gt;
&lt;p&gt;来年以降はまた新たにやりたいこともいろいろあるので、力を入れて活動していこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 12 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 12 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202312</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202312</guid><pubDate>Fri, 29 Dec 2023 12:09:11 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 12 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;言語処理系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB&quot; aria-label=&quot;言語処理系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;言語処理系&lt;/h2&gt;
&lt;h3 id=&quot;インタプリタの作り方-－言語設計／開発の基本と2つの方式による実装－&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%EF%BC%8D%E8%A8%80%E8%AA%9E%E8%A8%AD%E8%A8%88%EF%BC%8F%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A82%E3%81%A4%E3%81%AE%E6%96%B9%E5%BC%8F%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%A3%85%EF%BC%8D&quot; aria-label=&quot;インタプリタの作り方 －言語設計／開発の基本と2つの方式による実装－ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3RYVh2F&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インタプリタの作り方 －言語設計／開発の基本と2つの方式による実装－&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;インタプリタの実装方法について、丁寧に解説した書籍です。&lt;/p&gt;
&lt;p&gt;エラー処理など、入門だと書かれてない話も多く、とても勉強になりました。&lt;/p&gt;
&lt;p&gt;言語処理系の完全初心者向けではないので、『&lt;a href=&quot;https://amzn.to/3NJEAWw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;』の次ぐらいに読むのにおすすめです。&lt;/p&gt;
&lt;p&gt;インタプリタに限らない話ですが、5 章の Visitor パターンの解説がとても面白かったです。&lt;/p&gt;
&lt;h2 id=&quot;llm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm&quot; aria-label=&quot;llm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM&lt;/h2&gt;
&lt;h3 id=&quot;その仕事、aiエージェントがやっておきました。-chatgptの次に来る自律型ai革命&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%95%E4%BA%8B%E3%80%81ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%8C%E3%82%84%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82-chatgpt%E3%81%AE%E6%AC%A1%E3%81%AB%E6%9D%A5%E3%82%8B%E8%87%AA%E5%BE%8B%E5%9E%8Bai%E9%9D%A9%E5%91%BD&quot; aria-label=&quot;その仕事、aiエージェントがやっておきました。 chatgptの次に来る自律型ai革命 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3TOrs6e&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;その仕事、AIエージェントがやっておきました。 ――ChatGPTの次に来る自律型AI革命&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;LLM を使った AI エージェントについて解説したビジネス書です。&lt;/p&gt;
&lt;p&gt;BabyAGI の進化や E2B のエージェントプロトコルなど、知らない話もあり、勉強になりました。&lt;/p&gt;
&lt;p&gt;Profile を設定してヒアリングする話なども、参考になりました。&lt;/p&gt;
&lt;p&gt;また、「Generative Agents のリフレクションは、技術的には類似度のスコアが高くなる文面に変化しているということかも？」と色々考えたりしました。&lt;/p&gt;
&lt;p&gt;最近「この仕事AIエージェントにやらせたいな」と思うことが多いのですが、実際に挑戦したくなりました。&lt;/p&gt;
&lt;h2 id=&quot;システム開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA&quot; aria-label=&quot;システム開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システム開発&lt;/h2&gt;
&lt;h3 id=&quot;sec-books-共通フレーム2013（電子版）-～経営者、業務部門とともに取組む「使える」システムの実現～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sec-books-%E5%85%B1%E9%80%9A%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A02013%EF%BC%88%E9%9B%BB%E5%AD%90%E7%89%88%EF%BC%89-%EF%BD%9E%E7%B5%8C%E5%96%B6%E8%80%85%E3%80%81%E6%A5%AD%E5%8B%99%E9%83%A8%E9%96%80%E3%81%A8%E3%81%A8%E3%82%82%E3%81%AB%E5%8F%96%E7%B5%84%E3%82%80%E3%80%8C%E4%BD%BF%E3%81%88%E3%82%8B%E3%80%8D%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%AE%9F%E7%8F%BE%EF%BD%9E&quot; aria-label=&quot;sec books 共通フレーム2013（電子版） ～経営者、業務部門とともに取組む「使える」システムの実現～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3RZf6XT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SEC BOOKS　共通フレーム2013（電子版）: ～経営者、業務部門とともに取組む「使える」システムの実現～&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;開発プロセスについて色々調べる必要があり、『共通フレーム2013』を読みました。&lt;/p&gt;
&lt;p&gt;まず、共通フレームの背景や立ち位置の説明、考え方が想像していたよりもとてもよく、驚きました。&lt;/p&gt;
&lt;p&gt;文章がお堅いので、やわらかく言い換えたらすごく良い印象になりそうだと感じました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 3 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は読書量はかなり少なかったです。&lt;/p&gt;
&lt;p&gt;今月は『&lt;a href=&quot;https://amzn.to/3RDy4BV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxプログラミングインタフェース&lt;/a&gt;』も読み進めていて、3 分の 1 ぐらいのところまでやってきました。&lt;/p&gt;
&lt;p&gt;来月は『Linuxプログラミングインタフェース』をさらに読み進めたり、他にも読書量を増やしていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「自作シェルで学ぶLinuxシステムプログラミング」をリリースしました]]></title><description><![CDATA[Udemy で「自作シェルで学ぶLinuxシステムプログラミング―Pythonで150行の「シェル」を実装してLinuxのしくみを学ぼう」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-crafting-shell</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-crafting-shell</guid><pubDate>Fri, 29 Dec 2023 02:19:16 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「自作シェルで学ぶLinuxシステムプログラミング―Pythonで150行の「シェル」を実装してLinuxのしくみを学ぼう」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;IT エンジニアとして活動していると、何かの機会に Bash や Zsh といった「シェル」にふれるはずです。&lt;/p&gt;
&lt;p&gt;「シェル」についてはよく「カーネル」を囲む図で説明されたりしますが、それ以上はよく知らないという方も多いのではないでしょうか？
そもそも「カーネル」についても「OSのコア」ぐらいの簡単な説明が多く、結局何なのかよく分からないという方は少なくないと思います。&lt;/p&gt;
&lt;p&gt;さて、「シェル」で行うことといえば「コマンドの実行」ですが、そもそも「コマンドの実行」とは何なのでしょうか？
他には、「何かをインストールする」というのもよく分からない、何か理解の及ばない変化がコンピュータに起こるもの、と思っている方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;そこでこの講座では…
「シェル」を自作しながら、Linux のしくみや OS に近い領域のプログラミングを学んでいきます。
「シェルってなに？コマンドの実行ってなに？」といった疑問を解消していきます。&lt;/p&gt;
&lt;h2 id=&quot;このコースで学ぶこと・学ばないこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A7%E5%AD%A6%E3%81%B6%E3%81%93%E3%81%A8%E3%83%BB%E5%AD%A6%E3%81%B0%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8&quot; aria-label=&quot;このコースで学ぶこと・学ばないこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースで学ぶこと・学ばないこと&lt;/h2&gt;
&lt;p&gt;シェルの自作は、大きく 2 つの知識から成り立ちます。&lt;/p&gt;
&lt;p&gt;1.「Linux システムプログラミング」（OS に近い領域のプログラミングの知識）
2.「インタプリタの作り方」（プログラミング言語の解析・実行の知識）&lt;/p&gt;
&lt;p&gt;このコースで学ぶのは「Linux システムプログラミング」の知識です。
このコースでは「インタプリタの作り方」は扱いません。&lt;/p&gt;
&lt;p&gt;※ 実装するシェルも、あくまで学習目的の簡易的なものです&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Linux に入門して基本的なコマンドを身につけたが、もっと詳しくしくみを理解したい方&lt;/li&gt;
&lt;li&gt;Linux における「シェル」や「コマンドの実行」「標準入出力」などのしくみを、シェルの実装のレベルで知りたい方&lt;/li&gt;
&lt;li&gt;OS に近い領域のプログラミングに興味がある方&lt;/li&gt;
&lt;li&gt;プログラムをすらすら実装できるようになってきて、少し発展的な題材の実装に挑戦してみたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;python-で自作シェルを実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python-%E3%81%A7%E8%87%AA%E4%BD%9C%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%92%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;python で自作シェルを実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python で自作シェルを実装&lt;/h2&gt;
&lt;p&gt;シェルのような OS に近い領域のプログラムの実装には、C や Go、Rust といったプログラミング言語が使われることが多いです。
しかし、これらの言語よりも少ない前提知識で挑戦できるよう、このコースでは「Python」を使ってシェルを実装します。&lt;/p&gt;
&lt;p&gt;「Python でシェルを自作できるの？」という疑問を持つかもしれませんが、Linux の動作を踏まえると、Python でも実装可能なのです。
なぜ Python でもシェルを実装可能なのか、という動作のしくみについても解説していきます。&lt;/p&gt;
&lt;h2 id=&quot;たった-150-行のコード・3-時間の講座で解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9F%E3%81%A3%E3%81%9F-150-%E8%A1%8C%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%BB3-%E6%99%82%E9%96%93%E3%81%AE%E8%AC%9B%E5%BA%A7%E3%81%A7%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;たった 150 行のコード・3 時間の講座で解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;たった 150 行のコード・3 時間の講座で解説&lt;/h2&gt;
&lt;p&gt;最終的に完成する自作シェルは、Python で 150 行程度というとても小さなコードです。&lt;/p&gt;
&lt;p&gt;また、講座全体としても 3 時間ほどで、コンパクトに学習できるようになっています。&lt;/p&gt;
&lt;p&gt;この小さなコード、短時間の講座で、Linux のしくみや OS に近い領域のプログラミングについて、多くのことを学んでいきます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;「シェル」の自作に興味を持つ方は多いと思いますが、私が調べた限り、少なくとも日本語では、しっかりまとまった解説が見つかりませんでした。&lt;/p&gt;
&lt;p&gt;簡易的なシェルの自作は実はとても簡単で、プログラムの動作を学ぶのにもぴったりの題材です。
ぜひ受講してみてください！&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年末】自分のまわりで感じる IT トレンドの 9 のテーマ]]></title><description><![CDATA[2023 年ももう終わろうとしています。
この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。
機械学習関連とその他、という大きく 2 種類でまとめていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/it-trends-2023</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/it-trends-2023</guid><pubDate>Wed, 20 Dec 2023 08:23:03 GMT</pubDate><content:encoded>&lt;p&gt;2023 年ももう終わろうとしています。&lt;/p&gt;
&lt;p&gt;この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。&lt;/p&gt;
&lt;p&gt;機械学習関連とその他、という大きく 2 種類でまとめていきます。&lt;/p&gt;
&lt;p&gt;関連&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2022 年: &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-trends-2022&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年末】自分のまわりで感じる IT トレンドの 13 のテーマ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2021 年: &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-trends-2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年末】自分のまわりで感じる IT トレンドの 8 のテーマ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2020 年: &lt;a href=&quot;https://qiita.com/os1ma/items/2d474829d786dc813250&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年末】自分のまわりで感じる IT トレンドの 18 のテーマ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;機械学習関連&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E9%96%A2%E9%80%A3&quot; aria-label=&quot;機械学習関連 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習関連&lt;/h2&gt;
&lt;h3 id=&quot;llm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm&quot; aria-label=&quot;llm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM&lt;/h3&gt;
&lt;p&gt;まず誰の目にも明らかなように、今年は LLM がトレンドでした。
2022 年 11 月末の ChatGPT の公開以来、この 1 年は ChatGPT がほぼ全てだったと言っても過言ではないでしょう。&lt;/p&gt;
&lt;p&gt;3 月に公開された GPT-4 にふれたときは、「もう人間の仕事なんてすぐなくなるじゃん」と絶望しました。&lt;/p&gt;
&lt;p&gt;API も使えるようになってからは、各社で LLM を使ったアプリケーション開発が流行しました。
ローカル LLM に対する LoRA などの PEFT もよく目にするようになりました。&lt;/p&gt;
&lt;h3 id=&quot;langchain&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#langchain&quot; aria-label=&quot;langchain permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LangChain&lt;/h3&gt;
&lt;p&gt;LLM を使ったアプリケーション開発が盛り上がり、その分野では LangChain が圧倒的にトレンドを持っていったと言えると思います。&lt;/p&gt;
&lt;p&gt;よく言われるように Production で使うかは要検討ではありますが、非常に面白いフレームワークです。&lt;/p&gt;
&lt;p&gt;LLM を使ったアプリケーション開発を学びたい方は、まず LangChain の基本機能をさわるのがおすすめです。
是非『&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;』を手に取ってください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=66d426482032d47c99ca0873844d0b4c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4297138395&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4297138395&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;aituber&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aituber&quot; aria-label=&quot;aituber permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AITuber&lt;/h3&gt;
&lt;p&gt;LLM の流行にともない「AITuber」という新しい言葉が生まれました。
個人的に関心があり、比較的早くから見ていたのですが、2 月にとある有名 AITuber の歌を聴いたときは、「自分はすごい時代に生きているんだな…」と感動しました。&lt;/p&gt;
&lt;p&gt;AITuber と多少関連して思い当たったものとして、「ずんだもん」もとても流行っていますね。&lt;/p&gt;
&lt;h3 id=&quot;rag-retrieval-augmented-generation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rag-retrieval-augmented-generation&quot; aria-label=&quot;rag retrieval augmented generation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;RAG (Retrieval Augmented Generation)&lt;/h3&gt;
&lt;p&gt;LLM に独自文書をもとに回答させる「RAG」という手法も非常にトレンドになっています。&lt;/p&gt;
&lt;p&gt;「LLM を使って我社も何かしなくては！」というところから、「社内文書に基づいて答えてくれるチャットボットが作れるらしい！ちょうどよいテーマでは？」という流れで流行っているのではないかと思います。&lt;/p&gt;
&lt;p&gt;個人的な想像ですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAG は実際にやってみるとかなり難しい&lt;/li&gt;
&lt;li&gt;「社内文書に基づいて答えてくれるチャットボット」は、金銭的なメリットが分かりにくい&lt;/li&gt;
&lt;li&gt;汎用的な機能は OpenAI や Azure、AWS などが提供してくる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった理由から、徐々に流行が落ち着いてくるのではないかと思います。&lt;/p&gt;
&lt;h3 id=&quot;ai-エージェント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88&quot; aria-label=&quot;ai エージェント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AI エージェント&lt;/h3&gt;
&lt;p&gt;LLM の応用として「AI エージェント」も盛り上がっています。
「Generative Agents」や「ChatDev」など、たくさんの AI エージェントが話題となりました。&lt;/p&gt;
&lt;p&gt;まだ実用的なレベルまで達していない印象はありますが、これからさらに盛り上がる可能性は高いと思います。&lt;/p&gt;
&lt;h3 id=&quot;マルチモーダル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB&quot; aria-label=&quot;マルチモーダル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;マルチモーダル&lt;/h3&gt;
&lt;p&gt;OpenAI の GPT-4V や Google の Gemini など、マルチモーダルな AI も大きなトレンドでした。&lt;/p&gt;
&lt;p&gt;AGI (汎用人工知能) という言葉もよく目にするようになりました。
ちなみに「GPT-4 は AGI の初期のバージョンだ」と言われることがありますが、私も LLM は汎用性をある程度獲得しているため、近いことを考えていたりします。&lt;/p&gt;
&lt;p&gt;ほかにも、リアルタイムで動作する高性能なボイスチェンジャー「RVC」や、音楽生成 AI の「Suno AI」なども大きな話題となり、まさに AI が話題の中心となる 1 年でした。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;worldcoin&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#worldcoin&quot; aria-label=&quot;worldcoin permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Worldcoin&lt;/h3&gt;
&lt;p&gt;LLM の流行とある程度関係しますが、Worldcoin も話題となっていました。&lt;/p&gt;
&lt;p&gt;個人的に、自分が生きている間に人類の仕事がなくなる可能性が結構あると思っているのですが、そのときの金銭的な問題を解決するアイデアとして非常に面白いと思います。&lt;/p&gt;
&lt;h3 id=&quot;特化型のクラウドプラットフォーム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%89%B9%E5%8C%96%E5%9E%8B%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0&quot; aria-label=&quot;特化型のクラウドプラットフォーム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;特化型のクラウドプラットフォーム&lt;/h3&gt;
&lt;p&gt;ここ数年、AWS や Azure、GCP といった大きなクラウドプロバイダではない、特化型のクラウドプラットフォームが話題となっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloudflare (単なる CDN としてではなく、アプリケーションの実行環境として)&lt;/li&gt;
&lt;li&gt;Momento&lt;/li&gt;
&lt;li&gt;Supabase&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、特化した分野について、非常に良い UX で使えるサービスが増えています。&lt;/p&gt;
&lt;p&gt;事例などもかなり増えてきており、個人開発であればもちろん、企業での導入事例も増えていきそうです。&lt;/p&gt;
&lt;h3 id=&quot;app-router・react-server-components&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#app-router%E3%83%BBreact-server-components&quot; aria-label=&quot;app router・react server components permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;App Router・React Server Components&lt;/h3&gt;
&lt;p&gt;最後に、自分はほぼふれていませんが、Next.js の App Router という機能や、React Server Components はかなり話題になっていると思います。&lt;/p&gt;
&lt;p&gt;徐々に React (Next.js) 一択という状況でもなくなってきているようにも感じます。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2023 年に自分のまわりで感じた IT トレンドについて書きました。&lt;/p&gt;
&lt;p&gt;今年はどうしても LLM 中心の 1 年でした。&lt;/p&gt;
&lt;p&gt;LLM といっても応用・発展の方向性はいろいろありえるので、来年はまた新しい話題が出てくるかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 11 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 11 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202311</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202311</guid><pubDate>Fri, 01 Dec 2023 01:21:57 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 11 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;電子工作&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C&quot; aria-label=&quot;電子工作 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;電子工作&lt;/h2&gt;
&lt;h3 id=&quot;雑に作る-電子工作で好きなものを作る近道集&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E3%81%AB%E4%BD%9C%E3%82%8B-%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C%E3%81%A7%E5%A5%BD%E3%81%8D%E3%81%AA%E3%82%82%E3%81%AE%E3%82%92%E4%BD%9C%E3%82%8B%E8%BF%91%E9%81%93%E9%9B%86&quot; aria-label=&quot;雑に作る 電子工作で好きなものを作る近道集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3N8R75x&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;雑に作る ―電子工作で好きなものを作る近道集&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4814400497?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=51ef6c6e79499e5ce1566d85e29ebcbd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4814400497&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4814400497&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;電子工作の書籍で話題になっていた『雑に作る』を読みました。&lt;/p&gt;
&lt;p&gt;この本は&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「最低限の基礎を理解してから始めよう！」って書いてあるけど最低限の基礎の範囲がそもそもわかんない&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;といった初心者を対象としています。&lt;/p&gt;
&lt;p&gt;「これだけは気をつけよう」といった初心者向けのポイントや、「こういうことできるよ」といった例がまとまっており、本当に電子工作の本 2 冊目ぐらいにぴったりだと思いました。&lt;/p&gt;
&lt;p&gt;最近読んだ技術書の中で一番読んでいて楽しくもあったので、電子工作に興味がある方には是非おすすめしたいです。&lt;/p&gt;
&lt;h2 id=&quot;llm-周辺&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm-%E5%91%A8%E8%BE%BA&quot; aria-label=&quot;llm 周辺 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM 周辺&lt;/h2&gt;
&lt;h3 id=&quot;aituberを作ってみたら生成aiプログラミングがよくわかった件&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aituber%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%89%E7%94%9F%E6%88%90ai%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%8C%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%81%A3%E3%81%9F%E4%BB%B6&quot; aria-label=&quot;aituberを作ってみたら生成aiプログラミングがよくわかった件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uFX1Vy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AITuberを作ってみたら生成AIプログラミングがよくわかった件&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CLKZ7NC3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=418ee6647f0af17c9e5c54b8621e8db0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CLKZ7NC3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CLKZ7NC3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ツールからエージェントへ。-弱いaiのデザイン-人工知能時代のインタフェース設計論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%84%E3%83%BC%E3%83%AB%E3%81%8B%E3%82%89%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%B8%E3%80%82-%E5%BC%B1%E3%81%84ai%E3%81%AE%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD%E6%99%82%E4%BB%A3%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E8%A8%AD%E8%A8%88%E8%AB%96&quot; aria-label=&quot;ツールからエージェントへ。 弱いaiのデザイン 人工知能時代のインタフェース設計論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/4a3f200&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ツールからエージェントへ。 弱いAIのデザイン　人工知能時代のインタフェース設計論&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0798FH4G4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c101ae58e3e710415512ace3a9911466&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0798FH4G4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0798FH4G4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;bert入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bert%E5%85%A5%E9%96%80&quot; aria-label=&quot;bert入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Rmz2U5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;BERT入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B8BT47QY?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=331961f238acdb7e65dcf555766ee68a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B8BT47QY&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B8BT47QY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LLM 周辺分野で何冊か読みました。&lt;/p&gt;
&lt;p&gt;AITuber の書籍は、まさに AITuber を作ってみたいという方にぴったりの解説でとてもよかったです。&lt;/p&gt;
&lt;p&gt;『BERT入門』は、Attention・Transformer・BERTの入門的な説明が、今まで見た中で一番とっかかりとして理解しやすく、おすすめしたくなる書籍でした。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;初めての1人saas開発チャレンジ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE1%E4%BA%BAsaas%E9%96%8B%E7%99%BA%E3%83%81%E3%83%A3%E3%83%AC%E3%83%B3%E3%82%B8&quot; aria-label=&quot;初めての1人saas開発チャレンジ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3R1sRU3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;初めての1人SaaS開発チャレンジ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09WZWS712?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7a18740325a69be156af77b48d8dfa6b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09WZWS712&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09WZWS712&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;その他、ちょっとした本も読んだりしました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 5 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;『雑に作る』が自分にマッチしていてとても良かったのと、『BERT入門』の解説が分かりやすくて良かったです。&lt;/p&gt;
&lt;p&gt;読んだ冊数は少なめだったので、来月はもう少したくさん読もうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 10 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 10 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202310</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202310</guid><pubDate>Wed, 01 Nov 2023 07:22:07 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 10 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;電子工作&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C&quot; aria-label=&quot;電子工作 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;電子工作&lt;/h2&gt;
&lt;h3 id=&quot;最新-pico-w-対応！ラズパイ-pico-完全ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%80%E6%96%B0-pico-w-%E5%AF%BE%E5%BF%9C%EF%BC%81%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4-pico-%E5%AE%8C%E5%85%A8%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;最新 pico w 対応！ラズパイ pico 完全ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/40o0HXU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;最新 Pico W 対応！ラズパイ Pico 完全ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BYC4FLMF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bc6d710c10a8e494af97a3af389ff5ab&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BYC4FLMF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BYC4FLMF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ラズパイ Pico を使ってちょっとした電子工作をしたかったので、こちらの書籍を読んでみました。&lt;/p&gt;
&lt;p&gt;電子工作の入門書はいくつか読んでいますが、この本はその中でもかなり良かったです。&lt;/p&gt;
&lt;p&gt;ラズパイ Pico は 1000 円程度で購入できることもあり、電子工作の入門としてこの本 + ラズパイ Pico を買ってみるのはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;検索システム・推薦システム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A4%9C%E7%B4%A2%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E6%8E%A8%E8%96%A6%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&quot; aria-label=&quot;検索システム・推薦システム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;検索システム・推薦システム&lt;/h2&gt;
&lt;h3 id=&quot;検索システム-実務者のための開発改善ガイドブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A4%9C%E7%B4%A2%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0-%E5%AE%9F%E5%8B%99%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E9%96%8B%E7%99%BA%E6%94%B9%E5%96%84%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;検索システム 実務者のための開発改善ガイドブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/47g134Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;検索システム 実務者のための開発改善ガイドブック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4908686130?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0fbb01506cd957615d8226409f767ff2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4908686130&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4908686130&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;基礎から学ぶ推薦システム---情報技術で嗜好を予測する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E6%8E%A8%E8%96%A6%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0---%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E3%81%A7%E5%97%9C%E5%A5%BD%E3%82%92%E4%BA%88%E6%B8%AC%E3%81%99%E3%82%8B&quot; aria-label=&quot;基礎から学ぶ推薦システム   情報技術で嗜好を予測する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/47x5Jnl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶ推薦システム - 情報技術で嗜好を予測する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4339029289?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ca0f9be772ef18f1e1ae4f33d667cf3c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4339029289&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4339029289&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;RAG (Retrieval Augmented Generation) の話をしていると、「Embedding を使ったベクトル検索と全文検索の違いは？」とよく聞かれるのですが、そもそも全文検索についてよく知らなかったので、検索システム（そして近い話題の推薦システム）について 1 冊ずつ読んでみました。&lt;/p&gt;
&lt;p&gt;『検索システム 実務者のための開発改善ガイドブック』は、全文検索エンジンのしくみの基本から、インタフェース設計や運用といった実践的な話まで書かれていて、とても良かったです。&lt;/p&gt;
&lt;p&gt;『基礎から学ぶ推薦システム』もとても読みやすくてよかったです。
機械学習のちょっと実用よりの入門書として読むのもよさそうでした。&lt;/p&gt;
&lt;p&gt;検索システム・推薦システムに興味がある方には、この 2 冊はとてもおすすめです。
（『基礎から学ぶ推薦システム』はある程度数式が出てくるので、数式に抵抗がある方はご注意ください）&lt;/p&gt;
&lt;h2 id=&quot;llm・ai-アプリ開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm%E3%83%BBai-%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA&quot; aria-label=&quot;llm・ai アプリ開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM・AI アプリ開発&lt;/h2&gt;
&lt;h3 id=&quot;langchain-完全入門-生成-ai-アプリケーション開発がはかどる大規模言語モデルの操り方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#langchain-%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-%E7%94%9F%E6%88%90-ai-%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%E3%81%8C%E3%81%AF%E3%81%8B%E3%81%A9%E3%82%8B%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E6%93%8D%E3%82%8A%E6%96%B9&quot; aria-label=&quot;langchain 完全入門 生成 ai アプリケーション開発がはかどる大規模言語モデルの操り方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/478FUte&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChain 完全入門　生成 AI アプリケーション開発がはかどる大規模言語モデルの操り方&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CL49K74N?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=28e54a5572134fe9d21819402fa9dfcd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CL49K74N&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CL49K74N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;azure-openai-プログラミング入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#azure-openai-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80&quot; aria-label=&quot;azure openai プログラミング入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3QjrHmA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure OpenAI プログラミング入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CJT9ZQZ8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=dee20a4dd7676e63bb1cbaa3bc97d3d2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CJT9ZQZ8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CJT9ZQZ8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;python×api-で動かして学ぶ-ai-活用プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%C3%97api-%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6-ai-%E6%B4%BB%E7%94%A8%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;python×api で動かして学ぶ ai 活用プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3tWlLZd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python×API で動かして学ぶ AI 活用プログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CLKH9RSH?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=caea4bb1c59327815c86139faff52645&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CLKH9RSH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CLKH9RSH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;とくに LLM を使ったアプリケーション開発について知識を補完するため、3 冊ほど手に取ってみました。&lt;/p&gt;
&lt;p&gt;自分の場合は、すでにある程度知識のある分野なので大きな発見はありませんでしたが、細々知らない知識を得られてよかったです。&lt;/p&gt;
&lt;h2 id=&quot;技術書以外&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8A%80%E8%A1%93%E6%9B%B8%E4%BB%A5%E5%A4%96&quot; aria-label=&quot;技術書以外 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;技術書以外&lt;/h2&gt;
&lt;h3 id=&quot;コンセプトの教科書あたらしい価値のつくりかた&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%81%82%E3%81%9F%E3%82%89%E3%81%97%E3%81%84%E4%BE%A1%E5%80%A4%E3%81%AE%E3%81%A4%E3%81%8F%E3%82%8A%E3%81%8B%E3%81%9F&quot; aria-label=&quot;コンセプトの教科書あたらしい価値のつくりかた permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/40rcDbm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンセプトの教科書――あたらしい価値のつくりかた&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BZQZB2NZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=99bc3da1703e512f6b120b64f2da916b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BZQZB2NZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BZQZB2NZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;discord-活用ガイド-基本操作＆サーバー設営＆活用事例が丸ごとわかる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#discord-%E6%B4%BB%E7%94%A8%E3%82%AC%E3%82%A4%E3%83%89-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%EF%BC%86%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%AD%E5%96%B6%EF%BC%86%E6%B4%BB%E7%94%A8%E4%BA%8B%E4%BE%8B%E3%81%8C%E4%B8%B8%E3%81%94%E3%81%A8%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;discord 活用ガイド 基本操作＆サーバー設営＆活用事例が丸ごとわかる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/49vt7n1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Discord 活用ガイド 基本操作＆サーバー設営＆活用事例が丸ごとわかる本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CB82XXHV?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=dcb616f0c0ec2c65d7e2a844e9abd893&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CB82XXHV&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CB82XXHV&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;技術書以外にも、2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;ここ数年は技術書ばかり読んでいるのですが、たまにはこういった本を読むのもいいですね。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 8 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;比較的さくさく読める本を多めに手に取ることで、読書の習慣を持ちやすかったです。&lt;/p&gt;
&lt;p&gt;来月以降もこのくらいの量の読書を継続できればと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[MarioGPT の論文を読んだメモ]]></title><description><![CDATA[「MarioGPT: Open-Ended Text2Level Generation through Large Language Models」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/mario-gpt</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/mario-gpt</guid><pubDate>Mon, 30 Oct 2023 12:45:54 GMT</pubDate><content:encoded>&lt;p&gt;「&lt;a href=&quot;https://arxiv.org/abs/2302.05981&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MarioGPT: Open-Ended Text2Level Generation through Large Language Models&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;h2 id=&quot;abstract&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#abstract&quot; aria-label=&quot;abstract permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ABSTRACT.&lt;/h2&gt;
&lt;p&gt;MarioGPT は、GPT-2 をファインチューニングしたモデルとのこと。&lt;/p&gt;
&lt;h2 id=&quot;2background-and-related-work&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2background-and-related-work&quot; aria-label=&quot;2background and related work permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.BACKGROUND AND RELATED WORK&lt;/h2&gt;
&lt;h3 id=&quot;22neural-network-based-level-generation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#22neural-network-based-level-generation&quot; aria-label=&quot;22neural network based level generation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2.2.NEURAL NETWORK-BASED LEVEL GENERATION&lt;/h3&gt;
&lt;p&gt;先行研究では、生成したステージをプレイ可能か別途 AI エージェントでテストしていた模様。
MarioGPT はプレイ可能か（つまり、ゴールできる道があるか）も同時に生成するためその点で有利。&lt;/p&gt;
&lt;h2 id=&quot;3open-ended-level-generation-through-llms&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3open-ended-level-generation-through-llms&quot; aria-label=&quot;3open ended level generation through llms permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.OPEN-ENDED LEVEL GENERATION THROUGH LLMS&lt;/h2&gt;
&lt;h3 id=&quot;31level-representation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#31level-representation&quot; aria-label=&quot;31level representation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.1.LEVEL REPRESENTATION&lt;/h3&gt;
&lt;p&gt;Video Game Level Corpus (VGLC) という、色々なゲームのステージをテキストにしたデータセットがあるとのこと。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/TheVGLC/TheVGLC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/TheVGLC/TheVGLC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;例えばこんな内容。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------E-----------------------------------------------------------------------------------------------------------------------
----------------------Q---------------------------------------------------------SSSSSSSS---SSSQ--------------?-----------SSS----SQQS--------------------------------------------------------XX------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XXX------------
-------------------------------------------------------------------------------E----------------------------------------------------------------------------------------------------------XXXX------------
----------------------------------------------------------------S------------------------------------------------------------------------------------------------------------------------XXXXX------------
----------------Q---S?SQS---------------------&amp;lt;&amp;gt;---------&amp;lt;&amp;gt;------------------S?S--------------S-----SS----Q--Q--Q-----S----------SS------X--X----------XX--X------------SSQS------------XXXXXX------------
--------------------------------------&amp;lt;&amp;gt;------[]---------[]-----------------------------------------------------------------------------XX--XX--------XXX--XX--------------------------XXXXXXX------------
----------------------------&amp;lt;&amp;gt;--------[]------[]---------[]----------------------------------------------------------------------------XXX--XXX------XXXX--XXX-----&amp;lt;&amp;gt;--------------&amp;lt;&amp;gt;-XXXXXXXX------------
---------------------E------[]--------[]-E----[]-----E-E-[]------------------------------------E-E--------E-----------------EE-E-E----XXXX--XXXX----XXXXX--XXXX----[]---------EE---[]XXXXXXXXX--------X---
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--XXXXXXXXXXXXXXX---XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ソース: &lt;a href=&quot;https://github.com/TheVGLC/TheVGLC/blob/master/Super%20Mario%20Bros/Processed/mario-1-1.txt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/TheVGLC/TheVGLC/blob/master/Super%20Mario%20Bros/Processed/mario-1-1.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;すごい…&lt;/p&gt;
&lt;h3 id=&quot;32mariogpt-model&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32mariogpt-model&quot; aria-label=&quot;32mariogpt model permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.2.MARIOGPT MODEL&lt;/h3&gt;
&lt;p&gt;MarioGPT のモデルには&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;no pipes, many enemies, low elevation&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;といったプロンプトを入力にするとのこと。&lt;/p&gt;
&lt;h3 id=&quot;33open-ended-mario-level-generation-with-novelty-search&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#33open-ended-mario-level-generation-with-novelty-search&quot; aria-label=&quot;33open ended mario level generation with novelty search permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.3.OPEN-ENDED MARIO LEVEL GENERATION WITH NOVELTY SEARCH&lt;/h3&gt;
&lt;p&gt;生成したステージをブラッシュアップするような処理をしている模様。&lt;/p&gt;
&lt;p&gt;かなり色々工夫してるようだが、一旦読み飛ばした。&lt;/p&gt;
&lt;h2 id=&quot;4experiments-and-results&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4experiments-and-results&quot; aria-label=&quot;4experiments and results permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.EXPERIMENTS AND RESULTS&lt;/h2&gt;
&lt;h3 id=&quot;41reconstruction-and-sampling-quality&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#41reconstruction-and-sampling-quality&quot; aria-label=&quot;41reconstruction and sampling quality permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.1.RECONSTRUCTION AND SAMPLING QUALITY&lt;/h3&gt;
&lt;h4 id=&quot;2-measuring-playability-of-levels&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-measuring-playability-of-levels&quot; aria-label=&quot;2 measuring playability of levels permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;(2) Measuring Playability of Levels:&lt;/h4&gt;
&lt;p&gt;「Mario AI framework」を使ってプレイ可能かテストした模様。
そして、ほとんどのケースでプレイ可能だったとのこと。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/amidos2006/Mario-AI-Framework&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/amidos2006/Mario-AI-Framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Mario AI framework は、商用利用はできなそう。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;Video Game Level Corpus (VGLC) や Mario AI framework など、面白いキーワードを見つけられてよかった。&lt;/p&gt;
&lt;p&gt;GPT-3.5 や GPT-4 なら、ファインチューニングなしでもステージを作らせることができそう。
ただ、作ったステージをブラッシュアップさせるような工夫は必要になるのかもしれない。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[書籍『ChatGPT/LangChain によるチャットシステム構築［実践］入門』を執筆しました]]></title><description><![CDATA[吉田真吾さんと共著で『ChatGPT/LangChain によるチャットシステム構築［実践］入門』という書籍を執筆しました！
こちらの記事に、書籍の概要、どんな方におすすめか、執筆の経緯や感想などをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4297138395</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297138395</guid><pubDate>Wed, 18 Oct 2023 02:16:58 GMT</pubDate><content:encoded>&lt;p&gt;吉田真吾さん（&lt;a href=&quot;https://twitter.com/yoshidashingo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;@yoshidashingo&lt;/a&gt;）と共著で『ChatGPT/LangChain によるチャットシステム構築［実践］入門』という書籍を執筆しました！&lt;/p&gt;
&lt;p&gt;こちらの記事に、書籍の概要、どんな方におすすめか、執筆の経緯や感想などをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;書籍の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;書籍の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍の概要&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/3QjzB0A&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChain によるチャットシステム構築［実践］入門&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=bbfab42c5f5fec8fcd6fd071293b21e4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4297138395&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4297138395&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;技術評論者さんの &lt;a href=&quot;https://gihyo.jp/book/2023/978-4-297-13839-4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちらのページ&lt;/a&gt; で公開されていますが、目次は次のようになっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第 1 章 大規模言語モデル（LLM）を使ったアプリケーションを開発したい！&lt;/li&gt;
&lt;li&gt;第 2 章 プロンプトエンジニアリング&lt;/li&gt;
&lt;li&gt;第 3 章 ChatGPT を API から利用するために&lt;/li&gt;
&lt;li&gt;第 4 章 LangChain の基礎&lt;/li&gt;
&lt;li&gt;第 5 章 LangChain の活用&lt;/li&gt;
&lt;li&gt;第 6 章 外部検索，履歴を踏まえた応答をする Web アプリの実装&lt;/li&gt;
&lt;li&gt;第 7 章 ストリーム形式で履歴を踏まえた応答をする Slack アプリの実装&lt;/li&gt;
&lt;li&gt;第 8 章 社内文書に答える Slack アプリの実装&lt;/li&gt;
&lt;li&gt;第 9 章 LLM アプリの本番リリースに向けて&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;プロンプトエンジニアリングや ChatGPT の API の基礎に始まり、LangChain の手厚い解説、Streamlit を使った Web アプリの実装、Bolt を使った Slack アプリの実装、そして本番リリースに向けて、といった内容になっています。&lt;/p&gt;
&lt;p&gt;LLM（とくに ChatGPT の API）を使ったアプリケーション開発は大きな話題となっていますが、その基礎を一通りおさえられる一冊です。&lt;/p&gt;
&lt;h2 id=&quot;どんな方におすすめか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E6%96%B9%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%8B&quot; aria-label=&quot;どんな方におすすめか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな方におすすめか&lt;/h2&gt;
&lt;p&gt;書籍の中では、次のような方を対象読者と書いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大規模言語モデル(LLM)を活用したシステムを作ってみたいアプリケーション開発者&lt;/li&gt;
&lt;li&gt;動くものを作りながら、大規模言語モデル(LLM)の知識体系や勘所を学び始めたいと考えている方&lt;/li&gt;
&lt;li&gt;大規模言語モデル(LLM)アプリケーションの開発エキスパートを目指して、まず押さえておくべき技術を知っておきたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ですが、個人的には「すべての IT エンジニアに読んでほしい」といっても過言ではありません！
LLM を使ったアプリケーション開発は非常に面白い分野で、そこにどんな可能性があり、どのように活用できるのかを知るためにも、ぜひ多くの方に手に取っていただきたいです。&lt;/p&gt;
&lt;h2 id=&quot;執筆の経緯&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%B7%E7%AD%86%E3%81%AE%E7%B5%8C%E7%B7%AF&quot; aria-label=&quot;執筆の経緯 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;執筆の経緯&lt;/h2&gt;
&lt;p&gt;ここで少し、執筆の経緯について書かせていただきます。&lt;/p&gt;
&lt;p&gt;本書は吉田真吾さんからお声がけがあり共著させていただきました。
お声がけいただいたきっかけは、私が 4 月に開催した勉強会「&lt;a href=&quot;https://studyco.connpass.com/event/280172/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロンプトエンジニアリングから始める LangChain 入門&lt;/a&gt;」でした。&lt;/p&gt;
&lt;div class=&quot;gatsby-resp-iframe-wrapper&quot; style=&quot;padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; margin-bottom: 1.0725rem&quot; &gt; &lt;iframe src=&quot;https://www.youtube.com/embed/8FPgoCjoenI?si=Gi70j-RiCQgo-g1Y&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; style=&quot; position: absolute; top: 0; left: 0; width: 100%; height: 100%; &quot;&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;p&gt;資料: &lt;a href=&quot;https://speakerdeck.com/os1ma/puronputoenziniaringukarashi-merulangchainru-men&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/os1ma/puronputoenziniaringukarashi-merulangchainru-men&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こちらの勉強会は 600 名以上の技術者・研究者の方にお申し込みいただき、大変ご好評いただきました。
LangChain をテーマにした講義形式の勉強会としては、自分の知る限り日本最速であり、クオリティも非常に高かったと自負しています。&lt;/p&gt;
&lt;p&gt;この勉強会を主催したコミュニティ「StudyCo」は、友人と何年も継続している勉強会がもとになっています。
今回の書籍の出版は、勉強会の継続がひとつかたちになったようで、とても嬉しく思います。&lt;/p&gt;
&lt;p&gt;なお、上記の勉強会は 2023 年 4 月に開催したものですが、現在（2023 年 10 月）でも十分通用する内容です！
もし書籍の前に少し LangChain を学んでみたいという方がいらっしゃれば、上記の資料・アーカイブ動画をおすすめします！
（もちろん書籍はこの勉強会よりはるかに手厚い内容です）&lt;/p&gt;
&lt;h2 id=&quot;執筆の感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%B7%E7%AD%86%E3%81%AE%E6%84%9F%E6%83%B3&quot; aria-label=&quot;執筆の感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;執筆の感想&lt;/h2&gt;
&lt;p&gt;LLM を使ったアプリケーション開発という分野は、まだまだ発展途上ということもあり、変化が非常に激しいです。
そのため非常に短期間での執筆となりました。&lt;/p&gt;
&lt;p&gt;毎日のように吉田さんと Zoom をつないで作業時間をとって…とても慌ただしい日々でしたが、吉田さんが執筆された箇所や、執筆中に相談させていただいた内容は、私にもたいへん勉強になりました。&lt;/p&gt;
&lt;p&gt;また、執筆にあたって LangChain のドキュメントに一通り目を通したり、LangChain のソースコードを確認したり、論文を読んだりしたしたことも知識に繋がりました。&lt;/p&gt;
&lt;p&gt;ちなみに、この書籍を読んだ後のステップアップとして、LangChain のドキュメントを一通り見てみるのはとてもおすすめです！
LangChain からは、LLM を使ったアプリケーション開発の様々な工夫を学ぶことができます。
（さすがにインテグレーションを全て把握する必要はないと思いますし、アップデートが激しいので私も最新版のドキュメントにすべて目を通しているわけではないですが）&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;簡単ではありますが、書籍の概要、どんな方におすすめか、執筆の経緯や感想などを書かせていただきました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=442615bb96d4c4536018570b4e642159&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4297138395&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4297138395&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;少なくともしばらくは、LangChain や関連分野での勉強会の企画・登壇依頼もお受けしております！
まだまだ妄想段階ですが、個人的に、この分野をがっつり学ぶハンズオン勉強会や、研修などもできないかな？と考えていたりもします。&lt;/p&gt;
&lt;p&gt;もし何かあれば、お気軽に &lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Twitter&lt;/a&gt; や &lt;a href=&quot;https://form.nextskill.co.jp/contact&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;お問い合わせフォーム&lt;/a&gt; からご連絡ください！&lt;/p&gt;
&lt;p&gt;ちなみに直近では、10 月 26 日（木）に「&lt;a href=&quot;https://studyco.connpass.com/event/298456/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChain で AI アシスタントを動かすハンズオン&lt;/a&gt;」という勉強会を予定しています。
（すでに満席ですが、ご興味ある方が多ければ再度開催することも検討します）&lt;/p&gt;
&lt;h3 id=&quot;その他の関連リソース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E9%96%A2%E9%80%A3%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9&quot; aria-label=&quot;その他の関連リソース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の関連リソース&lt;/h3&gt;
&lt;p&gt;最後に、LangChain について、私が過去に開催した勉強会の資料・アーカイブ動画や、Udemy 講座をまとめました。
ご興味あればこちらも是非ご覧ください！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;勉強会「プロンプトエンジニアリングから始める LangChain 入門」&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;資料: &lt;a href=&quot;https://speakerdeck.com/os1ma/puronputoenziniaringukarashi-merulangchainru-men&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/os1ma/puronputoenziniaringukarashi-merulangchainru-men&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;アーカイブ動画: &lt;a href=&quot;https://youtube.com/live/8FPgoCjoenI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://youtube.com/live/8FPgoCjoenI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勉強会「LangChain ソースコードリーディング／テーマ：OpenAI Chat API を「ちゃんと」使う」&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;資料: &lt;a href=&quot;https://speakerdeck.com/os1ma/langchainsosukodorideingu-slash-tema-openai-chat-apiwo-tiyanto-shi-u&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/os1ma/langchainsosukodorideingu-slash-tema-openai-chat-apiwo-tiyanto-shi-u&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;アーカイブ動画: &lt;a href=&quot;https://youtu.be/D_tTCatXilA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://youtu.be/D_tTCatXilA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勉強会「【書籍出版記念】LangChain から学ぶ LLM を使ったアプリケーションの工夫」&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;資料: &lt;a href=&quot;https://speakerdeck.com/os1ma/shu-ji-chu-ban-ji-nian-langchainkaraxue-bullmwoshi-tutaapurikesiyonnogong-fu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/os1ma/shu-ji-chu-ban-ji-nian-langchainkaraxue-bullmwoshi-tutaapurikesiyonnogong-fu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;アーカイブ動画: &lt;a href=&quot;https://youtu.be/oAr0dYnHllM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://youtu.be/oAr0dYnHllM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Udemy 講座「LangChain による大規模言語モデル（LLM）アプリケーション開発入門―GPT を使ったチャットボットの実装まで」&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Udemy: &lt;a href=&quot;https://www.udemy.com/course/langchain-apps/?couponCode=F13D52161171BFB8E12E&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.udemy.com/course/langchain-apps/?couponCode=F13D52161171BFB8E12E&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[2023 年 7 月から 9 月のふりかえり]]></title><description><![CDATA[2023 年 7 月から 9 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2023-third-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2023-third-quarter</guid><pubDate>Mon, 02 Oct 2023 00:24:31 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 7 月から 9 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202307&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 7 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202308&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 8 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202309&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 9 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 15 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標だったので、目標の 2/3 程度でした。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3LELxav&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから作るDeep Learning ❷ ―自然言語処理編&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118360?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=37c7969d0c2bc30dd18c4b0d7302dcae&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118360&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118360&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LLM や自然言語処理まわりは他にも色々な書籍を読んだり、&lt;a href=&quot;https://deeplearning.jp/llm2023/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデルのサマースクール&lt;/a&gt; を受講したりして、かなり知識を拡充できました。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、9 記事投稿しました。
いくつか、論文や面白かった英語記事を読んだ記録を書いたりできたのが良かったです。&lt;/p&gt;
&lt;p&gt;また、Zenn に「&lt;a href=&quot;https://zenn.dev/os1ma/articles/935f6e653f1052&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonの開発環境の3つの観点をおさえよう&lt;/a&gt;」という記事を投稿して、かなり反響をいただきました。
今後も Zenn などに少しずつ記事を投稿してもいいなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月は資格取得などは特にしませんでした。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/291129/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「シェル」ってなに？から改めて学ぶLinuxの基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/292513/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LT大会！機械学習・LLM・その他データ分析関係の色々な話題をつまもう！&lt;/a&gt; にて「Pythonの「仮想環境」を完全に理解しよう」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 2 つの発表をしました。&lt;/p&gt;
&lt;p&gt;とくに「Pythonの「仮想環境」を完全に理解しよう」という発表は、スライドが後日かなり話題となり、多くの方に見ていただくことができました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://speakerdeck.com/os1ma/pythonno-jia-xiang-huan-jing-wowan-quan-nili-jie-siyou&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/os1ma/pythonno-jia-xiang-huan-jing-wowan-quan-nili-jie-siyou&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバー 3300 人を突破&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 1100 を突破&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月では、以下の 2 つのUdemy 講座を公開しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pythonステップアップ速習講座―仮想環境のしくみ、開発環境を整えるツール、クラスを使ったコーディング、定番パッケージ&lt;/li&gt;
&lt;li&gt;ChatGPTのAPIで5つのアプリを作ってみよう！JSON生成、属性抽出、独自文書Q&amp;#x26;A、SQL生成、AIエージェント&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;既存の講座についても引き続き多くの方に受講していただいています。&lt;/p&gt;
&lt;p&gt;なお、公開済み講座の講師発行クーポンが、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月で一番大きかったのは、書籍を執筆（共著）したことです。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3RIn0Fh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;』という本を執筆（共著）して、10/18 に発売予定です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4297138395?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=7e516f3cdeca77beab485e643cf003b0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4297138395&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4297138395&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この書籍の執筆過程で、LLM や LangChain まわりの知識はかなり拡充できました。&lt;/p&gt;
&lt;p&gt;LangChain のドキュメントをあるタイミングで一通り読んだのですが、それが非常に勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;oss&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oss&quot; aria-label=&quot;oss permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OSS&lt;/h2&gt;
&lt;p&gt;書籍の執筆もあり、LangChain にふれる機会が多く、改善すべき点を見つけることも多かったです。&lt;/p&gt;
&lt;p&gt;そのため、LangChain に 7 月に 3 つ (また 5 月に 1 つ) コントリビュートしました。&lt;/p&gt;
&lt;p&gt;とくにドキュメントのビルドスクリプトが壊れていたのを読み解いて直したのは良い貢献だったと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/langchain-ai/langchain/pull/7276&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/langchain-ai/langchain/pull/7276&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;（その他は処理の追加やドキュメントの修正といった小さなコントリビュートです）&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2023 年 7 月から 9 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 15 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 9 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会を 1 回開催し、LT 形式で 1 回発表した&lt;/li&gt;
&lt;li&gt;Udemy 講座を 2 つ公開した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LangChain&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;書籍『&lt;a href=&quot;https://amzn.to/3RIn0Fh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPT/LangChainによるチャットシステム構築［実践］入門&lt;/a&gt;』を執筆（共著）した&lt;/li&gt;
&lt;li&gt;LangChain にいくつかコントリビュートした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;引き続き、色々なことを学んだりしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 9 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 9 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202309</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202309</guid><pubDate>Sun, 01 Oct 2023 02:02:36 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 9 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング&lt;/h2&gt;
&lt;h3 id=&quot;コードが動かないので帰れません！-新人プログラマーのためのエラーが怖くなくなる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E5%B8%B0%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%EF%BC%81-%E6%96%B0%E4%BA%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E6%80%96%E3%81%8F%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;コードが動かないので帰れません！ 新人プログラマーのためのエラーが怖くなくなる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3PBwMqc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コードが動かないので帰れません！ 新人プログラマーのためのエラーが怖くなくなる本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CCD7S9VM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0732da4747bc704255bc536462459f6c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CCD7S9VM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CCD7S9VM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;デバッグやエラー解決についてまとめられた『コードが動かないので帰れません！』という書籍をいただいて読みました。&lt;/p&gt;
&lt;p&gt;この視点で初心者向けにまとまっている書籍は見たことがなく、プログラミングに入門してデバッグやエラー解決で困っている人に是非おすすめしたい一冊だなと思いました。&lt;/p&gt;
&lt;p&gt;いくつか自分が知らないことも書かれていて、勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;自然言語処理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86&quot; aria-label=&quot;自然言語処理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自然言語処理&lt;/h2&gt;
&lt;h3 id=&quot;it-text-自然言語処理の基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it-text-%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;it text 自然言語処理の基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3EZlzL6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IT Text 自然言語処理の基礎&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BBT6KXZN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7f88961644af99aaa7447902658379db&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BBT6KXZN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BBT6KXZN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;機械学習エンジニアのためのtransformers-最先端の自然言語処理ライブラリによるモデル開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEtransformers-%E6%9C%80%E5%85%88%E7%AB%AF%E3%81%AE%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AB%E3%82%88%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E9%96%8B%E7%99%BA&quot; aria-label=&quot;機械学習エンジニアのためのtransformers 最先端の自然言語処理ライブラリによるモデル開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3tcbaJk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習エンジニアのためのTransformers ―最先端の自然言語処理ライブラリによるモデル開発&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119952?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5e895471759bb0e1b04310661e276920&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119952&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119952&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;自然言語処理の基礎知識を拡充するため、2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;どちらも自然言語処理を改めて勉強しようという方におすすめできる書籍でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 3 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月はかなり読書量が少なめになってしまいました。来月からまた読書の習慣を取り戻していきたいです。&lt;/p&gt;
&lt;p&gt;また、時間のかかっている『&lt;a href=&quot;https://amzn.to/3Koutot&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxプログラミングインタフェース&lt;/a&gt;』も読み進めたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 8 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 8 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202308</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202308</guid><pubDate>Fri, 01 Sep 2023 00:21:59 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 8 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;自然言語処理・llm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%83%BBllm&quot; aria-label=&quot;自然言語処理・llm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自然言語処理・LLM&lt;/h2&gt;
&lt;h3 id=&quot;大規模言語モデル入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80&quot; aria-label=&quot;大規模言語モデル入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/45Uw2Th&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデル入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C9P7K6VH?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b79c6ab9b7c7c30d5c824346e8e3ff22&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C9P7K6VH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C9P7K6VH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ゼロから作るdeep-learning-❷-自然言語処理編&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8Bdeep-learning-%E2%9D%B7-%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B7%A8&quot; aria-label=&quot;ゼロから作るdeep learning ❷ 自然言語処理編 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/45yVTQX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから作るDeep Learning ❷ ―自然言語処理編&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118360?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7557c3e3798f7de38f3b62798bb93ba7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118360&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118360&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;pytorch自然言語処理プログラミング-word2vec／lstm／seq2seq／bertで日本語テキスト解析！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pytorch%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-word2vec%EF%BC%8Flstm%EF%BC%8Fseq2seq%EF%BC%8Fbert%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E8%A7%A3%E6%9E%90%EF%BC%81&quot; aria-label=&quot;pytorch自然言語処理プログラミング word2vec／lstm／seq2seq／bertで日本語テキスト解析！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/44xK2S2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PyTorch自然言語処理プログラミング word2vec／LSTM／seq2seq／BERTで日本語テキスト解析！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Y8J941W?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4adb55df5b83b4830b22550e1711d2d1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Y8J941W&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Y8J941W&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LLM 関連でアウトプットする機会が多かったため、改めて基礎知識をつけようと、自然言語処理や LLM についての本を 3 冊読みました。&lt;/p&gt;
&lt;p&gt;とくに『ゼロから作るDeep Learning ❷ ―自然言語処理編』は自然言語処理の入門としてとても良い本でした。
多くの方におすすめしたいです。&lt;/p&gt;
&lt;p&gt;他にも Udemy でいくつか講座を見たりして、自然言語処理の古典的な手法についてはある程度知識があったことを思い出したり、Attention (Transformer) のような比較的新しい知識を拡充したりできました。&lt;/p&gt;
&lt;h2 id=&quot;ai-のテスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88&quot; aria-label=&quot;ai のテスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AI のテスト&lt;/h2&gt;
&lt;h3 id=&quot;aiソフトウェアのテスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88&quot; aria-label=&quot;aiソフトウェアのテスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/44DG0HM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIソフトウェアのテスト&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B095W5VGB3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4e87281a68dec1bb7dadcad1de095d52&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B095W5VGB3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B095W5VGB3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;積読になっていた『AIソフトウェアのテスト』を読みました。
この分野の知識は全然なかったので、とても勉強になりました。&lt;/p&gt;
&lt;p&gt;最近流行の LLM や自然言語処理というよりも機械学習全般が対象ですが、興味がある方にはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;ストレージ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8&quot; aria-label=&quot;ストレージ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ストレージ&lt;/h2&gt;
&lt;h3 id=&quot;基礎からの新しいストレージ入門-基本技術から設計・運用管理の実践まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E5%85%A5%E9%96%80-%E5%9F%BA%E6%9C%AC%E6%8A%80%E8%A1%93%E3%81%8B%E3%82%89%E8%A8%AD%E8%A8%88%E3%83%BB%E9%81%8B%E7%94%A8%E7%AE%A1%E7%90%86%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%81%BE%E3%81%A7&quot; aria-label=&quot;基礎からの新しいストレージ入門 基本技術から設計・運用管理の実践まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/45OwdzF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎からの新しいストレージ入門 基本技術から設計・運用管理の実践まで&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0CG9957GK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e31dc8cf73a3227e22316b23eee08ba6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0CG9957GK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0CG9957GK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;話題になっているようだったので『基礎からの新しいストレージ入門』を読みました。
自分はストレージの知識は全然ないので、とても勉強になる本でした。&lt;/p&gt;
&lt;p&gt;ただ、少し難易度は高めだと感じたので、まだどこかのタイミングで手に取りたいです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 5 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;9 月は引き続き自然言語処理の本を何冊か読む予定なのと、なかなか読み進められていない『&lt;a href=&quot;https://amzn.to/3Koutot&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxプログラミングインタフェース&lt;/a&gt;』をがっつり読みたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「ChatGPTのAPIで5つのアプリを作ってみよう！」をリリースしました]]></title><description><![CDATA[Udemy で「ChatGPTのAPIで5つのアプリを作ってみよう！JSON生成、属性抽出、独自文書Q&A、SQL生成、AIエージェント」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-llm-apps</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-llm-apps</guid><pubDate>Tue, 29 Aug 2023 06:50:56 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「ChatGPTのAPIで5つのアプリを作ってみよう！JSON生成、属性抽出、独自文書Q&amp;#x26;A、SQL生成、AIエージェント」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;2022 年末に公開されて以来、「ChatGPT」は一般にも知られるキーワードとなり、非常に盛り上がっています。
ChatGPT の API を使ったアプリケーションの開発も注目されており、多くの組織が取り組むようになっています。&lt;/p&gt;
&lt;p&gt;ChatGPT の API などを使ったアプリケーションの例としてはチャットボットが定番ですが、実際にはチャットボットだけではなく、様々なアプリケーションへの応用が考えられます。
この講座では、&lt;strong&gt;単なるチャットボットではない LLM の応用例&lt;/strong&gt;として、5 つのアプリケーションの実装に挑戦します。&lt;/p&gt;
&lt;p&gt;コースで実装するのは、以下の 5 つのアプリケーションです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;JSON 形式の文字列の生成（例：レシピ生成アプリ）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;テキストからの属性抽出（例：ブログ記事への自動タグ付け）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;独自データの検索結果を踏まえた Q&amp;#x26;A（例：PDF への Q&amp;#x26;A）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自然言語から SQL を生成・実行&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI エージェント（例：スケジュール管理の AI アシスタント）&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Python で Web アプリを簡単に実装できる「Streamlit」を使い、これらのアプリケーションをできるだけシンプルに実装していきます。&lt;/p&gt;
&lt;h2 id=&quot;このコースで学ぶこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A7%E5%AD%A6%E3%81%B6%E3%81%93%E3%81%A8&quot; aria-label=&quot;このコースで学ぶこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースで学ぶこと&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;このコースで学ぶのは、ChatGPT の API の「チャットボット以外の応用例」です&lt;/li&gt;
&lt;li&gt;Streamlit を使い、簡易的に Web アプリケーションを実装していきます&lt;/li&gt;
&lt;li&gt;LangChain や LlamaIndex といった有名なフレームワークにも少しふれます&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ChatGPT の API など、LLM を使ったアプリケーションの開発を学びたい方&lt;/li&gt;
&lt;li&gt;LLM のチャットボット以外の応用例とその仕組みを学びたい方&lt;/li&gt;
&lt;li&gt;LLM を使ったアプリケーションをいくつか実装してみたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;llm-の「チャットボット以外」の応用例を実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm-%E3%81%AE%E3%80%8C%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%83%9C%E3%83%83%E3%83%88%E4%BB%A5%E5%A4%96%E3%80%8D%E3%81%AE%E5%BF%9C%E7%94%A8%E4%BE%8B%E3%82%92%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;llm の「チャットボット以外」の応用例を実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM の「チャットボット以外」の応用例を実装&lt;/h2&gt;
&lt;p&gt;LLM を使ったアプリケーションといえばチャットボットが定番ですが、実際の応用例は非常に幅広いです。&lt;/p&gt;
&lt;p&gt;このコースでは、単なるチャットボットではない応用例に注目して、LLM で何ができるのかを学んでいきます。&lt;/p&gt;
&lt;p&gt;そして、受講者の方が自分なりのアイデアに繋げることを目標としています。&lt;/p&gt;
&lt;h2 id=&quot;おさえておきたい応用例を実際に実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%81%95%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E5%BF%9C%E7%94%A8%E4%BE%8B%E3%82%92%E5%AE%9F%E9%9A%9B%E3%81%AB%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;おさえておきたい応用例を実際に実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おさえておきたい応用例を実際に実装&lt;/h2&gt;
&lt;p&gt;この講座で扱う「JSON生成、属性抽出、独自文書Q&amp;#x26;A、SQL生成、AIエージェント」という 5 つの例は、LLM の応用としてまずおさえたいといっても過言ではありません。&lt;/p&gt;
&lt;p&gt;このような LLM の応用例をしっかり手を動かして理解していきます。&lt;/p&gt;
&lt;p&gt;Stable Diffusion による画像生成との連携や、Zapier NLA といった、関連分野の面白いトピックにもふれていきます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;LLM を使ったアプリケーション開発は急激に話題となり、多くの企業が取り組んでいます。&lt;/p&gt;
&lt;p&gt;LLM で何ができるのか、自分なりのアイデアを考えるのに役立つ講座になっていれば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Linux について学ぶおすすめの流れ【書籍を中心に紹介】]]></title><description><![CDATA[個人的に Linux に興味があって色々勉強してきました。
どんな流れで学ぶといいのかよく聞かれるので、Linux について学ぶおすすめの流れを書籍を中心にまとめます。
以下の 5 ステップで紹介していきます。
「Linux を使えるようになろう」
「Linux のしくみに入門しよう」
「さらに学ぶのに必要な周辺知識をつけよう」
「OS 自作について学ぼう」
「もっと知識をつけるには...」]]></description><link>https://www.kanzennirikaisita.com/posts/linux-learning-roadmap</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/linux-learning-roadmap</guid><pubDate>Thu, 10 Aug 2023 09:30:21 GMT</pubDate><content:encoded>&lt;p&gt;個人的に Linux に興味があって色々勉強してきました。&lt;/p&gt;
&lt;p&gt;どんな流れで学ぶといいのかよく聞かれるので、Linux について学ぶおすすめの流れを書籍を中心にまとめます。&lt;/p&gt;
&lt;p&gt;以下の 5 ステップで紹介していきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux を使えるようになろう&lt;/li&gt;
&lt;li&gt;Linux のしくみに入門しよう&lt;/li&gt;
&lt;li&gt;さらに学ぶのに必要な周辺知識をつけよう&lt;/li&gt;
&lt;li&gt;OS 自作について学ぼう&lt;/li&gt;
&lt;li&gt;もっと知識をつけるには…&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;step-1-linux-を使えるようになろう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-1-linux-%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8D%E3%81%86&quot; aria-label=&quot;step 1 linux を使えるようになろう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 1. Linux を使えるようになろう&lt;/h2&gt;
&lt;p&gt;まずは Linux をある程度使えるようになるのを目指すのがおすすめです。&lt;/p&gt;
&lt;p&gt;Linux の入門書はたくさんありますが、個人的に『&lt;a href=&quot;https://amzn.to/3s3TjDZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新しいLinuxの教科書&lt;/a&gt;』がかなりおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B072K1NH76?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e7137d28a8eba2299439f6a4f8074b7e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B072K1NH76&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B072K1NH76&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Linux サーバの環境構築の入門としては、『&lt;a href=&quot;https://amzn.to/3OSC6X3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク＆サーバー構築　改訂3版&lt;/a&gt;』もおすすめします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7eb0d857d23ba3d1ace3ec420a177a66&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;他には LPIC (LinuC) のレベル 1 ぐらいをとってみるのもおすすめです。
参考書で有名なのは『&lt;a href=&quot;https://amzn.to/3qyAB6K&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル1 Version5.0対応&lt;/a&gt;』ですね。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07P5S98SK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=50b564d094d9fdf35cf82cfdf475ad4b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07P5S98SK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07P5S98SK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;このぐらい学んでおけば、Linux の使い方の基本は身につくと思います。&lt;/p&gt;
&lt;h3 id=&quot;コンピュータやプログラミングの基礎知識をつけよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E3%82%92%E3%81%A4%E3%81%91%E3%82%88%E3%81%86&quot; aria-label=&quot;コンピュータやプログラミングの基礎知識をつけよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンピュータやプログラミングの基礎知識をつけよう&lt;/h3&gt;
&lt;p&gt;このぐらいの段階で、コンピュータやプログラミングの基礎知識もつけておくと、ステップアップの内容も頭に入りやすいです。&lt;/p&gt;
&lt;p&gt;例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基本情報や応用情報の勉強&lt;/li&gt;
&lt;li&gt;なんらかプログラミング言語の習得&lt;/li&gt;
&lt;li&gt;PC 自作&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりがおすすめです。&lt;/p&gt;
&lt;p&gt;書籍だと以下の 2 冊はとてもおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3OSCGUJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータはなぜ動くのか 第２版 知っておきたいハードウエア＆ソフトウエアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3DQPzrP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラムはなぜ動くのか 第３版　知っておきたいプログラミングの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BHMS1BYP?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0bab0d682495134e562cde513b806ce8&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BHMS1BYP&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BHMS1BYP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094J3CK1C?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5d491fe7bdeccb00935de7e12896b009&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094J3CK1C&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B094J3CK1C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;step-2-linux-のしくみに入門しよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-2-linux-%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF%E3%81%AB%E5%85%A5%E9%96%80%E3%81%97%E3%82%88%E3%81%86&quot; aria-label=&quot;step 2 linux のしくみに入門しよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 2. Linux のしくみに入門しよう&lt;/h2&gt;
&lt;p&gt;Linux の使い方の基本が身についた後、ステップアップとして Linux のしくみに入門するための書籍を紹介します。&lt;/p&gt;
&lt;p&gt;まず、『&lt;a href=&quot;https://amzn.to/3KzD9bz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版　Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』をおすすめします。
プロセス・ファイル・ストリームといった概念から Linux について整理していて、難易度的にもとても読みやすい本です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2dd4d1509017377fb5a677798da89d00&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ただし、この本は C 言語のサンプルとなっているので、どうしても抵抗がある方もいると思います。
C 言語に抵抗がある場合は『&lt;a href=&quot;https://amzn.to/3Kvwa3l&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Goならわかるシステムプログラミング 第2版&lt;/a&gt;』をおすすめします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4908686122?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fb48e9bd9c9d21020a076d528812c53f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4908686122&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4908686122&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;そして、必読と言えるぐらいおすすめなのが『&lt;a href=&quot;https://amzn.to/453Pflu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［試して理解］Linuxのしくみ　―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】&lt;/a&gt;』です。
Linux のしくみを学ぶのに定番中の定番だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BG8J5QJ1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c9460c393a2330951afc7447566c3b79&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BG8J5QJ1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BG8J5QJ1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;もう何冊か追加で読みたい場合は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/47sfe7R&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スーパーユーザーなら知っておくべきLinuxシステムの仕組み&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/44XzT1Y&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxシステムプログラミング&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09TDYLWM8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=57cb79dfd0c704901091e9206326cba7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09TDYLWM8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09TDYLWM8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113628?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4a555220d6d2c0f149e146ac2da4ab3d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113628&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873113628&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;step-3-さらに学ぶのに必要な周辺知識をつけよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-3-%E3%81%95%E3%82%89%E3%81%AB%E5%AD%A6%E3%81%B6%E3%81%AE%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E5%91%A8%E8%BE%BA%E7%9F%A5%E8%AD%98%E3%82%92%E3%81%A4%E3%81%91%E3%82%88%E3%81%86&quot; aria-label=&quot;step 3 さらに学ぶのに必要な周辺知識をつけよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 3. さらに学ぶのに必要な周辺知識をつけよう&lt;/h2&gt;
&lt;p&gt;さらに知識をつけようとすると、少し周辺分野の知識が必要になってきます。&lt;/p&gt;
&lt;h3 id=&quot;cpu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu&quot; aria-label=&quot;cpu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU&lt;/h3&gt;
&lt;p&gt;OS について学んでいくには、どうしても CPU の知識が必要になっていきます。&lt;/p&gt;
&lt;p&gt;CPU について学ぶ定番と言えば、『&lt;a href=&quot;https://amzn.to/3qolQU4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CPUの創りかた&lt;/a&gt;』だと思います。
この書籍の通りの CPU を自作するには部品の入手が難しくなっていますが、読み物として読むだけでもおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08639XM13?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=94b92ea514e2d95b985cc024bc95e661&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08639XM13&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08639XM13&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU の自作に挑戦できる書籍は色々ありますが、エミュレータで簡単に環境を用意できるという観点で『&lt;a href=&quot;https://amzn.to/3qjgGsG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』(通称: Nand2Tetris) はとてもおすすめです。
CPU とコンパイラの自作に挑戦して、そのしくみを学ぶことができます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e91e97dc4d96d09e731dc596f7907be1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OS の前提知識として CPU を学ぶ上では、『&lt;a href=&quot;https://amzn.to/3Qzo79I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;』も絶対におすすめしたいです。
(CPU の基本を学んだ上でステップアップとして読むような書籍です)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d9b54679f5c1ae58def2a76786181e40&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本のプロローグ (p20) には、以下のように書かれています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CPUの持つ能力を引き出す役割を持つのが、オペレーティングシステムと呼ばれるソフトウェアです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この記述の通り、OS についてさらに学ぶには CPU の知識が前提となってきます。
この一冊を読むと、CPU の特権保護機能といった OS に必須の機能をざっと学ぶことができます。&lt;/p&gt;
&lt;h3 id=&quot;c-言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c-%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;c 言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;C 言語&lt;/h3&gt;
&lt;p&gt;これ以上学んでいこうとすると、どうしても C 言語の知識が必要な場面が増えてきます。
(サンプルコードが C 言語か C++ の書籍が増えていきます)&lt;/p&gt;
&lt;p&gt;最低限、C 言語を読んで意味が分かるくらい学んでおくのがおすすめです。
ポインタとできれば関数ポインタぐらい分かれば大丈夫です。&lt;/p&gt;
&lt;h2 id=&quot;step-4-os-自作について学ぼう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-4-os-%E8%87%AA%E4%BD%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E5%AD%A6%E3%81%BC%E3%81%86&quot; aria-label=&quot;step 4 os 自作について学ぼう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 4. OS 自作について学ぼう&lt;/h2&gt;
&lt;p&gt;CPU や C 言語の知識もついてくると、OS 自作の書籍が読めるようになります。&lt;/p&gt;
&lt;p&gt;OS 自作について、現在一番有名なのは『&lt;a href=&quot;https://amzn.to/442sRb8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』でしょう。
実際に自作までしなくても、一通り読んでみると OS についてとても理解が深まります。
（もちろん自作するとさらに勉強になります）&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f17c5975b5a07d88f8a7e757827cd3cf&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ただし、この書籍は GUI で動作する OS を実装することもあり、かなりボリュームがあります。&lt;/p&gt;
&lt;p&gt;もし比較的ボリュームが少ないものがよければ、『&lt;a href=&quot;https://amzn.to/449nYwF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;』がおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4877832394?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6c1aa0baa1cc430fc8bd5a48ba7ff091&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4877832394&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4877832394&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトルに「組込みOS」と書かれていますが、そのエッセンスは組込みではない OS にも通じています。
ただし、こちらはマイコンで実装することになるので、自作に挑戦しようとすると、最初のセットアップのハードルは高めです。&lt;/p&gt;
&lt;p&gt;ここまでに詳解した OS 自作とは少し違いますが、Linux ディストリビューションの自作である「&lt;a href=&quot;https://www.linuxfromscratch.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux From Scratch&lt;/a&gt;」も定番です。
(コードを書くわけではなく、既存の OSS を使ってひたすらインストール・設定していきます)&lt;/p&gt;
&lt;h3 id=&quot;余談-コンパイラ・インタプリタの自作&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%99%E8%AB%87-%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%81%AE%E8%87%AA%E4%BD%9C&quot; aria-label=&quot;余談 コンパイラ・インタプリタの自作 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;(余談) コンパイラ・インタプリタの自作&lt;/h3&gt;
&lt;p&gt;CPU や OS について勉強していると、コンパイラ・インタプリタの仕組みを知りたくなったり、自作してみたくなったりします。&lt;/p&gt;
&lt;p&gt;コンパイラについて簡単に自作するなら、CPU について学ぶおすすめでも紹介した『&lt;a href=&quot;https://amzn.to/3qjgGsG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』がいいと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e91e97dc4d96d09e731dc596f7907be1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本ではエミュレータで動くコンパイラを作ることになりますが、その際 JVM (Java Virtual Machine) のような仮想マシンをはさむ方式となっています。
そのため、仮想マシンについて学ぶこともできます。
(注意: JVM のような仮想マシンは、OS の仮想マシンとは別物です)&lt;/p&gt;
&lt;p&gt;コンパイラの自作としてはオンラインブックの『&lt;a href=&quot;https://www.sigbus.info/compilerbook&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;低レイヤを知りたい人のためのCコンパイラ作成入門&lt;/a&gt;』も有名・おすすめです。
こちらはエミュレータではなく実機で動きます。&lt;/p&gt;
&lt;p&gt;インタプリタについては、『&lt;a href=&quot;https://amzn.to/47rXhpT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;』を読みながら作ってみるのがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9ee0fc1789a612ee514c8b1bbbc22308&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;例えば「シェルを自作してみたい」といった方は、上のほうで紹介したシステムプログラミング関連の書籍を読んで、さらにインタプリタの作り方を学べば、シェルの自作に挑戦できるはずです。&lt;/p&gt;
&lt;h2 id=&quot;step-5-もっと知識をつけるには&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-5-%E3%82%82%E3%81%A3%E3%81%A8%E7%9F%A5%E8%AD%98%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E3%81%AB%E3%81%AF&quot; aria-label=&quot;step 5 もっと知識をつけるには permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 5. もっと知識をつけるには…&lt;/h2&gt;
&lt;p&gt;OS 自作ぐらい知識がついてくると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/45dVIds&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3QGfNF0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxプログラミングインタフェース&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった、Linux について日本語で（おそらく）最高峰の書籍も少し読めるようになってきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=42e0daf45ad342076177a9e024538063&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311585X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0c9811ce265cf54d61ebf1260a581ad2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311585X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311585X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;他には、OS について学んでいると、リンカ・ローダが気になってきます。
その際は『&lt;a href=&quot;https://amzn.to/3qoRMHY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術&lt;/a&gt;』がおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4789838072?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=15f60ba5d1ec2853e23dc25e4006764e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Linux について学ぶおすすめの流れを書籍を中心にまとめまてきました。&lt;/p&gt;
&lt;p&gt;こういった話になると、とくにアプリケーションエンジニアの方から「これを学んでなんの役立つの？」と聞かれることが多いです。
私自身、どちらかというとアプリケーションよりの仕事をすることが多いのですが、それでもとても役に立っていると感じています。&lt;/p&gt;
&lt;p&gt;例えば、エラーの解決力はかなり向上しました。
エラーに遭遇したときに、エラーメッセージを理解して即座に解決できることが増えたり、根本原因を追いかけられる範囲が広がりました。&lt;/p&gt;
&lt;p&gt;また、プログラムのパフォーマンスを高めたいようなケースでは、OS の知識が役立つ場面は多いです。
(個人的には、OS の知識がないとパフォーマンスについて理解できないことが多いと感じます)&lt;/p&gt;
&lt;p&gt;あとは何より面白いですね。
興味があって面白いと感じることが一番だと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[論文などの PDF の日本語訳に使えるクラウドサービスを調べてみた]]></title><description><![CDATA[論文などの PDF の日本語訳に使えるクラウドサービスを調べてみたまとめです。]]></description><link>https://www.kanzennirikaisita.com/posts/pdf-translation-services</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/pdf-translation-services</guid><pubDate>Thu, 03 Aug 2023 11:57:16 GMT</pubDate><content:encoded>&lt;p&gt;論文などの PDF の日本語訳に使えるクラウドサービスを調べてみたまとめです。&lt;/p&gt;
&lt;p&gt;条件として、1 日数ファイルくらいをほぼ無料で翻訳できるものを探そうとしています。&lt;/p&gt;
&lt;p&gt;※「クラウドサービス」と言っているのは、資料請求などしなくてもオンデマンド・セルフサービスで使えるサービスだけが対象という意図です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000025366.pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NIST によるクラウドコンピューティングの定義&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;汎用的な翻訳サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B1%8E%E7%94%A8%E7%9A%84%E3%81%AA%E7%BF%BB%E8%A8%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;汎用的な翻訳サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;汎用的な翻訳サービス&lt;/h2&gt;
&lt;h3 id=&quot;google-翻訳&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-%E7%BF%BB%E8%A8%B3&quot; aria-label=&quot;google 翻訳 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Google 翻訳&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://translate.google.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://translate.google.co.jp/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;私が試した範囲では、PDF はうまく翻訳してくれませんでした…&lt;/p&gt;
&lt;p&gt;テキストを翻訳させた場合の質も、最近の他の翻訳ツールと比べて劣る気もします。&lt;/p&gt;
&lt;p&gt;ひと工夫して arXiv の論文を Google 翻訳する例はいくつか見つかりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tadaoyamaoka.hatenablog.com/entry/2022/07/10/163612&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;arXivのPDF論文をブラウザ上で翻訳して読む - TadaoYamaokaの開発日記&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/iidaaanyo/items/a7b0e0d852c1db1f9c09&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;英語弱者のためのarXivの論文翻訳 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ideaatoz.com/how-to-translate-arxiv/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サックと変換！arXivの論文を日本語翻訳して読めるようにする方法「Arxiv Vanity」×「Google翻訳」 – IDEA ATOZ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;deepl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#deepl&quot; aria-label=&quot;deepl permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DeepL&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.deepl.com/translator&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.deepl.com/translator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ファイルの翻訳は、無料プランだと 1 ヶ月に 3 ファイルまででした。&lt;/p&gt;
&lt;p&gt;月額 1000 円のプランだと 1 ヶ月に 5 ファイルとのことで、ファイル数が少なめです。&lt;/p&gt;
&lt;h3 id=&quot;chatgpt&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chatgpt&quot; aria-label=&quot;chatgpt permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ChatGPT&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://chat.openai.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://chat.openai.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;無料プランでは PDF をアップロードしたりできないので、手作業でコピペになります。
ただ、翻訳の精度自体はなかなか良かったです。&lt;/p&gt;
&lt;p&gt;有料プランの GPT-4 で Code Interpreter をうまく使えば、手作業でコピペしなくても最初から順に翻訳してくれるかもしれません。
ただし、以下のデメリットがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ある程度プロンプトの工夫が必要そう&lt;/li&gt;
&lt;li&gt;GPT-4 は GPT-3.5 よりはるかに応答が遅い&lt;/li&gt;
&lt;li&gt;時間あたりのリクエスト回数の制限もある&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;論文翻訳サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AB%96%E6%96%87%E7%BF%BB%E8%A8%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;論文翻訳サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;論文翻訳サービス&lt;/h2&gt;
&lt;h3 id=&quot;1paper&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1paper&quot; aria-label=&quot;1paper permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1paper&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://1paper.jp/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://1paper.jp/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;論文翻訳に特化したのクラウドサービスです。&lt;/p&gt;
&lt;p&gt;無料プランの場合 1 ヶ月で 1 ファイルまでのようです。&lt;/p&gt;
&lt;h2 id=&quot;pdf--gpt-のサービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pdf--gpt-%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;pdf  gpt のサービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PDF + GPT のサービス&lt;/h2&gt;
&lt;h3 id=&quot;chatpdf&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chatpdf&quot; aria-label=&quot;chatpdf permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ChatPDF&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.chatpdf.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.chatpdf.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PDF の内容について、チャットで質問できるサービスです。&lt;/p&gt;
&lt;p&gt;ただ、最初から翻訳してもらうのは挙動が微妙な気がしました。&lt;/p&gt;
&lt;h3 id=&quot;pdfgptio&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pdfgptio&quot; aria-label=&quot;pdfgptio permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PDFGPT.IO&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.pdfgpt.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.pdfgpt.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こちらはふれていませんが、ChatPDF と似たサービスのようです。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;arxiv-の翻訳サイト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#arxiv-%E3%81%AE%E7%BF%BB%E8%A8%B3%E3%82%B5%E3%82%A4%E3%83%88&quot; aria-label=&quot;arxiv の翻訳サイト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;arXiv の翻訳サイト&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://fugumt.com/fugumt/paper/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Fugu-MT: arxivの論文翻訳&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ライセンスの関係で本文まで翻訳されているのは一部ですが、こんなサイトもありました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://staka.jp/wordpress/?p=498&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Arxiv論文の翻訳サイト | ぷるーふおぶこんせぷと&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;pdfgpt-oss&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pdfgpt-oss&quot; aria-label=&quot;pdfgpt oss permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;pdfGPT (OSS)&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bhaskatripathi/pdfGPT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/bhaskatripathi/pdfGPT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PDF + GPT のサービスと類似したものとして、pdfGPT という OSS も見つけました。&lt;/p&gt;
&lt;p&gt;ただ、こちらも先頭から翻訳するという使い道には適さない気がします。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;論文などの PDF の日本語訳に使えるクラウドサービスとして、1 日数ファイルくらいをほぼ無料で翻訳できるものは見つかりませんでした。&lt;/p&gt;
&lt;p&gt;1 日や 1 ヶ月あたりのファイル数が少なければ、DeepL や 1paper はいいかもしれません。&lt;/p&gt;
&lt;p&gt;個人的には自作しようかなと思いました。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「Patterns for Building LLM-based Systems & Products」という記事を読んだメモ]]></title><description><![CDATA[「Patterns for Building LLM-based Systems & Products」という記事を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/llm-patterns</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/llm-patterns</guid><pubDate>Thu, 03 Aug 2023 06:27:45 GMT</pubDate><content:encoded>&lt;p&gt;「&lt;a href=&quot;https://eugeneyan.com/writing/llm-patterns/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Patterns for Building LLM-based Systems &amp;#x26; Products&lt;/a&gt;」という記事を読んだメモです。&lt;/p&gt;
&lt;h2 id=&quot;evals-to-measure-performance&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#evals-to-measure-performance&quot; aria-label=&quot;evals to measure performance permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Evals: To measure performance&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;G-Eval is a framework that applies LLMs with Chain-of-Though (CoT) and a form-filling paradigm to evaluate LLM outputs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;GPT-4とCoTなどで評価するフレームワークがあるとのこと。
あとで読みたい。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arxiv.org/abs/2303.16634&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://arxiv.org/abs/2303.16634&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;QRoLAの論文でも、GPT-4による評価があるとのこと。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arxiv.org/abs/2305.14314&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://arxiv.org/abs/2305.14314&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Relative to human judgments which are typically noisy (due to differing biases among annotators), LLM judgments tend to be less noisy (as the bias is more systematic) but more biased.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;LLMによる評価には以下のようなバイアスがあるとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Position bias: LLMs like GPT-4 tend to favor the response in the first position. To mitigate this, we can evaluate the same pair of responses twice while swapping their order. If the same response is preferred in both orders, we mark it as a win. Otherwise, it’s a tie.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;位置バイアス。最初の位置にある回答を好む。順番を入れ替えて両方評価したりすべき&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Verbosity bias: LLMs tend to favor longer, wordier responses over more concise ones, even if the latter is clearer and of higher quality. A possible solution is to ensure that comparison responses are similar in length.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;言い回しバイアス。冗長な言い回しを好む。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Self-enhancement bias: LLMs have a slight bias towards their own answers. GPT-4 favors itself with a 10% higher win rate while Claude-v1 favors itself with a 25% higher win rate. To counter this, don’t use the same LLM for evaluation tasks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;自己強化バイアス。自分の回答にバイアスがある。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;retrieval-augmented-generation-to-add-knowledge&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#retrieval-augmented-generation-to-add-knowledge&quot; aria-label=&quot;retrieval augmented generation to add knowledge permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Retrieval-Augmented Generation: To add knowledge&lt;/h2&gt;
&lt;p&gt;RAGは定義としてWeb検索とかも含むのか気になった。
埋め込みだけを指すのかもしれない。&lt;/p&gt;
&lt;p&gt;以下がRAGの論文なので、あとで読みたい。
&lt;a href=&quot;https://arxiv.org/abs/2005.11401&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://arxiv.org/abs/2005.11401&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Web検索の論文もある模様。
あとで読みたい。
&lt;a href=&quot;https://arxiv.org/abs/2203.05115&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://arxiv.org/abs/2203.05115&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;RAG has also been applied to non-QA tasks such as code generation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;RAGはQA以外にコード生成などにも使えるとのこと。
たしかに。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Why not embedding-based search only? While it’s great in many instances, there are situations where it falls short, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Searching for a person or object’s name (e.g., Eugene, Kaptir 2.0)&lt;/li&gt;
&lt;li&gt;Searching for an acronym or phrase (e.g., RAG, RLHF)&lt;/li&gt;
&lt;li&gt;Searching for an ID (e.g., gpt-3.5-turbo, titan-xlarge-v1.01)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;埋め込みベースの検索がうまくいかないケースの例。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;人名&lt;/li&gt;
&lt;li&gt;頭字語 (RAGやRLHF)&lt;/li&gt;
&lt;li&gt;ID (gpt-3.5-turboやtitan-xlarge-v1.01)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;たしかにうまくいかなそう。&lt;/p&gt;
&lt;h2 id=&quot;fine-tuning-to-get-better-at-specific-tasks&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fine-tuning-to-get-better-at-specific-tasks&quot; aria-label=&quot;fine tuning to get better at specific tasks permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Fine-tuning: To get better at specific tasks&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Similar to prefix tuning, they found that LoRA outperformed several baselines including full fine-tuning. Again, the hypothesis is that LoRA, thanks to its reduced rank, provides implicit regularization. In contrast, full fine-tuning, which updates all weights, could be prone to overfitting.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;完全なファインチューンは過学習しやすく、LoRAのほうがよい結果になる可能性があるとのこと。
完全なファインチューンのほうがいいかと思っていたので面白い。&lt;/p&gt;
&lt;h2 id=&quot;caching-to-reduce-latency-and-cost&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#caching-to-reduce-latency-and-cost&quot; aria-label=&quot;caching to reduce latency and cost permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Caching: To reduce latency and cost&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;In the space of serving LLM generations, the popularized approach is to cache the LLM response keyed on the embedding of the input request. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;一般的な手法として、入力の埋め込みをキーとしてキャッシュするとのこと。
入力そのままではないというのが以外だった。
たしかに、チャットボットなどで自由に入力できる場合は完全一致でキャッシュしても役に立たないので、埋め込みを使うのは有用そう。&lt;/p&gt;
&lt;p&gt;GPTCacheは聞いたことはあったけどさわっていないので、さわっておきたい。
&lt;a href=&quot;https://github.com/zilliztech/GPTCache&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/zilliztech/GPTCache&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;guardrails-to-ensure-output-quality&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#guardrails-to-ensure-output-quality&quot; aria-label=&quot;guardrails to ensure output quality permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Guardrails: To ensure output quality&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;An example is the &lt;a href=&quot;https://github.com/ShreyaR/guardrails&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Guardrails package&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;このパッケージは知らなかった。
&lt;a href=&quot;https://github.com/ShreyaR/guardrails&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/ShreyaR/guardrails&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/NVIDIA/NeMo-Guardrails&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeMo Guardrails&lt;/a&gt; は知っていたけどさわっていないのでさわっておきたい。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nvidia’s NeMo-Guardrails follows a similar principle but is designed to guide LLM-based conversational systems. Rather than focusing on syntactic guardrails, it emphasizes semantic ones.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この2つでは、注力している点も違うとのこと。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Guidance enforces the schema by injecting tokens that make up the structure.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Guidanceはトークンを注入することで構造を強制するとのこと。
知らなかった。
たしかに構造を強制するのによさそう。&lt;/p&gt;
&lt;h2 id=&quot;defensive-ux-to-anticipate--handle-errors-gracefully&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#defensive-ux-to-anticipate--handle-errors-gracefully&quot; aria-label=&quot;defensive ux to anticipate  handle errors gracefully permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Defensive UX: To anticipate &amp;#x26; handle errors gracefully&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;To learn more about defensive UX, we can look at Human-AI guidelines from Microsoft, Google, and Apple.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Microsoft、Google、Appleのガイドラインが紹介されている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/research/publication/guidelines-for-human-ai-interaction/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Guidelines for Human-AI Interaction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pair.withgoogle.com/guidebook/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;People + AI Guidebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.apple.com/design/human-interface-guidelines/machine-learning&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Human Interface Guidelines for Machine Learning&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;make it easy to dismiss or ignore undesired AI system services&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;望まないAIサービスを無効にしたりできるようにする話。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;it prevents it from becoming a nuisance and potentially reducing customer satisfaction in the long term.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;そうすると、AIによって不便になることを防げるとのこと。
たしかに。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;However, I question whether chat is the right UX for most user experiences—it just takes too much effort relative to the familiar UX of clicking on text and images.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;チャットはテキストや画像をクリックするだけと比べて入力が大変というのはそうだと思う。
なんでもチャット（自由入力）にしてしまうと、入力がすごく面倒になりそう。&lt;/p&gt;
&lt;h2 id=&quot;collect-user-feedback-to-build-our-data-flywheel&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#collect-user-feedback-to-build-our-data-flywheel&quot; aria-label=&quot;collect user feedback to build our data flywheel permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Collect user feedback: To build our data flywheel&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Midjourney is another good example. After images are generated, users can generate a new set of images (negative feedback), tweak an image by asking for a variation (positive feedback), or upscale and download the image (strong positive feedback). This enables Midjourney to gather rich comparison data on the outputs generated.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;画像生成で、出力に対してバリエーションを要求したかどうかがフィードバックになるのは面白い。
この例を意識して考えてみると、色々応用できそう。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;すごく勉強になるめちゃくちゃ良い記事だった。
読みたい論文とかさわりたいツールがいくつか出てきたので、そのあたりもやっていきたい。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「Generative Agents: Interactive Simulacra of Human Behavior」を読んだメモ]]></title><description><![CDATA[「Generative Agents: Interactive Simulacra of Human Behavior」を読んだメモです。]]></description><link>https://www.kanzennirikaisita.com/posts/generative-agents</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/generative-agents</guid><pubDate>Wed, 02 Aug 2023 13:07:53 GMT</pubDate><content:encoded>&lt;p&gt;「&lt;a href=&quot;https://arxiv.org/abs/2304.03442&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Generative Agents: Interactive Simulacra of Human Behavior&lt;/a&gt;」を読んだメモです。&lt;/p&gt;
&lt;h2 id=&quot;3-generative-agent-behavior-and-interaction&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-generative-agent-behavior-and-interaction&quot; aria-label=&quot;3 generative agent behavior and interaction permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 GENERATIVE AGENT BEHAVIOR AND INTERACTION&lt;/h2&gt;
&lt;h3 id=&quot;31-agent-avatar-and-communication&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#31-agent-avatar-and-communication&quot; aria-label=&quot;31 agent avatar and communication permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3.1 Agent Avatar and Communication&lt;/h3&gt;
&lt;p&gt;動作などが自然過ぎて、そのようにプログラムされているのでは？と思ってしまった。&lt;/p&gt;
&lt;p&gt;実装のプログラムが見てみたい。
少なくとも、LangChainで動かしてみようと思う。&lt;/p&gt;
&lt;h2 id=&quot;4-generative-agent-architecture&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-generative-agent-architecture&quot; aria-label=&quot;4 generative agent architecture permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4 GENERATIVE AGENT ARCHITECTURE&lt;/h2&gt;
&lt;h3 id=&quot;41-memory-and-retrieval&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#41-memory-and-retrieval&quot; aria-label=&quot;41 memory and retrieval permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.1 Memory and Retrieval&lt;/h3&gt;
&lt;p&gt;Memoryの重要性が想像以上に熱く語られていた。
Memoryにあらゆる知覚を記録するというのは面白い。&lt;/p&gt;
&lt;p&gt;MemoryへのRetrieveでは以下の3つの要素を使うとのこと。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最新性&lt;/li&gt;
&lt;li&gt;重要性 (LLMがつけたスコア)&lt;/li&gt;
&lt;li&gt;関連性 (埋め込みのコサイン類似度)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LangChainがMemoryを大事だと考えてるという話が少し分かってきた気がする。
チャットボットだとMemoryはふつうに動けばいい程度の機能だけど、ゲームとかで動かすAgentだとすごく大事で複雑な実装になりそうなんだなと思った。&lt;/p&gt;
&lt;h3 id=&quot;42-reflection&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#42-reflection&quot; aria-label=&quot;42 reflection permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.2 Reflection&lt;/h3&gt;
&lt;p&gt;記憶の整理って完全に睡眠みたいなイメージ。&lt;/p&gt;
&lt;h3 id=&quot;43-planning-and-reacting&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#43-planning-and-reacting&quot; aria-label=&quot;43 planning and reacting permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4.3 Planning and Reacting&lt;/h3&gt;
&lt;p&gt;Planを立ててからActionというのも大事そう。&lt;/p&gt;
&lt;h2 id=&quot;5-sandbox-environment-implementation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#5-sandbox-environment-implementation&quot; aria-label=&quot;5 sandbox environment implementation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5 SANDBOX ENVIRONMENT IMPLEMENTATION&lt;/h2&gt;
&lt;p&gt;サンドボックス環境はPhaserで作られているとのこと。
Phaserさわってみてもいいかも。&lt;/p&gt;
&lt;h3 id=&quot;51-from-structured-world-environments-to-natural-language-and-back-again&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#51-from-structured-world-environments-to-natural-language-and-back-again&quot; aria-label=&quot;51 from structured world environments to natural language and back again permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5.1 From Structured World Environments to Natural Language, And Back Again&lt;/h3&gt;
&lt;p&gt;サンドボックス環境が木構造というのは面白い。&lt;/p&gt;
&lt;p&gt;image-to-textみたいなものと組み合わせたりしたらどうなんだろう。
ただ、その方針ではAgentがものを処理したりするのが大変そうな気もする。&lt;/p&gt;
&lt;p&gt;というかサンドボックス環境の実装めっちゃ大変そう。すごすぎる。&lt;/p&gt;
&lt;p&gt;しかもエージェントが空間の認識をキャプチャとして持っている模様。
記憶させてるかんじが面白い。&lt;/p&gt;
&lt;h3 id=&quot;61-evaluation-procedure&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#61-evaluation-procedure&quot; aria-label=&quot;61 evaluation procedure permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6.1 Evaluation Procedure&lt;/h3&gt;
&lt;p&gt;面接みたいなかたちで評価するのは面白い。
質問内容を見ていると、たしかにどう答えるのか気になる。&lt;/p&gt;
&lt;p&gt;人間がエージェントの行動を見続けたのは大変そう。&lt;/p&gt;
&lt;h3 id=&quot;65-results&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#65-results&quot; aria-label=&quot;65 results permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6.5 Results&lt;/h3&gt;
&lt;p&gt;Refrectionがないとうまく回答できないとか面白い。&lt;/p&gt;
&lt;h3 id=&quot;72-boundaries-and-errors&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#72-boundaries-and-errors&quot; aria-label=&quot;72 boundaries and errors permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;7.2 Boundaries and Errors&lt;/h3&gt;
&lt;p&gt;何人か昼からバーでの飲むようになっちゃったということ？面白い。
LLMがそういう知識をもってたのか？？&lt;/p&gt;
&lt;h3 id=&quot;83-ethics-and-societal-impact&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#83-ethics-and-societal-impact&quot; aria-label=&quot;83 ethics and societal impact permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;8.3 Ethics and Societal Impact&lt;/h3&gt;
&lt;p&gt;倫理は難しいだろうなと思った。
自分の考えとしては、人は確実にエージェントに感情を持つと思うので。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;気になっていた論文なので、読めてよかった。
同じようなことをしてみたいが、とくかく実装が大変そうすぎる。
ただ、LangChainの実装例を動かすくらいはやりたい。&lt;/p&gt;
&lt;p&gt;引き続き、少しずつでも論文を読むようにしたい。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 7 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 7 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202307</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202307</guid><pubDate>Tue, 01 Aug 2023 05:33:06 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 7 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;python&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python&quot; aria-label=&quot;python permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python&lt;/h2&gt;
&lt;h3 id=&quot;ハイパフォーマンスpython-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9python-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;ハイパフォーマンスpython 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/47aKfx0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ハイパフォーマンスPython 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119901?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=805dff7acf4c5c914b30a6eda346c158&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119901&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119901&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Python の並列処理や非同期処理などの知識をつけたかったので、『ハイパフォーマンスPython』を手に取りました。&lt;/p&gt;
&lt;p&gt;Web 上の情報ではまとまって学びにくい内容が書かれていて、勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;llm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm&quot; aria-label=&quot;llm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM&lt;/h2&gt;
&lt;h3 id=&quot;openai-gpt-4chatgptlangchain-人工知能プログラミング実践入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#openai-gpt-4chatgptlangchain-%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80&quot; aria-label=&quot;openai gpt 4chatgptlangchain 人工知能プログラミング実践入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Ob93MG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OpenAI GPT-4/ChatGPT/LangChain 人工知能プログラミング実践入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C8YJRGW8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d76571d5e234505b9e3fea13a602f4ad&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C8YJRGW8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C8YJRGW8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;chatgptの法律&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chatgpt%E3%81%AE%E6%B3%95%E5%BE%8B&quot; aria-label=&quot;chatgptの法律 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3OC10d3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ChatGPTの法律&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/450247021X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=844d381ebb208ce3c52477c59be2ab4f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=450247021X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=450247021X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;つくりながら学ぶ！aiアプリ開発入門---langchain--streamlit-による-chatgpt-api-徹底活用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A4%E3%81%8F%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%EF%BC%81ai%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80---langchain--streamlit-%E3%81%AB%E3%82%88%E3%82%8B-chatgpt-api-%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8&quot; aria-label=&quot;つくりながら学ぶ！aiアプリ開発入門   langchain  streamlit による chatgpt api 徹底活用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://zenn.dev/ml_bear/books/d1f060a3f166a5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;つくりながら学ぶ！AIアプリ開発入門 - LangChain &amp;#x26; Streamlit による ChatGPT API 徹底活用&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;ソフトウェア開発にchatgptは使えるのか？設計からコーディングまでaiの限界を探る&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%ABchatgpt%E3%81%AF%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%AE%E3%81%8B%EF%BC%9F%E8%A8%AD%E8%A8%88%E3%81%8B%E3%82%89%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%BE%E3%81%A7ai%E3%81%AE%E9%99%90%E7%95%8C%E3%82%92%E6%8E%A2%E3%82%8B&quot; aria-label=&quot;ソフトウェア開発にchatgptは使えるのか？設計からコーディングまでaiの限界を探る permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3QCQqUX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ソフトウェア開発にChatGPTは使えるのか？――設計からコーディングまでAIの限界を探る&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C9L3DH5S?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=cb082e5dbb7cb32bc739e241db42928e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C9L3DH5S&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C9L3DH5S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ChatGPT や LLM 関連で 4 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;自分は技術に新しい知識を獲得しようとしたわけではなく、どんな書籍があるのか見てみる目的で読みました。
どの本もさくっと読めて、この分野にふれていない人にはとても勉強になりそうでした。&lt;/p&gt;
&lt;p&gt;『ChatGPTの法律』は、この分野の法律関係の知識をつけたかったため手に取りました。
とても勉強になる内容で、ぜひ多くのエンジニアにおすすめしたいです。
(ただし、技術的には結構誤りが多かったので注意が必要です)&lt;/p&gt;
&lt;h2 id=&quot;linux&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux&quot; aria-label=&quot;linux permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux&lt;/h2&gt;
&lt;h3 id=&quot;動かしながらゼロから学ぶ-linuxカーネルの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E3%81%8B%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;動かしながらゼロから学ぶ linuxカーネルの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3QhaHz7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;動かしながらゼロから学ぶ Linuxカーネルの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08HQKJK2S?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7a0265722e3814149230268633f0f00c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08HQKJK2S&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08HQKJK2S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Linux の解説書で気になっていた『動かしながらゼロから学ぶ Linuxカーネルの教科書』を読みました。&lt;/p&gt;
&lt;p&gt;とても読みやすく、比較的初心者にもおすすめできそうでした。&lt;/p&gt;
&lt;p&gt;タイトル通り、カーネルのコードまで少し触れることができるのも良かったです。&lt;/p&gt;
&lt;h2 id=&quot;経営と技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%8C%E5%96%B6%E3%81%A8%E6%8A%80%E8%A1%93&quot; aria-label=&quot;経営と技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;経営と技術&lt;/h2&gt;
&lt;h3 id=&quot;レガシーコードとどう付き合うか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%81%A9%E3%81%86%E4%BB%98%E3%81%8D%E5%90%88%E3%81%86%E3%81%8B&quot; aria-label=&quot;レガシーコードとどう付き合うか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/43NPJLd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;レガシーコードとどう付き合うか&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C5WNNLCR?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=dd932cc3a1617e52996ceaba00c49c4f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C5WNNLCR&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C5WNNLCR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ときどき目にして気になっていた『レガシーコードとどう付き合うか』を読みました。&lt;/p&gt;
&lt;p&gt;自分はスタートアップで何度か仕事をしているので、しっくりくる内容も多かったです。&lt;/p&gt;
&lt;p&gt;ふだん技術的なことを中心に考えているエンジニアが読むと、とくに面白いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 7 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;7 月は少し忙しかったのですが、そのわりにある程度本を読めてよかったです。&lt;/p&gt;
&lt;p&gt;8 月は少し時間に余裕ができそうなので、分厚い本（『&lt;a href=&quot;https://amzn.to/3Koutot&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxプログラミングインタフェース&lt;/a&gt;』）を読み進めたいなと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「Pythonステップアップ速習講座」をリリースしました]]></title><description><![CDATA[Udemy で「Pythonステップアップ速習講座―仮想環境のしくみ、開発環境を整えるツール、クラスを使ったコーディング、定番パッケージ」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-step-up-python</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-step-up-python</guid><pubDate>Fri, 21 Jul 2023 03:11:43 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「Pythonステップアップ速習講座―仮想環境のしくみ、開発環境を整えるツール、クラスを使ったコーディング、定番パッケージ」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;近年、Python はデータ分析を中心にとてもよく使われています。
プログラミングの入門としても、Python を学習する方はとても多いです&lt;/p&gt;
&lt;p&gt;しかし、Python で if・for・関数といった基本的なコーディングはできても、そこからさらにステップアップした知識を身に付ける機会は多くありません。
例えば、&lt;strong&gt;開発環境の整え方&lt;/strong&gt;や、&lt;strong&gt;クラスを使ったコーディング&lt;/strong&gt;については、あまりよく分かっていないという方も多いです。&lt;/p&gt;
&lt;p&gt;そこでこの講座では、Python でアプリケーションを実装するときに役立つ実践的な知識を、短時間で素早く身につけていきます。
このコースでは、Python でアプリケーションを実装することを意識して、Python の様々な要素を学習します。&lt;/p&gt;
&lt;h3 id=&quot;このコースで学ぶこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A7%E5%AD%A6%E3%81%B6%E3%81%93%E3%81%A8&quot; aria-label=&quot;このコースで学ぶこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースで学ぶこと&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python の丁寧なセットアップ&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;venv による「仮想環境」の仕組み&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visual Studio Code での開発環境の整え方&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;クラスや「型」を使ったプログラミング&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;便利な定番パッケージ（ロガー、デバッガ、自動テストなど）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Python でプログラムを自分なりに書くことはできるが、開発環境の整え方やクラスの使い方などはあまりよく分かっていない方&lt;/li&gt;
&lt;li&gt;機械学習やデータ分析で Python をよく使っているが、アプリケーションを実装するときに役立つ知識を学びたい方&lt;/li&gt;
&lt;li&gt;他の言語の経験から Python をなんとなく書くことはできるが、Python でより実践的なコードを書くための知識をつけたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h2 id=&quot;python-で自分なりにコードを書ける前提で、ステップアップするための知識を解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python-%E3%81%A7%E8%87%AA%E5%88%86%E3%81%AA%E3%82%8A%E3%81%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%91%E3%82%8B%E5%89%8D%E6%8F%90%E3%81%A7%E3%80%81%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E7%9F%A5%E8%AD%98%E3%82%92%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;python で自分なりにコードを書ける前提で、ステップアップするための知識を解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python で自分なりにコードを書ける前提で、ステップアップするための知識を解説&lt;/h2&gt;
&lt;p&gt;Python の入門の書籍や講座は世の中にとてもたくさんあります。&lt;/p&gt;
&lt;p&gt;しかし、そこからステップアップするための情報源は多くありません。&lt;/p&gt;
&lt;p&gt;この講座では、Python に入門済みの方に向けて、より実践的なコードを書けるようステップアップするための知識を解説します。&lt;/p&gt;
&lt;h2 id=&quot;他の言語経験者がさくっと-python-の基本をおさえるのにもおすすめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%96%E3%81%AE%E8%A8%80%E8%AA%9E%E7%B5%8C%E9%A8%93%E8%80%85%E3%81%8C%E3%81%95%E3%81%8F%E3%81%A3%E3%81%A8-python-%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%92%E3%81%8A%E3%81%95%E3%81%88%E3%82%8B%E3%81%AE%E3%81%AB%E3%82%82%E3%81%8A%E3%81%99%E3%81%99%E3%82%81&quot; aria-label=&quot;他の言語経験者がさくっと python の基本をおさえるのにもおすすめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;他の言語経験者がさくっと Python の基本をおさえるのにもおすすめ&lt;/h2&gt;
&lt;p&gt;機械学習などの流行により、他の言語の経験者が急に Python にふれることになるケースも多いです。&lt;/p&gt;
&lt;p&gt;他の言語の経験者なら Python で if・for・関数といった基本的なコードを書くのは簡単ですが、しっかりしたコードを書くには Python 特有の知識が必要になります。&lt;/p&gt;
&lt;p&gt;このコースはそのような方にも向けて、Python で実践的なコードを書くための知識を短時間で学べるようになっています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Python は情報源が多く入門のハードルが低いですが、さらにステップアップするための情報はあまりまとまっていません。&lt;/p&gt;
&lt;p&gt;この講座が Python のステップアップの役に立てば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2023 年 4 月から 6 月のふりかえり]]></title><description><![CDATA[2023 年 4 月から 6 月で実施したことをふりかえってまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2023-second-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2023-second-quarter</guid><pubDate>Fri, 30 Jun 2023 07:30:14 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 4 月から 6 月で実施したことをふりかえってまとめます。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202304&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 4 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202305&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 5 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202306&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 6 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 24 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標だったので、目標ぴったりでした。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/44sMSZ1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータの構成と設計&lt;/a&gt;』（パタヘネ）の上下&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/447Z5T2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラマー脳 ～優れたプログラマーになるための認知科学に基づくアプローチ&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つ (3 冊) です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN4LWMZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9a0a3d4c696ef3719a80bbdc61a384d2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN4LWMZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN4LWMZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN5GQLF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=352b0d6296944ed8ba64895da8a92fba&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN5GQLF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN5GQLF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BVDQM5H1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9a790e767f12e347bb4fbb81680f2ed0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BVDQM5H1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BVDQM5H1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;パタヘネは読んでおこうと言われることも多いので、一通り読めて良かったです。
『プログラマー脳』は、全プログラマーにおすすめしたい素晴らしい一冊でした。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、8 記事投稿しました。
ただ、読書記録や Udemy などの講座リリースの記事だけです。&lt;/p&gt;
&lt;p&gt;最近は技術記事を書くよりも勉強会や Udemy などの講座にするモチベーションが高いので、ブログにはあまり力を入れていません。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;購入してあった受験チケットの期限が近づいていたので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CKA (Certified Kubernetes Administrator)&lt;/li&gt;
&lt;li&gt;CKAD (Certified Kubernetes Application Developer)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つを取得しました。&lt;/p&gt;
&lt;p&gt;k8s 自体は何年も運用したことがあり、今更だけど一応とってみるか、くらいの気持ちでの受験でした。&lt;/p&gt;
&lt;p&gt;結果どちらも 90 点以上のスコアでオーバーキルでしたが、対策として受講した Udemy 講座は結構勉強になりました。
やはり英語圏の講座で評価が高いものは、圧倒的にクオリティが高いとも感じました。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/280172/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロンプトエンジニアリングから始めるLangChain入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/286514/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChainソースコードリーディング／テーマ：OpenAI Chat APIを「ちゃんと」使う&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/281472/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;生成AI・LLM LT会&lt;/a&gt; にて「LlamaIndex で Text-to-SQL 100 本ノック！」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 3 つの発表をしました。&lt;/p&gt;
&lt;p&gt;とくに「プロンプトエンジニアリングから始めるLangChain入門」は約 650 名という、自分としても、StudyCo の勉強会としても、過去最多人数のお申し込みをいただきました。
こちらの勉強会は、自分の中でも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;注目の分野で（おそらく）日本最速の発表形式の勉強会ができた&lt;/li&gt;
&lt;li&gt;これ以上ないくらい分かりやすく解説できた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という達成感があり、とても良かったです。&lt;/p&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバーほぼ 3000 人に到達&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 700 を突破&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月では、以下の 2 つのUdemy 講座を公開しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux再入門―カーネル、シェル、ファイルといった基本概念を理解してトラブルシューティング力を高めよう&lt;/li&gt;
&lt;li&gt;LangChainによる大規模言語モデル（LLM）アプリケーション開発入門―GPTを使ったチャットボットの実装まで&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;既存の講座についても引き続き多くの方に受講していただいています。&lt;/p&gt;
&lt;p&gt;なお、公開済み講座の講師発行クーポンが、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;techpit-教材&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#techpit-%E6%95%99%E6%9D%90&quot; aria-label=&quot;techpit 教材 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Techpit 教材&lt;/h2&gt;
&lt;p&gt;また、Techpit さんで、以下の教材をリリースしました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.techpit.jp/courses/271&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSの前に必要な基礎知識とRuby on Rails・Laravel・Spring BootのWebアプリケーションのAWSへのデプロイを学ぶ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「AWS へのデプロイに挑戦したい」という方に向けて、Web 上の記事では存在しないくらい丁寧に解説した教材しています。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4&quot; aria-label=&quot;低レイヤ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;低レイヤ&lt;/h2&gt;
&lt;p&gt;引き続き興味を持っている低レイヤの学習として、TCP/IP プロトコルスタックの自作に挑戦できました。
公開されている資料をもとに写経的に取り組みましたが、とても勉強になりました。&lt;/p&gt;
&lt;p&gt;最近は OS を自分なりに自作できるようになりたいという密かな目標があるので、引き続き勉強していこうと思います。&lt;/p&gt;
&lt;p&gt;また、関連して C++ と Rust を勉強したいです。&lt;/p&gt;
&lt;h2 id=&quot;llm-周辺技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm-%E5%91%A8%E8%BE%BA%E6%8A%80%E8%A1%93&quot; aria-label=&quot;llm 周辺技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM 周辺技術&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月も、LLM 関連分野についてキャッチアップしたりしました。&lt;/p&gt;
&lt;p&gt;特に LangChain と LlamaIndex について勉強会で発表できるくらいキャッチアップできたのはとても良かったです。&lt;/p&gt;
&lt;p&gt;この分野にはとても興味があるので、引き続き注目していこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2023 年 4 月から 6 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に（？）24 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 12 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会を 2 回開催し、LT 形式で 1 回発表した&lt;/li&gt;
&lt;li&gt;Udemy 講座を 2 つ公開した&lt;/li&gt;
&lt;li&gt;Techpit 教材を 1 つ公開した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勉強&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TCP/IP プロトコルスタックの自作に挑戦した&lt;/li&gt;
&lt;li&gt;LangChain と LlamaIndex をキャッチアップした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;引き続き、色々なことを学んだりしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 6 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 6 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202306</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202306</guid><pubDate>Fri, 30 Jun 2023 07:03:15 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 6 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4&quot; aria-label=&quot;低レイヤ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;低レイヤ&lt;/h2&gt;
&lt;h3 id=&quot;コンピュータの構成と設計-mips-edition-第6版-下&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A8%E8%A8%AD%E8%A8%88-mips-edition-%E7%AC%AC6%E7%89%88-%E4%B8%8B&quot; aria-label=&quot;コンピュータの構成と設計 mips edition 第6版 下 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/442p2n9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータの構成と設計　MIPS Edition　第6版　下&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN5GQLF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6064bc7481f43e87544bc949464ad6f3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN5GQLF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN5GQLF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;goならわかるシステムプログラミング-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#go%E3%81%AA%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;goならわかるシステムプログラミング 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/432j1W1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Goならわかるシステムプログラミング 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4908686122?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0ee22b8e7d2136605353670e8a4f8447&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4908686122&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4908686122&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;自作osで学ぶマイクロカーネルの設計と実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9Cos%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E8%A8%AD%E8%A8%88%E3%81%A8%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;自作osで学ぶマイクロカーネルの設計と実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/43ldhah&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;自作OSで学ぶマイクロカーネルの設計と実装&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C52SFYDC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9c9fe7f1c492c7dcf129240842616781&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C52SFYDC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C52SFYDC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;低レイヤの知識の拡充のため、3 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;『コンピュータの構成と設計』パタヘネはいつか読みたいと思っていたので読めて良かったです。
正直、アプリケーションエンジニアがすぐに役立てられる内容ではないですが、性能が重要なライブラリやミドルウェアを作ったりする場面では役立つかもしれません。&lt;/p&gt;
&lt;p&gt;『Go ならわかるシステムプログラミング』は、システムプログラミングの入門としてとても良い本でした。&lt;/p&gt;
&lt;p&gt;『自作OSで学ぶマイクロカーネルの設計と実装』は、マイクロカーネルについて全く知らなかったので勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;システム開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA&quot; aria-label=&quot;システム開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システム開発&lt;/h2&gt;
&lt;h3 id=&quot;システムを作らせる技術-エンジニアではないあなたへ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%89%E3%81%9B%E3%82%8B%E6%8A%80%E8%A1%93-%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%82%E3%81%AA%E3%81%9F%E3%81%B8&quot; aria-label=&quot;システムを作らせる技術 エンジニアではないあなたへ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3NuEelP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システムを作らせる技術 エンジニアではないあなたへ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B099WCDCG6?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=75cbdfb17a27353583dff19f010a1f39&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B099WCDCG6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B099WCDCG6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;人が増えても速くならない-～変化を抱擁せよ～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%BA%E3%81%8C%E5%A2%97%E3%81%88%E3%81%A6%E3%82%82%E9%80%9F%E3%81%8F%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84-%EF%BD%9E%E5%A4%89%E5%8C%96%E3%82%92%E6%8A%B1%E6%93%81%E3%81%9B%E3%82%88%EF%BD%9E&quot; aria-label=&quot;人が増えても速くならない ～変化を抱擁せよ～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/46s3wcY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;人が増えても速くならない ～変化を抱擁せよ～&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C3ZFZH37?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b6a730cf0d6c38531998f7b923d7fa1b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C3ZFZH37&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C3ZFZH37&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;システム開発について非エンジニア向けに書かれた本を 2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;『システムを作らせる技術』は、エンジニアが読んでも参考になる内容でした。
ただ、本来の想定読者がこの本を読んで実践できるかというと難しそうではありました。&lt;/p&gt;
&lt;p&gt;『人が増えても速くならない』は非常におすすめしたくなる本でした。
「なんでたったこれだけのことにそんなに時間がかかるの？」などと質問されたときに説明したくなる内容が、とてもコンパクトにまとまっていて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;ビジネスモデル・個人開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%A2%E3%83%87%E3%83%AB%E3%83%BB%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA&quot; aria-label=&quot;ビジネスモデル・個人開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネスモデル・個人開発&lt;/h2&gt;
&lt;h3 id=&quot;ビジネスモデル20図鑑&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%A2%E3%83%87%E3%83%AB20%E5%9B%B3%E9%91%91&quot; aria-label=&quot;ビジネスモデル20図鑑 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/44mAHwL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ビジネスモデル2.0図鑑&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07J5Y5NZC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=131b85852de90614039301b949e6754c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07J5Y5NZC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07J5Y5NZC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;個人開発で稼ごう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%81%A7%E7%A8%BC%E3%81%94%E3%81%86&quot; aria-label=&quot;個人開発で稼ごう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;個人開発で稼ごう&lt;/h3&gt;
&lt;h3 id=&quot;個人開発で毎月1万円を稼ぐコツ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%81%A7%E6%AF%8E%E6%9C%881%E4%B8%87%E5%86%86%E3%82%92%E7%A8%BC%E3%81%90%E3%82%B3%E3%83%84&quot; aria-label=&quot;個人開発で毎月1万円を稼ぐコツ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3JCWpVa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;個人開発で毎月1万円を稼ぐコツ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BY8NT4B6?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=01b6c690ff67e3711a973ac6788c5f39&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BY8NT4B6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BY8NT4B6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ビジネスモデルや個人開発についていくつか本を読んでみました。&lt;/p&gt;
&lt;p&gt;ビジネスモデルなどは普段から考える機会があると何か思いついたりしやすくなる気がするので、たまにはこういった本を読むのも悪くないと思います。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング&lt;/h2&gt;
&lt;h3 id=&quot;プログラマー脳-～優れたプログラマーになるための認知科学に基づくアプローチ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E8%84%B3-%EF%BD%9E%E5%84%AA%E3%82%8C%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E8%AA%8D%E7%9F%A5%E7%A7%91%E5%AD%A6%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81&quot; aria-label=&quot;プログラマー脳 ～優れたプログラマーになるための認知科学に基づくアプローチ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/46r6iz8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラマー脳 ～優れたプログラマーになるための認知科学に基づくアプローチ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BVDQM5H1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1f9230e2d15f89f903dd4d9cc33b065f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BVDQM5H1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BVDQM5H1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ロバストpython-クリーンで保守しやすいコードを書く&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AD%E3%83%90%E3%82%B9%E3%83%88python-%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%81%A7%E4%BF%9D%E5%AE%88%E3%81%97%E3%82%84%E3%81%99%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F&quot; aria-label=&quot;ロバストpython クリーンで保守しやすいコードを書く permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/42ZQ8tC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ロバストPython ―クリーンで保守しやすいコードを書く&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4814400179?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=53cee8d450674f34a453eaa2a6a45520&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4814400179&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4814400179&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プログラミングと関連して 2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;『プログラマー脳』は、最近読んだ本の中で圧倒的に面白かったです。
最近は AI の発達により、「勉強したことがなくてもプログラミングできた」といった話を耳にすることもありますが、この本を読むとやはり勉強したほうがあったほうが有利だなと思ったりしました。
普段からプログラミングに関わっている人には、是非とも読んでみてほしいです。&lt;/p&gt;
&lt;p&gt;『ロバストPython』は、前半の型をしっかり使うための解説がとても良かったです。
Python を自分なりに書ける段階からのステップアップにとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計&lt;/h2&gt;
&lt;h3 id=&quot;エンジニアなら知っておきたい-システム設計とドキュメント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AA%E3%82%89%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%A8%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88&quot; aria-label=&quot;エンジニアなら知っておきたい システム設計とドキュメント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3PwaOq6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンジニアなら知っておきたい システム設計とドキュメント&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09V9XMQT7?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=71b04d1704e3d776486f3330534467e6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09V9XMQT7&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09V9XMQT7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;システム設計に関して 1 冊読みました。
システム設計について雰囲気を知りたい方には良さそうだと思いました。&lt;/p&gt;
&lt;h2 id=&quot;大規模言語モデル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB&quot; aria-label=&quot;大規模言語モデル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;大規模言語モデル&lt;/h2&gt;
&lt;h3 id=&quot;大規模言語モデルは新たな知能かchatgptが変えた世界&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AF%E6%96%B0%E3%81%9F%E3%81%AA%E7%9F%A5%E8%83%BD%E3%81%8Bchatgpt%E3%81%8C%E5%A4%89%E3%81%88%E3%81%9F%E4%B8%96%E7%95%8C&quot; aria-label=&quot;大規模言語モデルは新たな知能かchatgptが変えた世界 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3NVohXo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;大規模言語モデルは新たな知能か――ChatGPTが変えた世界&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4000297198?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c92398deebe8528d25d861b9897f29ac&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4000297198&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4000297198&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;大規模言語モデル関連で話題になっていた『大規模言語モデルは新たな知能か』を読みました。&lt;/p&gt;
&lt;p&gt;100 ページ程度というコンパクトな本ですが、大規模言語モデルに関してまず知りたい要素をおさえるのに良かったです。&lt;/p&gt;
&lt;p&gt;大規模言語モデル関係は最近かなり興味があるので、今後もいろいろ本を読んだりしていくつもりです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 12 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;他には TCP/IP プロトコルスタックの自作に挑戦することもでき、個人的に勉強時間をある程度とれた月でした。&lt;/p&gt;
&lt;p&gt;来月は少し忙しくなりそうですが、引き続き本を読む時間をとったりしていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Techpit で「AWS へのデプロイ」をテーマとした教材をリリースしました]]></title><description><![CDATA[Techpit で「AWS へのデプロイ」をテーマとした教材をリリースしました。
どんな教材なのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/techpit-aws-linux-deployment</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/techpit-aws-linux-deployment</guid><pubDate>Thu, 15 Jun 2023 07:31:31 GMT</pubDate><content:encoded>&lt;p&gt;Techpit で「AWS へのデプロイ」をテーマとした教材をリリースしました。&lt;/p&gt;
&lt;p&gt;どんな教材なのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出したオンライン教材の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;教材概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%95%99%E6%9D%90%E6%A6%82%E8%A6%81&quot; aria-label=&quot;教材概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;教材概要&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;タイトル&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AWSの前に必要な基礎知識とRuby on Rails・Laravel・Spring BootのWebアプリケーションのAWSへのデプロイを学ぶ&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;教材ページ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.techpit.jp/courses/271&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.techpit.jp/courses/271&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Web アプリケーションの実装に入門した次のステップアップとして、AWS を学ぼうと考える方は多いです。
特に、自分の作ったアプリケーションを「AWS にデプロイ」 する方法を学びたいという声はよく耳にします。&lt;/p&gt;
&lt;p&gt;「AWS へのデプロイ」を学ぶには、いくつものステップがあります。
その第一歩は、「AWS に Linux サーバを 1 台だけ用意して、そこで環境構築する」ことです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;そこで本教材では、「AWS へのデプロイ」を Linux サーバ 1 台という最小構成で実現することを目標として、Linux・ネットワークの基礎知識に始まり、Web アプリケーションの環境構築の基礎を学んでいきます。&lt;/strong&gt;
&lt;strong&gt;その後、Ruby on Rails・Laravel・Spring Boot を使った Web アプリケーションのデプロイに実際に挑戦してみます。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;「AWS へのデプロイ」を学びたいが、その言葉が何を指していて、どうやって学べばいいのか分からない方&lt;/li&gt;
&lt;li&gt;AWS Certified Solutions Architect - Associate (SAA) などの資格の学習を始めたが、インフラに触れたことがなく、アプリケーション開発とどのように関係するのかよく分からない方&lt;/li&gt;
&lt;li&gt;Web 上の情報などを参考に AWS になんとなくデプロイすることはできたが、自分が何をしたのか実はよく分かっていないという方&lt;/li&gt;
&lt;li&gt;「インフラ」への苦手意識を克服したいアプリケーションエンジニアの方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;この教材の特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E6%95%99%E6%9D%90%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;この教材の特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;この教材の特徴&lt;/h2&gt;
&lt;p&gt;ここから、この教材の特徴を紹介させていただきます。&lt;/p&gt;
&lt;h2 id=&quot;linux-やネットワーク・web-の仕組みと言った基礎知識から学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux-%E3%82%84%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BBweb-%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A8%E8%A8%80%E3%81%A3%E3%81%9F%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;linux やネットワーク・web の仕組みと言った基礎知識から学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux やネットワーク・Web の仕組みと言った基礎知識から学ぶ&lt;/h2&gt;
&lt;p&gt;「AWS へのデプロイ」を学びたいという方の多くは、実は AWS の知識ではなく、Linux・ネットワーク・Web の仕組みといった基礎知識でつまづいていることが多いです。&lt;/p&gt;
&lt;p&gt;この教材では、「AWS へのデプロイ」の第一歩として必要な範囲で、Linux・ネットワーク・Web の仕組みといった基礎知識から学んでいきます。&lt;/p&gt;
&lt;h2 id=&quot;ruby-on-rails・laravel・spring-boot-の例で学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ruby-on-rails%E3%83%BBlaravel%E3%83%BBspring-boot-%E3%81%AE%E4%BE%8B%E3%81%A7%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;ruby on rails・laravel・spring boot の例で学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ruby on Rails・Laravel・Spring Boot の例で学ぶ&lt;/h2&gt;
&lt;p&gt;この教材では、Ruby on Rails・Laravel・Spring Boot の Web アプリケーションで実際にデプロイを体験できるようになっています。&lt;/p&gt;
&lt;p&gt;これらの Web アプリケーションのデプロイ手順について、Web 上には様々な記事がありますが、その意味まで丁寧に説明している例はほとんどありません。&lt;/p&gt;
&lt;p&gt;この教材では、デプロイ手順で何をしているのか、入門として知っておきたい範囲でできる限り丁寧に解説しています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;「AWS へのデプロイに挑戦したい」という声はよく耳にしますが、何をどう学べばいいのか分からないという方は多いです。
この講座がそういった方のお役に立てば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出したオンライン教材の一覧は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 5 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 5 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202305</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202305</guid><pubDate>Thu, 01 Jun 2023 01:17:31 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 5 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;設計・運用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88%E3%83%BB%E9%81%8B%E7%94%A8&quot; aria-label=&quot;設計・運用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計・運用&lt;/h2&gt;
&lt;h3 id=&quot;システム設計の面接試験&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E9%9D%A2%E6%8E%A5%E8%A9%A6%E9%A8%93&quot; aria-label=&quot;システム設計の面接試験 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3qmA07V&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システム設計の面接試験&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0C61BNTW9?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=be938c5f3478b83293446ecb59117843&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0C61BNTW9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0C61BNTW9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;aws運用入門-押さえておきたいawsの基本と運用ノウハウ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E9%81%8B%E7%94%A8%E5%85%A5%E9%96%80-%E6%8A%BC%E3%81%95%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84aws%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8%E9%81%8B%E7%94%A8%E3%83%8E%E3%82%A6%E3%83%8F%E3%82%A6&quot; aria-label=&quot;aws運用入門 押さえておきたいawsの基本と運用ノウハウ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/43jqwZQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS運用入門　押さえておきたいAWSの基本と運用ノウハウ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BXDGDPZ8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=365a173eadb13cdc4848e04177c2f42a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BXDGDPZ8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BXDGDPZ8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;システム設計や運用について、気になっていた本を読みました。&lt;/p&gt;
&lt;p&gt;『システム設計の面接試験』は、面接に限らずシステム設計について学ぶのに良い本かもと思いました。
(一部明らかに NG な内容も混ざっていたので、そのあたりの見極めができる必要はあるかもしれません)&lt;/p&gt;
&lt;p&gt;『AWS運用入門』は、AWS の運用についてしっかりまとめられていて、運用設計などの際に参考にできる本だと思いました。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4&quot; aria-label=&quot;低レイヤ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;低レイヤ&lt;/h2&gt;
&lt;h3 id=&quot;lsを読まずにプログラマを名乗るな！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ls%E3%82%92%E8%AA%AD%E3%81%BE%E3%81%9A%E3%81%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%82%92%E5%90%8D%E4%B9%97%E3%82%8B%E3%81%AA%EF%BC%81&quot; aria-label=&quot;lsを読まずにプログラマを名乗るな！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IRChOW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;lsを読まずにプログラマを名乗るな！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075953PY5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1a409c2fe8efc6bb261f6c0146151d00&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075953PY5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075953PY5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;コンピュータの構成と設計-mips-edition-第6版-上&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A8%E8%A8%AD%E8%A8%88-mips-edition-%E7%AC%AC6%E7%89%88-%E4%B8%8A&quot; aria-label=&quot;コンピュータの構成と設計 mips edition 第6版 上 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3C38fnq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータの構成と設計　MIPS Edition　第6版　上&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN4LWMZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6fd0cbb39be37589b252437092d844b2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN4LWMZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN4LWMZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;低レイヤの学習の一環として 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;『lsを読まずにプログラマを名乗るな！』はざっと読んだのですが、後日もう少し丁寧に読むと面白そうかもと思いました。&lt;/p&gt;
&lt;p&gt;また、『コンピュータの構成と設計』（パタヘネ）の上を読み終えられました。
4 章「プロセッサ」がとても面白く、実装まで全く想像できていなかった CPU のパイプライン処理などを丁寧に学べて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;ビジネス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9&quot; aria-label=&quot;ビジネス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネス&lt;/h2&gt;
&lt;h3 id=&quot;失敗の科学-失敗から学習する組織、学習できない組織&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%B1%E6%95%97%E3%81%AE%E7%A7%91%E5%AD%A6-%E5%A4%B1%E6%95%97%E3%81%8B%E3%82%89%E5%AD%A6%E7%BF%92%E3%81%99%E3%82%8B%E7%B5%84%E7%B9%94%E3%80%81%E5%AD%A6%E7%BF%92%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E7%B5%84%E7%B9%94&quot; aria-label=&quot;失敗の科学 失敗から学習する組織、学習できない組織 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3MBi9kU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;失敗の科学 失敗から学習する組織、学習できない組織&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01MU364ID?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7dc6e1578690094a21ebd0e104233197&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01MU364ID&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01MU364ID&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;気になっていた『失敗の科学』を読みました。
自分の思考・行動についても色々考えさせられて面白かったです。
かなり多くの人におすすめできそうな本でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 5 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;パタヘネを読むのにかなり時間がかかったので、読めた冊数は少なめでした。&lt;/p&gt;
&lt;p&gt;来月はまずパタヘネの下巻を読み切るところから始めたいなと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「LangChainによる大規模言語モデル（LLM）アプリケーション開発入門」をリリースしました]]></title><description><![CDATA[Udemy で「LangChainによる大規模言語モデル（LLM）アプリケーション開発入門―GPTを使ったチャットボットの実装まで」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-langchain-apps</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-langchain-apps</guid><pubDate>Sat, 27 May 2023 03:42:09 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「LangChainによる大規模言語モデル（LLM）アプリケーション開発入門―GPTを使ったチャットボットの実装まで」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;2022 年末に公開されて以来、「ChatGPT」は一般にも知られるキーワードとなり、非常に盛り上がっています。
ChatGPT が使っている GPT-3.5 や GPT-4 などのモデルは、「大規模言語モデル（LLM：Large Language Model）」と呼ばれます。
2023 年現在、LLM 周辺のトピックは日々大きな話題となっています。&lt;/p&gt;
&lt;p&gt;そんな中、&lt;strong&gt;LLM を使ったアプリケーションを開発するためのツールとして、「LangChain」が注目を集めています&lt;/strong&gt;。
LLM を使ったアプリケーション開発の基礎を学びたい方は、LangChain で実際にアプリケーションを実装してみるのがおすすめです。&lt;/p&gt;
&lt;p&gt;この講座では、&lt;strong&gt;LangChain の入門から始めて、実際に LLM（GPT）を使ったアプリケーションを開発していきます&lt;/strong&gt;。
コース後半では、&lt;strong&gt;LangChain を使って、Web アプリケーションと Slack ボットという 2 つのチャットボットを実装します&lt;/strong&gt;。
これらには「会話履歴を踏まえて応答する機能」や「プライベートな文書を検索して応答する機能」を実装します。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;GPT などの大規模言語モデルを使ったアプリケーションの開発を学びたい方&lt;/li&gt;
&lt;li&gt;LangChain について耳にして、基本を学びたいと思っている方&lt;/li&gt;
&lt;li&gt;LangChain を使って Web アプリや Slack ボットを実装してみたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h2 id=&quot;内部の動作を意識して-langchain-にしっかり入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%86%85%E9%83%A8%E3%81%AE%E5%8B%95%E4%BD%9C%E3%82%92%E6%84%8F%E8%AD%98%E3%81%97%E3%81%A6-langchain-%E3%81%AB%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E5%85%A5%E9%96%80&quot; aria-label=&quot;内部の動作を意識して langchain にしっかり入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;内部の動作を意識して LangChain にしっかり入門&lt;/h2&gt;
&lt;p&gt;LangChain を理解するには、内部で使われる「プロンプトエンジニアリング」がポイントです。&lt;/p&gt;
&lt;p&gt;プロンプトエンジニアリングと言うと、何かうさんくさいテクニックだと感じる方もいるかもしれませんが、実際にはとても興味深い手法が研究されていたりします。&lt;/p&gt;
&lt;p&gt;このコースでは、LangChain の内部で使われるプロンプトエンジニアリングの基本から学習します。&lt;/p&gt;
&lt;h2 id=&quot;langchain-の基礎で終わらず、web-アプリや-slack-ボットを実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#langchain-%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%A7%E7%B5%82%E3%82%8F%E3%82%89%E3%81%9A%E3%80%81web-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%84-slack-%E3%83%9C%E3%83%83%E3%83%88%E3%82%92%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;langchain の基礎で終わらず、web アプリや slack ボットを実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LangChain の基礎で終わらず、Web アプリや Slack ボットを実装&lt;/h2&gt;
&lt;p&gt;LangChain について学ぶだけでなく、実際に何かアプリケーションを作ってみたい、という声はよく耳にします。&lt;/p&gt;
&lt;p&gt;このコースでは、Gradio や Bolt を使い、Web アプリケーションや Slack ボットを簡単に実装できることを体験します。&lt;/p&gt;
&lt;p&gt;また、実装したアプリケーションはローカル環境で動かすだけでなく、PaaS を使用して実際にデプロイまで実施します。&lt;/p&gt;
&lt;h2 id=&quot;変化の激しいツールをキャッチアップして使う方法にもふれる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%89%E5%8C%96%E3%81%AE%E6%BF%80%E3%81%97%E3%81%84%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E3%82%AD%E3%83%A3%E3%83%83%E3%83%81%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%A6%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95%E3%81%AB%E3%82%82%E3%81%B5%E3%82%8C%E3%82%8B&quot; aria-label=&quot;変化の激しいツールをキャッチアップして使う方法にもふれる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;変化の激しいツールをキャッチアップして使う方法にもふれる&lt;/h2&gt;
&lt;p&gt;LangChain は毎日のように新バージョンがリリースされています。&lt;/p&gt;
&lt;p&gt;変化の激しいツールを使う場合、最新情報をキャッチアップする方法を学ぶことも重要です。&lt;/p&gt;
&lt;p&gt;そこで、LangChain の特定バージョンのドキュメントを参照する方法や、ソースコードの読み方にもふれます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;LLM 周辺分野は非常に盛り上がっていますが、その中でも LangChain は最初に学ぶのにとてもおすすめです。&lt;/p&gt;
&lt;p&gt;現時点で日本語で最も詳しい LangChain の入門講座だと思うので、ぜひ多くの方に楽しんでいただければ嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 4 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 4 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202304</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202304</guid><pubDate>Mon, 01 May 2023 10:40:09 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 4 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計&lt;/h2&gt;
&lt;h3 id=&quot;ちょうぜつソフトウェア設計入門phpで理解するオブジェクト指向の活用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A1%E3%82%87%E3%81%86%E3%81%9C%E3%81%A4%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80php%E3%81%A7%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AE%E6%B4%BB%E7%94%A8&quot; aria-label=&quot;ちょうぜつソフトウェア設計入門phpで理解するオブジェクト指向の活用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HpWxGo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BNH1J2W2?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5ea816a42452ceedcbca4f859e138e3e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BNH1J2W2&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BNH1J2W2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;読みやすいコードのガイドライン--持続可能なソフトウェア開発のために&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%81%BF%E3%82%84%E3%81%99%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3--%E6%8C%81%E7%B6%9A%E5%8F%AF%E8%83%BD%E3%81%AA%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB&quot; aria-label=&quot;読みやすいコードのガイドライン  持続可能なソフトウェア開発のために permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3VjnW2u&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;読みやすいコードのガイドライン -持続可能なソフトウェア開発のために&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BGX2VGYR?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a74e08fa8a426a812dd63a87f2a1ce15&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BGX2VGYR&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BGX2VGYR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ソフトウェア設計などの分野の新しめの本を何冊か読みました。&lt;/p&gt;
&lt;p&gt;この分野の本は今までにかなり色々読んだりしてきていますが、そうはいっても本を読むと改めての発見もあって勉強になります。&lt;/p&gt;
&lt;p&gt;『ちょうぜつソフトウェア設計入門』は初心者向けではないと思いますが、ある程度知識のある人が、ソフトウェア設計について 2023 年時点の整理を学ぶのに良さそうだと思いました。&lt;/p&gt;
&lt;p&gt;『読みやすいコードのガイドライン』は、有名な『&lt;a href=&quot;https://amzn.to/3LINkLZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーダブルコード&lt;/a&gt;』と近い分野の本ですが、使われている例が実践的で良かったです。&lt;/p&gt;
&lt;h2 id=&quot;税務&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A8%8E%E5%8B%99&quot; aria-label=&quot;税務 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;税務&lt;/h2&gt;
&lt;h3 id=&quot;2時間で丸わかり-インボイスと消費税の基本を学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2%E6%99%82%E9%96%93%E3%81%A7%E4%B8%B8%E3%82%8F%E3%81%8B%E3%82%8A-%E3%82%A4%E3%83%B3%E3%83%9C%E3%82%A4%E3%82%B9%E3%81%A8%E6%B6%88%E8%B2%BB%E7%A8%8E%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%92%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;2時間で丸わかり インボイスと消費税の基本を学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Hry7wn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;2時間で丸わかり インボイスと消費税の基本を学ぶ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BCJX9RQJ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3b0b6e8875cdf91fb36360122013de33&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BCJX9RQJ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BCJX9RQJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;即効！インボイス制度対応マニュアル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8D%B3%E5%8A%B9%EF%BC%81%E3%82%A4%E3%83%B3%E3%83%9C%E3%82%A4%E3%82%B9%E5%88%B6%E5%BA%A6%E5%AF%BE%E5%BF%9C%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB&quot; aria-label=&quot;即効！インボイス制度対応マニュアル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3LG1NZd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;即効！インボイス制度対応マニュアル&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BVDLYQTM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=dab847eab20f151bfd7670ffe4a10a8a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BVDLYQTM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BVDLYQTM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;インボイス制度の概要を知りたかったので、2 冊ほど読んでみました。&lt;/p&gt;
&lt;p&gt;どちらの本も、概要を把握するには良かったです。&lt;/p&gt;
&lt;h2 id=&quot;執筆&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%B7%E7%AD%86&quot; aria-label=&quot;執筆 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;執筆&lt;/h2&gt;
&lt;h3 id=&quot;技術書のつくり方-本の書き方、企画書作り、出版社探し、執筆ツール、締切、著者宣伝、商業出版の全工程&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8A%80%E8%A1%93%E6%9B%B8%E3%81%AE%E3%81%A4%E3%81%8F%E3%82%8A%E6%96%B9-%E6%9C%AC%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%80%81%E4%BC%81%E7%94%BB%E6%9B%B8%E4%BD%9C%E3%82%8A%E3%80%81%E5%87%BA%E7%89%88%E7%A4%BE%E6%8E%A2%E3%81%97%E3%80%81%E5%9F%B7%E7%AD%86%E3%83%84%E3%83%BC%E3%83%AB%E3%80%81%E7%B7%A0%E5%88%87%E3%80%81%E8%91%97%E8%80%85%E5%AE%A3%E4%BC%9D%E3%80%81%E5%95%86%E6%A5%AD%E5%87%BA%E7%89%88%E3%81%AE%E5%85%A8%E5%B7%A5%E7%A8%8B&quot; aria-label=&quot;技術書のつくり方 本の書き方、企画書作り、出版社探し、執筆ツール、締切、著者宣伝、商業出版の全工程 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3oUp1Sy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;技術書のつくり方　本の書き方、企画書作り、出版社探し、執筆ツール、締切、著者宣伝、商業出版の全工程&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09GKJBGW9?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=159938a6a9306284e7cac67a3fb8fa57&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09GKJBGW9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09GKJBGW9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;技術書の執筆について、本を手に取ってみました。&lt;/p&gt;
&lt;p&gt;個人的に何を調べるにも本を 1-2 冊読むのが好きなので、こういうことはよくやります。&lt;/p&gt;
&lt;h2 id=&quot;linux&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux&quot; aria-label=&quot;linux permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux&lt;/h2&gt;
&lt;h3 id=&quot;入門-モダンlinux-オンプレミスからクラウドまで、幅広い知識を会得する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3linux-%E3%82%AA%E3%83%B3%E3%83%97%E3%83%AC%E3%83%9F%E3%82%B9%E3%81%8B%E3%82%89%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%BE%E3%81%A7%E3%80%81%E5%B9%85%E5%BA%83%E3%81%84%E7%9F%A5%E8%AD%98%E3%82%92%E4%BC%9A%E5%BE%97%E3%81%99%E3%82%8B&quot; aria-label=&quot;入門 モダンlinux オンプレミスからクラウドまで、幅広い知識を会得する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3LpB1CW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 モダンLinux ―オンプレミスからクラウドまで、幅広い知識を会得する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4814400217?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5de7cc4510cdfbbd0fd5570ed087a190&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4814400217&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4814400217&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;［試して理解］linuxのしくみ-実験と図解で学ぶos、仮想マシン、コンテナの基礎知識【増補改訂版】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E8%A9%A6%E3%81%97%E3%81%A6%E7%90%86%E8%A7%A3%EF%BC%BDlinux%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%E5%AE%9F%E9%A8%93%E3%81%A8%E5%9B%B3%E8%A7%A3%E3%81%A7%E5%AD%A6%E3%81%B6os%E3%80%81%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%80%81%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E3%80%90%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91&quot; aria-label=&quot;［試して理解］linuxのしくみ 実験と図解で学ぶos、仮想マシン、コンテナの基礎知識【増補改訂版】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3LIHFph&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［試して理解］Linuxのしくみ　―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BG8J5QJ1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c82060eca3afe497377267bedba53578&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BG8J5QJ1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BG8J5QJ1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Udemy で Linux の講座を出したかったので、Linux 関係の書籍を 2 冊読みました。&lt;/p&gt;
&lt;p&gt;『入門 モダンLinux』は、Linux をある程度知っている人向けに、最近のトピックなどを色々出してくれる本でした。&lt;/p&gt;
&lt;p&gt;『Linuxのしくみ』のほうは、Linux の脱初心者の本として、個人的に一番おすすめです。
IT エンジニア向けの技術書は少なく見積もっても 500 冊以上は読んでいますが、その中でもトップクラスにおすすめの本です。
IT エンジニアであれば、是非一度読むことをおすすめしたい本です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 7 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;1 月・2 月と全然本を読めていなかったので、読書の習慣を多少でも復活できて良かったです。&lt;/p&gt;
&lt;p&gt;来月からも最低このくらいのペースで本を読んでいこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「Linux再入門―カーネル、シェル、ファイルといった基本概念を理解してトラブルシューティング力を高めよう」をリリースしました]]></title><description><![CDATA[Udemy で「Linux再入門―カーネル、シェル、ファイルといった基本概念を理解してトラブルシューティング力を高めよう」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-linux-reintroduction</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-linux-reintroduction</guid><pubDate>Mon, 01 May 2023 10:09:37 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「Linux再入門―カーネル、シェル、ファイルといった基本概念を理解してトラブルシューティング力を高めよう」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;Linux はサーバ用の OS として非常によく使われており、システム開発の現場で関わる機会はとても多いです。
近年は Docker などのコンテナ技術もよく使われますが、その背後で使われているのも Linux です。&lt;/p&gt;
&lt;p&gt;しかし…
書籍や資格学習などで Linux に入門してコマンドを身につけたりしても、まだまだ知識が足りないと感じることは多いです。
例えば、以下のようなケースはよくあります&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;環境構築がうまくいかないときに、&lt;strong&gt;エラーの原因が理解できず、解決することができない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Docker などの &lt;strong&gt;Linux 上で動作する技術を学ぶ際に、登場する概念が理解できない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;資格学習などで学んだ知識が、&lt;strong&gt;実際のプログラムの動きとどう繋がるのかよく分からない&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;環境構築のトラブルシューティングや関連技術のキャッチアップが得意になるためには、Linux などの OS の知識がとても重要です。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、Linux について、コマンドを覚えて&lt;strong&gt;なんとなくさわれる段階を卒業する&lt;/strong&gt;ための知識を学びます。
とくに、&lt;strong&gt;カーネル・シェル・ファイル&lt;/strong&gt;といった入門では正確に解説されない概念をもう一歩正確に学びます。
このような知識をつけることで、トラブルシューティングや Docker などの Linux 上の技術のキャッチアップに非常に役立ちます。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Linux に入門して基本的なコマンドを身につけたが、まだ知識が足りないと感じている方&lt;/li&gt;
&lt;li&gt;環境構築のトラブルシューティングの苦手意識を克服したい方&lt;/li&gt;
&lt;li&gt;カーネル・シェル・ファイル・標準入出力・インストールといった、入門では曖昧にしか説明されない概念をしっかり理解したい方&lt;/li&gt;
&lt;li&gt;Docker などのコンテナ技術を学ぼうとして、Linux 関連の用語が分からなかった方（例：マウント、システムコール）&lt;/li&gt;
&lt;li&gt;Linux や OS に興味があり、基礎的な知識をつけたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;入門では正確に解説されない概念を、改めて解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80%E3%81%A7%E3%81%AF%E6%AD%A3%E7%A2%BA%E3%81%AB%E8%A7%A3%E8%AA%AC%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E6%A6%82%E5%BF%B5%E3%82%92%E3%80%81%E6%94%B9%E3%82%81%E3%81%A6%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;入門では正確に解説されない概念を、改めて解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;入門では正確に解説されない概念を、改めて解説&lt;/h3&gt;
&lt;p&gt;Linux の入門では、重要な概念について例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「カーネルはOS のコアのこと」&lt;/li&gt;
&lt;li&gt;「シェルはカーネルを囲った殻のようなもの」&lt;/li&gt;
&lt;li&gt;「標準入出力は画面やキーボードのこと」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった曖昧な説明がされることが多く、実際に何を指しているのか分からないという方はとても多いです。&lt;/p&gt;
&lt;p&gt;このコースでは、カーネル・シェル・標準入出力・ファイル・インストールといった、入門では正確に解説されない概念について、もう一歩正確に解説していきます。&lt;/p&gt;
&lt;h3 id=&quot;聞いたことのある概念の繋がりを解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%81%9E%E3%81%84%E3%81%9F%E3%81%93%E3%81%A8%E3%81%AE%E3%81%82%E3%82%8B%E6%A6%82%E5%BF%B5%E3%81%AE%E7%B9%8B%E3%81%8C%E3%82%8A%E3%82%92%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;聞いたことのある概念の繋がりを解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;聞いたことのある概念の繋がりを解説&lt;/h3&gt;
&lt;p&gt;資格学習などで、例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;init プロセス (systemd)&lt;/li&gt;
&lt;li&gt;機械語のライブラリのリンク&lt;/li&gt;
&lt;li&gt;CPU の割り込み機能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった要素を学んでも、それが現実の Linux マシンの動作にどう繋がるのか、イメージがつかない方は多いと思います。&lt;/p&gt;
&lt;p&gt;このコースは、どこかで聞いたことのある概念が、プログラムの実行という目的で繋がっていくことを意識した構成となっています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Linux について、コマンド操作を身に付けたあと、さらにステップアップするのに丁度良い書籍などは多くありません。
中級者以上の方にとっては当然のことが、暗黙の前提知識となっていることも多いです。&lt;/p&gt;
&lt;p&gt;私自身、たくさんの書籍などをあたり、Linux にたくさんふれて、基本的なことすらそれでようやく理解したりしました。&lt;/p&gt;
&lt;p&gt;3 時間ほどのコンパクトな講座ですが、「そうだったのか！」という発見をたくさんできる内容にしたつもりです。&lt;/p&gt;
&lt;p&gt;とくに Linux や OS というものについて、「全然知らないが興味はある！」といった方には楽しんでいただけると思います。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2023 年 1 月から 3 月のふりかえり]]></title><description><![CDATA[2023 年 1 月から 3 月で実施したことをふりかえって記事にまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2023-first-quarter</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2023-first-quarter</guid><pubDate>Mon, 03 Apr 2023 07:29:43 GMT</pubDate><content:encoded>&lt;p&gt;2023 年 1 月から 3 月で実施したことをふりかえって記事にまとめます。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202301&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 1 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202302&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 2 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202303&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2023 年 3 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 11 冊でした。&lt;/p&gt;
&lt;p&gt;月 8 冊読むのが目標だったので、2 月・3 月は目標を大きく下回りました。&lt;/p&gt;
&lt;p&gt;読んだ中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3nEYcB8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxシステムプログラミング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3zwzTaY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;lex&amp;#x26;yaccプログラミング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113628?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b306c27ed4be060841a01a41d8c2d4a7&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113628&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873113628&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4756102972?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9f9320a7261ef658fcfa095a886faba2&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4756102972&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4756102972&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この 3 ヶ月では、C 言語やパーサジェネレータ、システムプログラミングといった分野の知識をかなり拡充できました。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、12 記事書きました。&lt;/p&gt;
&lt;p&gt;週 1 記事程度のペースで何かしらの記事を書くことができました。&lt;/p&gt;
&lt;p&gt;もう少し記事を書く習慣をつけていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月では資格は全く取得しませんでした。&lt;/p&gt;
&lt;p&gt;近いうちに CKA や CKAD の取得にチャレンジするか検討中です。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/276148/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改めて整理するWebアプリのビルド・デプロイの基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/277659/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改めて整理するWebアプリのビルド・デプロイの基本【コンテナ編】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つの発表を行い、合計 300 名近い多くの方にお申し込みいただきました。&lt;/p&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバーが 2000 名を突破&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 400 を突破&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h2&gt;
&lt;p&gt;この 3 ヶ月では、以下の 4 つのUdemy 講座を公開しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AWSコンテナサービス入門―AWSの基本からECS・Copilot CLI・CI/CD・App Runnerまで&lt;/li&gt;
&lt;li&gt;GitHub Actionsで学ぶCI/CD入門―ビルド・デプロイの基本からAPI自動テスト・AWSへの自動デプロイまで&lt;/li&gt;
&lt;li&gt;Terraform入門ハンズオンwith AWS（v1.3使用）―Terraformの基本からモジュール化、学習方法まで&lt;/li&gt;
&lt;li&gt;AWSで学ぶネットワーク入門―アプリケーションエンジニアも知っておきたい、トラブルシューティングの必須知識&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;既存の講座についても引き続き多くの方に受講していただいています。&lt;/p&gt;
&lt;p&gt;なお、公開済み講座の講師発行クーポンが、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;システムプログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;システムプログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システムプログラミング&lt;/h2&gt;
&lt;p&gt;最近はいわゆる低レイヤに興味があり、C 言語やシステムプログラミング、lex・yacc などの知識を拡充できたのはとても良かったです。&lt;/p&gt;
&lt;p&gt;このレイヤについては知識がついてきているものの、実際に手を動かすのが足りていないと感じています。&lt;/p&gt;
&lt;p&gt;公開勉強会を開催したり教材などの形式でナレッジを公開したりできるよう、トレーニングしていきたいところです。&lt;/p&gt;
&lt;p&gt;とくに C コンパイラ、TCP/IP プロトコルスタック、RDBMS といったものの自作に興味があるので、遠くないうちに挑戦したいです。&lt;/p&gt;
&lt;h2 id=&quot;llm-周辺技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#llm-%E5%91%A8%E8%BE%BA%E6%8A%80%E8%A1%93&quot; aria-label=&quot;llm 周辺技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LLM 周辺技術&lt;/h2&gt;
&lt;p&gt;この数ヶ月ほど、ChatGPT などの LLM (大規模言語モデル) 界隈が大きな話題となっています。&lt;/p&gt;
&lt;p&gt;その分野で有名な OSS である &lt;a href=&quot;https://github.com/hwchase17/langchain&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LangChain&lt;/a&gt; にふれて、基本を理解することができました。&lt;/p&gt;
&lt;p&gt;明らかに今最も注目されている分野なので、引き続きキャッチアップしていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2023 年 1 月から 3 月でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 11 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 12 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会を 2 回開催した&lt;/li&gt;
&lt;li&gt;Udemy 講座を 4 つ公開した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勉強&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語やシステムプログラミング、lex・yacc などの知識をつけた&lt;/li&gt;
&lt;li&gt;LangChain をキャッチアップした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;引き続き、色々なことを学んだりしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 3 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 3 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202303</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202303</guid><pubDate>Mon, 03 Apr 2023 06:36:31 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 3 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;システム設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;システム設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システム設計&lt;/h2&gt;
&lt;h3 id=&quot;はじめての設計をやり抜くための本-第2版-概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E8%A8%AD%E8%A8%88%E3%82%92%E3%82%84%E3%82%8A%E6%8A%9C%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E6%9C%AC-%E7%AC%AC2%E7%89%88-%E6%A6%82%E5%BF%B5%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%8B%E3%82%89%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%80%81%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E8%A8%AD%E8%A8%88%E3%80%81%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%BE%E3%81%A7&quot; aria-label=&quot;はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ZFU5Sy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09T2NSJS7?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c7fa2c7d6556486b7bef22a70ebbb35a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09T2NSJS7&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09T2NSJS7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;以前から気になっていたシステム設計に関する書籍を読んでみました。&lt;/p&gt;
&lt;p&gt;実装だけに関わっている段階から設計にも手を出そうとする人に向けて、非常に良い書籍でした。&lt;/p&gt;
&lt;p&gt;他の人が設計する様子を見たりしている段階から、自分で設計する段階にステップアップするのにとても良いと思います。
(設計について全くイメージもつかないといった段階では難しそうです)&lt;/p&gt;
&lt;h2 id=&quot;執筆&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%B7%E7%AD%86&quot; aria-label=&quot;執筆 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;執筆&lt;/h2&gt;
&lt;h3 id=&quot;はじめての技術書ライティングit系技術書を書く前に読む本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E6%8A%80%E8%A1%93%E6%9B%B8%E3%83%A9%E3%82%A4%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0it%E7%B3%BB%E6%8A%80%E8%A1%93%E6%9B%B8%E3%82%92%E6%9B%B8%E3%81%8F%E5%89%8D%E3%81%AB%E8%AA%AD%E3%82%80%E6%9C%AC&quot; aria-label=&quot;はじめての技術書ライティングit系技術書を書く前に読む本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GbHjV6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめての技術書ライティング―IT系技術書を書く前に読む本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BSC1T5T?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f8177566e3e999e8e677ec884542dee3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07BSC1T5T&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07BSC1T5T&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;技術書の執筆について概要を知りたく、こちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;目的通り、技術書の執筆の概要を知るのに良かったです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;3 月は私用で忙しく、読書の時間をあまりとることができませんでした。&lt;/p&gt;
&lt;p&gt;4 月からは時間がとりやすくなりそうなので、読書量も増やしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「AWSで学ぶネットワーク入門―アプリケーションエンジニアも知っておきたい、トラブルシューティングの必須知識」をリリースしました]]></title><description><![CDATA[Udemy で「AWSで学ぶネットワーク入門―アプリケーションエンジニアも知っておきたい、トラブルシューティングの必須知識」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-essential-networking-with-aws</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-essential-networking-with-aws</guid><pubDate>Fri, 17 Mar 2023 03:36:39 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「AWSで学ぶネットワーク入門―アプリケーションエンジニアも知っておきたい、トラブルシューティングの必須知識」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;近年、アプリケーションの実行環境として、AWS などのクラウドが使われることが非常に多くなっています。
クラウドの環境構築はアプリケーションエンジニアが担当する例も多く、その際はネットワークの基礎知識が求められます。&lt;/p&gt;
&lt;p&gt;しかし…
例えば、ネットワークのトラブルに遭遇した場合、ネットワークの基礎知識がないと解決の方向性を考えることも難しいです。
また、ネットワークについて独学して仕組みはなんとなく頭に入ったものの、実際のトラブルシューティングでは手が動かないという方も少なくありません。&lt;/p&gt;
&lt;p&gt;ネットワークのトラブルシューティングには、ネットワークの仕組みの知識と、具体的なコマンドの知識が必要です。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、AWS の VPC（仮想ネットワーク）にふれながら、アプリケーションエンジニアでも知っておきたい範囲で、ネットワークの基礎知識と、トラブルシューティングに必要なコマンドを学びます。
最終的には、学習した知識を活用してネットワークのトラブルシューティングの例にも挑戦します。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ネットワークへの苦手意識を克服したい、アプリケーションエンジニアの方&lt;/li&gt;
&lt;li&gt;ネットワークの基礎を、理屈だけでなく、具体的なコマンドやトラブルシューティングの例で学びたい方&lt;/li&gt;
&lt;li&gt;AWS を学ぼうとして、ネットワーク関連の用語が理解できず困っている方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;アプリケーションエンジニアでも知っておきたい範囲に特化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%A7%E3%82%82%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E7%AF%84%E5%9B%B2%E3%81%AB%E7%89%B9%E5%8C%96&quot; aria-label=&quot;アプリケーションエンジニアでも知っておきたい範囲に特化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アプリケーションエンジニアでも知っておきたい範囲に特化&lt;/h3&gt;
&lt;p&gt;ネットワークを学ぼうとすると、とても多くの要素が登場します。&lt;/p&gt;
&lt;p&gt;この講座では、その中でもアプリケーションエンジニアでも知っておきたい範囲に特化して解説しています。&lt;/p&gt;
&lt;p&gt;とくに AWS などのクラウドにふれることを意識して、AWS の入門でも必要な、TCP/IP の基本、IP、TCP、HTTP の概要と、名前解決といった範囲を解説しています。&lt;/p&gt;
&lt;h3 id=&quot;具体的なトラブルシューティングの演習付き&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AA%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E6%BC%94%E7%BF%92%E4%BB%98%E3%81%8D&quot; aria-label=&quot;具体的なトラブルシューティングの演習付き permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;具体的なトラブルシューティングの演習付き&lt;/h3&gt;
&lt;p&gt;ネットワークについて本を読んだりして仕組みはなんとなく理解しても、実際のトラブルシューティングでは手が動かないという方は少なくありません。&lt;/p&gt;
&lt;p&gt;このコースでは、トラブルシューティングの場面を意識して、具体的なコマンドや設定を学んでいきます。&lt;/p&gt;
&lt;p&gt;最後には、トラブルシューティングの演習題材を 7 つ用意してあり、実際にトラブルシューティングに挑戦したうえで、解決の流れの例を見てみることができるようになっています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ネットワークの基礎知識は、必要と思いながらもなかなか身につけにくい分野だと思います。&lt;/p&gt;
&lt;p&gt;しかし、一度身につけると非常に役立ちます。&lt;/p&gt;
&lt;p&gt;このコースが、ネットワークへの苦手意識の解消に繋がれば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AI の急激な発達について思うこと ver 2023/03/17]]></title><description><![CDATA[昨年末に ChatGPT が公開された頃から、大規模言語モデル (LLM) の界隈が広く認知され盛り上がっています。
一昨日も GPT-4 が発表され、非常に高い性能だと話題になっています。
そんな中、「仕事がなくなる」といった不安を感じている人は少なくないと思います。
自分は少し前までは「AI を使ってうまくやる側にまわれば大丈夫だろう」と思っていたのですが、だんだんと、そんなこともない気がしてきています。
正直、かなりの焦りを感じていて、頭を抱えています。
まずは今の時点で思っていることをまとめておこうと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/the-future-of-ai-my-thoughts-20230317</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/the-future-of-ai-my-thoughts-20230317</guid><pubDate>Fri, 17 Mar 2023 01:09:11 GMT</pubDate><content:encoded>&lt;p&gt;昨年末に ChatGPT が公開された頃から、大規模言語モデル (LLM) の界隈が広く認知され盛り上がっています。
一昨日も GPT-4 が発表され、非常に高い性能だと話題になっています。&lt;/p&gt;
&lt;p&gt;自分の感覚としては 2023 年になったあたりからこの界隈の盛り上がりが異常で、それまで AI まわりでは数ヶ月に一回程度大きな進展のニュースがあったりしたのが、数週間に一回程度の頻度になり、今では毎日何らかの大きなニュースがあります。&lt;/p&gt;
&lt;p&gt;そんな中、「仕事がなくなる」といった不安を感じている人は少なくないと思います。
自分は少し前までは「AI を使ってうまくやる側にまわれば大丈夫だろう」と思っていたのですが、だんだんと、そんなこともない気がしてきています。
正直、かなりの焦りを感じていて、頭を抱えています。&lt;/p&gt;
&lt;p&gt;まずは今の時点で思っていることをまとめておこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;仕事はなくなると思うか？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%95%E4%BA%8B%E3%81%AF%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%86%E3%81%8B%EF%BC%9F&quot; aria-label=&quot;仕事はなくなると思うか？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仕事はなくなると思うか？&lt;/h2&gt;
&lt;h3 id=&quot;ソフトウェア開発の環境の変化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E7%92%B0%E5%A2%83%E3%81%AE%E5%A4%89%E5%8C%96&quot; aria-label=&quot;ソフトウェア開発の環境の変化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ソフトウェア開発の環境の変化&lt;/h3&gt;
&lt;p&gt;自分が焦っている大きな理由の 1 つは、今までに身につけた知識の価値が大きく下がっていっていることです。
自分には、ソフトウェア開発と関連して、生活できる程度に知見のある分野がいくつかありますが、その分野の知識の価値が小さくなっていっているように感じます。
AI に聞けば分かること、AI にやってもらえば良いことが増えているためです。&lt;/p&gt;
&lt;p&gt;現状では、適切にググるためには相応の知識が必要なように、AI に質問したり依頼したりするにも相応な知識が必要ですが、その状況は今後変わっていく可能性が低くないと感じています。&lt;/p&gt;
&lt;p&gt;とくにプログラミングについては人間の関わり方が大きく変わる可能性が高いと感じており、今後、今までのやり方が通用するかは怪しいです。&lt;/p&gt;
&lt;p&gt;要件定義や設計といったフェーズであれば、今後も人間の出番があるという意見もありますが、そこを AI が担うようになるのも時間の問題で、意外と遠くないのではないかと思っています。
AI が完全に担うことはなくとも、専門知識がなくても AI に聞きながら誰でもできるようになれば、専門性の価値は小さくなります。&lt;/p&gt;
&lt;p&gt;いわゆるシンギュラリティみたいなことかもしれませんが、AI によって AI が進化するようになるのも遠くないと思います。
そうして AI が非常に賢くなった状況では、ホワイトカラーの仕事の多くが淘汰されるというのも妄想ではなくなってきたと感じています。&lt;/p&gt;
&lt;p&gt;このような変化はいつか起こるものだとは思っていましたが、想像よりはるかに早くにやってきたことで焦っています。
ソフトウェアエンジニアとしては、習得した技術要素などはある程度の年数で陳腐化するとは思っていたものの、ここまで高速な侵食を受けると思っていませんでした。
自分の強みが強みではなくなっていく状況を感じ、例えば直近の仕事をどうするか、というのは悩みの 1 つです。&lt;/p&gt;
&lt;h3 id=&quot;ブルーカラーの仕事について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AB%E3%83%BC%E3%82%AB%E3%83%A9%E3%83%BC%E3%81%AE%E4%BB%95%E4%BA%8B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ブルーカラーの仕事について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブルーカラーの仕事について&lt;/h3&gt;
&lt;p&gt;現実世界に物理的に干渉しなくてよいソフトウェアの世界は、AI にとって扱いやすく、影響を受けやすいと思います。
一方で、いわゆるブルーカラー的な仕事であれば影響を受けないのかと言うと、それも時間の問題かもしれないと思っています。&lt;/p&gt;
&lt;p&gt;ソフトウェアと比べるとまだ先になるとは思いますが、AI によって研究開発のスピードもどんどん上がると考えると、思っていた以上に早く人間しかできない仕事がなくなるのかもしれません。&lt;/p&gt;
&lt;p&gt;ふと、ドラえもんなどのロボット型の AI と生活するような SF の世界で、どのような職業が残っているのかなと考えたりしましたが、「それロボット (AI) のほうが上手にできるよね」とならない職業は思いつきませんでした。&lt;/p&gt;
&lt;h3 id=&quot;大企業はすぐにはなくならない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E4%BC%81%E6%A5%AD%E3%81%AF%E3%81%99%E3%81%90%E3%81%AB%E3%81%AF%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84&quot; aria-label=&quot;大企業はすぐにはなくならない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;大企業はすぐにはなくならない&lt;/h3&gt;
&lt;p&gt;このような状況で、早く大きな影響を受けるのはやはり中小企業だと思います。
そして当然ですが、大企業はすぐにはなくなったりしにくいと思います。
日本の大企業であれば突然解雇される可能性は低いです。&lt;/p&gt;
&lt;p&gt;もしも人間の仕事が減り、それが社会問題になる苦しいフェーズが来るとして、大企業の社員という立場であれば、その段階を比較的楽に乗り越えやすいかもしれません。
そこはやはり大企業に就職することの強みだと思います。
他には、個人で大きな資産がある場合も強いはずです。&lt;/p&gt;
&lt;p&gt;そして、ソフトウェア開発についても、今までと同じようなものがすぐに完全になくなるわけではないと思います。
特に日本的大企業での開発で AI を駆使するには、ルールを改正するのが大変だと思いますし、何らかのかたちで人間が担当する仕事が（少なくともしばらくは）残ると思います。&lt;/p&gt;
&lt;p&gt;COBOL は古いみたいなことはよく言われると思いますが、今やっている開発はそのような扱いで残るのかもしれません。
ただ、まわりが AI を駆使したりしている状況では、その仕事に楽しさを感じにくくなったりする可能性はあるかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;仕事がなくなることの問題&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%95%E4%BA%8B%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AE%E5%95%8F%E9%A1%8C&quot; aria-label=&quot;仕事がなくなることの問題 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仕事がなくなることの問題&lt;/h2&gt;
&lt;p&gt;ここまで、仕事がなくなると思うかを書いてきましたが、そもそも仕事がなくなることにはどのような問題があるかを考えておいたほうが良いと思います。&lt;/p&gt;
&lt;p&gt;仕事がなくなることの具体的な問題は、以下の 2 つだと考えています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;生活費が稼げなくなる&lt;/li&gt;
&lt;li&gt;生きがいがなくなる&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;「生活費が稼げなくなる」について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E7%94%9F%E6%B4%BB%E8%B2%BB%E3%81%8C%E7%A8%BC%E3%81%92%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;「生活費が稼げなくなる」について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「生活費が稼げなくなる」について&lt;/h3&gt;
&lt;p&gt;生活費が稼げなくなる状況については、個人的にはそれほど心配していません。&lt;/p&gt;
&lt;p&gt;自分が生活費を稼げない状況では、それは自分だけでなく、かなりの割合の人が同じ状況になると考えているためです。
もしも多くの人が生活費を稼げない状況になってしまった場合、犯罪が多発するなど、安全に生活できる状況ではなくなる可能性が高いと思っています。&lt;/p&gt;
&lt;p&gt;そのような治安の悪い社会になるのを避けるためには、最低限の生活費が配られるような制度ができる可能性があると思っています。
それをベーシックインカムと呼ぶのか社会主義と呼ぶのかは分かりませんが、そんな社会になる可能性は低くないと思います。&lt;/p&gt;
&lt;p&gt;このような理由から、生活費が稼げなくなる状況については、それほど心配を感じていません。&lt;/p&gt;
&lt;p&gt;一方、もしも最低限の生活費が担保されず、犯罪が多発するような社会になった場合、そもそもお金がどう、というルールが通用するのか自体がかなり怪しいと思います。
もしもそのような状況になったらかなり困るとは思いますが、もはや事前に心配しても仕方ない領域だと、そこは諦めています。
できることがあるとすれば、体を鍛えておくとか、交友関係で安全を確保しておくとかな気がします。&lt;/p&gt;
&lt;h3 id=&quot;「生きがいがなくなる」について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E7%94%9F%E3%81%8D%E3%81%8C%E3%81%84%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;「生きがいがなくなる」について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「生きがいがなくなる」について&lt;/h3&gt;
&lt;p&gt;多くの人にとって仕事には生きがいとしての側面もあり、生きがいがなくなるという問題も大きいと思います。&lt;/p&gt;
&lt;p&gt;自分はヴィクトール・フランクルの 3 つの価値の考え方が好きなので、その観点で書いてみようと思います。
3 つの価値というのは、人間が生み出す価値は以下の 3 種類だということです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;創造価値（何かを創り出すこと。いわゆる仕事のやりがい）&lt;/li&gt;
&lt;li&gt;体験価値（おいしいものを食べたり、美しい景色を見て、生きていて良かったと思うこと）&lt;/li&gt;
&lt;li&gt;態度価値（苦しい状況であっても、誠実であること）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;※ 括弧内は自分の解釈です&lt;/p&gt;
&lt;p&gt;創造価値が AI に淘汰されていった場合、体験価値に重きがある世界になるのかもしれません。
（態度価値はかなり極限的な状況の話なので、おいておきます）&lt;/p&gt;
&lt;p&gt;そうなると、自分が何をして日々暮らしたいのか、その生活は楽しいのか、ということが問題です。
日々おいしいものを食べたり旅行をしたりする生活というのも、ずっと続けていたら飽きてしまいそうな気がします。
自分が本当にやりたいことは何なのか考えるのが、今まで以上に重要なのではないかと思ったりしています。&lt;/p&gt;
&lt;p&gt;一方で、自分が本当にやりたいことを見つけるというのは、簡単なことではありません。
実際、与えられた仕事のやりがいを生きがいとしている人は多いはずです。
人間から仕事のやりがいを奪うことがないよう、あえて AI を禁止して仕事をするような団体もできるかもしれないな、と妄想したりもしました。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;ここまで色々と書いてきましたが、訪れる変化には段階がいくつかあって、その段階によってどうするべきかは変わりそうな気がしています。&lt;/p&gt;
&lt;h3 id=&quot;過渡期&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%8E%E6%B8%A1%E6%9C%9F&quot; aria-label=&quot;過渡期 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;過渡期&lt;/h3&gt;
&lt;p&gt;まず、今のような過渡期があります。
過渡期のうちは、過去のスキルに囚われすぎず、新しいやり方をキャッチアップすることが重要だと思います。&lt;/p&gt;
&lt;p&gt;何かが登場したからといって明日から急に変わるということはないはずなので、日々置いていかれないようにしたいなと思っています。&lt;/p&gt;
&lt;p&gt;そして、過渡期はチャンスも大きいので、何か面白いことができるかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;人間の仕事がなくなったとき&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%BA%E9%96%93%E3%81%AE%E4%BB%95%E4%BA%8B%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%8D&quot; aria-label=&quot;人間の仕事がなくなったとき permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;人間の仕事がなくなったとき&lt;/h3&gt;
&lt;p&gt;その後、もし人間の仕事がない状況が来たとしたら…&lt;/p&gt;
&lt;p&gt;わりと真面目に、衣食住があれば生活できるというのは重要なことで、食べ物を作ったりして生活するのが楽しそうだなと思ったりしています。
もし働かなくても衣食住が整うような環境だとしても、家庭菜園とかは楽しそうです。&lt;/p&gt;
&lt;p&gt;現代でも、簡単に手に入るものをあえて作ることは、それはそれで楽しいです。
AI が簡単にやってしまうことを、手作業であえてやることも楽しそうな気がしています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2023 年 2 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 2 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202302</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202302</guid><pubDate>Wed, 01 Mar 2023 07:45:09 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 2 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c&quot; aria-label=&quot;c permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;C++&lt;/h2&gt;
&lt;h3 id=&quot;基礎からしっかり学ぶcの教科書-c14対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E5%AD%A6%E3%81%B6c%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-c14%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;基礎からしっかり学ぶcの教科書 c14対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mfNujO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎からしっかり学ぶC++の教科書 C++14対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B074FQS3D1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ff5e38c0de01bfe2e5e34d1e4b78d46b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B074FQS3D1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B074FQS3D1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;C++ の基礎知識をつけたく、こちらの書籍を読んでみました。&lt;/p&gt;
&lt;p&gt;他の言語のプログラミング経験があるような人が、300 ページほどの分量でコンパクトに C++ に入門できる書籍でした。&lt;/p&gt;
&lt;p&gt;自分としてはもう少し踏み込んだ知識をつけたいので、また別の本も読もうと思っています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 1 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;1 月は読書の時間をある程度とれていたのですが、今月は非常に少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;読みかけの本も多いので、3 月は読書の習慣を復活させていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【AWS】VPC のプライベートサブネットでも、インターネットからパケットは届く]]></title><description><![CDATA[AWS の VPC にふれていて、「プライベートサブネットでもインターネットからパケットが届いているのでは？」と思ったので確認してみました。]]></description><link>https://www.kanzennirikaisita.com/posts/aws-vpc-inbound-packet</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-vpc-inbound-packet</guid><pubDate>Fri, 24 Feb 2023 05:31:24 GMT</pubDate><content:encoded>&lt;p&gt;AWS の VPC にふれていて、「プライベートサブネットでもインターネットからパケットが届いているのでは？」と思ったので確認してみました。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;プライベートサブネットでも、パブリック IP があればインターネットからパケットが届きます&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;背景&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%83%8C%E6%99%AF&quot; aria-label=&quot;背景 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;背景&lt;/h2&gt;
&lt;p&gt;AWS の VPC では、サブネットをパブリックサブネットとプライベートサブネットと呼び分けたりします。&lt;/p&gt;
&lt;p&gt;そして、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パブリックサブネットはインターネットに面する&lt;/li&gt;
&lt;li&gt;パブリックサブネットはインターネットから直接アクセスできる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などと説明がされる場合があります。&lt;/p&gt;
&lt;p&gt;この説明を踏まえて、「プライベートサブネットであれば、インターネットからパケットは届かない」と思ってしまう方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;実際にどうなのか、試してみました。&lt;/p&gt;
&lt;h2 id=&quot;パケットが到達するか確認する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%81%8C%E5%88%B0%E9%81%94%E3%81%99%E3%82%8B%E3%81%8B%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B&quot; aria-label=&quot;パケットが到達するか確認する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;パケットが到達するか確認する&lt;/h2&gt;
&lt;p&gt;プライベートサブネットに EC2 インスタンスを起動して、踏み台サーバを経由して SSH でアクセスしてみます。&lt;/p&gt;
&lt;p&gt;このとき、プライベートサブネットの EC2 インスタンスに、&lt;strong&gt;パブリック IP アドレスを割り当てるようにします&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;※ セキュリティグループでは、すべてのプロトコルを許可しています。&lt;/p&gt;
&lt;p&gt;パケットが届くか ping で確認するため、EC2 インスタンスの内部で tcpdump を実行しておきます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo tcpdump -n icmp&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この状態で、別のマシンから EC2 インスタンスのパブリック IP アドレスに ping を打つと…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo tcpdump -n icmp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
04:44:34.651927 IP 203.0.113.10 &amp;gt; 10.0.129.69: ICMP echo request, id 63224, seq 0, length 64
04:44:34.651953 IP 10.0.129.69 &amp;gt; 203.0.113.10: ICMP echo reply, id 63224, seq 0, length 64
04:44:35.654127 IP 203.0.113.10 &amp;gt; 10.0.129.69: ICMP echo request, id 63224, seq 1, length 64
04:44:35.654154 IP 10.0.129.69 &amp;gt; 203.0.113.10: ICMP echo reply, id 63224, seq 1, length 64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ ping を実行したマシンの IP アドレスは例示用の値に書き換えてあります。&lt;/p&gt;
&lt;p&gt;このように、EC2 インスタンスにインターネットからパケットが届いていることが分かります。
(ちなみに、ping コマンドは応答を得られません)&lt;/p&gt;
&lt;p&gt;つまり、&lt;strong&gt;EC2 インスタンスに対してインターネットからパケットが到達するかどうかは、パブリックサブネットかどうかではなく、パブリック IP があるかどうかで決まります&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;nat-gateway-を置くとどうなる？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nat-gateway-%E3%82%92%E7%BD%AE%E3%81%8F%E3%81%A8%E3%81%A9%E3%81%86%E3%81%AA%E3%82%8B%EF%BC%9F&quot; aria-label=&quot;nat gateway を置くとどうなる？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NAT Gateway を置くとどうなる？&lt;/h2&gt;
&lt;p&gt;NAT Gateway があれば、応答も得られるのでは？と思ったので試してみましたが、NAT Gateway を作成してルートテーブルに設定しても、ping コマンドに応答はありませんでした。&lt;/p&gt;
&lt;p&gt;この理由はすぐに分からず、これ以上深掘りしていません。
(もし分かる方は教えていただきたいです)&lt;/p&gt;
&lt;h2 id=&quot;そもそもパブリックサブネットとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;そもそもパブリックサブネットとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそもパブリックサブネットとは？&lt;/h2&gt;
&lt;p&gt;ここで、そもそもパブリックサブネットの定義を確認しておきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Scenario2.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS のドキュメント&lt;/a&gt;だと、以下のような説明を見つけられました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;パブリックサブネットは、インターネットゲートウェイへのルートが含まれているルートテーブルに関連付けられているサブネットです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;また、以下のような文言もありました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;パブリックサブネットのインスタンスはアウトバウンドトラフィックを直接インターネットに送信できますが、プライベートサブネットのインスタンスはできません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;パブリックサブネットは、&lt;strong&gt;アウトバウンドのトラフィックが直接インターネットに送信されないだけで、インバウンドについては関係ないように読めます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;この記事で試した結果とも一致します。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;AWS の VPC について、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パブリックサブネットはインターネットに面する&lt;/li&gt;
&lt;li&gt;パブリックサブネットはインターネットから直接アクセスできる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった説明は不正確で、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パブリックサブネットでは、アウトバウンドのトラフィックが直接インターネットに送信される&lt;/li&gt;
&lt;li&gt;パブリック IP があれば (たとえプライベートサブネットでも)、インバウンドのトラフィックが直接インターネットから届く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということでした。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「Terraform入門ハンズオンwith AWS（v1.3使用）―Terraformの基本からモジュール化、学習方法まで」をリリースしました]]></title><description><![CDATA[Udemy で「Terraform入門ハンズオンwith AWS（v1.3使用）―Terraformの基本からモジュール化、学習方法まで」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-terraform-with-aws</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-terraform-with-aws</guid><pubDate>Thu, 16 Feb 2023 03:11:01 GMT</pubDate><content:encoded>&lt;p&gt;Udemy で「Terraform入門ハンズオンwith AWS（v1.3使用）―Terraformの基本からモジュール化、学習方法まで」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;近年、アプリケーションの実行環境として、AWS などのクラウドが使われることが非常に多くなっています。
とくにクラウド環境では、コードをもとにインフラを構築する「Infrastructure as Code」を実施する例がとても多いです。&lt;/p&gt;
&lt;p&gt;Infrastructure as Code のツールはたくさんありますが、その代表的な 1 つが OSS の&lt;strong&gt;「Terraform」&lt;/strong&gt;です。
Terraform の採用事例は非常に多く、AWS などのクラウドの活用を得意分野とするエンジニアであれば、&lt;strong&gt;是非とも習得しておきたい技術&lt;/strong&gt;と言えます。&lt;/p&gt;
&lt;p&gt;一方で、AWS には膨大な数のサービスがあり、すべてのサービスの具体的な使い方を丸暗記することは、事実上不可能です。
そのため、「概要は知っているものの具体的な使い方までは分からない」というサービスを、素早くキャッチアップするスキルも重要です。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、Terraform を使うために必要な知識を、基本から実践的な内容まで、AWS でハンズオン形式で学んでいきます。
また、AWS で使うことになったサービスを Terraform を使って素早くキャッチアップする方法も解説します。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Terraform に興味があり、基本から学びたい方&lt;/li&gt;
&lt;li&gt;仕事で Terraform を使うことになり、基本から実践的な知識までキャッチアップしたい方&lt;/li&gt;
&lt;li&gt;Terraform になんとなくふれたことがあるが、改めてしっかり学びたい方&lt;/li&gt;
&lt;li&gt;AWS で Infrastructure as Code を体験してみたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;terraform-を何年も運用した経験を踏まえた講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform-%E3%82%92%E4%BD%95%E5%B9%B4%E3%82%82%E9%81%8B%E7%94%A8%E3%81%97%E3%81%9F%E7%B5%8C%E9%A8%93%E3%82%92%E8%B8%8F%E3%81%BE%E3%81%88%E3%81%9F%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;terraform を何年も運用した経験を踏まえた講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Terraform を何年も運用した経験を踏まえた講座&lt;/h3&gt;
&lt;p&gt;このコースは、講師が Terraform を 4 年以上運用した経験を踏まえて作成されています。&lt;/p&gt;
&lt;p&gt;Terraform を実際に使うときは、基本的な実装方法やコマンドはもちろん、どのようにモジュールを構成し、どのように複数環境を管理するか、といった考慮も重要です。&lt;/p&gt;
&lt;p&gt;実際の経験を踏まえて、Terraform 導入時にまずおさえたい点をしっかり学べる講座となっています。&lt;/p&gt;
&lt;h3 id=&quot;terraform-を使った-aws-のサービスのキャッチアップ方法を解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F-aws-%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%82%AD%E3%83%A3%E3%83%83%E3%83%81%E3%82%A2%E3%83%83%E3%83%97%E6%96%B9%E6%B3%95%E3%82%92%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;terraform を使った aws のサービスのキャッチアップ方法を解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Terraform を使った AWS のサービスのキャッチアップ方法を解説&lt;/h3&gt;
&lt;p&gt;AWS には膨大な数のサービスがあり、その全ての具体的な使い方を把握することは不可能と言えます。&lt;/p&gt;
&lt;p&gt;「サービスの概要は知っているものの、具体的な使い方は分からない」という状況から素早くキャッチアップすることが求められることも多いです。&lt;/p&gt;
&lt;p&gt;Terraform は、そのような状況でサービスのキャッチアップにも役立ちます。&lt;/p&gt;
&lt;p&gt;こちらも講師の実際の経験を踏まえて、具体的な使い方の分からないサービスをキャッチアップする方法の例を解説しています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Terraform は非常によく使われているツールで、耳にしたことがある方は多いと思います。&lt;/p&gt;
&lt;p&gt;そういった方が実際に学んでみるきっかけとなれば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「GitHub Actionsで学ぶCI/CD入門―ビルド・デプロイの基本からAPI自動テスト・AWSへの自動デプロイまで」をリリースしました]]></title><description><![CDATA[先日、Udemy で「GitHub Actionsで学ぶCI/CD入門―ビルド・デプロイの基本からAPI自動テスト・AWSへの自動デプロイまで」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-cicd-with-github-actions</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-cicd-with-github-actions</guid><pubDate>Wed, 01 Feb 2023 23:26:21 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy で「GitHub Actionsで学ぶCI/CD入門―ビルド・デプロイの基本からAPI自動テスト・AWSへの自動デプロイまで」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;近年、自動テストや CI/CD（継続的インテグレーション/継続的デリバリー）といったプラクティスが一般的になり、エンジニアが学びたいスキルとして挙げられることが多くなっています。&lt;/p&gt;
&lt;p&gt;数ある CI/CD のツール・サービスの中でも、GitHub Actions は特に利便性が高く、多くの場面で使われています。&lt;/p&gt;
&lt;p&gt;しかし…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions や CI/CD に興味を持っている&lt;/strong&gt;が、学習するきっかけがなくよく分からないままになっている方はすくなくありません&lt;/li&gt;
&lt;li&gt;また、プログラミングの基礎を学んだあと、&lt;strong&gt;「自動デプロイ」に挑戦&lt;/strong&gt;しようとしたが、何から勉強すればいいか分からず困っているという方も多いです&lt;/li&gt;
&lt;li&gt;そして、実は&lt;strong&gt;「ビルド」や「デプロイ」といった言葉が何を指しているのか&lt;/strong&gt;あまりよく分かっていない、という方も多いです&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そこでこのコースでは、GitHub Actions を使って、自動テストやビルド・デプロイの基本から、CI/CD に役立つ様々なツール、AWS への自動デプロイまで、手を動かしながら素早く学んでいきます。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Actions や CI/CD に興味があり、学んでみたい方&lt;/li&gt;
&lt;li&gt;「自動デプロイ」に興味があるが、何から勉強すればいいのか分からず困っている方&lt;/li&gt;
&lt;li&gt;実務で急に GitHub Actions をさわることになり、素早くキャッチアップしたい方&lt;/li&gt;
&lt;li&gt;GitHub Actions などの CI/CD ツールをなんとなく使ったことがあるが、改めてしっかり学びたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;typescript-でビルド・デプロイの基本から解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#typescript-%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%83%BB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;typescript でビルド・デプロイの基本から解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TypeScript でビルド・デプロイの基本から解説&lt;/h3&gt;
&lt;p&gt;最近は Ruby・PHP・Python といった言語でプログラミングに入門する方が多く、「ビルド」と言われてもよく分からないといった方も多いです。&lt;/p&gt;
&lt;p&gt;このコースでは、近年の Web 開発では避けて通れない TypeScript を使用したコードを使って、「ビルド」とは何かからしっかり学びます。&lt;/p&gt;
&lt;p&gt;また、よく分からないとなりがちな「デプロイ」についても、手作業でのデプロイから経験することで、しっかり理解していきます。&lt;/p&gt;
&lt;h3 id=&quot;nodejs-のツールの使い方を解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nodejs-%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%E3%82%92%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;nodejs のツールの使い方を解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Node.js のツールの使い方を解説&lt;/h3&gt;
&lt;p&gt;近年の Web 開発では、Node.js のツールを使う機会も非常に多いです。&lt;/p&gt;
&lt;p&gt;そこで、Node.js のツールのインストール方法や使い方の基本も解説するようにしました。&lt;/p&gt;
&lt;p&gt;ツールの例としては、Step CI という私が最近注目している Web API 自動テストツールを挙げています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ビルド・デプロイといったものは、最初はよく分からないとなりがちです。&lt;/p&gt;
&lt;p&gt;そんな疑問を解決できる講座として作らせていただいたので、そういった方のお役に立てば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[C 言語の入門からステップアップするための書籍まとめ]]></title><description><![CDATA[近年プログラミングの入門や開発で C 言語に関わる方は減っていると思います。
ですが、OS や言語処理系といった低レイヤを学んだりしようとすると、C 言語の知識を避けて通ることはできません。
そこで私が実際に読んだ、C 言語について入門からステップアップするための書籍をまとめます。
前提として、ポインタの基本的な使い方は理解しているくらい、C 言語の基礎知識がある前提で読む本の紹介になります。
]]></description><link>https://www.kanzennirikaisita.com/posts/c-next-step-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/c-next-step-books</guid><pubDate>Wed, 01 Feb 2023 03:31:19 GMT</pubDate><content:encoded>&lt;p&gt;近年プログラミングの入門や開発で C 言語に関わる方は減っていると思います。&lt;/p&gt;
&lt;p&gt;ですが、OS や言語処理系といった低レイヤを学んだりしようとすると、C 言語の知識を避けて通ることはできません。&lt;sup id=&quot;fnref-1&quot;&gt;&lt;a href=&quot;#fn-1&quot; class=&quot;footnote-ref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;そこで私が実際に読んだ、C 言語について入門からステップアップするための書籍をまとめます。&lt;/p&gt;
&lt;p&gt;前提として、&lt;strong&gt;ポインタの基本的な使い方は理解しているくらい、C 言語の基礎知識がある前提で読む本&lt;/strong&gt;の紹介になります。&lt;/p&gt;
&lt;h2 id=&quot;c言語-入門書の次に読む本-改訂新版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c%E8%A8%80%E8%AA%9E-%E5%85%A5%E9%96%80%E6%9B%B8%E3%81%AE%E6%AC%A1%E3%81%AB%E8%AA%AD%E3%82%80%E6%9C%AC-%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88&quot; aria-label=&quot;c言語 入門書の次に読む本 改訂新版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HoXzD6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;C言語 入門書の次に読む本 [改訂新版]&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774146129?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=259e4d4c5dcc75f8d4a0c6dc93da7e86&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774146129&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774146129&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、C 言語の入門書の次に読むための本です。&lt;/p&gt;
&lt;p&gt;分割コンパイルや C 言語をどう書くべきかといった解説があり、C 言語の入門からのステップアップにぴったりです。&lt;/p&gt;
&lt;p&gt;解説されている情報は少し古く、今ならどうするかといったことは別途学ぶ必要があります。
(例えば、インクルードガードには &lt;code class=&quot;language-text&quot;&gt;#pragma once&lt;/code&gt; を使うなど)&lt;/p&gt;
&lt;p&gt;とはいえ、C 言語の入門後に手に取る書籍としてはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;新・標準プログラマーズライブラリ-c言語-ポインタ完全制覇&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%B0%E3%83%BB%E6%A8%99%E6%BA%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%82%BA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-c%E8%A8%80%E8%AA%9E-%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E5%AE%8C%E5%85%A8%E5%88%B6%E8%A6%87&quot; aria-label=&quot;新・標準プログラマーズライブラリ c言語 ポインタ完全制覇 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3H36dpx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新・標準プログラマーズライブラリ C言語 ポインタ完全制覇&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077ZTQY62?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d981643c0b9f51c68fc34f9e66811330&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077ZTQY62&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077ZTQY62&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、C 言語のポインタについて手厚く解説した書籍です。&lt;/p&gt;
&lt;p&gt;C 言語のステップアップとしてとても有名な本です。&lt;/p&gt;
&lt;p&gt;直感的に理解するのが難しい C 言語のポインタと配列について、丁寧に解説されています。&lt;/p&gt;
&lt;p&gt;C 言語の規格などの基礎知識も解説されていて、C 言語のステップアップにとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;linuxシステムプログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;linuxシステムプログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ZYw8an&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxシステムプログラミング&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113628?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7776c177debea995cec0aaa999e9a600&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113628&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873113628&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Linux でのシステムプログラミングの解説書です。&lt;/p&gt;
&lt;p&gt;各種システムコールや標準 C ライブラリについて解説されています。&lt;/p&gt;
&lt;p&gt;タイトル通り、システムプログラミングの知識をつけるのにとても良い本で、低レイヤのための C 言語の学習の一環としてもおすすめです。&lt;/p&gt;
&lt;p&gt;難易度としては、『&lt;a href=&quot;https://amzn.to/3DtXvj7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxのしくみ&lt;/a&gt;』『&lt;a href=&quot;https://amzn.to/3HOnEvK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング&lt;/a&gt;』の次くらいに読むと良さそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BG8J5QJ1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=172de615f54334eb1ca12321493e0e0f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BG8J5QJ1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BG8J5QJ1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6074fe9d284afa6a379fec0334557268&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;リンカ・ローダ実践開発テクニック実行ファイルを作成するために必須の技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%80%E5%AE%9F%E8%B7%B5%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E9%A0%88%E3%81%AE%E6%8A%80%E8%A1%93&quot; aria-label=&quot;リンカ・ローダ実践開発テクニック実行ファイルを作成するために必須の技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ZVsrCh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4789838072?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7358fb19f3e8b63542eaa8e9c5694ecc&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;リンカ・ローダについて手厚く解説した書籍です。&lt;/p&gt;
&lt;p&gt;先に紹介した『C言語 入門書の次に読む本』と同じ方が著者の書籍です。&lt;/p&gt;
&lt;p&gt;C 言語のライブラリは OS の重要な要素として使われており、そこに起因するエラーに遭遇したことがあるエンジニアは非常に多いと思います。&lt;/p&gt;
&lt;p&gt;そういったライブラリのリンクについてであったり、実行可能ファイル (ELF) について、色々なサンプルを見ながらがっつり学ぶことができます。&lt;/p&gt;
&lt;p&gt;リンカ・ローダや ELF などに興味がある方にはとてもおすすめの一冊です。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング言語c-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9Ec-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;プログラミング言語c 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3D8PcZP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミング言語C 第2版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084SXSPDN?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=8b6f52ca844528431891c424eadb55e3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084SXSPDN&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084SXSPDN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;C 言語の最も有名な書籍で、『K&amp;#x26;R』とも呼ばれています。&lt;/p&gt;
&lt;p&gt;ANSI C と呼ばれるかなり古いバージョンの C 言語を解説しています。&lt;/p&gt;
&lt;p&gt;C 言語の歴史的には大きな価値のある書籍だと思いますが、内容は古く読みやすくもないので、今手に取るべきかというと、個人的にはそうでもないとは思います。&lt;/p&gt;
&lt;p&gt;ただ、有名な本を読んだという気持ちにはなれるので、興味がある方は手に取っても良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、C 言語の入門からのステップアップに良かった書籍 5 冊を紹介しました。&lt;/p&gt;
&lt;p&gt;C 言語は歴史が長い分、結局どう書けばいいのか学んだりするのも難しいように感じます。&lt;/p&gt;
&lt;p&gt;C 言語のステップアップで困っている方の参考になれば嬉しいです。&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&quot;fn-1&quot;&gt;
&lt;p&gt;最近はGoでもある程度学びやすくなってきたと思います。&lt;/p&gt;
&lt;a href=&quot;#fnref-1&quot; class=&quot;footnote-backref&quot;&gt;↩&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title><![CDATA[【2023 年 1 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2023 年 1 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202301</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202301</guid><pubDate>Wed, 01 Feb 2023 02:44:21 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2023 年 1 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;c-言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c-%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;c 言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;C 言語&lt;/h2&gt;
&lt;h3 id=&quot;プログラミング言語c-第2版-ansi規格準拠&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9Ec-%E7%AC%AC2%E7%89%88-ansi%E8%A6%8F%E6%A0%BC%E6%BA%96%E6%8B%A0&quot; aria-label=&quot;プログラミング言語c 第2版 ansi規格準拠 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jgnO5B&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミング言語C 第2版　ANSI規格準拠&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;linuxシステムプログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;linuxシステムプログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3JqF3f3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxシステムプログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;c言語-入門書の次に読む本-改訂新版-プログラミングの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c%E8%A8%80%E8%AA%9E-%E5%85%A5%E9%96%80%E6%9B%B8%E3%81%AE%E6%AC%A1%E3%81%AB%E8%AA%AD%E3%82%80%E6%9C%AC-%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;c言語 入門書の次に読む本 改訂新版 プログラミングの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3WMXQUU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;C言語 入門書の次に読む本 [改訂新版] (プログラミングの教科書)&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;新・標準プログラマーズライブラリ-c言語-ポインタ完全制覇&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%B0%E3%83%BB%E6%A8%99%E6%BA%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%82%BA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-c%E8%A8%80%E8%AA%9E-%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E5%AE%8C%E5%85%A8%E5%88%B6%E8%A6%87&quot; aria-label=&quot;新・標準プログラマーズライブラリ c言語 ポインタ完全制覇 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wIzb9d&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新・標準プログラマーズライブラリ C言語 ポインタ完全制覇&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084SXSPDN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=19bc9f2a806613258021bde62a68607c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084SXSPDN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084SXSPDN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113628?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2c97d3a8d14c7b54d043049d2bb583df&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113628&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873113628&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774146129?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3dfb2144d034bca25064e82c0ef08aed&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774146129&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4774146129&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077ZTQY62?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1d6a2a42b05b275bf5bb0b322340806a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077ZTQY62&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B077ZTQY62&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;C 言語の知識拡充のため、4 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;標準ライブラリや分割コンパイル、ポインタと配列など、C 言語をしっかり理解する上で重要な知識を拡充できました。&lt;/p&gt;
&lt;p&gt;『プログラミング言語C』については有名なのでせっかくだから読んでおいた、というくらいですが、他の 3 冊については、C 言語の入門後ステップアップしたいという方にとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;lex--yacc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lex--yacc&quot; aria-label=&quot;lex  yacc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Lex / Yacc&lt;/h2&gt;
&lt;h3 id=&quot;lexyaccプログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lexyacc%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;lexyaccプログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Dx1Dia&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;lex&amp;#x26;yaccプログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;flex入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#flex%E5%85%A5%E9%96%80&quot; aria-label=&quot;flex入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3l2j1oU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Flex入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;bison入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bison%E5%85%A5%E9%96%80&quot; aria-label=&quot;bison入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wLxFDs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Bison入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4756102972?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3aa96fb1e7f33d1c0f4d18f87d4ca1cb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4756102972&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4756102972&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4756130976?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4c7fcabe41024628ee238ebae2a13e91&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4756130976&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4756130976&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4756130658?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5f1d3c6413270d035a7544dcd7a9eab0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4756130658&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4756130658&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近コンパイラの自作に興味があるため、有名なツールである Lex と Yacc (正確には Flex と Bison) について学ぼうと、本を手に取ってみました。&lt;/p&gt;
&lt;p&gt;これらのツールの使い方などの情報は Web 上にもありますが、体型的に勉強しやすくはないと感じていました。&lt;/p&gt;
&lt;p&gt;『lex&amp;#x26;yaccプログラミング』は、Lex と Yacc について体型的に知識をつけやすく、とても良かったです。
Lex、Yacc をキャッチアップしたい方におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;github-actions&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#github-actions&quot; aria-label=&quot;github actions permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GitHub Actions&lt;/h2&gt;
&lt;h3 id=&quot;github-actions-実践入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#github-actions-%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80&quot; aria-label=&quot;github actions 実践入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HIXxWT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitHub Actions 実践入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08B1873L5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ddcf408f5b92e349eb0cea151fff69c1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08B1873L5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08B1873L5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;GitHub Actions についての Udemy 講座を作成するにあたって、関連する書籍を 1 冊手に取っておきました。&lt;/p&gt;
&lt;p&gt;GitHub Actions の概要をさくっと学ぶには良い書籍でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 8 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;久しぶりにある程度しっかり読書の時間をとれたと思います。&lt;/p&gt;
&lt;p&gt;月末あたりから『パタヘネ』を読み始めたので、2 月にしっかり読み進めたいと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN4LWMZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=346bd44f466dce4902831d2dfaa9de31&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN4LWMZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN4LWMZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KN5GQLF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c1530ecf4167b3d5613c5df03b28d0a5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KN5GQLF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KN5GQLF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「AWSコンテナサービス入門―AWSの基本からECS・Copilot CLI・CI/CD・App Runnerまで」をリリースしました]]></title><description><![CDATA[先日、Udemy で「AWSコンテナサービス入門―AWSの基本からECS・Copilot CLI・CI/CD・App Runnerまで」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-aws-container</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-aws-container</guid><pubDate>Tue, 24 Jan 2023 01:45:09 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy で「AWSコンテナサービス入門―AWSの基本からECS・Copilot CLI・CI/CD・App Runnerまで」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;近年、アプリケーションの実行環境としてクラウドの利用例は多く、特に AWS を使用する場面は非常に増えています。&lt;/p&gt;
&lt;p&gt;AWS でアプリケーションを動かせるサービスはいくつもありますが、&lt;strong&gt;最近は特にコンテナを使うサービスを採用するケースが増えています&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;そんな中、&lt;strong&gt;実務で急に AWS のコンテナサービスを使うことになったものの、そもそも AWS 自体の知識も足りず、苦戦する&lt;/strong&gt;という方は少なくありません。&lt;/p&gt;
&lt;p&gt;また、&lt;strong&gt;EC2 や RDS などをなんとなくさわったことがあっても、ECS などのコンテナサービスをさわった経験はない&lt;/strong&gt;という方や、&lt;strong&gt;Infrastructure as Code・CI/CD までを整えた実践レベルの環境構築までは経験がない&lt;/strong&gt;という方も多いです。&lt;/p&gt;
&lt;p&gt;他にも、Docker や Docker Compose を使うなどしてコンテナでローカル開発環境の構築はできても、&lt;strong&gt;コンテナで本番環境を作る知見はない&lt;/strong&gt;という方も多いです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AWS 自体の基本やコンテナサービス ECS の基礎に始まり…&lt;/li&gt;
&lt;li&gt;Copilot CLI というツールを使用した実践的な環境構築 （Infrastructure as Code・オートスケール・CI/CD）&lt;/li&gt;
&lt;li&gt;さらには注目の新しいコンテナサービス App Runner まで&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;すべて手を動かしながら学びます。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Docker や Docker Compose で開発環境の構築ができるようになり、コンテナを使った本番環境の構築について学びたい方&lt;/li&gt;
&lt;li&gt;AWS のコンテナサービスの基本を学び、業務での環境構築に活かしたい方&lt;/li&gt;
&lt;li&gt;AWS でアプリケーションを動かすうえでの、定番の選択肢を学びたい方&lt;/li&gt;
&lt;li&gt;Amazon ECS をなんとなくさわったことがあるが、ECS の構築ツールや Infrastructure as Code・CI/CD といった実践レベルまで改めて学びたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;aws-の基本からの解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E3%81%AE%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;aws の基本からの解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS の基本からの解説&lt;/h3&gt;
&lt;p&gt;AWS のコンテナサービスを使うためには、VPC (ネットワーク) の設計や RDS (データベース) との疎通、IAM という AWS の認証認可のサービスなど、AWS 自体の基礎知識が前提となります。&lt;/p&gt;
&lt;p&gt;このコースでは、&lt;strong&gt;AWS の知識がほとんどない方でも学習できるように、このような基礎の部分から解説&lt;/strong&gt;しています。&lt;/p&gt;
&lt;h3 id=&quot;copilot-cli・app-runner-といった注目サービスの解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#copilot-cli%E3%83%BBapp-runner-%E3%81%A8%E3%81%84%E3%81%A3%E3%81%9F%E6%B3%A8%E7%9B%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;copilot cli・app runner といった注目サービスの解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Copilot CLI・App Runner といった注目サービスの解説&lt;/h3&gt;
&lt;p&gt;AWS のコンテナサービス関連では、2022 年後半ぐらいから&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Copilot CLI というデプロイツール&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;App Runner という新しいコンテナサービス&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;がかなり注目を集めています。&lt;/p&gt;
&lt;p&gt;現状これらを解説したまとまった情報源はほとんどなく、これらを扱っていることは、この講座の大きな特徴となっています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;AWS のコンテナサービスは、どこから学べばいいのか分かりにくく、学び始めるハードルが高いと言えます。&lt;/p&gt;
&lt;p&gt;その一方で、実務で急に使うことになったという声もよく耳にしますし、ぜひ学んでおきたい内容でもあります。&lt;/p&gt;
&lt;p&gt;この講座がそういった方のお役に立てば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[いきなりエラーメッセージでググるな！]]></title><description><![CDATA[プログラミングや環境構築などでエラーに遭遇したときに、「エラーメッセージでググる」と教わったことはないでしょうか？
実際に、プログラミングや環境構築にあまり慣れていない方から、「エラーメッセージでググったけど分かりませんでした」と言われることがよくあります。
しかし、私はエラーに遭遇したときに「いきなりエラーメッセージでググる」ことは良くないと考えています。
この記事には、「いきなりエラーメッセージでググる」ことが良くない理由と、ではどうするべきなのかを書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/dont-google-error-messages-first</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/dont-google-error-messages-first</guid><pubDate>Mon, 02 Jan 2023 23:47:36 GMT</pubDate><content:encoded>&lt;p&gt;プログラミングや環境構築などでエラーに遭遇したときに、「エラーメッセージでググる」と教わったことはないでしょうか？&lt;/p&gt;
&lt;p&gt;実際に、プログラミングや環境構築にあまり慣れていない方から、「エラーメッセージでググったけど分かりませんでした」と言われることがよくあります。&lt;/p&gt;
&lt;p&gt;しかし、私はエラーに遭遇したときに「いきなりエラーメッセージでググる」ことは良くないと考えています。
この記事には、「いきなりエラーメッセージでググる」ことが良くない理由と、ではどうするべきなのかを書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;エラーに遭遇したときに最初にすべきこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E9%81%AD%E9%81%87%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E6%9C%80%E5%88%9D%E3%81%AB%E3%81%99%E3%81%B9%E3%81%8D%E3%81%93%E3%81%A8&quot; aria-label=&quot;エラーに遭遇したときに最初にすべきこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エラーに遭遇したときに最初にすべきこと&lt;/h2&gt;
&lt;p&gt;何らかのエラーに遭遇して画面上にエラーメッセージが表示されると、何をどうすれば良いのか分からず困ってしまうという方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;そこでまずやるべきことは、「エラーメッセージでググる」ことではありません。
&lt;strong&gt;エラーメッセージを読んで、その意味や原因・修正すべき点を考える&lt;/strong&gt;ことです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;多くの場合、エラーメッセージにエラーを解消するためのヒントや答えが書いてあります&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;エラーメッセージを「読む」とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%80%8C%E8%AA%AD%E3%82%80%E3%80%8D%E3%81%A8%E3%81%AF&quot; aria-label=&quot;エラーメッセージを「読む」とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エラーメッセージを「読む」とは&lt;/h2&gt;
&lt;p&gt;「エラーメッセージを読みましょう」ということはよく言われると思いますが、この言葉も誤解されていることがあります。&lt;/p&gt;
&lt;p&gt;特に英語のエラーメッセージに対して「読みましょう」と言われると、意味を考えずに音読だけしてしまう方も少なくないようです。
「エラーメッセージを読みましょう」と言われて、音読するだけでは得られるものはありません。
&lt;strong&gt;エラーメッセージに書かれている内容、エラーメッセージの意味を理解することが重要です&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;英語に抵抗がある方は、DeepL などで翻訳して読んでも良いと思います。
&lt;strong&gt;エラーメッセージの内容を理解できる読み方をしましょう&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;また、英語のメッセージを読むときは、分からない英単語はしっかり調べましょう。
(分からない英単語を想像で読んでしまい、メッセージの意味を誤解しているケースも少なくありません…)&lt;/p&gt;
&lt;h2 id=&quot;読んだら意味や原因・修正すべき点を考える&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%82%93%E3%81%A0%E3%82%89%E6%84%8F%E5%91%B3%E3%82%84%E5%8E%9F%E5%9B%A0%E3%83%BB%E4%BF%AE%E6%AD%A3%E3%81%99%E3%81%B9%E3%81%8D%E7%82%B9%E3%82%92%E8%80%83%E3%81%88%E3%82%8B&quot; aria-label=&quot;読んだら意味や原因・修正すべき点を考える permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読んだら意味や原因・修正すべき点を考える&lt;/h2&gt;
&lt;p&gt;エラーメッセージを読んだら、その意味やエラーの原因・修正すべき点を考えることになります。&lt;/p&gt;
&lt;p&gt;例えば、エラーメッセージに「No such file or directory」と書かれているとしましょう。
日本語にすると「そのようなファイルまたはディレクトリはない」という意味です。&lt;/p&gt;
&lt;p&gt;このメッセージを読んだら、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;なぜそのファイルが必要とされているのか&lt;/li&gt;
&lt;li&gt;なぜそのファイルがないのか (そのファイルはどうやって用意するものなのか)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、&lt;strong&gt;なぜこのようなメッセージが出るのかを考えましょう&lt;/strong&gt;。
考えた結果どんな修正をすれば良いのか分かったら、その対応をしてあげましょう。&lt;/p&gt;
&lt;p&gt;他の例で言えば、エラーメッセージに「maybe run …」などと書かれているかもしれません。
日本語にすると「もしかするとこうするべきではないか」という、対応方法の例です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;エラーメッセージには、具体的にどうするべきか書かれていることも少なくありません&lt;/strong&gt;。
&lt;strong&gt;しっかり読んで、その内容を試してみましょう&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;それでも解決しないとき&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%8C%E3%81%A7%E3%82%82%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D&quot; aria-label=&quot;それでも解決しないとき permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;それでも解決しないとき&lt;/h2&gt;
&lt;p&gt;それでも解決しない場合、「エラーメッセージでググる」ことを試しても良いと思います。&lt;/p&gt;
&lt;p&gt;「エラーメッセージでググる」ことをすると、Stack Overflow や Qiita といったサービスで、同様のエラーに遭遇した場合の対処法が出てくることがあります。
&lt;strong&gt;このようなサービスで紹介されている対処法は、基本的にそのまま信用すべきではありません&lt;/strong&gt;。
(GitHub の公式リポジトリの Issue などは、比較的信用度が高いことが多いと思います)&lt;/p&gt;
&lt;p&gt;そのような記事を見ること自体は否定しませんが、それが正しい情報である根拠はありません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;見つけた対処法が、&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;自分の知識&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;公式ドキュメント&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(OSS であれば) ソースコード&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;などと照らし合わせて適切か判断して使いましょう&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;対処法が適切か判断できないとき&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AF%BE%E5%87%A6%E6%B3%95%E3%81%8C%E9%81%A9%E5%88%87%E3%81%8B%E5%88%A4%E6%96%AD%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D&quot; aria-label=&quot;対処法が適切か判断できないとき permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;対処法が適切か判断できないとき&lt;/h2&gt;
&lt;p&gt;とはいえ、見つけた対処法が適切か判断できないこともあると思います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;あまり知識のない分野については、見つけた対処法が適切なのか判断できない&lt;/strong&gt;のです。
(自分も知識のない分野では、出てきた記事の内容をそのまま試してみることしかできません…)&lt;/p&gt;
&lt;p&gt;しかしよく知らない分野でも、&lt;strong&gt;その分野の知識をつけることで、長期的には対処法が適切なのか判断できるようになっていきます&lt;/strong&gt;。
よく「OS について勉強したりするのは何の役に立つのか」と言われることがありますが、まさにこのように役立ちます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;よく分からないことが出てきたときは、勉強すべきことを知るチャンスでもあります&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;「エラーメッセージでググる」前に、エラーメッセージを読んで、その意味や原因・修正すべき点を考えましょう。&lt;/p&gt;
&lt;p&gt;エラー解決は一番勉強になると言っても過言ではありません。
エラーを怖がらず、勉強の機会だと思ってしまいましょう。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2022 年後半で勉強したことのふりかえり]]></title><description><![CDATA[2022 年後半が終わったので、勉強したことをふりかえって記事にまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2022-second-half</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2022-second-half</guid><pubDate>Sun, 01 Jan 2023 01:32:37 GMT</pubDate><content:encoded>&lt;p&gt;2022 年後半が終わったので、勉強したことをふりかえって記事にまとめます。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202207&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 7 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202208&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 8 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202209&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 9 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202210&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 10 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202211&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 11 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202212&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 12 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 34 冊でした。&lt;/p&gt;
&lt;p&gt;2022 年前半は 57 冊だったので、年間合計 91 冊となりました。&lt;/p&gt;
&lt;p&gt;10 月から 12 月は仕事が忙しく、かなり読書のペースが落ちてしまっていました。&lt;/p&gt;
&lt;p&gt;この中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3i2qSS0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3jFLBvq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3X1fDbz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e58ec063e8922608936779524d4d4633&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4789838072?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0f90874eedb06cd9a2d993898199f39e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4877832394?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6265e4055fe4e2d95936031aba8d6532&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4877832394&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4877832394&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OS やリンカ・ローダといったプログラムの実行の基盤となる部分について、かなり知識を拡充できました。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、20 記事書きました。&lt;/p&gt;
&lt;p&gt;もう少し頻繁に記事を書くよう習慣化したいです。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;この半年では資格は全く取得しませんでした。&lt;/p&gt;
&lt;p&gt;2023 年には取得したい資格がいくつかあるので、しっかり取り組もうと思います。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/256298/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なんとなくを卒業するための Web アプリの仕組みと構成パターンの基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/262474/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改めて整理するアプリケーション設計の基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/268828/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS Lambda×Serverless Framework超入門&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つの発表を行い、合計 500 名を超える多くの方にお申し込みいただきました。&lt;/p&gt;
&lt;p&gt;また、LT 形式で&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ONNX Runtime Web×Netlifyで機械学習アプリケーションを気軽に公開&lt;/li&gt;
&lt;li&gt;Gradioを使って機械学習モデルを一瞬でWebアプリ化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 2 つの発表もしました。&lt;/p&gt;
&lt;p&gt;StudyCo というグループとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connpass のグループメンバーが 1800 名を突破&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube チャンネル&lt;/a&gt; の登録者数が 300 を突破&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h2&gt;
&lt;p&gt;この半年では、以下の 5 つのUdemy 講座を公開しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux とネットワークの基礎から学ぶ Docker 入門&lt;/li&gt;
&lt;li&gt;JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜&lt;/li&gt;
&lt;li&gt;Python と JavaScript による機械学習アプリケーション公開入門【ONNX・Render】&lt;/li&gt;
&lt;li&gt;リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜&lt;/li&gt;
&lt;li&gt;AWS Lambda / Serverless Framework 速習ハンズオン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;合計 2300 名以上という多くの方に手に取っていただくことができ、講座を作って良かったと思います。&lt;/p&gt;
&lt;p&gt;まだまだ出したい講座があるので、来年はペースアップして作成していくつもりです。&lt;/p&gt;
&lt;p&gt;なお、公開済み講座の講師発行クーポンが、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;os-自作&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E8%87%AA%E4%BD%9C&quot; aria-label=&quot;os 自作 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS 自作&lt;/h2&gt;
&lt;p&gt;この 1 年半ほどで、いわゆる低レイヤの知識をかなり拡充してきました。&lt;/p&gt;
&lt;p&gt;特にこの半年では OS 自作に取り組み、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「&lt;a href=&quot;https://amzn.to/3i2qSS0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3X1fDbz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊を読みながら、2 つの OS を写経で実装してみました。&lt;/p&gt;
&lt;p&gt;また、&lt;a href=&quot;https://www.linuxfromscratch.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux From Scratch&lt;/a&gt; (いわゆる自作 Linux ディストリビューション) も行い、OS についてだいぶ知識がついたと感じています。&lt;/p&gt;
&lt;p&gt;とはいえ、まだ写経的な実装が中心で、自分で考えながら実装した経験はありません。
最近は OS や言語処理系にかなり興味があるので、自分なりの OS や言語処理系の自作に挑戦していきたいです。&lt;/p&gt;
&lt;p&gt;自作つながりでは、C コンパイラ・TCP/IP プロトコルスタック・RDBMS の自作にも早めに挑戦したいです。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;プログラミング言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング言語&lt;/h2&gt;
&lt;p&gt;この半年では、Rust に少しだけ入門してみました。&lt;/p&gt;
&lt;p&gt;入門した感想としては、噂通り難しいプログラミング言語でした。&lt;/p&gt;
&lt;p&gt;おそらく C や C++ の経験が豊富な方は学習しやすいのだと思いますが、私はそのあたりの経験があまりないため、かなり学習のハードルが高いと感じています。&lt;/p&gt;
&lt;p&gt;単純に勉強量が不足しているというのもあると思うので、引き続き勉強していきたいです。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2022 年後半でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 34 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 20 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会を 3 回開催した (さらに、LT 形式で 2 回発表した)&lt;/li&gt;
&lt;li&gt;Udemy 講座を 5 つ公開した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勉強&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OS を 2 つ自作した&lt;/li&gt;
&lt;li&gt;Rust に少しだけ入門してみた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;引き続き、色々なことを学んだりしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 12 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 12 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202212</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202212</guid><pubDate>Sun, 01 Jan 2023 00:59:32 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 12 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤを知りたい人のためのcコンパイラ作成入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4%E3%82%92%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEc%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E4%BD%9C%E6%88%90%E5%85%A5%E9%96%80&quot; aria-label=&quot;低レイヤを知りたい人のためのcコンパイラ作成入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://www.sigbus.info/compilerbook&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;低レイヤを知りたい人のためのCコンパイラ作成入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;C 言語で C コンパイラを実装していくオンラインブックです。&lt;/p&gt;
&lt;p&gt;コンパイラの学習の、有名な情報源の 1 つだと思います。&lt;/p&gt;
&lt;p&gt;コンパイラについて基礎から学べるので、とてもおすすめです。&lt;/p&gt;
&lt;p&gt;私は途中までしか実装はしていないのですが、遠くないうちに最後まで実装したいと思っています。&lt;/p&gt;
&lt;h2 id=&quot;12ステップで作る組込みos自作入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFos%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80&quot; aria-label=&quot;12ステップで作る組込みos自作入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jCcJvf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4877832394?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ee811a44b824bf46170728d0365c763e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4877832394&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4877832394&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、組み込み OS の自作に関する本です。&lt;/p&gt;
&lt;p&gt;テーマは組み込み OS ではありますが、汎用 OS に通じる解説も多いです。&lt;/p&gt;
&lt;p&gt;非常に短期間で実装できることもあり、OS 自作に興味があるものの、できるだけコンパクトに挑戦したいといった方にはとてもおすすめです。&lt;/p&gt;
&lt;p&gt;ただ、マイコンを購入してから最初の Hello World までは特に苦戦する可能性が低くないので、そこは根気が必要です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月まで仕事でだいぶ忙しかったため、読書量はかなり少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;来月からは、がっつり読書していこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[『12ステップで作る組込みOS自作入門』を読みながら組み込み OS を実装した感想]]></title><description><![CDATA[『12ステップで作る組込みOS自作入門』を読みながら、組み込み OS「KOZOS」を実装してみたので、感想をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4877832394</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4877832394</guid><pubDate>Thu, 29 Dec 2022 14:37:33 GMT</pubDate><content:encoded>&lt;p&gt;『12ステップで作る組込みOS自作入門』を読みながら、組み込み OS「KOZOS」を実装してみたので、感想をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;書籍『12ステップで作る組込みos自作入門』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8E12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFos%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『12ステップで作る組込みos自作入門』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3G1a6uC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4877832394?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=9717f8013f91f660f26d643bb45a2c7a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4877832394&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4877832394&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『12ステップで作る組込みOS自作入門』は、タイトル通り、組み込み OS を自作してみる本です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://akizukidenshi.com/catalog/g/gK-01271/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ｈ８／３０６９Ｆネット対応マイコンＬＡＮボード&lt;/a&gt; を使って、C 言語で組み込み OS を自作します。&lt;/p&gt;
&lt;p&gt;以下が公式のサポートページになります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://kozos.jp/books/makeos/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;http://kozos.jp/books/makeos/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;実装する内容&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E5%86%85%E5%AE%B9&quot; aria-label=&quot;実装する内容 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装する内容&lt;/h2&gt;
&lt;p&gt;この本で実装するのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブート・ローダ&lt;/li&gt;
&lt;li&gt;リンカや ELF ローダ&lt;/li&gt;
&lt;li&gt;シリアル・デバイス・ドライバ&lt;/li&gt;
&lt;li&gt;スレッドとそのスケジューリングや割り込み&lt;/li&gt;
&lt;li&gt;システム・コール&lt;/li&gt;
&lt;li&gt;メモリ管理&lt;/li&gt;
&lt;li&gt;タスク間通信&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などになります。&lt;/p&gt;
&lt;p&gt;入出力はシリアル通信のみなので、非常にコンパクトな OS となっています。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;この本の OS (KOZOS) の実装をしてみた感想としては、何もよりも、&lt;strong&gt;たった 3000 行に満たないコードで OS を作れる&lt;/strong&gt;ことに感動しました。&lt;/p&gt;
&lt;p&gt;実装期間としても、&lt;strong&gt;仕事の片手間に 2 週間程度でできてしまい、集中して取り組めば 1 週間もかからないかもしれません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;OS 自作と言えば、最近は『&lt;a href=&quot;https://amzn.to/3PXVwsq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』(通称、みかん本) が一番有名だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4839975868?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ef93fe5db576326b59664f8b41334acf&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4839975868&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4839975868&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;私はこちらの本の OS の実装もやってみていますが、こちらの実装はかなり時間がかかり、そのボリュームの違いがとても大きいと思いました。
(もちろんその分得られる知識も豊富になります)&lt;/p&gt;
&lt;p&gt;『12ステップで作る組込みOS自作入門』は、それほどコンパクトに実装できる内容にも関わらず、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブート・ローダ&lt;/li&gt;
&lt;li&gt;リンカや ELF ローダ&lt;/li&gt;
&lt;li&gt;シリアル・デバイス・ドライバ&lt;/li&gt;
&lt;li&gt;スレッドとそのスケジューリングや割り込み&lt;/li&gt;
&lt;li&gt;システム・コール&lt;/li&gt;
&lt;li&gt;メモリ管理&lt;/li&gt;
&lt;li&gt;タスク間通信&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、&lt;strong&gt;OS の重要な要素をしっかり分かりやすく学ぶことができ、とても素晴らしい本だと思いました&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;なお、一部組み込み OS に特化した解説・実装ではありますが、汎用 OS にも通じる話が多いです。&lt;/p&gt;
&lt;h2 id=&quot;大変だったところ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%A7%E5%A4%89%E3%81%A0%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D&quot; aria-label=&quot;大変だったところ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;大変だったところ&lt;/h2&gt;
&lt;p&gt;実装する中で大変だったのは、何より最初の開発環境の構築と Hello World です。&lt;/p&gt;
&lt;p&gt;マイコンにプログラムを書き込んで実行する必要があるわけですが、慣れていない自分にはうまくいかない原因を突き止めるのが大変で、ここはかなり苦戦しました。
(電源電圧が違うという、とんでもない間違いでうまくいかず、マイコンは 1 台壊しました…)&lt;/p&gt;
&lt;p&gt;開発環境の構築については、『ゼロからのOS自作入門』のほうがだいぶやりやすいと思いました。&lt;/p&gt;
&lt;p&gt;とはいえ、逆に組み込みソフトウェアの開発やマイコンに興味があったりする方には、開発環境構築で苦戦するのも良い勉強かもしれません。&lt;/p&gt;
&lt;h2 id=&quot;今後やってみたいと思ったこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E5%BE%8C%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8&quot; aria-label=&quot;今後やってみたいと思ったこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今後やってみたいと思ったこと&lt;/h2&gt;
&lt;p&gt;さて、私は最近は低レイヤの知識を拡充しようと、最近は CPU を (エミュレータで) 作ったり、コンパイラやインタプリタを作ったり、OS を作ったりしてきています。&lt;/p&gt;
&lt;p&gt;OS については『ゼロからのOS自作入門』と『12ステップで作る組込みOS自作入門』の 2 つを写経しながら実装したことで、だいぶ理解が進んできました。&lt;/p&gt;
&lt;p&gt;そろそろ自分なりの OS 作りに挑戦したいなと思ったりしています。
特に Unix 系の OS に興味があるので、勉強して自作してみたいです。
(MINIX のようなものを作ってみたいです)&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;少し話がそれましたが、『12ステップで作る組込みOS自作入門』は、「OS 自作というものに挑戦してみたいけど、できるだけコンパクトに作れるのがいい」という方にはとてもおすすめです。&lt;/p&gt;
&lt;p&gt;マイコンを買って Hello World するまでを心が折れずに頑張れそうな方には、是非おすすめしたい一冊でした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4877832394?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=753bd8698dc305db0931da3db521bb25&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4877832394&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4877832394&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年末】自分のまわりで感じる IT トレンドの 13 のテーマ]]></title><description><![CDATA[2022 年ももう終わろうとしています。
この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/it-trends-2022</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/it-trends-2022</guid><pubDate>Thu, 29 Dec 2022 13:09:54 GMT</pubDate><content:encoded>&lt;p&gt;2022 年ももう終わろうとしています。&lt;/p&gt;
&lt;p&gt;この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。&lt;/p&gt;
&lt;p&gt;13 個のテーマを&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;いわゆるトレンド系&lt;/li&gt;
&lt;li&gt;機械学習&lt;/li&gt;
&lt;li&gt;一部で盛り上がっていた気がするもの&lt;/li&gt;
&lt;li&gt;今年に限らないが、最近盛り上がっていると感じるもの&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という分類で書いていきます。&lt;/p&gt;
&lt;p&gt;関連&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2021 年: &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-trends-2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年末】自分のまわりで感じる IT トレンドの 8 のテーマ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2020 年: &lt;a href=&quot;https://qiita.com/os1ma/items/2d474829d786dc813250&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年末】自分のまわりで感じる IT トレンドの 18 のテーマ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;いわゆるトレンド系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%84%E3%82%8F%E3%82%86%E3%82%8B%E3%83%88%E3%83%AC%E3%83%B3%E3%83%89%E7%B3%BB&quot; aria-label=&quot;いわゆるトレンド系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;いわゆるトレンド系&lt;/h2&gt;
&lt;p&gt;まずは IT トレンドと言えばこれだよね、といういわゆるトレンド系のテーマです。&lt;/p&gt;
&lt;h3 id=&quot;メタバース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9&quot; aria-label=&quot;メタバース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバース&lt;/h3&gt;
&lt;p&gt;昨年末あたりからよく聞くようになりましたが、「メタバース」については今年の前半でかなりトレンドになっていたと思います。&lt;/p&gt;
&lt;p&gt;IT 業界の人に限らず、聞いたことがあるという方はとても多いと思います。&lt;/p&gt;
&lt;p&gt;メタバースをテーマにした書籍もたくさん出版され、その定義などもよく議論されていた印象があります。&lt;/p&gt;
&lt;h3 id=&quot;nft-non-fungible-token&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-non-fungible-token&quot; aria-label=&quot;nft non fungible token permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NFT (Non-Fungible Token)&lt;/h3&gt;
&lt;p&gt;「NFT」 についても、昨年から引き続きかなりトレンドだったと思います。&lt;/p&gt;
&lt;p&gt;ブロックチェーンで言えば Walk to Earn のような X to Earn が近年話題の 1 つだと思いますが、特に STEPN で歩くだけで稼げるというのが話題となっており、かなり身近だったと思います。&lt;/p&gt;
&lt;p&gt;ブロックチェーンや NFT については、技術的な信念があって関わっている界隈と、情報商材的にお金を稼ごうとしている界隈があるようで、なかなか混沌としていると思います。&lt;/p&gt;
&lt;h3 id=&quot;web3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web3&quot; aria-label=&quot;web3 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web3&lt;/h3&gt;
&lt;p&gt;ブロックチェーン関係だと「Web3」という単語も使われるようになりました。&lt;/p&gt;
&lt;p&gt;DAO (Decentralized Autonomous Organization) や DeFi (Decentralized Finance) といった単語を聞くことが増えたように思います。&lt;/p&gt;
&lt;p&gt;Brave ブラウザなどは、結構一般に浸透してきているようにも思います。&lt;/p&gt;
&lt;p&gt;その他、個人的には、IPFS (InterPlanetary File System: 惑星間ファイルシステム) などは単語の響きがかっこいいなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;p&gt;続いて、機械学習関連の話題です。&lt;/p&gt;
&lt;h3 id=&quot;画像生成-ai&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90-ai&quot; aria-label=&quot;画像生成 ai permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像生成 AI&lt;/h3&gt;
&lt;p&gt;機械学習で今年一番盛り上がったのは、画像生成ではないでしょうか。&lt;/p&gt;
&lt;p&gt;Midjourney や Stable Diffusion、NovelAI などは、どこかで聞いたり目にしたことがある方が多いと思います。&lt;/p&gt;
&lt;p&gt;こういった AI への入力が「呪文」と呼ばれるようになったのも、とても面白いと思います。&lt;/p&gt;
&lt;p&gt;個人的には、画像生成 AI がラーメンを手で食べてしまうところから、箸で食べられるようになっていった流れが面白かったです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://togetter.com/li/1960967&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIの反逆によって異常ラーメン食べ女・AI樋口円香が生まれ、人間がそのファンアートを描くというカオスな流れが誕生しつつある&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://togetter.com/li/1976695&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【朗報】AI,ラーメンをまともに食える&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://togetter.com/li/1961471&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『AI風情が、人間を舐めるなよ』ついにラーメン素手食いAIイラストに対抗する人間が現れる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;chatgpt&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chatgpt&quot; aria-label=&quot;chatgpt permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ChatGPT&lt;/h3&gt;
&lt;p&gt;機械学習関係で言えば、2022 年 12 月に公開された「ChatGPT」は、かなり話題だと思います。&lt;/p&gt;
&lt;p&gt;Google などの検索エンジンの強い競合になりうるといった意見もあり、とてもホットな話題だと思います。&lt;/p&gt;
&lt;p&gt;6 月ごろには、Google の AI (LaMDA) が感情を持っているように思える、といった話題もありました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.businessinsider.jp/post-255377&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.businessinsider.jp/post-255377&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/fladdict/status/1536259349458612224&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://twitter.com/fladdict/status/1536259349458612224&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;一部で盛り上がっていた気がするもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E9%83%A8%E3%81%A7%E7%9B%9B%E3%82%8A%E4%B8%8A%E3%81%8C%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E6%B0%97%E3%81%8C%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE&quot; aria-label=&quot;一部で盛り上がっていた気がするもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一部で盛り上がっていた気がするもの&lt;/h2&gt;
&lt;p&gt;ここからは、もう少しマイナーと思われる、私のまわりの一部で盛り上がっていた気がする話題を挙げていきます。&lt;/p&gt;
&lt;h3 id=&quot;モジュラモノリス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%A9%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B9&quot; aria-label=&quot;モジュラモノリス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;モジュラモノリス&lt;/h3&gt;
&lt;p&gt;数年前から聞くようになった「モジュラモノリス」について、今年は事例を聞く機会が増えたように思いました。&lt;/p&gt;
&lt;p&gt;「モジュラモノリス」という単語を聞くようになった頃に移行したりし始めた会社が、事例として発表するタイミングになったのではないかと思います。&lt;/p&gt;
&lt;h3 id=&quot;sqlite&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sqlite&quot; aria-label=&quot;sqlite permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SQLite&lt;/h3&gt;
&lt;p&gt;Litestream や Cloudflare D1 といった SQLite を使った技術も、かなりホットな話題だったと思います。&lt;/p&gt;
&lt;p&gt;あまりしっかり調べたりしたわけではないのですが、上手に使うとかなり常識外れなすごいシステム設計ができそうな気がします。&lt;/p&gt;
&lt;p&gt;データベース関係だと、PlanetScale や Supabase について耳にする機会も増えたように思います。&lt;/p&gt;
&lt;h3 id=&quot;rust-for-linux&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rust-for-linux&quot; aria-label=&quot;rust for linux permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Rust for Linux&lt;/h3&gt;
&lt;p&gt;Rust と言えば最近話題のプログラミング言語の 1 つですが、今年は Rust for Linux の話題が盛り上がっていたと思います。&lt;/p&gt;
&lt;p&gt;12 月には、一部 Rust で書かれた Linux カーネルが公開されています。&lt;/p&gt;
&lt;p&gt;Rust 自体、かなり難しい言語だと思うので誰もが使うようになるとは思わないですが、興味を持って勉強するには良いのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;今年に限らないが、最近盛り上がっていると感じるもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E5%B9%B4%E3%81%AB%E9%99%90%E3%82%89%E3%81%AA%E3%81%84%E3%81%8C%E3%80%81%E6%9C%80%E8%BF%91%E7%9B%9B%E3%82%8A%E4%B8%8A%E3%81%8C%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E6%84%9F%E3%81%98%E3%82%8B%E3%82%82%E3%81%AE&quot; aria-label=&quot;今年に限らないが、最近盛り上がっていると感じるもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今年に限らないが、最近盛り上がっていると感じるもの&lt;/h2&gt;
&lt;p&gt;ここから、今年のトレンドというわけではないものの、盛り上がりを感じるトピックを書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;risc-v&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#risc-v&quot; aria-label=&quot;risc v permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;RISC-V&lt;/h3&gt;
&lt;p&gt;最近は RISC-V CPU の話題を聞くことが増えたと思います。&lt;/p&gt;
&lt;p&gt;2011 年末に発売されたパタヘネの第 6 版でも、RISC-V の解説が追加されているようです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4296070096?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=32698b61cb3b3e4192d53d20cb481296&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4296070096&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4296070096&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ebpf-extended-berkeley-packet-filter&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ebpf-extended-berkeley-packet-filter&quot; aria-label=&quot;ebpf extended berkeley packet filter permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;eBPF (Extended Berkeley Packet Filter)&lt;/h3&gt;
&lt;p&gt;Linux カーネルの機能である eBPF も、最近盛り上がっていると思います。&lt;/p&gt;
&lt;p&gt;特にコンテナのセキュリティ関係で耳にすることが多い印象です。&lt;/p&gt;
&lt;h3 id=&quot;デザインシステム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&quot; aria-label=&quot;デザインシステム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デザインシステム&lt;/h3&gt;
&lt;p&gt;私はあまりよく知らない分野ですが、「デザインシステム」についても聞く機会が増えていると思います。&lt;/p&gt;
&lt;p&gt;様々な企業がデザインシステムを公開したりし始めているように思います。&lt;/p&gt;
&lt;h3 id=&quot;nestjs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nestjs&quot; aria-label=&quot;nestjs permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Nest.js&lt;/h3&gt;
&lt;p&gt;Web 関連の技術だと、個人的に最近 Nest.js の採用例が増えているように思います。&lt;/p&gt;
&lt;p&gt;関連して、Prisma や TypeORM といった OR マッパーの話題を耳にすることも増えています。&lt;/p&gt;
&lt;p&gt;個人的には TypeScirpt は結構好きなのと、Nest.js は少しさわった感触が良かったので、もう少ししっかり使ってみたいです。&lt;/p&gt;
&lt;h3 id=&quot;webassembly&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webassembly&quot; aria-label=&quot;webassembly permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebAssembly&lt;/h3&gt;
&lt;p&gt;Web で言えば、WebAssembly もホットな話題だと思います。&lt;/p&gt;
&lt;p&gt;最近知った、Figma が WebAssembly を使っているという話も興味深いなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2022 年に自分のまわりで感じた IT トレンドについて書きました。&lt;/p&gt;
&lt;p&gt;自分の最近の興味としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rust for Linux&lt;/li&gt;
&lt;li&gt;eBPF&lt;/li&gt;
&lt;li&gt;WebAssembly&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりがかなり気になっているので、来年少し勉強してみようかなと思ったりしています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ECS on Fargate のデプロイツールを調べてみた【ver2022】]]></title><description><![CDATA[ECS on Fargate は AWS のアプリケーション実行環境として近年定番の選択肢です。
そんな ECS on Fargate について、Infrastructure as Code や CI/CD などを含めて環境を整えようとすると、何かしらのツールが必要になります。
2022 年 12 月の時点で ECS on Fargate のデプロイツールをいくつか試してみたので、得られた知見をまとめておきます。]]></description><link>https://www.kanzennirikaisita.com/posts/ecs-on-fargate-deployment-tools-ver-2022</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ecs-on-fargate-deployment-tools-ver-2022</guid><pubDate>Fri, 16 Dec 2022 13:39:56 GMT</pubDate><content:encoded>&lt;p&gt;ECS on Fargate は AWS のアプリケーション実行環境として近年定番の選択肢です。
そんな ECS on Fargate について、Infrastructure as Code や CI/CD などを含めて環境を整えようとすると、何かしらのツールが必要になります。&lt;/p&gt;
&lt;p&gt;2020 年時点の情報としては AWS Dev Day Japan の「&lt;a href=&quot;https://speakerdeck.com/toricls/the-easiest-deployment-championship-2020-find-your-winner-for-aws-fargate&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;第2回 AWS Fargate かんたんデプロイ選手権&lt;/a&gt;」という資料があり、ECS on Fargate のデプロイツールを比較するうえでとても参考になるのですが、AWS のアップデートはとても早いです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2022 年 12 月の時点で ECS on Fargate のデプロイツールをいくつか試してみた&lt;/strong&gt;ので、得られた知見をまとめておきます。&lt;/p&gt;
&lt;h2 id=&quot;調査したツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%BF%E6%9F%BB%E3%81%97%E3%81%9F%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;調査したツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;調査したツール&lt;/h2&gt;
&lt;p&gt;今回 ECS on Fargate のデプロイツールを調査した理由は、実際に ECS on Fargate で本番環境を構築するためです。&lt;/p&gt;
&lt;p&gt;その際前提として、「CPU・メモリの割り当てや環境変数といったタスクの基本的な設定は、AWS の知識が豊富ではないアプリケーションエンジニアが変更できる」ようにしたかったので、その条件を満たしてくれそうなツールを中心に調査しました。&lt;/p&gt;
&lt;p&gt;候補として、以下の 3 つのツールにしぼって、実際にさわって検証してみました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker Compose ECS Integration&lt;/li&gt;
&lt;li&gt;AWS Copilot CLI&lt;/li&gt;
&lt;li&gt;ecspresso&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;docker-compose-ecs-integration&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-compose-ecs-integration&quot; aria-label=&quot;docker compose ecs integration permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker Compose ECS Integration&lt;/h2&gt;
&lt;p&gt;公式ドキュメント: &lt;a href=&quot;https://docs.docker.com/cloud/ecs-integration/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://docs.docker.com/cloud/ecs-integration/&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h3&gt;
&lt;p&gt;Docker Compose の ECS 統合機能は、2020 年 11 月に GA されました。&lt;/p&gt;
&lt;p&gt;基本的な設定ファイルの書き方は Docker Compose と同じで、一部 ECS 特有の設定を書いて &lt;code class=&quot;language-text&quot;&gt;docker-compose up -d&lt;/code&gt; するだけで ECS にコンテナをデプロイできます。&lt;sup id=&quot;fnref-1&quot;&gt;&lt;a href=&quot;#fn-1&quot; class=&quot;footnote-ref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3 id=&quot;良かった点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%89%AF%E3%81%8B%E3%81%A3%E3%81%9F%E7%82%B9&quot; aria-label=&quot;良かった点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;良かった点&lt;/h3&gt;
&lt;p&gt;実際にさわってみた所感として、たしかに &lt;strong&gt;Docker Compose の延長で使うことができるため、とっかかりの学習コストが非常に低く、とても素晴らしいツールだと思いました&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;そして、&lt;strong&gt;ドキュメントがとても分かりやすく、試してみるのも簡単でした&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;また、docker-compose.yaml ファイルをもとに CloudFormation のテンプレートが生成されるのですが、その &lt;a href=&quot;https://docs.docker.com/cloud/ecs-integration/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CloudFormation のテンプレートを一部調整可能な機能&lt;/a&gt; もあります。
この機能によって&lt;strong&gt;ある程度のカスタマイズ性もあります&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;弱点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BC%B1%E7%82%B9&quot; aria-label=&quot;弱点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;弱点&lt;/h3&gt;
&lt;p&gt;しかし、ECS でのコンテナへの機密情報の受け渡しによく使われる、&lt;strong&gt;「パラメータストアから取得した値を環境変数に設定する」という機能がサポートされておらず、採用は断念しました&lt;/strong&gt;。&lt;sup id=&quot;fnref-2&quot;&gt;&lt;a href=&quot;#fn-2&quot; class=&quot;footnote-ref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;また、&lt;a href=&quot;https://github.com/docker/compose-cli&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitHub リポジトリ&lt;/a&gt; を見てみると、&lt;strong&gt;最近はあまり力を入れて開発されていないようで、今後積極的に採用するのは難しそうかもしれないと感じました&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;代替ツールとして、&lt;a href=&quot;https://docs.compose-x.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ECS Compose-X&lt;/a&gt; というものを開発している方もいるようでした。&lt;/p&gt;
&lt;h2 id=&quot;aws-copilot-cli&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-copilot-cli&quot; aria-label=&quot;aws copilot cli permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS Copilot CLI&lt;/h2&gt;
&lt;p&gt;公式サイト: &lt;a href=&quot;https://aws.github.io/copilot-cli/ja/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://aws.github.io/copilot-cli/ja/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;続けて、AWS Copilot CLI についてです。
(Copilot と言うと GitHub Copilot を想像する方が多いと思うので、略さずに AWS Copilot CLI と書くことにします。)&lt;/p&gt;
&lt;h3 id=&quot;概要-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81-1&quot; aria-label=&quot;概要 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h3&gt;
&lt;p&gt;AWS Copilot CLI も Docker Compose ECS Integration と同じく 2020 年 11 月に GA されたツールで、こちらは AWS 公式が提供しています。&lt;/p&gt;
&lt;p&gt;設定ファイルは AWS Copilot CLI 独自の書き方となります。&lt;/p&gt;
&lt;h3 id=&quot;良かった点-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%89%AF%E3%81%8B%E3%81%A3%E3%81%9F%E7%82%B9-1&quot; aria-label=&quot;良かった点 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;良かった点&lt;/h3&gt;
&lt;p&gt;GA よりも半年ほど前、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/aws-copilot-v0-1-0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;最初に公開された時点で少しさわってみたとき&lt;/a&gt; は、簡単にデプロイできるものの、不足している機能がかなり多いという印象でした。
しかし、2022 年時点では、&lt;strong&gt;ECS on Fargate のデプロイツールとして、かなりおすすめできる&lt;/strong&gt;ものになっていました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;最小限の設定で ECS on Fargate の環境を CI/CD 含め構築することができ、環境変数やオートスケーリングなど、よくある各種設定が簡単に可能です&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;2022 年 12 月現在、&lt;strong&gt;Infrastructure as Code や CI/CD が整った、ある程度しっかりした ECS on Fargate の環境を構築したい場合、AWS Copilot CLI を使うのが一番簡単だと思います&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;少し調べてみた範囲でも、最近は導入事例もかなり多いようでした。&lt;/p&gt;
&lt;h3 id=&quot;弱点-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BC%B1%E7%82%B9-1&quot; aria-label=&quot;弱点 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;弱点&lt;/h3&gt;
&lt;p&gt;AWS Copilot CLI の弱点だと思ったのは、学習コストが高めなことです。
しっかり理解して使おうとすると、&lt;strong&gt;ECS の基礎知識に加えて、AWS Copilot CLI 特有の概念もキャッチアップする必要があります&lt;/strong&gt;。
(少しクセがあるなと感じました)&lt;/p&gt;
&lt;p&gt;AWS Copilot CLI は ECS などを「抽象的に扱えるツール」のように言われることがありますが、自分がさわった感想としては「&lt;strong&gt;ECS を抽象的に扱えるツールというよりも、ECS の設定をおおよそ理解したうえで、少ない記述量で使えるツール&lt;/strong&gt;」という印象でした。&lt;/p&gt;
&lt;p&gt;そして、こういったツールにはよくあることですが、&lt;strong&gt;一部の設定は細かく調整できなかったりします&lt;/strong&gt;。
自分の場合だと、ALB の設定の細かい調整が難しかったという理由で、今回は採用を見送ることになりました。&lt;/p&gt;
&lt;h2 id=&quot;ecspresso&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ecspresso&quot; aria-label=&quot;ecspresso permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ecspresso&lt;/h2&gt;
&lt;p&gt;公式リポジトリ: &lt;a href=&quot;https://github.com/kayac/ecspresso&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/kayac/ecspresso&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;概要-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81-2&quot; aria-label=&quot;概要 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h3&gt;
&lt;p&gt;ecspresso は、面白法人カヤックさんが提供している、ECS のデプロイツールです。&lt;/p&gt;
&lt;p&gt;ECS の薄いラッパーのようなツールとなっています。&lt;/p&gt;
&lt;h3 id=&quot;良かった点-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%89%AF%E3%81%8B%E3%81%A3%E3%81%9F%E7%82%B9-2&quot; aria-label=&quot;良かった点 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;良かった点&lt;/h3&gt;
&lt;p&gt;ecspresso をさわってみた感想としては、&lt;strong&gt;学習コストが低く、とにかく使いやすかったです&lt;/strong&gt;。
デプロイだけでなく、&lt;strong&gt;ログの表示や ECS Exec などもサポートされており、aws cli では不便な点を解決してくれている素晴らしいツールだと思いました&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;タスク定義やサービスの設定は、&lt;strong&gt;むやみに抽象化されていないため自由度が高く、様々な場面で使えると思います&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;そして、&lt;strong&gt;Terraform と組み合わせて使うことが想定されており、設定ファイルから tfstate を参照することができ、とても便利です&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;開発も積極的に行われていて、最近 v2 がリリースされています。&lt;/p&gt;
&lt;h3 id=&quot;弱点-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BC%B1%E7%82%B9-2&quot; aria-label=&quot;弱点 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;弱点&lt;/h3&gt;
&lt;p&gt;ecspress は、ECS のサービス・タスク定義の管理に特化したツールであり、VPC・ALB・IAM Role など、&lt;strong&gt;タスク定義やサービスから紐付ける先のリソースは、別途作成する必要があります&lt;/strong&gt;。
そのあたりを Infrastructure as Code したいのであれば、&lt;strong&gt;Terraform などと組み合わせて使うことになります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;なので、&lt;strong&gt;何もない状態から Infrastructure as Code や CI/CD がある程度整った環境を作ろうとすると、実装コストはある程度かかります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;そして、&lt;strong&gt;ecspresso 自体が実質的に 1 名で開発されているので、場合によっては不安を感じるかもしれません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;(と言いつつ、今回は ecspresso を使わせていただくことにしました！)&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;その他、ECS on Fargate のデプロイツールとして、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ecs-deploy&lt;/li&gt;
&lt;li&gt;CDK&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つは、状況によっては良さそうだと思いました。&lt;/p&gt;
&lt;p&gt;ecs-deploy は、簡易的なツールで十分な場面であれば、良い選択肢になりそうです。
ですが、Infrastructure as Code したいとなったりすると、Terraform などでたくさんコードを書くことになりそうです。&lt;/p&gt;
&lt;p&gt;CDK は、ある程度の AWS の知識が前提になりそうなので、今回私の状況には適さない気がしてあまり深く調べませんでした。
ただ、AWS の知識がある程度あるメンバーが使う前提なら、かなり良さそうな気もしています。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;以上、ECS on Fargate のデプロイツールを調べて得られた知見を書いてきました。&lt;/p&gt;
&lt;p&gt;まとめると、以下のようになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker Compose ECS Integration … 開発状況を踏まえると、採用は難しそう&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS Copilot CLI … ある程度整った環境を一番サクッと作れる。少しクセがある&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ecspresso … とにかく使いやすい。周辺リソースを作る手間はかかる&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CDK に感じた良さそうな雰囲気も、実際どうなのか遠くないうちにさわってみたいと思います。&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&quot;fn-1&quot;&gt;
&lt;p&gt;設定内容によっては、-d オプションをつけないとエラーになります (&lt;a href=&quot;https://github.com/docker/compose-cli/issues/2086&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/docker/compose-cli/issues/2086&lt;/a&gt;)&lt;/p&gt;
&lt;a href=&quot;#fnref-1&quot; class=&quot;footnote-backref&quot;&gt;↩&lt;/a&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-2&quot;&gt;
&lt;p&gt;CloudFormation のテンプレートを調整する機能を使っても、容易には実現できませんでした&lt;/p&gt;
&lt;a href=&quot;#fnref-2&quot; class=&quot;footnote-backref&quot;&gt;↩&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title><![CDATA[Udemy で「AWS Lambda / Serverless Framework 速習ハンズオン」をリリースしました]]></title><description><![CDATA[先日、Udemy で「AWS Lambda / Serverless Framework 速習ハンズオン」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-aws-lambda-serverless-framework</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-aws-lambda-serverless-framework</guid><pubDate>Fri, 16 Dec 2022 01:45:25 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy で「AWS Lambda / Serverless Framework 速習ハンズオン」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら﻿&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;AWS Lambda は、「サーバレス」なアプリケーション実行環境として最も有名と言えるサービスであり、近年では多くのプロジェクトで採用されるようになっています。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;そんな AWS Lambda で実践的な開発をするためには、&lt;strong&gt;「Serverless Framework」などのフレームワークを使うことも多く、実務でその知識が必要になることも多々あります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;しかし、プログラミングの学習課程や研修などで、AWS Lambda や Serverless Framework まで学ぶケースは多くはありません。 &lt;/p&gt;
&lt;p&gt;そして、特に AWS の知識・経験が少ない方からは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;そもそも Lambda は普通のアプリケーション実行環境と何が違うのか分からない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;「サーバレス」という単語が何を指しているのかよく分からない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;serverless.yml という設定ファイルが何なのか分からない&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった疑問を耳にすることが多いです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、上記のような疑問を持っている方を主な対象者として、&lt;strong&gt;AWS Lambda について、サービスの概要や他の環境との違いといった基本に始まり、Serverless Framework による実践的な開発まで速習します&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;学習の過程では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Systems Manager Parameter Store&lt;/li&gt;
&lt;li&gt;IAM&lt;/li&gt;
&lt;li&gt;API Gateway&lt;/li&gt;
&lt;li&gt;DynamoDB&lt;/li&gt;
&lt;li&gt;CloudFormation&lt;/li&gt;
&lt;li&gt;S3&lt;/li&gt;
&lt;li&gt;AWS SDK&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった、&lt;strong&gt;Lambda と組み合わせてよく使う AWS のサービスについても学びます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;キーワード&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AWS Lambda&lt;/li&gt;
&lt;li&gt;Serverless Framework&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;AWS Lambda の基本を、コードを書きながら学びたいという方&lt;/li&gt;
&lt;li&gt;「サーバレス」という単語の意味を、手を動かしてしっかり理解したい方&lt;/li&gt;
&lt;li&gt;仕事で AWS Lambda や Serverless Framework を使うことになり、これらの基本を学びたいという方&lt;/li&gt;
&lt;li&gt;AWS Lambda をなんとなくさわったことがあるが、改めて学び直したり、もっと実践的な使い方を学びたいという方&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;serverless-framework-を使った実践的な開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#serverless-framework-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E9%96%8B%E7%99%BA&quot; aria-label=&quot;serverless framework を使った実践的な開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Serverless Framework を使った実践的な開発&lt;/h3&gt;
&lt;p&gt;AWS Lambda の入門の情報の多くは、フレームワークを使わずに Lambda 関数を実装していることが多いです。&lt;/p&gt;
&lt;p&gt;実務では Serverless Framework などを使うことが多いので、このコースでは Serverless Framework を使った開発をハンズオンで学んでいただきます。&lt;/p&gt;
&lt;h3 id=&quot;関連して登場する-aws-の知識も解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E3%81%97%E3%81%A6%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B-aws-%E3%81%AE%E7%9F%A5%E8%AD%98%E3%82%82%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;関連して登場する aws の知識も解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連して登場する AWS の知識も解説&lt;/h3&gt;
&lt;p&gt;AWS Lambda は、他の AWS のサービスと組み合わせて使うことがほとんどです。&lt;/p&gt;
&lt;p&gt;Lambda と一緒によく使う AWS のサービスを、なぜ使うのかという理由から、実際の設定まで解説しています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Lambda や Serverless Framework には、「実務で急に関わることになり、何がなんだか分からない」という声を聞くことも多いです。&lt;/p&gt;
&lt;p&gt;この講座がそういった方のお役に立てば嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 11 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 11 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202211</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202211</guid><pubDate>Thu, 01 Dec 2022 06:00:46 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 11 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;事業分析・データ設計のためのモデル作成技術入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E6%A5%AD%E5%88%86%E6%9E%90%E3%83%BB%E3%83%87%E3%83%BC%E3%82%BF%E8%A8%AD%E8%A8%88%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%E4%BD%9C%E6%88%90%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80&quot; aria-label=&quot;事業分析・データ設計のためのモデル作成技術入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3VoufRE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;事業分析・データ設計のためのモデル作成技術入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B6MTN4JX?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fc63579596a40e3e8e69ff36cdf6ac3a&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B6MTN4JX&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B6MTN4JX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;データモデリングの解説書です。&lt;/p&gt;
&lt;p&gt;3 章までは数学的・哲学的で難しかったですが、4 章以降は著者が過去に出している「T 字型 ER」についての書籍と比べて、かなり読みやすかったです。&lt;/p&gt;
&lt;p&gt;「エンジニアの主観を一切排除してモデルを作ることができ、そうするべきである」というのは、自分の今までの考え方とは違っており、とても参考になりました。&lt;/p&gt;
&lt;p&gt;具体的な手法についても、今後のデータ設計に生きると感じています。&lt;/p&gt;
&lt;p&gt;難易度は高めなので、データ設計の入門書を色々読んだ後あたりでおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;ノンデザイナーズ・デザインブック［第4版］&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8E%E3%83%B3%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%82%BA%E3%83%BB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%96%E3%83%83%E3%82%AF%EF%BC%BB%E7%AC%AC4%E7%89%88%EF%BC%BD&quot; aria-label=&quot;ノンデザイナーズ・デザインブック［第4版］ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3UuThxu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ノンデザイナーズ・デザインブック［第4版］&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01LW1BC2L?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=690b3708d2bf435e16cb9d2af3492458&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01LW1BC2L&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01LW1BC2L&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;デザインについて学びたいと思い、こちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;紹介されている考え方はとてもシンプルであり、具体例も豊富で、今後デザインに関わる場面で活かしやすいと感じました。&lt;/p&gt;
&lt;p&gt;タイトル通り、デザインについて悩んでいるノンデザイナーにとてもおすすめできる一冊です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;仕事と私用で忙しかったこともあり、今月も読書量はかなり少なくなりました。&lt;/p&gt;
&lt;p&gt;年内は引き続き忙しそうですが、来年以降たくさん読書する習慣を復活させていきたいと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 10 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 10 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202210</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202210</guid><pubDate>Tue, 01 Nov 2022 03:15:43 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 10 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ネットワーク&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF&quot; aria-label=&quot;ネットワーク permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ネットワーク&lt;/h2&gt;
&lt;h3 id=&quot;linuxで動かしながら学ぶtcpipネットワーク入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6tcpip%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%85%A5%E9%96%80&quot; aria-label=&quot;linuxで動かしながら学ぶtcpipネットワーク入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3FwkOdS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxで動かしながら学ぶTCP/IPネットワーク入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B085BG8CH5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=284e2c4f5776e3c6502408a2e4540079&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B085BG8CH5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B085BG8CH5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、Linux で手を動かしながら TCP/IP の基礎を学ぶ書籍です。&lt;/p&gt;
&lt;p&gt;解説されているネットワークの知識自体は基礎的なものですが、Network Namespace を使ってハンズオンする例は初めて見たので、なかなか面白かったです。&lt;/p&gt;
&lt;p&gt;Kindle Unlimited で無料で読めたので、Kindle Unlimited に入っている方は手にとってみても良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;webdb-press-vol131&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webdb-press-vol131&quot; aria-label=&quot;webdb press vol131 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3fjqkGf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB+DB PRESS Vol.131&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BHDHH431?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4b4b69cd94dbd0a355d2e52a6c116305&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BHDHH431&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BHDHH431&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;software-design-ソフトウェアデザイン-2022年08月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2022%E5%B9%B408%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2022年08月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Wk5jvr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2022年08月号&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B5T9DP4P?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=23169aa4be2df5bfb3322ea9d24f0550&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B5T9DP4P&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B5T9DP4P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近積読しがちだった、WEB+DB PRESS と Software Design を読みました。&lt;/p&gt;
&lt;p&gt;さくっと読みやすいので、最近読書量が少ないと感じたときに、読書の習慣を取り戻すにもちょうど良いです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 3 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は Udemy 講座の作成に力を入れていたため、読書量はかなり少なくなりました。&lt;/p&gt;
&lt;p&gt;今年も残り 2 ヶ月ほどですが、とくに&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://www.sigbus.info/compilerbook&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;低レイヤを知りたい人のためのCコンパイラ作成入門&lt;/a&gt;』の Rust での実装&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3NkPSPL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;12ステップで作る組込みOS自作入門&lt;/a&gt;』の実装&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を中心に取り組みたいと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」をリリースしました]]></title><description><![CDATA[先日、Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」というコースをリリースしました。
どんなコースなのか、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-learning-application-architecture-with-reversi</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-learning-application-architecture-with-reversi</guid><pubDate>Fri, 21 Oct 2022 04:47:22 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら﻿&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;プログラミングの基礎を学び、アプリケーション開発に実践的に関わり始めると、&lt;strong&gt;「MVC」「3 層アーキテクチャ」「サービス (Service) クラス」「ドメインモデル」「クリーンアーキテクチャ」&lt;/strong&gt;といった、なかなか理解できない単語に遭遇します。&lt;/p&gt;
&lt;p&gt;とくに、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「Controller にビジネスロジックを書くな」と言われて困っている&lt;/li&gt;
&lt;li&gt;「サービス (Service) クラス」には何を書けばいいのか分からない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方は少なくないと思います。&lt;/p&gt;
&lt;p&gt;これはいわゆる「アプリケーションアーキテクチャ」という分野の話で、アプリケーション開発に関わり始めると、誰もが突き当たる壁の一つです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、上記のような疑問を解消すべく、多くの方がふれたことのある「リバーシ」を題材として、TypeScript で実際にコードを書きながら、アプリケーション設計の基本を学びます。&lt;/p&gt;
&lt;p&gt;キーワード: &lt;strong&gt;MVC、3 層アーキテクチャ、ビジネスロジック、サービス (Service) クラス、トランザクションスクリプト、ドメインモデル、レイヤードアーキテクチャ、クリーンアーキテクチャ&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;実務に入って&lt;strong&gt;「ビジネスロジック」や「サービス (Service) クラス」&lt;/strong&gt;といった単語に遭遇し、何を指しているのか分からず困っている方&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;アプリケーションのどこにどんなコードを書くのか&lt;/strong&gt;、例を学びたい方&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 ファイルに大量のコードが書かれている&lt;/strong&gt;のを見て、そのようなコードを改善する方針を学びたいと感じている方&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;「ドメイン駆動設計」や「クリーンアーキテクチャ」&lt;/strong&gt;を学ぼうとしたが、なかなか理解が進まず困っている方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;得意なプログラミング言語で、ある程度すらすらコードを書ける (「リバーシを作ってください」と言われて、自分なりに実装できるくらい) から、ステップアップしたい方におすすめの講座です。&lt;/p&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;アプリケーション設計に大きく関わる、仕様の整理から始める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E8%A8%88%E3%81%AB%E5%A4%A7%E3%81%8D%E3%81%8F%E9%96%A2%E3%82%8F%E3%82%8B%E3%80%81%E4%BB%95%E6%A7%98%E3%81%AE%E6%95%B4%E7%90%86%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B&quot; aria-label=&quot;アプリケーション設計に大きく関わる、仕様の整理から始める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アプリケーション設計に大きく関わる、仕様の整理から始める&lt;/h3&gt;
&lt;p&gt;実はアプリケーションの設計には、仕様の整理の段階が大きく関わります。&lt;/p&gt;
&lt;p&gt;また、アプリケーションをうまく作れないというとき、設計や実装の問題ではなく、仕様をうまく整理できていないことが原因のことも多いです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、リバーシのアプリケーションの仕様を整理する段階から一緒に体験していきます。&lt;/p&gt;
&lt;h3 id=&quot;1-ファイルに全てのコードがある状態から、徐々に改善&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E5%85%A8%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%81%82%E3%82%8B%E7%8A%B6%E6%85%8B%E3%81%8B%E3%82%89%E3%80%81%E5%BE%90%E3%80%85%E3%81%AB%E6%94%B9%E5%96%84&quot; aria-label=&quot;1 ファイルに全てのコードがある状態から、徐々に改善 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 ファイルに全てのコードがある状態から、徐々に改善&lt;/h3&gt;
&lt;p&gt;実装する段階では、まずはあまり何も考えず、1 ファイルにコードを書いていきます。&lt;/p&gt;
&lt;p&gt;複雑になったコードに&lt;strong&gt;様々な手法を適用して少しずつ改善していく&lt;/strong&gt;ことで、設計手法の効果を味わいます。&lt;/p&gt;
&lt;p&gt;本で読んだりするだけではメリットが分かりにくい設計手法も、実際に動くコードを見ることでしっかり理解できます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;自分自身なかなか学習するのが難しかった分野なので、過去の自分が受けたかったコースになるように作りました。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 9 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 9 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202209</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202209</guid><pubDate>Sat, 01 Oct 2022 01:15:21 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 9 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4&quot; aria-label=&quot;低レイヤ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;低レイヤ&lt;/h2&gt;
&lt;h3 id=&quot;ディジタル回路設計とコンピュータアーキテクチャ-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF%E8%A8%AD%E8%A8%88%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;ディジタル回路設計とコンピュータアーキテクチャ 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3SISet6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ディジタル回路設計とコンピュータアーキテクチャ 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;私はどのようにしてlinuxカーネルを学んだか-device-tree編&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A7%81%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%A6linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%82%92%E5%AD%A6%E3%82%93%E3%81%A0%E3%81%8B-device-tree%E7%B7%A8&quot; aria-label=&quot;私はどのようにしてlinuxカーネルを学んだか device tree編 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3UL7E1M&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;私はどのようにしてLinuxカーネルを学んだか　Device Tree編&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B074H9C84X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=477542820a167631f7a88289dc0d6e87&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B074H9C84X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B074H9C84X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08P2ST2DG?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5438047d75acb22c3c807286fb5cbe80&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08P2ST2DG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08P2ST2DG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;低レイヤの学習の続きとして、2 冊読みました。&lt;/p&gt;
&lt;p&gt;『ディジタル回路設計とコンピュータアーキテクチャ』はしばらく積読していたのですが、不足していた知識を補ったり、自分がよく理解していない分野を明確にすることができ、とても勉強になりました。&lt;/p&gt;
&lt;p&gt;『私はどのようにしてLinuxカーネルを学んだか　Device Tree編』は、興味があったデバイスドライバについて、入門的な知識を分かりやすく学ぶことができました。&lt;/p&gt;
&lt;p&gt;2 冊とも、これらの分野に興味がある方にはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;webdb-press-vol130&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webdb-press-vol130&quot; aria-label=&quot;webdb press vol130 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Cn6YIH&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB+DB PRESS Vol.130&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B8MY1BWR?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e0954bb9ec00f1d1e501a51c5abfa8af&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B8MY1BWR&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B8MY1BWR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;WEB+DB PRESS を読みました。&lt;/p&gt;
&lt;p&gt;特にデータモデリングについてが、話題になっていた通りよかったです。&lt;/p&gt;
&lt;p&gt;また、OPA (Open Policy Agent) について、概要しか知らなかったので基礎知識を得られて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;デザイン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3&quot; aria-label=&quot;デザイン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デザイン&lt;/h2&gt;
&lt;h3 id=&quot;なるほどデザイン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%82%8B%E3%81%BB%E3%81%A9%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3&quot; aria-label=&quot;なるほどデザイン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3BVZ3Rn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なるほどデザイン&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;いちばんよくわかるwebデザインの基本きちんと入門［第2版］&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8Bweb%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8D%E3%81%A1%E3%82%93%E3%81%A8%E5%85%A5%E9%96%80%EF%BC%BB%E7%AC%AC2%E7%89%88%EF%BC%BD&quot; aria-label=&quot;いちばんよくわかるwebデザインの基本きちんと入門［第2版］ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rij93o&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;いちばんよくわかるWebデザインの基本きちんと入門［第2版］&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B012VJNW6Q?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=982ca5fd54eefd84132a1bfe5ca60e5e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B012VJNW6Q&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B012VJNW6Q&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B098B158X4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f4c8b928f48116f6e1f2d894c32538ba&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B098B158X4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B098B158X4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仕事で UI デザインをする機会があったので、デザイン関係の書籍をいくつか読んでみました。&lt;/p&gt;
&lt;p&gt;参考になった点は色々ありつつも、UI デザインについては、自分は書籍で知識をつけたりするよりも、練習してみるのが良い段階だなと感じました。&lt;/p&gt;
&lt;h2 id=&quot;kindle-unlimited&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kindle-unlimited&quot; aria-label=&quot;kindle unlimited permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Kindle Unlimited&lt;/h2&gt;
&lt;h3 id=&quot;インフラエンジニア入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%85%A5%E9%96%80&quot; aria-label=&quot;インフラエンジニア入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3RsjKtN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インフラエンジニア入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;midjourneyの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#midjourney%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;midjourneyの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Cn2phC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;midjourneyの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B088TQW3TJ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1e411e534127fec373fb18b0b6487eb2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B088TQW3TJ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B088TQW3TJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0BC934NB3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a159850aad3e180468d063e72e8ab75f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0BC934NB3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0BC934NB3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;少し時間があったときに、Kindle Unlimited で 2 冊ほどちょっとした本を読みました。&lt;/p&gt;
&lt;p&gt;こういった本はちょっとした時間にちょっとしたことを知るにはちょうど良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;rust&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rust&quot; aria-label=&quot;rust permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Rust&lt;/h2&gt;
&lt;h3 id=&quot;手を動かして考えればよくわかる-高効率言語-rust-書きかた・作りかた&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E8%80%83%E3%81%88%E3%82%8C%E3%81%B0%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B-%E9%AB%98%E5%8A%B9%E7%8E%87%E8%A8%80%E8%AA%9E-rust-%E6%9B%B8%E3%81%8D%E3%81%8B%E3%81%9F%E3%83%BB%E4%BD%9C%E3%82%8A%E3%81%8B%E3%81%9F&quot; aria-label=&quot;手を動かして考えればよくわかる 高効率言語 rust 書きかた・作りかた permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3SN6eCg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;the-rust-programming-language-日本語版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-rust-programming-language-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88&quot; aria-label=&quot;the rust programming language 日本語版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://doc.rust-jp.rs/book-ja/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The Rust Programming Language 日本語版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09WQT2DQD?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8d20854b2c34d561c231adbac7d31a3a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09WQT2DQD&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09WQT2DQD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;今月は、ずっと入門したいと思っていた Rust についに入門しました。&lt;/p&gt;
&lt;p&gt;『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』は、タイトル通り、ちょっとしたコードを書きながら Rust を学んでいく本でした。&lt;/p&gt;
&lt;p&gt;『The Rust Programming Language』はほぼ公式の入門用オンラインブックですが、非常に読みやすく、所有権・ライフタイムなどを含む Rust のポイントをしっかり学べるものでした。&lt;/p&gt;
&lt;p&gt;もし Rust の入門に何がおすすめかと聞かれたら、『The Rust Programming Language』をおすすめします。&lt;/p&gt;
&lt;h2 id=&quot;設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計&lt;/h2&gt;
&lt;h3 id=&quot;現場で役立つシステム設計の原則&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E5%8E%9F%E5%89%87&quot; aria-label=&quot;現場で役立つシステム設計の原則 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3E5XGSG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;現場で役立つシステム設計の原則&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B073GSDBGT?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=07c70ab9c6e26d021212631cdff11496&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B073GSDBGT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B073GSDBGT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『現場で役立つシステム設計の原則』を読みました。&lt;/p&gt;
&lt;p&gt;5 年前の発売当初にも読んでいたのですが、改めて読むとやはり名著でした。&lt;/p&gt;
&lt;p&gt;この本の内容はかなり DDD (ドメイン駆動設計) に通じるものですが、解説する中で DDD という単語を出さないのが個人的にすごく良い構成だと思いました。
(DDD という単語を使うと、それだけで様々な誤解が生まれることが多いので)&lt;/p&gt;
&lt;p&gt;アプリケーション設計の入門第一歩におすすめの本を聞かれたら、まずこの本を答えます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 10 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;デジタル回路やデバイスドライバなどの低レイヤの知識をつけつつ、Rust に入門できたのが良かったです。&lt;/p&gt;
&lt;p&gt;今は Rust で『&lt;a href=&quot;https://www.sigbus.info/compilerbook#&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;低レイヤを知りたい人のためのCコンパイラ作成入門&lt;/a&gt;』に挑戦中なので、来月は C コンパイラをある程度完成させたいです。&lt;/p&gt;
&lt;p&gt;また、組み込み OS も (こちらは C 言語で) 実装したいと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「Python と JavaScript による機械学習アプリケーション公開入門【ONNX・Render】」をリリースしました]]></title><description><![CDATA[先日、Udemy 講座第 3 段として、「Python と JavaScript による機械学習アプリケーション公開入門【ONNX・Render】」というコースをリリースしました。
どんなコースなのか、どういった考えで作ったのかを、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-mnist-app</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-mnist-app</guid><pubDate>Tue, 06 Sep 2022 12:14:59 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy 講座第 3 段として、「Python と JavaScript による機械学習アプリケーション公開入門【ONNX・Render】」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、どういった考えで作ったのかを、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら﻿&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;「Python と JavaScript による機械学習アプリケーション公開入門【ONNX・Render】」は、機械学習に関わるデータサイエンティスト・PM・PdM といった方にむけた、機械学習を使ったアプリケーションを公開する方法を学ぶコースです。&lt;/p&gt;
&lt;p&gt;キーワードは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Git/GitHub、Python、JavaScript、FastAPI、scikit-learn、MNIST、ONNX、Render&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで、MNIST で学習したモデルを使った “手書き数字推論 Web アプリケーション” を実装してインターネットに公開してみる内容になっています。&lt;/p&gt;
&lt;h2 id=&quot;なぜこのコースを作ったのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%9C%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B&quot; aria-label=&quot;なぜこのコースを作ったのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;なぜこのコースを作ったのか&lt;/h2&gt;
&lt;p&gt;近年、機械学習に入門するための情報源は非常に多くなっており、機械学習モデルの作成には気軽に取り組めるようになっています。&lt;/p&gt;
&lt;p&gt;個人でも、ちょっとしたモデルを作ってみて手元で推論してみたことがある方は少なくないと思います。&lt;/p&gt;
&lt;p&gt;しかし、個人が作ってみたモデルを、実際に推論を試せるアプリケーションとして「公開」している方は少ないです。&lt;/p&gt;
&lt;p&gt;また、企業においても、データサイエンティストが R&amp;#x26;D 的に作成したモデルを実際のアプリケーションに組み込む段階で苦戦している例は多いです。&lt;/p&gt;
&lt;p&gt;こういった背景を踏まえて、機械学習モデルを実際に Web アプリケーションに組み込んで「公開する」ことをテーマとした講座を作成しました。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;p&gt;このような背景から、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自分が作ったモデルを使い、簡単なアプリケーションを実装して公開してみたいデータサイエンティストの方&lt;/li&gt;
&lt;li&gt;機械学習については知識があるが、アプリケーション開発についても学びたいと思っている PM・PdM といったポジションの方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方を主な対象者として想定しています。&lt;/p&gt;
&lt;p&gt;一方で、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習をアプリケーションに組み込む方法を学びたいアプリケーションエンジニアの方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;にとっても面白い内容を含むコースになっていると思います。&lt;/p&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;python-だけでなく、javascript-も使用する実践的な構成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python-%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AA%E3%81%8F%E3%80%81javascript-%E3%82%82%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E6%A7%8B%E6%88%90&quot; aria-label=&quot;python だけでなく、javascript も使用する実践的な構成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python だけでなく、JavaScript も使用する実践的な構成&lt;/h3&gt;
&lt;p&gt;機械学習に主に関わるデータサイエンティストなどのポジションの方に対してアプリケーションの作り方を説明する場合、Python だけを使う例が多いです。&lt;/p&gt;
&lt;p&gt;しかし、Web アプリケーションの実践的な構成としては、JavaScript も使われることが多いです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、Python と JavaScript を連携させて使う実践的な構成で Web アプリケーションを実装することにしました。&lt;/p&gt;
&lt;h3 id=&quot;onnx-runtime-web-を使い、静的サイトとしてアプリケーションを公開する方法も紹介&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#onnx-runtime-web-%E3%82%92%E4%BD%BF%E3%81%84%E3%80%81%E9%9D%99%E7%9A%84%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%85%AC%E9%96%8B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%82%E7%B4%B9%E4%BB%8B&quot; aria-label=&quot;onnx runtime web を使い、静的サイトとしてアプリケーションを公開する方法も紹介 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ONNX Runtime Web を使い、静的サイトとしてアプリケーションを公開する方法も紹介&lt;/h3&gt;
&lt;p&gt;機械学習を使ったアプリケーションの実装例の多くは、Python を使っていわゆる「サーバサイド」で推論するものが多いです。&lt;/p&gt;
&lt;p&gt;一方で、「静的サイト」の方式でアプリケーションを実現することで得られるメリットも大きいです。&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、Python を活用した方式と、Python を使わない静的サイトの方式の、2 つの方法でアプリケーションを公開する流れを解説しています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;このコースの紹介は以上になります。&lt;/p&gt;
&lt;p&gt;多くの方に楽しんでいただけるコースだと思いますが、特に「自分が作ったモデルを公開してみたい」と考えているデータサイエンティストの方に手にとっていただけるといいなと思っています。&lt;/p&gt;
&lt;p&gt;少しでも多くの方に手にとっていただけると嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 8 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 8 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202208</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202208</guid><pubDate>Thu, 01 Sep 2022 23:55:08 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 8 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;cpu・デジタル回路&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu%E3%83%BB%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF&quot; aria-label=&quot;cpu・デジタル回路 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU・デジタル回路&lt;/h2&gt;
&lt;h3 id=&quot;作ろう！cpu-基礎から理解するコンピューターのしくみ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%9C%E3%82%8D%E3%81%86%EF%BC%81cpu-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF&quot; aria-label=&quot;作ろう！cpu 基礎から理解するコンピューターのしくみ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3q2rkjB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;作ろう！CPU: 基礎から理解するコンピューターのしくみ&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;ゼロから学ぶディジタル論理回路&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E8%AB%96%E7%90%86%E5%9B%9E%E8%B7%AF&quot; aria-label=&quot;ゼロから学ぶディジタル論理回路 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3TAPQWD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから学ぶディジタル論理回路&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08GP3PPCX?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=eebc10d41205a8bf8f6345023289f0a3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08GP3PPCX&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08GP3PPCX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00F5TZHY0?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=10abd92a6ac6076be491a7a7244882f9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00F5TZHY0&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00F5TZHY0&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU やデジタル回路の復習として、2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;『作ろう！CPU』はグラフ理論に注目して書かれており、回路を見たことない記法で解説していたりして、とても面白かったです。&lt;/p&gt;
&lt;p&gt;FPGA を使った実装まではしなかったので、どこかのタイミングで時間をとって挑戦したいです。&lt;/p&gt;
&lt;h2 id=&quot;デバイスドライバ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90&quot; aria-label=&quot;デバイスドライバ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デバイスドライバ&lt;/h2&gt;
&lt;h3 id=&quot;linuxデバイスドライバ開発入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80&quot; aria-label=&quot;linuxデバイスドライバ開発入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Q5pgSp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxデバイスドライバ開発入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;シリアル通信の世界【仕組みを図解解説】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E9%80%9A%E4%BF%A1%E3%81%AE%E4%B8%96%E7%95%8C%E3%80%90%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%92%E5%9B%B3%E8%A7%A3%E8%A7%A3%E8%AA%AC%E3%80%91&quot; aria-label=&quot;シリアル通信の世界【仕組みを図解解説】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Q8WHUq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シリアル通信の世界【仕組みを図解解説】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C2C9B4P?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=da6bb11d762268d88253e2129deedb41&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C2C9B4P&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09C2C9B4P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C53WNHK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7fae0cb1c94e6cca34dee476b2b7db89&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C53WNHK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09C53WNHK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;デバイスドライバに関しても、2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;どちらも内容はかなりさらっとしていますが、Kindle Unlimited で気軽に読める点は良かったです。&lt;/p&gt;
&lt;h2 id=&quot;linux&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux&quot; aria-label=&quot;linux permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux&lt;/h2&gt;
&lt;h3 id=&quot;スーパーユーザーなら知っておくべきlinuxシステムの仕組み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AA%E3%82%89%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8Dlinux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF&quot; aria-label=&quot;スーパーユーザーなら知っておくべきlinuxシステムの仕組み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wNVtXy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スーパーユーザーなら知っておくべきLinuxシステムの仕組み&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;私はどのようにしてlinuxカーネルを学んだか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A7%81%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%A6linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%82%92%E5%AD%A6%E3%82%93%E3%81%A0%E3%81%8B&quot; aria-label=&quot;私はどのようにしてlinuxカーネルを学んだか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3TzcjDn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;私はどのようにしてLinuxカーネルを学んだか&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09TDYLWM8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=73c93ba0d552c39a1ffc913ecdb52875&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09TDYLWM8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09TDYLWM8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07VJKJY7M?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0a08ebac6e83acf0b5f1b4e895023354&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07VJKJY7M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07VJKJY7M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Linux について知識をつけたかったので、こちらの 2 冊を読みました。&lt;/p&gt;
&lt;p&gt;今月は Linux From Scratch (自作 Linux ディストリビューション) もやってみることができて、Linux の知識を補充できました。&lt;/p&gt;
&lt;p&gt;カーネルのソースコード周りをさらに勉強していきたいです。&lt;/p&gt;
&lt;h2 id=&quot;セキュリティ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&quot; aria-label=&quot;セキュリティ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セキュリティ&lt;/h2&gt;
&lt;h3 id=&quot;ホワイトハッカーの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%8F%E3%83%83%E3%82%AB%E3%83%BC%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;ホワイトハッカーの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3q2WhEb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ホワイトハッカーの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09YCB99MK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b459b8d14bfe1235a2641ba615dd42ff&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09YCB99MK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09YCB99MK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;良い評価をよく耳にしていた『ホワイトハッカーの教科書』を読みました。&lt;/p&gt;
&lt;p&gt;聞いていた評判通りよくまとまっている本で、「ホワイトハッカー」に限らず勉強法を学ぶのに良い本でした。&lt;/p&gt;
&lt;h2 id=&quot;javascript&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#javascript&quot; aria-label=&quot;javascript permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;JavaScript&lt;/h2&gt;
&lt;h3 id=&quot;npmパッケージ作成入門--typescriptでつくるjsライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#npm%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E4%BD%9C%E6%88%90%E5%85%A5%E9%96%80--typescript%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8Bjs%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;npmパッケージ作成入門  typescriptでつくるjsライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://zenn.dev/sprout2000/books/9325fe6c9c1ba9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NPMパッケージ作成入門 ~ TypeScriptでつくるJSライブラリ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Zenn で読むことができる『NPMパッケージ作成入門』を読みました。&lt;/p&gt;
&lt;p&gt;npm パッケージを公開したかったので、こういったまとまっている情報はとてもありがたかったです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 8 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;Linux From Scratch に取り組んだりして、Linux の知識を増やせた点が特に良かったです。&lt;/p&gt;
&lt;p&gt;今は組み込み OS やデバイスドライバなどの低レイヤにかなり興味があるので、来月はそのあたりで手を動かしてみたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Linux Fron Scratch をやってみての感想]]></title><description><![CDATA[ソースコードから Linux ディストリビューションを作り上げる「Linux From Scratch」をやってみたので、感想をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/linux-from-scratch</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/linux-from-scratch</guid><pubDate>Fri, 12 Aug 2022 06:07:42 GMT</pubDate><content:encoded>&lt;p&gt;ソースコードから Linux ディストリビューションを作り上げる「Linux From Scratch」をやってみたので、感想をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;linux-from-scratch-とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux-from-scratch-%E3%81%A8%E3%81%AF&quot; aria-label=&quot;linux from scratch とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux From Scratch とは&lt;/h2&gt;
&lt;p&gt;Linux From Scratch は、各種ソースコードから独自の Linux ディストリビューションを作り上げるプロジェクトで、Linux に興味のある方におすすめされる定番コンテンツの 1 つです。&lt;/p&gt;
&lt;p&gt;公式サイトは以下です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.linuxfromscratch.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.linuxfromscratch.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Linux From Scratch 自体、Linux ディストリビューションの一種のように言われることもあるようです。&lt;/p&gt;
&lt;h2 id=&quot;完成品&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%8C%E6%88%90%E5%93%81&quot; aria-label=&quot;完成品 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;完成品&lt;/h2&gt;
&lt;p&gt;最終的に、以下のように Linux が起動するところまでいけました！（感動）&lt;/p&gt;
&lt;center&gt;
  &lt;video width=&quot;480&quot; height=&quot;412&quot; controls&gt;
    &lt;source src=&quot;/media/linux-from-scratch.mp4&quot; type=&quot;video/mp4&quot;&gt;
  &lt;/video&gt;
&lt;/center&gt;
&lt;h2 id=&quot;なぜやろうと思った？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%9C%E3%82%84%E3%82%8D%E3%81%86%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%EF%BC%9F&quot; aria-label=&quot;なぜやろうと思った？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;なぜやろうと思った？&lt;/h2&gt;
&lt;p&gt;個人的に最近自作 ◯◯ を色々とやっているのですが、このあたりで Linux の知識をもう少し拡充したいと思い、挑戦することにしました。&lt;/p&gt;
&lt;h2 id=&quot;やってみてどうだった？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%A9%E3%81%86%E3%81%A0%E3%81%A3%E3%81%9F%EF%BC%9F&quot; aria-label=&quot;やってみてどうだった？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;やってみてどうだった？&lt;/h2&gt;
&lt;p&gt;やってみた感想としては、まず何より、やってみて良かったです。&lt;/p&gt;
&lt;p&gt;特に、後述する通りブート周りでかなりハマったので、解決しようと試行錯誤する間に GRUB2 のコマンドやカーネルのコンフィグレーションについて知識がつきました。&lt;/p&gt;
&lt;p&gt;また、クロスコンパイル環境の構築や、chroot を活用した環境構築なども、参考になりました。&lt;/p&gt;
&lt;p&gt;そして何より、「Linux ディストリビューションを作ったことがある」と思えるようになったことは、自信に繋がると感じます。&lt;/p&gt;
&lt;h2 id=&quot;ハマった点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8F%E3%83%9E%E3%81%A3%E3%81%9F%E7%82%B9&quot; aria-label=&quot;ハマった点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ハマった点&lt;/h2&gt;
&lt;p&gt;Linux From Scratch の手順はしっかりメンテナンスされているので、基本的にそのまま実行すれば問題ありませんでした。&lt;/p&gt;
&lt;p&gt;ひたすら make して make install していくのが中心で、そのあたりで困ることはなかったです。&lt;/p&gt;
&lt;p&gt;唯一、カーネルのコンフィグレーションに関する知識不足で、最後のブートする段階でかなりハマりました。&lt;/p&gt;
&lt;p&gt;自分は KVM の仮想マシンで実施したのですが、/dev/vdb1 をルートファイルシステムとしてマウントするためには、make menuconfig で VIRT 関係のドライバを有効にする必要があります。&lt;/p&gt;
&lt;p&gt;その際、[m] という設定ではモジュールとしてビルドされ、[y] という設定ではカーネルに組み込まれることになります。&lt;/p&gt;
&lt;p&gt;自分は [m] と設定しても /dev/vdb1 を扱うことができず、何がおかしいのかも分からず困っていました。&lt;/p&gt;
&lt;p&gt;そこを [y] に直すことで、しっかり起動してくれました。&lt;/p&gt;
&lt;p&gt;※ [m] のままでも、モジュールをうまくロードする設定をすればいいのかもしれません&lt;/p&gt;
&lt;h2 id=&quot;どんな人におすすめ？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E4%BA%BA%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%EF%BC%9F&quot; aria-label=&quot;どんな人におすすめ？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな人におすすめ？&lt;/h2&gt;
&lt;p&gt;Linux From Scratch は、Linux についてある程度知識があり、さらに詳しくなりたい方にとてもおすすめです。&lt;/p&gt;
&lt;p&gt;サイトに書かれている通りにコマンドを打てば進めること自体はできるのですが、ある程度前提知識がないと何をやっているのか分からず、あまり勉強にならないと思います。&lt;/p&gt;
&lt;p&gt;そこで例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3zQNAS1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxのしくみ ～実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3JOAtoV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版　Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりの本を読んで、Linux の仕組みの基礎知識をつけてから取り組むと良いと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9daa243e993ee631115234b72a49dbf8&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bcd8bca685cb41ea2703266651d2a633&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC で言うとレベル 2 くらいの内容なので、資格取得の片手間に挑戦してみても良いと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B071JQZ6N5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0fda4d9ea083bc19a52697678ba8bfd2&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B071JQZ6N5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B071JQZ6N5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;個人的に最近は低レイヤの知識をつけたいと、自作 CPU、コンパイラ、OS、Linux ディストリビューションなどなど、自作 ◯◯ に色々と挑戦しています。&lt;/p&gt;
&lt;p&gt;次は組み込み OS かデバイスドライバに挑戦したいと考えています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜」をリリースしました]]></title><description><![CDATA[先日、Udemy 講座第 2 段として、「JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜」というコースをリリースしました。
どんなコースなのか、どういった考えで作ったのかを、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-web-application-development-with-javascript</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-web-application-development-with-javascript</guid><pubDate>Wed, 03 Aug 2022 10:17:34 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy 講座第 2 段として、「JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、どういった考えで作ったのかを、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら﻿&lt;/a&gt; です。&lt;/p&gt;
&lt;h3 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h3&gt;
&lt;p&gt;「JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜」は、Rails などで「なんとなく」Web アプリ開発に入門した段階からステップアップしようとすると壁になる、Web アプリの仕組みと JavaScript の重要知識を学ぶ内容です。&lt;/p&gt;
&lt;p&gt;キーワードは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP、Web API、Ajax、Cookie、CORS&lt;/li&gt;
&lt;li&gt;Node.js、npm、非同期処理、Promise、async/await&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで、これらを実際にコードを書きながら学習していきます。&lt;/p&gt;
&lt;h2 id=&quot;なぜこのコースを作ったのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%9C%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B&quot; aria-label=&quot;なぜこのコースを作ったのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;なぜこのコースを作ったのか&lt;/h2&gt;
&lt;p&gt;ここから、このコースを作った背景について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;web-アプリをなんとなく作れる段階と実務では、技術スキルに大きな壁がある&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%81%AA%E3%82%93%E3%81%A8%E3%81%AA%E3%81%8F%E4%BD%9C%E3%82%8C%E3%82%8B%E6%AE%B5%E9%9A%8E%E3%81%A8%E5%AE%9F%E5%8B%99%E3%81%A7%E3%81%AF%E3%80%81%E6%8A%80%E8%A1%93%E3%82%B9%E3%82%AD%E3%83%AB%E3%81%AB%E5%A4%A7%E3%81%8D%E3%81%AA%E5%A3%81%E3%81%8C%E3%81%82%E3%82%8B&quot; aria-label=&quot;web アプリをなんとなく作れる段階と実務では、技術スキルに大きな壁がある permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web アプリをなんとなく作れる段階と実務では、技術スキルに大きな壁がある&lt;/h3&gt;
&lt;p&gt;2022 年現在、Web アプリの開発に入門するための情報源は豊富で、Ruby on Rails などを使って「なんとなく」Web アプリが実装できるという方はとても増えています。&lt;/p&gt;
&lt;p&gt;しかし、最近よくある構成の (いわゆるモダンな) Web アプリの開発は、入門の知識だけでは難しいです。&lt;/p&gt;
&lt;p&gt;モダンな Web アプリといったときに分かりやすいキーワードは、React や Vue.js といったフロントエンドのフレームワークです。&lt;/p&gt;
&lt;p&gt;「なんとなく」Web アプリが作れる段階から、ステップアップとして React や Vue.js を学習する方は多いですが、私はこの間に大きな壁があると考えています。&lt;/p&gt;
&lt;h3 id=&quot;しかし、その壁を乗り越えるために何を学ぶべきか分からない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E5%A3%81%E3%82%92%E4%B9%97%E3%82%8A%E8%B6%8A%E3%81%88%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%95%E3%82%92%E5%AD%A6%E3%81%B6%E3%81%B9%E3%81%8D%E3%81%8B%E5%88%86%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84&quot; aria-label=&quot;しかし、その壁を乗り越えるために何を学ぶべきか分からない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;しかし、その壁を乗り越えるために何を学ぶべきか分からない&lt;/h3&gt;
&lt;p&gt;Web アプリを「なんとなく」実装できる段階で、React や Vue.js などを使った Web アプリを開発しようとしても、よく分からないことだらけで苦戦する方は少なくありません。&lt;/p&gt;
&lt;p&gt;例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;フロントエンドとサーバサイドのコードの関係性、つまり、何がどう繋がって動いているのかよく分からない&lt;/li&gt;
&lt;li&gt;フロントエンドとサーバサイドの役割の違いや、連携する方法が分からない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方は多いです。&lt;/p&gt;
&lt;p&gt;これは、Web アプリを「なんとなく」実装できる段階と、React や Vue.js などを使った Web アプリの開発の間にある、Web アプリの仕組みと JavaScript の必須知識の不足が原因です。&lt;/p&gt;
&lt;p&gt;この講座は、そういった方に向けて、私が考える必須知識を整理して学べるようにした内容になっています。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;p&gt;このような背景から、対象者としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web アプリをなんとなく作れるようになったが、コードの 1 つ 1 つが何をしているのかよく分からない&lt;/li&gt;
&lt;li&gt;フロントエンドとサーバサイドのコードが、どう繋がって動いているのかよく分からない&lt;/li&gt;
&lt;li&gt;Web アプリを開発していて「非同期処理・(Web) API・Ajax」といった言葉を耳にするが、何のことかよく分からず困っている&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方を想定しています。&lt;/p&gt;
&lt;h2 id=&quot;このコースの特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;このコースの特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このコースの特徴&lt;/h2&gt;
&lt;p&gt;ここから、このコースの特徴を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;web-サーバから-api-を使った-web-アプリケーションまで実装する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%B5%E3%83%BC%E3%83%90%E3%81%8B%E3%82%89-api-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F-web-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%BE%E3%81%A7%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B&quot; aria-label=&quot;web サーバから api を使った web アプリケーションまで実装する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web サーバから API を使った Web アプリケーションまで実装する&lt;/h3&gt;
&lt;p&gt;このコースでは、実際に作ってこそ理解が深まるという方針で、簡易的な Web サーバから実装します。&lt;/p&gt;
&lt;p&gt;Web サーバの実装というと難しそうに聞こえるかもしれませんが、簡易的なものであれば簡単に作れてしまいます。&lt;/p&gt;
&lt;p&gt;アプリケーションサーバやフレームワークといったものも一切使わず、基本的なライブラリだけから Web サーバ・Web アプリを実装することで、Web アプリの仕組みのコアをしっかり理解できるようにしました。&lt;/p&gt;
&lt;h3 id=&quot;cookie-や-cors-などの-web-の重要知識を手を動かして学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cookie-%E3%82%84-cors-%E3%81%AA%E3%81%A9%E3%81%AE-web-%E3%81%AE%E9%87%8D%E8%A6%81%E7%9F%A5%E8%AD%98%E3%82%92%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;cookie や cors などの web の重要知識を手を動かして学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Cookie や CORS などの Web の重要知識を手を動かして学ぶ&lt;/h3&gt;
&lt;p&gt;Cookie や CORS といったトピックを解説している例は非常に多いですが、手を動かせる例はそれほど多くないと思います。&lt;/p&gt;
&lt;p&gt;このコースでは、HTTP の通信をしっかり見ながら、Cookie やセッション、そして CORS といった仕組みを学ぶことができるようにしています。&lt;/p&gt;
&lt;p&gt;実際に手を動かしてみるのは、「なんとなく」を卒業するにはぴったりです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;このコースの紹介は以上になります。&lt;/p&gt;
&lt;p&gt;個人的には、Web アプリの開発に入門した次のステップで是非取り組んでほしい、かなりおすすめの内容になっています。&lt;/p&gt;
&lt;p&gt;テーマの都合上、検索などでたどり着いてくれる方は少ないだろうと思っていますが、少しでも多くの方に手にとっていただけると嬉しいです。&lt;/p&gt;
&lt;p&gt;最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 7 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 7 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202207</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202207</guid><pubDate>Mon, 01 Aug 2022 05:47:12 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 7 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;software-design-ソフトウェアデザイン-2022年07月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2022%E5%B9%B407%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2022年07月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vuKOjT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2022年07月号&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;webdb-press-vol129&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webdb-press-vol129&quot; aria-label=&quot;webdb press vol129 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zOouVi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB+DB PRESS Vol.129&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B38RP31W?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ef39c265af274c721aaffe03b0c20350&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B38RP31W&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B38RP31W&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0B4ND16TN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2e08a9bfa26a9fded1b447040311fba4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0B4ND16TN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0B4ND16TN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;今月分の Software Design と WEB+DB PRESS を読みました。&lt;/p&gt;
&lt;p&gt;最近は毎月積読することなく読めていていいかんじです。&lt;/p&gt;
&lt;h2 id=&quot;os&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os&quot; aria-label=&quot;os permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS&lt;/h2&gt;
&lt;h3 id=&quot;ゼロからのos自作入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEos%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80&quot; aria-label=&quot;ゼロからのos自作入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Q6LN1J&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=22a540accc1dff86aa5541d412f1e73d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 5 月にも読んだ『ゼロからのOS自作入門』を、実装しながら再度一周しました。&lt;/p&gt;
&lt;p&gt;読んだだけでもとても勉強になっていましたが、実装してみると出てくる新たな疑問はたくさんあり、改めてとても勉強になりました。&lt;/p&gt;
&lt;p&gt;感想などは &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4873117127-implementation&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; にまとめています。&lt;/p&gt;
&lt;h2 id=&quot;リンカ・ローダ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%80&quot; aria-label=&quot;リンカ・ローダ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リンカ・ローダ&lt;/h2&gt;
&lt;h3 id=&quot;ライブラリを作ろう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86&quot; aria-label=&quot;ライブラリを作ろう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cZkgkJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ライブラリを作ろう&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;リンカ・ローダ実践開発テクニック実行ファイルを作成するために必須の技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%80%E5%AE%9F%E8%B7%B5%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E9%A0%88%E3%81%AE%E6%8A%80%E8%A1%93&quot; aria-label=&quot;リンカ・ローダ実践開発テクニック実行ファイルを作成するために必須の技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ScEBmy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;binary-hacks-ハッカー秘伝のテクニック100選&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#binary-hacks-%E3%83%8F%E3%83%83%E3%82%AB%E3%83%BC%E7%A7%98%E4%BC%9D%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF100%E9%81%B8&quot; aria-label=&quot;binary hacks ハッカー秘伝のテクニック100選 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3JhZHvQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Binary Hacks ―ハッカー秘伝のテクニック100選&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08NT8WGHL?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f38aea25c466626a00d2a33d237d90f2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08NT8WGHL&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08NT8WGHL&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4789838072?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=17e3bd0c638c1618d498772f6192dac6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873112885?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c469a45e67f1f5fbefe8a9c61e6944a2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873112885&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873112885&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OS 自作を経て、リンカ・ローダについても知識をつけたいと思ったので、何冊か読みました。&lt;/p&gt;
&lt;p&gt;とくに何度か目にしていた『リンカ・ローダ実践開発テクニック』は、今の自分が知識を深めるためにぴったりのとても良い本でした。&lt;/p&gt;
&lt;p&gt;このあたりはさらに知識をつけていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;言語処理系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB&quot; aria-label=&quot;言語処理系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;言語処理系&lt;/h2&gt;
&lt;h3 id=&quot;コンパイラの理論と実現&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E7%8F%BE&quot; aria-label=&quot;コンパイラの理論と実現 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3bnwx1J&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンパイラの理論と実現&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;pythonでインタプリタを作る-コンピュータ言語を設計・実装してインタプリタの動作を理解しよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%82%92%E4%BD%9C%E3%82%8B-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E8%A8%80%E8%AA%9E%E3%82%92%E8%A8%AD%E8%A8%88%E3%83%BB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%81%AE%E5%8B%95%E4%BD%9C%E3%82%92%E7%90%86%E8%A7%A3%E3%81%97%E3%82%88%E3%81%86&quot; aria-label=&quot;pythonでインタプリタを作る コンピュータ言語を設計・実装してインタプリタの動作を理解しよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3OKP2e5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonでインタプリタを作る　コンピュータ言語を設計・実装してインタプリタの動作を理解しよう&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/432002382X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=53695481aa703a1062d2750b9a892e93&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=432002382X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=432002382X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4844379666?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2d24790c24342cbe2170d2cb7d290ef6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4844379666&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4844379666&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;言語処理系の勉強として、2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;とくに『コンパイラの理論と実現』は、たった 179 ページというとても薄い本であるにも関わらず、実践的な内容が分かりやすく解説されており、衝撃でした。&lt;/p&gt;
&lt;p&gt;コンパイラの理論を学びたい人に是非おすすめしたい一冊です。&lt;/p&gt;
&lt;h2 id=&quot;cpu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu&quot; aria-label=&quot;cpu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU&lt;/h2&gt;
&lt;h3 id=&quot;自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%81%A7%E5%AD%A6%E3%81%B6x86%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%8C%E5%8B%95%E3%81%8F%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%92%E5%BE%B9%E5%BA%95%E7%90%86%E8%A7%A3%EF%BC%81&quot; aria-label=&quot;自作エミュレータで学ぶx86アーキテクチャ コンピュータが動く仕組みを徹底理解！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3OQ1oSn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;自作エミュレータで学ぶx86アーキテクチャ　コンピュータが動く仕組みを徹底理解！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0148FQNVC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c6a1c6cb9a9baab2d9c3fc56642ab363&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0148FQNVC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0148FQNVC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU に関して、『自作エミュレータで学ぶx86アーキテクチャ』を読みました。&lt;/p&gt;
&lt;p&gt;CPU エミュレータを作りながら x86 の機械語を学ぶことができ、機械語を学びたい方に良い本だと思いました。&lt;/p&gt;
&lt;p&gt;個人的には BIOS 関連の解説も面白かったです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 9 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は OS 自作を完走できたことと、リンカ・ローダ・コンパイラ・機械語などの低レイヤの知識を拡充できたことが良かったです。&lt;/p&gt;
&lt;p&gt;このあたりは机上の知識だけで手を動かす力はまだ不足を感じるので、今後手を動かすこともしていきたいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[バイナリを扱うための自分用コマンド集]]></title><description><![CDATA[バイナリデータを扱うためのコマンドを身につけていきたいので、自分なりのコマンド集としてまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/command-collection-for-binary-files</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/command-collection-for-binary-files</guid><pubDate>Thu, 14 Jul 2022 06:41:31 GMT</pubDate><content:encoded>&lt;p&gt;バイナリデータを扱うためのコマンドを身につけていきたいので、自分なりのコマンド集としてまとめます。&lt;/p&gt;
&lt;p&gt;今後も更新していく予定です。&lt;/p&gt;
&lt;h2 id=&quot;バイナリ全般&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E5%85%A8%E8%88%AC&quot; aria-label=&quot;バイナリ全般 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;バイナリ全般&lt;/h2&gt;
&lt;h3 id=&quot;hexdump&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#hexdump&quot; aria-label=&quot;hexdump permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;hexdump&lt;/h3&gt;
&lt;p&gt;16 進数などのダンプを表示する&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;hexdump -C &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;コンパイラ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9&quot; aria-label=&quot;コンパイラ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンパイラ&lt;/h2&gt;
&lt;h3 id=&quot;gcc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gcc&quot; aria-label=&quot;gcc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;gcc&lt;/h3&gt;
&lt;p&gt;内部で cc1 や as、collect2 (ld) などを扱うコンパイラ・ドライバ&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;gcc -o hello hello.c&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;オプション&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-Wall … 警告オプションを全て有効化&lt;/li&gt;
&lt;li&gt;-v … 詳細を出力&lt;/li&gt;
&lt;li&gt;-c … リンクしない&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;オブジェクトファイル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&quot; aria-label=&quot;オブジェクトファイル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;オブジェクトファイル&lt;/h2&gt;
&lt;h3 id=&quot;objdump&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#objdump&quot; aria-label=&quot;objdump permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;objdump&lt;/h3&gt;
&lt;p&gt;オブジェクトファイルの情報を表示する&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;objdump -h &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;オプション&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-h … セクション情報を表示&lt;/li&gt;
&lt;li&gt;-p … プログラム・ヘッダを表示&lt;/li&gt;
&lt;li&gt;—all-headers (-x) … すべてのヘッダ情報を表示&lt;/li&gt;
&lt;li&gt;-d … 逆アセンブル&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;nm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nm&quot; aria-label=&quot;nm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;nm&lt;/h3&gt;
&lt;p&gt;シンボルの一覧を表示する&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;nm &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;objcopy&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#objcopy&quot; aria-label=&quot;objcopy permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;objcopy&lt;/h3&gt;
&lt;p&gt;オブジェクトファイルのコピーや変換を行う&lt;/p&gt;
&lt;h2 id=&quot;elf&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#elf&quot; aria-label=&quot;elf permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ELF&lt;/h2&gt;
&lt;h3 id=&quot;readelf&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#readelf&quot; aria-label=&quot;readelf permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;readelf&lt;/h3&gt;
&lt;p&gt;ELF に関する情報を表示する&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;readelf -h &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;-h … ELF ヘッダを表示&lt;/li&gt;
&lt;li&gt;-S … セクションの一覧を表示&lt;/li&gt;
&lt;li&gt;-x &amp;#x3C;セクション番号&gt; … セクションの内容を表示&lt;/li&gt;
&lt;li&gt;-l … プログラム・ヘッダを表示&lt;/li&gt;
&lt;li&gt;-s … シンボル・テーブルを表示&lt;/li&gt;
&lt;li&gt;-r … 再配置テーブルを表示&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;コアダンプの出力について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%82%A2%E3%83%80%E3%83%B3%E3%83%97%E3%81%AE%E5%87%BA%E5%8A%9B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;コアダンプの出力について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コアダンプの出力について&lt;/h2&gt;
&lt;p&gt;Ubuntu 20.04 では、デフォルトの設定ではユーザが実装したアプリケーションのコアダンプが出力されない。&lt;/p&gt;
&lt;p&gt;コアダンプを出力したい場合は、例えば以下のようなコマンドを実行する必要がある。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;sudo bash -c &amp;quot;echo &amp;#39;core.%e.%p&amp;#39; &amp;gt; /proc/sys/kernel/core_pattern&amp;quot;
ulimit -c unlimited&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pistolfly.com/weblog/2015/05/ubuntu%E3%81%A7%E3%82%B3%E3%82%A2%E3%83%80%E3%83%B3%E3%83%97%E3%81%8C%E5%87%BA%E5%8A%9B%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%8C%E3%81%82%E3%82%8B.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ubuntuでコアダンプが出力できないことがある&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;関連書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;関連書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連書籍&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/3OYFcpN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%80%E5%AE%9F%E8%B7%B5%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E2%80%95%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E9%A0%88%E3%81%AE%E6%8A%80%E8%A1%93-COMPUTER-TECHNOLOGY-%E5%9D%82%E4%BA%95-%E5%BC%98%E4%BA%AE/dp/4789838072?crid=160JVBUV9M3O7&amp;keywords=%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%AD%E3%83%BC%E3%83%80&amp;qid=1657463144&amp;sprefix=%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%AD%E3%83%BC%E3%83%80%2Caps%2C182&amp;sr=8-1&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3287ac58beef302e2149e34712f99c6d&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[C 言語のヘッダファイルの在り処と、「<なんとか>.h」がないというエラーへの対応について]]></title><description><![CDATA[例えば Ruby や Python などで MySQL のクライアントライブラリを入れようとしたりすると、C 言語のヘッダファイル (<なんとか>.h) がないというエラーになったりすることがあります。
そういった際はなんとなくググって解決できることも多いですが、根本的には必要なファイルを探す方法を身につけることが望ましいです。
そこでこの記事には、C 言語のヘッダファイルがどこにあるのか、「<なんとか>.h」をインストールする方法、について、自分に分かる範囲で書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/where-are-c-header-files</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/where-are-c-header-files</guid><pubDate>Sun, 10 Jul 2022 14:58:42 GMT</pubDate><content:encoded>&lt;p&gt;例えば Ruby や Python などで MySQL のクライアントライブラリを入れようとしたりすると、C 言語のヘッダファイル (&amp;#x3C;なんとか&gt;.h) がないというエラーになったりすることがあります。&lt;/p&gt;
&lt;p&gt;そういった際はなんとなくググって解決できることも多いですが、根本的には必要なファイルを探す方法を身につけることが望ましいです。&lt;/p&gt;
&lt;p&gt;そこでこの記事には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語のヘッダファイルがどこにあるのか&lt;/li&gt;
&lt;li&gt;「&amp;#x3C;なんとか&gt;.h」をインストールする方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について、自分に分かる範囲で書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;検証環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A4%9C%E8%A8%BC%E7%92%B0%E5%A2%83&quot; aria-label=&quot;検証環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;検証環境&lt;/h2&gt;
&lt;p&gt;まずは、検証環境について載せておきます。
(Ubuntu 20.04 です)&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;$ uname -a
Linux oshima-desktop 5.13.0-52-generic #59~20.04.1-Ubuntu SMP Thu Jun 16 21:21:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;そもそも-c-言語のヘッダファイルはどこにあるのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82-c-%E8%A8%80%E8%AA%9E%E3%81%AE%E3%83%98%E3%83%83%E3%83%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E3%81%A9%E3%81%93%E3%81%AB%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;そもそも c 言語のヘッダファイルはどこにあるのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそも C 言語のヘッダファイルはどこにあるのか&lt;/h2&gt;
&lt;p&gt;さて、それではまず前提として、C 言語のヘッダファイルがどこにあるのかから見ていきます。&lt;/p&gt;
&lt;p&gt;Google などで調べてみてもいいですが、「C 言語のコンパイル時にも参照されているはず」というアイデアで見てみようと思います。&lt;/p&gt;
&lt;p&gt;まずは C 言語のサンプルコードを作成します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c&quot;&gt;&lt;pre class=&quot;language-c&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;include&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&amp;lt;stdio.h&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Hello world!\n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;gcc でコンパイルします。&lt;/p&gt;
&lt;p&gt;このとき、-v オプションで実行の詳細を表示してみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ gcc -o hello hello.c -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion=&amp;#39;Ubuntu 9.4.0-1ubuntu1~20.04.1&amp;#39; --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 
COLLECT_GCC_OPTIONS=&amp;#39;-o&amp;#39; &amp;#39;hello&amp;#39; &amp;#39;-v&amp;#39; &amp;#39;-mtune=generic&amp;#39; &amp;#39;-march=x86-64&amp;#39;
 /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic -march=x86-64 -auxbase hello -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cceK2Ql4.s
GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
	compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory &amp;quot;/usr/local/include/x86_64-linux-gnu&amp;quot;
ignoring nonexistent directory &amp;quot;/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed&amp;quot;
ignoring nonexistent directory &amp;quot;/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include&amp;quot;
#include &amp;quot;...&amp;quot; search starts here:
#include &amp;lt;...&amp;gt; search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/9/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
	compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c0c95c0b4209efec1c1892d5ff24030b
hello.c: In function ‘main’:
hello.c:6:3: warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]
    6 |   exit(0);
      |   ^~~~
hello.c:6:3: warning: incompatible implicit declaration of built-in function ‘exit’
hello.c:2:1: note: include ‘&amp;lt;stdlib.h&amp;gt;’ or provide a declaration of ‘exit’
    1 | #include &amp;lt;stdio.h&amp;gt;
  +++ |+#include &amp;lt;stdlib.h&amp;gt;
    2 | 
COLLECT_GCC_OPTIONS=&amp;#39;-o&amp;#39; &amp;#39;hello&amp;#39; &amp;#39;-v&amp;#39; &amp;#39;-mtune=generic&amp;#39; &amp;#39;-march=x86-64&amp;#39;
 as -v --64 -o /tmp/ccolkcv4.o /tmp/cceK2Ql4.s
GNU アセンブラ バージョン 2.34 (x86_64-linux-gnu)、BFD バージョン (GNU Binutils for Ubuntu) 2.34 を使用
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS=&amp;#39;-o&amp;#39; &amp;#39;hello&amp;#39; &amp;#39;-v&amp;#39; &amp;#39;-mtune=generic&amp;#39; &amp;#39;-march=x86-64&amp;#39;
 /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cczXFzh6.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o hello /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. /tmp/ccolkcv4.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS=&amp;#39;-o&amp;#39; &amp;#39;hello&amp;#39; &amp;#39;-v&amp;#39; &amp;#39;-mtune=generic&amp;#39; &amp;#39;-march=x86-64&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この中を見てみると、&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt; /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic -march=x86-64 -auxbase hello -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cceK2Ql4.s&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;という箇所で実際のコンパイラ (cc1) が実行されているようです。&lt;/p&gt;
&lt;p&gt;※ gcc は広義では「コンパイラ」ですが、実際には内部で狭義のコンパイラ (cc1) やアセンブラ (as)、リンカなど (collect2) を呼び出しており、「コンパイラドライバ」と呼ばれることもあるそうです。&lt;/p&gt;
&lt;p&gt;さて、cc1 の実行以降の出力を見てみると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;#include &amp;quot;...&amp;quot; search starts here:
#include &amp;lt;...&amp;gt; search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/9/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ということで、&lt;code class=&quot;language-text&quot;&gt;#include&lt;/code&gt; の検索をしている箇所が見つかりました。&lt;/p&gt;
&lt;p&gt;ここに表示されているパスから、ヘッダファイルを探しているようですね。&lt;/p&gt;
&lt;p&gt;ls などで見てみると、たしかにヘッダファイルが見つかります。&lt;/p&gt;
&lt;h2 id=&quot;必要なヘッダファイルをインストールするには&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%98%E3%83%83%E3%83%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF&quot; aria-label=&quot;必要なヘッダファイルをインストールするには permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;必要なヘッダファイルをインストールするには&lt;/h2&gt;
&lt;p&gt;ここから、不足しているヘッダファイルを探してインストールする方法を書いていきます。&lt;/p&gt;
&lt;p&gt;例えば Ruby や Python などで MySQL のクライアントライブラリを使いたい場合に、C 言語のヘッダファイルがないというエラーになったりすることがあります。&lt;/p&gt;
&lt;p&gt;そんな例であれば、&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo apt install libmariadb-dev&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;のようにして、libmariadb-dev などをインストールして解決することになります。&lt;/p&gt;
&lt;p&gt;これは、求められているヘッダファイルが libmariadb-dev に含まれているためです。&lt;/p&gt;
&lt;p&gt;libmariadb-dev に含まれているファイルは、以下のように見ることができます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ dpkg -L libmariadb-dev 
/.
/usr
/usr/bin
/usr/bin/mariadb_config
/usr/include
/usr/include/mariadb
    :
/usr/include/mariadb/mysql.h
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ということで、libmariadb-dev をインストールすると、やはり /usr/include 以下にヘッダファイルが配置されるようですね。&lt;/p&gt;
&lt;p&gt;本来はこれとは逆で、あるヘッダファイルを含むパッケージを知りたいはずです。&lt;/p&gt;
&lt;p&gt;apt-file コマンドを使うことで、指定したヘッダファイルを含むパッケージを検索できます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ apt-file search mysql.h
    :
libgdal-doc: /usr/share/doc/libgdal-doc/gdal/drv_mysql.html
libgearman-doc: /usr/share/doc/libgearman-doc/html/gearmand/queues/mysql.html
libmariadb-dev: /usr/include/mariadb/mysql.h
libmariadb-dev: /usr/include/mariadb/server/mysql.h
libmariadb-dev: /usr/include/mariadb/server/private/probes_mysql.h
libmysqlclient-dev: /usr/include/mysql/mysql.h
libodb-api-dev: /usr/include/x86_64-linux-gnu/mysql.h
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;mysql.h と検索してみましたが、libmariadb-dev 以外にも大量のパッケージが見つかりました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、C 言語のヘッダファイルの在り処と、「&amp;#x3C;なんとか&gt;.h」がないというエラーへの対応について見てきました。&lt;/p&gt;
&lt;p&gt;このあたりは個人的になんとなくやっていた部分があるので、もっと知識をつけていこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;関連書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;関連書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連書籍&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/3OYFcpN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンカ・ローダ実践開発テクニック&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%80%E5%AE%9F%E8%B7%B5%E9%96%8B%E7%99%BA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E2%80%95%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%BF%85%E9%A0%88%E3%81%AE%E6%8A%80%E8%A1%93-COMPUTER-TECHNOLOGY-%E5%9D%82%E4%BA%95-%E5%BC%98%E4%BA%AE/dp/4789838072?crid=160JVBUV9M3O7&amp;keywords=%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%AD%E3%83%BC%E3%83%80&amp;qid=1657463144&amp;sprefix=%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%AD%E3%83%BC%E3%83%80%2Caps%2C182&amp;sr=8-1&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3287ac58beef302e2149e34712f99c6d&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4789838072&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4789838072&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】『ゼロからのOS自作入門』の実装を終えて]]></title><description><![CDATA[『ゼロからのOS自作入門』の実装を完走したので、やってみた感想や、完走するための自分なりのポイントをまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/4873117127-implementation</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4873117127-implementation</guid><pubDate>Sun, 10 Jul 2022 11:41:32 GMT</pubDate><content:encoded>&lt;p&gt;『ゼロからのOS自作入門』の実装を完走したので、やってみた感想や、完走するための自分なりのポイントをまとめました。&lt;/p&gt;
&lt;h2 id=&quot;書籍『ゼロからのos自作入門』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8E%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEos%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『ゼロからのos自作入門』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3Rq6mHK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%86%85%E7%94%B0%E5%85%AC%E5%A4%AA-ebook/dp/B08Z3MNR9J?_encoding=UTF8&amp;qid=1657445254&amp;sr=8-1&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=dd467f6dec22daf0b3ac7dbc5ff74fd4&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『ゼロからのOS自作入門』はタイトル通り、OS をゼロから作っていく書籍です。&lt;/p&gt;
&lt;p&gt;2021 年 3 月に発売されており、2021 年かなり話題だったと思います。&lt;/p&gt;
&lt;h2 id=&quot;前提&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90&quot; aria-label=&quot;前提 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提&lt;/h2&gt;
&lt;p&gt;さて、今回この本の OS (MikanOS) の実装に挑戦してみたのですが、私は実はこの本自体はすでに一周読んでいました。&lt;/p&gt;
&lt;p&gt;最初に実装なしで読んだときの感想については、「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4839975868&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『ゼロからのOS自作入門』を読みました【感想・難しいと感じる方にオススメの事前準備】&lt;/a&gt;」という記事にまとめてあります。&lt;/p&gt;
&lt;p&gt;読むだけでも色々と勉強になっていたものの、実装してみないと分からないことも色々あるだろうと思い、今回実装に挑戦しました。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;それでは、ここから実装してみての感想を書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;os-を作った達成感は大きい&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E9%81%94%E6%88%90%E6%84%9F%E3%81%AF%E5%A4%A7%E3%81%8D%E3%81%84&quot; aria-label=&quot;os を作った達成感は大きい permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS を作った達成感は大きい&lt;/h3&gt;
&lt;p&gt;実装してみて何より一番大きいのは、「OS を作った」という達成感があることです。&lt;/p&gt;
&lt;p&gt;多くの方が想像している通りだと思いますが、OS の自作は楽ではなかったです。&lt;/p&gt;
&lt;p&gt;その分、実際に作ってみた達成感は大きいですし、分かるようになったことも色々とあります。&lt;/p&gt;
&lt;h3 id=&quot;感動ポイントがたくさんある&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E5%8B%95%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%8C%E3%81%9F%E3%81%8F%E3%81%95%E3%82%93%E3%81%82%E3%82%8B&quot; aria-label=&quot;感動ポイントがたくさんある permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感動ポイントがたくさんある&lt;/h3&gt;
&lt;p&gt;OS の実装を進めていると、感動するポイントがいくつもあります。&lt;/p&gt;
&lt;p&gt;例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hello World&lt;/li&gt;
&lt;li&gt;マウス操作&lt;/li&gt;
&lt;li&gt;ウインドウのドラッグ操作&lt;/li&gt;
&lt;li&gt;キーボード入力&lt;/li&gt;
&lt;li&gt;コンテキストスイッチ (プリエンプティブマルチタスク)&lt;/li&gt;
&lt;li&gt;ターミナルから外部コマンド (ELF ファイル) を実行&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などです。&lt;/p&gt;
&lt;p&gt;たしかに感動しそうだと思われるかもしれませんが、実際に実装してみると想像以上に大きな感動でした。&lt;/p&gt;
&lt;p&gt;また、個人的には第 27 章の「アプリのメモリ管理」が特に好きで、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デマンドページング&lt;/li&gt;
&lt;li&gt;メモリマップドファイル&lt;/li&gt;
&lt;li&gt;コピーオンライト&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの少し発展的な機能がこんなに普通に実装できるんだと感動しました。&lt;/p&gt;
&lt;h3 id=&quot;os-以外の勉強にもなった&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E4%BB%A5%E5%A4%96%E3%81%AE%E5%8B%89%E5%BC%B7%E3%81%AB%E3%82%82%E3%81%AA%E3%81%A3%E3%81%9F&quot; aria-label=&quot;os 以外の勉強にもなった permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS 以外の勉強にもなった&lt;/h3&gt;
&lt;p&gt;MikanOS の実装を進める中で、OS の勉強になったのはもちろんですが、関連して&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語や C++&lt;/li&gt;
&lt;li&gt;ELF やローダー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの知識も得られました。&lt;/p&gt;
&lt;p&gt;個人的に C++ を学びたいと思っていたので、練習の題材としても良かったです。&lt;/p&gt;
&lt;p&gt;当然ですが、OS の勉強としてもこの上ないほど良かったです。&lt;/p&gt;
&lt;h2 id=&quot;完走するための自分なりのポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%8C%E8%B5%B0%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E8%87%AA%E5%88%86%E3%81%AA%E3%82%8A%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;完走するための自分なりのポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;完走するための自分なりのポイント&lt;/h2&gt;
&lt;p&gt;それではここから、自分なりに完走するためのポイントだと思うことを書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;理解できない点があっても一旦先に進む&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%90%86%E8%A7%A3%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E7%82%B9%E3%81%8C%E3%81%82%E3%81%A3%E3%81%A6%E3%82%82%E4%B8%80%E6%97%A6%E5%85%88%E3%81%AB%E9%80%B2%E3%82%80&quot; aria-label=&quot;理解できない点があっても一旦先に進む permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;理解できない点があっても一旦先に進む&lt;/h3&gt;
&lt;p&gt;この本を読みながら実装していても、よく理解できない点がある程度出てくるかもしれません。&lt;/p&gt;
&lt;p&gt;OS の実装はただでさえボリュームが大きいので、よく分からなかった点も一旦飲み込んで実装を進めてみると良いと思います。
(もちろん、なんとかして理解できるよう調べたりしてみるのも良いと思います)&lt;/p&gt;
&lt;p&gt;自分の場合も、特に&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UEFI 関連&lt;/li&gt;
&lt;li&gt;セグメンテーションの設定&lt;/li&gt;
&lt;li&gt;階層ページング構造の設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについては、かなり理解が浅いですが、ここをしっかり理解するには自分でゼロから (本の通りではない) OS を作るのが良さそうだと考えて、先に進みました。&lt;/p&gt;
&lt;h3 id=&quot;全然分からない場合は、前提知識をつけて再挑戦する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E7%84%B6%E5%88%86%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E5%86%8D%E6%8C%91%E6%88%A6%E3%81%99%E3%82%8B&quot; aria-label=&quot;全然分からない場合は、前提知識をつけて再挑戦する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全然分からない場合は、前提知識をつけて再挑戦する&lt;/h3&gt;
&lt;p&gt;一部理解できないというよりも、全体的に全然よく分からないという場合もあると思います。&lt;/p&gt;
&lt;p&gt;よく分からないまま写経するのもある程度勉強になりますし、動作する様子のを見るのは楽しいですが、前提知識をつけるとより楽しめると思います。&lt;/p&gt;
&lt;p&gt;「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4839975868&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『ゼロからのOS自作入門』を読みました【感想・難しいと感じる方にオススメの事前準備】&lt;/a&gt;」という記事にも書きましたが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語の基礎&lt;/li&gt;
&lt;li&gt;CPU の仕組みの概要&lt;/li&gt;
&lt;li&gt;OS の基礎&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の知識があると、理解度が一気に高くなります。&lt;/p&gt;
&lt;p&gt;特に OS に関して、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3crcUTQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ggv3oz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊を読んでおくのが非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=766bf5a26e5668093829305b932d382c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6e34b0c75aa1195be3fdbc43945886e1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;起動手順をスクリプト化する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B5%B7%E5%8B%95%E6%89%8B%E9%A0%86%E3%82%92%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%8C%96%E3%81%99%E3%82%8B&quot; aria-label=&quot;起動手順をスクリプト化する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;起動手順をスクリプト化する&lt;/h3&gt;
&lt;p&gt;これは細かいテクニック的な話になりますが…&lt;/p&gt;
&lt;p&gt;MikanOS の実装をやり遂げるには、ある程度長い日数がかかります。&lt;/p&gt;
&lt;p&gt;途中で数日・数週間と時間が空いてしまう場合もあるかもしれません。&lt;/p&gt;
&lt;p&gt;MikanOS を起動するにはいくつかのコマンドを実行する必要があり、それらを毎回思い出して入力するのは大変です。&lt;/p&gt;
&lt;p&gt;そういった手順はスクリプト化したりすることで、実装に取り組むハードルを下げましょう。&lt;/p&gt;
&lt;h3 id=&quot;筆者のコードを確認できるようにする&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AD%86%E8%80%85%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B&quot; aria-label=&quot;筆者のコードを確認できるようにする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;筆者のコードを確認できるようにする&lt;/h3&gt;
&lt;p&gt;当たり前ではありますが、OS のデバッグは非常に大変です。&lt;/p&gt;
&lt;p&gt;エラーが起こったとき、根本原因が簡単には分からないことも多いです。&lt;/p&gt;
&lt;p&gt;自力でデバッグするのが一番ではありますが、MikanOS の実装はボリュームも大きいため、自力でのデバッグにばかり時間を割いていると大変です。&lt;/p&gt;
&lt;p&gt;そこで、筆者のコードを確認する環境を整えることをおすすめします。&lt;/p&gt;
&lt;p&gt;困ったときは、筆者のコードの 2 つの時点の差分を確認したり、自分のコードとの差分を確認したりしてみましょう。&lt;/p&gt;
&lt;p&gt;なお、筆者のコードについては、以下の Issue で指摘されている箇所以外は、私が見た範囲では全て動作しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/uchan-nos/mikanos/issues/36&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[day15b] OS起動後にTaskBWindowが一瞬表示されすぐ消える #36&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;熱意を持つ・時間を確保する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%86%B1%E6%84%8F%E3%82%92%E6%8C%81%E3%81%A4%E3%83%BB%E6%99%82%E9%96%93%E3%82%92%E7%A2%BA%E4%BF%9D%E3%81%99%E3%82%8B&quot; aria-label=&quot;熱意を持つ・時間を確保する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;熱意を持つ・時間を確保する&lt;/h3&gt;
&lt;p&gt;最後のポイントとして、完走するために一番重要なのは、「OS を作りたい」という熱意だと思います。&lt;/p&gt;
&lt;p&gt;この本に従って OS を実装することは、&lt;strong&gt;難しいというよりも大変 (熱意や時間が必要)&lt;/strong&gt; です。&lt;/p&gt;
&lt;p&gt;自分の場合、2022 年 3 月 8 日に取り組み始めて、実装完了したのが 2022 年 7 月 10 日と、4ヶ月ほどかかりました。&lt;/p&gt;
&lt;p&gt;実際のペースとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3 月 … day01-day02&lt;/li&gt;
&lt;li&gt;4 月 … day03-day04&lt;/li&gt;
&lt;li&gt;5 月 … day05-day07&lt;/li&gt;
&lt;li&gt;6 月 … day08-day10&lt;/li&gt;
&lt;li&gt;7 月 … day11-day30&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったぐらいでだいぶ偏りがあり、7 月になって時間をとれたので一気に進めましたが、当初のペースでは 1 年近くかかったかもしれません。&lt;/p&gt;
&lt;p&gt;OS 自作に着手する前に、『&lt;a href=&quot;https://amzn.to/3yTJHMM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』(通称: Nand2Tetris) で CPU やコンパイラの実装をしたこともありますが、OS 自作のほうが遥かに時間がかかりました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0ffd93df64e8701c5193192661ee4a36&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;長期間かかるほど過去の内容を忘れやすくなるので、ある程度まとまった時間をとって取り組んだほうが、ゴールしやすいと思います。
(そういう意味では、学生のうちにやっておくと良いと言われたりするのはよく分かります)&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、MikanOS を実装しての感想や自分なりのポイントを書いてきました。&lt;/p&gt;
&lt;p&gt;自分はこの実装を終えて、いわゆる低レイヤ関係でもっと色々作ってみたいと思いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C++ でちょっとしたツールを作ってみる (ELF パーサやリンカ・ローダに興味あり)&lt;/li&gt;
&lt;li&gt;CLI (GUI なし) のみの OS を作ってみる&lt;/li&gt;
&lt;li&gt;デバイスドライバを作ってみる&lt;/li&gt;
&lt;li&gt;改めて Linux について勉強してみる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、今後もやっていこうと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%86%85%E7%94%B0%E5%85%AC%E5%A4%AA-ebook/dp/B08Z3MNR9J?_encoding=UTF8&amp;qid=1657445254&amp;sr=8-1&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a29a66d9a8bfeba74f48782bea6f5758&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy で「Linux とネットワークの基礎から学ぶ Docker 入門」をリリースしました]]></title><description><![CDATA[先日、Udemy で「Linux とネットワークの基礎から学ぶ Docker 入門」というコースをリリースしました。

どんなコースなのか、どういう考えで作ったのかを、この記事で少し紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-docker-from-linux-and-networking</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-docker-from-linux-and-networking</guid><pubDate>Mon, 04 Jul 2022 07:02:08 GMT</pubDate><content:encoded>&lt;p&gt;先日、Udemy で「Linux とネットワークの基礎から学ぶ Docker 入門」というコースをリリースしました。&lt;/p&gt;
&lt;p&gt;どんなコースなのか、どういう考えで作ったのかを、この記事で少し紹介させていただきます。&lt;/p&gt;
&lt;p&gt;※ 著者が出した Udemy 講座の一覧は &lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら﻿&lt;/a&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;コース概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81&quot; aria-label=&quot;コース概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コース概要&lt;/h2&gt;
&lt;p&gt;このコースは、タイトル通り Docker に入門していく内容ですが、&lt;strong&gt;特徴は Linux やネットワークの基礎から学べること&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web サーバをさわりながら、「サーバでプログラムを動かすというのはどういうことか」を学ぶ&lt;/li&gt;
&lt;li&gt;シンプルな通信のプログラムを実装したり、手作業で Web サーバと通信したりして、ネットワークの超基礎を学ぶ&lt;/li&gt;
&lt;li&gt;Linux で「Web サーバ + アプリケーションサーバ + DB」という典型的な 3 層構造の Web アプリケーションの環境構築を学ぶ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったところから始めます。&lt;/p&gt;
&lt;p&gt;その後、Docker に入門して、最終的には Docker を使った開発環境を完成させていきます。&lt;/p&gt;
&lt;h2 id=&quot;なぜこのコースを作ったのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%9C%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B&quot; aria-label=&quot;なぜこのコースを作ったのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;なぜこのコースを作ったのか&lt;/h2&gt;
&lt;p&gt;ここから、このコースを作った背景について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;docker-の入門で難しいのは、docker-自体の入門ではない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-%E3%81%AE%E5%85%A5%E9%96%80%E3%81%A7%E9%9B%A3%E3%81%97%E3%81%84%E3%81%AE%E3%81%AF%E3%80%81docker-%E8%87%AA%E4%BD%93%E3%81%AE%E5%85%A5%E9%96%80%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84&quot; aria-label=&quot;docker の入門で難しいのは、docker 自体の入門ではない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker の入門で難しいのは、Docker 自体の入門ではない&lt;/h3&gt;
&lt;p&gt;Docker の入門で難しいと感じている方は少なくないと思いますが、実際には &lt;strong&gt;Docker 自体の入門はそれほど難しくありません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;難しいのは、前提として Linux とネットワークの基礎知識が求められること&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Docker での環境構築は、「Linux での環境構築の知識にプラスで Docker の知識が必要」&lt;/strong&gt;という関係になっています。&lt;/p&gt;
&lt;p&gt;なので、Docker を勉強する際は、まず Linux での環境構築ができる必要があるのです。
(同時に、そのために必要なネットワークの基礎知識も必要になります）&lt;/p&gt;
&lt;p&gt;逆に、&lt;strong&gt;Linux とネットワークの基礎知識があれば、Docker の入門でつまずく点はほとんどない&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;docker-をしっかり理解する最短ルート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-%E3%82%92%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E6%9C%80%E7%9F%AD%E3%83%AB%E3%83%BC%E3%83%88&quot; aria-label=&quot;docker をしっかり理解する最短ルート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker をしっかり理解する最短ルート&lt;/h3&gt;
&lt;p&gt;とはいえ、特にアプリケーションエンジニアの方が、「Docker をキャッチアップするため、まず Linux やネットワークから勉強しよう」とは思いにくいでしょう。&lt;/p&gt;
&lt;p&gt;もしも Linux やネットワークの知識が必要だと気付いても、「そこまでの勉強は時間がかかるので避けたい」と思う方が多いのではないでしょうか？&lt;/p&gt;
&lt;p&gt;書籍などでも、Linux やネットワークの基礎知識から Docker の入門までほど良く解説してくれている例は見当たりません。(少なくとも日本語では)&lt;/p&gt;
&lt;p&gt;そこでこのコースでは、&lt;strong&gt;最低限必要な範囲で&lt;/strong&gt; Linux やネットワークの基礎を学んでから、Docker の入門に取り組むという構成にしました。&lt;/p&gt;
&lt;h2 id=&quot;主な対象者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85&quot; aria-label=&quot;主な対象者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;主な対象者&lt;/h2&gt;
&lt;p&gt;このような背景から、対象者としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker を使っているが、実はあまりよく分かっていない&lt;/li&gt;
&lt;li&gt;Web アプリケーション開発の基礎知識を身に付け、次のステップとして Docker を学ぼうとしている&lt;/li&gt;
&lt;li&gt;Docker について学ぼうとしているが、Linux やネットワーク関係の用語が分からず困っている&lt;/li&gt;
&lt;li&gt;インフラへの苦手意識を克服したいアプリケーションエンジニア&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方を想定しています。&lt;/p&gt;
&lt;h2 id=&quot;こだわりポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%A0%E3%82%8F%E3%82%8A%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;こだわりポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;こだわりポイント&lt;/h2&gt;
&lt;p&gt;ここから、このコースを作る上で、特にこだわった点を紹介させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;「プログラムを実行する」ということを、入門よりも一歩深く解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%82%92%E3%80%81%E5%85%A5%E9%96%80%E3%82%88%E3%82%8A%E3%82%82%E4%B8%80%E6%AD%A9%E6%B7%B1%E3%81%8F%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;「プログラムを実行する」ということを、入門よりも一歩深く解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「プログラムを実行する」ということを、入門よりも一歩深く解説&lt;/h3&gt;
&lt;p&gt;Docker コンテナで何かを実行するというのは、Linux でプログラムを実行する (= プロセスを動かす) ということです。&lt;/p&gt;
&lt;p&gt;特にアプリケーションエンジニアの方には、「OS」や「プロセス」というものが何者なのか、あまりイメージがわかないことも多いと思います。&lt;/p&gt;
&lt;p&gt;ですが、この「OS」や「プロセス」といったもののイメージがないまま Docker を理解するのは難しいです。&lt;/p&gt;
&lt;p&gt;そこでこの講座では、Web サーバ (nginx) をさわりながら、じっくりと「プログラムを実行する (= プロセスを動かす)」ということの理解を深めていけるようにしました。&lt;/p&gt;
&lt;h3 id=&quot;ネットワークの超基礎を、手を動かして学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E8%B6%85%E5%9F%BA%E7%A4%8E%E3%82%92%E3%80%81%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;ネットワークの超基礎を、手を動かして学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ネットワークの超基礎を、手を動かして学ぶ&lt;/h3&gt;
&lt;p&gt;もう 1 つ勉強が難しいのが、ネットワークについてです。&lt;/p&gt;
&lt;p&gt;Docker の入門で必要なのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「IP アドレス」や「ポート番号」とは何か&lt;/li&gt;
&lt;li&gt;HTTP とは何か&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりで、ネットワークの知識としては入門中の入門ですが、ここが壁になっていることは多いです。&lt;/p&gt;
&lt;p&gt;これらを勉強しようとすると、読書や座学での学習になりやすく、「なんとなく分かった気になるものの定着しない」ということも多いです。&lt;/p&gt;
&lt;p&gt;そこでこの講座では、プログラムを書いたり手作業で通信したりしながら、ネットワークの超基礎を学べるようにしました。&lt;/p&gt;
&lt;h3 id=&quot;web-アプリケーションの仕組みの理解&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AE%E7%90%86%E8%A7%A3&quot; aria-label=&quot;web アプリケーションの仕組みの理解 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web アプリケーションの仕組みの理解&lt;/h3&gt;
&lt;p&gt;ここまで、Docker の前提知識として必要なのは Linux とネットワークと書いてきましたが、実際には「Web アプリケーション」の基礎知識が足りていないケースも多いです。&lt;/p&gt;
&lt;p&gt;現代の Web アプリケーションは、ブラウザ上でもリッチなコードが動いていたり、と思えば同様のコードがサーバ上で動いていたりと、入門者にとってはかなり複雑な挙動をしていると思います。&lt;/p&gt;
&lt;p&gt;ですが、Web アプリケーションのどこで何が動いているのかが分からないと、それを Docker で動かすことはできません。&lt;/p&gt;
&lt;p&gt;そこで、簡単な Web アプリケーションを実装しながら、その仕組みの概要も学べるようにしました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ということで、力を入れて作成したこちらのコースですが、公開数日で早速 30 名以上の方に手にとっていただけました。&lt;/p&gt;
&lt;p&gt;このコースに引き続き、今後も Udemy でいくつか講座を出していきたいと思います。&lt;/p&gt;
&lt;p&gt;著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nextskill.co.jp/courses&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.nextskill.co.jp/courses&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご興味ある方はこちらからアクセスしてみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2022 年前半で勉強したことのふりかえり]]></title><description><![CDATA[2022 年前半が終わったので、勉強したことをふりかえって記事にまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2022-first-half</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2022-first-half</guid><pubDate>Fri, 01 Jul 2022 03:10:56 GMT</pubDate><content:encoded>&lt;p&gt;2022 年前半が終わったので、勉強したことをふりかえって記事にまとめます。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;まずは読んだ本の数をまとめると…&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202201&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 1 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202202&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 2 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202203&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 3 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202204&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 4 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202205&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 5 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202206&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2022 年 6 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ということで、合計 57 冊でした。&lt;/p&gt;
&lt;p&gt;2021 年後半の半年では合計 70 冊だったので、少しペースダウンしてしまいました。&lt;/p&gt;
&lt;p&gt;この中で特に良かった本は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bCoCxk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bHsZas&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスパターン［実践的システムデザインのためのコード解説］&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3OtF9SN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3R1asWU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュア・バイ・デザイン&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 4 冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3211a5de119e10b512b182d545226c14&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086JJNDKS?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=abfa94d1b045692d05f37dd281991f63&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086JJNDKS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B086JJNDKS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0835c8383327a620dbc181f62ac55f3c&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09F697K2V?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8a12bbfa9a902f9086b04742663eeba8&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09F697K2V&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09F697K2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;また、機械学習の比較的新しい話題である BERT や XAI について学んだり、Web3 (特に DAO や DeFi) の概要についてキャッチアップできたのも良かったです。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) には、17 記事書きました。&lt;/p&gt;
&lt;p&gt;年間 100 記事くらいは目指したいと思っていたので、かなりゆっくりなペースになってしまいました。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;この半年では資格は全く取得しませんでした。&lt;/p&gt;
&lt;p&gt;勉強のきっかけになるので、2022 年後半は少し資格の取得も考えていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;友人と作った connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) では、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/238830/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なんとなくを卒業するための Docker 入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/244880/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DockerやAWSの前に知っておくべきネットワークの超基礎&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/250366/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DockerやAWSの前に知っておくべきLinuxでの環境構築の超基礎&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つの発表を行い、合計 900 名を超えるとても多くの方にお申し込みいただきました。&lt;/p&gt;
&lt;p&gt;グループメンバーも 1300 名を突破し、4~5 名で本業とは別で運営しているとは思えない規模になってきたと思います。&lt;/p&gt;
&lt;p&gt;2 月からはアーカイブ動画の一部を YouTube で公開するようになり、&lt;a href=&quot;https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo チャンネル&lt;/a&gt; のチャンネル登録者数は 100 を突破しました。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;udemy 講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座&lt;/h2&gt;
&lt;p&gt;この半年で一番大きいのは、6 月 1 ヶ月をかけて Udemy のコースを 1 つ作成したことです。&lt;/p&gt;
&lt;p&gt;7 月 1 日現在審査中ですが、「Linux とネットワークの基礎から学ぶ Docker 入門」というタイトルで、近日公開予定です。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;プログラミング言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング言語&lt;/h2&gt;
&lt;p&gt;この半年のプログラミング言語の勉強としては、TypeScript を改めて勉強できたのがよかったです。&lt;/p&gt;
&lt;p&gt;今までなんとなく書いていた TypeScript について、一歩理解を深められました。&lt;/p&gt;
&lt;p&gt;TypeScript は奥が深く、まだまだ知らないことだらけですが、今後もどんどん書いていこうと思います。&lt;/p&gt;
&lt;p&gt;また、アセンブリ言語と C++ も少し勉強できてよかったです。&lt;/p&gt;
&lt;p&gt;特に C++ は OS 自作を進めている中で少し慣れてきたので、どこかのタイミングで改めて勉強して定着させたいです。&lt;/p&gt;
&lt;p&gt;その他、プログラミング言語ではありませんが、CSS のグリッドレイアウトをキャッチアップしたりしました。&lt;/p&gt;
&lt;h2 id=&quot;言語処理系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB&quot; aria-label=&quot;言語処理系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;言語処理系&lt;/h2&gt;
&lt;p&gt;この半年で一番成長を感じる分野は、言語処理系です。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3bCoCxk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』や『&lt;a href=&quot;https://amzn.to/3OtF9SN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;』という書籍を通して、コンパイラとインタプリタを自作しました。&lt;/p&gt;
&lt;p&gt;(インタプリタについては、簡易的なものを別途 2 回実装しました)&lt;/p&gt;
&lt;p&gt;といっても基礎の基礎を学んだだけで、まだまだ実践レベルには程遠いです。&lt;/p&gt;
&lt;p&gt;最近かなり興味を持っている分野なので、もっと力を入れて勉強していきたいです。&lt;/p&gt;
&lt;p&gt;自作つながりでは、OS 自作が全然終わっておらず、これからの半年でしっかり完了させたいです。&lt;/p&gt;
&lt;h2 id=&quot;トレンド技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%AC%E3%83%B3%E3%83%89%E6%8A%80%E8%A1%93&quot; aria-label=&quot;トレンド技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;トレンド技術&lt;/h2&gt;
&lt;p&gt;トレンドになっているような技術の中では、「Web3」の概要を調べられたことが大きいです。&lt;/p&gt;
&lt;p&gt;個人的にブロックチェーン関連技術にそこまで注目していなかったのですが、DAO や DeFi などはかなり可能性のある面白い技術だなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2022 年前半でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 57 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 17 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;プログラミング言語&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TypeScript を改めて学んだ&lt;/li&gt;
&lt;li&gt;アセンブリ言語と C++ にふれた&lt;/li&gt;
&lt;li&gt;CSS のグリッドレイアウトをキャッチアップした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;低レイヤ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンパイラやインタプリタを自作した&lt;/li&gt;
&lt;li&gt;OS 自作に着手した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;応用系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web3 の概要をキャッチアップした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;発表など&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux・ネットワーク・Docker の勉強会を開催し、そのテーマで Udemy 講座を作成した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;プライベートで時間を使うことが多かったこともあり、個人的にはかなりのんびりペースの半年でした。&lt;/p&gt;
&lt;p&gt;興味を持って勉強したいと思っていることもたくさんあるので、次の半年はペースアップしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 6 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 6 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202206</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202206</guid><pubDate>Fri, 01 Jul 2022 02:00:14 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 6 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;メタバース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9&quot; aria-label=&quot;メタバース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバース&lt;/h2&gt;
&lt;h3 id=&quot;メタバース-さよならアトムの時代&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9-%E3%81%95%E3%82%88%E3%81%AA%E3%82%89%E3%82%A2%E3%83%88%E3%83%A0%E3%81%AE%E6%99%82%E4%BB%A3&quot; aria-label=&quot;メタバース さよならアトムの時代 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3acRnAa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバース　さよならアトムの時代&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;60分でわかる！-メタバース-超入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#60%E5%88%86%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%EF%BC%81-%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9-%E8%B6%85%E5%85%A5%E9%96%80&quot; aria-label=&quot;60分でわかる！ メタバース 超入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IcK2xm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;60分でわかる！　メタバース　超入門&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;メタバースの歩き方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9&quot; aria-label=&quot;メタバースの歩き方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ufsKcY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースの歩き方&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&quot;メタバースとweb3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%A8web3&quot; aria-label=&quot;メタバースとweb3 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ytN4db&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースとWeb3&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09TT11YPF?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=af5719dfcf67b2118b94b6745c01b229&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09TT11YPF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09TT11YPF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09YHFGHYC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1db73f02870d24ff2027d2fc6174df91&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09YHFGHYC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09YHFGHYC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09PN4CBBN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4f10e150e99d69b11f1ee07e69276b8c&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09PN4CBBN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09PN4CBBN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09W9B5Q6H?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=63aa415ca2b03b16ecf58332bc9e5e29&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09W9B5Q6H&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09W9B5Q6H&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;以前から興味が合ったので、「メタバース」系の本をいくつか買って、読みやすそうなものから読んでみました。&lt;/p&gt;
&lt;p&gt;特に『メタバース　さよならアトムの時代』は、著者の豊富な知識に基づいて幅広く解説されており、とても良い本でした。&lt;/p&gt;
&lt;p&gt;筆者の愛着がすごく感じられる一方で、客観的な話も多く、どれか 1 冊読みたいという方にはこれがおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;software-design-ソフトウェアデザイン-2022年06月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2022%E5%B9%B406%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2022年06月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nx3QlA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2022年06月号&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09ZTWCZNK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7e9a4560f8b20984b4fb4502283f0e52&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09ZTWCZNK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09ZTWCZNK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;6 月号の Software Design を読みました。&lt;/p&gt;
&lt;p&gt;以前は購読しているにも関わらず積読していたのですが、最近は積読しなくなってきて良い傾向です。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング&lt;/h2&gt;
&lt;h3 id=&quot;はじめてのruby-sinatra入門-軽量rubyフレームワークsinatraとpaizacloudを使って10分でwebサービスを作る&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEruby-sinatra%E5%85%A5%E9%96%80-%E8%BB%BD%E9%87%8Fruby%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFsinatra%E3%81%A8paizacloud%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A610%E5%88%86%E3%81%A7web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E4%BD%9C%E3%82%8B&quot; aria-label=&quot;はじめてのruby sinatra入門 軽量rubyフレームワークsinatraとpaizacloudを使って10分でwebサービスを作る permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3a3BR9Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめてのRuby Sinatra入門: 軽量RubyフレームワークSinatraとPaizaCloudを使って10分でWebサービスを作る&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BDPS9VJ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3f4dd0cd6a40ef35144bb71a1796c488&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07BDPS9VJ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07BDPS9VJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;あなたの知らないc言語誕生の秘密-bcpl-b-forth-game-tl1型のない古代言語の世界&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%84c%E8%A8%80%E8%AA%9E%E8%AA%95%E7%94%9F%E3%81%AE%E7%A7%98%E5%AF%86-bcpl-b-forth-game-tl1%E5%9E%8B%E3%81%AE%E3%81%AA%E3%81%84%E5%8F%A4%E4%BB%A3%E8%A8%80%E8%AA%9E%E3%81%AE%E4%B8%96%E7%95%8C&quot; aria-label=&quot;あなたの知らないc言語誕生の秘密 bcpl b forth game tl1型のない古代言語の世界 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3yzaT3a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;あなたの知らないC言語誕生の秘密: BCPL, B, FORTH, GAME, TL/1型のない古代言語の世界&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08KL88BYH?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f688375066f3c3b00aead6bfeb55390a&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08KL88BYH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08KL88BYH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ちょっとした時間で Kindle Unlimited で読める本を読もうと、この 2 冊を手に取ってみました。&lt;/p&gt;
&lt;p&gt;『あなたの知らないC言語誕生の秘密』は、こういった考察をすること自体面白いなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 7 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月の後半は Udemy 講座の作成に力を入れていたこともあり、読書の時間はあまりとれませんでした。&lt;/p&gt;
&lt;p&gt;少しずつ進めている OS 自作については、やっと 3 分の 1 が終わりました。来月も引き続き進めていきます。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Windows でも macOS でも動く Docker のボリュームの指定]]></title><description><![CDATA[Docker で構築した開発環境は再現性が高く、Windows でも macOS でも動くと思われています。


基本的にはその通りなのですが、ホストのファイルシステムが絡んでくるボリュームについては、書き方次第で「Windows では動かない」となることがあります。

この記事では、Windows でも macOS でも動く Docker のボリュームの書き方をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/best-way-to-setup-docker-volume</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/best-way-to-setup-docker-volume</guid><pubDate>Fri, 24 Jun 2022 16:18:29 GMT</pubDate><content:encoded>&lt;p&gt;Docker で構築した開発環境は再現性が高く、Windows でも macOS でも動くと思われています。&lt;/p&gt;
&lt;p&gt;基本的にはその通りなのですが、ホストのファイルシステムが絡んでくるボリュームについては、書き方次第で「Windows では動かない」となることがあります。&lt;/p&gt;
&lt;p&gt;この記事では、Windows でも macOS でも動く Docker のボリュームの書き方をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;検証した環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A4%9C%E8%A8%BC%E3%81%97%E3%81%9F%E7%92%B0%E5%A2%83&quot; aria-label=&quot;検証した環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;検証した環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Docker for Windows (Windows 10, WSL2 backend)&lt;/li&gt;
&lt;li&gt;Docker for Mac (macOS Monterey, Apple M1)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;docker-run-の場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-run-%E3%81%AE%E5%A0%B4%E5%90%88&quot; aria-label=&quot;docker run の場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;docker run の場合&lt;/h2&gt;
&lt;p&gt;docker run の場合と Docker Compose の場合でも書き方が異なるので、まずは docker run を使う場合について書いていきます。&lt;/p&gt;
&lt;p&gt;docker run するときは、Windows でも macOS でも同じ書き方で動きます。&lt;/p&gt;
&lt;h3 id=&quot;一番よさそうな書き方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E7%95%AA%E3%82%88%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E6%9B%B8%E3%81%8D%E6%96%B9&quot; aria-label=&quot;一番よさそうな書き方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一番よさそうな書き方&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;docker run -v $PWD/mydir/subdir:/work ubuntu ls /work&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;docker run の -v オプションでホストのパスを指定する箇所では、&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;P&lt;/mi&gt;&lt;mi&gt;W&lt;/mi&gt;&lt;mi&gt;D&lt;/mi&gt;&lt;mtext&gt;や&lt;/mtext&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;PWD や&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.68333em;vertical-align:0em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathdefault&quot; style=&quot;margin-right:0.13889em;&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;mord mathdefault&quot; style=&quot;margin-right:0.13889em;&quot;&gt;W&lt;/span&gt;&lt;span class=&quot;mord mathdefault&quot; style=&quot;margin-right:0.02778em;&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;mord cjk_fallback&quot;&gt;や&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;(pwd)、`pwd` を使って、絶対パスで書くのが一番よさそうです。&lt;/p&gt;
&lt;h3 id=&quot;ng-な書き方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ng-%E3%81%AA%E6%9B%B8%E3%81%8D%E6%96%B9&quot; aria-label=&quot;ng な書き方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NG な書き方&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;docker run -v mydir/subdir:/work ubuntu ls /work&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;のように、相対パスで記述してしまうと、以下のようなエラーになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;docker: Error response from daemon: create myapp/subdir: &amp;quot;myapp/subdir&amp;quot; includes invalid characters for a local volume name, only &amp;quot;[a-zA-Z0-9][a-zA-Z0-9_.-]&amp;quot; are allowed. If you intended to pass a host directory, use absolute path.
See &amp;#39;docker run --help&amp;#39;.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ホストのディレクトリを指定する場合は絶対パスを使う必要があるためです。&lt;/p&gt;
&lt;p&gt;一応、「/」という文字を含まない以下のような形式であれば動作しますが、普段から絶対パスで指定するのが良いでしょう。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;docker run -v mydir:/work ubuntu ls /work&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;docker-compose-の場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-compose-%E3%81%AE%E5%A0%B4%E5%90%88&quot; aria-label=&quot;docker compose の場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker Compose の場合&lt;/h2&gt;
&lt;h3 id=&quot;一番よさそうな書き方-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E7%95%AA%E3%82%88%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E6%9B%B8%E3%81%8D%E6%96%B9-1&quot; aria-label=&quot;一番よさそうな書き方 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一番よさそうな書き方&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;3&apos;&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;nginx&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; nginx&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;1.21.6&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;alpine
    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; ./nginx/html&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/usr/share/nginx/html&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;docker-compose.yaml の場合、相対パスで書くのが一番よさそうです。&lt;/p&gt;
&lt;p&gt;もしホームディレクトリを基準にしたい場合は、「~/mydir」のように指定してください。&lt;/p&gt;
&lt;h3 id=&quot;ng-な書き方-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ng-%E3%81%AA%E6%9B%B8%E3%81%8D%E6%96%B9-1&quot; aria-label=&quot;ng な書き方 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NG な書き方&lt;/h3&gt;
&lt;p&gt;docker run で絶対パスを指定したのと同様に、&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; $PWD/nginx/html&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;/usr/share/nginx/html&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;と書きたくなると思います。&lt;/p&gt;
&lt;p&gt;しかし、この書き方では、Windows で&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;WARNING: The PWD variable is not set. Defaulting to a blank string.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;という WARNING が出力される場合があり、その際は $PWD が空文字列として解釈されてしまいます。&lt;/p&gt;
&lt;p&gt;$PWD は Windows でも動く場合・動かない場合があり、詳細な再現条件は分からないですが、避けたほうが無難でしょう。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;以上をまとめると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;docker run では「$PWD」などを使って絶対パスで指定する&lt;/li&gt;
&lt;li&gt;docker-compose.yaml では「.」や「~」を使って相対パスで指定する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということになります。&lt;/p&gt;
&lt;p&gt;これで今後は悩むことがなくなりそうです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Active Directory での SAML 2.0 による SSO について用語を整理してみた]]></title><description><![CDATA[「Active Directory で SAML 2.0 による SSO」について、登場する用語を整理してみました。]]></description><link>https://www.kanzennirikaisita.com/posts/active-directory-saml-sso-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/active-directory-saml-sso-concepts</guid><pubDate>Wed, 01 Jun 2022 07:08:53 GMT</pubDate><content:encoded>&lt;p&gt;「Active Directory で SAML 2.0 による SSO」について、登場する用語を整理してみました。&lt;/p&gt;
&lt;h2 id=&quot;sso-の種類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sso-%E3%81%AE%E7%A8%AE%E9%A1%9E&quot; aria-label=&quot;sso の種類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SSO の種類&lt;/h2&gt;
&lt;p&gt;一言で SSO と言っても、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kerberos 認証&lt;/li&gt;
&lt;li&gt;SAML 認証&lt;/li&gt;
&lt;li&gt;OAuth 認証&lt;/li&gt;
&lt;li&gt;OpenID Connect 認証&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、様々な種類があります。&lt;/p&gt;
&lt;p&gt;この記事では、SAML 2.0 を使った SSO について注目していきます。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.designet.co.jp/ossinfo/selection/singlesignon_structure.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シングルサインオンの仕組みと選び方 | OSSのデージーネット&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;saml-の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saml-%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;saml の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SAML の概要&lt;/h2&gt;
&lt;p&gt;SAML の概要は、Zenn などで購入できる『&lt;a href=&quot;https://zenn.dev/kxn4t/books/3778cace88911a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SAML入門&lt;/a&gt;』読むのがおすすめです。&lt;/p&gt;
&lt;p&gt;Web 上の記事などではなかなかとっつきにくい SAML の入門にぴったりです。&lt;/p&gt;
&lt;h2 id=&quot;saml-20-による-sso-の登場人物&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saml-20-%E3%81%AB%E3%82%88%E3%82%8B-sso-%E3%81%AE%E7%99%BB%E5%A0%B4%E4%BA%BA%E7%89%A9&quot; aria-label=&quot;saml 20 による sso の登場人物 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SAML 2.0 による SSO の登場人物&lt;/h2&gt;
&lt;p&gt;SAML 2.0 による SSO では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SP (Service Provider)&lt;/li&gt;
&lt;li&gt;IdP (Identity Provider)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つが登場します。&lt;/p&gt;
&lt;p&gt;図にすると、以下のように分類できます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/saml-sps-and-idps.png&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;sp&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sp&quot; aria-label=&quot;sp permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SP&lt;/h3&gt;
&lt;p&gt;SP は、SSO でログインしたいサービスです。&lt;/p&gt;
&lt;p&gt;例えば AWS や SmartHR などが挙げられます。&lt;/p&gt;
&lt;h3 id=&quot;idp&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#idp&quot; aria-label=&quot;idp permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IdP&lt;/h3&gt;
&lt;p&gt;IdP は、認証情報を管理する側のサービスです。&lt;/p&gt;
&lt;p&gt;IdP にはクラウド型で提供されるものと、インストール型のものがあります。&lt;/p&gt;
&lt;p&gt;インストール型の中には、OSSのものもあります。&lt;/p&gt;
&lt;p&gt;OSS の Keycloak は個人的に耳にする機会も多く、さわってみるのもおすすめできます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cloudnative.co.jp/product/IdP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ID統制とIdPの選び方 シングルサインオン（SSO） | 株式会社クラウドネイティブ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osstech.co.jp/case/kyutech&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;九州工業大学：OpenSSO , SAML （simpleSAMLphp）を利用した認証基盤を構築 - Open Source Solution Technology Corporation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;active-directory-ad-とは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#active-directory-ad-%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;active directory ad とは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Active Directory (AD) とは？&lt;/h2&gt;
&lt;p&gt;IdP として Azure Active Directory や (オンプレミス) Active Directory があることが分かりました。&lt;/p&gt;
&lt;p&gt;この「Active Directory」とは何でしょうか？&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/Active_Directory&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Wikipedia&lt;/a&gt; によると…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Active Directory (アクティブディレクトリ) とはマイクロソフトによって開発されたオンプレミスにおけるディレクトリ・サービス・システムであり、Windows 2000 Serverから導入された、ユーザとコンピュータリソースを管理するコンポーネント群の総称である。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ということで、「ディレクトリ・サービス・システム」だそうです。&lt;/p&gt;
&lt;p&gt;簡単に言うと、以下の図のように、「ディレクトリサービス」や「SSO の IdP としての機能」などを色々統合して便利に使えるのが Active Directory です。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/active-directory.png&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;ディレクトリサービスとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;ディレクトリサービスとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ディレクトリサービスとは？&lt;/h2&gt;
&lt;p&gt;ここで、「ディレクトリサービス」という用語について少し補足しておきます。&lt;/p&gt;
&lt;p&gt;「ディレクトリサービス」というのは、データベースの一種です。&lt;/p&gt;
&lt;p&gt;RDB とは異なり軽量で、ツリー構造になっており、組織の資源などの管理によく使われます。&lt;/p&gt;
&lt;p&gt;ディレクトリ・サービスにアクセスするためのプロトコルとしては、LDAP が普及しています。&lt;/p&gt;
&lt;p&gt;関連記事&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ldap-conceptual-model&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LDAP の用語・概念を図で整理&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;active-directory-の種類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#active-directory-%E3%81%AE%E7%A8%AE%E9%A1%9E&quot; aria-label=&quot;active directory の種類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Active Directory の種類&lt;/h2&gt;
&lt;p&gt;最後に、Active Directory の種類についてです。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/active-directory-types.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Active Directory には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Azure Active Directory&lt;/li&gt;
&lt;li&gt;(オンプレミス) Active Directory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 種類があります。&lt;/p&gt;
&lt;p&gt;さらに (オンプレミス) Active Directory には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft Active Directory&lt;/li&gt;
&lt;li&gt;Samba&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 2 種類の実装があります。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sunnycloud.jp/column/20210812-01/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【徹底解説】AWS Directory Service とは | SunnyCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/directory_simple_ad.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Simple Active Directory - AWS Directory Service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2022 年 5 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 5 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202205</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202205</guid><pubDate>Wed, 01 Jun 2022 04:53:38 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 5 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ドキュメンテーション&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&quot; aria-label=&quot;ドキュメンテーション permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ドキュメンテーション&lt;/h2&gt;
&lt;h3 id=&quot;sphinxをはじめよう-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sphinx%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;sphinxをはじめよう 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x4Ukf3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Sphinxをはじめよう 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119839?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=eaa4cb69654a46099e8cf5009f6bec0d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119839&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119839&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Sphinx を使ったドキュメンテーションが便利だとおすすめされたため、オライリーのこちらの本を読んでみました。&lt;/p&gt;
&lt;p&gt;ドキュメントに限らず、個人ブログなどを作る場合にも使えそうで、たしかに便利そうでした。&lt;/p&gt;
&lt;p&gt;実際にさわってはいないのですが、ちょっとした静的サイトを作りたくなった際などに使ってみたいと思いました。&lt;/p&gt;
&lt;h2 id=&quot;アプリケーション&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&quot; aria-label=&quot;アプリケーション permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アプリケーション&lt;/h2&gt;
&lt;h3 id=&quot;良いコード／悪いコードで学ぶ設計入門保守しやすい-成長し続けるコードの書き方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%8F%E6%82%AA%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E5%AD%A6%E3%81%B6%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80%E4%BF%9D%E5%AE%88%E3%81%97%E3%82%84%E3%81%99%E3%81%84-%E6%88%90%E9%95%B7%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9&quot; aria-label=&quot;良いコード／悪いコードで学ぶ設計入門保守しやすい 成長し続けるコードの書き方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GRHhRv&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;良いコード／悪いコードで学ぶ設計入門―保守しやすい　成長し続けるコードの書き方&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09Y1MWK9N?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e188e92df7183285fc44f56460ba3506&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09Y1MWK9N&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09Y1MWK9N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;話題になっていた『良いコード／悪いコードで学ぶ設計入門』を読みました。&lt;/p&gt;
&lt;p&gt;一言で言えば、「（オブジェクト指向プログラミング言語の）今風のクラス設計の入門書」だなと思いました。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3M4krac&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング&lt;/a&gt;』や『&lt;a href=&quot;https://amzn.to/3GCg2Kh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Code Complete&lt;/a&gt;』等の分厚い本を色々読めば学べる内容を、現代の実践で遭遇しやすいものに限定して読みやすく学べるイメージです。&lt;/p&gt;
&lt;p&gt;個人的に特に参考になったのは、「利用規約をモデリングに活かす」という話で、今後実際にやってみたいと思いました。&lt;/p&gt;
&lt;h2 id=&quot;セキュリティ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&quot; aria-label=&quot;セキュリティ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セキュリティ&lt;/h2&gt;
&lt;h3 id=&quot;saml入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saml%E5%85%A5%E9%96%80&quot; aria-label=&quot;saml入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://zenn.dev/kxn4t/books/3778cace88911a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SAML入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Zenn などで購入できる SAML の入門書です。&lt;/p&gt;
&lt;p&gt;仕事で SAML を理解する必要があったので、読んでみました。&lt;/p&gt;
&lt;p&gt;結論としては、SAML に入門したい人にめちゃくちゃおすすめできる一冊です。&lt;/p&gt;
&lt;p&gt;SAML のとっかかりが分かりやすくまとまっている情報源はほとんどなく、キャッチアップがかなり難しいのですが、この本を読めば最初に知るべきことを程よくおさえることができます。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;software-design-ソフトウェアデザイン-2022年05月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2022%E5%B9%B405%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2022年05月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3t8Xjk8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2022年05月号&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09XL3X1ST?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4d0c607a4ec6c299d910e73c85cff63e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09XL3X1ST&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09XL3X1ST&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;webdb-press-vol128&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webdb-press-vol128&quot; aria-label=&quot;webdb press vol128 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GCUMUS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB+DB PRESS Vol.128&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09Y8BF6T7?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=60dddfbbc9a1a833c7297be1f6ed5762&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09Y8BF6T7&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09Y8BF6T7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Software Design と WEB+DB PRESS を 1 冊ずつ読みました。&lt;/p&gt;
&lt;p&gt;AWS関連の細々した知らなかったことを知ることができたり、Ubuntu などの Linux デスクトップについてもう少しちゃんと知識をつけたいなという気持ちになりました。&lt;/p&gt;
&lt;h2 id=&quot;「完全初心者への徹底解説」シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC%E3%80%8D%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;「完全初心者への徹底解説」シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「完全初心者への徹底解説」シリーズ&lt;/h2&gt;
&lt;h3 id=&quot;web3-完全初心者への徹底解説-社会を変える緻密なアルゴリズム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web3-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E7%A4%BE%E4%BC%9A%E3%82%92%E5%A4%89%E3%81%88%E3%82%8B%E7%B7%BB%E5%AF%86%E3%81%AA%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&quot; aria-label=&quot;web3 完全初心者への徹底解説 社会を変える緻密なアルゴリズム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38BSmcD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web3　完全初心者への徹底解説: 社会を変える緻密なアルゴリズム&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09QMT4TFG?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=74b0b6d58fb95092fd3db91336c88705&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09QMT4TFG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09QMT4TFG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;nft-完全初心者への徹底解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;nft 完全初心者への徹底解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3m2o067&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NFT 完全初心者への徹底解説&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094YWFGMK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ac85b04ac4dde93fe9e53366490cc010&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094YWFGMK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B094YWFGMK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;メタバース-完全初心者への徹底解説-2021年-仮想世界を巡る百花繚乱時代&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-2021%E5%B9%B4-%E4%BB%AE%E6%83%B3%E4%B8%96%E7%95%8C%E3%82%92%E5%B7%A1%E3%82%8B%E7%99%BE%E8%8A%B1%E7%B9%9A%E4%B9%B1%E6%99%82%E4%BB%A3&quot; aria-label=&quot;メタバース 完全初心者への徹底解説 2021年 仮想世界を巡る百花繚乱時代 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38B3Cpt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバース　完全初心者への徹底解説: 2021年 仮想世界を巡る百花繚乱時代&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KZRWCJ9?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6876f0a404a47665e21e4d7e10ac24e3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KZRWCJ9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KZRWCJ9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;dao-完全初心者への徹底解説-具体事例で見る分散型自律組織&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dao-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E5%85%B7%E4%BD%93%E4%BA%8B%E4%BE%8B%E3%81%A7%E8%A6%8B%E3%82%8B%E5%88%86%E6%95%A3%E5%9E%8B%E8%87%AA%E5%BE%8B%E7%B5%84%E7%B9%94&quot; aria-label=&quot;dao 完全初心者への徹底解説 具体事例で見る分散型自律組織 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3m35F8R&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DAO 完全初心者への徹底解説: 具体事例で見る分散型自律組織&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09XRF7BLM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=756918b7974f7ee3d7a788af398654f1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09XRF7BLM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09XRF7BLM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;defi-完全初心者への徹底解説-画期的な分散型金融の実像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#defi-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E7%94%BB%E6%9C%9F%E7%9A%84%E3%81%AA%E5%88%86%E6%95%A3%E5%9E%8B%E9%87%91%E8%9E%8D%E3%81%AE%E5%AE%9F%E5%83%8F&quot; aria-label=&quot;defi 完全初心者への徹底解説 画期的な分散型金融の実像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GAF38T&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DeFi 完全初心者への徹底解説: 画期的な分散型金融の実像&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C3DLZ4K?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1a4d576f2b1cef0952d996137f210e16&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C3DLZ4K&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09C3DLZ4K&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;話題の技術について学べる「完全初心者への徹底解説」シリーズを読みました。&lt;/p&gt;
&lt;p&gt;先月『&lt;a href=&quot;https://amzn.to/3lZFgsD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GPT-3 完全初心者への徹底解説&lt;/a&gt;』を読んでよかったので、このシリーズの他の本も読んでみたところ、最近話題の技術のとっかかりを学ぶのにとてもよかったです。&lt;/p&gt;
&lt;p&gt;特に Web3・DAO・DeFi については全く知識がなかったのですが、とっかかりを知って面白そうだと思えたので、もう少しキャッチアップしていこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;動画販売&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E8%B2%A9%E5%A3%B2&quot; aria-label=&quot;動画販売 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画販売&lt;/h2&gt;
&lt;h3 id=&quot;めざせ講師デビュー！オンラインレッスン超入門-レッスンの方法から動画教材の作成、販売までこれ一冊で！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%81%E3%81%96%E3%81%9B%E8%AC%9B%E5%B8%AB%E3%83%87%E3%83%93%E3%83%A5%E3%83%BC%EF%BC%81%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3%E8%B6%85%E5%85%A5%E9%96%80-%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%8B%E3%82%89%E5%8B%95%E7%94%BB%E6%95%99%E6%9D%90%E3%81%AE%E4%BD%9C%E6%88%90%E3%80%81%E8%B2%A9%E5%A3%B2%E3%81%BE%E3%81%A7%E3%81%93%E3%82%8C%E4%B8%80%E5%86%8A%E3%81%A7%EF%BC%81&quot; aria-label=&quot;めざせ講師デビュー！オンラインレッスン超入門 レッスンの方法から動画教材の作成、販売までこれ一冊で！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3m3yQc4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;めざせ講師デビュー！オンラインレッスン超入門: レッスンの方法から動画教材の作成、販売までこれ一冊で！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08R7PCQSG?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3c5e07808feb8bab7aeff1ba549d6084&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08R7PCQSG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08R7PCQSG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がudemy講師になったほうがいい４つの理由&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E6%99%82%E7%9F%AD%E6%9C%AC%E3%80%91%E3%83%8D%E3%83%83%E3%83%88%E3%81%8B%E3%82%89%E6%96%B0%E8%A6%8F%E3%81%AE%E8%A6%8B%E8%BE%BC%E3%81%BF%E5%AE%A2%E3%82%92%E9%9B%86%E5%AE%A2%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%A8%E6%82%A9%E3%82%93%E3%81%A7%E3%81%84%E3%82%8B%E4%BA%BA%E3%81%8Cudemy%E8%AC%9B%E5%B8%AB%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%BB%E3%81%86%E3%81%8C%E3%81%84%E3%81%84%EF%BC%94%E3%81%A4%E3%81%AE%E7%90%86%E7%94%B1&quot; aria-label=&quot;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がudemy講師になったほうがいい４つの理由 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がUdemy講師になったほうがいい４つの理由&lt;/h3&gt;
&lt;h3 id=&quot;udemy講師超入門【在宅ワーク】【在宅副業】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy%E8%AC%9B%E5%B8%AB%E8%B6%85%E5%85%A5%E9%96%80%E3%80%90%E5%9C%A8%E5%AE%85%E3%83%AF%E3%83%BC%E3%82%AF%E3%80%91%E3%80%90%E5%9C%A8%E5%AE%85%E5%89%AF%E6%A5%AD%E3%80%91&quot; aria-label=&quot;udemy講師超入門【在宅ワーク】【在宅副業】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3M6Vuej&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Udemy講師超入門【在宅ワーク】【在宅副業】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09GRDWS5Z?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c60353fe7d4ce78c78b88a04c271fe63&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09GRDWS5Z&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09GRDWS5Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;好きなことをオンライン講座にする方法-ゼロからはじめるudemy講師デビュー-今すぐあなたのオンライン講座を出そう！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A5%BD%E3%81%8D%E3%81%AA%E3%81%93%E3%81%A8%E3%82%92%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8Budemy%E8%AC%9B%E5%B8%AB%E3%83%87%E3%83%93%E3%83%A5%E3%83%BC-%E4%BB%8A%E3%81%99%E3%81%90%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%82%92%E5%87%BA%E3%81%9D%E3%81%86%EF%BC%81&quot; aria-label=&quot;好きなことをオンライン講座にする方法 ゼロからはじめるudemy講師デビュー 今すぐあなたのオンライン講座を出そう！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3M4qbkg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;好きなことをオンライン講座にする方法　ゼロからはじめるUdemy講師デビュー: 今すぐあなたのオンライン講座を出そう！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C383PYR?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5ecbdf05ed202a5a3cbed0cc6c6bd176&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C383PYR&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09C383PYR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;udemy完全攻略マニュアル-後発参入者でもゼロから「オンライン学習サイトudemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy%E5%AE%8C%E5%85%A8%E6%94%BB%E7%95%A5%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB-%E5%BE%8C%E7%99%BA%E5%8F%82%E5%85%A5%E8%80%85%E3%81%A7%E3%82%82%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%80%8C%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E5%AD%A6%E7%BF%92%E3%82%B5%E3%82%A4%E3%83%88udemy%E3%80%8D%E3%82%92%E6%94%BB%E7%95%A5%E3%81%97%E4%B8%8D%E5%8A%B4%E6%89%80%E5%BE%97%E3%82%92%E7%94%9F%E3%81%BF%E5%87%BA%E3%81%99%E6%A5%B5%E6%84%8F%E3%81%A8%E5%A3%B2%E3%82%8C%E3%82%8B%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E3%80%82&quot; aria-label=&quot;udemy完全攻略マニュアル 後発参入者でもゼロから「オンライン学習サイトudemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x1iozf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Udemy完全攻略マニュアル: 後発参入者でもゼロから「オンライン学習サイトUdemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08TR2BK2B?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a62fd1cd8e650e318274410545d4d65e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08TR2BK2B&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08TR2BK2B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;はじめての動画教材の作り方-もうみんな導入しているeラーニング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E5%8B%95%E7%94%BB%E6%95%99%E6%9D%90%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E3%82%82%E3%81%86%E3%81%BF%E3%82%93%E3%81%AA%E5%B0%8E%E5%85%A5%E3%81%97%E3%81%A6%E3%81%84%E3%82%8Be%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0&quot; aria-label=&quot;はじめての動画教材の作り方 もうみんな導入しているeラーニング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x786xq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめての動画教材の作り方: もうみんな導入しているeラーニング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09XJ88524?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=80e8b45881195d6f640ff3a6c6f99419&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09XJ88524&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09XJ88524&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;エンジニアがオンライン講座で自宅でラクラク儲ける方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%A7%E8%87%AA%E5%AE%85%E3%81%A7%E3%83%A9%E3%82%AF%E3%83%A9%E3%82%AF%E5%84%B2%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95&quot; aria-label=&quot;エンジニアがオンライン講座で自宅でラクラク儲ける方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3M5dllJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンジニアがオンライン講座で自宅でラクラク儲ける方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798048674?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fb2c86d44137427f6d022c19755aed0e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798048674&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798048674&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Udemy 講座を作るため、参考になりそうな本をいくつか手に取ってみました。&lt;/p&gt;
&lt;p&gt;講座作成のヒントが色々と得られて、とても参考になりました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 17 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は Web3 関連について概要的な知識を得られたのと、Udemy 講座の作り方について知見を得られたのが良かったです。&lt;/p&gt;
&lt;p&gt;ページ数の少ない電子書籍をたくさん読んだため、読んだ冊数としては多めになりました。&lt;/p&gt;
&lt;p&gt;今後もこのくらいのペースで本を読んでいきたいです。&lt;/p&gt;
&lt;p&gt;数ヶ月前に取り組み始めた OS 自作は止まってしまっているので、来月こそは進めたいものです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[話題の技術のとっかかりを学べる『完全初心者への徹底解説』シリーズの紹介]]></title><description><![CDATA[Kindle の電子書籍『完全初心者への徹底解説』シリーズを読んでよかったので、こちらの記事でまとめて紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/thorough-explanation-for-complete-beginners-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/thorough-explanation-for-complete-beginners-books</guid><pubDate>Mon, 30 May 2022 10:22:07 GMT</pubDate><content:encoded>&lt;p&gt;Kindle の電子書籍『完全初心者への徹底解説』シリーズを読んでよかったので、こちらの記事でまとめて紹介します。&lt;/p&gt;
&lt;h2 id=&quot;『完全初心者への徹底解説』シリーズとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8E%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC%E3%80%8F%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;『完全初心者への徹底解説』シリーズとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;『完全初心者への徹底解説』シリーズとは？&lt;/h2&gt;
&lt;p&gt;『完全初心者への徹底解説』シリーズは、日本語の情報がまだ少ない IT 関連の技術領域を解説している、Kindle の電子書籍シリーズです。&lt;/p&gt;
&lt;p&gt;1 冊あたり数 100 ページ程度の分量で、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習&lt;/li&gt;
&lt;li&gt;メタバース&lt;/li&gt;
&lt;li&gt;ブロックチェーン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった領域の各種テーマを解説しています。&lt;/p&gt;
&lt;p&gt;特徴としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最近話題の技術の概要を知ることができる&lt;/li&gt;
&lt;li&gt;かなり中立的な立場で解説されている&lt;/li&gt;
&lt;li&gt;技術的な詳細まで立ち入らず、その分野のとっかかりとして程よい難易度&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっており、個人的にはかなりおすすめです。&lt;/p&gt;
&lt;p&gt;著者は白辺陽さんという方ですが、経歴などは不明です。&lt;/p&gt;
&lt;p&gt;※『完全初心者への徹底解説』シリーズという呼び方は、この記事で勝手にしているだけで公式なものではないです。&lt;/p&gt;
&lt;h2 id=&quot;シリーズの紹介&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%81%AE%E7%B4%B9%E4%BB%8B&quot; aria-label=&quot;シリーズの紹介 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;シリーズの紹介&lt;/h2&gt;
&lt;p&gt;ここから、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習&lt;/li&gt;
&lt;li&gt;メタバース&lt;/li&gt;
&lt;li&gt;ブロックチェーン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;に分類して、本を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;gpt-3-完全初心者への徹底解説-最強の文章生成aiの実像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gpt-3-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E6%9C%80%E5%BC%B7%E3%81%AE%E6%96%87%E7%AB%A0%E7%94%9F%E6%88%90ai%E3%81%AE%E5%AE%9F%E5%83%8F&quot; aria-label=&quot;gpt 3 完全初心者への徹底解説 最強の文章生成aiの実像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3t5Qy2m&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GPT-3 完全初心者への徹底解説: 最強の文章生成AIの実像&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B098M6JN3L?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1e53e63fbc9d1866651d75278fcfe811&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B098M6JN3L&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B098M6JN3L&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OpenAI が開発した機械学習モデル「GPT-3」についての解説書です。&lt;/p&gt;
&lt;p&gt;GPT-3 の概要や活用事例などが載っています。&lt;/p&gt;
&lt;p&gt;さくっと読める分量なので、活用事例 (いわゆる文章の生成から、JSXのコード生成、画像の生成などなど) だけでも読んでみるととても面白いです。&lt;/p&gt;
&lt;h2 id=&quot;メタバース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9&quot; aria-label=&quot;メタバース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバース&lt;/h2&gt;
&lt;h3 id=&quot;メタバース-完全初心者への徹底解説-2021年-仮想世界を巡る百花繚乱時代&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-2021%E5%B9%B4-%E4%BB%AE%E6%83%B3%E4%B8%96%E7%95%8C%E3%82%92%E5%B7%A1%E3%82%8B%E7%99%BE%E8%8A%B1%E7%B9%9A%E4%B9%B1%E6%99%82%E4%BB%A3&quot; aria-label=&quot;メタバース 完全初心者への徹底解説 2021年 仮想世界を巡る百花繚乱時代 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3t5jE1P&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバース　完全初心者への徹底解説: 2021年 仮想世界を巡る百花繚乱時代&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KZRWCJ9?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=044e37e226dc503b2077f181a68727a5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KZRWCJ9&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09KZRWCJ9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらは「メタバース」についての解説書です。&lt;/p&gt;
&lt;p&gt;2021 年 10 月に Facebook が社名を「Meta」に変更して以来、広く認知されるようになった「メタバース」について、ざっくり知ることができる内容になっています。&lt;/p&gt;
&lt;h2 id=&quot;ブロックチェーン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3&quot; aria-label=&quot;ブロックチェーン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブロックチェーン&lt;/h2&gt;
&lt;h3 id=&quot;web3-完全初心者への徹底解説-社会を変える緻密なアルゴリズム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web3-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E7%A4%BE%E4%BC%9A%E3%82%92%E5%A4%89%E3%81%88%E3%82%8B%E7%B7%BB%E5%AF%86%E3%81%AA%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&quot; aria-label=&quot;web3 完全初心者への徹底解説 社会を変える緻密なアルゴリズム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3t4wjCt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web3　完全初心者への徹底解説: 社会を変える緻密なアルゴリズム&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09QMT4TFG?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=308e796ab4109fc0b407f4cfb2781a16&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09QMT4TFG&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09QMT4TFG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;nft-完全初心者への徹底解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;nft 完全初心者への徹底解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ajx0B6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NFT 完全初心者への徹底解説&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094YWFGMK?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1b73773de780c7d10bbad5e789d29bf7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094YWFGMK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B094YWFGMK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;dao-完全初心者への徹底解説-具体事例で見る分散型自律組織&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dao-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E5%85%B7%E4%BD%93%E4%BA%8B%E4%BE%8B%E3%81%A7%E8%A6%8B%E3%82%8B%E5%88%86%E6%95%A3%E5%9E%8B%E8%87%AA%E5%BE%8B%E7%B5%84%E7%B9%94&quot; aria-label=&quot;dao 完全初心者への徹底解説 具体事例で見る分散型自律組織 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3M0nuQo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DAO 完全初心者への徹底解説: 具体事例で見る分散型自律組織&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09XRF7BLM?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=033e00f45a65aa3bc161a0d22a1ccb72&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09XRF7BLM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09XRF7BLM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;defi-完全初心者への徹底解説-画期的な分散型金融の実像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#defi-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E7%94%BB%E6%9C%9F%E7%9A%84%E3%81%AA%E5%88%86%E6%95%A3%E5%9E%8B%E9%87%91%E8%9E%8D%E3%81%AE%E5%AE%9F%E5%83%8F&quot; aria-label=&quot;defi 完全初心者への徹底解説 画期的な分散型金融の実像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3PQ2f79&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DeFi 完全初心者への徹底解説: 画期的な分散型金融の実像&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C3DLZ4K?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=3eb0365b31e2c895ac0c87f03534bfd8&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C3DLZ4K&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09C3DLZ4K&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web3・NFT・DAO・DeFi といったブロックチェーン関連技術についても、それぞれ解説書があります。&lt;/p&gt;
&lt;p&gt;Web3 や NFT については耳にする機会もかなり増えてきましたが、DAO や DeFi についてはまだまだ聞いたこともないという方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;まずは『&lt;a href=&quot;https://amzn.to/3t4wjCt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web3　完全初心者への徹底解説&lt;/a&gt;』くらいを読んでみると、これらの技術の概要をつかめるのでおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09QMT4TFG?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=845500c7112b60b067c67d1d3ed89f0c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09QMT4TFG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09QMT4TFG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、『完全初心者への徹底解説』シリーズの 6 冊を紹介しました。&lt;/p&gt;
&lt;p&gt;どれも Kindle Unlimited で無料で読めますし、長さとしてもちょっとした空き時間で読めるので、個人的にはとてもおすすめです。&lt;/p&gt;
&lt;p&gt;気になったものから是非手にとってみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Udemy 講座を作ってみるにあたって読んでみた本 7 冊のまとめ]]></title><description><![CDATA[Udemy 講座を作ってみようと思い、関係しそうな本をいくつか読んでみたので、「Udemy 講座の作り方を学ぶための書籍 (3 冊)」、「Udemy 講座を作るモチベーションを高めるための書籍 (2 冊)」、「その他 (2 冊)」に分類して紹介していきます。
]]></description><link>https://www.kanzennirikaisita.com/posts/udemy-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/udemy-books</guid><pubDate>Fri, 27 May 2022 10:15:29 GMT</pubDate><content:encoded>&lt;p&gt;Udemy 講座を作ってみようと思い、関係しそうな本をいくつか読んでみたので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Udemy 講座の作り方を学ぶための書籍 (3 冊)&lt;/li&gt;
&lt;li&gt;Udemy 講座を作るモチベーションを高めるための書籍 (2 冊)&lt;/li&gt;
&lt;li&gt;その他 (2 冊)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;に分類して紹介していきます。&lt;/p&gt;
&lt;p&gt;※ ほとんど全ての本が電子書籍で、Kindle Unlimited で無料で読めます。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座の作り方を学ぶための書籍-3-冊&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E3%82%92%E5%AD%A6%E3%81%B6%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D-3-%E5%86%8A&quot; aria-label=&quot;udemy 講座の作り方を学ぶための書籍 3 冊 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座の作り方を学ぶための書籍 (3 冊)&lt;/h2&gt;
&lt;h3 id=&quot;udemy完全攻略マニュアル-後発参入者でもゼロから「オンライン学習サイトudemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy%E5%AE%8C%E5%85%A8%E6%94%BB%E7%95%A5%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB-%E5%BE%8C%E7%99%BA%E5%8F%82%E5%85%A5%E8%80%85%E3%81%A7%E3%82%82%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%80%8C%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E5%AD%A6%E7%BF%92%E3%82%B5%E3%82%A4%E3%83%88udemy%E3%80%8D%E3%82%92%E6%94%BB%E7%95%A5%E3%81%97%E4%B8%8D%E5%8A%B4%E6%89%80%E5%BE%97%E3%82%92%E7%94%9F%E3%81%BF%E5%87%BA%E3%81%99%E6%A5%B5%E6%84%8F%E3%81%A8%E5%A3%B2%E3%82%8C%E3%82%8B%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E3%80%82&quot; aria-label=&quot;udemy完全攻略マニュアル 後発参入者でもゼロから「オンライン学習サイトudemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GsPUl1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Udemy完全攻略マニュアル: 後発参入者でもゼロから「オンライン学習サイトUdemy」を攻略し不労所得を生み出す極意と売れるオンライン講座の作り方。&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08TR2BK2B?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e755088e598c034dc2878263e61626f7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08TR2BK2B&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08TR2BK2B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Udemy 講座の作り方について解説した電子書籍です。&lt;/p&gt;
&lt;p&gt;タイトルに書かれている通り、後発参入であることを踏まえたヒントなども書かれています。&lt;/p&gt;
&lt;p&gt;私が見つけた電子書籍の中では一番手厚いです。
(といっても 150 ページほどなので、簡単に読めます)&lt;/p&gt;
&lt;p&gt;Kindle Unlimited に入っている方は無料で読めるので、まずはこちらを読んでみるのがいいと思います。&lt;/p&gt;
&lt;h3 id=&quot;好きなことをオンライン講座にする方法-ゼロからはじめるudemy講師デビュー-今すぐあなたのオンライン講座を出そう！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A5%BD%E3%81%8D%E3%81%AA%E3%81%93%E3%81%A8%E3%82%92%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8Budemy%E8%AC%9B%E5%B8%AB%E3%83%87%E3%83%93%E3%83%A5%E3%83%BC-%E4%BB%8A%E3%81%99%E3%81%90%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%82%92%E5%87%BA%E3%81%9D%E3%81%86%EF%BC%81&quot; aria-label=&quot;好きなことをオンライン講座にする方法 ゼロからはじめるudemy講師デビュー 今すぐあなたのオンライン講座を出そう！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/39Zja6G&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;好きなことをオンライン講座にする方法　ゼロからはじめるUdemy講師デビュー: 今すぐあなたのオンライン講座を出そう！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09C383PYR?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4e1da642253dca98ce7d3feb5d197a23&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09C383PYR&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09C383PYR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも Udemy 講座の作り方を一通り学べる電子書籍です。&lt;/p&gt;
&lt;p&gt;先ほどの『Udemy完全攻略マニュアル』と比べるとページ数も少なめで、さらにさらっと読めます。&lt;/p&gt;
&lt;p&gt;ざっくり概要をつかみたいということであればちょうど良いと思います。&lt;/p&gt;
&lt;h3 id=&quot;エンジニアがオンライン講座で自宅でラクラク儲ける方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E8%AC%9B%E5%BA%A7%E3%81%A7%E8%87%AA%E5%AE%85%E3%81%A7%E3%83%A9%E3%82%AF%E3%83%A9%E3%82%AF%E5%84%B2%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95&quot; aria-label=&quot;エンジニアがオンライン講座で自宅でラクラク儲ける方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3MVGGjE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンジニアがオンライン講座で自宅でラクラク儲ける方法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798048674?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=9052324e6a8545c546cc5c07ddbb8704&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798048674&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798048674&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この記事で紹介する唯一の物理本です。&lt;/p&gt;
&lt;p&gt;表紙には書かれていませんが、Udemy についての本になります。&lt;/p&gt;
&lt;p&gt;物理本なだけあり、ボリュームは他に紹介している電子書籍よりも手厚いです。&lt;/p&gt;
&lt;p&gt;2016 年発売のため Udemy の仕様が変わっている箇所などもあると思われますが、2022 年現在でも参考になる内容です。&lt;/p&gt;
&lt;p&gt;物理本が好きな方には良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;udemy-講座を作るモチベーションを高めるための書籍-2-冊&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy-%E8%AC%9B%E5%BA%A7%E3%82%92%E4%BD%9C%E3%82%8B%E3%83%A2%E3%83%81%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D-2-%E5%86%8A&quot; aria-label=&quot;udemy 講座を作るモチベーションを高めるための書籍 2 冊 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udemy 講座を作るモチベーションを高めるための書籍 (2 冊)&lt;/h2&gt;
&lt;h3 id=&quot;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がudemy講師になったほうがいい４つの理由&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E6%99%82%E7%9F%AD%E6%9C%AC%E3%80%91%E3%83%8D%E3%83%83%E3%83%88%E3%81%8B%E3%82%89%E6%96%B0%E8%A6%8F%E3%81%AE%E8%A6%8B%E8%BE%BC%E3%81%BF%E5%AE%A2%E3%82%92%E9%9B%86%E5%AE%A2%E3%81%A6%E3%82%99%E3%81%8D%E3%81%AA%E3%81%84%E3%81%A8%E6%82%A9%E3%82%93%E3%81%A6%E3%82%99%E3%81%84%E3%82%8B%E4%BA%BA%E3%81%8B%E3%82%99udemy%E8%AC%9B%E5%B8%AB%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%BB%E3%81%86%E3%81%8B%E3%82%99%E3%81%84%E3%81%84%EF%BC%94%E3%81%A4%E3%81%AE%E7%90%86%E7%94%B1&quot; aria-label=&quot;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がudemy講師になったほうがいい４つの理由 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3POfPb2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【時短本】ネットから新規の見込み客を集客できないと悩んでいる人がUdemy講師になったほうがいい４つの理由&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09DWWGGT6?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e1bd678aec0afef4dd3138d76ba45386&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09DWWGGT6&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09DWWGGT6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、Udemy 講師のなり方というよりも、なぜそれがおすすめなのかを語った本です。&lt;/p&gt;
&lt;p&gt;具体的な Udemy 講師のなり方を知りたいというよりも、モチベーションを高めたいといった場合に適している本になります。&lt;/p&gt;
&lt;h3 id=&quot;udemy講師超入門【在宅ワーク】【在宅副業】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udemy%E8%AC%9B%E5%B8%AB%E8%B6%85%E5%85%A5%E9%96%80%E3%80%90%E5%9C%A8%E5%AE%85%E3%83%AF%E3%83%BC%E3%82%AF%E3%80%91%E3%80%90%E5%9C%A8%E5%AE%85%E5%89%AF%E6%A5%AD%E3%80%91&quot; aria-label=&quot;udemy講師超入門【在宅ワーク】【在宅副業】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/39ZiIW2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Udemy講師超入門【在宅ワーク】【在宅副業】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09GRDWS5Z?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cb8eb364744dd25e71a3fb2b3a9a5092&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09GRDWS5Z&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09GRDWS5Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Udemy 講師のメリットとなり方の概要を非常にシンプルにまとめた本です。&lt;/p&gt;
&lt;p&gt;具体的ななり方というよりも、メリットを読んでモチベーションを高めるという効果が大きいと思います。&lt;/p&gt;
&lt;h2 id=&quot;その他-2-冊&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96-2-%E5%86%8A&quot; aria-label=&quot;その他 2 冊 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他 (2 冊)&lt;/h2&gt;
&lt;h3 id=&quot;めざせ講師デビュー！オンラインレッスン超入門-レッスンの方法から動画教材の作成、販売までこれ一冊で！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%81%E3%81%96%E3%81%9B%E8%AC%9B%E5%B8%AB%E3%83%87%E3%83%93%E3%83%A5%E3%83%BC%EF%BC%81%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3%E8%B6%85%E5%85%A5%E9%96%80-%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%8B%E3%82%89%E5%8B%95%E7%94%BB%E6%95%99%E6%9D%90%E3%81%AE%E4%BD%9C%E6%88%90%E3%80%81%E8%B2%A9%E5%A3%B2%E3%81%BE%E3%81%A7%E3%81%93%E3%82%8C%E4%B8%80%E5%86%8A%E3%81%A7%EF%BC%81&quot; aria-label=&quot;めざせ講師デビュー！オンラインレッスン超入門 レッスンの方法から動画教材の作成、販売までこれ一冊で！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38LCdl3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;めざせ講師デビュー！オンラインレッスン超入門: レッスンの方法から動画教材の作成、販売までこれ一冊で！&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08R7PCQSG?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e5401d822b4c92ec4e5a502feacba78d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08R7PCQSG&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08R7PCQSG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Udemy のような動画教材の前に、オンラインレッスンの講師として副業をする方法を解説した本です。&lt;/p&gt;
&lt;p&gt;とても多くの分野でオンラインレッスンというものを作ることができるんだなと感じられました。&lt;/p&gt;
&lt;p&gt;最後の方では、Udemy などのプラットフォームでの動画教材の販売についても書かれています。&lt;/p&gt;
&lt;h3 id=&quot;はじめての動画教材の作り方-もうみんな導入しているeラーニング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E5%8B%95%E7%94%BB%E6%95%99%E6%9D%90%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E3%82%82%E3%81%86%E3%81%BF%E3%82%93%E3%81%AA%E5%B0%8E%E5%85%A5%E3%81%97%E3%81%A6%E3%81%84%E3%82%8Be%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0&quot; aria-label=&quot;はじめての動画教材の作り方 もうみんな導入しているeラーニング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wUrzjS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめての動画教材の作り方: もうみんな導入しているeラーニング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09XJ88524?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=aafad545e736e94b5ed0999fd812b51f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09XJ88524&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09XJ88524&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;動画教材を作るための考え方や機材などについて簡単にまとめられている本です。&lt;/p&gt;
&lt;p&gt;さくっと概要をつかむことができるようなボリューム感です。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;以上、Udemy 講座を作るにあたって読んでみた書籍をまとめました。&lt;/p&gt;
&lt;p&gt;もしどれか 1 冊ということであれば、『&lt;a href=&quot;https://amzn.to/3GsPUl1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Udemy完全攻略マニュアル&lt;/a&gt;』を読んでみるのが良いと思います。&lt;/p&gt;
&lt;p&gt;ただ、Kindle Unlimited に入ればほとんどの本が無料で読めます。&lt;/p&gt;
&lt;p&gt;1 つ 1 つはページ数も少なめの本が多いですし、Kindle Unlimited に入った上で気になるものをどんどん読んでみるのもおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08TR2BK2B?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6bf95edf492117743cc3ef62aa523545&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08TR2BK2B&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08TR2BK2B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 4 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 4 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202204</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202204</guid><pubDate>Sun, 01 May 2022 06:04:58 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 4 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;java&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#java&quot; aria-label=&quot;java permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Java&lt;/h2&gt;
&lt;h3 id=&quot;プロになるjava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%81%AB%E3%81%AA%E3%82%8Bjava%E4%BB%95%E4%BA%8B%E3%81%A7%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E7%9F%A5%E8%AD%98%E3%81%8C%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E6%9C%80%E9%AB%98%E3%81%AE%E6%8C%87%E5%8D%97%E6%9B%B8&quot; aria-label=&quot;プロになるjava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/373ou8f&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09VK3FTDM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=192daf4bf534a86094d574544d924e82&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09VK3FTDM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09VK3FTDM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java の解説書として話題になっていた『プロになるJava』を読みました。&lt;/p&gt;
&lt;p&gt;自分は Java は結構使ってきていますが、それでも勉強になるとても良い本でした。&lt;/p&gt;
&lt;p&gt;詳しい感想などは &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4297126850&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめてあります。&lt;/p&gt;
&lt;h2 id=&quot;アルゴリズム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&quot; aria-label=&quot;アルゴリズム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アルゴリズム&lt;/h2&gt;
&lt;h3 id=&quot;リバーシのアルゴリズム-cjava対応「探索アルゴリズム」「評価関数」の設計と実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%90%E3%83%BC%E3%82%B7%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-cjava%E5%AF%BE%E5%BF%9C%E3%80%8C%E6%8E%A2%E7%B4%A2%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%80%8D%E3%80%8C%E8%A9%95%E4%BE%A1%E9%96%A2%E6%95%B0%E3%80%8D%E3%81%AE%E8%A8%AD%E8%A8%88%E3%81%A8%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;リバーシのアルゴリズム cjava対応「探索アルゴリズム」「評価関数」の設計と実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vwO52P&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リバーシのアルゴリズム C++&amp;#x26;Java対応―「探索アルゴリズム」「評価関数」の設計と実装&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4875934289?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=50b8826f815edc24abd8f0e50d6f823f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4875934289&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4875934289&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;サンプルコードでリバーシを実装したかったので、改めて勉強するために『リバーシのアルゴリズム』を読みました。&lt;/p&gt;
&lt;p&gt;前提知識が全然なかったので、特に AI エンジンの実装については知らないアルゴリズムだらけで勉強になりました。&lt;/p&gt;
&lt;p&gt;何よりプログラムの設計がきれいで、オブジェクト指向プログラミングの練習におすすめしたい本でした。
（20年近く前の本なので、コードの読み替えは多少必要です）&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;software-design-ソフトウェアデザイン-2022年04月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2022%E5%B9%B404%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2022年04月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/372bTSC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2022年04月号&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09V4Z5S14?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=31598f8f53c751366a9e4bdadd830659&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09V4Z5S14&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09V4Z5S14&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;購読しているのになかなか読めていたなった Software Design の 4 月号を読みました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OSS のセキュリティに関する Alpha-Omega Project&lt;/li&gt;
&lt;li&gt;GitのConventional Commits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、知らない知識を得られてよかったです。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;bertによる自然言語処理入門-transformersを使った実践プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bert%E3%81%AB%E3%82%88%E3%82%8B%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E5%85%A5%E9%96%80-transformers%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E5%AE%9F%E8%B7%B5%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;bertによる自然言語処理入門 transformersを使った実践プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38z78jT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;BERTによる自然言語処理入門 ―Transformersを使った実践プログラミング―&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B098J9M4PP?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b671ea46bdc796c9d003738d5870a996&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B098J9M4PP&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B098J9M4PP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;gpt-3-完全初心者への徹底解説-最強の文章生成aiの実像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gpt-3-%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E3%81%B8%E3%81%AE%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E6%9C%80%E5%BC%B7%E3%81%AE%E6%96%87%E7%AB%A0%E7%94%9F%E6%88%90ai%E3%81%AE%E5%AE%9F%E5%83%8F&quot; aria-label=&quot;gpt 3 完全初心者への徹底解説 最強の文章生成aiの実像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3F2cYq2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GPT-3 完全初心者への徹底解説: 最強の文章生成AIの実像&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B098M6JN3L?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=93cd55fea1d2b580d265c9b649eb4587&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B098M6JN3L&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B098M6JN3L&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;xai説明可能なai&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xai%E8%AA%AC%E6%98%8E%E5%8F%AF%E8%83%BD%E3%81%AAai&quot; aria-label=&quot;xai説明可能なai permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vyaQDe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;XAI(説明可能なAI)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B098W4L6DL?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1cf80a683389db5905c1610c8e6aabe0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B098W4L6DL&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B098W4L6DL&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;機械学習まわりの最近の知識を仕入れるため、自然言語処理と XAI 関連で 3 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;BERT、GPT-3、XAI あたりは機械学習のトレンド的なものだと思うので、まずはこういった本で簡単におさえておくのも良いと思います。&lt;/p&gt;
&lt;p&gt;実際にコードを書いたりはしていないので、そのあたりは今後やっていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;インフラ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9&quot; aria-label=&quot;インフラ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インフラ&lt;/h2&gt;
&lt;h3 id=&quot;インフラ女子の日常&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E5%A5%B3%E5%AD%90%E3%81%AE%E6%97%A5%E5%B8%B8&quot; aria-label=&quot;インフラ女子の日常 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rZGGXl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インフラ女子の日常&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09X9XTC8R?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6c17b1bce8171e746bdb22d4e1a810f6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09X9XTC8R&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09X9XTC8R&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なんとなく気になった『インフラ女子の日常』を読みました。&lt;/p&gt;
&lt;p&gt;Twitter で時々見かけて面白いと思っていたのですが、本としてまとまっているのもすごく良かったです。&lt;/p&gt;
&lt;p&gt;気軽に読めるので、少しでも興味がある方は読んでみると良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;負荷試験・性能改善&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B2%A0%E8%8D%B7%E8%A9%A6%E9%A8%93%E3%83%BB%E6%80%A7%E8%83%BD%E6%94%B9%E5%96%84&quot; aria-label=&quot;負荷試験・性能改善 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;負荷試験・性能改善&lt;/h2&gt;
&lt;h3 id=&quot;amazon-web-services負荷試験入門-クラウドの性能の引き出し方がわかる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-web-services%E8%B2%A0%E8%8D%B7%E8%A9%A6%E9%A8%93%E5%85%A5%E9%96%80-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AE%E6%80%A7%E8%83%BD%E3%81%AE%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%97%E6%96%B9%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B&quot; aria-label=&quot;amazon web services負荷試験入門 クラウドの性能の引き出し方がわかる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vwTUxe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services負荷試験入門 ――クラウドの性能の引き出し方がわかる&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075SV3VN3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ed055b74eacdb8cc71d7571b885c5ce6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075SV3VN3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075SV3VN3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;webサービスチューニングコンテスト-isuconのススメ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88-isucon%E3%81%AE%E3%82%B9%E3%82%B9%E3%83%A1&quot; aria-label=&quot;webサービスチューニングコンテスト isuconのススメ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vwTV4g&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webサービスチューニングコンテスト ISUCONのススメ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08V5PK51F?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e1f7ba7abb1d148987c68a7d41ad7012&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08V5PK51F&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08V5PK51F&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ずっと読みたいと思っていた『Amazon Web Services負荷試験入門』を読みました。&lt;/p&gt;
&lt;p&gt;噂通りめちゃくちゃ良い本で、AWS などのクラウドに限らず、オンプレミスでの負荷試験でもすごく参考になる内容でした。&lt;/p&gt;
&lt;p&gt;また、ISUCON の概要を知りたかったので、『ISUCONのススメ』も読んでみました。&lt;/p&gt;
&lt;h2 id=&quot;tla&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tla&quot; aria-label=&quot;tla permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TLA+&lt;/h2&gt;
&lt;h3 id=&quot;実践tla&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5tla&quot; aria-label=&quot;実践tla permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3MDD99e&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践TLA+&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BJ44451?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2a320b57a08904586654803197457fa8&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BJ44451&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BJ44451&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;TLA+ というものが面白いと聞いたので、『実践TLA+』という本を読んでみました。&lt;/p&gt;
&lt;p&gt;TLA+ という形式仕様言語を使うことで、仕様バグを発見できるという話になります。&lt;/p&gt;
&lt;p&gt;読んだらすぐ実践で使えるというものではないですが、とても面白い発想ですし、どこかで役立つかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 10 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;先月と比べると読めた冊数は多めですが、月の後半はどたばたしてあまり読めなかったので、来月はもっと読書時間をとりたいです。&lt;/p&gt;
&lt;p&gt;また、取り組み始めた OS 自作の手が完全に止まっているので、GW を使って 5 月には完走したいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】書籍『プロになるJava』を読みました]]></title><description><![CDATA[個人的に気になっていた『プロになるJava』を読んだので、感想や、どんな人におすすめかをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4297126850</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297126850</guid><pubDate>Sun, 10 Apr 2022 06:27:11 GMT</pubDate><content:encoded>&lt;p&gt;個人的に気になっていた『プロになるJava』を読んだので、感想や、どんな人におすすめかをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;書籍『プロになるjava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8E%E3%83%97%E3%83%AD%E3%81%AB%E3%81%AA%E3%82%8Bjava%E4%BB%95%E4%BA%8B%E3%81%A7%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E7%9F%A5%E8%AD%98%E3%81%8C%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8F%E6%9C%80%E9%AB%98%E3%81%AE%E6%8C%87%E5%8D%97%E6%9B%B8%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『プロになるjava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3Kr8gEc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09VK3FTDM?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=7b5dbb9b3751a5694d2719b36965148e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09VK3FTDM&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B09VK3FTDM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『プロになるJava』は、2022 年 3 月に発売された Java の解説書です。&lt;/p&gt;
&lt;p&gt;タイトル通り、「プロになる」ということが意識された内容で、Java の基本以外にも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スタックやキューなどのデータ構造&lt;/li&gt;
&lt;li&gt;IDE やビルドツール&lt;/li&gt;
&lt;li&gt;Web アプリケーションやデータベース&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、実践上で知っておくと良いトピックが多数解説されている書籍です。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;自分は Java を実務でも結構使っているため、基本的な部分はほとんど知っている内容ではありましたが、それでも読んでみて勉強になる一冊でした。&lt;/p&gt;
&lt;p&gt;特に「最近の Java ではこう書けます」といった解説など、知らなかった内容も結構あって勉強になりました。&lt;/p&gt;
&lt;p&gt;Java の解説書で必ず登場するオブジェクト指向に関する話題も、抽象データ型や差分プログラミングというキーワードを出しつつまとめられており、とても参考になりました。&lt;/p&gt;
&lt;p&gt;また、一般的なプログラミング言語の解説書とは解説の流れが結構違っており、「こういった解説の仕方も面白いな」という楽しみ方もできました。&lt;/p&gt;
&lt;h2 id=&quot;他の-java-解説書との違い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%96%E3%81%AE-java-%E8%A7%A3%E8%AA%AC%E6%9B%B8%E3%81%A8%E3%81%AE%E9%81%95%E3%81%84&quot; aria-label=&quot;他の java 解説書との違い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;他の Java 解説書との違い&lt;/h2&gt;
&lt;p&gt;『プロになるJava』が特徴的だと感じたのは、解説の流れがよくあるプログラミングの解説書とは違っていることです。&lt;/p&gt;
&lt;p&gt;Java の非プログラミング初心者向け解説書としては『&lt;a href=&quot;https://amzn.to/3E5Jmb2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクトJava&lt;/a&gt;』などがありますが、こちらは結構お堅いまとめ方がされています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00V2WMQNE?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5f22bbb1ba18dc1575bb4ec617740c57&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00V2WMQNE&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00V2WMQNE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;それに対して『プロになるJava』は、実践を意識したサンプルコードを出しつつ、不自然にならないように作られていると感じました。&lt;/p&gt;
&lt;h2 id=&quot;どんな人におすすめか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E4%BA%BA%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%8B&quot; aria-label=&quot;どんな人におすすめか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな人におすすめか&lt;/h2&gt;
&lt;p&gt;実際に読んでみて、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;少しプログラミングに触れたことがあるうえで、Java をしっかり勉強したい&lt;/li&gt;
&lt;li&gt;他のプログラミング言語がある程度使えるうえで、新たに Java をキャッチアップしようとしている&lt;/li&gt;
&lt;li&gt;Java を仕事で使っていて、改めて最近の Java をキャッチアップしたい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった方にとてもおすすめできると感じました。&lt;/p&gt;
&lt;p&gt;(個人的に、プログラミング完全初心者の方が独学で読むのは難しそうだと感じました)&lt;/p&gt;
&lt;p&gt;IntelliJ のショートカットや Java のエコシステムなど、実務で知っておきたい内容が豊富なため、Java を学んでいくとっかかりとしてもすごく良い一冊だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09VK3FTDM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3c73e43a5d2dd5187fe61f809833a842&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09VK3FTDM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09VK3FTDM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 3 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 3 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202203</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202203</guid><pubDate>Thu, 31 Mar 2022 15:31:30 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 3 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;セキュア・バイ・デザイン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%BB%E3%83%90%E3%82%A4%E3%83%BB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3&quot; aria-label=&quot;セキュア・バイ・デザイン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wT0IWX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュア・バイ・デザイン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09F697K2V?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ad4d17e7be7ef412180fb4146ba689df&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09F697K2V&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09F697K2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;表紙の通り、セキュリティの観点からソフトウェア設計を学べる書籍です。&lt;/p&gt;
&lt;p&gt;DDD に強く影響を受けた内容となっており、DDD のメリットを理解するとっかかりとして、この上ない書籍です。&lt;/p&gt;
&lt;p&gt;以前から気になっていたのですが、今月ついに読んでみようと思い手に取りました。&lt;/p&gt;
&lt;p&gt;この一冊を読んだことで、アプリケーションエンジニアとして考えが深まったと感じられる素晴らしい書籍でした。&lt;/p&gt;
&lt;p&gt;非常に良い本だったので、詳しい感想は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/483997599X&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;h2 id=&quot;計算できるもの、計算できないもの-実践的アプローチによる計算理論入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%88%E7%AE%97%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%82%E3%81%AE%E3%80%81%E8%A8%88%E7%AE%97%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%82%82%E3%81%AE-%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%AB%E3%82%88%E3%82%8B%E8%A8%88%E7%AE%97%E7%90%86%E8%AB%96%E5%85%A5%E9%96%80&quot; aria-label=&quot;計算できるもの、計算できないもの 実践的アプローチによる計算理論入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3NCn1pD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;計算できるもの、計算できないもの ―実践的アプローチによる計算理論入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119332?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=367fbde85f96b03869c1d3a3cc27d98d&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119332&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119332&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;一昨年に発売された、計算理論に関するオライリーの書籍です。&lt;/p&gt;
&lt;p&gt;タイトルから想像できる通り、チューリングマシンや「Ｐ≠ＮＰ」問題について解説されています。&lt;/p&gt;
&lt;p&gt;数式などは少なめではありますが、大学の教科書として使われることを想定しているため、ある程度そういった本に慣れていないと難しく感じるかもしれません。&lt;/p&gt;
&lt;p&gt;同じ分野でより平易な書籍としては、ブルーバックスの&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/36KlDAP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;不完全性定理とはなにか&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3uMdjsc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Ｐ≠ＮＰ」問題　現代数学の超難問&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00D6C82A4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fec80ad252f4257715f92592439214e5&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00D6C82A4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00D6C82A4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B015J527QA?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7190701cdfa8d4b5f4e09d1a7c758d63&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B015J527QA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B015J527QA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 2 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;今月は仕事でもプライベートでも予定が多く、読めた本の数が非常に少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;4 月は時間の余裕ができそうなので、読書もしっかり復活していきたいです。&lt;/p&gt;
&lt;p&gt;また、OS 自作にも取り組み始めたものの、ほとんど進まずにいます。&lt;/p&gt;
&lt;p&gt;OS 自作も、来月には完走を目指して進めてしまおうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】書籍『セキュア・バイ・デザイン』を読みました]]></title><description><![CDATA[2021 年 9 月に発売された書籍『セキュア・バイ・デザイン』を読みました。
事前になんとなく耳にしていた通り非常に素晴らしい本でしたので、感想や学びになったポイントをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/483997599X</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/483997599X</guid><pubDate>Thu, 24 Mar 2022 15:11:39 GMT</pubDate><content:encoded>&lt;p&gt;2021 年 9 月に発売された書籍『セキュア・バイ・デザイン』を読みました。&lt;/p&gt;
&lt;p&gt;事前になんとなく耳にしていた通り非常に素晴らしい本でしたので、感想や学びになったポイントをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;書籍『セキュア・バイ・デザイン』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8E%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%BB%E3%83%90%E3%82%A4%E3%83%BB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『セキュア・バイ・デザイン』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3ur8q7H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュア・バイ・デザイン&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09F697K2V?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=285dec79d658f13ce17acf4a645f5104&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09F697K2V&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B09F697K2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『セキュア・バイ・デザイン』は、タイトル通りセキュリティの観点からソフトウェア設計について解説した書籍です。&lt;/p&gt;
&lt;p&gt;しかし、いわゆるセキュリティに関心がある人に向けたものというよりも、アプリケーションエンジニアに向けた内容となっています。&lt;/p&gt;
&lt;p&gt;特に、ドメイン駆動設計 (DDD) に大きく影響を受けた内容となっており、DDD に関心がある方には是非手にとっていただきたい一冊です。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;一言で言えば、DDD のメリットを理解するうえで、この上ない良著でした。&lt;/p&gt;
&lt;p&gt;サンプルコードも豊富ですし、状況設定も現実的で想像しやすい例が多く、非常に理解しやすかったです。&lt;/p&gt;
&lt;p&gt;今まで DDD やアプリケーション設計について色々な本を読み、自分でもあれこれ考え、実装したりしてきましたが、この本を読むことでさらに知見を深められたと思います。&lt;/p&gt;
&lt;p&gt;DDD などの設計手法に興味を持っている全ての方に強くおすすめできる一冊でした。&lt;/p&gt;
&lt;h2 id=&quot;学びになったポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AD%A6%E3%81%B3%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;学びになったポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;学びになったポイント&lt;/h2&gt;
&lt;p&gt;ここから、特に学びになったポイントを 2 つほど書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;value-object-のメリットについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#value-object-%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;value object のメリットについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Value Object のメリットについて&lt;/h3&gt;
&lt;p&gt;この書籍では DDD における Value Object をさらに工夫した手法として、「ドメイン・プリミティブ」が紹介されます。&lt;/p&gt;
&lt;p&gt;ドメイン・プリミティブは書籍の中で終始重要な手法として扱われており、この書籍の解説を読むことで、Value Object という手法のメリットを深く理解できます。&lt;/p&gt;
&lt;p&gt;DDD の文脈で Value Object のメリットがあまりピンときていないという方は、この本を読んでみるのが一番だと思います。&lt;/p&gt;
&lt;h3 id=&quot;セキュリティをドメインの関心事とする&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%92%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%AE%E9%96%A2%E5%BF%83%E4%BA%8B%E3%81%A8%E3%81%99%E3%82%8B&quot; aria-label=&quot;セキュリティをドメインの関心事とする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セキュリティをドメインの関心事とする&lt;/h3&gt;
&lt;p&gt;この書籍では、「セキュリティは、セキュリティの専門家が外部から付け加えるものではなく、アプリケーションエンジニアが常に考えるべきものとする」というような、発送の逆転的な考え方で解説されています。&lt;/p&gt;
&lt;p&gt;この言葉だけ聞くとよくある説教のようですが、それをアプリケーションエンジニアにとって興味深い手法で取り入れているのが大きな特徴です。&lt;/p&gt;
&lt;p&gt;ビジネスロジックを逆手に取った攻撃の例なども書かれており、非常に参考になりました。&lt;/p&gt;
&lt;h2 id=&quot;難易度について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%A3%E6%98%93%E5%BA%A6%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;難易度について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;難易度について&lt;/h2&gt;
&lt;p&gt;DDD に関する書籍として最も有名なのは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3NmhN19&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3tCgxPI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GRKD6XU?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=10b8ec5520b0a5653b529a26e16566c7&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GRKD6XU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GRKD6XU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00UX9VJGW?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a62dcac6a563d88696725fb184d0d3da&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00UX9VJGW&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00UX9VJGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『セキュア・バイ・デザイン』は、これら 2 冊と比較するとかなり読みやすいので、まずは『セキュア・バイ・デザイン』で DDD のメリットを理解して、その後これら 2 冊に進むという流れも良いかもしれません。&lt;/p&gt;
&lt;p&gt;ただし、『セキュア・バイ・デザイン』は、DDD 全体の解説ではなく、Value Object や境界づけられたコンテキストといった、一部のプラクティスの解説になっています。&lt;/p&gt;
&lt;p&gt;DDD に関する書籍については、難易度別に &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちらの記事&lt;/a&gt; にまとめていますので、よろしければ参考にしてください。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;最後に、印象的だったフレーズを引用させていただきます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;システムについてさらに広い視野で見るようにし、システムを、ソフトウェア、本番環境、開発チームで構築されるものとして見ていきます&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;――『セキュア・バイ・デザイン』p526&lt;/p&gt;
&lt;p&gt;システム開発というものが開発チームを作ることも含んでいることを表現した言葉として、個人的にとても印象に残りました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09F697K2V?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b09a5150775f6e989198eae866849421&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09F697K2V&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09F697K2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 2 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 2 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202202</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202202</guid><pubDate>Tue, 01 Mar 2022 15:24:12 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 2 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;プロジェクトマネジメント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88&quot; aria-label=&quot;プロジェクトマネジメント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プロジェクトマネジメント&lt;/h2&gt;
&lt;h3 id=&quot;アート・オブ・プロジェクトマネジメント-マイクロソフトで培われた実践手法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%BC%E3%83%88%E3%83%BB%E3%82%AA%E3%83%96%E3%83%BB%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E3%81%A7%E5%9F%B9%E3%82%8F%E3%82%8C%E3%81%9F%E5%AE%9F%E8%B7%B5%E6%89%8B%E6%B3%95&quot; aria-label=&quot;アート・オブ・プロジェクトマネジメント マイクロソフトで培われた実践手法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ppGHT8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873112990?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=23e18acf7c9f51a14c9376d54b2b36a9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873112990&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873112990&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プロジェクトマネジメントに関して、なんとなく目についた『アート・オブ・プロジェクトマネジメント』を読みました。&lt;/p&gt;
&lt;p&gt;現実のプロジェクトが難しいという前提で、そんな場面でどうしていくかが書かれている本です。&lt;/p&gt;
&lt;p&gt;プロジェクトマネジメントの難しさを感じたことがあれば、グッとくるような名著でした。&lt;/p&gt;
&lt;h2 id=&quot;cpu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu&quot; aria-label=&quot;cpu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU&lt;/h2&gt;
&lt;h3 id=&quot;risc-vとchiselで学ぶ-はじめてのcpu自作-オープンソース命令セットによるカスタムcpu実装への第一歩&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#risc-v%E3%81%A8chisel%E3%81%A7%E5%AD%A6%E3%81%B6-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEcpu%E8%87%AA%E4%BD%9C-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E5%91%BD%E4%BB%A4%E3%82%BB%E3%83%83%E3%83%88%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0cpu%E5%AE%9F%E8%A3%85%E3%81%B8%E3%81%AE%E7%AC%AC%E4%B8%80%E6%AD%A9&quot; aria-label=&quot;risc vとchiselで学ぶ はじめてのcpu自作 オープンソース命令セットによるカスタムcpu実装への第一歩 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HySViC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RISC-VとChiselで学ぶ　はじめてのCPU自作　――オープンソース命令セットによるカスタムCPU実装への第一歩&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09CT1T9HT?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3405c267adff6f8812877af4b8dccc79&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09CT1T9HT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09CT1T9HT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU について、『&lt;a href=&quot;https://amzn.to/3vtRoYJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装&lt;/a&gt;』の非常に簡易的なものしか作ったことがなかったので、こちらの書籍を手に取りました。&lt;/p&gt;
&lt;p&gt;実装は途中までしかしていませんが、HDL (Chisel) による CPU の設計について学ぶことができました。&lt;/p&gt;
&lt;p&gt;RISC-V はかなり話題にもなっていますし、CPU 自作に興味がある方におすすめできる書籍です。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;プログラミング言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング言語&lt;/h2&gt;
&lt;h3 id=&quot;独習アセンブラ-新版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8B%AC%E7%BF%92%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9-%E6%96%B0%E7%89%88&quot; aria-label=&quot;独習アセンブラ 新版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Iy9htl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;独習アセンブラ 新版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09DPKPY5N?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c2f58ac6e7168e770b046e257d4077bb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09DPKPY5N&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09DPKPY5N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;独習c-新版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8B%AC%E7%BF%92c-%E6%96%B0%E7%89%88&quot; aria-label=&quot;独習c 新版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/35wIoqZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;独習C++ 新版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07XQ5TWY2?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a5d3263f380984c1e26fd12b2a86950f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07XQ5TWY2&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07XQ5TWY2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;低レイヤを学ぶために、アセンブリ言語と C++ の基礎を学びました。&lt;/p&gt;
&lt;p&gt;どちらの本もボリュームが大きいこともあり、本格的に書けるようになるというよりはざっと把握する程度の読み方にしておきました。&lt;/p&gt;
&lt;p&gt;『独習アセンブラ』については、CPU アーキテクチャについて知識を深めることもできて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;言語処理系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB&quot; aria-label=&quot;言語処理系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;言語処理系&lt;/h2&gt;
&lt;h3 id=&quot;go言語でつくるインタプリタ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#go%E8%A8%80%E8%AA%9E%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF&quot; aria-label=&quot;go言語でつくるインタプリタ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3svo0j0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0b34891cd42bc548fb71f386a713d9b5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;コンパイラ-原理と構造&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9-%E5%8E%9F%E7%90%86%E3%81%A8%E6%A7%8B%E9%80%A0&quot; aria-label=&quot;コンパイラ 原理と構造 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HCgeIE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンパイラ: 原理と構造&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KMT4P6B?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1669c887e5b9383ed5b3c8b837215daf&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KMT4P6B&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KMT4P6B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;インタプリタやコンパイラに興味があり、これら 2 冊を読みました。&lt;/p&gt;
&lt;p&gt;『Go言語でつくるインタプリタ』は、字句解析・構文解析・Tree-Walk 型インタプリタまでざっと実装して学べる、噂通りの名著でした。&lt;/p&gt;
&lt;p&gt;写経するだけでも非常に勉強になるので、インタプリタを作ってみたいという方に是非手に取っていただきたい一冊です。&lt;/p&gt;
&lt;p&gt;『コンパイラ: 原理と構造』は、教科書的な本であるにも関わらず、文章が非常に読みやすく、「プログラミング言語とは何か？」に関する考えも深まりました。&lt;/p&gt;
&lt;p&gt;教科書的な本に抵抗がない方にはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;kaggleで勝つデータ分析の技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kaggle%E3%81%A7%E5%8B%9D%E3%81%A4%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%AE%E6%8A%80%E8%A1%93&quot; aria-label=&quot;kaggleで勝つデータ分析の技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Iz7NPn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Kaggleで勝つデータ分析の技術&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07YTDBC3Z?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d8754421db2db527f701c484b936c7fd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07YTDBC3Z&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07YTDBC3Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;先月から Kaggle に挑戦し始めたため、定番らしいこちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;ざっと読みましたが、今の自分はまず手を動かしたほうが良い段階に感じたので、少し Kaggle でコードを書いたりしてから再度この本に戻ってこようと思います。&lt;/p&gt;
&lt;h2 id=&quot;devops&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#devops&quot; aria-label=&quot;devops permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DevOps&lt;/h2&gt;
&lt;h3 id=&quot;the-devops-勝利をつかめ！-技術的負債を一掃せよ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E5%8B%9D%E5%88%A9%E3%82%92%E3%81%A4%E3%81%8B%E3%82%81%EF%BC%81-%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5%E3%82%92%E4%B8%80%E6%8E%83%E3%81%9B%E3%82%88&quot; aria-label=&quot;the devops 勝利をつかめ！ 技術的負債を一掃せよ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3C4Zatp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps 勝利をつかめ！　技術的負債を一掃せよ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08LGF5KM6?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fef9b86d9d00968badacaa0ce336d0ae&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08LGF5KM6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08LGF5KM6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;途中まで読んで詰んでいたこちらの書籍も読みました。&lt;/p&gt;
&lt;p&gt;DevOps については他の書籍などである程度知識があったため、読み物として楽しませていただきました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 8 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;いわゆる低レイヤの勉強として、CPU・アセンブリ言語・C++・言語処理系に手を出せて良かったです。&lt;/p&gt;
&lt;p&gt;インタプリタは写経した以外にもちょっとしたものを作ったので、言語処理系については結構知識が増えたように感じます。(一方で、仕事で使えるレベルはまだ先だなとも感じます…)&lt;/p&gt;
&lt;p&gt;関連して、いつか正規表現エンジンも自作しなくては、と思いました。&lt;/p&gt;
&lt;p&gt;3 月は低レイヤの勉強で外せない、OS 自作に挑戦するつもりです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ジーン・キムの DevOps 3 部作の紹介]]></title><description><![CDATA[ジーン・キムの DevOps 3 部作を読んだので、感想などをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/gene-kim-devops-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/gene-kim-devops-books</guid><pubDate>Mon, 07 Feb 2022 11:59:16 GMT</pubDate><content:encoded>&lt;p&gt;ジーン・キムの DevOps 3 部作を読んだので、感想などをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;the-devops-逆転だ！究極の継続的デリバリー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E9%80%86%E8%BB%A2%E3%81%A0%EF%BC%81%E7%A9%B6%E6%A5%B5%E3%81%AE%E7%B6%99%E7%B6%9A%E7%9A%84%E3%83%87%E3%83%AA%E3%83%90%E3%83%AA%E3%83%BC&quot; aria-label=&quot;the devops 逆転だ！究極の継続的デリバリー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3LhvQnA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps　逆転だ！究極の継続的デリバリー&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00MGGW9MI?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f83d15732075133c4f4c3d203d54ab7a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00MGGW9MI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00MGGW9MI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DevOps に関する小説形式の書籍です。&lt;/p&gt;
&lt;p&gt;組織の文化や技術負債などによってシステムの成長が困難になり、事業に大きな悪影響を及ぼすようになった状況から、どうやって改善していくのかといった内容です。&lt;/p&gt;
&lt;p&gt;DevOps の手法や考え方がちりばめられていますが、具体的な手法を学ぶというよりは、読み物として楽しむ要素が大きいと感じました。&lt;/p&gt;
&lt;p&gt;どこかで見聞きした覚えのある苦しい状況が書かれているので、そういった状況のイメージがある方には色々思うところがある一冊だと思います。&lt;/p&gt;
&lt;p&gt;個人的には、IT 業界以外の方にシステム開発の難しさを感じてもらうにも良い本なのではないかと思いました。&lt;/p&gt;
&lt;h2 id=&quot;the-devops-勝利をつかめ！-技術的負債を一掃せよ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E5%8B%9D%E5%88%A9%E3%82%92%E3%81%A4%E3%81%8B%E3%82%81%EF%BC%81-%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5%E3%82%92%E4%B8%80%E6%8E%83%E3%81%9B%E3%82%88&quot; aria-label=&quot;the devops 勝利をつかめ！ 技術的負債を一掃せよ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uwsnvN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps 勝利をつかめ！　技術的負債を一掃せよ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08LGF5KM6?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b19fb8881f35a15398bd0ca302bc5a2b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08LGF5KM6&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08LGF5KM6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『The DevOps　逆転だ！究極の継続的デリバリー』の続編です。&lt;/p&gt;
&lt;p&gt;前作と同じ会社が舞台の小説で、前作と引き続き苦しい状況に対し、苦戦しながら乗り越えていくという内容です。&lt;/p&gt;
&lt;p&gt;前作とは DevOps のプラクティスの視点も異なったりしているため、引き続き楽しめると思います。&lt;/p&gt;
&lt;p&gt;正直なところ、「現実はそんなにうまくいかないよ…」という感想を持ってしまう点もありますが、そこは小説ということで。&lt;/p&gt;
&lt;h2 id=&quot;the-devops-ハンドブック-理論・原則・実践のすべて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E7%90%86%E8%AB%96%E3%83%BB%E5%8E%9F%E5%89%87%E3%83%BB%E5%AE%9F%E8%B7%B5%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6&quot; aria-label=&quot;the devops ハンドブック 理論・原則・実践のすべて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/35O9p9r&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps ハンドブック 理論・原則・実践のすべて&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B073PRMWR5?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ce9d2b0a2b59bdc6e08f62e6944b78c0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B073PRMWR5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B073PRMWR5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらは小説ではなく、DevOps のプラクティスなどをまとめたハンドブックです。&lt;/p&gt;
&lt;p&gt;2017 年 (今から 5 年前) 発売のため、より最近謳われるプラクティスは掲載されていませんが、DevOps の基本的な要素を学ぶには良い本です。&lt;/p&gt;
&lt;p&gt;ハンドブックという名前らしく、まあまあの分厚さです。&lt;/p&gt;
&lt;p&gt;もしもこの本より先により手軽に読める本がほしければ、『&lt;a href=&quot;https://amzn.to/3J8JO9H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する&lt;/a&gt;』あがりがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01M4KNOFM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2bf08dee485af7d091ea72703494f338&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01M4KNOFM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01M4KNOFM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、ジーン・キムの DevOps 3 部作を紹介させていただきました。&lt;/p&gt;
&lt;p&gt;DevOps 関連の書籍では、『&lt;a href=&quot;https://amzn.to/3Jc00Ho&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LeanとDevOpsの科学［Accelerate］ テクノロジーの戦略的活用が組織変革を加速する&lt;/a&gt;』も個人的に非常におすすめです。&lt;/p&gt;
&lt;p&gt;システム開発について慣習的に行われていることが、本当にそうあるべきなのかを考え直すきっかけにもなるような書籍なので、興味があれば是非手にとってみてください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07L2R3LTN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=beabb8b9e11d4ddbe558498eed386ae7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07L2R3LTN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07L2R3LTN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】『Go言語でつくるインタプリタ』を読みながら、インタプリタを実装してみた]]></title><description><![CDATA[オライリーの『Go言語でつくるインタプリタ』を読みながら、実際にインタプリタを実装してみました。
うわさ通りの非常に良い本だったので、必要な前提知識・見どころ・どんな人におすすめか、をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4873118220</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4873118220</guid><pubDate>Fri, 04 Feb 2022 13:34:30 GMT</pubDate><content:encoded>&lt;p&gt;オライリーの『Go言語でつくるインタプリタ』を読みながら、実際にインタプリタを実装してみました。&lt;/p&gt;
&lt;p&gt;うわさ通りの非常に良い本だったので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;必要な前提知識&lt;/li&gt;
&lt;li&gt;見どころ&lt;/li&gt;
&lt;li&gt;どんな人におすすめか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;書籍『go言語でつくるインタプリタ』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8Ego%E8%A8%80%E8%AA%9E%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『go言語でつくるインタプリタ』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3sjXiIM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=ce7aeea09d49f9b507cb84c6c1ee338e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本はタイトル通り、Go 言語でインタプリタを実装する書籍です。&lt;/p&gt;
&lt;p&gt;実装するのは Monkey というシンプルな言語で、最終的には REPL で実行可能な Tree-Walking 型のインタプリタができあがります。&lt;/p&gt;
&lt;p&gt;コードはほぼ書籍内に書かれており、写経しながら読み進めるのに適しています。&lt;/p&gt;
&lt;h2 id=&quot;必要な前提知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BF%85%E8%A6%81%E3%81%AA%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;必要な前提知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;必要な前提知識&lt;/h2&gt;
&lt;p&gt;この本を読む上で必要な前提知識は非常に少ないです。&lt;/p&gt;
&lt;p&gt;Go 言語の基本文法が分かれば十分で、コンパイラやインタプリタについての知識は不要です。&lt;/p&gt;
&lt;h2 id=&quot;3-つの見どころ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-%E3%81%A4%E3%81%AE%E8%A6%8B%E3%81%A9%E3%81%93%E3%82%8D&quot; aria-label=&quot;3 つの見どころ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 つの見どころ&lt;/h2&gt;
&lt;p&gt;自分にとって、この本の見どころは以下の 3 つでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pratt 構文解析器&lt;/li&gt;
&lt;li&gt;クロージャの実現&lt;/li&gt;
&lt;li&gt;マクロシステムの実装&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それぞれの見どころについて、簡単に書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;pratt-構文解析器&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pratt-%E6%A7%8B%E6%96%87%E8%A7%A3%E6%9E%90%E5%99%A8&quot; aria-label=&quot;pratt 構文解析器 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Pratt 構文解析器&lt;/h3&gt;
&lt;p&gt;この本は字句解析や構文解析もツールを使わずに実装していくのですが、そこで最初の見どころが Pratt 構文解析器の実装です。&lt;/p&gt;
&lt;p&gt;Pratt 構文解析は「再帰下降構文解析」の一種で、JSLint で使われているそうです。&lt;/p&gt;
&lt;p&gt;再帰下降構文解析自体はなんとなく実装したことがあったのですが、Pratt 構文解析のあまりのシンプルさに衝撃を受けました。&lt;/p&gt;
&lt;p&gt;書籍の中にも書かれている通り、最初はなぜそれでうまく動くのかピンと来なかったりしますが、理解できたときの驚きはとても大きいです。&lt;/p&gt;
&lt;h3 id=&quot;クロージャの実現&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%81%AE%E5%AE%9F%E7%8F%BE&quot; aria-label=&quot;クロージャの実現 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クロージャの実現&lt;/h3&gt;
&lt;p&gt;実装していくインタプリタは Tree-Walking 型のため、構文解析さえできれば、評価の部分は特別難しくはないです。&lt;/p&gt;
&lt;p&gt;そんな評価の章で特に良かったのが、クロージャを実現できることです。&lt;/p&gt;
&lt;p&gt;JavaScript などでよく話題になるクロージャにおける変数の束縛を、実際に実装してみることができるのです。&lt;/p&gt;
&lt;p&gt;Monkey 言語は非常にシンプルな文法ですが、関数の挙動がパワフルで、こんなにシンプルな実装でもこんなに複雑なコードを実行できるのかと感動しました。&lt;/p&gt;
&lt;h3 id=&quot;マクロシステムの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%AF%E3%83%AD%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;マクロシステムの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;マクロシステムの実装&lt;/h3&gt;
&lt;p&gt;最後に、付録のマクロシステムについてです。&lt;/p&gt;
&lt;p&gt;4 章まで実装すると一段落なので「付録のマクロシステムまでは実装しなくてもいいかな」という気持ちになってしまうかもしれませんが、ここもかなりの見どころでした。&lt;/p&gt;
&lt;p&gt;この付録を読み、手を動かしてみると、AST (抽象構文木) の取り扱いについて理解が深まる感触があります。&lt;/p&gt;
&lt;p&gt;最初は何をしようとしているか分かりにくい点もありますが、最終的にはここまでやって良かったと感じました。&lt;/p&gt;
&lt;h2 id=&quot;どんな人におすすめか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E4%BA%BA%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%8B&quot; aria-label=&quot;どんな人におすすめか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな人におすすめか&lt;/h2&gt;
&lt;p&gt;全体として非常に良かったこの本ですが、インタプリタやコンパイラについてあまり知らないという方にとてもおすすめです。&lt;/p&gt;
&lt;p&gt;遊びレベルのインタプリタやコンパイラは、実装したことがない方が想像しているよりも、ずっと簡単に実装できます。&lt;/p&gt;
&lt;p&gt;特別な知識は不要で、プログラムをすらすら書ける (コンパイルエラーなどでつまづくことがない) くらいの段階で十分取り組めます。&lt;/p&gt;
&lt;p&gt;この本は TDD で進んでいくこともあり、プログラミングの練習としても非常に良い題材なので、興味を持った方はぜひ手に取ってみてほしいです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2823b2bf592b21d2cf405d67ea75d235&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2022 年 1 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2022 年 1 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202201</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202201</guid><pubDate>Tue, 01 Feb 2022 04:38:14 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2022 年 1 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;低レイヤ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4&quot; aria-label=&quot;低レイヤ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;低レイヤ&lt;/h2&gt;
&lt;h3 id=&quot;コンピュータシステムの理論と実装-モダンなコンピュータの作り方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E3%83%A2%E3%83%80%E3%83%B3%E3%81%AA%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9&quot; aria-label=&quot;コンピュータシステムの理論と実装 モダンなコンピュータの作り方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ugPcTZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=75054804cfabab3d00d8334ffe2181b4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;先月末から取り組んでいた『コンピュータシステムの理論と実装』(通称: Nand2Tetris) を完走しました。&lt;/p&gt;
&lt;p&gt;内容は NAND ゲート (とフリップフロップ回路) のみから CPU、アセンブラ、コンパイラ、OS (というか標準ライブラリ) という流れでコンピュータを作り上げていくというものです。&lt;/p&gt;
&lt;p&gt;最適化には言及しないことで、論理回路から現代的なプログラミング言語までを短時間で駆け抜けることができます。&lt;/p&gt;
&lt;p&gt;コンピュータが積み重ねでできていることを実感できる非常におすすめの本なので、興味がある方は是非挑戦してみてほしいです。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;ゼロから作るdeep-learning-pythonで学ぶディープラーニングの理論と実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8Bdeep-learning-python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;ゼロから作るdeep learning pythonで学ぶディープラーニングの理論と実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3s51f3V&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117585?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=12920083515bf67f078dfb51e708f6dd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117585&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117585&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;機械学習・深層学習による自然言語処理入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%BB%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E3%81%AB%E3%82%88%E3%82%8B%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E5%85%A5%E9%96%80&quot; aria-label=&quot;機械学習・深層学習による自然言語処理入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3APKNZC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習・深層学習による自然言語処理入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084WPRT44?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=956fda869aebe6e5d5f637018a98a54a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084WPRT44&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084WPRT44&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;機械学習デザインパターン-データ準備、モデル構築、mlopsの実践上の問題と解決&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-%E3%83%87%E3%83%BC%E3%82%BF%E6%BA%96%E5%82%99%E3%80%81%E3%83%A2%E3%83%87%E3%83%AB%E6%A7%8B%E7%AF%89%E3%80%81mlops%E3%81%AE%E5%AE%9F%E8%B7%B5%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%A8%E8%A7%A3%E6%B1%BA&quot; aria-label=&quot;機械学習デザインパターン データ準備、モデル構築、mlopsの実践上の問題と解決 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ofoSWl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119561?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a9ce595c47fa8b6ea6a52542b3cf4c06&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119561&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119561&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;入門-機械学習パイプライン-tensorflowで学ぶワークフローの自動化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3-tensorflow%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AE%E8%87%AA%E5%8B%95%E5%8C%96&quot; aria-label=&quot;入門 機械学習パイプライン tensorflowで学ぶワークフローの自動化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3s51pZ5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 機械学習パイプライン ―TensorFlowで学ぶワークフローの自動化&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119510?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=23f66ad7e8d8aa6678573434b4954b02&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119510&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119510&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;実践ｄａｔａ-ｓｃｉｅｎｃｅシリーズ-ｐｙｔｈｏｎではじめるｋａｇｇｌｅスタートブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5%EF%BD%84%EF%BD%81%EF%BD%94%EF%BD%81-%EF%BD%93%EF%BD%83%EF%BD%89%EF%BD%85%EF%BD%8E%EF%BD%83%EF%BD%85%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%EF%BD%90%EF%BD%99%EF%BD%94%EF%BD%88%EF%BD%8F%EF%BD%8E%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%EF%BD%8B%EF%BD%81%EF%BD%87%EF%BD%87%EF%BD%8C%EF%BD%85%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;実践ｄａｔａ ｓｃｉｅｎｃｅシリーズ ｐｙｔｈｏｎではじめるｋａｇｇｌｅスタートブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/34tEwqo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践Ｄａｔａ　Ｓｃｉｅｎｃｅシリーズ　ＰｙｔｈｏｎではじめるＫａｇｇｌｅスタートブック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B088R992TJ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7da8398abe02a42b1f2de123ac2a97bc&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B088R992TJ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B088R992TJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;機械学習関係の知識を拡充するため、こちらの 5 冊を読みました。&lt;/p&gt;
&lt;p&gt;特に印象に残ったのは『機械学習デザインパターン』です。&lt;/p&gt;
&lt;p&gt;こちらは特徴量エンジニアリングでの工夫や、Explainable AI (XAI) などの最近話題のトピックについても書かれており、機械学習についてある程度知識がある方でも学びが多いと思います。&lt;/p&gt;
&lt;p&gt;『入門 機械学習パイプライン』も、TensorFlow Extended (TFX) の概要を学ぶことができてとても勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;web-フロントエンド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89&quot; aria-label=&quot;web フロントエンド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web フロントエンド&lt;/h2&gt;
&lt;h3 id=&quot;react-angular-vueをスムーズに修得するための最新フロントエンド技術入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#react-angular-vue%E3%82%92%E3%82%B9%E3%83%A0%E3%83%BC%E3%82%BA%E3%81%AB%E4%BF%AE%E5%BE%97%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9C%80%E6%96%B0%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80&quot; aria-label=&quot;react angular vueをスムーズに修得するための最新フロントエンド技術入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/34aiXep&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;React Angular Vueをスムーズに修得するための最新フロントエンド技術入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09NKMKJ8S?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=117ba7385017990cbc1a69ab51deb407&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09NKMKJ8S&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09NKMKJ8S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;モダンjavascriptの基本から始める-react実践の教科書-（最新reacthooks対応）&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%80%E3%83%B3javascript%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B-react%E5%AE%9F%E8%B7%B5%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%EF%BC%88%E6%9C%80%E6%96%B0reacthooks%E5%AF%BE%E5%BF%9C%EF%BC%89&quot; aria-label=&quot;モダンjavascriptの基本から始める react実践の教科書 （最新reacthooks対応） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IR3qih&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;モダンJavaScriptの基本から始める　React実践の教科書　（最新ReactHooks対応）&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BV2HGN3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a80bde0bd031cd98fe88689ff9a82c75&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BV2HGN3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BV2HGN3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;変化の早い Web フロントエンドについて最新動向をおさえたく、2 冊ほど手に取りました。&lt;/p&gt;
&lt;p&gt;『最新フロントエンド技術入門』では PWA に近い高度な設計も紹介されており、「最近のフロントエンドでもう一歩工夫するなら」といった観点を学べる本でした。&lt;/p&gt;
&lt;p&gt;『React実践の教科書』は React の入門としておすすめですし、Recoil などの React 関連で最近話題になりがちなトピックについても知ることができる本でした。&lt;/p&gt;
&lt;h2 id=&quot;typescript&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#typescript&quot; aria-label=&quot;typescript permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TypeScript&lt;/h2&gt;
&lt;h3 id=&quot;プログラミングtypescript-スケールするjavascriptアプリケーション開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0typescript-%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8Bjavascript%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&quot; aria-label=&quot;プログラミングtypescript スケールするjavascriptアプリケーション開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/35G7cwP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119049?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=88009b96e05cafca74707df579b6acf0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119049&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119049&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;手を動かしながら学ぶ-typescript&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6-typescript&quot; aria-label=&quot;手を動かしながら学ぶ typescript permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3L1wKo6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;手を動かしながら学ぶ TypeScript&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KZJXDN1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ad12a4bca095d485a864600843bda24b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KZJXDN1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KZJXDN1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;JavaScript などの知識でなんとなく書いていた TypeScript について改めて学ぶため、こちらの 2 冊を読みました。&lt;/p&gt;
&lt;p&gt;TypeScript は型で様々な工夫ができる面白い言語で、なんとなく書いているという方はこういった本を一冊読んでおくと使いこなせる範囲が広がると思います。&lt;/p&gt;
&lt;p&gt;個人的に今後主力として使っていきたい言語なので、この機会に改めて勉強できて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計&lt;/h2&gt;
&lt;h3 id=&quot;マイクロサービスパターン［実践的システムデザインのためのコード解説］&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%EF%BC%BB%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E8%A7%A3%E8%AA%AC%EF%BC%BD&quot; aria-label=&quot;マイクロサービスパターン［実践的システムデザインのためのコード解説］ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HicU5P&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスパターン［実践的システムデザインのためのコード解説］&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086JJNDKS?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1c9127db8d1095ada093dd7b8441ed31&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086JJNDKS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B086JJNDKS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;積読になっていた『マイクロサービスパターン』も読みました。&lt;/p&gt;
&lt;p&gt;設計の難しいマイクロサービスについて、様々な観点でパターンを整理している書籍で、個人的にこの本で設計に関する知見が一歩深まった感触を得られました。&lt;/p&gt;
&lt;p&gt;マイクロサービスの解説書ですが、ドメイン駆動設計 (DDD) に関する知識があるとより深く理解できます。&lt;/p&gt;
&lt;p&gt;マイクロサービスに手を出したい場合は、一度読んでおくことをおすすめします。&lt;/p&gt;
&lt;h2 id=&quot;プロジェクトマネジメント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88&quot; aria-label=&quot;プロジェクトマネジメント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プロジェクトマネジメント&lt;/h2&gt;
&lt;h3 id=&quot;図解入門-よくわかる-最新-pmbok第6版の基本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%85%A5%E9%96%80-%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B-%E6%9C%80%E6%96%B0-pmbok%E7%AC%AC6%E7%89%88%E3%81%AE%E5%9F%BA%E6%9C%AC&quot; aria-label=&quot;図解入門 よくわかる 最新 pmbok第6版の基本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ugZ5kG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門 よくわかる 最新 PMBOK第6版の基本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07CKMGFJD?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=acb6fbae0af2eed08e956835c8c80243&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07CKMGFJD&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07CKMGFJD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;担当になったら知っておきたい「プロジェクトマネジメント」実践講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8B%85%E5%BD%93%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%82%89%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%80%8C%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%80%8D%E5%AE%9F%E8%B7%B5%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;担当になったら知っておきたい「プロジェクトマネジメント」実践講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3HhAEqF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;担当になったら知っておきたい「プロジェクトマネジメント」実践講座&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07219DYD3?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=76abf7c83a3d578dbbbc487ff728562e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07219DYD3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07219DYD3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プロジェクトマネジメントに関して、こちらの 2 冊を読みました。&lt;/p&gt;
&lt;p&gt;『「プロジェクトマネジメント」実践講座』は教科書的に堅苦しくなりすぎずにプロジェクトマネジメントを学べる、非常に素晴らしい書籍でした。&lt;/p&gt;
&lt;p&gt;プロジェクトマネジメントの概要を掴みたい方にとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 13 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;特に&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nand2Tetris を完走できた (コンパイラを自作できた)&lt;/li&gt;
&lt;li&gt;特徴量エンジニアリングや XAI、TFX など、機械学習に関する知識を拡充できた&lt;/li&gt;
&lt;li&gt;TypeScript を改めて勉強できた&lt;/li&gt;
&lt;li&gt;『マイクロサービスパターン』により、設計に関する悩みをいくつか解決できた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というのが良かったです。&lt;/p&gt;
&lt;p&gt;2 月は現在着手中の『&lt;a href=&quot;https://amzn.to/3INiUnw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Go言語でつくるインタプリタ&lt;/a&gt;』をサクッと終わらせて、もう少し低レイヤを勉強するためにアセンブリ言語や C++ を勉強したいなと思っています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118220?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=feb78fe2a4b8d93efd0f5339e0a8df66&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118220&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118220&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[マイクロサービスアーキテクチャに関する日本語の書籍まとめ]]></title><description><![CDATA[マイクロサービスアーキテクチャは、Amazon や Netflix といった有名企業がスケーラビリティを実現するために導入したこともあり、モノリスにおける様々な課題を解決してくれる手法として注目されています。
この記事では、そんなマイクロサービスアーキテクチャに関する日本語の書籍をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/microservices-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/microservices-books</guid><pubDate>Mon, 24 Jan 2022 12:51:22 GMT</pubDate><content:encoded>&lt;p&gt;マイクロサービスアーキテクチャは、Amazon や Netflix といった有名企業がスケーラビリティを実現するために導入したこともあり、モノリスにおける様々な課題を解決してくれる手法として注目されています。&lt;/p&gt;
&lt;p&gt;この記事では、そんなマイクロサービスアーキテクチャに関する日本語の書籍をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;マイクロサービスアーキテクチャ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3&quot; aria-label=&quot;マイクロサービスアーキテクチャ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3FW8eRC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスアーキテクチャ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117607?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cb17ba328725584bf26b4b78dd090e79&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117607&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873117607&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2016 年発売の、マイクロサービスアーキテクチャの解説書です。&lt;/p&gt;
&lt;p&gt;マイクロサービスアーキテクチャが浸透した理由の 1 つが、こちらの書籍だと思います。&lt;/p&gt;
&lt;p&gt;マイクロサービスのメリット・デメリットや考慮すべき点などがまとめられており、入門として読むのにおすすめの一冊です。&lt;/p&gt;
&lt;h2 id=&quot;プロダクションレディマイクロサービス-運用に強い本番対応システムの実装と標準化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%AC%E3%83%87%E3%82%A3%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9-%E9%81%8B%E7%94%A8%E3%81%AB%E5%BC%B7%E3%81%84%E6%9C%AC%E7%95%AA%E5%AF%BE%E5%BF%9C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%A8%E6%A8%99%E6%BA%96%E5%8C%96&quot; aria-label=&quot;プロダクションレディマイクロサービス 運用に強い本番対応システムの実装と標準化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nS2jqM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118158?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b44246d4f6ef9f51daacfc3dad7a249f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118158&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118158&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Uber の SRE の方による、マイクロサービスの本番対応に関する解説書です。&lt;/p&gt;
&lt;p&gt;タイトルには「マイクロサービス」とありますが、マイクロサービス以外でも役立つプラクティスがたくさん解説されています。&lt;/p&gt;
&lt;p&gt;SRE のようなポジションについて学びたい方にとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;モノリスからマイクロサービスへ-モノリスを進化させる実践移行ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B9%E3%81%8B%E3%82%89%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%B8-%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B9%E3%82%92%E9%80%B2%E5%8C%96%E3%81%95%E3%81%9B%E3%82%8B%E5%AE%9F%E8%B7%B5%E7%A7%BB%E8%A1%8C%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;モノリスからマイクロサービスへ モノリスを進化させる実践移行ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nSYJN1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119316?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4138701ef5bd34679ee89d828624c309&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119316&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119316&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最初に紹介した『マイクロサービスアーキテクチャ』と同じ著者による、モノリスからの移行の解説書です。&lt;/p&gt;
&lt;p&gt;マイクロサービスへの移行で使える手法がパターンとして整理されており、具体的な設計手法などを学びたい場合におすすめです。&lt;/p&gt;
&lt;p&gt;マイクロサービスが銀の弾丸のように認識されすぎたことに関する話も書かれています。&lt;/p&gt;
&lt;h2 id=&quot;マイクロサービスパターン［実践的システムデザインのためのコード解説］&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%EF%BC%BB%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E8%A7%A3%E8%AA%AC%EF%BC%BD&quot; aria-label=&quot;マイクロサービスパターン［実践的システムデザインのためのコード解説］ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rNsmQW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスパターン［実践的システムデザインのためのコード解説］&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086JJNDKS?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=83e904beb1aca6f62a19d3cf1a990f8b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086JJNDKS&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B086JJNDKS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、マイクロサービスアーキテクチャにおけるデザインパターンを解説した書籍です。&lt;/p&gt;
&lt;p&gt;他のマイクロサービスの解説書と比較して特に実装の具体度が高く、この場合は具体的にどう実装すべきなのか？といった悩みをかなり解決してくれます。&lt;/p&gt;
&lt;p&gt;マイクロサービスを検討している場合は、是非とも読んでおきたい一冊です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、マイクロサービスアーキテクチャに関する日本語の書籍をまとめました。&lt;/p&gt;
&lt;p&gt;マイクロサービスは特に大人数のエンジニアが開発をスケールさせる際に注目される手法であり、一概に採用すべきと言われるわけではありません。&lt;/p&gt;
&lt;p&gt;一方で、システムをサブシステムに分割するということ自体はよくあることであり、そういった際にもマイクロサービスに関する知見は非常に役立ちます。&lt;/p&gt;
&lt;p&gt;マイクロサービスでは、どこで分割するかといった判断などのため「ドメイン駆動設計 (DDD)」の知識も役立ちます。&lt;/p&gt;
&lt;p&gt;DDD に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非そちらもご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Node.js のサーキットブレーカ opossum をさわってみた]]></title><description><![CDATA[マイクロサービスなどで利用されるサーキットブレーカと言えば、最近は Envoy (Istio) が最も有名です。
Envoy は別プロセスのプロキシ (コンテナのサイドカー) として導入してサーキットブレーカとして利用可能ですが、サーキットブレーカには各種言語のライブラリとして導入可能なものもあります。
Node.js ライブラリ形式のサーキットブレーカである opossum をさわってみたので、その概要や感想をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/hello-opossum</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/hello-opossum</guid><pubDate>Fri, 21 Jan 2022 12:01:19 GMT</pubDate><content:encoded>&lt;p&gt;マイクロサービスなどで利用されるサーキットブレーカと言えば、最近は Envoy (Istio) が最も有名です。&lt;/p&gt;
&lt;p&gt;Envoy は別プロセスのプロキシ (コンテナのサイドカー) として導入してサーキットブレーカとして利用可能ですが、サーキットブレーカには各種言語のライブラリとして導入可能なものもあります。&lt;/p&gt;
&lt;p&gt;Node.js ライブラリ形式のサーキットブレーカである opossum をさわってみたので、その概要や感想をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;opossum-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#opossum-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;opossum について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;opossum について&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.npmjs.com/package/opossum&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;opossum&lt;/a&gt; は Node.js のサーキットブレーカライブラリです。&lt;/p&gt;
&lt;p&gt;マイクロサービスにおけるサーキットブレーカと言えば外部サービスとの通信で利用するイメージが強いですが、opossum は任意の処理に対してサーキットブレーカを挿入することができます。&lt;/p&gt;
&lt;p&gt;使い方は非常に簡単で、失敗する可能性のある関数を CircuitBreaker クラスの引数に渡すだけです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;asyncFunctionThatCouldFail&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  timeout&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  errorThresholdPercentage&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  resetTimeout&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30000&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; breaker &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CircuitBreaker&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;asyncFunctionThatCouldFail&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fire&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;then&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;log&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;catch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;error&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://www.npmjs.com/package/opossum&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;npm の opossum のページ&lt;/a&gt; を眺めれば、なんとなく使えてしまうと思います。&lt;/p&gt;
&lt;h2 id=&quot;サンプルコードの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;サンプルコードの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サンプルコードの実装&lt;/h2&gt;
&lt;p&gt;実際にサーキットブレーカが動作する様子を見るため、TypeScript でコードを書いてみました。&lt;/p&gt;
&lt;p&gt;※ ここには主要な処理を抜粋して掲載するので、コードの全体については &lt;a href=&quot;https://github.com/os1ma/circuit-breaker-samples/tree/main/opossum&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitHub のこちら&lt;/a&gt; を参照ください。&lt;/p&gt;
&lt;p&gt;まずはテスト用に、await で指定した時間待てる wait 関数と、指定した時間遅延する slowEcho 関数を用意しました。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;second&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;&lt;span class=&quot;token builtin&quot;&gt;Promise&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;resolve&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;resolve&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; second &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;slowEcho&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;message&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; waitSecond&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;wait&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;waitSecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; message
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;続いて、サーキットブレーカの設定を定義します。&lt;/p&gt;
&lt;p&gt;オプションは色々ありますが、以下の例では&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エラーと判断するタイムアウトの時間&lt;/li&gt;
&lt;li&gt;何 % がエラーになったらサーキットブレーカを開くか&lt;/li&gt;
&lt;li&gt;サーキットブレーカが開いた場合、何秒後に再度利用可能になるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を設定しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  timeout&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  errorThresholdPercentage&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  resetTimeout&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;サーキットブレーカを設定します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; breaker &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;CircuitBreaker&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;slowEcho&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;timeout&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;timeout&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;open&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;open&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;halfOpen&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;halfOpen&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;close&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;close&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;動作を見てみるため、breaker.on を使い、いくつかのイベントでログ出力も設定しました。&lt;/p&gt;
&lt;p&gt;あとは関数の実行の遅延が 0, 1, 2, … 秒となるように呼び出す処理を書きます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// [0, 1, 2, ...]&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; waitSeconds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;keys&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; waitSeconds&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; waitSecond &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; waitSeconds&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;waitSecond = &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;waitSecond&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;


  &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; echoMessage &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; breaker&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fire&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Hello!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; waitSecond&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;echoMessage&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;logWithTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;error catched!!!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;実行結果&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C&quot; aria-label=&quot;実行結果 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実行結果&lt;/h2&gt;
&lt;p&gt;実装したコードを実行してみると、以下のようになりました。&lt;/p&gt;
&lt;p&gt;※ ”#” 移行は実行結果についての説明です。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ ts-node index.ts
[20:50:42] waitSecond = 0
[20:50:42] Hello!
[20:50:42] waitSecond = 1
[20:50:43] Hello!
[20:50:43] waitSecond = 2
[20:50:45] Hello!
[20:50:45] waitSecond = 3
[20:50:48] timeout
[20:50:48] error catched!!! # 3 秒遅延させた処理は、タイムアウトでエラーとなっています
[20:50:48] waitSecond = 4
[20:50:51] timeout
[20:50:51] error catched!!! # 4 秒遅延させた処理も、3 秒たった時点でタイムアウトでエラーとなっています
[20:50:51] waitSecond = 5
[20:50:54] timeout
[20:50:54] open             # エラーが 50% になったため、この時点でサーキットブレーカが開きました
[20:50:54] error catched!!! # 5 秒遅延させた処理も、3 秒たった時点でタイムアウトでエラーとなっています
[20:50:54] waitSecond = 6
[20:50:54] error catched!!! # 以後の処理は 3 秒待つこともなく、即座にエラーになっています
[20:50:54] waitSecond = 7
[20:50:54] error catched!!!
[20:50:54] waitSecond = 8
[20:50:54] error catched!!!
[20:50:54] waitSecond = 9
[20:50:54] error catched!!!&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;サーキットブレーカが動作しているのを確認できました。&lt;/p&gt;
&lt;h2 id=&quot;その他のサーキットブレーカのライブラリについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%82%B5%E3%83%BC%E3%82%AD%E3%83%83%E3%83%88%E3%83%96%E3%83%AC%E3%83%BC%E3%82%AB%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;その他のサーキットブレーカのライブラリについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他のサーキットブレーカのライブラリについて&lt;/h2&gt;
&lt;p&gt;今回は opossum を試しましたが、他にも npm には&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/package/hystrixjs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;hystrixjs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/package/brakes&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;brakes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったサーキットブレーカのライブラリがありました。&lt;/p&gt;
&lt;p&gt;ただ、これらはすでにメンテナンスされていません。&lt;/p&gt;
&lt;p&gt;また、Netflixy 製のサーキットブレーカの Java ライブラリ &lt;a href=&quot;https://github.com/Netflix/Hystrix&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Hystrix&lt;/a&gt; もすでに活発な開発は行っておらず、&lt;a href=&quot;https://github.com/resilience4j/resilience4j&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;resilience4j&lt;/a&gt; のようなアクティブなライブラリを利用することを推奨しているようです。&lt;/p&gt;
&lt;p&gt;※ ちなみに、今回 opossum をさわってみたのは、書籍『&lt;a href=&quot;https://amzn.to/3fKpD5q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスパターン&lt;/a&gt;』で Hystrix が紹介されていて気になったのがきっかけです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086JJNDKS?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3fd6ae00da06517c46bcfe3f5719ddae&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086JJNDKS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B086JJNDKS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;envoy-などとの比較&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#envoy-%E3%81%AA%E3%81%A9%E3%81%A8%E3%81%AE%E6%AF%94%E8%BC%83&quot; aria-label=&quot;envoy などとの比較 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Envoy などとの比較&lt;/h2&gt;
&lt;p&gt;ライブラリ形式のサーキットブレーカが少なく、かつメンテナンスされていないケースが多い理由の 1 つは、Envoy (Istio) を利用した別プロセスのプロキシによるサーキットブレーカが主流になっているためだと思います。&lt;/p&gt;
&lt;p&gt;Kubernetes などを使い、&lt;strong&gt;Envoy などをサイドカーとして導入すれば、1 つ 1 つのアプリケーションにサーキットブレーカを仕込む手間がかかりません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;これは&lt;strong&gt;複数の言語で実装されるマイクロサービスの場合には特に大きなメリット&lt;/strong&gt;になります。&lt;/p&gt;
&lt;p&gt;一方、今回ライブラリ形式のサーキットブレーカをさわってみて、Envoy などを導入するよりも簡単だなと感じました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Istio などのサービスメッシュの導入は、事例は増えているものの、気軽に手を出せるものではない&lt;/strong&gt;と思います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;簡易的にサーキットブレーカを導入したい場合などは、opossum などのライブラリ形式のサーキットブレーカも良い選択かもしれない&lt;/strong&gt;と感じました。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[TypeScript の解説書 3 冊の紹介]]></title><description><![CDATA[最近の Web 開発では、フロントエンド・サーバサイドともに TypeScript が採用される機会が増えています。
TypeScript は JavaScript に加えて Java などの静的型付け言語の知識があればなんとなく書けたりもしますが、型システムが奥深く、しっかり学ぶことでより良いコードが書けるようになります。
この記事では、そんな TypeScript の解説書 3 冊を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/typescript-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/typescript-books</guid><pubDate>Thu, 20 Jan 2022 11:00:30 GMT</pubDate><content:encoded>&lt;p&gt;最近の Web 開発では、フロントエンド・サーバサイドともに TypeScript が採用される機会が増えています。&lt;/p&gt;
&lt;p&gt;TypeScript は JavaScript に加えて Java などの静的型付け言語の知識があればなんとなく書けたりもしますが、型システムが奥深く、しっかり学ぶことでより良いコードが書けるようになります。&lt;/p&gt;
&lt;p&gt;この記事では、そんな TypeScript の解説書 3 冊を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;速習-typescript-第2版-速習シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%9F%E7%BF%92-typescript-%E7%AC%AC2%E7%89%88-%E9%80%9F%E7%BF%92%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;速習 typescript 第2版 速習シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3AguHrn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 TypeScript 第2版 速習シリーズ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086JKVGPB?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cb822b4418fd042669e352a33e568ca1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086JKVGPB&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B086JKVGPB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「速習シリーズ」の TypeScript の解説書です。&lt;/p&gt;
&lt;p&gt;「速習シリーズ」の他の書籍と同じように、少ない分量で TypeScript の入門で知りたいことがまとめられています。&lt;/p&gt;
&lt;p&gt;TypeScript の概要をざっと把握したい、といった際には非常におすすめです。&lt;/p&gt;
&lt;p&gt;Kindle Unlimited で無料で読むこともできます。&lt;/p&gt;
&lt;h2 id=&quot;手を動かしながら学ぶ-typescript&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6-typescript&quot; aria-label=&quot;手を動かしながら学ぶ typescript permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3GLZvmt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;手を動かしながら学ぶ TypeScript&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KZJXDN1?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d1740a39abba2827f414f4b6726acc0e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KZJXDN1&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09KZJXDN1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;TypeScript を、サンプルコードを実装しながら学べる解説書です。&lt;/p&gt;
&lt;p&gt;2021 年 11 月発売のため情報も新しく、難易度も入門に丁度いい書籍です。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; modes &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;normal&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;hard&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Mode&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; modes&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;といった、TypeScript の型システムを上手に使った書き方も解説されています。&lt;/p&gt;
&lt;p&gt;TypeScript をなんとなく書いている人がもう一歩勉強したいときにおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;プログラミングtypescript-スケールするjavascriptアプリケーション開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0typescript-%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8Bjavascript%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&quot; aria-label=&quot;プログラミングtypescript スケールするjavascriptアプリケーション開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/351fv5T&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119049?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ae6ecfeeadfc84fb78e9c9b936588771&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119049&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119049&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;オライリーの TypeScript の解説書です。&lt;/p&gt;
&lt;p&gt;オライリーの書籍らしく、より高度な型についてなど、発展的なトピックが手厚く解説されています。&lt;/p&gt;
&lt;p&gt;全体として、先に紹介した『手を動かしながら学ぶ TypeScript』より、もう一歩ハイレベルな内容になっています。&lt;/p&gt;
&lt;p&gt;付録には「ESLint と AST」という項目もあり、JavaScript (TypeScript) で AST (抽象構文木) について簡単に学ぶこともできます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、この記事では TypeScript の解説書を 3 冊紹介しました。&lt;/p&gt;
&lt;p&gt;TypeScript を学ぶ際は、前提として JavaScript の知識があるとスムーズです。&lt;/p&gt;
&lt;p&gt;JavaScript についてしっかり学べる書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/javascript-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非見てみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】『コンピュータシステムの理論と実装』（Nand2Tetris）を完走した]]></title><description><![CDATA[有名な書籍『コンピュータシステムの理論と実装』の実装（Nand2Tetris）を完走したので、やってみた感想と、これから挑戦する方へのアドバイスなどをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4873117127</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4873117127</guid><pubDate>Sat, 08 Jan 2022 14:09:13 GMT</pubDate><content:encoded>&lt;p&gt;有名な書籍『コンピュータシステムの理論と実装』の実装（Nand2Tetris）を完走したので、やってみた感想と、これから挑戦する方へのアドバイスなどをまとめます。&lt;/p&gt;
&lt;p&gt;※ &lt;a href=&quot;https://www.nand2tetris.org/license&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;公式サイトのライセンスのページ&lt;/a&gt; にソースコードを Web に公開したりしないでほしいと書かれているので、ソースコードは非公開です。&lt;/p&gt;
&lt;h2 id=&quot;書籍『コンピュータシステムの理論と実装-モダンなコンピュータの作り方』とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%80%8E%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E3%83%A2%E3%83%80%E3%83%B3%E3%81%AA%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E3%80%8F%E3%81%A8%E3%81%AF&quot; aria-label=&quot;書籍『コンピュータシステムの理論と実装 モダンなコンピュータの作り方』とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍『&lt;a href=&quot;https://amzn.to/3n85EBr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』とは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=4b26f863e158ac6df3315b757a05ce47&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『コンピュータシステムの理論と実装』は、背表紙で&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コンピュータを理解するための最善の方法はゼロからコンピュータを作ること&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と説明されている通り、NAND 回路 (と、フリップフロップ回路) だけを与えられ、そこからコンピュータを作っていく書籍です。&lt;/p&gt;
&lt;p&gt;最終的にはテトリスのようなアプリケーションが動かせるコンピュータを作るということで、「Nand2Tetris」とも言われています。&lt;/p&gt;
&lt;h3 id=&quot;nand2tetris-で作るもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nand2tetris-%E3%81%A7%E4%BD%9C%E3%82%8B%E3%82%82%E3%81%AE&quot; aria-label=&quot;nand2tetris で作るもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Nand2Tetris で作るもの&lt;/h3&gt;
&lt;p&gt;先述の通り NAND 回路 (と、フリップフロップ回路) だけが定義された状態で、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HDL を書き、ハードウェアエミュレータで動く &lt;strong&gt;ALU、レジスタ、CPU、メモリ&lt;/strong&gt;などを実装&lt;/li&gt;
&lt;li&gt;アセンブリ言語を機械語に変換する&lt;strong&gt;アセンブラ&lt;/strong&gt;を実装&lt;/li&gt;
&lt;li&gt;VM プログラムをアセンブリ言語に変換する&lt;strong&gt;バーチャルマシン&lt;/strong&gt;を実装&lt;/li&gt;
&lt;li&gt;高級言語を VM プログラムに変換する&lt;strong&gt;コンパイラ&lt;/strong&gt;の実装&lt;/li&gt;
&lt;li&gt;メモリ管理などを担う &lt;strong&gt;OS (というか標準ライブラリ)&lt;/strong&gt; の実装&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった流れでコンピュータを実現していくことになります。&lt;/p&gt;
&lt;p&gt;400 ページにも満たない書籍ですが、これだけの内容を、しっかり自分で考えながら進めることができるようになっています。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;まず全体を通して感じたのは、「&lt;strong&gt;論理回路と普段書いているプログラムは、思ったほどは遠くない&lt;/strong&gt;」ということです。&lt;/p&gt;
&lt;p&gt;最近はプログラミングの入門も容易になっており、低レイヤがかなり隠蔽されている言語を使うことが増えていると思います。&lt;/p&gt;
&lt;p&gt;コンピュータは最終的に回路で実現されているということは知りつつも、普段書いているプログラムと低レイヤの動作の間に魔法のようなものを想像している方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;この本は、そんな&lt;strong&gt;「コンピュータが魔法に見える」という現象を解くのにぴったり&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;cpu-の実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu-%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;cpu の実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU の実装&lt;/h3&gt;
&lt;p&gt;Nand2Tetris はまず、ALU や CPU などのハードウェアの実装から始まります。&lt;/p&gt;
&lt;p&gt;CPU を作るというとすごく難しいことのように聞こえますが、Nand2Tetris の CPU であれば、要件を満たす HDL を記述するのは難しくありません。
(リングプロテクションや分岐予測といった高度な機能を持たない CPU です)&lt;/p&gt;
&lt;p&gt;このレイヤを解く鍵となるのはマルチプレクサだと思います。&lt;/p&gt;
&lt;h3 id=&quot;アセンブラの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;アセンブラの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アセンブラの実装&lt;/h3&gt;
&lt;p&gt;CPU が完成したら、機械語のプログラムを動かすことができます。&lt;/p&gt;
&lt;p&gt;次のステップは、アセンブリ言語で作られたプログラムを機械語に変換するアセンブラを実装することです。&lt;/p&gt;
&lt;p&gt;Nand2Tetris は全体として実装が比較的簡単にできる設計されており、プログラミングに慣れた方であれば、アセンブラの実装に大きな難点はないと思います。&lt;/p&gt;
&lt;h3 id=&quot;バーチャルマシンの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;バーチャルマシンの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;バーチャルマシンの実装&lt;/h3&gt;
&lt;p&gt;アセンブラの次は、Java でいう JVM のような、バーチャルマシンの実装に入ります。&lt;/p&gt;
&lt;p&gt;書籍の中でも絶賛されていますが、&lt;strong&gt;「スタックマシン」による計算機の実現は本当にすごい&lt;/strong&gt;と思います。&lt;/p&gt;
&lt;p&gt;どれだけ込み入った計算であっても、スタックというシンプルなデータ構造により、1 つ 1 つの小さな問題に帰着されてしまいます。&lt;/p&gt;
&lt;p&gt;この書籍は CPU とコンパイラの実装に注目されやすい気がしますが、個人的にはスタックマシンが最も重要な鍵を握っていると思います。&lt;/p&gt;
&lt;h3 id=&quot;コンパイラの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;コンパイラの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンパイラの実装&lt;/h3&gt;
&lt;p&gt;中間言語をアセンブリ言語に翻訳するバーチャルマシンができたら、あとは高級言語を中間言語に変換するコンパイラを実装するだけです。&lt;/p&gt;
&lt;p&gt;コンパイラは書籍によっては yacc などのツールを利用して実装していきますが、この書籍ではフルスクラッチでトークナイザ・パーサ・コード生成を実装していくことになります。&lt;/p&gt;
&lt;p&gt;コンパイラは特に魔術的なものに見えるのではないかと思いますが、Nand2Tetris のコンパイラを実装すると、「コンパイラもプログラムの一種に過ぎない」と思えるようになります。
(もちろん最適化などは非常に難しい話だと思います)&lt;/p&gt;
&lt;h3 id=&quot;os-標準ライブラリ-の実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E6%A8%99%E6%BA%96%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;os 標準ライブラリ の実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS (標準ライブラリ) の実装&lt;/h3&gt;
&lt;p&gt;最後には、メモリ管理などを担う簡易的な OS (というか標準ライブラリ) を実装します。&lt;/p&gt;
&lt;p&gt;コンパイラの完成という山場を超えるとこの章はスキップしてもいいかなという気持ちになるかもしれませんが、個人的にはやってよかったと思います。&lt;/p&gt;
&lt;p&gt;というのも、&lt;strong&gt;コンパイラに加えて低レイヤを扱うライブラリまで実装したことで、今まで以上に色々なプログラミング言語に感謝しようと思えるようになりました。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;世の中には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語や Nand2Tetris の Jack 言語のような、低レイヤを意識しやすい言語&lt;/li&gt;
&lt;li&gt;関数型のような、低レイヤを強く隠蔽した言語&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などがあると思います。&lt;/p&gt;
&lt;p&gt;個人的には抽象化の進んだ言語が好きだったのですが、Nand2Tetris を通して、&lt;strong&gt;抽象化されていないコンピュータの面白さと、そんな低レイヤを扱える言語の面白さ&lt;/strong&gt;を感じました。&lt;/p&gt;
&lt;h3 id=&quot;全体を通して&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E4%BD%93%E3%82%92%E9%80%9A%E3%81%97%E3%81%A6&quot; aria-label=&quot;全体を通して permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全体を通して&lt;/h3&gt;
&lt;p&gt;ということで一通り完成になるのですが、完了してみて思うのは、「&lt;strong&gt;特別難しくなく、別に普通だった&lt;/strong&gt;」ということです。&lt;/p&gt;
&lt;p&gt;それがこの本の本当にすごいところなのですが、&lt;strong&gt;最適化について考慮せず、シンプルに実現できるように設計されたコンピュータは、ふつうのプログラミング能力で実装できてしまう&lt;/strong&gt;のです。&lt;/p&gt;
&lt;p&gt;論理演算をしたり仕様を読み解いたりにはある程度頭を悩ませることになりますが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;仕様が実装しやすいように定義されている&lt;/li&gt;
&lt;li&gt;設計方針が与えられている&lt;/li&gt;
&lt;li&gt;テストがしっかり用意されている&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった工夫により、とても進めやすくなっています。&lt;/p&gt;
&lt;h2 id=&quot;挑戦しようと思っている方へ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8C%91%E6%88%A6%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E6%96%B9%E3%81%B8&quot; aria-label=&quot;挑戦しようと思っている方へ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;挑戦しようと思っている方へ&lt;/h2&gt;
&lt;p&gt;ここから、Nand2Tetris に挑戦しようと思っている方に向けて、前提知識やアドバイスを書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;前提知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;前提知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提知識&lt;/h3&gt;
&lt;p&gt;Nand2Tetris が必要としている前提知識はかなり少ないです。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基本情報処理技術者試験・応用情報処理技術者試験程度の論理演算ができる&lt;/li&gt;
&lt;li&gt;Java のようなオブジェクト指向の言語が書ける (通常の処理でコンパイルエラーが解決できないことがない程度)&lt;/li&gt;
&lt;li&gt;ポインタやオブジェクトの参照について理解している&lt;/li&gt;
&lt;li&gt;(できれば) C 言語などでポインタの演算をしたことがある&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;くらいです。&lt;/p&gt;
&lt;p&gt;書籍で言えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3qWuYf6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラムはなぜ動くのか 第３版　知っておきたいプログラミングの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/34nsz5i&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータはなぜ動くのか　知っておきたいハードウエア＆ソフトウエアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3qWx5iN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向でなぜつくるのか 第３版　知っておきたいOOP、設計、アジャイル開発の基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;くらいを読んでおくと手が出しやすいと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094J3CK1C?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=cc27c0d961cacc66cdfe63388013a1cc&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094J3CK1C&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B094J3CK1C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GSHI02Y?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b86397a5c2e5d802c9a8c0d62ec11080&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GSHI02Y&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GSHI02Y&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B092HDFJKK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=995e78e0fcf0f7e15a2b8100917070fc&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B092HDFJKK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B092HDFJKK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プログラミングの練習にもとても良い内容ですし、例えばプログラミングの研修後の発展課題にも良いと思います。&lt;/p&gt;
&lt;h3 id=&quot;アドバイス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%89%E3%83%90%E3%82%A4%E3%82%B9&quot; aria-label=&quot;アドバイス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アドバイス&lt;/h3&gt;
&lt;p&gt;Nand2Tetris に着手する上では、いくつかアドバイスがあります。&lt;/p&gt;
&lt;h4 id=&quot;本をちゃんと読んで進める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%AC%E3%82%92%E3%81%A1%E3%82%83%E3%82%93%E3%81%A8%E8%AA%AD%E3%82%93%E3%81%A7%E9%80%B2%E3%82%81%E3%82%8B&quot; aria-label=&quot;本をちゃんと読んで進める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;本をちゃんと読んで進める&lt;/h4&gt;
&lt;p&gt;この本は、仕様や設計が非常によくまとまっています。&lt;/p&gt;
&lt;p&gt;その仕様や設計をしっかり読み解くことが、完走するうえでは何より重要です。&lt;/p&gt;
&lt;h4 id=&quot;短期でやる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9F%AD%E6%9C%9F%E3%81%A7%E3%82%84%E3%82%8B&quot; aria-label=&quot;短期でやる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;短期でやる&lt;/h4&gt;
&lt;p&gt;ゼロからコンピュータを作り上げるという性質上、あるレイヤを実装する際は、ひとつ手前のレイヤの仕様が前提になります。&lt;/p&gt;
&lt;p&gt;仕様を忘れないよう、ある程度短期集中で取り組むのがおすすめです。&lt;/p&gt;
&lt;p&gt;ちなみに、人によって使える時間も違うので参考までですが、私の場合は最初から最後までで半月ほどかかりました。&lt;/p&gt;
&lt;h4 id=&quot;tdd-する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tdd-%E3%81%99%E3%82%8B&quot; aria-label=&quot;tdd する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TDD する&lt;/h4&gt;
&lt;p&gt;書籍に付属しているテストツールも便利ですが、アセンブラ・バーチャルマシン・コンパイラの実装の際は、別途自動テストツールも導入したほうが楽です。&lt;/p&gt;
&lt;p&gt;これらは自分の好きな言語で実装することになるので、慣れた言語で、できれば TDD で実装するとスムーズになると思います。&lt;/p&gt;
&lt;h4 id=&quot;とにかく始めてみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A8%E3%81%AB%E3%81%8B%E3%81%8F%E5%A7%8B%E3%82%81%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;とにかく始めてみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;とにかく始めてみる&lt;/h4&gt;
&lt;p&gt;最後に、&lt;strong&gt;とにかく始めてみることが大事&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;やってみると面白くて、続きをやりたくなります。&lt;/p&gt;
&lt;p&gt;まずは NAND ゲートをもとに各種論理ゲートを作るところから、気軽に始めてみてください。&lt;/p&gt;
&lt;p&gt;完走すれば、CPU とコンパイラを作ったことがあると言えるようになります。
(CPU はハードウェアエミュレータなうえ、どちらも簡易的なものですが…)&lt;/p&gt;
&lt;h2 id=&quot;今後やりたいこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E5%BE%8C%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8&quot; aria-label=&quot;今後やりたいこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今後やりたいこと&lt;/h2&gt;
&lt;p&gt;ということで、感想や、これから取り組む方へのアドバイスなどを書いてきました。&lt;/p&gt;
&lt;p&gt;これで CPU とコンパイラは作りましたが、個人的にもう少し低レイヤを勉強したいと思っています。&lt;/p&gt;
&lt;p&gt;具体的には、今年中には簡易的な OS (カーネル)、シェル、デバイスドライバあたりを自作してみるつもりです。&lt;/p&gt;
&lt;p&gt;また、コンパイラ周辺では Lex、yacc、LLVM あたりを勉強したいなと思っています。&lt;/p&gt;
&lt;p&gt;これらもやってみたらまた記事にします！&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5d49a2a0445114f981f12e95143817a9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[2021 年後半で勉強したことのふりかえり]]></title><description><![CDATA[2021 年も終わろうとしているので、2021 年後半で勉強したことをふりかえって記事にまとめます。
普通は 1 年のふりかえりをするかもしれませんが、自分にとって 1 年は長すぎて思い出せないことが多いです。
なんとなく半年単位で目標を立てたりふりかえりするのがよさそうな気がしているので、その初の試みになります。]]></description><link>https://www.kanzennirikaisita.com/posts/learning-log-2021-second-half</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/learning-log-2021-second-half</guid><pubDate>Fri, 31 Dec 2021 11:17:36 GMT</pubDate><content:encoded>&lt;p&gt;2021 年も終わろうとしているので、2021 年後半で勉強したことをふりかえって記事にまとめます。&lt;/p&gt;
&lt;p&gt;普通は 1 年のふりかえりをするかもしれませんが、自分にとって 1 年は長すぎて思い出せないことが多いです。&lt;/p&gt;
&lt;p&gt;なんとなく半年単位で目標を立てたりふりかえりするのがよさそうな気がしているので、その初の試みになります。&lt;/p&gt;
&lt;h2 id=&quot;読書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E6%9B%B8&quot; aria-label=&quot;読書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読書&lt;/h2&gt;
&lt;p&gt;2021 年 7 月から、毎月読んだ本を記事にまとめています。&lt;/p&gt;
&lt;p&gt;整理すると以下のようになります。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;月&lt;/th&gt;
&lt;th&gt;読了した冊数&lt;/th&gt;
&lt;th&gt;まとめ記事&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202107&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 7 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202108&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 8 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202109&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 9 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202110&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 10 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202111&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 11 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/reading-log-202112&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 12 月】読んだ本の記録&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;合計 70 冊です。
ほぼ技術書でこの数なのは、なかなか多いほうだと思います。&lt;/p&gt;
&lt;p&gt;今年読んで良かった本は、別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/best-books-2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021年】今年読んで良かった技術書 5 選&lt;/a&gt;」にもまとめていますが、その中で 2021 年後半に読んだのは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3mLPaim&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python実践入門 ── 言語の力を引き出し、開発効率を高める&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3mHK32Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3ECMVE1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0842JDVBZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=deee2e57f6089414edc3e8f47700feeb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0842JDVBZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0842JDVBZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e65921fc59c838bea855989e0386a7d5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=75fdb7df89649fa69107fec8c8324e8e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なかでも、『詳解 Linuxカーネル』を一通り読めたのは大きいです。&lt;/p&gt;
&lt;p&gt;Linux つよつよの方からすれば入門的な内容だとは思いますが、これを読んだことがあれば Linux 中級者と言えなくないと思います。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;p&gt;OS や Linux について勉強する中で、今更ながら関連する資格をとろうと思い、以下の 3 つを取得しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;8月: LPIC レベル 2 (201 と 202)&lt;/li&gt;
&lt;li&gt;9月: LPIC レベル 3 (304)&lt;/li&gt;
&lt;li&gt;10月: CCNA&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LPIC はさくさく取得できたのですが、CCNA は想像していた以上に出題範囲が広く、驚きました。&lt;/p&gt;
&lt;p&gt;LPIC レベル 3 と CCNA を持っていれば、Linux やネットワークを扱う上で、まず学ぶべきことはおさえていると言えると思います。&lt;/p&gt;
&lt;p&gt;これらの勉強がてら Linux の物理・仮想マシンや Cisco Packet Tracer で色々さわったことで、かなり理解も深まりました。&lt;/p&gt;
&lt;p&gt;特にネットワークは、VLAN・STP・OSPF といった AWS などのクラウド環境でふれない部分に手を出せて良かったです。&lt;/p&gt;
&lt;h2 id=&quot;友人との勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8B%E4%BA%BA%E3%81%A8%E3%81%AE%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;友人との勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;友人との勉強会&lt;/h2&gt;
&lt;p&gt;もう 5 年近く続けている友人との勉強会では、connpass グループ (&lt;a href=&quot;https://studyco.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StudyCo&lt;/a&gt;) を作り、公開勉強会を開催し始めました。&lt;/p&gt;
&lt;p&gt;特に機械学習や MLOps といった分野に力を入れて発表していこうということで、自分は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/226114/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MLflowで実験管理してみよう&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://studyco.connpass.com/event/233105/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習をアプリケーションに組み込む様子を見てみよう&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 2 つの回を担当しました。&lt;/p&gt;
&lt;p&gt;今まで機械学習は理論の勉強のみでコードを書いたりしていなかったのですが、これをきっかけにコードを強制的に書くことができました。&lt;/p&gt;
&lt;p&gt;また、「&lt;a href=&quot;https://www.studyco.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.studyco.io/&lt;/a&gt;」という、Web サイト・ブログも構築して公開しました。&lt;/p&gt;
&lt;p&gt;これを機に、勉強会をしている団体としてしっかり活動していけるといいなと思っています。&lt;/p&gt;
&lt;h2 id=&quot;ブログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%82%B0&quot; aria-label=&quot;ブログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブログ&lt;/h2&gt;
&lt;p&gt;このブログ (&lt;a href=&quot;https://www.kanzennirikaisita.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;完全に理解した.com&lt;/a&gt;) については、2021 年後半で 61 記事 (2021 年々間で 113 記事) 書いていました。&lt;/p&gt;
&lt;p&gt;特に 12 月は「&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR ひとりアドベントカレンダー&lt;/a&gt;」と題して、興味のあった画像・動画・音声処理や XR について調べながら 25 記事書きました。&lt;/p&gt;
&lt;p&gt;このアドベントカレンダーは、全然知らない分野を調べながら書いたため記事のクオリティは低いですが、自分が勉強したかった分野を強制的に勉強するきっかけとして良かったです。&lt;/p&gt;
&lt;p&gt;このあたりは今後力を入れていきたい分野なので、2022 年にはもっと踏み込んで勉強したり実際に実装したりしていきたいです。&lt;/p&gt;
&lt;h2 id=&quot;プログラミング言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;プログラミング言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング言語&lt;/h2&gt;
&lt;p&gt;2021 年の後半では、今までなんとなく読み書きしていた&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Go&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を改めて勉強しました。&lt;/p&gt;
&lt;p&gt;Python はかなり雰囲気で書いていたのですが、改めて勉強したことで、確信を持って書けるようになりました。&lt;/p&gt;
&lt;p&gt;しっかり読める言語が増えると、コードを読める OSS が増えるのが大きなメリットだと感じます。&lt;/p&gt;
&lt;p&gt;特に自分がよく手を出す Docker・Kubernetes・Terraform あたりのエコシステムは Go で書かれている OSS が多いので、Go を勉強できたのは大きいです。&lt;/p&gt;
&lt;p&gt;PHP は踏み込みきれなかったです。
Java を先に勉強しているとあまり踏み込めない (踏み込んで勉強する気持ちになりにくい) 言語なのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;コーディング問題&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%95%8F%E9%A1%8C&quot; aria-label=&quot;コーディング問題 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コーディング問題&lt;/h2&gt;
&lt;p&gt;競技プログラミングというほどでもないですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aizu Online Judge&lt;/li&gt;
&lt;li&gt;LeetCode&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;に手を出し、データ構造やアルゴリズムについて改めて勉強しました。&lt;/p&gt;
&lt;p&gt;基本的なデータ構造・アルゴリズムは知っていましたが、初めて知ったものもあり勉強になりました。&lt;/p&gt;
&lt;p&gt;時々練習したほうが腕が錆びないとも感じるので、今後も時々手を動かしていこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;自作&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C&quot; aria-label=&quot;自作 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自作&lt;/h2&gt;
&lt;p&gt;この半年では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PC&lt;/li&gt;
&lt;li&gt;CPU (ハードウェアエミュレータで)&lt;/li&gt;
&lt;li&gt;アセンブラ&lt;/li&gt;
&lt;li&gt;バーチャルマシン (OS の仮想化ではなく、JVM とかのほう)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を自作しました。&lt;/p&gt;
&lt;p&gt;PC は、自作自体は別に難しくないのですが、メモリの規格についてなど結構勉強になりました。&lt;/p&gt;
&lt;p&gt;また、もともと VR を一番の目的として組み立てたのですが、Linux の勉強用にも役立ちました。&lt;/p&gt;
&lt;p&gt;Mac や Windows と比べて Linux のほうが開発環境が快適なため、プログラミングは Linux マシンでするようになりました。&lt;/p&gt;
&lt;p&gt;その他、低レイヤの勉強として Nand2Tetris (&lt;a href=&quot;https://amzn.to/3EIOJLG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;) に着手しました。&lt;/p&gt;
&lt;p&gt;CPU・アセンブラ・バーチャルマシンまで実装し終えたので、残りのコンパイラと OS (というか標準ライブラリ) については来年の最初にやってしまおうと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=169c8ff7922254b9a10fba729afb0bf4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;oss&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oss&quot; aria-label=&quot;oss permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OSS&lt;/h2&gt;
&lt;p&gt;ちょっとしたコードやドキュメントの修正程度ではありますが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/firebase/firebase-tools&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;firebase-tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PyTorchLightning/pytorch-lightning&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;pytorch-lightning&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;にプルリクエストを出してマージしていただきました。&lt;/p&gt;
&lt;p&gt;OSS には大変お世話になっているので、今後も貢献していきたいです。&lt;/p&gt;
&lt;h2 id=&quot;vr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr&quot; aria-label=&quot;vr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR&lt;/h2&gt;
&lt;p&gt;個人的に昨年あたりから注目している VR に、ついに手を出しました。&lt;/p&gt;
&lt;p&gt;特に気になっていた NeosVR に手を出すため、7 月に PC を自作し、12 月についに &lt;a href=&quot;https://amzn.to/3EHBLOv&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2&lt;/a&gt; を開封しました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BYQ1ZRB?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=24ca7b3935607e47da0a1b314d3d5262&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BYQ1ZRB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BYQ1ZRB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;PC はもともと VR を一番の目的として組み立てたのですが、Linux の勉強用にも役立ち、また、M1 Mac で開発環境構築の手間が大きい問題も解決できました。&lt;/p&gt;
&lt;p&gt;一番やってみたかった NeosVR にはまだ数回ログインした程度ですが、そのすごさは実感しました。&lt;/p&gt;
&lt;p&gt;VR 関連では英語圏の方とコミュニケーションをとることも多いと分かったので、英語力不足も今後なんとかしたいです。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;2021 年後半でやったことをまとめると…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全体&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;技術書中心に 70 冊の本を読んだ&lt;/li&gt;
&lt;li&gt;ブログを 61 記事書いた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;低レイヤ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU の高度な機能や、OS (特に Linux) について理解を深められた&lt;/li&gt;
&lt;li&gt;PC を自作した&lt;/li&gt;
&lt;li&gt;『詳解 Linuxカーネル』を一周読んだ&lt;/li&gt;
&lt;li&gt;LPIC レベル 3 と CCNA を取得した&lt;/li&gt;
&lt;li&gt;組み込みやデジタル回路について少し勉強できた&lt;/li&gt;
&lt;li&gt;CPU (エミュレータで)・アセンブラ・バーチャルマシンを自作した&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;プログラミング&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python と Go をちゃんと書けるようになった&lt;/li&gt;
&lt;li&gt;Aizu Online Judge と LeetCode に手を出した&lt;/li&gt;
&lt;li&gt;OSS に少しだけ貢献できた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;応用系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習や MLOps 関連で手を動かし、公開勉強会を数回開催できた&lt;/li&gt;
&lt;li&gt;画像・動画・音声処理についてとっかかりを学べた&lt;/li&gt;
&lt;li&gt;VR (特に NeosVR) を始められた&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったあたりになります。&lt;/p&gt;
&lt;p&gt;ある程度時間をとって色々なことに手を出せて、有意義な半年でした。&lt;/p&gt;
&lt;p&gt;今後も半年単位くらいで目標を立てたりふりかえりしたりしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 12 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 12 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202112</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202112</guid><pubDate>Fri, 31 Dec 2021 08:53:52 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 12 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ｎｆｔの教科書-ビジネス・ブロックチェーン・法律・会計まで-デジタルデータが資産になる未来&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BD%8E%EF%BD%86%EF%BD%94%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%BB%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%83%BB%E6%B3%95%E5%BE%8B%E3%83%BB%E4%BC%9A%E8%A8%88%E3%81%BE%E3%81%A7-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E8%B3%87%E7%94%A3%E3%81%AB%E3%81%AA%E3%82%8B%E6%9C%AA%E6%9D%A5&quot; aria-label=&quot;ｎｆｔの教科書 ビジネス・ブロックチェーン・法律・会計まで デジタルデータが資産になる未来 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ECJSM5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ＮＦＴの教科書　ビジネス・ブロックチェーン・法律・会計まで　デジタルデータが資産になる未来&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09HGX65C1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=71e62282f491e23a9ecf531c4327e030&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09HGX65C1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09HGX65C1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近話題の NFT について知りたかったので、こちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;NFT の事例などがたくさん紹介されていました。&lt;/p&gt;
&lt;p&gt;NFT の仕組みについてはほとんど書かれていないので、仕組みについて知りたい場合は Web 上の情報をあたったりすることになります。&lt;/p&gt;
&lt;h2 id=&quot;software-design-ソフトウェアデザイン-2021年12月号&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#software-design-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-2021%E5%B9%B412%E6%9C%88%E5%8F%B7&quot; aria-label=&quot;software design ソフトウェアデザイン 2021年12月号 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3EJuZrk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Software Design (ソフトウェアデザイン) 2021年12月号&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09LCMY9XD?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8fb044b5103cd76efc4c07b0fa24fb20&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09LCMY9XD&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09LCMY9XD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;久しぶりに購読している Software Design に手を出すことができました。&lt;/p&gt;
&lt;p&gt;Docker については知っている内容が多かったですが、周辺ツールの具体的な使い方などが参考になりました。&lt;/p&gt;
&lt;h2 id=&quot;プログラミングコンテスト攻略のためのアルゴリズムとデータ構造&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88%E6%94%BB%E7%95%A5%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0&quot; aria-label=&quot;プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3qAW6Qn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミングコンテスト攻略のためのアルゴリズムとデータ構造&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00U5MVXZO?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=52070b073ef11c2f9e0d8868b39eecc4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00U5MVXZO&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00U5MVXZO&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;データ構造とアルゴリズムまわりに少し苦手意識があったので、11 月からこちらの本の内容に挑戦しました。&lt;/p&gt;
&lt;p&gt;実際にコードを書きながら進めたのでかなり時間がかかりましたが、知らなかったアルゴリズムを学ぶことができたり、とても勉強になりました。&lt;/p&gt;
&lt;p&gt;ついでに Go 言語の練習もできたので、結構満足しました。&lt;/p&gt;
&lt;h2 id=&quot;システム開発・刷新のための-データモデル大全&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA%E3%83%BB%E5%88%B7%E6%96%B0%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%A2%E3%83%87%E3%83%AB%E5%A4%A7%E5%85%A8&quot; aria-label=&quot;システム開発・刷新のための データモデル大全 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/32C54oE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システム開発・刷新のための　データモデル大全&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B089SSTR48?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e5df6e8cff137b077536695305b0af1c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B089SSTR48&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B089SSTR48&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なんとなく思い立って、積んでいたこちらの本を読みました。&lt;/p&gt;
&lt;p&gt;データ設計について、著者の様々な経験を踏まえた考えなどが面白かったです。&lt;/p&gt;
&lt;h2 id=&quot;［増補改訂］gpuを支える技術-超並列ハードウェアの快進撃&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%EF%BC%BDgpu%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-%E8%B6%85%E4%B8%A6%E5%88%97%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%BF%AB%E9%80%B2%E6%92%83&quot; aria-label=&quot;［増補改訂］gpuを支える技術 超並列ハードウェアの快進撃 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Hqszja&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［増補改訂］GPUを支える技術 ――超並列ハードウェアの快進撃&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08XWRM6C9?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=46d0c9102b61672b3195fd954b4a988e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08XWRM6C9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08XWRM6C9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;GPU について学ぶため、こちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;このシリーズはどれも素晴らしい本ばかりですが、この『GPU を支える技術』も良かったです。&lt;/p&gt;
&lt;p&gt;そもそも 3D グラフィックスについてから、GPU の仕組みなど、幅広く学ぶことができました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、12 月は 5 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;普段の自分の読書量と比較すると非常に少ないですが、今月は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AIZU ONLINE JUDGE と LeetCode に手を出す&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR ひとりアドベントカレンダー&lt;/a&gt; を完走&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/32vEqOl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方&lt;/a&gt;』の Nand2Tetris に着手&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、本を読む意外のいろいろなことに手を出すことができました。&lt;/p&gt;
&lt;p&gt;特に Nand2Tetris は途中なので、来月はまずこちらを完走しようと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117127?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8a19d9d569ed2aa028d0d3613f7e6022&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117127&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117127&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「アウトプットは勉強になる」理論と、勉強のアンチパターンについての考察]]></title><description><![CDATA[「アウトプットは勉強になる」という言葉があります。
この言葉は間違いではないとは思うのですが、個人的には疑問に感じる部分もあります。
この記事には、「アウトプットは勉強になる」理論についての自分の考えを書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/is-it-true-that-output-is-learning</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/is-it-true-that-output-is-learning</guid><pubDate>Sat, 25 Dec 2021 08:54:38 GMT</pubDate><content:encoded>&lt;p&gt;「アウトプットは勉強になる」という言葉があります。&lt;/p&gt;
&lt;p&gt;この言葉は間違いではないとは思うのですが、個人的には疑問に感じる部分もあります。&lt;/p&gt;
&lt;p&gt;この記事には、「アウトプットは勉強になる」理論についての自分の考えを書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;「アウトプット」の定義&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%80%8D%E3%81%AE%E5%AE%9A%E7%BE%A9&quot; aria-label=&quot;「アウトプット」の定義 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「アウトプット」の定義&lt;/h2&gt;
&lt;p&gt;まず最初に、この記事での「アウトプット」の定義を明確にしておきます。&lt;/p&gt;
&lt;p&gt;広く言えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会で発表する&lt;/li&gt;
&lt;li&gt;ブログなどに記事を書く&lt;/li&gt;
&lt;li&gt;プログラムを書いたり、数学の問題を解く&lt;/li&gt;
&lt;li&gt;よく分かっていないものをノートに整理する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったアウトプットがあると思います。&lt;/p&gt;
&lt;p&gt;私が「アウトプットは勉強になる」理論で疑問に感じているのは、他人に説明する系のアウトプット、つまり&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;勉強会で発表する&lt;/li&gt;
&lt;li&gt;ブログなどに記事を書く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったものなので、以降この記事ではこの種のアウトプットについて考察していきます。&lt;/p&gt;
&lt;h2 id=&quot;「アウトプットは勉強になる」理論について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%AF%E5%8B%89%E5%BC%B7%E3%81%AB%E3%81%AA%E3%82%8B%E3%80%8D%E7%90%86%E8%AB%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;「アウトプットは勉強になる」理論について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「アウトプットは勉強になる」理論について&lt;/h2&gt;
&lt;p&gt;冒頭にも書きましたが、「アウトプットは勉強になる」という考え方について、自分は賛同できる部分と、そうではない部分があります。&lt;/p&gt;
&lt;h3 id=&quot;すでに詳しい分野のアウトプットは、勉強にならないことも多い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%99%E3%81%A7%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E5%88%86%E9%87%8E%E3%81%AE%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%AF%E3%80%81%E5%8B%89%E5%BC%B7%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%82%82%E5%A4%9A%E3%81%84&quot; aria-label=&quot;すでに詳しい分野のアウトプットは、勉強にならないことも多い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;すでに詳しい分野のアウトプットは、勉強にならないことも多い&lt;/h3&gt;
&lt;p&gt;「アウトプットは勉強になる」という考え方の基本は、「アウトプットをきっかけに、強制的に勉強することになるので勉強になる」という理屈だと思います。&lt;/p&gt;
&lt;p&gt;ただ、&lt;strong&gt;「すでに詳しい分野のアウトプットは、勉強にならない」&lt;/strong&gt;という場合も少なくないと感じています。&lt;/p&gt;
&lt;p&gt;たしかに、すでに詳しい分野の発表でも、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;細かいケースの調査&lt;/li&gt;
&lt;li&gt;他者からのクリティカルな質問&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが勉強になることもあります。&lt;/p&gt;
&lt;p&gt;ただ、クリティカルな質問への回答がすでに確立されている場合や、そういった質問を受けにくい場でのアウトプットは、勉強にならないケースも多いと感じます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;アウトプットが勉強になるためには、ある程度未知の分野であることや、クリティカルな質問をされうる状況であることが前提として必要&lt;/strong&gt;なのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;勉強のアンチパターン「きれいなノート」について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%89%E5%BC%B7%E3%81%AE%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%80%8C%E3%81%8D%E3%82%8C%E3%81%84%E3%81%AA%E3%83%8E%E3%83%BC%E3%83%88%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;勉強のアンチパターン「きれいなノート」について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;勉強のアンチパターン「きれいなノート」について&lt;/h2&gt;
&lt;p&gt;「アウトプットする分野の勉強になる以外にも、アウトプットの仕方の勉強になる」と言われることがあります。&lt;/p&gt;
&lt;p&gt;具体的には、資料作成や、分かりやすい話し方の練習になるという意見です。&lt;/p&gt;
&lt;h3 id=&quot;勉強したい分野の勉強と、アウトプットの仕方の勉強は別物&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%9F%E3%81%84%E5%88%86%E9%87%8E%E3%81%AE%E5%8B%89%E5%BC%B7%E3%81%A8%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%AE%E4%BB%95%E6%96%B9%E3%81%AE%E5%8B%89%E5%BC%B7%E3%81%AF%E5%88%A5%E7%89%A9&quot; aria-label=&quot;勉強したい分野の勉強と、アウトプットの仕方の勉強は別物 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;勉強したい分野の勉強と、アウトプットの仕方の勉強は別物&lt;/h3&gt;
&lt;p&gt;発表や記事の作成が、資料作成や分かりやすい説明の練習になるというのは間違いないですし、それはそれで重要なスキルだとは思います。&lt;/p&gt;
&lt;p&gt;ただ、&lt;strong&gt;身につくスキルが違うことは忘れないほうがいい&lt;/strong&gt;と思います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;アウトプットの仕方 (資料作成や説明の仕方) の能力&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;アウトプット対象の分野の知識&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;の 2 つは別物&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;「アウトプットの仕方が上手なため誤魔化せているだけで、実はその分野の知識自体はあまり豊富ではない」という例もしばしば見かけます。&lt;/p&gt;
&lt;p&gt;個人的には、アウトプットの仕方が上手なだけでなく、実際にその分野に詳しいことも重要だと思うので、アウトプットの練習になることだけを重視しすぎないほうが良いと考えています。&lt;/p&gt;
&lt;h3 id=&quot;「きれいなノート」を作ってはいけない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%81%8D%E3%82%8C%E3%81%84%E3%81%AA%E3%83%8E%E3%83%BC%E3%83%88%E3%80%8D%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%AF%E3%81%84%E3%81%91%E3%81%AA%E3%81%84&quot; aria-label=&quot;「きれいなノート」を作ってはいけない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「きれいなノート」を作ってはいけない&lt;/h3&gt;
&lt;p&gt;そして、発表用などで&lt;strong&gt;「きれいな資料」を作ることは、勉強法の定番のアンチパターン&lt;/strong&gt;だとも思います。&lt;/p&gt;
&lt;p&gt;いわゆる受験勉強で、ノートはきれいなのに成績がそこまで上がらないという話がよくあります。&lt;/p&gt;
&lt;p&gt;これは、&lt;strong&gt;ノートをきれいにしている時間は、ノートがきれいになるだけで、知識は身につかない&lt;/strong&gt;からです。&lt;/p&gt;
&lt;p&gt;自分が何かを理解するためにノートなどに整理することは重要ですが、&lt;strong&gt;身につけたい知識を整理するのに十分な程度の整理をすればよく、それ以上ノートをきれいにするのは、知識をつける上では時間のロス&lt;/strong&gt;なのです。&lt;/p&gt;
&lt;h3 id=&quot;勉強が得意な人はノートがきれいでは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%89%E5%BC%B7%E3%81%8C%E5%BE%97%E6%84%8F%E3%81%AA%E4%BA%BA%E3%81%AF%E3%83%8E%E3%83%BC%E3%83%88%E3%81%8C%E3%81%8D%E3%82%8C%E3%81%84%E3%81%A7%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;勉強が得意な人はノートがきれいでは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;勉強が得意な人はノートがきれいでは？&lt;/h3&gt;
&lt;p&gt;これを言うと、「勉強が得意な人はノートがきれい」という反論があるかもしれませんが、それは因果関係が逆です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;「ノートがきれいだから勉強が得意になった」のではなく、「勉強が得意だからノートがきれいになっている」&lt;/strong&gt;だけです。&lt;/p&gt;
&lt;p&gt;勉強が得意だと、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;物事の構造を整理する能力が高まる&lt;/li&gt;
&lt;li&gt;先生の板書などを忠実に写す能力が高まる&lt;/li&gt;
&lt;li&gt;講義内容をすぐ理解できるため、ノートをとるのに割ける時間が増える&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった理由で、結果的にノートがきれいになりやすいのだと思います。&lt;/p&gt;
&lt;h2 id=&quot;「そういう論文があるって聞いた」について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%81%9D%E3%81%86%E3%81%84%E3%81%86%E8%AB%96%E6%96%87%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A3%E3%81%A6%E8%81%9E%E3%81%84%E3%81%9F%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;「そういう論文があるって聞いた」について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「そういう論文があるって聞いた」について&lt;/h2&gt;
&lt;p&gt;「アウトプットは勉強になるという論文があると聞きました」という意見もあるかもしれません。&lt;/p&gt;
&lt;p&gt;たしかに私もそういった記事を見かけたことはありますが、&lt;strong&gt;論文や実験結果というのは、「限られた特定の前提条件のもとで、そう言えるかもしれなかった」ことしか意味しません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;前提条件が厳しく、一般的な場面で成立するとは言えないものも少なくないですし、&lt;strong&gt;統計というもの自体、何かを証明して断言できるものではない&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;大抵の場合、調べてみると&lt;strong&gt;逆意見の論文もあったりします&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;アウトプットはやめるべきなのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%AF%E3%82%84%E3%82%81%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%AA%E3%81%AE%E3%81%8B&quot; aria-label=&quot;アウトプットはやめるべきなのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アウトプットはやめるべきなのか&lt;/h2&gt;
&lt;p&gt;ここまで「アウトプットは勉強になる」理論について、疑問に思う点を書いてきました。&lt;/p&gt;
&lt;p&gt;それではアウトプットをやめるべきなのかと言うと、&lt;strong&gt;私はアウトプットはしたほうが良い派&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;アウトプットすることの本当のメリット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AE%E6%9C%AC%E5%BD%93%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88&quot; aria-label=&quot;アウトプットすることの本当のメリット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アウトプットすることの本当のメリット&lt;/h3&gt;
&lt;p&gt;私は、「アウトプットは勉強になる」というのは一概に成立しないと思うのですが、それでもアウトプットには以下のようなメリットがあると考えています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;知名度が上がり、仕事に繋がる可能性がある&lt;/li&gt;
&lt;li&gt;作成した資料や記事が、後日同じことを調べようとした自分の役に立つ&lt;/li&gt;
&lt;li&gt;普段勉強しない分野・あまり詳しくない分野の場合、アウトプットすることを決めると、強制的に勉強時間をとるので知識がつく&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こっそり勉強している分野も、それをアウトプットしなければ、周りの人には分かりません。&lt;/p&gt;
&lt;p&gt;個人で趣味として楽しんでいる場合はアウトプットもなくていいのかもしれませんが、今や趣味的な活動が仕事に繋がることも少なくない時代だと思います。&lt;/p&gt;
&lt;h3 id=&quot;気軽にアウトプットしていくべき&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B0%97%E8%BB%BD%E3%81%AB%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%81%8F%E3%81%B9%E3%81%8D&quot; aria-label=&quot;気軽にアウトプットしていくべき permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;気軽にアウトプットしていくべき&lt;/h3&gt;
&lt;p&gt;そして個人的には、しっかり準備したアウトプットよりも、とにかく&lt;strong&gt;気軽にアウトプットするのがおすすめ&lt;/strong&gt;です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;間違った内容を指摘されるのが怖くてアウトプットできない&lt;/li&gt;
&lt;li&gt;会社や組織の体裁を気にして、内容ではなく見た目ばかり整えることになる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった例をしばしば見かけます。&lt;/p&gt;
&lt;p&gt;そういった状況も分かりますが、&lt;strong&gt;アウトプットは思い切って始めるしかありません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;そして、たとえ発表形式であっても、きれいな資料にこだわる必要はありません。
(私はセミナーで資料ではなくホワイトボードで話すことも多いです)&lt;/p&gt;
&lt;p&gt;継続することで、資料作成や説明の仕方も上達しますし、アウトプットのスピードもどんどん上がります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;アウトプットは始めることと、継続することが重要&lt;/strong&gt;だと思います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;まずは質にこだわりすぎず、とにかく始めてみましょう&lt;/strong&gt;。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「画像・動画・音声処理および XR ひとりアドベントカレンダー」まとめ]]></title><description><![CDATA[およそ一ヶ月の間、「画像・動画・音声処理および XR」というテーマで勉強しながら記事を書いてきたので、最終日のまとめとして、分野ごとの学びや次のステップ、全体の感想を書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/last-day-of-media-and-xr-lonely-advent-calendar</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/last-day-of-media-and-xr-lonely-advent-calendar</guid><pubDate>Sat, 25 Dec 2021 06:40:51 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 最終日の記事です。&lt;/p&gt;
&lt;p&gt;およそ一ヶ月の間、「画像・動画・音声処理および XR」というテーマで勉強しながら記事を書いてきたので、最終日のまとめとして、分野ごとの学びや次のステップ、全体の感想を書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;画像・動画・音声処理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F%E3%83%BB%E5%8B%95%E7%94%BB%E3%83%BB%E9%9F%B3%E5%A3%B0%E5%87%A6%E7%90%86&quot; aria-label=&quot;画像・動画・音声処理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像・動画・音声処理&lt;/h2&gt;
&lt;p&gt;画像・動画・音声処理については、データ形式の基本的な概念を理解したり、利用できるツール・ライブラリなどをある程度把握できました。&lt;/p&gt;
&lt;p&gt;具体的な処理アルゴリズムの勉強やライブラリを使った実装などはできなかったので、そのあたりは今後知識を補完したいです。&lt;/p&gt;
&lt;p&gt;コンピュータグラフィックス・コンピュータビジョンについての良さそうな書籍も見つけられたので、次はこのあたりを手に取ると良さそうだなと思っています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3posK8G&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータグラフィックス [改訂新版]&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3FuhbCv&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践 コンピュータビジョン&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/32yHb0I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゲームプログラマになる前に覚えておきたい技術&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4903474496/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ec34fbdb95fcbc3f58f104b2a1f1be65&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4903474496&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4903474496&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116074/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7bd4f6e022d34665797d084bab37e2f8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116074&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873116074&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798021180/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0e9365eccf9285994afb66c4b35d0834&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798021180&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798021180&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;xr-特に-vr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xr-%E7%89%B9%E3%81%AB-vr&quot; aria-label=&quot;xr 特に vr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;XR (特に VR)&lt;/h2&gt;
&lt;p&gt;XR については、買ったまま放置していた Oculus Quest 2 を開封し、ずっとやってみたかった NesoVR・LogiX に手を出せたのが非常に大きいです。&lt;/p&gt;
&lt;p&gt;NeosVR で今後やってみたいことは色々あるのですが、まずは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NeoRoid を作る&lt;/li&gt;
&lt;li&gt;ヘッドレスサーバを立てる&lt;/li&gt;
&lt;li&gt;ちょっとしたゲームを作る&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりから手をつけたいです。&lt;/p&gt;
&lt;p&gt;また、関連して&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unity&lt;/li&gt;
&lt;li&gt;Blender&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりもキャッチアップして、VR アプリの開発などもしてみたいなと思っています。&lt;/p&gt;
&lt;p&gt;噂に聞いていた書籍『&lt;a href=&quot;https://amzn.to/3pqkqVR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルリアリティ学&lt;/a&gt;』も購入したので、近日読んでみます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4904490053/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=50b1d9f18a132d24c9cfd9bd62c03928&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4904490053&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4904490053&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;その他、GPU の仕組みや GAN などについてもざっくり勉強できました。&lt;/p&gt;
&lt;p&gt;実際にいろいろさわってみて分かることも多いと思うので、さわりながらもっと知識を深めていこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;全体の感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E4%BD%93%E3%81%AE%E6%84%9F%E6%83%B3&quot; aria-label=&quot;全体の感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全体の感想&lt;/h2&gt;
&lt;p&gt;25 日間ひとりで取り組んできたアドベントカレンダーも今日で終わりです。&lt;/p&gt;
&lt;p&gt;途中時間があまりとれない日もあり、自分用のメモのようなレベルの記事も少なくないですが、勉強のきっかけとしては結構良かったです。&lt;/p&gt;
&lt;p&gt;このアドベントカレンダーでテーマにした分野には、個人的に今後力を入れていきたいと考えているので、これからも継続的にインプット・アウトプットしていこうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[NFT のメリットのよくある誤解と、結局なぜ価値があるのか]]></title><description><![CDATA[最近話題の NFT のメリットについて、改竄できない、コピーできない、プラットフォームをまたがって共有できる、といった誤解をよく見かけます。
この記事では、NFT の概要、よくある誤解に対する回答、NFT には結局なぜ価値があるのか、を整理していきます。
]]></description><link>https://www.kanzennirikaisita.com/posts/nft-misunderstandings-and-the-worth</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/nft-misunderstandings-and-the-worth</guid><pubDate>Fri, 24 Dec 2021 09:12:03 GMT</pubDate><content:encoded>&lt;p&gt;最近話題の NFT のメリットについて、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;改竄できない&lt;/li&gt;
&lt;li&gt;コピーできない&lt;/li&gt;
&lt;li&gt;プラットフォームをまたがって共有できる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった誤解をよく見かけます。&lt;/p&gt;
&lt;p&gt;この記事では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NFT の概要&lt;/li&gt;
&lt;li&gt;よくある誤解に対する回答&lt;/li&gt;
&lt;li&gt;NFT には結局なぜ価値があるのか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を整理していきます。&lt;/p&gt;
&lt;h2 id=&quot;nft-の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;nft の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NFT の概要&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;「NFT (Non-Fungible Token: 非代替性トークン)」は、ブロックチェーンに記録される、代替不可能なデータ単位のこと&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;ブロックチェーンと言えばビットコインなどの暗号通貨が有名です。
ビットコインは Non-Fungible (非代替可能) ではなく、Fungible (代替可能) な性質を持っています。
どういうことかと言うと、例えば 1 ビットコインを表すトークン A・B があるとき、A も B も同じものとして扱える、ということです。
(厳密には、事実上そのように扱われているだけで、Non-Fungible に扱われる可能性もなくはないです)&lt;/p&gt;
&lt;p&gt;それに対し、&lt;strong&gt;NFT は Non-Fungible (非代替可能) ということで、「そのトークンが、一点物として意味を持つ」&lt;/strong&gt;ということになります。
NFT はゲームで一点物のデータを配布することに利用されたりしています。&lt;/p&gt;
&lt;p&gt;このあたりについては、以下の資料が分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hashhub.tokyo/wp-content/uploads/2020/04/NFTin10min.pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;10分で分かるNFT（Non-fungible token）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wikipedia も私が見た時点では分かりやすい内容でしたが、誰でも編集できるため、誤解を生む記述が入る可能性もあります。
注意して参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E9%9D%9E%E4%BB%A3%E6%9B%BF%E6%80%A7%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;非代替性トークン - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nft-のよくある誤解&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-%E3%81%AE%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%AA%A4%E8%A7%A3&quot; aria-label=&quot;nft のよくある誤解 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NFT のよくある誤解&lt;/h2&gt;
&lt;p&gt;NFT はバズワード的に利用されている側面もあり、広まっている情報の中には誤解も少なくありません。
(あえてそういった情報を広めている可能性も低くないと思います)&lt;/p&gt;
&lt;p&gt;そこで、NFT のよくある誤解について整理します。&lt;/p&gt;
&lt;p&gt;なお、内容については例えば以下の記事が参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hedge.guide/feature/where-are-nft-data-bc202106.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NFTアートのデータはどこにある？改ざんや複製もあり得るNFT、よくある誤解を解説 | 仮想通貨コラム | 仮想通貨（暗号資産）の比較・ランキングならHEDGE GUIDE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;「改竄できない」は本当か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E6%94%B9%E7%AB%84%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%80%8D%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B&quot; aria-label=&quot;「改竄できない」は本当か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「改竄できない」は本当か&lt;/h3&gt;
&lt;p&gt;まず、「NFT はデータを改竄できないからすごい」といった意見を見かけることがあります。&lt;/p&gt;
&lt;p&gt;これについては、&lt;strong&gt;「NFT のデータが改竄できないかは、NFT の実現方法による」&lt;/strong&gt;というのが回答です。&lt;/p&gt;
&lt;p&gt;前提として、NFT のデータを保存しているブロックチェーンは、「非中央集権で (現実的に) 改竄できない分散台帳」です。
なので、「ブロックチェーンに保存されたデータは改竄できない」という表現は間違いではないです。&lt;/p&gt;
&lt;p&gt;ただし、NFT の場合、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データがブロックチェーン上に保存される「オンチェーン」&lt;/li&gt;
&lt;li&gt;データはブロックチェーンの外部に保存される「オフチェーン」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;があり、メジャーなのは「オフチェーン」です。&lt;/p&gt;
&lt;p&gt;したがって、&lt;strong&gt;「NFT のデータは改竄できない」というのはメジャーな「オフチェーン」の場合は誤り&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;「コピーできない」は本当か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%82%B3%E3%83%94%E3%83%BC%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%80%8D%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B&quot; aria-label=&quot;「コピーできない」は本当か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「コピーできない」は本当か&lt;/h3&gt;
&lt;p&gt;たまに&lt;strong&gt;「NFT はコピーできないから唯一性を保証できる」といったことを言われるケースがありますが、これは完全に誤り&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;そもそも画像などのデータは、表示しているコンピュータに配布されています。
他のコンピュータから見える時点で、コピー可能ということです。&lt;/p&gt;
&lt;p&gt;そもそも、公開されているブロックチェーン上にデータがあったら、むしろコピーしやすいくらいで逆効果です。&lt;/p&gt;
&lt;p&gt;仮に実現したい場合は、「暗号化した上で NFT として保存し、復号済みのデータは他人に一切見せない」しか方法はないと思いますが、それなら個人のストレージに保存しておいたほうがずっといいです。&lt;/p&gt;
&lt;h3 id=&quot;「プラットフォームをまたがって共有できる」は本当か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E3%81%BE%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E5%85%B1%E6%9C%89%E3%81%A7%E3%81%8D%E3%82%8B%E3%80%8D%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B&quot; aria-label=&quot;「プラットフォームをまたがって共有できる」は本当か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「プラットフォームをまたがって共有できる」は本当か&lt;/h3&gt;
&lt;p&gt;特に「メタバース」との繋げた話題として、「NFT を使えばプラットフォームをまたがってデータを共有できる」と言われることがあります。&lt;/p&gt;
&lt;p&gt;これについては、&lt;strong&gt;「NFT じゃなくてもプラットフォームをまたがってデータを共有できる」&lt;/strong&gt;というのが回答です。&lt;/p&gt;
&lt;p&gt;プラットフォームをまたがってデータを使えるかどうかは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データ形式がプラットフォーム独自ではなく、標準的な形式であること&lt;/li&gt;
&lt;li&gt;そのプラットフォームからデータをエクスポートできること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;だけの問題です。&lt;/p&gt;
&lt;p&gt;NFT だから、というのは関係ないですし、NFT なしですでに実現されていることです。
例えば Google アカウントに使っているアイコンが、「Google アカウントでログイン」機能でログインした他のプラットフォーム上で表示されたりすると思います。
プラットフォームをまたがったデータの共有というのは、そもそも現代において特別なことではないのです。&lt;/p&gt;
&lt;p&gt;強いて言えばデータの管理が中央集権ではないということには意味があるかもしれませんが、正直あまりメリットを思いつきません。&lt;/p&gt;
&lt;h2 id=&quot;結局、nft-の価値は何か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E5%B1%80%E3%80%81nft-%E3%81%AE%E4%BE%A1%E5%80%A4%E3%81%AF%E4%BD%95%E3%81%8B&quot; aria-label=&quot;結局、nft の価値は何か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結局、NFT の価値は何か&lt;/h2&gt;
&lt;p&gt;このように、よく誤解されていることを除けば、NFT にはあまりメリットがないように思えるのではないでしょうか。&lt;/p&gt;
&lt;p&gt;私も最初は NFT のメリットがよく分からなかったのですが、一言で言えば&lt;strong&gt;「ファン心をくすぐること」&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;先述の通り、アートなどの作品を NFT 化したとして、そのコピーが生まれない保証はありません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NFT が唯一実現してくれるのは、「あなたがこの作品の本当の所有者です」という記録だけ&lt;/strong&gt;です。
(細かいことを言えば、そのブロックチェーンの外部にも所有者がいたらどうなるの？といった問題はあります)&lt;/p&gt;
&lt;p&gt;これは言ってしまえば自己満足ですが、「ファン心」にお金を払うこと自体は非常に一般的なことです。&lt;/p&gt;
&lt;p&gt;「これの所有者は自分ですよ」という記録をブロックチェーンという改竄できないプラットフォームで残せること、それが NFT のメリットです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[メディアアート・デジタルアートの概要と、利用できるソフトウェア・ライブラリ]]></title><description><![CDATA[メディアアートやデジタルアートという単語を聞いたことはあったのですが、どんな意味なのかよく分かっていなかったので、改めて調べました。
また、特にデジタルアートに利用できるソフトウェア・ライブラリについても調べました。]]></description><link>https://www.kanzennirikaisita.com/posts/media-art-and-digital-art-overview</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/media-art-and-digital-art-overview</guid><pubDate>Thu, 23 Dec 2021 06:00:11 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 23 日目の記事です。&lt;/p&gt;
&lt;p&gt;メディアアートやデジタルアートという単語を聞いたことはあったのですが、どんな意味なのかよく分かっていなかったので、改めて調べました。&lt;/p&gt;
&lt;p&gt;また、特にデジタルアートに利用できるソフトウェア・ライブラリについても調べました。&lt;/p&gt;
&lt;h2 id=&quot;技術に関する◯◯アートについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8A%80%E8%A1%93%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E2%97%AF%E2%97%AF%E3%82%A2%E3%83%BC%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;技術に関する◯◯アートについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;技術に関する◯◯アートについて&lt;/h2&gt;
&lt;h3 id=&quot;メディアアート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%82%A2%E3%83%BC%E3%83%88&quot; aria-label=&quot;メディアアート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メディアアート&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%82%A2%E3%83%BC%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メディアアート - Wikipedia&lt;/a&gt;」によると、メディアアートは、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;芸術表現に新しい技術的発明を利用する、もしくは新たな技術的発明によって生み出される芸術の総称的な用語&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;コンピュータに限らず、映像技術やロボティクスなどを活用したものも含むようです。&lt;/p&gt;
&lt;h3 id=&quot;デジタルアート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%A2%E3%83%BC%E3%83%88&quot; aria-label=&quot;デジタルアート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デジタルアート&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%A2%E3%83%BC%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;デジタルアート - Wikipedia&lt;/a&gt;」によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;デジタルアート（Digital art）は、デジタルコンピュータを使って芸術作品を作ること&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;だそうです。&lt;/p&gt;
&lt;p&gt;「メディアアートのうち、コンピュータを使うものがデジタルアート」ということですね。&lt;/p&gt;
&lt;p&gt;完全にコンピュータで生成する場合もあれば、写真などを元に加工したものも含まれるそうです。&lt;/p&gt;
&lt;h3 id=&quot;ジェネラティブアート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%A9%E3%83%86%E3%82%A3%E3%83%96%E3%82%A2%E3%83%BC%E3%83%88&quot; aria-label=&quot;ジェネラティブアート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ジェネラティブアート&lt;/h3&gt;
&lt;p&gt;デジタルアートのうち、完全にコンピュータがアルゴリズムで生成したものを、「ジェネラティブアート」と言います。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%96%E3%82%A2%E3%83%BC%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ジェネレーティブアート - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h3&gt;
&lt;p&gt;他にも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンピュータアート&lt;/li&gt;
&lt;li&gt;ソフトウェアアート&lt;/li&gt;
&lt;li&gt;インターネットアート&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの似た言葉がたくさんあり、使い分けはなかなか難しそうでした。&lt;/p&gt;
&lt;h2 id=&quot;デジタルアートに使えるソフトウェア・ライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%A2%E3%83%BC%E3%83%88%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%BB%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;デジタルアートに使えるソフトウェア・ライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デジタルアートに使えるソフトウェア・ライブラリ&lt;/h2&gt;
&lt;h3 id=&quot;processing&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#processing&quot; aria-label=&quot;processing permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Processing&lt;/h3&gt;
&lt;p&gt;デジタルアートに使えるソフトウェアとして最も有名なのは、Processing だと思います。&lt;/p&gt;
&lt;p&gt;Arduino と接続して図形を描画する用途にも使われたりします。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/Processing&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Processing - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/RyoAbe/items/05573f8896a17d799fff&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Processingでデジタルアートに挑戦 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;p5js&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#p5js&quot; aria-label=&quot;p5js permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;p5.js&lt;/h3&gt;
&lt;p&gt;Processing と並んで有名なのが、p5.js です。&lt;/p&gt;
&lt;p&gt;Web 上で p5.js のコーディングや作品の投稿ができる「OpenProcessing」というサービスもあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/gohan_shin/items/2bc4eeca1d7fb3b83d5c&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ジェネラティブアートとp5.jsって何？ - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/deconbatch/n/nc3821f71a65d&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;趣味としてのクリエイティブ・コーディング：102：OpenProcessing を使おう｜deconbatch｜note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96-1&quot; aria-label=&quot;その他 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h3&gt;
&lt;p&gt;デジタルアートにつかえるソフトウェアやライブラリは、他にもたくさんあるようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://blog.creative-plus.net/archives/8171&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クリエイティブコーディングとは？メディアアート・インタラクティブアートなど音響・映像表現をする為のプログラミング環境のまとめ – Creative Plus&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;クリエイティブコーディング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&quot; aria-label=&quot;クリエイティブコーディング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クリエイティブコーディング&lt;/h2&gt;
&lt;p&gt;Processing や p5.js を使ったりして、プログラミングで絵やアニメーションを作ることを「クリエイティブコーディング」と呼びます。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://note.com/reona396/n/n7a0ee0205c48&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クリエイティブコーディングとはどんな活動で、どんな所が面白いのか語らせてくれ！｜reona396｜note&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;クリエイティブコーディングをしてみたい場合は、書籍や以下のページなどが参考になりそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zenn.dev/baroqueengine/books/a19140f2d9fc1a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クリエイティブコーディングの教科書&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://yoppa.org/mit-creativecoding19&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;yoppa org – クリエイティブコーディング 2019 (プログラミング II)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[GAN とディープフェイクについて調べたこと]]></title><description><![CDATA[機械学習による画像などの生成で有名なキーワードである「GAN (Generative Adversarial Network: 敵対的生成ネットワーク）」と「ディープフェイク」の 2 つについて調べたことを簡単にまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/gan-and-deepfake-first-step</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/gan-and-deepfake-first-step</guid><pubDate>Wed, 22 Dec 2021 11:13:49 GMT</pubDate><content:encoded>&lt;p&gt;機械学習による画像などの生成で有名なキーワードである&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GAN (Generative Adversarial Network: 敵対的生成ネットワーク）&lt;/li&gt;
&lt;li&gt;ディープフェイク&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つについて調べたことを簡単にまとめます。&lt;/p&gt;
&lt;h2 id=&quot;gan-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gan-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;gan について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GAN について&lt;/h2&gt;
&lt;p&gt;GAN (Generative Adversarial Network: 敵対的生成ネットワーク）はディープラーニングを応用した教師なしアルゴリズムの一種であり、ある画像を「◯◯風に変換」といった処理ができるものです。&lt;/p&gt;
&lt;p&gt;写真から絵画風の画像を生成する例などは、見たことがある人も多いのではないでしょうか。&lt;/p&gt;
&lt;p&gt;2014 年に発表された手法であり、ディープラーニングの応用的手法として注目されています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E6%95%B5%E5%AF%BE%E7%9A%84%E7%94%9F%E6%88%90%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;敵対的生成ネットワーク - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://crystal-method.com/topics/gan/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GAN(敵対的生成ネットワーク)について説明します! | クリスタルメソッド株式会社はR&amp;#x26;Dに特化したAI受託研究開発&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;gan-の仕組み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gan-%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF&quot; aria-label=&quot;gan の仕組み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GAN の仕組み&lt;/h3&gt;
&lt;p&gt;GAN では「生成ネットワーク」と「識別ネットワーク」という 2 つのネットワークを用意し、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;生成側は識別側が本物と見間違う画像を生成&lt;/li&gt;
&lt;li&gt;識別側はそれをみやぶる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった敵対的な学習をさせます。&lt;/p&gt;
&lt;p&gt;そして最終的に、本物のような画像データができあがります。&lt;/p&gt;
&lt;p&gt;GAN には Progressive GAN (PGGAN)、stackGAN、StyleGAN といった様々な手法があるようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.negativemind.com/2020/06/27/progressive-growing-gan/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PGGAN：段階的に解像度を上げて学習を進めるGAN | NegativeMindException&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://software-data-mining.com/ai%E5%AD%A6%E7%BF%92%E6%B8%88%E3%81%BFstackgan%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AB%E8%AA%AC%E6%98%8E%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E3%81%AE%E7%94%BB%E5%83%8F%E8%87%AA%E5%8B%95%E7%94%9F/#toc2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AI(学習済みstackGANモデル)による説明文書からの画像自動生成 | 知のマイニング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;gan-の学習済みモデル・api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gan-%E3%81%AE%E5%AD%A6%E7%BF%92%E6%B8%88%E3%81%BF%E3%83%A2%E3%83%87%E3%83%AB%E3%83%BBapi&quot; aria-label=&quot;gan の学習済みモデル・api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GAN の学習済みモデル・API&lt;/h3&gt;
&lt;h4 id=&quot;stylegan・stylegan2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#stylegan%E3%83%BBstylegan2&quot; aria-label=&quot;stylegan・stylegan2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;StyleGAN・StyleGAN2&lt;/h4&gt;
&lt;p&gt;GAN のアルゴリズムの一種である StyleGAN・StyleGAN2 には、公式実装と学習済みモデルがあります。&lt;/p&gt;
&lt;p&gt;これを利用して遊んでいる記事は非常にたくさん見つかります。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/NVlabs/stylegan&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NVlabs/stylegan: StyleGAN - Official TensorFlow Implementation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/NVlabs/stylegan2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NVlabs/stylegan2: StyleGAN2 - Official TensorFlow Implementation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/pacifinapacific/items/1d6cca0ff4060e12d336&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StyleGANを遊び尽くせ!! ~追加学習不要の画像編集~ - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://memo.sugyan.com/entry/2020/02/09/205036&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;StyleGAN2学習済みモデルを使ったmorphing、latent spaceの探求 - すぎゃーんメモ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;progressive-gan-pggan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#progressive-gan-pggan&quot; aria-label=&quot;progressive gan pggan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Progressive GAN (PGGAN)&lt;/h4&gt;
&lt;p&gt;Tensorflow hub という学習済みモデルのリポジトリがあり、Progressive GAN の学習済みモデルがあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://cedro3.com/ai/tensorflow-pggan/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Tensorflow hub にある Progressive GAN の学習済みモデルでサクッと遊んでみる – その１ | cedro-blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他の応用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E5%BF%9C%E7%94%A8&quot; aria-label=&quot;その他の応用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の応用&lt;/h3&gt;
&lt;p&gt;その他、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;学習済みモデルをコンピュータビジョンに転用する&lt;/li&gt;
&lt;li&gt;GAN で生成した「顔」の向きを変えたりする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった例もあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ai-scholar.tech/articles/gan/glean&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;事前学習済みGANモデルを超解像技術へ | AI-SCHOLAR | AI：(人工知能)論文・技術情報メディア&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itmedia.co.jp/news/articles/2008/05/news086.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実在しないリアルな顔”を自在に編集できる「StyleRig」　StyleGANで生成した顔の向き、表情、照明を制御：Innovative Tech - ITmedia NEWS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ディープフェイクについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%95%E3%82%A7%E3%82%A4%E3%82%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ディープフェイクについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ディープフェイクについて&lt;/h2&gt;
&lt;p&gt;ディープフェイクは、元の画像・動画に登場する人物の顔を他の人物と入れ替えた画像・動画を生成する技術です。&lt;/p&gt;
&lt;p&gt;ディープフェイクの例としては、マーク・ザッカーバーグ氏の動画と、オバマ氏がトランプ氏を罵る動画が非常に有名です。
(ディープフェイクによって生成された動画であり、その動画の内容はその人物の実際の発言ではありません)&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/japanese/48623901&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フェイスブック、CEOの偽動画も「削除しない」　 「ディープフェイク」で本人そっくり - BBCニュース&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wired.jp/2018/09/14/deepfake-fake-videos-ai/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIで進化する「フェイク動画」と、それに対抗するAIの闘いが始まった（動画あり） | WIRED.jp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ディープフェイクの仕組み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%95%E3%82%A7%E3%82%A4%E3%82%AF%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF&quot; aria-label=&quot;ディープフェイクの仕組み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ディープフェイクの仕組み&lt;/h3&gt;
&lt;p&gt;ディープフェイクは GAN を応用することで実現されています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/jiny2001/items/1a33c0c43230b6468571&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DeepFake技術解説　人を超えるAIを作るには - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aismiley.co.jp/ai_news/deepfake/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;今話題のディープフェイクとは？進化したAI技術で本物そっくりの顔を生成&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ディープフェイクの問題&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%95%E3%82%A7%E3%82%A4%E3%82%AF%E3%81%AE%E5%95%8F%E9%A1%8C&quot; aria-label=&quot;ディープフェイクの問題 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ディープフェイクの問題&lt;/h3&gt;
&lt;p&gt;ディープフェイクは、特定の人物が不適切な発言をしているように見せかけたり、ポルノサイトに利用したりといった悪用がなされている技術のため、社会問題とされています。&lt;/p&gt;
&lt;p&gt;実際に、国内でもディープフェイクを悪用して逮捕された例があります。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nettrouble.docomo.ne.jp/pages/article48/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本でも被害拡大する、ディープフェイクとは？その問題点や事例、対策について｜【NTTドコモ】ネットトラブルあんしんサポート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://signal.diamond.jp/articles/-/866&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;合成映像技術「ディープフェイク」の光と影──“バーチャルヒューマン”の可能性と“わいせつ動画”の課題 | DIAMOND SIGNAL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.asahi.com/articles/ASNB23PX3NB1UTIL052.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ディープフェイク職人」逮捕　AVの顔すり替えた容疑：朝日新聞デジタル&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;ツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ツール&lt;/h3&gt;
&lt;p&gt;ディープフェイク自体は、FaceSwap というソフトウェアを使うことで簡単にできてしまうようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://faceswap.dev/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Welcome - Faceswap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://topten.ai/ja/how-to-make-deepfake-videos-with-faceswap/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FaceSwapのパソコンソフトでDeepfakeを作る方法｜2021最新 - TopTen.ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kujikun.com/entry/How_to_use_Faceswap_jp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【ディープフェイク】Faceswapの使い方【顔交換】 - kujikunのブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;その他、スマホアプリなどで簡単に試すこともできてしますようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://aismiley.co.jp/ai_news/deepfake/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;今話題のディープフェイクとは？進化したAI技術で本物そっくりの顔を生成&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;※ 前述の通りディープフェイクは社会問題になっている技術です。利用には注意してください&lt;/p&gt;
&lt;h3 id=&quot;参考情報&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83%E6%83%85%E5%A0%B1&quot; aria-label=&quot;参考情報 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考情報&lt;/h3&gt;
&lt;p&gt;最後に、ディープフェイクに関して参考になりそうな情報源を置いておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/KEINOS/items/f9a630af1755207f61b5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ディープラーニングで動画の顔画像の入れ替え実施編＆そこから学ぶ機械学習の基礎の基礎 （Mac OSX） - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/iliasprc/Deep-Fakes&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;iliasprc/Deep-Fakes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【感想】『GPUを支える技術』を読みました]]></title><description><![CDATA[書籍『［増補改訂］GPUを支える技術 ――超並列ハードウェアの快進撃［技術基礎］』を読んだので、感想をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4297119544</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297119544</guid><pubDate>Tue, 21 Dec 2021 14:28:23 GMT</pubDate><content:encoded>&lt;p&gt;書籍『&lt;a href=&quot;https://amzn.to/3moa3js&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［増補改訂］GPUを支える技術 ――超並列ハードウェアの快進撃［技術基礎］&lt;/a&gt;』を読んだので、感想をまとめます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08XWRM6C9?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=423bcc6bc03e84da4ba1534ee84e0d5b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08XWRM6C9&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08XWRM6C9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;書籍の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;書籍の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍の概要&lt;/h2&gt;
&lt;p&gt;『GPUを支える技術』は、コンピュータグラフィックスやディープラーニングなどで利用されているプロセッサ「GPU (Graphics Processing Unit)」についての解説書です。&lt;/p&gt;
&lt;p&gt;GPU の最初の用途であるコンピュータグラフィックスの概要や、GPU の仕組み、GPU プログラミング、ディープラーニングなどでの活用など、GPU に関するトピックが幅広く解説されています。&lt;/p&gt;
&lt;p&gt;書籍の最初に書いてある通り、読み進める前提として、CPU の基本的な概念や C 言語について理解している必要があります。&lt;/p&gt;
&lt;h2 id=&quot;コンピュータグラフィックについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;コンピュータグラフィックについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンピュータグラフィックについて&lt;/h2&gt;
&lt;p&gt;この書籍では、前半でコンピュータグラフィックについてもある程度ページ数が割かれており、どんな処理があって、なぜ CPU ではなく GPU が適しているのかが解説されています。&lt;/p&gt;
&lt;p&gt;コンピュータグラフィックについては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;法線マッピング&lt;/li&gt;
&lt;li&gt;レイトレーシング&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの様々な工夫が解説されており、工夫の考え方がとても面白かったです。&lt;/p&gt;
&lt;h2 id=&quot;gpu-の仕組みや-gpu-プログラミングについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gpu-%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%84-gpu-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;gpu の仕組みや gpu プログラミングについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GPU の仕組みや GPU プログラミングについて&lt;/h2&gt;
&lt;p&gt;個人的には、ディープラーニングなどのいわゆる「GPGPU」の環境構築に役立てたくてこの本を手に取ったので、GPU の仕組みや GPU プログラミングについての章はとても参考になりました。&lt;/p&gt;
&lt;p&gt;CPU と GPU ではメモリに求める要件が異なるため、CPU 側のメインメモリから GPU のメモリに DMA でデータを転送して処理することなどが、分かりやすく解説されていました。&lt;/p&gt;
&lt;p&gt;CUDA や OpenCL については、非常にざっくりした概要しか知らなかったのですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語の拡張 (CUDA、OpenCL)&lt;/li&gt;
&lt;li&gt;コンパイル後のドライバ向け出力 (CUDA に対する抽象化アセンブラ PTX、OpenCL に対する SPIR-V)&lt;/li&gt;
&lt;li&gt;GPU における機械命令&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった階層があることが理解できました。&lt;/p&gt;
&lt;h2 id=&quot;発展的なトピック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%99%BA%E5%B1%95%E7%9A%84%E3%81%AA%E3%83%88%E3%83%94%E3%83%83%E3%82%AF&quot; aria-label=&quot;発展的なトピック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;発展的なトピック&lt;/h2&gt;
&lt;p&gt;後半では、ディープラーニングをはじめとする発展的なトピックについても豊富に解説されています。&lt;/p&gt;
&lt;p&gt;用語としては知っていた「TPU (Tensor Processing Unit)」が、GPU とどのように異なるのか、概要を理解することができました。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;感想を一言で言えば、GPGPU やコンピュータグラフィックに興味のあった自分にとって、すごく良い本でした。&lt;/p&gt;
&lt;p&gt;コンピュータグラフィックや GPU について前提知識のない自分には難しい部分も多かったですが、知りたかったキーワードの概要をかなり理解できました。&lt;/p&gt;
&lt;p&gt;GPU についてざっくり学びたい方が手に取ってみるのにおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08XWRM6C9?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1a06fccde7f7f31d108f2837fffad764&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08XWRM6C9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08XWRM6C9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[PC ゲームのプラットフォームとクラウドゲーミングについて]]></title><description><![CDATA[VR について調べる中で気になった、PC ゲームのプラットフォームと、クラウドゲーミングについて調べたことを簡単にまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/pc-gaming-platform-and-cloud-gaming</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/pc-gaming-platform-and-cloud-gaming</guid><pubDate>Mon, 20 Dec 2021 13:52:46 GMT</pubDate><content:encoded>&lt;p&gt;VR について調べる中で気になった、PC ゲームのプラットフォームと、クラウドゲーミングについて調べたことを簡単にまとめます。&lt;/p&gt;
&lt;h2 id=&quot;pc-ゲームのプラットフォームについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc-%E3%82%B2%E3%83%BC%E3%83%A0%E3%81%AE%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;pc ゲームのプラットフォームについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PC ゲームのプラットフォームについて&lt;/h2&gt;
&lt;p&gt;まずは PC ゲームのプラットフォームについてです。&lt;/p&gt;
&lt;h2 id=&quot;steam&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#steam&quot; aria-label=&quot;steam permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Steam&lt;/h2&gt;
&lt;p&gt;PC ゲームのプラットフォームとして最も有名なのは Steam だと思います。&lt;/p&gt;
&lt;p&gt;VRChat や NeosVR についても、Steam で利用することができます。&lt;/p&gt;
&lt;h3 id=&quot;steamvr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#steamvr&quot; aria-label=&quot;steamvr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SteamVR&lt;/h3&gt;
&lt;p&gt;Steam には SteamVR というソフトウェアがゲームという分類で存在しています。&lt;/p&gt;
&lt;p&gt;SteamVR をインストールすることで、Steam の VR 対応ゲームを Oculus Link などでプレイ可能になります。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://store.steampowered.com/app/250820/SteamVR/?l=japanese&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Steam：SteamVR&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;epic-games-ストア&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#epic-games-%E3%82%B9%E3%83%88%E3%82%A2&quot; aria-label=&quot;epic games ストア permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Epic Games ストア&lt;/h3&gt;
&lt;p&gt;Steam との比較として一番名前が上がるのが Epic Games ストアです。&lt;/p&gt;
&lt;p&gt;Epic Games ストアでは、一部のゲームを無料で入手可能なことが特徴のようです。&lt;/p&gt;
&lt;h3 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h3&gt;
&lt;p&gt;PC ゲームのプラットフォームは他にもいくつもあるようです。&lt;/p&gt;
&lt;p&gt;まとめ記事をいくつか貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alienwarezone.jp/post/1405&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Steamだけじゃない！ ゲーミングPCを買ったら必ず入れたい“PCゲームプラットフォーム” | Alienware Zone | PCゲーム＆eスポーツで勝ち抜くためのメディア&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://game-creators.jp/media/career/486/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PCゲームのプラットフォームとは？Steam以外も紹介！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://akiba-souken.com/article/48557/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021】 PC向けゲームプラットフォーム6選！ - アキバ総研&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;クラウドゲーミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B2%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;クラウドゲーミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウドゲーミング&lt;/h2&gt;
&lt;p&gt;続いて、クラウドゲーミングについてです。&lt;/p&gt;
&lt;p&gt;クラウドゲーミングとは、ゲームの主要な処理をクラウド上で実行し、クライアント側はコントローラやディスプレイなどの入出力のみでゲームを実現するサービスのことです。&lt;/p&gt;
&lt;p&gt;いわゆる「シンクライアント」のようなもので、Gaming as a Service と呼ばれることもあるようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B2%E3%83%BC%E3%83%A0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クラウドゲーム - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.nvidia.co.jp/2021/03/08/what-is-cloud-gaming/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クラウド ゲーミングとは | NVIDIA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;クラウドゲーミングの現状&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B2%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E7%8F%BE%E7%8A%B6&quot; aria-label=&quot;クラウドゲーミングの現状 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウドゲーミングの現状&lt;/h3&gt;
&lt;p&gt;クラウドゲーミングでは、いわゆる「ゲーミング PC」がなくても PC ゲームをプレイできるようになります。&lt;/p&gt;
&lt;p&gt;ただ、性質上ネットワークがボトルネックになり、まだまだ動作が遅く感じるという情報が多いです。&lt;/p&gt;
&lt;p&gt;NVIDIA CloudXR など、クラウド側で GPU などの処理を行う話はときどき見かけますが、印象としてはまだこれからという気がします。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.watch.impress.co.jp/docs/topic/1354663.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本でスタートする「Xbox Cloud Gaming」の狙い。全てのPCが「ゲーミングPC」に - Impress Watch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://japan.cnet.com/article/35166984/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クラウドゲーミングはまだ発展途上—私がまだ夢中になれない5つの理由 - CNET Japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.geekly.co.jp/column/cat-webgame/1909_007/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【知っておきたい！】クラウドゲームを徹底解説！！その特徴から流行りの理由、将来性も含めて分かりやすく解説します。 | GeeklyMedia(ギークリーメディア)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[NeosVR の通貨・トークンについて調べたこと]]></title><description><![CDATA[NeosVR の通貨・トークンについて調べたことを簡単に書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/neosvr-currencies-and-tokens</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/neosvr-currencies-and-tokens</guid><pubDate>Sun, 19 Dec 2021 14:13:54 GMT</pubDate><content:encoded>&lt;p&gt;NeosVR の通貨・トークンについて調べたことを簡単に書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;ncr-neos-クレジット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ncr-neos-%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88&quot; aria-label=&quot;ncr neos クレジット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NCR (Neos クレジット)&lt;/h2&gt;
&lt;p&gt;NCR は NeosVR 公式の暗号通貨です。&lt;/p&gt;
&lt;p&gt;具体的には、公式 Wiki の以下のページに書かれています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.neos.com/Neos_Credits/ja&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Neosクレジット - Neos Wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;イーサリアムブロックチェーンに存在しており、イーサリアムを送金することで入手したり、NeosVR のパトロンになることで入手できるようです。&lt;/p&gt;
&lt;p&gt;入手方法は以下の記事が分かりやすかったです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/hirakichi/n/n49f080131e46&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVRの暗号通貨（NCR）の入手方法｜ひら吉/hirakichi@VRメタバースのジャーナリスト｜note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;kfc-kompletely-fake-credits&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kfc-kompletely-fake-credits&quot; aria-label=&quot;kfc kompletely fake credits permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;KFC (Kompletely Fake Credits)&lt;/h2&gt;
&lt;p&gt;KFC は、NeosVR で流通しているゲーム内通貨です。&lt;/p&gt;
&lt;p&gt;NCR とは違い、その名の通り、遊び目的に過ぎない通貨になっています。&lt;/p&gt;
&lt;p&gt;NeosVR に登録するだけで 1024 KFC 入手できるほか、ゲームワールドで報酬として入手したりできます。&lt;/p&gt;
&lt;p&gt;入手できるワールドなどは、日本語 Wiki の以下のページに書かれています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://neosvrjp.memo.wiki/d/Kompletely%20Fake%20Credits%28KFC%29&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Kompletely Fake Credits(KFC) - NeosVR日本語Wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cdft-community-developer-fund-token&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cdft-community-developer-fund-token&quot; aria-label=&quot;cdft community developer fund token permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CDFT (Community Developer Fund Token)&lt;/h2&gt;
&lt;p&gt;CDFT は、NeosVR に貢献したコミュニティメンバーが申請し、承認されることで付与されるトークンです。&lt;/p&gt;
&lt;p&gt;CDFT を保有していると、定期的に NCR に変換されるようです。&lt;/p&gt;
&lt;p&gt;まずは以下の 2 つの記事が分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/orange3134/n/n202f61ae4ece&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【超要約】Neosコミュニティデベロッパー基金とは｜orange｜note&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/litalita9764/n/n2824b5b37df8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVRにおけるご褒美、CDFTをもらった！｜litalita｜note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;より詳細・正確な情報は公式 Wiki の以下のページを参照するのがよさそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.neos.com/Community_Developer_Fund/ja&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コミュニティデベロッパー基金 - Neos Wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[ずっと気になっていた NeosVR の LogiX をついにやってみた]]></title><description><![CDATA[以前からやってみたいと思っていた NeosVR のノード式プログラミングシステム「LogiX」をやってみました。
(NeosVR をやってみたかったのも、ほぼ LogiX をやってみたいから、みたいな気持ちでした)]]></description><link>https://www.kanzennirikaisita.com/posts/hello-neosvr-logix</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/hello-neosvr-logix</guid><pubDate>Sat, 18 Dec 2021 12:35:03 GMT</pubDate><content:encoded>&lt;p&gt;以前からやってみたいと思っていた NeosVR のノード式プログラミングシステム「LogiX」をやってみました。&lt;/p&gt;
&lt;p&gt;(NeosVR をやってみたかったのも、ほぼ LogiX をやってみたいから、みたいな気持ちでした)&lt;/p&gt;
&lt;h2 id=&quot;きっかけ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8D%E3%81%A3%E3%81%8B%E3%81%91&quot; aria-label=&quot;きっかけ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;きっかけ&lt;/h2&gt;
&lt;p&gt;そもそも私が NeosVR に興味を持ったのは、たまたま見かけた以下の記事がすごく面白そうに見えたことです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/piacerex/items/7c29778e19e5b281f293&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVRに見出した可能性と未来について：「4つの世界」は「7つの世界」に - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;記事を見つけたのはもう 1 年近く前なのですが、他に色々やりたいこともあったため、1 年越しにようやく手を出すことができました。&lt;/p&gt;
&lt;h2 id=&quot;まずは何をするか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%9A%E3%81%AF%E4%BD%95%E3%82%92%E3%81%99%E3%82%8B%E3%81%8B&quot; aria-label=&quot;まずは何をするか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まずは何をするか&lt;/h2&gt;
&lt;p&gt;まずは Hello World 的になにか簡単なことをしたいなと思って探していたところ、以下の YouTube 動画が非常に良さそうでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=bPxcXiiL02k&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRプログラミングをやってみよう！ 超簡単 LogiXの書き方！ - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こちらの動画は「&lt;a href=&quot;https://neosvrjp.memo.wiki/d/LogiX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LogiX - NeosVR日本語Wiki&lt;/a&gt;」で紹介されている動画の新しい版のようです。&lt;/p&gt;
&lt;p&gt;この動画の通り進めることで、ゲーミング的な光り方をする箱が作れました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/logix-gaming-color-box.jpeg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;http-リクエスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#http-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88&quot; aria-label=&quot;http リクエスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;HTTP リクエスト&lt;/h2&gt;
&lt;p&gt;そしてもう 1 つ、LogiX では HTTP リクエストを送信できるというのが気になっていました。&lt;/p&gt;
&lt;p&gt;HTTP リクエストが送信できるということは、現実世界のラズパイなどと連携することもできますし、本当にいろんなことができてしまうということです。&lt;/p&gt;
&lt;p&gt;HTTP リクエストの送り方については、以下の YouTube 動画が参考になりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zyJlzayp7Q0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Neos VR Tutorial: HTTP Pt.1 - GET String - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;動画の解説の通り進めることで、ばっちり GET リクエストを送信し、レスポンスボディを表示することができました。
すごい、すごすぎる。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/logix-hello-http.jpeg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;sdk&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sdk&quot; aria-label=&quot;sdk permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SDK&lt;/h2&gt;
&lt;p&gt;LogiX のプログラミングも面白いですが、キーボードで書いたプログラムをインポートできたら面白そうだなと思いました。&lt;/p&gt;
&lt;p&gt;調べてみると、LVMX なる仮想マシンと、C コンパイラなどを作っている方がいらっしゃいました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gammalab.net/works/lvmx/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Logix Virtual Machine X SDK - GammaLab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;今後について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E5%BE%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;今後について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今後について&lt;/h2&gt;
&lt;p&gt;LogiX をさわってみて、正直めちゃくちゃ面白かったです。&lt;/p&gt;
&lt;p&gt;なにか目標を立てて面白いものを作ってみたいなと思いました。&lt;/p&gt;
&lt;p&gt;ちなみに、NeosVR 関連の Web 上での情報収集としては、「&lt;a href=&quot;https://neosvrjp.memo.wiki/d/%a5%c8%a5%c3%a5%d7%a5%da%a1%bc%a5%b8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVR日本語Wiki&lt;/a&gt;」を起点に、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://scrapbox.io/tekerets/NeosVR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVR - テケレッツ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://logix-educational-institute.github.io/NeosVRJP-Techbook/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;目次 | NeosVRJP-Techbook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった Web サイトなどが参考になりそうです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年末】自分のまわりで感じる IT トレンドの 8 のテーマ]]></title><description><![CDATA[2021 年ももう終わろうとしています。
この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/it-trends-2021</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/it-trends-2021</guid><pubDate>Sat, 18 Dec 2021 07:34:03 GMT</pubDate><content:encoded>&lt;p&gt;2021 年ももう終わろうとしています。&lt;/p&gt;
&lt;p&gt;この 1 年、私が身のまわりで感じた IT トレンドについてまとめようと思います。&lt;/p&gt;
&lt;p&gt;昨年 =&gt; &lt;a href=&quot;https://qiita.com/os1ma/items/2d474829d786dc813250&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年末】自分のまわりで感じる IT トレンドの 18 のテーマ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;※ 昨年は初めてこういった記事を書いたため、それまで数年で感じた要素も含めています。今年はまさにこの 1 年で感じたトピックのみを書いているので、昨年の記事より少なめのテーマ数になります。&lt;/p&gt;
&lt;h2 id=&quot;目次&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9B%AE%E6%AC%A1&quot; aria-label=&quot;目次 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;目次&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;MLOps&lt;/li&gt;
&lt;li&gt;反マイクロサービス&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;ノーコード&lt;/li&gt;
&lt;li&gt;リモート会議・イベントツール&lt;/li&gt;
&lt;li&gt;自作◯◯&lt;/li&gt;
&lt;li&gt;メタバース&lt;/li&gt;
&lt;li&gt;NFT&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;mlops&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlops&quot; aria-label=&quot;mlops permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MLOps&lt;/h2&gt;
&lt;p&gt;自分が関心を持っていたのもありますが、「MLOps」は今年非常に大きなトレンドになっていたと思います。&lt;/p&gt;
&lt;p&gt;数年前から使われ始めていた言葉で、昨年くらいから浸透しそうな雰囲気がありましたが、今年一気に波が来た、という印象です。&lt;/p&gt;
&lt;p&gt;昨年までは MLOps に関する書籍もほとんどなかったのですが、今年は非常にたくさん発売されています。&lt;/p&gt;
&lt;p&gt;MLOps は機械学習を実戦投入する上で重要という性質上、一過性のブームではなく、今後も発展すると思います。
(DevOps のように、言葉自体を聞く頻度は減るかもしれませんが、その思想やプラクティスは長く残ると思います)&lt;/p&gt;
&lt;p&gt;関連書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3J26Csw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエンジニアのための機械学習システムデザインパターン&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/325pfuM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 機械学習パイプライン ―TensorFlowで学ぶワークフローの自動化&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/30C51rU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3IWgAeS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践 AWSデータサイエンス ―エンドツーエンドのMLOpsパイプライン実装&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08YNMRH4J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5eb02336fc21eb700b09652529276dd0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08YNMRH4J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08YNMRH4J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119510/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=17589992f89209285cd5548ffc4e3094&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119510&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119510&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119561/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bb20719c5bad3987aee895ea2206394f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119561&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119561&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119685/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6015689d7afdb66dd0740517e4030111&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119685&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119685&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;反マイクロサービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%8D%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;反マイクロサービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;反マイクロサービス&lt;/h2&gt;
&lt;p&gt;数年前に流行して採用される機会が増えた「マイクロサービスアーキテクチャ」に対し、反対する考え方がトレンドだと感じます。&lt;/p&gt;
&lt;p&gt;マイクロサービス自体が悪いというよりも、実態以上に持て囃されて「よく知らないけどイケてるらしい」という理由で採用されすぎたのが理由だと思います。
(実際、共有ライブラリといったマイクロサービスの定番アンチパターンも知らずに採用して失敗している例をよく耳にしました)&lt;/p&gt;
&lt;p&gt;巨大なシステムに手を入れるのはどうしても難しいため、サブシステム分割という考え方自体は重要であり、もうしばらくすると「マイクロサービスの落としどころ」のような話題も流行するのではないかと想像しています。&lt;/p&gt;
&lt;p&gt;マイクロサービスの代替案として数年前から言われるようになった「モジュラモノリス」については、そろそろ広まるかもしれないと思っていたのですが、今年の時点ではまだあまり広まっていないようです。
著名なフレームワークがモジュラモノリスをがっつりサポートしたりしない限りは、なかなか浸透しないのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;tailwind-css&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tailwind-css&quot; aria-label=&quot;tailwind css permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Tailwind CSS&lt;/h2&gt;
&lt;p&gt;Web フロントエンドでは、Tailwind CSS がかなり話題になっていた印象です。&lt;/p&gt;
&lt;p&gt;私はさわっていないので細かく評価できないですが、流行の理由などは以下の記事が個人的にしっくりきました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fixel.co.jp/blog/tailwindcss/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TailwindCSSって何？なんで流行ってるの？｜F Lab｜Fixel株式会社&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ノーコード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89&quot; aria-label=&quot;ノーコード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ノーコード&lt;/h2&gt;
&lt;p&gt;2021 年の前半では、ノーコードがかなり話題になっていたと思います。&lt;/p&gt;
&lt;p&gt;いわゆるエンタープライズ系のノーコードツールというよりも、Glide、Adalo、Bubble といったツールについて耳にする機会が増え、実戦投入可能なレベルだという話もよく聞きました。&lt;/p&gt;
&lt;p&gt;HP 制作などはある程度 Wix といった SaaS サービスで実現できるようになっているとよく言われており、簡易的なアプリケーションであればノーコードでできると言われてもおかしくはないと思います。&lt;/p&gt;
&lt;p&gt;一方、ある程度以上複雑なアプリケーションをノーコードで開発する際のデメリットは引き続き大きいと思いますし、データ設計など、IT エンジニアとしての知見自体は今後も長く役立つと個人的に考えています。&lt;/p&gt;
&lt;h2 id=&quot;リモートワーク・オンラインイベントツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;リモートワーク・オンラインイベントツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リモートワーク・オンラインイベントツール&lt;/h2&gt;
&lt;p&gt;2020 年に引き続きリモートワーク中心ななかで、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gather&lt;/li&gt;
&lt;li&gt;Remo&lt;/li&gt;
&lt;li&gt;oVice&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった、リモートワーク・オンラインイベント系のツールが浸透したように思います。&lt;/p&gt;
&lt;p&gt;これらはキャラクタを移動しながら近くの人と会話できるといった特徴があり、現実の仕事場やイベント会場のような雰囲気を味わえるようになっています。&lt;/p&gt;
&lt;h2 id=&quot;自作◯◯&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C%E2%97%AF%E2%97%AF&quot; aria-label=&quot;自作◯◯ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自作◯◯&lt;/h2&gt;
&lt;p&gt;2021 年 3 月に発売された「&lt;a href=&quot;https://amzn.to/320npM0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;」は、今年 IT 業界で話題になった書籍のトップだと思います。&lt;/p&gt;
&lt;p&gt;この本を手に取りながら OS を自作した方も少なくないと思いますし、他にも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自作 CPU&lt;/li&gt;
&lt;li&gt;自作 TCP/IP プロトコルスタック&lt;/li&gt;
&lt;li&gt;自作 RDBMS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、様々な自作系の話題を見かけました。&lt;/p&gt;
&lt;p&gt;「自作◯◯」については今年に限らず話題になることはありますが、今年は特別トレンドだったと言えると思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=adb8c13a6d8501aa120b8abf9664bb1e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;メタバース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9&quot; aria-label=&quot;メタバース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバース&lt;/h2&gt;
&lt;p&gt;「メタバース」は、Facebook が Meta に社名変更したあたりから、バズワード的に流行している言葉です。&lt;/p&gt;
&lt;p&gt;現状この言葉が何を指すかはかなり揺れているようですが、もともとは、「世界」などを意味する “universe” に「その先」を意味する “meta” をつけてできた言葉だそうです。&lt;/p&gt;
&lt;p&gt;ざっくり言えば VRChat や Cluster、NeosVR といったいわゆる VR SNS が近いと思います。
(Cluster や NeosVR は公式にメタバースプラットフォームを名乗っています)&lt;/p&gt;
&lt;p&gt;今後もメタバースという言葉自体が使われ続けるかは分かりませんが、VR で活動するような流れは進んでいくのが自然だと思います。&lt;/p&gt;
&lt;h2 id=&quot;nft-non-fungible-token&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nft-non-fungible-token&quot; aria-label=&quot;nft non fungible token permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NFT (Non-Fungible Token)&lt;/h2&gt;
&lt;p&gt;数年前から耳にすることはあった「NFT」ですが、この一年でかなり一般に浸透したように思います。&lt;/p&gt;
&lt;p&gt;ただ、この記事では深堀りしませんが、誤解を生みやすい説明が多く、本当に NFT で実現できることとそうでないことが混乱して理解されていることが多いと感じます。&lt;/p&gt;
&lt;p&gt;実際にどこまで可能かなどがかなり誤解されていると思うので、個人的に NFT はバブル的な流行の可能性も低くないと考えています。&lt;/p&gt;
&lt;h2 id=&quot;総括&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B7%8F%E6%8B%AC&quot; aria-label=&quot;総括 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;総括&lt;/h2&gt;
&lt;p&gt;以上、2021 年に自分のまわりで感じた IT トレンドについて書きました。&lt;/p&gt;
&lt;p&gt;この中からさらに厳選するのであれば、特に&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MLOps&lt;/li&gt;
&lt;li&gt;自作◯◯&lt;/li&gt;
&lt;li&gt;メタバース&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つだと思います。&lt;/p&gt;
&lt;p&gt;個人的には VR がかなりアツい分野だと思っており、遠くないうちに爆発的に大流行するのではないかと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ずっとやってみたかった NeosVR をついにやってみた]]></title><description><![CDATA[以前からやってみたいと思っていた、「NeosVR」をついにやってみました。
(NeosVR をやるために Oculus Quest を買ったと言っても過言ではない)]]></description><link>https://www.kanzennirikaisita.com/posts/hello-neosvr</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/hello-neosvr</guid><pubDate>Fri, 17 Dec 2021 14:03:59 GMT</pubDate><content:encoded>&lt;p&gt;以前からやってみたいと思っていた、「NeosVR」をついにやってみました。
(NeosVR をやるために Oculus Quest を買ったと言っても過言ではない)&lt;/p&gt;
&lt;h2 id=&quot;neosvr-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#neosvr-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;neosvr について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NeosVR について&lt;/h2&gt;
&lt;p&gt;NeosVR は、ジャンルとしては VRChat などと近い VR SNS の一種で、かねてよりメタバースプラットフォームを謳っています。&lt;/p&gt;
&lt;p&gt;VR の中で制作・プログラミングができるといった特徴があり、そのあたりが特に気になっていました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://zenn.dev/igz0/articles/ab1d0e51acd269&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【VR】WebプログラマーがNeosVRを触って驚いた理由&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;事前準備&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99&quot; aria-label=&quot;事前準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;事前準備&lt;/h2&gt;
&lt;p&gt;NeosVR を楽しむためにはそこそこのスペックの PC が必要ということで、まずは予算 10 万円程度で PC を組んでみました。&lt;/p&gt;
&lt;p&gt;選んだパーツや考えたことは以下の記事にまとめているので、よろしければ参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/homebuilt-computer&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【予算 10 万】PC を自作するにあたって考えたこと【2021 年】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、HMD としては、入門としてコストパフォーマンスが良さそうな &lt;a href=&quot;https://amzn.to/3shptbu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2&lt;/a&gt; を購入しました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BYQ1ZRB?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7e680709bf641e414a526311ebc16a58&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BYQ1ZRB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BYQ1ZRB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Oculus Quest 2 やその周辺機器などについては、以下の記事にまとめています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/hello-oculus-quest-2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2 を開封した&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;初心者向けの情報&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91%E3%81%AE%E6%83%85%E5%A0%B1&quot; aria-label=&quot;初心者向けの情報 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;初心者向けの情報&lt;/h2&gt;
&lt;p&gt;毎週火曜 22:00 から初心者案内をしているそうなので、初心者の方はそちらに参加するのが良いと思います。&lt;/p&gt;
&lt;p&gt;私はその時間は都合がつかず、全然別日程の夜に伺いました。&lt;/p&gt;
&lt;p&gt;とりあえず「&lt;a href=&quot;https://neosvrjp.memo.wiki/d/%bb%cf%a4%e1%ca%fd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;始め方 - NeosVR日本語Wiki&lt;/a&gt;」を見て、チュートリアルのあと、「JP チュートリアルワールド」に行くことにしました。&lt;/p&gt;
&lt;h2 id=&quot;チュートリアル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&quot; aria-label=&quot;チュートリアル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;チュートリアル&lt;/h2&gt;
&lt;p&gt;チュートリアルでオブジェクトの操作などをやったのですが、遠くにあるものを操作したり、オブジェクトを複製したり、すでに面白かったです。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/neosvr-tutorial.jpeg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;「jp-チュートリアルワールド」〜&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8Cjp-%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%80%8D%E3%80%9C&quot; aria-label=&quot;「jp チュートリアルワールド」〜 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「JP チュートリアルワールド」〜&lt;/h2&gt;
&lt;p&gt;その後、なにも分からないまま、JP チュートリアルワールドに行ってみました。&lt;/p&gt;
&lt;p&gt;そこにいらっしゃった方々が基本的な操作・設定からとても丁寧に教えてくださり、その後いくつかのワールドも案内していただきました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;めちゃくちゃ小さな体から大きな体まで味わえるワールド (多分有名なワールドだと思うんですがうまく説明できない)&lt;/li&gt;
&lt;li&gt;カジノのワールド&lt;/li&gt;
&lt;li&gt;旅館のワールド&lt;/li&gt;
&lt;li&gt;なにか製作中のワールド&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、めちゃくちゃ楽しかったです。&lt;/p&gt;
&lt;h2 id=&quot;次回&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%AC%A1%E5%9B%9E&quot; aria-label=&quot;次回 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;次回&lt;/h2&gt;
&lt;p&gt;正直、想像していた以上にすごい世界で感動しました。&lt;/p&gt;
&lt;p&gt;また近々やりたいと思います。&lt;/p&gt;
&lt;p&gt;NeosVR でできるプログラミングの LogiX も気になっているので、次回は手を出したいです。&lt;/p&gt;
&lt;h2 id=&quot;その他の情報源&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E6%83%85%E5%A0%B1%E6%BA%90&quot; aria-label=&quot;その他の情報源 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の情報源&lt;/h2&gt;
&lt;p&gt;最後に、その他よさそうな情報源として、NeosVR のアドベントカレンダーのリンクを貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adventar.org/calendars/6249&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVR #1 Advent Calendar 2021 - Adventar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[XR について学ぶための情報源]]></title><description><![CDATA[XR について学ぶための情報源について調べました。]]></description><link>https://www.kanzennirikaisita.com/posts/xr-information-source</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/xr-information-source</guid><pubDate>Thu, 16 Dec 2021 13:16:49 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 16 日目の記事です。&lt;/p&gt;
&lt;p&gt;XR について学ぶための情報源について調べました。&lt;/p&gt;
&lt;h2 id=&quot;カンファレンス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AB%E3%83%B3%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9&quot; aria-label=&quot;カンファレンス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;カンファレンス&lt;/h2&gt;
&lt;h3 id=&quot;xr-kaigi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xr-kaigi&quot; aria-label=&quot;xr kaigi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;XR Kaigi&lt;/h3&gt;
&lt;p&gt;XR に関するカンファレンスを調べて出てきたのは、XR Kaigi の 1 つでした。&lt;/p&gt;
&lt;p&gt;VR / AR / MR に関する国内最大級のカンファレンスとのことです。&lt;/p&gt;
&lt;p&gt;2021 年は 11 月に開催されています。&lt;/p&gt;
&lt;p&gt;参加にはチケットが必要ですが、基調講演は YouTube で公開されているので自由に見ることができます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xrkaigi.com/2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;XR Kaigi 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/results?search_query=xr+kaigi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;xr kaigi - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;勉強会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%89%E5%BC%B7%E4%BC%9A&quot; aria-label=&quot;勉強会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;勉強会&lt;/h2&gt;
&lt;p&gt;XR に関する勉強会として、connpass で以下の 4 つのグループが見つかりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xram.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;xRAM (xR with Anything Meetup） - connpass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrtokyo.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;xR Tech Tokyo - connpass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xr-fukuoka.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ARコンテンツ作成勉強会 - connpass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrcreatorslabs.connpass.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR Creators Labs - connpass&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;個人的には、「xRAM (xR with Anything Meetup）」というグループが事例や活動実績豊富で気になりました。&lt;/p&gt;
&lt;p&gt;次回勉強会を開催していたら参加したいです。&lt;/p&gt;
&lt;h2 id=&quot;資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;資格&lt;/h2&gt;
&lt;h3 id=&quot;vr技術者認定試験&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr%E6%8A%80%E8%A1%93%E8%80%85%E8%AA%8D%E5%AE%9A%E8%A9%A6%E9%A8%93&quot; aria-label=&quot;vr技術者認定試験 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR技術者認定試験&lt;/h3&gt;
&lt;p&gt;VR技術者認定試験は、日本バーチャルリアリティ学会主催の資格です。&lt;/p&gt;
&lt;p&gt;VR 関連の記事などで時々見かけます。&lt;/p&gt;
&lt;p&gt;「セオリーコース」と「アプリケーションコース」の 2 つがあり、最近は 6 月頃と 12 月頃の年 2 回実施されています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrsj.org/events/seminar/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本バーチャルリアリティ学会 » VR技術者認定講習会・試験&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/shiftsphere/items/5b2c608d27cd21bcda42&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR技術者認定試験について調べてみた - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;unity-認定試験&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unity-%E8%AA%8D%E5%AE%9A%E8%A9%A6%E9%A8%93&quot; aria-label=&quot;unity 認定試験 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Unity 認定試験&lt;/h3&gt;
&lt;p&gt;Unity 認定試験は、Unity が公式に運営している資格試験です。&lt;/p&gt;
&lt;p&gt;種類も豊富なので、初心者から中級者まで勉強になりそうです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://unity.com/ja/products/unity-certifications&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unity 認定試験 | ゲームデザインと開発の認定試験でキャリアアップする | Unity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h2&gt;
&lt;h3 id=&quot;バーチャルリアリティ学&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%AA%E3%82%A2%E3%83%AA%E3%83%86%E3%82%A3%E5%AD%A6&quot; aria-label=&quot;バーチャルリアリティ学 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/31UWP6Y&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルリアリティ学&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4904490053/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=5ef06e048a4b07f6f8811885f3f7bd1f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4904490053&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4904490053&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;日本バーチャルリアリティ学会が編纂したバーチャルリアリティ学の教科書です。&lt;/p&gt;
&lt;p&gt;「VR技術者認定試験」の公式ページでも、資格取得に欠かせない 1 冊として紹介されています。&lt;/p&gt;
&lt;p&gt;個人的にこれは絶対読もうと思います。&lt;/p&gt;
&lt;h2 id=&quot;スクール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB&quot; aria-label=&quot;スクール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スクール&lt;/h2&gt;
&lt;p&gt;最後に、XR 関連のスクールもいくつか見つけました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vr-creators-labs.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRCreatorsLabs|VRスクールとXR開発の研究所|東京都&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vracademy.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRプロフェッショナルアカデミー／VR専門プログラミングスクール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vantan-game.com/cmp/vrmr01/search/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;未来の技術 MR・VRを学ぼう！ゲーム専門の学校【VANTAN GAME ACADEMY】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[XR 開発のためのゲームエンジン・ライブラリ・クラウドサービス]]></title><description><![CDATA[XR 開発のためのゲームエンジン・ライブラリ・クラウドサービスについて調べたことをまとめます。
関連書籍として見つけたものも掲載しています。]]></description><link>https://www.kanzennirikaisita.com/posts/game-engines-libraries-cloud-services-for-xr-development</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/game-engines-libraries-cloud-services-for-xr-development</guid><pubDate>Wed, 15 Dec 2021 11:16:22 GMT</pubDate><content:encoded>&lt;p&gt;XR 開発のためのゲームエンジン・ライブラリ・クラウドサービスについて調べたことをまとめます。&lt;/p&gt;
&lt;p&gt;関連書籍として見つけたものも掲載しています。&lt;/p&gt;
&lt;h2 id=&quot;ゲームエンジン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3&quot; aria-label=&quot;ゲームエンジン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゲームエンジン&lt;/h2&gt;
&lt;h3 id=&quot;unity&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unity&quot; aria-label=&quot;unity permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Unity&lt;/h3&gt;
&lt;p&gt;XR のアプリケーション開発で最も有名なゲームエンジンは、Unity ではないかと思います。&lt;/p&gt;
&lt;p&gt;迷ったら Unity を選んでおけば間違いない気はします。&lt;/p&gt;
&lt;p&gt;以下のように、オライリーなどの書籍もあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3GIOuSq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;UnityによるVRアプリケーション開発 ―作りながら学ぶバーチャルリアリティ入門&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3J1Z5Ki&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;UnityによるARゲーム開発 ―作りながら学ぶオーグメンテッドリアリティ入門&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3IOzFzz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unityでつくる建築VR入門&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117577/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=56cf7276c53f1ca137ec0953b411f542&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117577&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117577&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118107/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e5f5c2b958c9f367754a2f75eb4db340&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118107&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118107&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4767827191/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=465f6486b86890eb5c15c3a907c6251d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4767827191&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4767827191&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;unreal-engine&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unreal-engine&quot; aria-label=&quot;unreal engine permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Unreal Engine&lt;/h3&gt;
&lt;p&gt;ゲームエンジンとして Unity と並んで有名な Unreal Engine も、VR 開発に対応しています。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://docs.unrealengine.com/4.26/ja/SharingAndReleasing/XRDevelopment/VR/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR 開発 | Unreal Engine ドキュメント&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;ライブラリ・api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%BBapi&quot; aria-label=&quot;ライブラリ・api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ライブラリ・API&lt;/h2&gt;
&lt;h3 id=&quot;web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web&quot; aria-label=&quot;web permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web&lt;/h3&gt;
&lt;h4 id=&quot;webxr-device-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webxr-device-api&quot; aria-label=&quot;webxr device api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebXR Device API&lt;/h4&gt;
&lt;p&gt;ウェブブラウザから HMD などにアクセスするための JavaScript API です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/WebXR_Device_API&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebXR Device API - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebXR Device API - Web APIs | MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;webvr-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webvr-api&quot; aria-label=&quot;webvr api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebVR API&lt;/h4&gt;
&lt;p&gt;HMD などと連携してウェブブラウザで VR アプリケーションを実装するための JavaScript API です。&lt;/p&gt;
&lt;p&gt;現在は非推奨であり、前述の WebXR Device API を使うべきとのことです&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/WebVR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebVR - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/ja/docs/Web/API/WebVR_API&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebVR API - Web API | MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;arjs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#arjs&quot; aria-label=&quot;arjs permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AR.js&lt;/h4&gt;
&lt;p&gt;Web で AR 開発するための代表的なライブラリです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://webar-lab.palanar.com/developer/ar-js/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【AR.js】WebARをAR.jsで実装する | WebAR Lab - WebARの最新情報がわかるメディア&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;a-frame&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#a-frame&quot; aria-label=&quot;a frame permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;A-Frame&lt;/h4&gt;
&lt;p&gt;Web の VR 開発のライブラリとしては「A-Frame」が最も有名なようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webar-lab.palanar.com/developer/what-is-a-frame/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRが簡単に実現可能？「A-Frame」というライブラリについて | WebAR Lab - WebARの最新情報がわかるメディア&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ics.media/entry/13401/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;HTMLタグで本格VRコンテンツが作れる！ Mozillaが開発した3Dライブラリ「A-Frame」がすごい - ICS MEDIA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;react-vr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#react-vr&quot; aria-label=&quot;react vr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;React VR&lt;/h4&gt;
&lt;p&gt;VR 用の React VR というライブラリも見つけました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://html5experts.jp/karad5/23543/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;React VRで始めるお手軽WebVRプログラミング | HTML5Experts.jp&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h4&gt;
&lt;p&gt;他にも Web で XR 開発するためのライブラリは色々あるようです。&lt;/p&gt;
&lt;p&gt;以下のようなまとめ記事もありました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webar-lab.palanar.com/developer/webar-dev-library/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebAR / WebVRの開発ライブラリ一覧【完全保存版】 | WebAR Lab - WebARの最新情報がわかるメディア&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;android&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#android&quot; aria-label=&quot;android permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Android&lt;/h3&gt;
&lt;h4 id=&quot;arcore&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#arcore&quot; aria-label=&quot;arcore permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ARCore&lt;/h4&gt;
&lt;p&gt;ARCore は、Google 製の AR 開発ツールです。&lt;/p&gt;
&lt;p&gt;Android 中心のようですが、iOS にも対応している模様です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/ar&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;デジタル世界と物理世界をシームレスに融合する新しい拡張現実体験を構築する  |  ARCore  |  Google Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ydc.co.jp/column/0002/20200622.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YDC | ARCore調べてみた&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;関連書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3EZgRLK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ARCoreとUnityではじめるARアプリ開発&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3E1SGuB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Android StudioではじめるARCore入門&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07CLGXGQH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9b83a2f3d35a35e889dd0c7f7c638ae9&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07CLGXGQH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07CLGXGQH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07NMV4WDV/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e3d3b02466b7c07f3ff081793389441e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07NMV4WDV&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07NMV4WDV&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ios&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ios&quot; aria-label=&quot;ios permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;iOS&lt;/h3&gt;
&lt;h4 id=&quot;arkit&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#arkit&quot; aria-label=&quot;arkit permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ARKit&lt;/h4&gt;
&lt;p&gt;ARKit は、iOS 向けの AR 開発ツールです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://qiita.com/1901drama/items/cc9f598e3808fe7e32cb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ARKitとは何か (ARKit1〜3のまとめ) - Qiita&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;関連書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/324j21M&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ARKitとUnityではじめるARアプリ開発&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3DSi6uF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶ ARKit&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07D6H11GX/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3f7abe977e16d5e5636bb893f5c1c6b3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07D6H11GX&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07D6H11GX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4863543697/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=05842a09752a2fdeb9c19135ee83daf6&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4863543697&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4863543697&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;クラウドサービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;クラウドサービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウドサービス&lt;/h2&gt;
&lt;h3 id=&quot;amazon-sumerian&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-sumerian&quot; aria-label=&quot;amazon sumerian permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Amazon Sumerian&lt;/h3&gt;
&lt;p&gt;Amazon Sumerian は、ブラウザで XR 開発が可能なサービスです。&lt;/p&gt;
&lt;p&gt;通常であれば Unity などで開発するのを、ブラウザでできてしまうようなイメージです。&lt;/p&gt;
&lt;p&gt;Unity などを使う場合よりもかなり手軽にさわれそうなので、まずはこちらを試すといいかもしれません。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.classmethod.jp/articles/0702diveintovrworld/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Questを買ったのでAmazon SumerianでVR世界に飛び込んでみた | DevelopersIO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slideshare.net/YuukiOgino/amazon-sumerian-90908890&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Sumerian マジヤバくね&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;関連書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3E3Xos8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶ Amazon Sumerian 基礎編&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3oVcvQ4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶ Amazon Sumerian 応用編&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0923P9L71/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1175a7744027a8c8e4c861f8602b3960&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0923P9L71&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0923P9L71&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0923NH6ST/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=05624de6cb59cd561321ba5eba0d0f9f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0923NH6ST&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0923NH6ST&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;nvidia-cloudxr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nvidia-cloudxr&quot; aria-label=&quot;nvidia cloudxr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NVIDIA CloudXR&lt;/h3&gt;
&lt;p&gt;NVIDIA CloudXR は、NVIDIA が提供する XR の配信プラットフォームです。&lt;/p&gt;
&lt;p&gt;ざっくり言えば、描画処理をクラウドで行い、視聴するクライアントにはそのデータを送る、というものです。&lt;/p&gt;
&lt;p&gt;以下の記事の解説が分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xr-hub.com/archives/24952&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『クラウドレンダリング（Cloud Rendering）』技術を1から徹底解説！ – すぺーしゃる研 | 空間コンピューティングの最前線をお届けするメディア&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AWS や GCP の関連記事もリンクしておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/jp/blogs/news/field-notes-streaming-vr-to-wireless-headsets-using-nvidia-cloudxr/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NVIDIA CloudXRを使ったワイヤレスヘッドセットでのVRストリーミング | Amazon Web Services ブログ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.nvidia.co.jp/2021/08/19/nvidia-and-google-cloud-deliver-high-quality-xr-streaming/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NVIDIA と Google Cloud が高品質の XR ストリーミングを提供 | NVIDIA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/blog/ja/products/gaming/streaming-vr-and-ar-content-google-cloud-nvidia-cloudxr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NVIDIA CloudXR で Google Cloud の VR と AR のコンテンツをストリーミングする | Google Cloud Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[3D アバターデータの種類]]></title><description><![CDATA[VR などで使われる 3D アバターデータの種類について調べたことを、FBX、glTF・GLB、BLEND、VRM、PMX、Live2D の順で書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/3d-avatar-data-formats</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/3d-avatar-data-formats</guid><pubDate>Tue, 14 Dec 2021 11:42:21 GMT</pubDate><content:encoded>&lt;p&gt;VR などで使われる 3D アバターデータの種類について調べたことを、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FBX&lt;/li&gt;
&lt;li&gt;glTF・GLB&lt;/li&gt;
&lt;li&gt;BLEND&lt;/li&gt;
&lt;li&gt;VRM&lt;/li&gt;
&lt;li&gt;PMX&lt;/li&gt;
&lt;li&gt;Live2D&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の順で書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;fbx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fbx&quot; aria-label=&quot;fbx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FBX&lt;/h2&gt;
&lt;p&gt;まず VRChat でサポートされているアバターの形式について調べたところ、FBX という形式のみ利用可能とのことでした。&lt;/p&gt;
&lt;p&gt;また、アバターのボーンの構造が、Unity の humanoid という構造に対応する必要があるとのことです。&lt;/p&gt;
&lt;p&gt;なお、VRChat で利用可能なアバターは、主に BOOTH で販売されています。&lt;/p&gt;
&lt;p&gt;VRChat に独自アバターやワールドをアップロードしたりするには Unity が必要です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrchatjp.playing.wiki/d/%A5%A2%A5%D0%A5%BF%A1%BC%A4%CE%BA%EE%C0%AE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アバターの作成 - VRchat 日本wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrchatjp.playing.wiki/d/%A5%A2%A5%D0%A5%BF%A1%BC%C6%B3%C6%FE%203.0%B0%CA%B9%DF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アバター導入 3.0以降 - VRchat 日本wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;gltf・glb&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gltf%E3%83%BBglb&quot; aria-label=&quot;gltf・glb permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;glTF・GLB&lt;/h2&gt;
&lt;p&gt;続いて、近々やりたいと思っている NeosVR について調べたところ、FBX・GLB・BLEND の 3 種類のアバターデータを利用可能とのことでした。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://neosvrjp.memo.wiki/d/%A5%A2%A5%D0%A5%BF%A1%BC%BA%EE%C0%AE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アバター作成 - NeosVR日本語Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GLB というのは、WebGL などで利用される glTF という形式の一種とのことです。&lt;/p&gt;
&lt;p&gt;glTF (GL Transmission Format) は JSON によって 3D モデルやシーンを表現するフォーマットで、「3D における JPEG」と表現されることもあるそうです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/GlTF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;glTF - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mall.v-market.work/submission_tips/2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;glbファイルの作り方 | VketMall Proto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/emadurandal/items/1a034c4addd7ff8b5184&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;今話題の3Dファイル形式「glTF」でWebGLの表現力を高めよう！ - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;blend&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#blend&quot; aria-label=&quot;blend permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;BLEND&lt;/h2&gt;
&lt;p&gt;BLEND は、その名の通り 3D モデリングツール「Blender」で使われるファイル形式です。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.file-extension.info/ja/format/blend&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;BLENDファイルを開くには？ .BLENDファイル拡張子 - File Extension .BLEND&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;vrm&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vrm&quot; aria-label=&quot;vrm permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VRM&lt;/h2&gt;
&lt;p&gt;VRM は、glTF ベースの人型 3D アバターの形式です。&lt;/p&gt;
&lt;p&gt;標準形式として、各種アプリケーションで同じアバターデータを利用することを目指しているようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrm.dev/vrm_about/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「VRM」って何？どんなことができる？ | VRM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/VRM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRM - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/100/items/d948d0875b60c2dbbe13&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChat用モデルを標準アバター形式「VRM」へ変換する - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/yukiya_science/n/n9e548e608991&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRchatにマイアバターをアップロードするには｜YUKIYA｜note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;3D アバターを簡単に作成できる VRoid Studio も、VRM 形式に対応しています。&lt;/p&gt;
&lt;p&gt;VRoid には、他にも VRoid Hub や VRoid SDK といったサービスがあります。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://vroid.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRoid&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;pmx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pmx&quot; aria-label=&quot;pmx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PMX&lt;/h2&gt;
&lt;p&gt;PMX は、MMD (MikuMikuDance) で使われるファイル形式で、PMD の改善版だそうです。&lt;/p&gt;
&lt;p&gt;MMD は 3D モデルを使ったアニメーションを作成するソフトウェアのことです。&lt;/p&gt;
&lt;p&gt;なお、アニメーションは VMD (Vocaloid Motion Data File) という形式です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/MikuMikuDance&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MikuMikuDance - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dic.nicovideo.jp/a/pmx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PMXとは (ピーエムエックスとは) [単語記事] - ニコニコ大百科&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://whatext.com/ja/vmd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VMDファイル拡張子-どうやって開くの？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PMX (PMD) + VMD を FBX に変換するツールとして、MMD4Mecanim というものもあります。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://stereoarts.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Stereoarts Homepage&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;live2d&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#live2d&quot; aria-label=&quot;live2d permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Live2D&lt;/h2&gt;
&lt;p&gt;Live2D はその名の通り 3D アバターではないですが、一緒に少し調べてみました。&lt;/p&gt;
&lt;p&gt;Live2Dは、株式会社Live2D が開発した、2D のシームレスなアニメーションを可能にする映像表現や関連ソフトウェアのことです。&lt;/p&gt;
&lt;p&gt;アニメやゲーム、VTuber のモデルなどで使われています。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/Live2D&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Live2D - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、3D アバターデータを中心に色々調べてみました。&lt;/p&gt;
&lt;p&gt;調べている中で、以下のように初心者が短期間でアバターを作って VRChat にログインするような記事も見かけました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vr-san-o.hatenablog.com/entry/2018/01/10/040039&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;全くの3DCG初心者が1日でVRChatアバターをBlenderで作ってログインする話-1- - 3DCG初心者がVRChatのアバターを作る&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Blender や VRoid Studio など、3D アバターを作る第一歩のハードルは、私が想像していたよりは低いのかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「VR 酔い」の対策]]></title><description><![CDATA[数日前から VR をやり始め、想像していた以上に VR 酔いを感じたので、その対策を調べてみました。]]></description><link>https://www.kanzennirikaisita.com/posts/measures-against-virtual-reality-sickness</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/measures-against-virtual-reality-sickness</guid><pubDate>Mon, 13 Dec 2021 08:09:55 GMT</pubDate><content:encoded>&lt;p&gt;数日前から VR をやり始め、想像していた以上に VR 酔いを感じたので、その対策を調べてみました。&lt;/p&gt;
&lt;h2 id=&quot;具体的な症状&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AA%E7%97%87%E7%8A%B6&quot; aria-label=&quot;具体的な症状 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;具体的な症状&lt;/h2&gt;
&lt;p&gt;自分の場合、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 〜 2 時間 VR をプレイし続けると、少し気持ち悪くなる&lt;/li&gt;
&lt;li&gt;車やジェットコースターなどに乗り、視界が傾くような動きがあると、すぐに気持ちが悪くなる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった症状があります。&lt;/p&gt;
&lt;p&gt;より長時間 VR をプレイしたり、乗り物などを楽しむためには、なんらかの対策がほしいところです。&lt;/p&gt;
&lt;h2 id=&quot;vr-酔いの原因&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr-%E9%85%94%E3%81%84%E3%81%AE%E5%8E%9F%E5%9B%A0&quot; aria-label=&quot;vr 酔いの原因 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR 酔いの原因&lt;/h2&gt;
&lt;p&gt;VR 酔いの原因は、おおむね車酔いなどと近いようです。&lt;/p&gt;
&lt;p&gt;車酔いは、遠心力によって右折時に体が左に、左折時に体が右に動くことで、視覚と体の動きがずれることが原因と聞いたことがあります。&lt;/p&gt;
&lt;p&gt;VR 酔いも、視覚と体の動きがずれることが主な原因のようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/VR%E9%85%94%E3%81%84&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR酔い - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;vr-を使うときの対策&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr-%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E5%AF%BE%E7%AD%96&quot; aria-label=&quot;vr を使うときの対策 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR を使うときの対策&lt;/h2&gt;
&lt;p&gt;VR 酔いの対策には、ユーザ視点のものと開発者視点のものがありました。&lt;/p&gt;
&lt;p&gt;特に知りたかったのはユーザ視点の、VR を使うときの対策なので、そちらを書いていきます。&lt;/p&gt;
&lt;p&gt;※ 調べて出てきたものを記載していますが、実際に効果があるかは保証できません&lt;/p&gt;
&lt;h3 id=&quot;立ち回り&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AB%8B%E3%81%A1%E5%9B%9E%E3%82%8A&quot; aria-label=&quot;立ち回り permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;立ち回り&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;VR に慣れ、酔わない立ち回りをする&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;道具の調整や活用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%93%E5%85%B7%E3%81%AE%E8%AA%BF%E6%95%B4%E3%82%84%E6%B4%BB%E7%94%A8&quot; aria-label=&quot;道具の調整や活用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;道具の調整や活用&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ヘッドセットの瞳孔間距離を最適な位置に調整する&lt;/li&gt;
&lt;li&gt;メガネの位置や度を調整する&lt;/li&gt;
&lt;li&gt;分厚い敷物を敷くなどして、自分が正しい位置に立っているか足で感じやすくする&lt;/li&gt;
&lt;li&gt;扇風機などで、空気を自分に向けて流す&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ゲームの設定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B2%E3%83%BC%E3%83%A0%E3%81%AE%E8%A8%AD%E5%AE%9A&quot; aria-label=&quot;ゲームの設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゲームの設定&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;十分に高いフレームレートでゲームを動作させる&lt;/li&gt;
&lt;li&gt;視野角を調整する。例えばプレイヤーが移動するときに画面の周囲を暗くして「ビネット効果（視点を動かしたときに周囲がぼかされ視界が狭まる効果）」を与える&lt;/li&gt;
&lt;li&gt;周囲の景色のほとんどを暗くして見えなくする&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;体調&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%93%E8%AA%BF&quot; aria-label=&quot;体調 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;体調&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;体調 (疲れなど) がある場合はやらない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;一時的な対策&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E6%99%82%E7%9A%84%E3%81%AA%E5%AF%BE%E7%AD%96&quot; aria-label=&quot;一時的な対策 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一時的な対策&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;酔い止めを飲む&lt;/li&gt;
&lt;li&gt;梅干しなどを食べて唾液を出す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上、VR のユーザとしてできる対策は、結構いろいろあるようでした。&lt;/p&gt;
&lt;p&gt;個人的には、梅干しを食べるというのが手軽にできそうなので、やってみようと思います。
私は知らなかったのですが、梅干しは乗り物酔いにも有効なようです。&lt;/p&gt;
&lt;h3 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrinside.jp/knowledge/vr-sickness/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR酔いの原因と対策！VR酔いせずに快適に楽しむには？ | VR Inside&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wired.jp/2021/08/08/how-to-reduce-motion-sickness-virtual-reality/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想空間での「VR酔い」が起きるメカニズムと、その解決法 | WIRED.jp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tips.spacely.co.jp/vrsickness/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR酔い！PSVRでふえる原因と対策、治し方までVR会社が徹底解説 | Spacely Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dailyportalz.jp/kiji/170223198867&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRの3D酔いを乗り物酔いの方法で対処する :: デイリーポータルZ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;vr-を作るときの対策&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr-%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E5%AF%BE%E7%AD%96&quot; aria-label=&quot;vr を作るときの対策 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR を作るときの対策&lt;/h2&gt;
&lt;p&gt;開発者視点の、VR を作る時の対策については、以下のページを参考まで貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xr-creek.jp/topics/vr_sickness&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;◆VR酔いを防ぐにはどうすればいい！？～エンジニア視点で考える原因と対策～ - トピックス・イベント - 株式会社クリーク･アンド･リバー社 XR Division&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://framesynthesis.jp/tech/motionsickness/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR酔い対策について - フレームシンセシス&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;カメラの使い方が特に気を付けるポイントのようです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ここまで調べた感想として、想像していたよりも色々な対策があるなと思いました。
手軽で有効そうなものからやってみます。&lt;/p&gt;
&lt;p&gt;また、VR で車やジェットコースターに乗った際は、かなり一瞬で気持ち悪さを感じたので、サイバー攻撃として悪用されうるものだなと思いました。
実際にそういった話題もあるようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.sankeibiz.jp/compliance/news/170311/cpd1703111602001-n1.htm?ref_cd=RelatedNews2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ＶＲ悪用すれば「数千人を嘔吐させられる」　人気ゲーム開発者がリスク指摘 (1/4ページ) - SankeiBiz（サンケイビズ）&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[VR 何も知らない状態で VRChat やってみた]]></title><description><![CDATA[VR について全然何も知らない中、現在最も有名な VR SNS である VRChat をやってみました。
また、現在開催中の「バーチャルマーケット2021」にも行ってみました。]]></description><link>https://www.kanzennirikaisita.com/posts/hello-vrchat</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/hello-vrchat</guid><pubDate>Sun, 12 Dec 2021 14:09:21 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 12 日目の記事です。&lt;/p&gt;
&lt;p&gt;VR について全然何も知らない中、現在最も有名な VR SNS である VRChat をやってみました。&lt;/p&gt;
&lt;p&gt;また、現在開催中の「バーチャルマーケット2021」にも行ってみました。&lt;/p&gt;
&lt;h2 id=&quot;vrchat-を始めるときの参考情報&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vrchat-%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E5%8F%82%E8%80%83%E6%83%85%E5%A0%B1&quot; aria-label=&quot;vrchat を始めるときの参考情報 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VRChat を始めるときの参考情報&lt;/h2&gt;
&lt;p&gt;VRChat をやってみるにあたって、初心者向けの記事をいくつか読みました。&lt;/p&gt;
&lt;p&gt;以下、参考になった記事をいくつかリンクしておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://panora.tokyo/archives/26698&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;絶対楽しい「VRChat」の始め方 インストール方法やお勧めワールドまでをご紹介！ | PANORA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ama-vlog.com/vrchat-tutorial/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【初心者向け】VRSNS「VRChat」の始め方を紹介します&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrchatjp.playing.wiki/d/%BD%E9%BF%B4%BC%D4%A5%AC%A5%A4%A5%C9%20%28%A4%E4%A4%EB%BB%F6%A4%DE%A4%C8%A4%E1%29&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;初心者ガイド (やる事まとめ) - VRchat 日本wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bussan-b.info/vrc_start/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChatが楽しそう過ぎたので、予備知識ゼロで始めてみました。 | BUSSANのYOROZUブログ ｜ あなたの趣味と遊び心をくすぐるブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、以下のような初心者向けガイドも見つけました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrc.wiki/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChat初心者向けガイド | VRChatを始めるために、もっと楽しむために。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;始める前に知っておくべきこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A7%8B%E3%82%81%E3%82%8B%E5%89%8D%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8D%E3%81%93%E3%81%A8&quot; aria-label=&quot;始める前に知っておくべきこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;始める前に知っておくべきこと&lt;/h2&gt;
&lt;p&gt;上記の記事などを読んだ (そして実際にやってみた) 結論として、とりあえず、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;操作に慣れたいなら、とりあえず Home に行ってみる&lt;/li&gt;
&lt;li&gt;そして日本人初心者は「JP Tutorial」というワールドに行くべし&lt;/li&gt;
&lt;li&gt;ワールドごとに複数の「インスタンス」がある&lt;/li&gt;
&lt;li&gt;ワールドに 1 人で入りたい場合は、ワールド選択時に「New Instance」で「Invite Only」にすればよい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;くらいおさえておけば大丈夫です。&lt;/p&gt;
&lt;h2 id=&quot;まずは-home-へ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%9A%E3%81%AF-home-%E3%81%B8&quot; aria-label=&quot;まずは home へ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まずは Home へ&lt;/h2&gt;
&lt;p&gt;VRChat を始めて、簡単なチュートリアルのあと、デフォルトの Home に行きました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vrchat-default-home.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここに置いてあるもので少し操作の練習をしてみたりしました。&lt;/p&gt;
&lt;p&gt;ちなみに Home は変更可能です。
以下の記事が参考になりそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://panora.tokyo/archives/35049&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChatユーザーが選ぶおススメホームワールド | PANORA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;いくつかの定番ワールドへ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E5%AE%9A%E7%95%AA%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%81%B8&quot; aria-label=&quot;いくつかの定番ワールドへ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;いくつかの定番ワールドへ&lt;/h2&gt;
&lt;p&gt;操作に慣れた後、試しに 1 人でいくつかのワールドに行ってみることにしました。&lt;/p&gt;
&lt;h3 id=&quot;jp-tutorial&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#jp-tutorial&quot; aria-label=&quot;jp tutorial permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;JP Tutorial&lt;/h3&gt;
&lt;p&gt;まずは日本人向けのチュートリアルワールドに行ってみました。&lt;/p&gt;
&lt;p&gt;いろいろ書かれていましたが、ざーっと見て、最後のほうで紹介されている他のワールドに行くことにしました。&lt;/p&gt;
&lt;h3 id=&quot;usioport&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#usioport&quot; aria-label=&quot;usioport permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;USiOPORT&lt;/h3&gt;
&lt;p&gt;JP Tutorial の最後に紹介されていた USiOPORT というワールドで、色々なワールドが紹介されているということだったので、USiOPORT を経由していくつか行ってみました。&lt;/p&gt;
&lt;h3 id=&quot;space-colony-island-4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#space-colony-island-4&quot; aria-label=&quot;space colony island 4 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Space Colony “Island-4”&lt;/h3&gt;
&lt;p&gt;ガンダムなどで登場する円筒形のスペースコロニーのワールドです。&lt;/p&gt;
&lt;p&gt;個人的に Twitter で見かけて、一番行ってみたいと思っていました。&lt;/p&gt;
&lt;p&gt;車や電車 (?) で移動することができ、電車の中から写真を撮ってみました。
(なんとなく、スクリーンショットやキャプチャではなく、「写真」という言葉を使いたくなりました)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vrchat-world-1.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;ちなみに車は自分には操作が難しく、VR 酔いも感じたので、少し乗ってみるだけにしておきました。
電車のほうは快適でした。&lt;/p&gt;
&lt;h3 id=&quot;他にもいくつか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%96%E3%81%AB%E3%82%82%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B&quot; aria-label=&quot;他にもいくつか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;他にもいくつか&lt;/h3&gt;
&lt;p&gt;その後、なんとなく気になったワールドにいくつか行ってみました。&lt;/p&gt;
&lt;p&gt;写真を 2 枚ほど貼っておきます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vrchat-world-2.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vrchat-world-3.jpeg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;バーチャルマーケット2021&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%882021&quot; aria-label=&quot;バーチャルマーケット2021 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;バーチャルマーケット2021&lt;/h2&gt;
&lt;p&gt;2021 年 12 月 19 日まで、バーチャルマーケット2021 (通称 Vket) というイベントが開催中です。&lt;/p&gt;
&lt;p&gt;ブラウザのみでも参加できますが、VRChat のワールドとして入ることもできます。&lt;/p&gt;
&lt;p&gt;エントランスと「Parareal Shibuya」・「Parareal Akihabara」に行ってきたので、3 枚ほど写真を貼っておきます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vket-1.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vket-2.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vket-3.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;Parareal Shibuya では、話題になっていた「SMBC日興証券のジェットコースター」に乗ってみました。&lt;/p&gt;
&lt;p&gt;車や電車もそうですが、VR で乗り物に乗れるのはなんとなく楽しい気持ちになりますね。&lt;/p&gt;
&lt;p&gt;車とジェットコースターはかなり VR 酔いを感じたので、VR 酔い対策は別途調べようと思いました。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;以上、VRChat でいくつかのワールドに行ったり、VKet を少し見てみたりしました。&lt;/p&gt;
&lt;p&gt;Oculus Quest 2 のチュートリアルをやったときにも思ったのですが、現代の VR のクオリティはめちゃくちゃ高いです。&lt;/p&gt;
&lt;p&gt;当たり前ですが、横を見れば横の景色があり、上を見れば上の景色があり、下を見れば下の景色があるというのは、実際に体験すると感動します。&lt;/p&gt;
&lt;p&gt;そして、やってみるハードルも非常に低いです。
とりあえずやってみるだけであれば、PC なしで Oculus Quest 2 だけ用意する、といった方法でも十分です。&lt;/p&gt;
&lt;p&gt;あとはよく言われるような、VR 酔いや HMD をつけながら飲食しにくいといった点が解消されれば、今以上に楽しめるようになると思います。
どんな対処法があるのかは後日調べてみようと思います。&lt;/p&gt;
&lt;h2 id=&quot;キーワード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89&quot; aria-label=&quot;キーワード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;キーワード&lt;/h2&gt;
&lt;p&gt;最後に、VRChat について調べていて気になったキーワードについて書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;トラストレベル-trusted-level&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%83%AC%E3%83%99%E3%83%AB-trusted-level&quot; aria-label=&quot;トラストレベル trusted level permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;トラストレベル (Trusted Level)&lt;/h3&gt;
&lt;p&gt;VRChat にはユーザにトラストレベルという概念があります。&lt;/p&gt;
&lt;p&gt;ざっくり言えば、プレイ時間が長くなると、アバターやワールドのアップロードなど、できることが増えていくというものです。&lt;/p&gt;
&lt;p&gt;具体的な内容としては、以下の記事が参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.proustite.com/archives/563&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChatでトラストレベル別にできること | Another World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrc.wiki/vrchatglossary/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChat用語集 | VRChat初心者向けガイド&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;udon&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#udon&quot; aria-label=&quot;udon permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Udon&lt;/h3&gt;
&lt;p&gt;Udon は VRChat で提供されているプログラミング環境です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Udon Graph … ノード式のプログラミング環境&lt;/li&gt;
&lt;li&gt;Udon Sharp … Unity (C#) で Udon のプログラミングができるアセット&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 種類があるようです。&lt;/p&gt;
&lt;p&gt;こういったものによくある話ですが、Udon をうまく使うには結局 Unity (C#) の知識が重要なようなので、まずはそちらから勉強したほうが良さそうだなと感じました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/Nekomasu/items/b40790ad1fd7e010158d&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;初心者向けUdonの概要【VRChat】 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/eureka-engineering/vrchat-udon-udonsharp-842d7b9b9d0f&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRChat Udon ではじめる VR 開発. 自分が今最も利用している VR プラットフォームである VRChat… | by BOXP(Keitaro Takeuchi) | Eureka Engineering | Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tsubokulab.fanbox.cc/posts/1330696&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【VRChat】Udonがつらいという記録【全体公開】｜坪倉輝明＠メディアアーティスト｜pixivFANBOX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2021年】今年読んで良かった技術書 5 選]]></title><description><![CDATA[自分が今年 (2021 年) 読んで良かった技術書を 5 冊紹介します。
しっかり数えていないですが、100 冊以上読んだ上での 5 選になります。
※ 個人的に今年読んだだけで、ほとんど今年発売の書籍ではないです。]]></description><link>https://www.kanzennirikaisita.com/posts/best-books-2021</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/best-books-2021</guid><pubDate>Fri, 10 Dec 2021 07:49:36 GMT</pubDate><content:encoded>&lt;p&gt;自分が今年 (2021 年) 読んで良かった技術書を 5 冊紹介します。&lt;/p&gt;
&lt;p&gt;しっかり数えていないですが、100 冊以上読んだ上での 5 選になります。&lt;/p&gt;
&lt;p&gt;※ 個人的に今年読んだだけで、ほとんど今年発売の書籍ではないです。&lt;/p&gt;
&lt;h2 id=&quot;python実践入門-──-言語の力を引き出し、開発効率を高める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E2%94%80%E2%94%80-%E8%A8%80%E8%AA%9E%E3%81%AE%E5%8A%9B%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E5%8A%B9%E7%8E%87%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B&quot; aria-label=&quot;python実践入門 ── 言語の力を引き出し、開発効率を高める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3EzIOJW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python実践入門 ── 言語の力を引き出し、開発効率を高める&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0842JDVBZ?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=181a4a1cf1483caf6a799191d93586b5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0842JDVBZ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0842JDVBZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Python は今までなんとなく書いていたのですが、今年改めて勉強しようと何冊か本を読んでみました。&lt;/p&gt;
&lt;p&gt;他の言語の経験がある程度ある人であれば、この書籍が発売も新しく、内容としてもとても良かったです。&lt;/p&gt;
&lt;p&gt;Python を書く上で最低限しっておきたいことを一通りおさえられます。&lt;/p&gt;
&lt;p&gt;Python でちょっとしたスクリプトを書いたり機械学習のちょっとしたコードを書く程度であればなんとなくの理解でもできますが、この本はそういった段階からもう一歩レベルアップできる内容になっています。&lt;/p&gt;
&lt;p&gt;Python をなんとなく書いている、という方には是非一度読んでいただきたいおすすめの書籍です。&lt;/p&gt;
&lt;h2 id=&quot;パーフェクト-ruby-on-rails-【増補改訂版】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88-ruby-on-rails-%E3%80%90%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91&quot; aria-label=&quot;パーフェクト ruby on rails 【増補改訂版】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/31EbtPh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクト Ruby on Rails　【増補改訂版】&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08D3DW7LP?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=16530ef9d9ac6c7c17a5c45723eeb582&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08D3DW7LP&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08D3DW7LP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ruby on Rails の勉強としてこちらを読みました。&lt;/p&gt;
&lt;p&gt;パーフェクトシリーズらしく、ある程度の経験がある方が知りたいことがしっかりまとまっています。&lt;/p&gt;
&lt;p&gt;Rails の概要は分かっている上で、より実践的なプラクティスを学ぶことができる内容です。&lt;/p&gt;
&lt;p&gt;値オブジェクトやフォームオブジェクト、プレゼンターなど、Rails で活用できる設計パターンについても解説されていて、とても参考になります。&lt;/p&gt;
&lt;p&gt;初心者向けではないですが、がっつり Rails を使っていくつもりの方にはおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;32ビットコンピュータをやさしく語る-はじめて読む486&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E8%AA%9E%E3%82%8B-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E8%AA%AD%E3%82%80486&quot; aria-label=&quot;32ビットコンピュータをやさしく語る はじめて読む486 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3owX00G&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=3343d7a7c043a81c07c97532977d7f14&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OS について学んでいたところ、前提として CPU の知識が必要だと感じたため、こちらの本を手に取りました。&lt;/p&gt;
&lt;p&gt;はっきり言って、めちゃくちゃ良かったです。&lt;/p&gt;
&lt;p&gt;内容としては、マシン語の概要などではなく、OS が利用している CPU の機能 (リングプロテクションなど) について非常に分かりやすく解説されています。&lt;/p&gt;
&lt;p&gt;この本で解説されている内容は、OS を勉強する際の前提知識としてとても役立ちます。&lt;/p&gt;
&lt;p&gt;OS について勉強しようとしている方に、是非読んでいただきたい一冊です。&lt;/p&gt;
&lt;h2 id=&quot;ゼロからのos自作入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEos%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80&quot; aria-label=&quot;ゼロからのos自作入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lH3eco&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4cd9a780a4ccf71182a9027764c6e44a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;今年 IT 業界で最も話題になったであろう書籍です。&lt;/p&gt;
&lt;p&gt;私は実際には OS を作っていないのですが、一通り読んだだけでも非常に勉強になりました。&lt;/p&gt;
&lt;p&gt;何より、コードを見ながら OS の仕組みを追うことで、OS もただのプログラムに過ぎないということを理解できました。&lt;/p&gt;
&lt;p&gt;説明も非常に平易で読みやすかったです。&lt;/p&gt;
&lt;p&gt;来年は時間をとって OS 自作したいなと思っています。&lt;/p&gt;
&lt;h2 id=&quot;詳解-linuxカーネル-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%B3%E8%A7%A3-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;詳解 linuxカーネル 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3DADOTR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=721b3ec46c5c6eef3d5dc1d7c8725c77&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なんとなく憧れていた、1000 ページくらいある Linux カーネルの解説書です。&lt;/p&gt;
&lt;p&gt;『はじめて読む486』や『ゼロからのOS自作入門』を先に読んでいたおかげで、それほど抵抗なく読めました。&lt;/p&gt;
&lt;p&gt;一周では理解しきれないこともたくさんありますが、OS や Linux というものが怖くなくなったと感じます。&lt;/p&gt;
&lt;p&gt;何よりこの本を読んだという満足感があります。&lt;/p&gt;
&lt;p&gt;ここまで読めば Linux に詳しいと言えるかと思っていましたが、実はまだまだだということが分かったので、今後も精進します。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、5 冊を紹介させていただきました。&lt;/p&gt;
&lt;p&gt;他にも色々な本を読んだのですが、今年の個人的な収穫としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python・Ruby・PHP・Go といった、メジャーながらあまりしっかり勉強していなかった言語について、改めて勉強した&lt;/li&gt;
&lt;li&gt;OS (特に Linux カーネル) について、基本的な部分の理解を深められた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というのが大きいです。&lt;/p&gt;
&lt;p&gt;来年は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU・OS・コンパイラの自作&lt;/li&gt;
&lt;li&gt;XR (特に VR)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;に力を入れたいと思っています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[VR を満喫するために調べた定番サービス・ゲーム・イベント]]></title><description><![CDATA[先日開封した Oculus Quest 2 を満喫するため、何をしたらいいのか調べました。
VR SNS、ゲーム、その他 Oculus アプリ、イベントの順でまとめていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/vr-services-games-events</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/vr-services-games-events</guid><pubDate>Fri, 10 Dec 2021 07:47:25 GMT</pubDate><content:encoded>&lt;p&gt;先日開封した &lt;a href=&quot;https://amzn.to/3oEZr11&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2&lt;/a&gt; を満喫するため、何をしたらいいのか調べました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BYQ1ZRB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e9535750067e3b588f0a21d8b1af29b2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BYQ1ZRB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BYQ1ZRB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VR SNS&lt;/li&gt;
&lt;li&gt;ゲーム&lt;/li&gt;
&lt;li&gt;その他 Oculus アプリ&lt;/li&gt;
&lt;li&gt;イベント&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の順でまとめていきます。&lt;/p&gt;
&lt;h2 id=&quot;vr-sns&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr-sns&quot; aria-label=&quot;vr sns permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR SNS&lt;/h2&gt;
&lt;p&gt;まずは VR SNS についてです。&lt;/p&gt;
&lt;h3 id=&quot;vrchat&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vrchat&quot; aria-label=&quot;vrchat permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VRChat&lt;/h3&gt;
&lt;p&gt;VR SNS として最も有名なのが VRChat です。&lt;/p&gt;
&lt;p&gt;私も Oculus Quest 2 を開封した当日に、Home までは行ってみました。&lt;/p&gt;
&lt;p&gt;定番中の定番サービスだと思うので、もう少しやりたいと思っています。&lt;/p&gt;
&lt;h3 id=&quot;cluster&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cluster&quot; aria-label=&quot;cluster permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;cluster&lt;/h3&gt;
&lt;p&gt;クラスター株式会社が運営する日本発の VR SNS です。&lt;/p&gt;
&lt;p&gt;スマホからも利用可能で、先日 Oculus Quest 2 にも対応しました。&lt;/p&gt;
&lt;h3 id=&quot;neosvr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#neosvr&quot; aria-label=&quot;neosvr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NeosVR&lt;/h3&gt;
&lt;p&gt;個人的に一番やるのが楽しみなのが NeosVR です。&lt;/p&gt;
&lt;p&gt;プログラミングしたり、VR の中でなんでも作れるらしいです。&lt;/p&gt;
&lt;p&gt;(良い意味で) 沼なのではないかと想像しています。&lt;/p&gt;
&lt;h3 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h3&gt;
&lt;p&gt;他にも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Second Life … 昔からある VR SNS として有名&lt;/li&gt;
&lt;li&gt;Sansar (サンサール) … Second Life 運営元が新たに公開&lt;/li&gt;
&lt;li&gt;Horizon Worlds … Facebook が 2021/12/09 に発表&lt;/li&gt;
&lt;li&gt;Rec Room … 複数人でゲームを遊んだりできる模様&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、他にも多数 VR SNS は存在します。&lt;/p&gt;
&lt;p&gt;時間があるときに色々やってみたいです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://narazaka.hatenablog.jp/entry/2020/07/19/2020%E5%B9%B4%E3%81%AEVRSNS%E3%82%92%E6%AF%94%E8%BC%83%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;2020年のVRSNSを比較してみた - Narazaka::Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://panora.tokyo/archives/26630&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【ソーシャルVR入門】VRChat、cluster、Neos VR… 主要プラットフォーム5選 – PANORA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ゲーム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B2%E3%83%BC%E3%83%A0&quot; aria-label=&quot;ゲーム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゲーム&lt;/h2&gt;
&lt;p&gt;Steam などで販売されている VR ゲームのうち、定番かつ気になったものを書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;beat-saber&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#beat-saber&quot; aria-label=&quot;beat saber permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Beat Saber&lt;/h3&gt;
&lt;p&gt;ライトセーバーのようなものを持って、飛んでくるものを斬っていくリズムゲームです。&lt;/p&gt;
&lt;p&gt;最も有名な VR ゲームかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;fitvr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fitvr&quot; aria-label=&quot;fitvr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FitVR&lt;/h3&gt;
&lt;p&gt;フィットネス用の VR ゲームです。&lt;/p&gt;
&lt;p&gt;もともと BoxVR という名前だったのが FitVR になったようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moguravr.com/fitxr/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest版「BoxVR」に大規模な無料アプデ実施 ゲーム名も「FitXR」へ改題 | Mogura VR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;pavlov-vr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pavlov-vr&quot; aria-label=&quot;pavlov vr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Pavlov VR&lt;/h3&gt;
&lt;p&gt;Steam で販売されている、PCVR 向けの VR FPS です。&lt;/p&gt;
&lt;p&gt;話題になっているのを見かけて気になりました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xr-hub.com/archives/9459&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pavlov VRの魅力や操作方法、評判レビューを徹底解説！ – XR-Hub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;バイオハザード-4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%82%A4%E3%82%AA%E3%83%8F%E3%82%B6%E3%83%BC%E3%83%89-4&quot; aria-label=&quot;バイオハザード 4 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;バイオハザード 4&lt;/h3&gt;
&lt;p&gt;もともと有名なゲームであるバイオハザードの VR 版ということで、かなり話題になった印象です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moguravr.com/biohazard-4-vr-5/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2独占のVR版「バイオハザード4」発売！ ヘッドセット本体が当たる特別企画も開催 | Mogura VR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96-1&quot; aria-label=&quot;その他 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h3&gt;
&lt;p&gt;他にも VR ゲームは非常にたくさんあります。&lt;/p&gt;
&lt;p&gt;まとめているページもたくさんあるので、リンクを貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tips.spacely.co.jp/game_introduction/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021年最新】VRゲームおすすめ17選！PS4やOculusで遊べる本格ゲームからスマホで遊べる無料ゲームまで | Spacely Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrinside.jp/app/vr-game/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【定番】VRゲームおすすめ10選！やっておきたいVRゲーム一挙紹介！ | VR Inside&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cg-method.com/vr/oculusquest-games/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021最新】実際に体験！Oculus Quest2 おすすめの面白い人気ゲームアプリ16選 | VRナレッジ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;その他の-oculus-アプリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE-oculus-%E3%82%A2%E3%83%97%E3%83%AA&quot; aria-label=&quot;その他の oculus アプリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の Oculus アプリ&lt;/h2&gt;
&lt;h3 id=&quot;youtube-vr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#youtube-vr&quot; aria-label=&quot;youtube vr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;YouTube VR&lt;/h3&gt;
&lt;p&gt;VR で YouTube を鑑賞できるアプリケーションです。&lt;/p&gt;
&lt;p&gt;通常の動画を鑑賞することもできますし、VR 対応している動画は HMD などがあれば VR として見ることができます。&lt;/p&gt;
&lt;h3 id=&quot;wander&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#wander&quot; aria-label=&quot;wander permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Wander&lt;/h3&gt;
&lt;p&gt;VR で旅行ができるアプリケーションです。&lt;/p&gt;
&lt;p&gt;「Oculus スターターキット」の中でも紹介されています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oculus.com/blog/oculus-starter-kit-13-games-to-install-on-the-new-128-gb-quest-2-headset/?locale=ja_JP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculusスターターキット：新しい128GBモデルのOculus Quest 2ヘッドセットにおすすめの13タイトル&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;イベント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&quot; aria-label=&quot;イベント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;イベント&lt;/h2&gt;
&lt;p&gt;最後に、VR 関連のイベントについても少し書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;vket&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vket&quot; aria-label=&quot;vket permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VKet&lt;/h3&gt;
&lt;p&gt;いわゆる「コミケ」のバーチャル版のようなイベントです。&lt;/p&gt;
&lt;p&gt;様々な出展物があり、3D アバターなどの販売もしています。&lt;/p&gt;
&lt;p&gt;VRChat かブラウザからアクセスできます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%882021&quot;&gt;バーチャルマーケット2021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;tokyo-game-show-vr-2021-終了済み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tokyo-game-show-vr-2021-%E7%B5%82%E4%BA%86%E6%B8%88%E3%81%BF&quot; aria-label=&quot;tokyo game show vr 2021 終了済み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TOKYO GAME SHOW VR 2021 (終了済み)&lt;/h3&gt;
&lt;p&gt;TOKYO GAME SHOW では、2021 年は VR 空間上の会場も用意されていました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tgsvr.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TOKYO GAME SHOW VR 2021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;neosfesta3-終了済み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#neosfesta3-%E7%B5%82%E4%BA%86%E6%B8%88%E3%81%BF&quot; aria-label=&quot;neosfesta3 終了済み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NeosFesta3 (終了済み)&lt;/h3&gt;
&lt;p&gt;VR SNS の一種である NeosVR でも、2021 年 7 月・8 月に展示会が開催されています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://festa.neos.com/top&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosFesta3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[VR を活動の中心とする日本の団体まとめ]]></title><description><![CDATA[VR を活動の中心としている日本の団体を調べたのでまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/japanese-organizations-about-vr</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/japanese-organizations-about-vr</guid><pubDate>Fri, 10 Dec 2021 06:13:36 GMT</pubDate><content:encoded>&lt;p&gt;VR を活動の中心としている日本の団体を調べたのでまとめました。&lt;/p&gt;
&lt;h2 id=&quot;企業&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BC%81%E6%A5%AD&quot; aria-label=&quot;企業 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;企業&lt;/h2&gt;
&lt;p&gt;まずは企業についてです。&lt;/p&gt;
&lt;p&gt;VR に関連する企業は非常にたくさんありますが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ゲーム会社など、VR 以外に主な事業がある会社は除く&lt;/li&gt;
&lt;li&gt;VR 系の制作会社は除く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という前提でまとめています。&lt;/p&gt;
&lt;h3 id=&quot;クラスター株式会社&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE&quot; aria-label=&quot;クラスター株式会社 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラスター株式会社&lt;/h3&gt;
&lt;p&gt;VR SNS として有名な「cluster」の運営会社です。&lt;/p&gt;
&lt;p&gt;cluster は昨日 (2021/10/09) Oculus Quest 2 への対応が発表され、話題になっていました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://corp.cluster.mu/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;cluster クラスター株式会社 | クラスター株式会社（メタバースプラットフォーム cluster）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cluster.mu/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースプラットフォーム cluster（クラスター）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/cluster_official/n/nb2b623ee5e4e&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;clusterがOculus Quest2で遊べるようになりました｜cluster - メタバースプラットフォーム｜note&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社hikky&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEhikky&quot; aria-label=&quot;株式会社hikky permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社HIKKY&lt;/h3&gt;
&lt;p&gt;VR エンジンを使用して様々な開発などに携わっている会社です。&lt;/p&gt;
&lt;p&gt;いわゆる「コミケ」のバーチャル版である「VKet」の運営もこの会社です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hikky.life/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR法人 HIKKY - HIKKY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://winter2021.vket.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルマーケット2021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社バーチャルキャスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88&quot; aria-label=&quot;株式会社バーチャルキャスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社バーチャルキャスト&lt;/h3&gt;
&lt;p&gt;バーチャルキャスト (V キャス) を運営している会社です。&lt;/p&gt;
&lt;p&gt;V キャスは VR でコミュニケーションをとれるサービスであり、配信に関連した機能などもあります。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://virtualcast.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルキャスト[Virtual Cast]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.weblio.jp/content/V%E3%82%AD%E3%83%A3%E3%82%B9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Vキャスとは何？ Weblio辞書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社ambr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEambr&quot; aria-label=&quot;株式会社ambr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社ambr&lt;/h3&gt;
&lt;p&gt;VR のプラットフォームを運営している会社です。&lt;/p&gt;
&lt;p&gt;事業内容については、プレスリリースから引用させていただきます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;法人向けのメタバース構築プラットフォーム”xambr（クロスアンバー）” をベースに、「ユーザー体験の最大化」を軸とした仮想空間の構築に取り組んでいます。
これまでVRSNS「仮想世界ambr」、「awabar.vr」、東京ゲームショウ初となるVR会場「TOKYO GAME SHOW VR 2021」などの企画・UXデザイン・システム開発を手掛けました。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ambr.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ambr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prtimes.jp/main/html/rd/p/000000016.000043299.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;株式会社ambrのCXOにバーチャル建築家の番匠カンナ氏が就任｜株式会社 ambrのプレスリリース&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社gugenka&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEgugenka&quot; aria-label=&quot;株式会社gugenka permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社Gugenka&lt;/h3&gt;
&lt;p&gt;Gugenka は、XR のコンテンツについての会社です。&lt;/p&gt;
&lt;p&gt;事業内容について、会社概要ページから引用させていただきます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;東雲めぐを始めとしたVR上で活躍するクリエイターのプロデュースや、デジタルフィギュアのビューワーアプリ「HoloModels™（ホロモデル）」といった、アニメやキャラクターに関連するアプリ開発を行っています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gugenka.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Gugenka®(グゲンカ)公式｜日本アニメのVR / MRアプリメーカー&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gugenka.jp/company/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;会社概要/スタッフ一覧｜Gugenka(グゲンカ)公式｜日本アニメのVR / MRアプリメーカー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社vark&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEvark&quot; aria-label=&quot;株式会社vark permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社VARK&lt;/h3&gt;
&lt;p&gt;バーチャルライブプラットフォーム「VARK」の運営会社です。&lt;/p&gt;
&lt;p&gt;イベントの実績も非常に多いです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vark.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VARK | VR×ライブハウス(バーチャルライブ)を体感しよう&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社characterbank&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEcharacterbank&quot; aria-label=&quot;株式会社characterbank permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社CharacterBank&lt;/h3&gt;
&lt;p&gt;XR のゲームを開発・運営している会社です。&lt;/p&gt;
&lt;p&gt;VR 人狼ゲームなどを提供しています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://character-bank.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CHARACTER BANK | Hack the next experince.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社vrデザイン研究所&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BEvr%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E7%A0%94%E7%A9%B6%E6%89%80&quot; aria-label=&quot;株式会社vrデザイン研究所 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社VRデザイン研究所&lt;/h3&gt;
&lt;p&gt;VR / AR 専門のスクールである「VRプロフェッショナルアカデミー」を運営している会社です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vracademy.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRプロフェッショナルアカデミー／VR専門プログラミングスクール&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;株式会社アビス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%A2%E3%83%93%E3%82%B9&quot; aria-label=&quot;株式会社アビス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社アビス&lt;/h3&gt;
&lt;p&gt;バーチャルクラブ「LaMer」の運営会社です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://studioabyss.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ABYSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrclub-lamer.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルクラブ「LaMer」&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vr-lifemagazine.com/lamer/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VRのキャバクラは童貞にも優しいのか？【バーチャルクラブ『LaMer(ラメール)』体験レポート】 | バーチャルライフマガジン&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;VR の接客サービスについては、以下のような記事もあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://panora.tokyo/archives/38997&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;1対1のバーチャル有料接客サービス「asobiva」オープニングキャストの募集を開始 – PANORA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xr-hub.com/archives/3264&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR業界を牽引するテック企業12選！ – XR-Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.axc.ne.jp/media/careertips/vr_ar_venture&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;国内の注目すべき「VR・AR」ベンチャー企業一覧【厳選20社】 コンサル転職＆ポストコンサル転職のアクシスコンサルティング【公式】&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.geekly.co.jp/column/cat-technology/vr-ar-company/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR/ARの有名企業を10社紹介！最新の有力テック企業をおさえよう | GeeklyMedia(ギークリーメディア)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lipronext.com/blog/vr-venture/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VR関連のベンチャー企業をまとめてみた【提供サービス別10社＋１】 | 株式会社リプロネクスト&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;npo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#npo&quot; aria-label=&quot;npo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NPO&lt;/h2&gt;
&lt;h3 id=&quot;npo法人バーチャルライツ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#npo%E6%B3%95%E4%BA%BA%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%A9%E3%82%A4%E3%83%84&quot; aria-label=&quot;npo法人バーチャルライツ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NPO法人バーチャルライツ&lt;/h3&gt;
&lt;p&gt;VR 文化の振興のための NPO です。&lt;/p&gt;
&lt;p&gt;VR における権利の保護などの各種活動をしているようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npovr.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NPO法人バーチャルライツ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%A9%E3%82%A4%E3%83%84&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バーチャルライツ - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;学会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AD%A6%E4%BC%9A&quot; aria-label=&quot;学会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;学会&lt;/h2&gt;
&lt;h3 id=&quot;日本バーチャルリアリティ学会&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%97%A5%E6%9C%AC%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%AA%E3%82%A2%E3%83%AA%E3%83%86%E3%82%A3%E5%AD%A6%E4%BC%9A&quot; aria-label=&quot;日本バーチャルリアリティ学会 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;日本バーチャルリアリティ学会&lt;/h3&gt;
&lt;p&gt;学会としては、「日本バーチャルリアリティ学会」があります。&lt;/p&gt;
&lt;p&gt;学会誌のバックナンバーを見たりすると、興味のある研究室などを見つけられるかもしれません。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vrsj.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本バーチャルリアリティ学会&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vrsj.org/journal/backnumber/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本バーチャルリアリティ学会 » 学会誌バックナンバー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Oculus Quest 2 を開封した]]></title><description><![CDATA[9 月に購入してから放置していた Oculus Quest 2 をついに開封しました。
Oculus のチュートリアルと VRChat の Home までたどり着いた時点で気になった、Oculus 用の眼鏡、Oculus Link、Oculus での写真の撮り方について調べたことを書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/hello-oculus-quest-2</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/hello-oculus-quest-2</guid><pubDate>Thu, 09 Dec 2021 12:33:27 GMT</pubDate><content:encoded>&lt;p&gt;9 月に購入してから放置していた &lt;a href=&quot;https://amzn.to/3EJqXAb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2&lt;/a&gt; をついに開封しました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08GCMGBCB?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=b0c7fde2e4fb152bc225a361174209a7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08GCMGBCB&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08GCMGBCB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Oculus のチュートリアルと VRChat の Home までたどり着いた時点で気になった、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oculus 用の眼鏡&lt;/li&gt;
&lt;li&gt;Oculus Link&lt;/li&gt;
&lt;li&gt;Oculus での写真の撮り方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について調べたことを書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;oculus-用の眼鏡&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oculus-%E7%94%A8%E3%81%AE%E7%9C%BC%E9%8F%A1&quot; aria-label=&quot;oculus 用の眼鏡 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Oculus 用の眼鏡&lt;/h2&gt;
&lt;p&gt;購入した Oculus に付属として眼鏡スペーサーがついていましたが、それでは結構苦しかったです。&lt;/p&gt;
&lt;p&gt;普段使っている眼鏡を曲げたりしたくなかったので、ひとまず昔使っていた壊れてもよい眼鏡を使ってみました。&lt;/p&gt;
&lt;p&gt;ただ、通常の眼鏡では、少し違和感を感じました。&lt;/p&gt;
&lt;p&gt;以下の記事に解決策のパターンがいくつか書いてありますが、ある程度がっつりやるつもりなら専用のフレーム・レンズを購入するのが良さそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ksk360-review.com/oculus-quest2-glasses/#VR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest2のメガネスペーサーの取り付け方とピント調整方法を解説｜KSK360Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;専用のフレーム・レンズの種類はいくつかあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;VirtClear&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oculus 公式&lt;/li&gt;
&lt;li&gt;海外のため、送料が高く、届くまで時間がかかる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VRsatile (ヴァーサタイル)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;鯖江ブランド&lt;/li&gt;
&lt;li&gt;各種 HMD に対応&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;その他&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://megane-tsuchiya.net/frame/oculus_quest2_vr/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SS級認定眼鏡士兼VRヘビーユーザーが度数決定・加工します！Oculus Quest2（オキュラスクエスト）の度付レンズアタッチメント | フレームについて | メガネのツチヤ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/31yWFC1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MASiKEN Oculus Quest 2レンズアンチスクラッチリング、単体度付きレンズ 、度数専用レンズ 、軽量磁気ミオピアフレームメガネど入り、アンチブルーレイ、 近視メガネ保護フレームは (-6.0, 左側が赤)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3pJeshA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculusシリーズ対応 反射防止コート 度付きレンズ アタッチメントセット(OQC-001) 乱視対応 収納ケース付き&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B099Z6GRQK?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=38a1be5487c97dc31547d218a716e0bd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B099Z6GRQK&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B099Z6GRQK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08TT3JVQN?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=57a226c14f3b93106d8eca95de452fb4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08TT3JVQN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08TT3JVQN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なお、VirtClear や VRsatile を購入の際には眼科などでの処方箋が必要とのことです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oculus.com/accessories/virtuclear-lens-inserts/?locale=ja_JP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Quest 2用VirtuClear挿入用レンズ | Oculus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://divrse.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;株式会社diVRse/ダイバース&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;oculus-link&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oculus-link&quot; aria-label=&quot;oculus link permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Oculus Link&lt;/h2&gt;
&lt;p&gt;Oculus Quest 2 は単体で利用可能ですが、SteamVR など、Oculus Rift (PC との接続を前提とした機器) のコンテンツを楽しむためには Oculus Link を使う必要があります。&lt;/p&gt;
&lt;p&gt;Oculus Link は、USB ケーブルで Oculus Quest 2 と Windows PC を接続して利用します。&lt;/p&gt;
&lt;p&gt;ケーブルには Oculus 純正のものとその他のものがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3IKSnZ5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Linkケーブル&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3Gw38My&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;aceyoon For Oculus Link ケープル&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B081SHD773?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a9cf359bed19f05ca0fd4b3ccf5b0449&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B081SHD773&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B081SHD773&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09292GQ15?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=353db6d32a371ef84f0af3f05d0385c9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09292GQ15&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09292GQ15&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;なお、Wi-Fi が動作条件を満たせば、Oculus Air Link という無線通信も可能です。&lt;/p&gt;
&lt;p&gt;個人的に VR 用にデスクトップ PC とグラボを用意しているので、Oculus Link のために 2 つ目のほうのケーブルを購入することにしました。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oculus.com/setup/?locale=ja_JP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculusの設定: Quest、Quest 2、Link、Rift SおよびRift | Oculus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smhn.info/202109-how-to-use-oculus-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus LinkでPC用「Steam VR」を遊ぶ。導入方法を解説 – すまほん!!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moguravr.com/oculus-link-setup-explanation/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Oculus Link」のセットアップを徹底解説 注意点やケーブル選びも | Mogura VR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moguravr.com/oculus-air-link/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2とPCを無線接続する「Oculus Air Link」を試してみた。快適な動作のために”接続状況”は要チェック！ | Mogura VR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;oculus-での写真の撮り方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oculus-%E3%81%A7%E3%81%AE%E5%86%99%E7%9C%9F%E3%81%AE%E6%92%AE%E3%82%8A%E6%96%B9&quot; aria-label=&quot;oculus での写真の撮り方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Oculus での写真の撮り方&lt;/h2&gt;
&lt;p&gt;なんとなく、Oculus で写真 (スクリーンショット) を撮りたくなったので、方法を調べてみたところ、以下の記事に色々なやり方が書いてありました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://loumo.jp/archives/26064&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2 でスクリーンショットを撮る方法 | Lonely Mobiler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PC やスマホへの転送も簡単にできるようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://keikenchi.com/how-to-transfer-photos-and-videos-to-your-computer-with-oculus-quest-2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2で写真や動画をパソコンに転送する方法 | 経験知&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://japanese.engadget.com/oculus-quest-020015153.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Questにアプデ、画像のアプリ同期やゲームプレゼント機能改善など - Engadget 日本版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということで、VRChat の Home で撮影した画像を載せておきます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vrchat-home.jpg&quot; alt=&quot;vrchat-home.jpg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、Oculus Quest 2 を開封して VRChat の Home にたどり着いたあたりで調べたことをまとめました。&lt;/p&gt;
&lt;p&gt;次は VRChat をもう少しやってみたいと思っています！&lt;/p&gt;</content:encoded></item><item><title><![CDATA[CG (コンピュータグラフィックス) に興味を持って最初に調べたこと]]></title><description><![CDATA[CG (コンピュータグラフィックス) に興味を持って最初に調べたことをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/computer-graphics-first-step</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/computer-graphics-first-step</guid><pubDate>Wed, 08 Dec 2021 10:20:55 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 8 日目の記事です。&lt;/p&gt;
&lt;p&gt;CG (コンピュータグラフィックス) に興味を持って最初に調べたことをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;cg-コンピュータグラフィックス-とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cg-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9-%E3%81%A8%E3%81%AF&quot; aria-label=&quot;cg コンピュータグラフィックス とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CG (コンピュータグラフィックス) とは&lt;/h2&gt;
&lt;p&gt;まず最初に、そもそも CG とは？についてですが、Wikipedia から引用すると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コンピュータグラフィックス（英: computer graphics、略称: CG）は、コンピュータを用いて画像を生成する科学技術、及びその技術によって生成される画像のことである。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータグラフィックス - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;cg-を学ぶ際に登場する要素&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cg-%E3%82%92%E5%AD%A6%E3%81%B6%E9%9A%9B%E3%81%AB%E7%99%BB%E5%A0%B4%E3%81%99%E3%82%8B%E8%A6%81%E7%B4%A0&quot; aria-label=&quot;cg を学ぶ際に登場する要素 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CG を学ぶ際に登場する要素&lt;/h2&gt;
&lt;p&gt;CG といってもどのような要素があるのか全然想像もつかなかったので、参考になりそうな情報を探しました。&lt;/p&gt;
&lt;h3 id=&quot;cg-エンジニア検定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cg-%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E6%A4%9C%E5%AE%9A&quot; aria-label=&quot;cg エンジニア検定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CG エンジニア検定&lt;/h3&gt;
&lt;p&gt;公益財団法人画像情報教育振興協会 (CG-ARGS) が運営する「CG-ARGS 検定」というものが、ゲームエンジニアなどが CG を学ぶ際によくおすすめされているようです。&lt;/p&gt;
&lt;p&gt;このカリキュラムを見てみると、「CG を学びたい」という際にどんな要素があるのか分かりやすかったです。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;座標変換&lt;/li&gt;
&lt;li&gt;モデリング&lt;/li&gt;
&lt;li&gt;レンダリング&lt;/li&gt;
&lt;li&gt;アニメーション&lt;/li&gt;
&lt;li&gt;画像処理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの要素があるようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.cgarts.or.jp/kentei/about/cg_engineer/index.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CG-ARTS |  検定&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;各種カリキュラム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%90%84%E7%A8%AE%E3%82%AB%E3%83%AA%E3%82%AD%E3%83%A5%E3%83%A9%E3%83%A0&quot; aria-label=&quot;各種カリキュラム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;各種カリキュラム&lt;/h3&gt;
&lt;p&gt;その他、検索してみるとカリキュラムや講義内容を公開している大学もあったりするので、そういった情報をとっかかりとして勉強してみても良いかもしれません。&lt;/p&gt;
&lt;p&gt;デジタルハリウッドスクールのカリキュラムなども参考になります。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://school.dhw.co.jp/course/cgvfx/curriculum/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;カリキュラム｜本科 CG/VFX 専攻｜デジタルハリウッドの専門スクール（学校）&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;用語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%A8%E8%AA%9E&quot; aria-label=&quot;用語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;用語&lt;/h2&gt;
&lt;p&gt;CG についてざっくり調べる中で出会った知らない言葉について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;vfx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vfx&quot; aria-label=&quot;vfx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VFX&lt;/h3&gt;
&lt;p&gt;VFX は visual effects の略で、映像作品における視覚効果のことを指すようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/VFX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VFX - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;シェーダー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%80%E3%83%BC&quot; aria-label=&quot;シェーダー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;シェーダー&lt;/h3&gt;
&lt;p&gt;なぜか「シェーダー」という用語だけ耳にしたことがあったので調べたところ、レンダリングの一部の、「陰影処理」のことだそうです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%BC%E3%83%80%E3%83%BC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シェーダー - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;ライブラリ・api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%BBapi&quot; aria-label=&quot;ライブラリ・api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ライブラリ・API&lt;/h2&gt;
&lt;p&gt;3DCG に関するライブラリを調べてみたところ、以下のページが見つかりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/3D%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3D ライブラリ - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;非常に膨大な数があるようです。&lt;/p&gt;
&lt;p&gt;特に気になるものについて少し書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;opengl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#opengl&quot; aria-label=&quot;opengl permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OpenGL&lt;/h3&gt;
&lt;p&gt;OpenGL は、ライブラリというよりは仕様書のようなもので、CG を学ぶ上でよく使われるようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;http://www.den.t.u-tokyo.ac.jp/ad_prog/graphics/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;グラフィックスの基礎 - 東京大学工学部 精密工学科 プログラミング応用 I・II&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;webgl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webgl&quot; aria-label=&quot;webgl permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebGL&lt;/h3&gt;
&lt;p&gt;WebGL は、ウェブブラウザ上で CG をレンダリングするための JavaScript API です。&lt;/p&gt;
&lt;p&gt;有名な Three.js も WebGL を使っているとのことです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/WebGL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebGL - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3dcg-制作ソフト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3dcg-%E5%88%B6%E4%BD%9C%E3%82%BD%E3%83%95%E3%83%88&quot; aria-label=&quot;3dcg 制作ソフト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3DCG 制作ソフト&lt;/h2&gt;
&lt;p&gt;最後に、3DCG 制作ソフトについてです。&lt;/p&gt;
&lt;p&gt;無料の 3DCG 制作ソフトとして最も有名なのは Blender だと思いますが、他にもたくさんあるようでした。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vook.vc/n/2751&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Blender だけじゃない！CG ソフトの種類と選び方 | Vook(ヴック)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://online.dhw.co.jp/kuritama/free-software-useful-for-creating-3dcg/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3DCG 作成におすすめの無料ソフト 6 選！CG 作成初心者は必見 | デジハリ・オンラインスクール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qeee.jp/magazine/articles/13332&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【3D グラフィックソフト 19 選】初心者でも利用しやすいソフトを紹介！ | QEEE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://c3dpoly.com/3dcg-software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3DCG 初心者向けに主な CG ソフトについて紹介するよ！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ranking.goo.ne.jp/select/19788&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年最新版】3DCG 制作ソフトの人気おすすめランキング 10 選｜セレクト - goo ランキング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[音声データにおける言語の取り扱い]]></title><description><![CDATA[音声データにおける言語の取り扱いについて調べたことをまとめます。
形態素解析などのいわゆる自然言語処理に関する内容ではなく、音声認識・文字起こし、音声合成について書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/language-in-audio-data</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/language-in-audio-data</guid><pubDate>Tue, 07 Dec 2021 14:42:31 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 7 日目の記事です。&lt;/p&gt;
&lt;p&gt;音声データにおける言語の取り扱いについて調べたことをまとめます。&lt;/p&gt;
&lt;p&gt;形態素解析などのいわゆる自然言語処理に関する内容ではなく、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;音声認識・文字起こし&lt;/li&gt;
&lt;li&gt;音声合成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;音声認識・文字起こし&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E8%AA%8D%E8%AD%98%E3%83%BB%E6%96%87%E5%AD%97%E8%B5%B7%E3%81%93%E3%81%97&quot; aria-label=&quot;音声認識・文字起こし permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声認識・文字起こし&lt;/h2&gt;
&lt;h3 id=&quot;文字起こしの種類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%87%E5%AD%97%E8%B5%B7%E3%81%93%E3%81%97%E3%81%AE%E7%A8%AE%E9%A1%9E&quot; aria-label=&quot;文字起こしの種類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;文字起こしの種類&lt;/h3&gt;
&lt;p&gt;文字起こしについて調べてみると、以下の 3 つの種類があることが分かりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;素起こし … 「えー」などの “フィラー (ケバ)” を含め、一言一句文字にすること&lt;/li&gt;
&lt;li&gt;ケバ取り … フィラー (ケバ) を取り除いた文章に起こすこと&lt;/li&gt;
&lt;li&gt;整文 … ケバ取りしたものに加えて、話し言葉を読み言葉に変換したりして整えること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://withteam.jp/mojiokoshi/blog/mojiokosi-basics/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ケバ取り」「素起こし」「整文」の違いとは？文字起こし方法の基本的な 3 種類を解説！ | WITH TEAM（ウィズチーム）&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;トレーニング済み-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E6%B8%88%E3%81%BF-api&quot; aria-label=&quot;トレーニング済み api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;トレーニング済み API&lt;/h3&gt;
&lt;p&gt;音声認識・文字起こしのトレーニング済み API については、まとめている記事がいくつかありました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/ysugiyama12/items/bf246e80ae4d1dc16441&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声を文字起こしする API を何種類か触ってみた - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.api.rakuten.net/ja/top-speech-recognition-apis-jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;人気の音声認識 API トップ 10: Siri API, Speech to Text, Rev.AI – Rakuten RapidAPI Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ledge.ai/voice-recognition-comparison/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声認識エンジンはどう選ぶ？主要な 4 つを比較検証してみた | Ledge.ai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;現状、こういった API である程度の精度が期待できるようです。&lt;/p&gt;
&lt;p&gt;どの API を使うべきかは、用途次第になるようです。&lt;/p&gt;
&lt;h3 id=&quot;エンジン・ライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%83%BB%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;エンジン・ライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エンジン・ライブラリ&lt;/h3&gt;
&lt;p&gt;続いて、音声認識のエンジンやライブラリについてです。&lt;/p&gt;
&lt;h4 id=&quot;cmu-sphinx&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cmu-sphinx&quot; aria-label=&quot;cmu sphinx permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CMU Sphinx&lt;/h4&gt;
&lt;p&gt;CMU Sphinx は、カーネギーメロン大学で開発された OSS の音声認識エンジンです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://en.wikipedia.org/wiki/CMU_Sphinx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CMU Sphinx - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;snowboy&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#snowboy&quot; aria-label=&quot;snowboy permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Snowboy&lt;/h4&gt;
&lt;p&gt;Snowboy は、ホットワード検出エンジンです。&lt;/p&gt;
&lt;p&gt;ホットワード検出というのは、「OK, Google」のような、問いかけのキーワードのことです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/seasalt-ai/snowboy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;seasalt-ai/snowboy: DNN based hotword and wake word detection toolkit (model generation included)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://uepon.hatenadiary.com/entry/2020/10/26/022159&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【RaspberryPi】Hot Word 検出 Snowboy でオリジナルの Hot Word を検知してみる（前編：設定） - uepon 日々の備忘録&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;speechrecognition-python&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#speechrecognition-python&quot; aria-label=&quot;speechrecognition python permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SpeechRecognition (Python)&lt;/h4&gt;
&lt;p&gt;Python の SpeechRecognition というライブラリは、各種エンジン・API に対応しています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/SpeechRecognition/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SpeechRecognition · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://self-development.info/python%E3%81%A7%E9%9F%B3%E5%A3%B0%E3%81%8B%E3%82%89%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%B8%E5%A4%89%E6%8F%9B%E3%80%90speechrecognition%E3%80%91/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python で音声からテキストへ変換【SpeechRecognition】 | ジコログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、このライブラリで選択できる「Google Speech Recognition」については、調べてもよく分かりませんでした。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://teratail.com/questions/318640&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python - Python の音声認識ライブラリ「speech_recognition」の「Google Speech Recognition」の実体がわかりません。｜ teratail&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;web-speech-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-speech-api&quot; aria-label=&quot;web speech api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web Speech API&lt;/h4&gt;
&lt;p&gt;Web Speech API を使うと、Chrome for Desktop と Android であれば、ブラウザで簡単に音声認識ができるようです。&lt;/p&gt;
&lt;p&gt;これは驚きました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://developer.mozilla.org/ja/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web Speech API を使う - Web API | MDN&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;音声合成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90&quot; aria-label=&quot;音声合成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声合成&lt;/h2&gt;
&lt;p&gt;YouTube などの動画配信プラットフォームで、人の声ではなく機械的な声で文字が読まれているケースがあると思います。&lt;/p&gt;
&lt;p&gt;そのことを、私は勝手に「機械音声」という言葉で表現していたのですが、どうやら「音声合成 (speech synthesis)」という言葉が適切なようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声合成 - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;音声合成ツールについてまとめているページをいくつかリンクしておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aviutl.info/onnseiyomiage-sohuto/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;おすすめの音声読み上げ(音声合成)ソフト【ゆっくり･CeVIO･VOICEROID+】 | AviUtl の易しい使い方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mens.esupro.co.jp/entry/onseiyomiage/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声読み上げソフトのおすすめ 5 選！無料で使えるソフトもご紹介 – エスプロマガジン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ondoku3.com/ja/post/what-is-best-taxt-to-speech/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声読み上げソフトのオススメまとめ。商用利用でも使える 7 選【無料・有料】｜音声読み上げソフト 音読さん&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;無料で有名なものとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SoftTalk (いわゆる「ゆっくり」と呼ばれる音声)&lt;/li&gt;
&lt;li&gt;棒読みちゃん&lt;/li&gt;
&lt;li&gt;テキストーク&lt;/li&gt;
&lt;li&gt;VOICEVOX&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりのようです。&lt;/p&gt;
&lt;p&gt;SoftTalk や棒読みちゃんは、内部で「AquesTalk」を使っているとのことです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://dic.nicovideo.jp/a/aquestalk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AquesTalk とは (アクエストークとは) [単語記事] - ニコニコ大百科&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;関連して、初音ミクなどで有名な「VOCALOID」という単語について Wikipedia を見てみたところ、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「VOCALOID（ボーカロイド）」および「ボカロ」はヤマハ株式会社の登録商標である&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ということで、一般名詞だと思っていたので驚きました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/VOCALOID&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VOCALOID - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;コーパス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%91%E3%82%B9&quot; aria-label=&quot;コーパス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コーパス&lt;/h3&gt;
&lt;p&gt;関連する用語として「コーパス」について書いておきます。&lt;/p&gt;
&lt;p&gt;コーパスとは、ざっくり言えば、言葉のデータベースです。&lt;/p&gt;
&lt;p&gt;音声のコーパスもあり、例えば「JVS (Japanese versatile speech) corpus」というものを見つけました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://sites.google.com/site/shinnosuketakamichi/research-topics/jvs_corpus&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Shinnosuke Takamichi (高道 慎之介) - jvs_corpus&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[DevOps に関する日本語の書籍まとめ]]></title><description><![CDATA[DevOps に関して実際に読んだ日本語書籍をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/devops-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/devops-books</guid><pubDate>Tue, 07 Dec 2021 08:55:04 GMT</pubDate><content:encoded>&lt;p&gt;DevOps に関して実際に読んだ日本語書籍をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;devops導入指南-infrastructure-as-codeでチーム開発・サービス運用を効率化する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#devops%E5%B0%8E%E5%85%A5%E6%8C%87%E5%8D%97-infrastructure-as-code%E3%81%A7%E3%83%81%E3%83%BC%E3%83%A0%E9%96%8B%E7%99%BA%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%81%8B%E7%94%A8%E3%82%92%E5%8A%B9%E7%8E%87%E5%8C%96%E3%81%99%E3%82%8B&quot; aria-label=&quot;devops導入指南 infrastructure as codeでチーム開発・サービス運用を効率化する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rEaGc9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DevOps導入指南 Infrastructure as Codeでチーム開発・サービス運用を効率化する&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01M4KNOFM?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=65d0c7fdf93fa9649fe1fa4b7619cb0c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01M4KNOFM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01M4KNOFM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DevOps の解説書です。&lt;/p&gt;
&lt;p&gt;DevOps の基本的な考え方やプラクティスについて、一通り解説されています。&lt;/p&gt;
&lt;p&gt;ページ数も多すぎず、しっかりまとまっているので、入門のために何か 1 冊読みたいといった際におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;leanとdevopsの科学［accelerate］-テクノロジーの戦略的活用が組織変革を加速する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lean%E3%81%A8devops%E3%81%AE%E7%A7%91%E5%AD%A6%EF%BC%BBaccelerate%EF%BC%BD-%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC%E3%81%AE%E6%88%A6%E7%95%A5%E7%9A%84%E6%B4%BB%E7%94%A8%E3%81%8C%E7%B5%84%E7%B9%94%E5%A4%89%E9%9D%A9%E3%82%92%E5%8A%A0%E9%80%9F%E3%81%99%E3%82%8B&quot; aria-label=&quot;leanとdevopsの科学［accelerate］ テクノロジーの戦略的活用が組織変革を加速する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lGVN5c&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LeanとDevOpsの科学［Accelerate］ テクノロジーの戦略的活用が組織変革を加速する&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07L2R3LTN?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4ddfea9f9618211f02a060f65b7c6a08&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07L2R3LTN&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07L2R3LTN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Lean や DevOps といった手法で登場するプラクティスなどについて、調査内容をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;一般的だからという理由で行われているプラクティスが逆効果な場合も多いなど、なかなか面白い結果がいろいろ見られます。&lt;/p&gt;
&lt;p&gt;個人的には多くの人に読んでいただきたい、とてもおすすめの書籍です。&lt;/p&gt;
&lt;h2 id=&quot;the-devops-ハンドブック-理論・原則・実践のすべて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E7%90%86%E8%AB%96%E3%83%BB%E5%8E%9F%E5%89%87%E3%83%BB%E5%AE%9F%E8%B7%B5%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6&quot; aria-label=&quot;the devops ハンドブック 理論・原則・実践のすべて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/31IDANu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps ハンドブック 理論・原則・実践のすべて&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B073PRMWR5?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=827b225caf24d466b30282e03e763e7f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B073PRMWR5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B073PRMWR5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DevOps に関するハンドブックです。&lt;/p&gt;
&lt;p&gt;DevOps のプラクティスや事例について、体系的にまとめられています。&lt;/p&gt;
&lt;p&gt;600 ページ近くと少し厚めなので、DevOps についてしっかり学びたいといった際に良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;the-devops-逆転だ！究極の継続的デリバリー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#the-devops-%E9%80%86%E8%BB%A2%E3%81%A0%EF%BC%81%E7%A9%B6%E6%A5%B5%E3%81%AE%E7%B6%99%E7%B6%9A%E7%9A%84%E3%83%87%E3%83%AA%E3%83%90%E3%83%AA%E3%83%BC&quot; aria-label=&quot;the devops 逆転だ！究極の継続的デリバリー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pw298t&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps　逆転だ！究極の継続的デリバリー&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00MGGW9MI?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=3d349d9661557ce11ec6f5286e01b3ac&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00MGGW9MI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00MGGW9MI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『The DevOps ハンドブック』と同じ方が著者の、DevOps に関する小説です。&lt;/p&gt;
&lt;p&gt;物語として、よくある炎上プロジェクトについて書かれています。&lt;/p&gt;
&lt;p&gt;いわゆるレガシーな環境で苦しんだ経験があると、色々思うところがあるような書籍です。&lt;/p&gt;
&lt;p&gt;続編に『&lt;a href=&quot;https://amzn.to/300evgf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The DevOps 勝利をつかめ！　技術的負債を一掃せよ&lt;/a&gt;』があります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08LGF5KM6?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5fe3b7b0d9397153ac132a3b16291940&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08LGF5KM6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08LGF5KM6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;effective-devops-4本柱による持続可能な組織文化の育て方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#effective-devops-4%E6%9C%AC%E6%9F%B1%E3%81%AB%E3%82%88%E3%82%8B%E6%8C%81%E7%B6%9A%E5%8F%AF%E8%83%BD%E3%81%AA%E7%B5%84%E7%B9%94%E6%96%87%E5%8C%96%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9&quot; aria-label=&quot;effective devops 4本柱による持続可能な組織文化の育て方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3070uh2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective DevOps ―4本柱による持続可能な組織文化の育て方&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118352?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c85f8ce52ea101afbad7e2658dc22c17&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118352&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118352&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DevOps を、コラボレーション、アフィニティ、ツール、スケーリングという 4 本の柱として整理して解説している書籍です。&lt;/p&gt;
&lt;p&gt;CI / CD やツールを使うことと捉えられがちな DevOps について、より本質的な、組織文化の観点について多くのページを割かれています。&lt;/p&gt;
&lt;p&gt;DevOps に関する組織・文化作りのヒントがほしい場合などに良い書籍です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、DevOps に関する日本語の書籍をまとめました。&lt;/p&gt;
&lt;p&gt;DevOps と関連して、例えば SRE についてや一般的な運用設計についてなど、以下の書籍あたりから手に取ってみるのもおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3EzcRRN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3Iu7ndF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;運用設計の教科書 ～現場で困らないITサービスマネジメントの実践ノウハウ&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117917?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1765ef804f8cffa906ef19840defa537&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117917&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117917&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07WQ32NLC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4b1ccceaf6386f55daf42d0683dcef77&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07WQ32NLC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07WQ32NLC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[動画編集ソフトやライブラリ、関連ツールのまとめ]]></title><description><![CDATA[動画編集ソフトやライブラリ、動画編集・ライブ配信などに関連するツールについて調べたことをまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/movie-processing-software</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/movie-processing-software</guid><pubDate>Mon, 06 Dec 2021 06:21:13 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 6 日目の記事です。&lt;/p&gt;
&lt;p&gt;動画編集ソフトやライブラリ、動画編集・ライブ配信などに関連するツールについて調べたことをまとめました。&lt;/p&gt;
&lt;h2 id=&quot;動画編集ソフト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E7%B7%A8%E9%9B%86%E3%82%BD%E3%83%95%E3%83%88&quot; aria-label=&quot;動画編集ソフト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画編集ソフト&lt;/h2&gt;
&lt;p&gt;まず、動画編集ソフトについて少しだけ書いていきます。&lt;/p&gt;
&lt;p&gt;動画編集ソフトには、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有料デスクトップアプリ (Adobe Premiere Pro など)&lt;/li&gt;
&lt;li&gt;無料デスクトップアプリ (Aviutl など)&lt;/li&gt;
&lt;li&gt;OSS (OpenShot、Kdenlive など)&lt;/li&gt;
&lt;li&gt;Web サービス (We Video、Canva など)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;があります。&lt;/p&gt;
&lt;p&gt;無料で使えるアプリケーション・サービスでもかなりのことができるようなので、初心者はまず無料のものを試しても良いかもしれません。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.somethingfun.co.jp/video_tips/youtuber_edit_software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTuber に最も使われている動画編集ソフト（2021） - 株式会社サムシングファン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.shopify.jp/blog/best-free-video-editing-software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年版】プロ並みの動画編集が可能に！無料で使える人気の動画編集ソフト 12 選 - Shopify 日本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ferret-plus.com/24120?page=2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シンプルで使いやすい！動画編集が Web 上で完結するツール 10 選｜ ferret&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;動画編集ライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E7%B7%A8%E9%9B%86%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;動画編集ライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画編集ライブラリ&lt;/h2&gt;
&lt;p&gt;動画編集のライブラリについてざっと調べて出てくるのは、以下の 3 つと、その他各種言語のライブラリでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenCV&lt;/li&gt;
&lt;li&gt;FFmpeg&lt;/li&gt;
&lt;li&gt;libopenshot&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;opencv&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#opencv&quot; aria-label=&quot;opencv permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OpenCV&lt;/h3&gt;
&lt;p&gt;OpenCV は画像処理ライブラリとして有名ですが、動画にも対応しています。&lt;/p&gt;
&lt;p&gt;動画フレームごとにデータを取り出して処理を行うといったことが可能です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tech-teacher.jp/blog/python_videoprocessing/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python で動画処理を行うには？ライブラリの使い方を解説！ | TechTeacher Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://software-data-mining.com/python%E3%81%AB%E3%82%88%E3%82%8B%E5%8B%95%E7%94%BB%E3%83%87%E3%83%BC%E3%82%BF%E7%B7%A8%E9%9B%86%E5%87%A6%E7%90%86/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;python による動画データからの画像抽出とその加工処理 【プログラムあり】 | 知のマイニング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fenet.jp/infla/column/technology/opencv%E5%85%A5%E9%96%80%EF%BC%81%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86%E6%96%B9%E6%B3%958%E3%81%A4%E3%81%A8%E5%8B%95%E7%94%BB%E5%87%A6%E7%90%86%E6%96%B9%E6%B3%95%E3%82%92%E5%90%88%E3%82%8F%E3%81%9B/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OpenCV 入門！画像処理方法 8 つと動画処理方法を合わせて解説 | テックマガジン from FEnet インフラ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ffmpeg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ffmpeg&quot; aria-label=&quot;ffmpeg permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FFmpeg&lt;/h3&gt;
&lt;p&gt;FFmpeg は、UNIX コマンドや共有ライブラリとして使用可能なソフトウェアです。&lt;/p&gt;
&lt;p&gt;コマンドでちょっとしたことをしたい場合にも良いかもしれません。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/FFmpeg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FFmpeg - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codezine.jp/article/detail/2444&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FFmpeg API で、さまざまな動画を操る - 前編 (1/5)：CodeZine（コードジン）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;libopenshot&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#libopenshot&quot; aria-label=&quot;libopenshot permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;libopenshot&lt;/h3&gt;
&lt;p&gt;libopenshot は、OSS の動画編集ツール OpenShot の提供元の会社が出しているライブラリです。&lt;/p&gt;
&lt;p&gt;OpenCV や FFmpeg の次くらいの知名度のようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.openshot.org/ja/libopenshot/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OpenShot 動画エディター | libopenshot | C++動画編集ライブラリ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他、各種言語のライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E5%90%84%E7%A8%AE%E8%A8%80%E8%AA%9E%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;その他、各種言語のライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、各種言語のライブラリ&lt;/h3&gt;
&lt;p&gt;その他、各種言語・プラットフォームに特有の動画編集ライブラリもあります。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MoviePy&lt;/li&gt;
&lt;li&gt;mp4parser&lt;/li&gt;
&lt;li&gt;MobileFFmpeg&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zulko.github.io/moviepy/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;User Guide — MoviePy 1.0.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.ch3cooh.jp/entry/android/video_editing_library&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Android で 動画編集できるライブラリを探す (2020 年 5 月調査) - 酢ろぐ！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;音声処理ライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E5%87%A6%E7%90%86%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;音声処理ライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声処理ライブラリ&lt;/h3&gt;
&lt;p&gt;ついでに音声処理ライブラリについても少しだけ調べてみました。&lt;/p&gt;
&lt;p&gt;以下のページなどが、とっかかりとして良さそうでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/eve_yk/items/07bc094538f2d50841f4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音声処理で参考になったサイトまとめ - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://heartstat.net/2021/05/15/python_asp_library/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;python の音響信号処理のおすすめライブラリ | もちおのブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;動画配信サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E9%85%8D%E4%BF%A1%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;動画配信サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画配信サービス&lt;/h2&gt;
&lt;p&gt;続いて、動画配信サービスについて少し調べようと思ったのですが、どんなサービスがあるかは、Wikipedia の以下の 2 ページにまとまっていました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E5%8B%95%E7%94%BB%E5%85%B1%E6%9C%89%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;動画共有サービス - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%96%E5%8B%95%E7%94%BB%E9%85%8D%E4%BF%A1%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ライブ動画配信サービス - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;動画配信ツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E9%85%8D%E4%BF%A1%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;動画配信ツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画配信ツール&lt;/h2&gt;
&lt;p&gt;最後に、動画のオンデマンド/ライブ配信でよく使われるツールについて書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;エンコーダ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%80&quot; aria-label=&quot;エンコーダ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エンコーダ&lt;/h3&gt;
&lt;p&gt;そもそも YouTube などでライブ配信をする場合は、スマホや PC (または別途購入した Web カメラ) で撮影した内容を直接配信するか、「エンコーダ」を使うことになります。&lt;/p&gt;
&lt;p&gt;撮影した内容そのままではなく、例えば複数のカメラの内容をくっつけて表示する場合は、その「撮影した内容をくっつけて 1 つの動画にする」という処理が必要になるわけです。&lt;/p&gt;
&lt;p&gt;エンコーダとしてよく使われるのが&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OBS (Open Broadcast Software)&lt;/li&gt;
&lt;li&gt;XSplit Broadcaster&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。&lt;/p&gt;
&lt;p&gt;なお、Zoom をエンコーダとして、画面共有などを活用してライブ配信することも可能です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/futsal_times/n/n3be09cd48010#RCXhu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年度版】初めての Youtube ライブ配信で僕が学んだこと｜ kitatani ｜ note&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nishida.lol/post/zoom-streaming/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【図解】ZOOM でライブストリーミング配信する方法 - にしだけ夫婦ブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;キャプチャボード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3%E3%83%9C%E3%83%BC%E3%83%89&quot; aria-label=&quot;キャプチャボード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;キャプチャボード&lt;/h3&gt;
&lt;p&gt;エンコーダについて調べる中で出てきたので、キャプチャボードについても簡単に書いておきます。&lt;/p&gt;
&lt;p&gt;キャプチャボードはゲームのオンデマンド/ライブ配信で使われるツールです。&lt;/p&gt;
&lt;p&gt;ゲーム画面や音声を PC に送るために使います。&lt;/p&gt;
&lt;h3 id=&quot;グリーンバック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%90%E3%83%83%E3%82%AF&quot; aria-label=&quot;グリーンバック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;グリーンバック&lt;/h3&gt;
&lt;p&gt;その他、よく使われる道具として「グリーンバック」があると思います。&lt;/p&gt;
&lt;p&gt;グリーンバックは、背景の合成などの目的で使われます。&lt;/p&gt;
&lt;p&gt;「クロマキー合成」という仕組みを使っており、色がグリーンなのは、人の肌の色と補色の関係にあるためです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.dotesuta.com/chromakey&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クロマキー合成とは？ | スタジオ撮影で良くあるグリーンバックの活用の仕方について&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[音声・動画・ストリーミングのデータの基本]]></title><description><![CDATA[音声・動画・ストリーミングについて、データフォーマットを起点に調べたことをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/audio-video-streaming-data-basics</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/audio-video-streaming-data-basics</guid><pubDate>Sun, 05 Dec 2021 04:53:39 GMT</pubDate><content:encoded>&lt;p&gt;音声・動画・ストリーミングについて、データフォーマットを起点に調べたことをまとめます。&lt;/p&gt;
&lt;p&gt;取っ掛かりとして Wikipedia の以下のページから見始めて、気になる用語などを色々調べました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ファイルフォーマット - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;基本用語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E6%9C%AC%E7%94%A8%E8%AA%9E&quot; aria-label=&quot;基本用語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;基本用語&lt;/h2&gt;
&lt;p&gt;まず、音声や動画データを扱う上で登場する、以下の 4 つの用語についてまとめます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エンコード&lt;/li&gt;
&lt;li&gt;デコード&lt;/li&gt;
&lt;li&gt;コーデック&lt;/li&gt;
&lt;li&gt;コンテナフォーマット&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;エンコード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89&quot; aria-label=&quot;エンコード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エンコード&lt;/h3&gt;
&lt;p&gt;音声や動画については、圧縮することをエンコードと言います。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンコード - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;どのように圧縮しているかの概要は、以下のページが分かりやすかったです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stream.co.jp/blog/blogpost-13919/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンコードの仕組みとは？高精細な動画エンコードのためにおさえておきたい 5 つのポイント【前編】 - ブログ - Ｊストリーム&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;デコード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89&quot; aria-label=&quot;デコード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デコード&lt;/h3&gt;
&lt;p&gt;エンコードされた状態のデータはそのまま再生できないため、再生するときに行う処理がデコードです。&lt;/p&gt;
&lt;h3 id=&quot;コーデック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%87%E3%83%83%E3%82%AF&quot; aria-label=&quot;コーデック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コーデック&lt;/h3&gt;
&lt;p&gt;エンコードとデコードが可能な装置やソフトウェア、アルゴリズムをコーデックと言います。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%87%E3%83%83%E3%82%AF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コーデック - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;コンテナフォーマット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; aria-label=&quot;コンテナフォーマット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンテナフォーマット&lt;/h3&gt;
&lt;p&gt;複数のデータを 1 つのファイルにまとめる際の形式をコンテナフォーマットと言います。&lt;/p&gt;
&lt;p&gt;例えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WAV&lt;/li&gt;
&lt;li&gt;MOV (QuickTime file Format)&lt;/li&gt;
&lt;li&gt;MP4&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったファイル形式は、コンテナフォーマットの一種です。&lt;/p&gt;
&lt;p&gt;この中に音声・動画・チャプター・字幕などのデータを入れます。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンテナフォーマット - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;なお、これらの用語については以下のサイトの解説も分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://michisugara.jp/video_and_audio&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;動画・音声の規格について -コーデック・コンテナ-│ パソコン実践 BLOG -道すがら講堂-&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、コンテナフォーマットと tar などのアーカイブの違いについては、少し調べても分かりませんでした。&lt;/p&gt;
&lt;h2 id=&quot;音声ファイルフォーマット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; aria-label=&quot;音声ファイルフォーマット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声ファイルフォーマット&lt;/h2&gt;
&lt;p&gt;次に、音声データについて書いていきます。&lt;/p&gt;
&lt;p&gt;音声ファイルフォーマットとしてよく耳にするのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WAV&lt;/li&gt;
&lt;li&gt;MP3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりだと思います。&lt;/p&gt;
&lt;h3 id=&quot;wav-または-wave&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#wav-%E3%81%BE%E3%81%9F%E3%81%AF-wave&quot; aria-label=&quot;wav または wave permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WAV (または WAVE)&lt;/h3&gt;
&lt;p&gt;WAV は正確には音声データフォーマットではなく、音声データのためのコンテナデータフォーマットです。&lt;/p&gt;
&lt;p&gt;WAV 自体は非圧縮で、内部には任意のデータを持つことができます。&lt;/p&gt;
&lt;p&gt;保持するデータとしては、圧縮されていない音声データの場合もあれば、MP3 のデータを保存することも可能です。&lt;/p&gt;
&lt;p&gt;WAF は圧縮されていない、MP3 は圧縮されている、という説明がされる場合もあるようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/WAV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WAV - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.motionelements.com/blog/ja/basic-knowledge/wav-mp3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【デジタル音源とは？】WAV と MP3 の違い | MotionElements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vook.vc/n/1076&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【全ての謎が解けるかも？】MP3 と WAV の違いを徹底検証しましょう！ | Vook(ヴック)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;mp3-mpeg-1-audio-layer-3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mp3-mpeg-1-audio-layer-3&quot; aria-label=&quot;mp3 mpeg 1 audio layer 3 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MP3 (MPEG-1 Audio Layer-3)&lt;/h3&gt;
&lt;p&gt;MP3 は、音声データを圧縮したファイルフォーマットです。&lt;/p&gt;
&lt;p&gt;ちなみに、Wikipedia によると MP3 と MP4 は直接関連がないそうです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;MP3 と MP4 の名称が類似していることから MP4 が同類の Audio Layer-4 と誤解されるケースが見受けられるが、MP4 はあくまで MPEG-4 の関連規格であり、直接の関連性はない規格である。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/MP3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MP3 - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;音声データの処理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%87%A6%E7%90%86&quot; aria-label=&quot;音声データの処理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声データの処理&lt;/h2&gt;
&lt;p&gt;音声データの処理で登場する、フーリエ変換などについて少し触れておきます。&lt;/p&gt;
&lt;h3 id=&quot;フーリエ変換&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B&quot; aria-label=&quot;フーリエ変換 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;フーリエ変換&lt;/h3&gt;
&lt;p&gt;音声データは様々な周波数から成り立っているため、フーリエ変換で分解して扱うのが定番です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jorublog.site/python-voice-analysis/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python で音声解析 – 音声データの周波数特性を調べる方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nehori.com/nikki/2020/12/06/post-22673/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;音の機械学習に向けたデータ前処理（python によるフーリエ変換・スペクトログラム） | ねほり.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;高速フーリエ変換&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%AB%98%E9%80%9F%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B&quot; aria-label=&quot;高速フーリエ変換 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;高速フーリエ変換&lt;/h3&gt;
&lt;p&gt;フーリエ変換をコンピュータで実行するにはそのためのアルゴリズムが必要です。&lt;/p&gt;
&lt;p&gt;コンピュータで高速に (離散) フーリエ変換を実行するためのアルゴリズムが、「高速フーリエ変換」です。&lt;/p&gt;
&lt;h3 id=&quot;スペクトログラム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%88%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&quot; aria-label=&quot;スペクトログラム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スペクトログラム&lt;/h3&gt;
&lt;p&gt;音声データをフーリエ変換を利用して可視化したものがスペクトログラムです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%88%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スペクトログラム - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;メル尺度&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%AB%E5%B0%BA%E5%BA%A6&quot; aria-label=&quot;メル尺度 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メル尺度&lt;/h3&gt;
&lt;p&gt;音声を人間の聴覚に基づいて変換する際の尺度として、メル尺度というものがあるそうです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%AB%E5%B0%BA%E5%BA%A6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メル尺度 - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;動画ファイルフォーマット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; aria-label=&quot;動画ファイルフォーマット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画ファイルフォーマット&lt;/h2&gt;
&lt;p&gt;続いて、動画ファイルフォーマットについてです。&lt;/p&gt;
&lt;p&gt;よく登場する&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MP4&lt;/li&gt;
&lt;li&gt;MOV&lt;/li&gt;
&lt;li&gt;H.264/MPEG-4 AVC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;mp4-mpeg-4-part-14&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mp4-mpeg-4-part-14&quot; aria-label=&quot;mp4 mpeg 4 part 14 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MP4 (MPEG-4 Part 14)&lt;/h3&gt;
&lt;p&gt;MP4 自体は動画のフォーマットではなく、コンテナフォーマットです。&lt;/p&gt;
&lt;p&gt;内部に動画・音声・静止画・テキストを保存できます。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/MP4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MP4 - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;mov-quicktime-movie&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mov-quicktime-movie&quot; aria-label=&quot;mov quicktime movie permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MOV (QuickTime Movie)&lt;/h3&gt;
&lt;p&gt;MOV は、Mac OS を中心に使われている QuickTime のコンテナフォーマットです。&lt;/p&gt;
&lt;p&gt;MP4 や MOV の中で保持される動画は、H.264/MPEG-4 AVC などの形式になります。&lt;/p&gt;
&lt;h3 id=&quot;h264mpeg-4-avc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h264mpeg-4-avc&quot; aria-label=&quot;h264mpeg 4 avc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;H.264/MPEG-4 AVC&lt;/h3&gt;
&lt;p&gt;H.264 (または MPEG-4 AVC) は、動画圧縮規格 1 つです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/H.264&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;H.264 - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;ストリーミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;ストリーミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ストリーミング&lt;/h2&gt;
&lt;p&gt;最後に、音声や動画のストリーミングについてです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ストリーミング - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;ストリーミングのプロトコル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB&quot; aria-label=&quot;ストリーミングのプロトコル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ストリーミングのプロトコル&lt;/h3&gt;
&lt;p&gt;ストリーミングに使われるプロトコル・API として、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HLS (HTTP Live Streaming)&lt;/li&gt;
&lt;li&gt;WebRTC&lt;/li&gt;
&lt;li&gt;RTMP (Real Time Messaging Protocol)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について書いていきます。&lt;/p&gt;
&lt;h4 id=&quot;hls-http-live-streaming&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#hls-http-live-streaming&quot; aria-label=&quot;hls http live streaming permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;HLS (HTTP Live Streaming)&lt;/h4&gt;
&lt;p&gt;Apple による HTTP ベースのストリーミング・プロトコルです。&lt;/p&gt;
&lt;p&gt;.m3u8 とい拡張子のファイルと、.ts という拡張子のファイルで実現されます。&lt;/p&gt;
&lt;p&gt;仕組みについては、以下のページが分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.socialcast.jp/05/post-729/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;HLS とは？：ストリーミング配信を実現する技術 | 動画サイト運営ノウハウブログ by ソーシャルキャスト&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HLS 以外にも、HTTP ベースのストリーミングプロトコルとして MPEG-DASH があり、YouTube もこれらを使っていると書いている記事もありました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.phileweb.com/review/column/202101/23/1163.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;YouTube はなんでライブ配信が“1 対多”でもスムーズなの？ - PHILE WEB&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;webrtc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webrtc&quot; aria-label=&quot;webrtc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebRTC&lt;/h3&gt;
&lt;p&gt;WebRTC は、Web 標準の P2P マルチキャスト配信の API です。&lt;/p&gt;
&lt;p&gt;プロトコル自体は標準化されていないとのことです。&lt;/p&gt;
&lt;p&gt;Web 会議ツールの実装などで使えるプロトコルとしてよく名前が挙がります。&lt;/p&gt;
&lt;p&gt;(Zoom は WebRTC を使っていないそうです)&lt;/p&gt;
&lt;h3 id=&quot;rtmp-real-time-messaging-protocol&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rtmp-real-time-messaging-protocol&quot; aria-label=&quot;rtmp real time messaging protocol permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;RTMP (Real Time Messaging Protocol)&lt;/h3&gt;
&lt;p&gt;IFTF で標準化されているストリーミングのプロトコルです。&lt;/p&gt;
&lt;p&gt;多くのブラウザは直接対応していません。&lt;/p&gt;
&lt;p&gt;ライブ配信などでよく使われる OBS (Open Broadcaster Software) は、RTMP を送出するツールのため、RTMP をサポートするサービスならどれでも利用可能なようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/Open_Broadcaster_Software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Open Broadcaster Software - Wikipedia&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[オンラインセミナーを 2 年で 50 回やったうえでのナレッジ]]></title><description><![CDATA[この 2 年で 50 回くらいオンラインセミナーを実施（発表）したので、そのナレッジをまとめました。
次の観点で書いていきます。ツールの準備・申し込みページの準備・リハーサル・開催前日まで・当日、開催直前・開始時・終了時・終了後・その他]]></description><link>https://www.kanzennirikaisita.com/posts/webinar-knowledge</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/webinar-knowledge</guid><pubDate>Sat, 04 Dec 2021 06:12:27 GMT</pubDate><content:encoded>&lt;p&gt;この 2 年で 50 回くらいオンラインセミナーを実施（発表）したので、そのナレッジをまとめました。&lt;/p&gt;
&lt;p&gt;以下の観点で書いていきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ツールの準備&lt;/li&gt;
&lt;li&gt;申し込みページの準備&lt;/li&gt;
&lt;li&gt;リハーサル&lt;/li&gt;
&lt;li&gt;開催前日まで&lt;/li&gt;
&lt;li&gt;当日、開催直前&lt;/li&gt;
&lt;li&gt;開始時&lt;/li&gt;
&lt;li&gt;終了時&lt;/li&gt;
&lt;li&gt;終了後&lt;/li&gt;
&lt;li&gt;その他&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ツールの準備&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E6%BA%96%E5%82%99&quot; aria-label=&quot;ツールの準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ツールの準備&lt;/h2&gt;
&lt;p&gt;まず、各種ツールの準備についてです。&lt;/p&gt;
&lt;h3 id=&quot;ウェビナーツール-zoom-ウェビナーなど&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A6%E3%82%A7%E3%83%93%E3%83%8A%E3%83%BC%E3%83%84%E3%83%BC%E3%83%AB-zoom-%E3%82%A6%E3%82%A7%E3%83%93%E3%83%8A%E3%83%BC%E3%81%AA%E3%81%A9&quot; aria-label=&quot;ウェビナーツール zoom ウェビナーなど permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ウェビナーツール (Zoom ウェビナーなど)&lt;/h3&gt;
&lt;p&gt;オンラインセミナーを開催するのであれば、そのためのツールが必要になります。&lt;/p&gt;
&lt;p&gt;私は主に Zoom ウェビナーを使っていますが、他のものでも良いので、以下のような点を考慮して決めましょう。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参加者のカメラ・マイクを主催者側で OFF にしたりしやすいか&lt;/li&gt;
&lt;li&gt;自動でレコーディング可能か&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Zoom ミーティングなどで開催するケースもありますが、知り合いベースの会でない限りは、参加者は基本的にマイク・カメラ OFF にしてしまったほうが良いです。&lt;/p&gt;
&lt;p&gt;特に参加者のマイクが ON になっていると、背後の雑音などで発表が聞きにくくなることが少なくありません。&lt;/p&gt;
&lt;p&gt;参加者のカメラ・マイクを OFF にするといった管理がしやすいよう、ウェビナーに適したツールを使ったほうが望ましいです。&lt;/p&gt;
&lt;h3 id=&quot;qa&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#qa&quot; aria-label=&quot;qa permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Q&amp;#x26;A&lt;/h3&gt;
&lt;p&gt;Zoom ウェビナーには Q&amp;#x26;A 機能がありますが、そういった機能のないツールを使う場合は、あらかじめ選んで試しておきましょう。&lt;/p&gt;
&lt;p&gt;ミーティングツールやライブ配信サービスのチャットで代用することもできなくはないですが、チャットは流れてしまうため、見逃しが発生しやすいです。&lt;/p&gt;
&lt;p&gt;できれば Q&amp;#x26;A 用のツール・機能を使いましょう。&lt;/p&gt;
&lt;h3 id=&quot;レコーディングデータの保存先&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E4%BF%9D%E5%AD%98%E5%85%88&quot; aria-label=&quot;レコーディングデータの保存先 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;レコーディングデータの保存先&lt;/h3&gt;
&lt;p&gt;レコーディングしたデータはどこかに保存しておきましょう。&lt;/p&gt;
&lt;p&gt;Google Drive などで良いと思います。&lt;/p&gt;
&lt;h3 id=&quot;web-カメラ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%AB%E3%83%A1%E3%83%A9&quot; aria-label=&quot;web カメラ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web カメラ&lt;/h3&gt;
&lt;p&gt;参加者はカメラ OFF のほうが望ましいですが、発表者はカメラがあったほうが良いです。&lt;/p&gt;
&lt;p&gt;スライドを映して話すとしても、少しでも顔が見える時間があったほうが、雰囲気が良いと感じてもらえる場合があります。&lt;/p&gt;
&lt;p&gt;PC に付属のカメラでも大丈夫ですが、もし PC にカメラが付いていない場合は用意しましょう。&lt;/p&gt;
&lt;h3 id=&quot;マイク&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%A4%E3%82%AF&quot; aria-label=&quot;マイク permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;マイク&lt;/h3&gt;
&lt;p&gt;オンライン会議・オンラインセミナーにおいて、音質が悪いことは参加者に非常にストレスになります。&lt;/p&gt;
&lt;p&gt;「音質はオンラインでのマナーのようなもの」といった言葉を見かけたことがあるのですが、私もその通りだと思います。&lt;/p&gt;
&lt;p&gt;PC に付属のマイクでは音質が不十分なこともあるので、マイクは購入することをおすすめします。&lt;/p&gt;
&lt;p&gt;ちなみに私は以下の 2000 円程度ピンマイクを使っていますが、このくらい安価なものでも十分です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3ED1OY5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ピンマイク コンデンサーマイク コンパクト軽量 pc マイク クリア サウンド 収納ハードケース付き 動画撮影 音声収録 スマホマイク カメラ 対応 マイククリップ・ホルダー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08GRZ4NXQ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=380a3eb7bc4f7e05828213ed61ce618a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08GRZ4NXQ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08GRZ4NXQ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;故障に備えて予備も常備しています。&lt;/p&gt;
&lt;h3 id=&quot;有線-lan&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%89%E7%B7%9A-lan&quot; aria-label=&quot;有線 lan permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;有線 LAN&lt;/h3&gt;
&lt;p&gt;ネットワークは有線にしておいたほうが良いです。&lt;/p&gt;
&lt;p&gt;最近は無線でも問題ないケースが多いとは思いますが、やはり有線のほうが安定します。&lt;/p&gt;
&lt;p&gt;音質と同様、ネットワークの質は参加者のストレスに大きく関係してくるので、多少手間でもできるだけ対応しておきましょう。&lt;/p&gt;
&lt;h2 id=&quot;申し込みページの準備&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%B3%E3%81%97%E8%BE%BC%E3%81%BF%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%BA%96%E5%82%99&quot; aria-label=&quot;申し込みページの準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;申し込みページの準備&lt;/h2&gt;
&lt;p&gt;次に、申し込みページの準備についてです。&lt;/p&gt;
&lt;h3 id=&quot;対象者・前提知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AF%BE%E8%B1%A1%E8%80%85%E3%83%BB%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;対象者・前提知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;対象者・前提知識&lt;/h3&gt;
&lt;p&gt;これはオンラインに限らない話ですが、対象者と前提知識を明確にして、明記しましょう。&lt;/p&gt;
&lt;p&gt;セミナーで満足度が高いかに関わる大きな要素の 1 つは、対象者と内容がどれだけフィットしているかです。&lt;/p&gt;
&lt;p&gt;講座内容の作成とも大きく関係しますが、対象者と前提知識はとにかく明確にしましょう。&lt;/p&gt;
&lt;p&gt;そして、必ず申し込みページに記載しましょう。&lt;/p&gt;
&lt;h3 id=&quot;事前アンケート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E5%89%8D%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88&quot; aria-label=&quot;事前アンケート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;事前アンケート&lt;/h3&gt;
&lt;p&gt;これはオプショナルではありますが、申し込みフォームなどにちょっとしたアンケートを設けても良いです。&lt;/p&gt;
&lt;p&gt;その場合、講座でどんな内容が聞きたいかを質問項目にしましょう。&lt;/p&gt;
&lt;p&gt;あまりに質問項目が多いと回答時に離脱したくなるので、質問は最小限にしましょう。&lt;/p&gt;
&lt;h3 id=&quot;メールアドレスの入力に注意&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E5%85%A5%E5%8A%9B%E3%81%AB%E6%B3%A8%E6%84%8F&quot; aria-label=&quot;メールアドレスの入力に注意 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メールアドレスの入力に注意&lt;/h3&gt;
&lt;p&gt;Zoom ウェビナーなどを開催する場合、申し込みフォームにメールアドレスを入力してもらい、メールで参加 URL を案内するケースがあります。&lt;/p&gt;
&lt;p&gt;その場合、申し込みフォームに入力されたメールアドレスに入力ミスの可能性があることに注意しましょう。&lt;/p&gt;
&lt;p&gt;こういった申し込みフォームでは、メールを 1 度飛ばしてクリックさせる本人確認までは実施しないことが多いです。&lt;/p&gt;
&lt;p&gt;申し込み後、メールを確認してもらうよう画面に表示するなどして、確実にメールが届くようにしましょう。&lt;/p&gt;
&lt;h2 id=&quot;リハーサル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%8F%E3%83%BC%E3%82%B5%E3%83%AB&quot; aria-label=&quot;リハーサル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リハーサル&lt;/h2&gt;
&lt;p&gt;次はリハーサルについてです。&lt;/p&gt;
&lt;h3 id=&quot;リハーサルを実施する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%8F%E3%83%BC%E3%82%B5%E3%83%AB%E3%82%92%E5%AE%9F%E6%96%BD%E3%81%99%E3%82%8B&quot; aria-label=&quot;リハーサルを実施する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リハーサルを実施する&lt;/h3&gt;
&lt;p&gt;まず、リハーサルは実施しましょう。&lt;/p&gt;
&lt;p&gt;特に初めて実施する形式の場合などは必須です。&lt;/p&gt;
&lt;p&gt;発表自体には慣れているとしても、講座の始まりと終わりの練習はしましょう。&lt;/p&gt;
&lt;p&gt;リハーサルを実施していない場合、そのことは参加者として見るとかなり分かりやすいです。&lt;/p&gt;
&lt;p&gt;しっかりしたセミナーである雰囲気を出すためには、リハーサルは必須です。&lt;/p&gt;
&lt;h3 id=&quot;知り合いベースで一度開催する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9F%A5%E3%82%8A%E5%90%88%E3%81%84%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A7%E4%B8%80%E5%BA%A6%E9%96%8B%E5%82%AC%E3%81%99%E3%82%8B&quot; aria-label=&quot;知り合いベースで一度開催する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;知り合いベースで一度開催する&lt;/h3&gt;
&lt;p&gt;オンラインセミナー自体初めての場合は、知り合いベースで一度クローズドに実施するのもおすすめです。&lt;/p&gt;
&lt;p&gt;というのも、オンラインセミナーが初めての場合、声が聞こえているのかなどかなり不安になります。&lt;/p&gt;
&lt;p&gt;参加者の顔が見えない中で話すイメージをつかんでおくためにも、一度知り合いと開催しておくと良いです。&lt;/p&gt;
&lt;h3 id=&quot;デモンストレーションの確認&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%A2%E3%83%B3%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E7%A2%BA%E8%AA%8D&quot; aria-label=&quot;デモンストレーションの確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デモンストレーションの確認&lt;/h3&gt;
&lt;p&gt;デモンストレーションを実施する場合は、できるだけ同じ手順を試しておきましょう。&lt;/p&gt;
&lt;p&gt;練習と本番で少し手順を変えるだけでエラーになるといったことはよくあります。&lt;/p&gt;
&lt;p&gt;場合によっては EC2 などのクラウド環境を活用して、サーバがきれいな状態からデモンストレーションが一通り可能か試しておきましょう。&lt;/p&gt;
&lt;p&gt;デモ用のコードもバージョン管理したりデイリービルドを組んだりすると、再現性が担保できるようにもなっていきます。&lt;/p&gt;
&lt;h2 id=&quot;開催前日まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%8B%E5%82%AC%E5%89%8D%E6%97%A5%E3%81%BE%E3%81%A7&quot; aria-label=&quot;開催前日まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;開催前日まで&lt;/h2&gt;
&lt;p&gt;次に開催前日くらいまでにやっておきたい準備についてです。&lt;/p&gt;
&lt;h3 id=&quot;発表資料の公開&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%99%BA%E8%A1%A8%E8%B3%87%E6%96%99%E3%81%AE%E5%85%AC%E9%96%8B&quot; aria-label=&quot;発表資料の公開 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;発表資料の公開&lt;/h3&gt;
&lt;p&gt;発表資料を公開する場合、Speaker Deck などには事前にアップロードしておきましょう。&lt;/p&gt;
&lt;p&gt;そういったサービスにアップロードすると資料が崩れるケースもあります。&lt;/p&gt;
&lt;p&gt;当日ぎりぎりではなく、前日までにはアップロードを試しておきましょう。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/how-to-deal-with-google-slides-japanese-blurring&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google スライドを PDF 化すると日本語がかすれる問題に完全勝利する方法&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;ソースコードの公開&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%85%AC%E9%96%8B&quot; aria-label=&quot;ソースコードの公開 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ソースコードの公開&lt;/h3&gt;
&lt;p&gt;発表にデモンストレーションがある場合、ソースコードを共有してほしいと言われることが多いです。&lt;/p&gt;
&lt;p&gt;公開する場合は、あらかじめ対応しておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;事後アンケート作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E5%BE%8C%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E4%BD%9C%E6%88%90&quot; aria-label=&quot;事後アンケート作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;事後アンケート作成&lt;/h3&gt;
&lt;p&gt;開催後、満足度などを把握するにはアンケートが必須です。&lt;/p&gt;
&lt;p&gt;Google Form などでアンケートを作成しておきましょう。&lt;/p&gt;
&lt;p&gt;ちなみに細かい Tips ですが、満足度を 5 段階で入力してもらう場合は、「1 が非常に不満」・「5 が非常に満足」にしたほうが良いです。
これを逆にすると、間違って逆の選択肢を選ばれることがかなり増えます。&lt;/p&gt;
&lt;h2 id=&quot;当日、開催直前&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BD%93%E6%97%A5%E3%80%81%E9%96%8B%E5%82%AC%E7%9B%B4%E5%89%8D&quot; aria-label=&quot;当日、開催直前 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;当日、開催直前&lt;/h2&gt;
&lt;p&gt;続いて、当日の開催直前についてです。&lt;/p&gt;
&lt;h3 id=&quot;pc・ルーター再起動&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc%E3%83%BB%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E5%86%8D%E8%B5%B7%E5%8B%95&quot; aria-label=&quot;pc・ルーター再起動 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PC・ルーター再起動&lt;/h3&gt;
&lt;p&gt;PC・ルーターを、できれば再起動しておきましょう。&lt;/p&gt;
&lt;p&gt;何か問題が起こる可能性を少しでも減らしたいためです。&lt;/p&gt;
&lt;h3 id=&quot;各種履歴削除&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%90%84%E7%A8%AE%E5%B1%A5%E6%AD%B4%E5%89%8A%E9%99%A4&quot; aria-label=&quot;各種履歴削除 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;各種履歴削除&lt;/h3&gt;
&lt;p&gt;機密情報が映ったりしないよう、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エディタ・IDE&lt;/li&gt;
&lt;li&gt;ターミナル&lt;/li&gt;
&lt;li&gt;ブラウザ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の履歴を削除しておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;github-に注意&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#github-%E3%81%AB%E6%B3%A8%E6%84%8F&quot; aria-label=&quot;github に注意 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GitHub に注意&lt;/h3&gt;
&lt;p&gt;機密情報を映さないという観点では、GitHub にも注意が必要です。&lt;/p&gt;
&lt;p&gt;自分のページにアクセスすると、参加している組織や、private リポジトリの名前・Issue などが見えてしまいます。&lt;/p&gt;
&lt;p&gt;そのページにはアクセスしないか、シークレットウィンドウを使いましょう。&lt;/p&gt;
&lt;h3 id=&quot;ブラウザのブックマークに注意&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AE%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%81%AB%E6%B3%A8%E6%84%8F&quot; aria-label=&quot;ブラウザのブックマークに注意 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブラウザのブックマークに注意&lt;/h3&gt;
&lt;p&gt;ブラウザのブックマークにも注意が必要です。&lt;/p&gt;
&lt;p&gt;ブックマークバーは非表示かつ、できれば新しいタブを開いたときも表示されないようにフォルダに全て入れておいたりしましょう。&lt;/p&gt;
&lt;p&gt;また、Chrome の場合しか分かりませんが、Chrome では、アドレスバーに検索したい文字列を入力した際、その文字列をタイトルに含むブックマークが表示されます。&lt;/p&gt;
&lt;p&gt;ブックマークに機密情報がある場合は注意してください。&lt;/p&gt;
&lt;p&gt;なお、これはシークレットウィンドウでも防げません。
(もしかすると、これを表示しない設定があるかもしれません)&lt;/p&gt;
&lt;h3 id=&quot;ターミナル・エディタの文字サイズ変更&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%83%BB%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%81%AE%E6%96%87%E5%AD%97%E3%82%B5%E3%82%A4%E3%82%BA%E5%A4%89%E6%9B%B4&quot; aria-label=&quot;ターミナル・エディタの文字サイズ変更 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ターミナル・エディタの文字サイズ変更&lt;/h3&gt;
&lt;p&gt;デモンストレーションなどでターミナルやエディタを使う場合、文字サイズは大きめにしたり、簡単に変更できるようにしておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;pc-のメール・slack・line-などの通知を-off-にする&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc-%E3%81%AE%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%BBslack%E3%83%BBline-%E3%81%AA%E3%81%A9%E3%81%AE%E9%80%9A%E7%9F%A5%E3%82%92-off-%E3%81%AB%E3%81%99%E3%82%8B&quot; aria-label=&quot;pc のメール・slack・line などの通知を off にする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PC のメール・Slack・LINE などの通知を OFF にする&lt;/h3&gt;
&lt;p&gt;メールや Slack・LINE など、PC 上に通知が表示されるものは、通知を切っておきましょう。&lt;/p&gt;
&lt;p&gt;通知音も鳴らないようにしておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;スマホをサイレントモードにする&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%9E%E3%83%9B%E3%82%92%E3%82%B5%E3%82%A4%E3%83%AC%E3%83%B3%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%99%E3%82%8B&quot; aria-label=&quot;スマホをサイレントモードにする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スマホをサイレントモードにする&lt;/h3&gt;
&lt;p&gt;通知を切るのと一緒に、スマホもサイレントモードまたは電源 OFF にしておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;運営側でマイクチェック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%8B%E5%96%B6%E5%81%B4%E3%81%A7%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF&quot; aria-label=&quot;運営側でマイクチェック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;運営側でマイクチェック&lt;/h3&gt;
&lt;p&gt;運営側で、音声がしっかり入っているかチェックしておきましょう。&lt;/p&gt;
&lt;h3 id=&quot;入室可能にするタイミングでは、タイトルスライドだけ表示&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E5%AE%A4%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8B%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%A7%E3%81%AF%E3%80%81%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E3%81%A0%E3%81%91%E8%A1%A8%E7%A4%BA&quot; aria-label=&quot;入室可能にするタイミングでは、タイトルスライドだけ表示 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;入室可能にするタイミングでは、タイトルスライドだけ表示&lt;/h3&gt;
&lt;p&gt;オンラインセミナーでプロっぽさを出すには、入室可能にするタイミングで、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;発表者のカメラ・マイク OFF&lt;/li&gt;
&lt;li&gt;タイトルのスライドが画面共有されている&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というのが良いです。&lt;/p&gt;
&lt;p&gt;スライドにはタイトルと一緒に「HH:mm 開始です。時間までしばらくお待ちください」といったメッセージも入れておきましょう。&lt;/p&gt;
&lt;h2 id=&quot;開始時&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%8B%E5%A7%8B%E6%99%82&quot; aria-label=&quot;開始時 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;開始時&lt;/h2&gt;
&lt;p&gt;次は、オンラインセミナー開始時についてです。&lt;/p&gt;
&lt;h3 id=&quot;音声チェック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF&quot; aria-label=&quot;音声チェック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声チェック&lt;/h3&gt;
&lt;p&gt;時間になったらカメラ・マイクを ON にして、開始しましょう。&lt;/p&gt;
&lt;p&gt;そのタイミングで、音声が聞こえているか確認するのがおすすめです。&lt;/p&gt;
&lt;p&gt;私は Zoom ウェビナーであれば「手を挙げる」といったボタンがあるので、そちらで反応をもらいます。&lt;/p&gt;
&lt;h3 id=&quot;ご案内事項について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%94%E6%A1%88%E5%86%85%E4%BA%8B%E9%A0%85%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ご案内事項について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ご案内事項について&lt;/h3&gt;
&lt;p&gt;本題に入る前に、諸注意などのご案内事項を説明しましょう。&lt;/p&gt;
&lt;p&gt;内容としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;質疑の仕方&lt;/li&gt;
&lt;li&gt;資料の URL 共有&lt;/li&gt;
&lt;li&gt;録画・画面キャプチャの可否&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりになります。&lt;/p&gt;
&lt;p&gt;質疑については、終了後にまとめてよりも、適宜いただいて回答するほうが個人的には好みです。&lt;/p&gt;
&lt;h3 id=&quot;自己紹介&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E5%B7%B1%E7%B4%B9%E4%BB%8B&quot; aria-label=&quot;自己紹介 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自己紹介&lt;/h3&gt;
&lt;p&gt;ご案内事項の話が終わったら、自己紹介をしましょう。&lt;/p&gt;
&lt;p&gt;あとは講座内容を進めていきます。&lt;/p&gt;
&lt;h2 id=&quot;終了時&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%82%E4%BA%86%E6%99%82&quot; aria-label=&quot;終了時 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;終了時&lt;/h2&gt;
&lt;h3 id=&quot;事後アンケート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E5%BE%8C%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88&quot; aria-label=&quot;事後アンケート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;事後アンケート&lt;/h3&gt;
&lt;p&gt;講座終了時には、アンケートへの回答をお願いしましょう。&lt;/p&gt;
&lt;p&gt;退室後だとアンケートに回答してもらえる比率は下がるので、退室する前に回答してもらいましょう。&lt;/p&gt;
&lt;p&gt;多くの場合、講座の最後に質疑の時間をとると思いますが、アンケートはその前にお渡しして、「アンケート + 質疑の時間」のようにするのがおすすめです。&lt;/p&gt;
&lt;p&gt;これらの講座開始時・終了時の流れは、あらかじめスライドにしておきましょう。&lt;/p&gt;
&lt;h2 id=&quot;終了後&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%82%E4%BA%86%E5%BE%8C&quot; aria-label=&quot;終了後 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;終了後&lt;/h2&gt;
&lt;p&gt;最後に、講座終了後にすることです。&lt;/p&gt;
&lt;h3 id=&quot;アンケート結果を見てみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E7%B5%90%E6%9E%9C%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;アンケート結果を見てみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アンケート結果を見てみる&lt;/h3&gt;
&lt;p&gt;アンケートはとったら終わりではなく、しっかり結果を確認しましょう。&lt;/p&gt;
&lt;p&gt;その内容を踏まえて、次回の講座を改善しましょう。&lt;/p&gt;
&lt;h3 id=&quot;記事を書いたりする&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%98%E4%BA%8B%E3%82%92%E6%9B%B8%E3%81%84%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B&quot; aria-label=&quot;記事を書いたりする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;記事を書いたりする&lt;/h3&gt;
&lt;p&gt;記事にして良い講座であれば、実績として残るよう、開催したことを記事にしたりしましょう。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;チェックリストを作る&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E4%BD%9C%E3%82%8B&quot; aria-label=&quot;チェックリストを作る permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;チェックリストを作る&lt;/h3&gt;
&lt;p&gt;ここまで色々な項目を出してきましたが、これを漏れなく実施するにはチェックリストが必要です。&lt;/p&gt;
&lt;p&gt;自分なりに使いやすいチェックリストを作って、適宜改善していきましょう。&lt;/p&gt;
&lt;h3 id=&quot;ホワイトボードを使ってみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;ホワイトボードを使ってみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ホワイトボードを使ってみる&lt;/h3&gt;
&lt;p&gt;個人的に、ホワイトボードを使った講座をよく開催します。&lt;/p&gt;
&lt;p&gt;スライドより好評なケースもあるので、興味があれば活用してみてください。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、50 回くらいオンラインセミナーを実施した上で、そのナレッジをまとめてみました。&lt;/p&gt;
&lt;p&gt;最近は YouTube などのライブ配信もどんどん浸透してきていますが、オンラインセミナーに通じる部分があるように感じます。&lt;/p&gt;
&lt;p&gt;ライブ配信系のナレッジも調べたりしてみると、もっと色々工夫できるかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[画像処理ライブラリのざっくりまとめ]]></title><description><![CDATA[画像処理のライブラリとしては OpenCV が有名だと思いますが、改めて定番のライブラリを調べてみました。
OpenCV・Pillow・ImageMagick・cairo・Graphvizの 5 つについて概要を書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/computer-vision-libraries</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/computer-vision-libraries</guid><pubDate>Fri, 03 Dec 2021 12:37:48 GMT</pubDate><content:encoded>&lt;p&gt;画像処理のライブラリとしては OpenCV が有名だと思いますが、改めて定番のライブラリを調べてみました。&lt;/p&gt;
&lt;p&gt;以下の 5 つについて概要を書いていきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenCV&lt;/li&gt;
&lt;li&gt;Pillow&lt;/li&gt;
&lt;li&gt;ImageMagick&lt;/li&gt;
&lt;li&gt;cairo&lt;/li&gt;
&lt;li&gt;Graphviz&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;opencv&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#opencv&quot; aria-label=&quot;opencv permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OpenCV&lt;/h2&gt;
&lt;p&gt;画像処理に関する最も定番のライブラリです。&lt;/p&gt;
&lt;p&gt;C/C++、Java、Python などに対応しています。&lt;/p&gt;
&lt;p&gt;OpenCV でできることなどの概要は、以下のスライドが分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slideshare.net/FukushimaNorishige/opencv-67214568&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像処理ライブラリ OpenCV で 出来ること・出来ないこと&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;pillow&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pillow&quot; aria-label=&quot;pillow permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Pillow&lt;/h2&gt;
&lt;p&gt;Pillow は Python の画像処理ライブラリです。&lt;/p&gt;
&lt;p&gt;OpenCV を使うほどでもない簡単な画像処理でよく使われています。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://note.nkmk.me/python-pillow-basic/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python の画像処理ライブラリ Pillow(PIL)の使い方 | note.nkmk.me&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;imagemagick&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#imagemagick&quot; aria-label=&quot;imagemagick permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ImageMagick&lt;/h2&gt;
&lt;p&gt;ImageMagick は、コマンドラインや各種プログラミング言語で利用可能な画像処理ツールです。&lt;/p&gt;
&lt;p&gt;コマンドラインで使えるというのが、ちょっとしたときに便利かもしれないなと思いました。&lt;/p&gt;
&lt;p&gt;ただ、ImageMagick について調べると以下のような記事がすぐヒットするので、利用の際はこれらを読んでしっかり考えたほうがよさそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itmedia.co.jp/enterprise/articles/1705/23/news070.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;米 Yahoo!、メール添付画像流出の脆弱性に対処　「ImageMagick」は引退 - ITmedia エンタープライズ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cybozu.io/entry/2018/08/21/080000&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/yoya/items/2076c1f5137d4041e3aa#comment-fc2892b05f68cf2e15a1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「さようなら ImageMagick」の考察 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mbsd.jp/blog/20180831.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ImageMagick を使う Web アプリのセキュリティ - 1. 既知の脆弱性、システム情報の漏洩 | MBSD Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cairo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cairo&quot; aria-label=&quot;cairo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;cairo&lt;/h2&gt;
&lt;p&gt;cairo はベクトルベースの描画 API です。&lt;/p&gt;
&lt;p&gt;様々なプログラミング言語で利用可能です。&lt;/p&gt;
&lt;p&gt;入門としては、以下の記事が分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://magazine.rubyist.net/articles/0019/0019-cairo.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;cairo： 2 次元画像描画ライブラリ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;graphviz&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#graphviz&quot; aria-label=&quot;graphviz permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Graphviz&lt;/h2&gt;
&lt;p&gt;画像処理とは少し違いますが、グラフの描画と言えば Graphviz です。&lt;/p&gt;
&lt;p&gt;DOT 言語で記述されたグラフ構造を描画できます。&lt;/p&gt;
&lt;h2 id=&quot;その他のライブラリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&quot; aria-label=&quot;その他のライブラリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他のライブラリ&lt;/h2&gt;
&lt;p&gt;その他、以下の記事も参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://yukoishizaki.hatenablog.com/entry/2019/10/14/143420&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像認識でよく使われるライブラリ一覧 - 機械学習 Memo φ(・ω・ )&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://it-mint.com/2018/10/16/free-software-for-image-processing-and-ai-1585.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像処理をサクッと実行できるソフトウェアには何があるの？フリー（無料）ソフトも含めて、サクッとまとめました | 忙しいあなたの代わりに、史上最強の良い本・良い暮らしのご提案&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cv-と-cg-の違い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cv-%E3%81%A8-cg-%E3%81%AE%E9%81%95%E3%81%84&quot; aria-label=&quot;cv と cg の違い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CV と CG の違い&lt;/h2&gt;
&lt;p&gt;ここまで調べていて CV (Computer Vision) と CG (Computer Graphics) の違いが気になったので、それも調べてみました。&lt;/p&gt;
&lt;p&gt;ざっくり言うと、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CV (Computer Vision) … 画像処理やパターン認識など、画像の操作に関する分野&lt;/li&gt;
&lt;li&gt;CG (Computer Graphics) … コンピュータでグラフィックスを作り出す分野&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということのようです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.tutorialspoint.com/dip/computer_vision_and_graphics.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Computer Vision and Computer Graphics&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;画像処理に入門するには&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86%E3%81%AB%E5%85%A5%E9%96%80%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF&quot; aria-label=&quot;画像処理に入門するには permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像処理に入門するには&lt;/h2&gt;
&lt;p&gt;いろいろ調べる中で、画像処理の入門としてはオライリーの『&lt;a href=&quot;https://amzn.to/3oiUQS8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践 コンピュータビジョン&lt;/a&gt;』がとても良さそうでした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116074/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7e1f61d07fe772c6cdeffef1adb6f64a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116074&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873116074&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;後日購入して読もうと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[画像編集ソフト比較の観点と定番の選択肢]]></title><description><![CDATA[画像編集に興味があり、どのようなソフトを使うといいのか、比較の観点と定番の選択肢についてまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/Image-processing-software</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/Image-processing-software</guid><pubDate>Fri, 03 Dec 2021 12:26:30 GMT</pubDate><content:encoded>&lt;p&gt;画像編集に興味があり、どのようなソフトを使うといいのか、比較の観点と定番の選択肢についてまとめました。&lt;/p&gt;
&lt;h2 id=&quot;比較の観点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%AF%94%E8%BC%83%E3%81%AE%E8%A6%B3%E7%82%B9&quot; aria-label=&quot;比較の観点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;比較の観点&lt;/h2&gt;
&lt;p&gt;画像編集ソフトを比較する観点については、以下の記事が参考になりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://skylum.com/jp/blog/best-photo-editing-software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年版】タイプ別おすすめ画像・写真編集ソフト集（無料・有料）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デスクトップアプリか、Web サービスか&lt;/li&gt;
&lt;li&gt;有料か、無料か&lt;/li&gt;
&lt;li&gt;RAW 現像ソフトか、画像加工ソフトか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 3 つの観点があるようです。&lt;/p&gt;
&lt;h3 id=&quot;raw-現像について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#raw-%E7%8F%BE%E5%83%8F%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;raw 現像について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;RAW 現像について&lt;/h3&gt;
&lt;p&gt;RAW 現像という単語を聞いたことがなかったので調べてみたところ…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;そもそもカメラで撮影した画像は「RAW」と呼ばれる形式で保存される&lt;/li&gt;
&lt;li&gt;「RAW」では扱いにくいため、JPEG などに変換して使われる&lt;/li&gt;
&lt;li&gt;その変換のことを「RAW 現像」と呼ぶ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://jp.cyberlink.com/blog/photoeditor/557/best-raw-image-photo-editor&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【無料 &amp;#x26; 有料】RAW 現像ができるおすすめ写真編集ソフト&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;定番の選択肢&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9A%E7%95%AA%E3%81%AE%E9%81%B8%E6%8A%9E%E8%82%A2&quot; aria-label=&quot;定番の選択肢 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;定番の選択肢&lt;/h2&gt;
&lt;p&gt;「RAW 現像」について分かったところで、画像編集ソフトを&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有料デスクトップアプリ&lt;/li&gt;
&lt;li&gt;無料デスクトップアプリ&lt;/li&gt;
&lt;li&gt;Web サービス&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の分類で見ていこうと思います。&lt;/p&gt;
&lt;p&gt;※ 個人的な興味が RAW 現像ではなく画像加工のほうなので、そちらに対応しているソフトを中心に見ていきます&lt;/p&gt;
&lt;h3 id=&quot;有料デスクトップアプリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%89%E6%96%99%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%A2%E3%83%97%E3%83%AA&quot; aria-label=&quot;有料デスクトップアプリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;有料デスクトップアプリ&lt;/h3&gt;
&lt;p&gt;画像編集に関する有料デスクトップアプリとしては、やはり&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Photoshop&lt;/li&gt;
&lt;li&gt;Illustrator&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;が最も有名でよく使われていると思います。&lt;/p&gt;
&lt;p&gt;そのため、他のツールは Photoshop と互換性があるかが選定の観点の一つになっているようです。&lt;/p&gt;
&lt;p&gt;Photoshop はビットマップ画像、Illustrator はベクター画像の扱いに長けており、使い分けが必要です。&lt;/p&gt;
&lt;p&gt;(そもそも、Illustrator は画像編集ソフトと呼んでいいのか微妙かもしれません)&lt;/p&gt;
&lt;h3 id=&quot;無料デスクトップアプリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%84%A1%E6%96%99%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%A2%E3%83%97%E3%83%AA&quot; aria-label=&quot;無料デスクトップアプリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;無料デスクトップアプリ&lt;/h3&gt;
&lt;p&gt;無料のデスクトップアプリとして、以下の 5 つのページを見て気になったものを紹介しようと思います。&lt;/p&gt;
&lt;p&gt;見たところ、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GIMP&lt;/li&gt;
&lt;li&gt;Pixia&lt;/li&gt;
&lt;li&gt;Photo Scape&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりが特に定番のようです。&lt;/p&gt;
&lt;p&gt;特に気になったのは &lt;a href=&quot;https://www.gimp.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GIMP&lt;/a&gt; で、その理由は以下の 3 つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OSS である&lt;/li&gt;
&lt;li&gt;日本語の書籍が何冊もある&lt;/li&gt;
&lt;li&gt;スクリプトによる自動化が可能&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web-サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;web サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web サービス&lt;/h3&gt;
&lt;p&gt;画像編集が可能な Web サービスについては、以下のようなものがあるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Photopea&lt;/li&gt;
&lt;li&gt;Canva&lt;/li&gt;
&lt;li&gt;Desygner&lt;/li&gt;
&lt;li&gt;PIXLR&lt;/li&gt;
&lt;li&gt;Pixer.us&lt;/li&gt;
&lt;li&gt;befunky&lt;/li&gt;
&lt;li&gt;Foto Flexer&lt;/li&gt;
&lt;li&gt;Fotor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;価格は無料であったり、基本無料で有料版もあるようなサービスが多いです。&lt;/p&gt;
&lt;p&gt;ちょっとした加工などであれば、こういったサービスを使うのがいいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jp.cyberlink.com/blog/photoeditor/164/best-photo-editing-software&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 最新】画像・写真編集ソフトおすすめ ５選 Windows 版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sourcenext.com/product/image-software/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像編集ソフト｜ソースネクスト総合サイト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.printful.com/blog/jp/free-adobe-photoshop-alternatives/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【無料】Photoshop の代用に使える画像編集ソフト   おすすめ 13 選 ｜ブログ - Printful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ferret-plus.com/5322&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;無料の画像編集ソフト 37 選！パソコンで画像や写真の加工ができるフリーソフトを集めました｜ ferret&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://freesoft-100.com/pasokon/graphic-editors.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;無料画像加工・編集ソフト一覧 - フリーソフト 100&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.akibare-hp.jp/kouza/hp_free-imagesoft/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;無料で使える！おすすめの画像編集ソフト６選 - あきばれホームページ作成大学&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rank-king.jp/article/8521&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【徹底比較】無料の画像編集ソフトおすすめ 17 選｜初心者にも！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[画像ファイルフォーマットの基本]]></title><description><![CDATA[画像ファイルフォーマットの基本について調べたことをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/image-file-format-basics</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/image-file-format-basics</guid><pubDate>Wed, 01 Dec 2021 15:41:25 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 2 日目の記事です。&lt;/p&gt;
&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;画像ファイルフォーマットの基本について調べたことをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;画像ファイルフォーマットの分類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E5%88%86%E9%A1%9E&quot; aria-label=&quot;画像ファイルフォーマットの分類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像ファイルフォーマットの分類&lt;/h2&gt;
&lt;p&gt;画像ファイルフォーマットについては、Wikipedia の以下の 4 つの記事がとっかかりとして良いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ファイルフォーマット - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E7%94%BB%E5%83%8F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E6%AF%94%E8%BC%83&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像ファイルフォーマットの比較 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E3%83%9E%E3%83%83%E3%83%97%E7%94%BB%E5%83%8F&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ビットマップ画像 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E7%94%BB%E5%83%8F&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ベクター画像 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最近よく見る画像ファイルフォーマットを分類すると、以下のようになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ビットマップ画像 (ラスター形式)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PNG&lt;/li&gt;
&lt;li&gt;JPEG&lt;/li&gt;
&lt;li&gt;GIF&lt;/li&gt;
&lt;li&gt;WebP&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ベクター画像 (ベクター形式)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SVG&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;その他、一緒に知っておきたいファイルフォーマット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PDF&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;順に概要を見ていきます。&lt;/p&gt;
&lt;h2 id=&quot;ビットマップ画像-ラスター形式&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%83%83%E3%83%88%E3%83%9E%E3%83%83%E3%83%97%E7%94%BB%E5%83%8F-%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E5%BD%A2%E5%BC%8F&quot; aria-label=&quot;ビットマップ画像 ラスター形式 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビットマップ画像 (ラスター形式)&lt;/h2&gt;
&lt;p&gt;ピクセル単位で色の情報を持っているのがビットマップ画像です。&lt;/p&gt;
&lt;p&gt;PNG・JPEG・GIF の比較については、以下の記事が参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.htmq.com/gazo/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB 画像について－GIF・JPEG・PNG の特徴&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://time-space.kddi.com/ict-keywords/kaisetsu/20160627/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;JPEG、GIF、PNG、なんて読む？ 『画像ファイルの拡張子』の違い｜ TIME＆SPACE by KDDI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.cman.jp/picture/jpeg_png_gif/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「JPEG（JPG）」,「PNG」,「GIF」の違い&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;png-portable-network-graphics&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#png-portable-network-graphics&quot; aria-label=&quot;png portable network graphics permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PNG (Portable Network Graphics)&lt;/h3&gt;
&lt;p&gt;特徴&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基本的にフルカラー (24 bit)&lt;/li&gt;
&lt;li&gt;可逆圧縮&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、「&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AB%E3%82%AB%E3%83%A9%E3%83%BC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フルカラー - Wikipedia&lt;/a&gt;」によると、24 bit カラーをフルカラーと呼ぶことが多いとのことです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;24 ビットカラー（16,777,216 色）、トゥルーカラー（truecolor, true colors）。(中略) 現代のパソコン業界では、トゥルーカラーのみをフルカラーと呼ぶことが多い。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;jpeg-joint-photographic-experts-group&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#jpeg-joint-photographic-experts-group&quot; aria-label=&quot;jpeg joint photographic experts group permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;JPEG (Joint Photographic Experts Group)&lt;/h3&gt;
&lt;p&gt;特徴&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;フルカラー (24 bit)&lt;/li&gt;
&lt;li&gt;基本的に非可逆圧縮&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;gif-graphics-interchange-format&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gif-graphics-interchange-format&quot; aria-label=&quot;gif graphics interchange format permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GIF (Graphics Interchange Format)&lt;/h3&gt;
&lt;p&gt;特徴&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;256 色 (8 bit)&lt;/li&gt;
&lt;li&gt;可逆圧縮&lt;/li&gt;
&lt;li&gt;アニメーションをサポート&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;webp-ウェッピー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webp-%E3%82%A6%E3%82%A7%E3%83%83%E3%83%94%E3%83%BC&quot; aria-label=&quot;webp ウェッピー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;WebP (ウェッピー)&lt;/h3&gt;
&lt;p&gt;WebP は、Google が開発した圧縮率の高い画像形式です。&lt;/p&gt;
&lt;p&gt;特徴&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;可逆圧縮・非可逆圧縮&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://www.sedesign.co.jp/blog/what-is-the-difference-between-webp-and-others&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WebP とその他画像形式の違いとは？3 つのメリットと変換方法解説&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;ベクター画像-ベクター形式&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E7%94%BB%E5%83%8F-%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E5%BD%A2%E5%BC%8F&quot; aria-label=&quot;ベクター画像 ベクター形式 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ベクター画像 (ベクター形式)&lt;/h2&gt;
&lt;p&gt;画像を幾何学的な図形として表現するのがベクター形式です。&lt;/p&gt;
&lt;h3 id=&quot;svg-scalable-vector-graphics&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#svg-scalable-vector-graphics&quot; aria-label=&quot;svg scalable vector graphics permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SVG (Scalable Vector Graphics)&lt;/h3&gt;
&lt;p&gt;ベクター画像と言えば SVG だと思います。&lt;/p&gt;
&lt;p&gt;SVG は、XML ベースのベクター画像形式です。&lt;/p&gt;
&lt;h2 id=&quot;その他、一緒に知っておきたいファイルフォーマット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E4%B8%80%E7%B7%92%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88&quot; aria-label=&quot;その他、一緒に知っておきたいファイルフォーマット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、一緒に知っておきたいファイルフォーマット&lt;/h2&gt;
&lt;h3 id=&quot;pdf-portable-document-format&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pdf-portable-document-format&quot; aria-label=&quot;pdf portable document format permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PDF (Portable Document Format)&lt;/h3&gt;
&lt;p&gt;PDF は、Adobe が開発した文書フォーマットです。&lt;/p&gt;
&lt;p&gt;現在は ISO 32000-1 として標準化されています。&lt;/p&gt;
&lt;p&gt;PDF 自体は画像ではないです (画像に分類されているケースもあります) が、内部にベクター画像やラスター画像を保持することもできます。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://ja.wikipedia.org/wiki/Portable_Document_Format&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Portable Document Format - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;画像ファイルをよく見てみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%88%E3%81%8F%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;画像ファイルをよく見てみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像ファイルをよく見てみる&lt;/h2&gt;
&lt;p&gt;さて、これだけで終わっては面白くないので、画像ファイルをよく見てみたりしようと思います。&lt;/p&gt;
&lt;h3 id=&quot;png&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#png&quot; aria-label=&quot;png permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PNG&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;https://en.wikipedia.org/wiki/File:Lenna_(test_image).png&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;File:Lenna (test image).png - Wikipedia&lt;/a&gt;」からレナ画像を取得します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;curl https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png &amp;gt; Lenna.png&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;hexdump で見てみると、以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ hexdump -C Lenna.png | head
00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 02 00 00 00 02 00  08 02 00 00 00 7b 1a 43  |.............{.C|
00000020  ad 00 00 00 01 73 52 47  42 00 ae ce 1c e9 00 07  |.....sRGB.......|
00000030  3a a1 49 44 41 54 78 da  ec e1 5d 92 6d 5b 92 1d  |:.IDATx...].m[..|
00000040  e6 8d e1 ee 73 ae b5 23  e2 9c 7b 33 ab 20 08 e4  |....s..#..{3. ..|
00000050  8b 5a 20 a3 8c 46 51 a4  f1 4f 25 a3 99 3a 23 a3  |.Z ..FQ..O%..:#.|
00000060  00 ea 55 0d 50 e3 d4 00  51 a4 c1 00 92 48 20 ab  |..U.P...Q....H .|
00000070  b2 f2 de 7b 22 f6 5e 6b  4e 77 1f 4a b5 03 f9 7d  |...{&amp;quot;.^kNw.J...}|
00000080  fc d7 ff af ff 27 80 c2  09 6d b7 0b af b4 c7 a1  |.....&amp;#39;...m......|
00000090  24 a6 77 5e ae a3 b4 3b  7f f8 e3 bd 92 bd 16 c6  |$.w^...;........|&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;「&lt;a href=&quot;https://ja.wikipedia.org/wiki/Portable_Network_Graphics&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Portable Network Graphics - Wikipedia&lt;/a&gt;」によると PNG の先頭 8 バイトは&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「89 50 4E 47 0D 0A 1A 0A」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことですが、確かにその通りになっています。&lt;/p&gt;
&lt;p&gt;なお、「&lt;a href=&quot;https://qiita.com/urakarin/items/337a0433a41443731ad0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;vim でバイナリを編集する - Qiita&lt;/a&gt;」という記事を参考に、&lt;code class=&quot;language-text&quot;&gt;vim -b&lt;/code&gt; と &lt;code class=&quot;language-text&quot;&gt;:%!xdd&lt;/code&gt; でバイナリを見てみると、最初の 10 行は以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 0200 0000 0200 0802 0000 007b 1a43  .............{.C
00000020: ad00 0000 0173 5247 4200 aece 1ce9 0007  .....sRGB.......
00000030: 3aa1 4944 4154 78da ece1 5d92 6d5b 921d  :.IDATx...].m[..
00000040: e68d e1ee 73ae b523 e29c 7b33 ab20 08e4  ....s..#..{3. ..
00000050: 8b5a 20a3 8c46 51a4 f14f 25a3 993a 23a3  .Z ..FQ..O%..:#.
00000060: 00ea 550d 50e3 d400 51a4 c100 9248 20ab  ..U.P...Q....H .
00000070: b2f2 de7b 22f6 5e6b 4e77 1f4a b503 f97d  ...{&amp;quot;.^kNw.J...}
00000080: fcd7 ffaf ff27 80c2 096d b70b afb4 c7a1  .....&amp;#39;...m......
00000090: 24a6 775e aea3 b43b 7ff8 e3bd 92bd 16c6  $.w^...;........&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;PNG のバイナリを Vim などで編集するのは、圧縮されていたりするためとても難しいです。&lt;/p&gt;
&lt;p&gt;Python の Pillow などのライブラリを使うと 8bit ずつの RGB などを簡単に取得できたり編集できたりしますが、内部で色んなことをやってくれているんだなと実感します。&lt;/p&gt;
&lt;p&gt;そのあたりについて、以下の記事は自前でいろいろ処理していてとても面白いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/kouheiszk/items/17485ccb902e8190923b&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PNG を読む - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;svg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#svg&quot; aria-label=&quot;svg permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SVG&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;https://www.tohoho-web.com/ex/svg.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SVG 入門 - とほほの WWW 入門&lt;/a&gt;」を参考に、ちょっとした SVG ファイルを作ってみます。&lt;/p&gt;
&lt;p&gt;SVG はただのテキストファイルなので、エディタで作ることも可能です。&lt;/p&gt;
&lt;p&gt;以下のような SVG ファイルを作成すると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;svg&quot;&gt;&lt;pre class=&quot;language-svg&quot;&gt;&lt;code class=&quot;language-svg&quot;&gt;&lt;span class=&quot;token prolog&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;svg&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;xmlns&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;http://www.w3.org/2000/svg&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;0&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;0&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;200&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;200&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;circle&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;cx&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;100&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;cy&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;100&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;100&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;black&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;fill&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;#fff&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;stroke-width&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;1&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;svg&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;/media/svg_circle.svg&quot; alt=&quot;svg_circle.svg&quot;&gt;&lt;/p&gt;
&lt;p&gt;円が表示されました。&lt;/p&gt;
&lt;h3 id=&quot;pdf&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pdf&quot; aria-label=&quot;pdf permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PDF&lt;/h3&gt;
&lt;p&gt;最後に、PDF のファイルフォーマットについて面白い記事をいくつか見かけたので、リンクを貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://techracho.bpsinc.jp/west/2018_12_07/65062&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;見て作って学ぶ、PDF ファイルの基本構造｜ TechRacho by BPS 株式会社&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.air-h.jp/articles/emopro/pdf%E3%81%8C%E8%AA%AD%E3%82%81%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%8A%E8%A9%B1/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PDF が読めるようになるお話 | 感情的プログラミング伝記 | タウン情報誌 AIR 函館 - 北海道函館市の食・呑・遊をご紹介！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、画像ファイルフォーマットの基本について調べたり、少し中身を見てみました。&lt;/p&gt;
&lt;p&gt;画像ファイルをバイナリレベルで見るようなことはなかなかないと思いますが、少し覗いてみようとするだけでも結構勉強になりました。&lt;/p&gt;
&lt;p&gt;関連して、画像処理のアルゴリズムをまとめている良さそうなサイトも見かけたので、リンクを貼っておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://imagingsolution.blog.fc2.com/blog-entry-151.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像処理　画像処理ソリューション&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[「画像・動画・音声処理および XR ひとりアドベントカレンダー」について]]></title><description><![CDATA[最近自分が勉強したいと思っている「画像・動画・音声処理および XR」について強制的にキャッチアップするよう、毎日少しずつ勉強してその内容を記事にしていく「画像・動画・音声処理および XR ひとりアドベントカレンダー」の始まりです。
自分は現在、画像・動画・音声データの取り扱いや、XR について完全素人です。
そんな全然何も知らない状態から勉強していくため、まず今日は、自分が聞いたことがある要素などを洗い出してみようと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/media-and-xr-lonely-advent-calendar</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/media-and-xr-lonely-advent-calendar</guid><pubDate>Wed, 01 Dec 2021 13:09:24 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://qiita.com/advent-calendar/2021/media-and-xr-lonely&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;画像・動画・音声処理および XR 一人アドベントカレンダー&lt;/a&gt; 1 日目の記事です。&lt;/p&gt;
&lt;h2 id=&quot;このアドベントカレンダーについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E3%82%A2%E3%83%89%E3%83%99%E3%83%B3%E3%83%88%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;このアドベントカレンダーについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;このアドベントカレンダーについて&lt;/h2&gt;
&lt;p&gt;今年も 12 月になりました。12 月といえば、アドベントカレンダーという形式で記事を書くイベントがあると思います。&lt;/p&gt;
&lt;p&gt;昨年は初めてのひとりアドベントカレンダーということで、「&lt;a href=&quot;https://qiita.com/advent-calendar/2020/janken&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;じゃんけんアドベントカレンダー&lt;/a&gt;」というものに挑戦しました。&lt;/p&gt;
&lt;p&gt;正直かなり苦しかったのですが、今年もやっていこうと思います。&lt;/p&gt;
&lt;p&gt;今年のテーマは、最近自分が勉強したいと思っている「画像・動画・音声処理および XR」についてです。&lt;/p&gt;
&lt;p&gt;これらの分野を強制的にキャッチアップするよう、毎日少しずつ勉強してその内容を記事にしていこうと思います。&lt;/p&gt;
&lt;p&gt;ということで、「画像・動画・音声処理および XR ひとりアドベントカレンダー」の始まりです。&lt;/p&gt;
&lt;p&gt;余談：「メタバースひとりアドベントカレンダー」という名前にしようかと思いましたが、やめておきました。興味の方向性としてはそんなかんじです&lt;/p&gt;
&lt;h2 id=&quot;今日のテーマ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E6%97%A5%E3%81%AE%E3%83%86%E3%83%BC%E3%83%9E&quot; aria-label=&quot;今日のテーマ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今日のテーマ&lt;/h2&gt;
&lt;p&gt;さて、自分は現在、画像・動画・音声データの取り扱いや、XR について完全素人です。&lt;/p&gt;
&lt;p&gt;画像・動画・音声については、画像の平準化程度の変換をちょっとしたことがあったり、動画をツールで HLS 形式に変換して Web アプリに組み込んだことがあったりする程度です。&lt;/p&gt;
&lt;p&gt;XR については、今年の秋に &lt;a href=&quot;https://amzn.to/3rmzGEF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oculus Quest 2&lt;/a&gt; を買ったのですが、先に手を出したいことがあったので未開封で放置されています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09BYQ1ZRB?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c6c2b6e316a98c3698f4156e491e2d55&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09BYQ1ZRB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09BYQ1ZRB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;そんな全然何も知らない状態から勉強していくため、まず今日は、自分が聞いたことがある要素などを洗い出してみようと思います。&lt;/p&gt;
&lt;p&gt;今日挙げた要素を起点にして、明日以降いろいろ勉強してみます。&lt;/p&gt;
&lt;h2 id=&quot;目次&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9B%AE%E6%AC%A1&quot; aria-label=&quot;目次 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;目次&lt;/h2&gt;
&lt;p&gt;以下の 6 つの分類で、ざっくり知っている要素をまとめていきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;画像&lt;/li&gt;
&lt;li&gt;動画&lt;/li&gt;
&lt;li&gt;音声&lt;/li&gt;
&lt;li&gt;XR&lt;/li&gt;
&lt;li&gt;基礎技術&lt;/li&gt;
&lt;li&gt;応用的な技術&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;画像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%BB%E5%83%8F&quot; aria-label=&quot;画像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;画像&lt;/h2&gt;
&lt;p&gt;まずは画像について気になる要素を挙げてみます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;画像データの形式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PNG&lt;/li&gt;
&lt;li&gt;JPEG&lt;/li&gt;
&lt;li&gt;GIF&lt;/li&gt;
&lt;li&gt;SVG&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;画像処理アルゴリズム&lt;/li&gt;
&lt;li&gt;画像編集ソフト&lt;/li&gt;
&lt;li&gt;画像処理ライブラリ&lt;/li&gt;
&lt;li&gt;OpenCV&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なんとなく知っていることもありますが、基本的なデータ形式や画像処理アルゴリズムも改めて勉強したいなと思っています。&lt;/p&gt;
&lt;h3 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h3&gt;
&lt;p&gt;画像に関する機械学習が登場する要素として、以下のようなものも気になっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;画像認識&lt;/li&gt;
&lt;li&gt;物体検出&lt;/li&gt;
&lt;li&gt;顔認識&lt;/li&gt;
&lt;li&gt;各種トレーニング済み API&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;動画&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB&quot; aria-label=&quot;動画 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画&lt;/h2&gt;
&lt;p&gt;次に動画についてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;動画データの形式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MP4&lt;/li&gt;
&lt;li&gt;コーデック&lt;/li&gt;
&lt;li&gt;エンコード&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;物体検出&lt;/li&gt;
&lt;li&gt;動画編集ソフト&lt;/li&gt;
&lt;li&gt;動画編集ライブラリ&lt;/li&gt;
&lt;li&gt;CD・DVD・BD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;動画については全然何も知らないです。&lt;/p&gt;
&lt;p&gt;コーデック・エンコードといった言葉も聞いたことがある程度なので、そのあたりの基本から勉強したいです。&lt;/p&gt;
&lt;h3 id=&quot;動画配信&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%95%E7%94%BB%E9%85%8D%E4%BF%A1&quot; aria-label=&quot;動画配信 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;動画配信&lt;/h3&gt;
&lt;p&gt;最近は YouTube などでの動画配信も流行していると思います。&lt;/p&gt;
&lt;p&gt;動画配信関連では以下の要素が気になっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;動画配信サービス&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ストリーミングデータの形式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HLS (HTTP Live Streaming)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OBS&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;クラウド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89&quot; aria-label=&quot;クラウド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウド&lt;/h3&gt;
&lt;p&gt;仕事で AWS などを扱う機会も多いので、動画と関連するクラウドサービスも知っておきたいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Amazon Elastic Transcoder&lt;/li&gt;
&lt;li&gt;AWS メディアサービス&lt;/li&gt;
&lt;li&gt;各種トレーニング済み API&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;音声&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9F%B3%E5%A3%B0&quot; aria-label=&quot;音声 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;音声&lt;/h2&gt;
&lt;p&gt;続いて音声についてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;音声データの形式&lt;/li&gt;
&lt;li&gt;音声認識&lt;/li&gt;
&lt;li&gt;文字起こし&lt;/li&gt;
&lt;li&gt;機械音声&lt;/li&gt;
&lt;li&gt;ボイスチェンジャー&lt;/li&gt;
&lt;li&gt;各種トレーニング済み API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;音声については動画以上に全くよく分かっていませんが、興味としてはしっかり理解したい分野です。&lt;/p&gt;
&lt;h2 id=&quot;xr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xr&quot; aria-label=&quot;xr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;XR&lt;/h2&gt;
&lt;p&gt;続いて、XR についてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VR&lt;/li&gt;
&lt;li&gt;AR&lt;/li&gt;
&lt;li&gt;MR&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;VR・AR 意外に MR というジャンルがあるらしいことは知っていますが、何を指しているのか理解していないので改めて調べたいです。&lt;/p&gt;
&lt;p&gt;個人的に本命は VR で、VR まわりはもっと細かく色々勉強したいことがあります。&lt;/p&gt;
&lt;h3 id=&quot;vr-sns・vr-エンジン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vr-sns%E3%83%BBvr-%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3&quot; aria-label=&quot;vr sns・vr エンジン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VR SNS・VR エンジン&lt;/h3&gt;
&lt;p&gt;VR SNS などが自分の知りたいことの中でかなり本命です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VRChat&lt;/li&gt;
&lt;li&gt;Second Life&lt;/li&gt;
&lt;li&gt;Sansar&lt;/li&gt;
&lt;li&gt;Cluster&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NeosVR&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LogiX&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;VKet Cloud&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;現在最も広く認知されている VRChat をはじめとして、個人的に大本命の NeosVR には絶対手を出したいです。&lt;/p&gt;
&lt;p&gt;NeosVR では、LogiX なるものでプログラミングできるというのを耳にしています。&lt;/p&gt;
&lt;h3 id=&quot;アバター&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%90%E3%82%BF%E3%83%BC&quot; aria-label=&quot;アバター permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アバター&lt;/h3&gt;
&lt;p&gt;VR のアバターについても気になるところです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VR アバター&lt;/li&gt;
&lt;li&gt;Live2D&lt;/li&gt;
&lt;li&gt;モーションキャプチャ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;関連して、ゲームや VTuber などで使われている Live2D という技術も気になっています。&lt;/p&gt;
&lt;h3 id=&quot;デバイス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9&quot; aria-label=&quot;デバイス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デバイス&lt;/h3&gt;
&lt;p&gt;XR 関連のデバイスについても知りたいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VR ヘッドセット&lt;/li&gt;
&lt;li&gt;VR ゴーグル&lt;/li&gt;
&lt;li&gt;HMD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;現状では、これらの用語の違いも分かってないです。&lt;/p&gt;
&lt;h3 id=&quot;クラウド-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89-1&quot; aria-label=&quot;クラウド 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウド&lt;/h3&gt;
&lt;p&gt;XR 関連のクラウドサービスも気になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AWS Sumerian&lt;/li&gt;
&lt;li&gt;NVIDIA CloudXR&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;モバイル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB&quot; aria-label=&quot;モバイル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;モバイル&lt;/h3&gt;
&lt;p&gt;モバイル関連で聞いたことがあるものも挙げておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ARCore&lt;/li&gt;
&lt;li&gt;ARKit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;サービス・団体・イベント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%BB%E5%9B%A3%E4%BD%93%E3%83%BB%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&quot; aria-label=&quot;サービス・団体・イベント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サービス・団体・イベント&lt;/h3&gt;
&lt;p&gt;XR についてはかなり気になっているので、既存のサービスや法人など、有名どころをおさえて今後情報収集できるようにしたいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XR サービス&lt;/li&gt;
&lt;li&gt;XR 関連法人&lt;/li&gt;
&lt;li&gt;XR 関連研究室&lt;/li&gt;
&lt;li&gt;XR 関連イベント&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;基礎技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E6%8A%80%E8%A1%93&quot; aria-label=&quot;基礎技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;基礎技術&lt;/h2&gt;
&lt;p&gt;ここからは、上記の技術の基礎になっていそうなものや、関連して気になる要素などを挙げていきます。&lt;/p&gt;
&lt;h3 id=&quot;cg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cg&quot; aria-label=&quot;cg permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CG&lt;/h3&gt;
&lt;p&gt;まずは CG (Computer Graphics) についてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CG 全般&lt;/li&gt;
&lt;li&gt;3D モデリング&lt;/li&gt;
&lt;li&gt;Blender&lt;/li&gt;
&lt;li&gt;ホログラム&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今は一切知識がないですが、知りたい分野です。&lt;/p&gt;
&lt;h3 id=&quot;gpu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gpu&quot; aria-label=&quot;gpu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GPU&lt;/h3&gt;
&lt;p&gt;最近は機械学習で GPU に触れるようになってきたのですが、GPU について知らなすぎてハマることが多いので、この機会に勉強したいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GPU の仕組み&lt;/li&gt;
&lt;li&gt;CUDA&lt;/li&gt;
&lt;li&gt;nouveau&lt;/li&gt;
&lt;li&gt;OpenCL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;もちろん GPGPU ではないグラフィックス用途も勉強したいです。&lt;/p&gt;
&lt;h3 id=&quot;web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web&quot; aria-label=&quot;web permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web&lt;/h3&gt;
&lt;p&gt;Web での関連技術も気になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WebGL&lt;/li&gt;
&lt;li&gt;WebGPU&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;機械学習-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-1&quot; aria-label=&quot;機械学習 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h3&gt;
&lt;p&gt;画像・動画などの処理と関連して、GAN についても学びたいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GAN (敵対的生成ネットワーク)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;数学&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%95%B0%E5%AD%A6&quot; aria-label=&quot;数学 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;数学&lt;/h3&gt;
&lt;p&gt;きっと登場するんだろうなという数学の分野を挙げてみます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;線形代数&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;フーリエ変換&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FFT&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;応用的な技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BF%9C%E7%94%A8%E7%9A%84%E3%81%AA%E6%8A%80%E8%A1%93&quot; aria-label=&quot;応用的な技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;応用的な技術&lt;/h2&gt;
&lt;p&gt;最後に、応用的な分野についてふれてみます。
(応用的というのは個人の主観です)&lt;/p&gt;
&lt;h3 id=&quot;ゲーム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B2%E3%83%BC%E3%83%A0&quot; aria-label=&quot;ゲーム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゲーム&lt;/h3&gt;
&lt;p&gt;まずはゲームについてです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ゲームエンジン&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unity&lt;/li&gt;
&lt;li&gt;Unreal Engine&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Steam&lt;/li&gt;
&lt;li&gt;XR ゲーム&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XR の話題でゲームエンジンが出てくることもあるので、その辺りを中心におさえたいです。&lt;/p&gt;
&lt;h3 id=&quot;アート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%BC%E3%83%88&quot; aria-label=&quot;アート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アート&lt;/h3&gt;
&lt;p&gt;少しずれているかもしれませんが、アート系にも興味があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デジタルアート&lt;/li&gt;
&lt;li&gt;メディアアート&lt;/li&gt;
&lt;li&gt;Processing&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ブロックチェーン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3&quot; aria-label=&quot;ブロックチェーン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ブロックチェーン&lt;/h3&gt;
&lt;p&gt;最後に、メタバースと一緒によく話題にされるブロックチェーン関連です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NFT&lt;/li&gt;
&lt;li&gt;NCR (Neos クレジット)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NFT は仕組みを全く分かっていないので、仕組みを勉強したいです。&lt;/p&gt;
&lt;p&gt;また、NCR という通貨が気になります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、ひとまず初日の記事として、今後勉強したいテーマを書き出してみました。&lt;/p&gt;
&lt;p&gt;明日以降、これらについて調べて記事を書いていこうと思います。&lt;/p&gt;
&lt;p&gt;数がかなりありますし、まずはそれぞれ浅く調べてみて、より自分が深掘りしたい分野を探していくつもりです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 11 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 11 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202111</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202111</guid><pubDate>Wed, 01 Dec 2021 03:32:23 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 11 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;機械学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;機械学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習&lt;/h2&gt;
&lt;h3 id=&quot;最短コースでわかる-pytorch-＆深層学習プログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%80%E7%9F%AD%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B-pytorch-%EF%BC%86%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;最短コースでわかる pytorch ＆深層学習プログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3dme8jr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;最短コースでわかる PyTorch ＆深層学習プログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09G622WB6/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5f99fc56b7981d8dca705e52cca16e5f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09G622WB6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09G622WB6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;PyTorch の入門の勉強会に参加したため、その後の練習としてこちらの書籍を読み、実際にさわってみました。&lt;/p&gt;
&lt;p&gt;こちらの書籍は PyTorch に入門するのにちょうど良い難易度でした。&lt;/p&gt;
&lt;p&gt;ディープラーニングの理論については、『&lt;a href=&quot;https://amzn.to/3d3YGrR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装&lt;/a&gt;』などで別途学ぶのがおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;fastapi&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fastapi&quot; aria-label=&quot;fastapi permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;FastAPI&lt;/h2&gt;
&lt;h3 id=&quot;基礎から学ぶfastapi実践入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6fastapi%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80&quot; aria-label=&quot;基礎から学ぶfastapi実践入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3D9T8Xs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶFastAPI実践入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09KNGQRKC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b40b1a0f930ccf66b3a3c8aea5cbb840&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09KNGQRKC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09KNGQRKC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近ちょっとしたデモンストレーションなどで FastAPI をさわる機会が多くなっていたので、こちらの本に目を通してみました。&lt;/p&gt;
&lt;p&gt;簡単な解説ではありますが、FastAPI の使い始めで知っておきたいことがある程度まとまっており、入門の際の選択肢の 1 つになると思います。&lt;/p&gt;
&lt;h2 id=&quot;go&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#go&quot; aria-label=&quot;go permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Go&lt;/h2&gt;
&lt;h3 id=&quot;スターティングgo言語&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0go%E8%A8%80%E8%AA%9E&quot; aria-label=&quot;スターティングgo言語 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3oalEE5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スターティングGo言語&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01FH3KRTI/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=04a7303ef1fe79640e8317de3e1a125c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01FH3KRTI&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01FH3KRTI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;プログラミング言語go&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9Ego&quot; aria-label=&quot;プログラミング言語go permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lqvboC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミング言語Go&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B099928SJD/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=83ba0b19158082f44a12fbc1cbcaf89a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B099928SJD&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B099928SJD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Go 言語について改めて勉強しようと、こちらの 2 冊を手に取りました。&lt;/p&gt;
&lt;p&gt;2 冊とも、「他の言語の経験がしっかりある上で Go を学ぶ」という際に良い本でした。&lt;/p&gt;
&lt;p&gt;Go をなんとなく書いているという段階からレベルアップしたいという方にもおすすめできます。&lt;/p&gt;
&lt;h2 id=&quot;aws&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws&quot; aria-label=&quot;aws permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS&lt;/h2&gt;
&lt;h3 id=&quot;awsコンテナ設計・構築［本格］入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E8%A8%AD%E8%A8%88%E3%83%BB%E6%A7%8B%E7%AF%89%EF%BC%BB%E6%9C%AC%E6%A0%BC%EF%BC%BD%E5%85%A5%E9%96%80&quot; aria-label=&quot;awsコンテナ設計・構築［本格］入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3IcAbr0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSコンテナ設計・構築［本格］入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09DKZC1ZH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=adb2d18d39cde13a609d120407e871ad&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09DKZC1ZH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09DKZC1ZH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 10 月発売で、結構注目されていた本だと思います。&lt;/p&gt;
&lt;p&gt;コンテナ周りはもともとある程度知見があったのですが、最近のサービスのアップデートについてなど、勉強になる内容もありました。&lt;/p&gt;
&lt;p&gt;Docker や Kubernetes についての解説書はたくさんありますが、Amazon ECS を手厚く解説しているのはこの書籍が現状唯一であり、ECS のキャッチアップの際にはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;データエンジニアリング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0&quot; aria-label=&quot;データエンジニアリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データエンジニアリング&lt;/h2&gt;
&lt;h3 id=&quot;google-cloudではじめる実践データエンジニアリング入門業務で使えるデータ基盤構築&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E5%AE%9F%E8%B7%B5%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80%E6%A5%AD%E5%8B%99%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%9F%BA%E7%9B%A4%E6%A7%8B%E7%AF%89&quot; aria-label=&quot;google cloudではじめる実践データエンジニアリング入門業務で使えるデータ基盤構築 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rnDo0I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloudではじめる実践データエンジニアリング入門[業務で使えるデータ基盤構築]&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08WHZ55W9/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=01f1dee9b1e29fcd64cab104ec015ac5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08WHZ55W9&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08WHZ55W9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;データエンジニアリングや MLOps まわりをしっかりキャッチアップしておこうということで、こちらの本を読みました。&lt;/p&gt;
&lt;p&gt;過去にも GCP のデータエンジニアリング関係の書籍を読んでいましたが、サービスのアップデートも多いため、新しい情報を得ることができて良かったです。&lt;/p&gt;
&lt;p&gt;GCP のデータエンジニアリングについて学びたい場合は、現状こちらが一番おすすめの本になります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、11 月は 6 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;11 月はふと思い立ってデータ構造とアルゴリズムの勉強をし始め、実際にコードを書いたりする時間をとっていたため、読書量は先月に引き続き普段より少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;12 月は読書の習慣を復活するよう、何か工夫してみようと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[データアクセスのパターンと、ActiveRecord や Eloquant による Repository の実装について]]></title><description><![CDATA[アプリケーション・アーキテクチャについて議論する中で、最近は DDD の戦術的設計やクリーンアーキテクチャなどがキーワードとして解説されることが多いです。
この記事では、データアクセスのパターンについて改めて整理し、よく見かける議論の 1 つである「Rails の ActiveRecord や Laravel の Eloquant による Repository の実装」についても考察してみます。]]></description><link>https://www.kanzennirikaisita.com/posts/data-access-patterns</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/data-access-patterns</guid><pubDate>Wed, 01 Dec 2021 02:09:43 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;アプリケーション・アーキテクチャについて議論する中で、最近は DDD の戦術的設計やクリーンアーキテクチャなどがキーワードとして解説されることが多いです。&lt;/p&gt;
&lt;p&gt;そんな中、データアクセスの実装については Repository 意外の情報源が少なく、また Repository についても「データアクセス用のクラス」くらいの曖昧な定義で使われているケースも多いと思います。&lt;/p&gt;
&lt;p&gt;この記事では、そんな&lt;strong&gt;データアクセスのパターンについて改めて整理&lt;/strong&gt;し、よく見かける議論の 1 つである「&lt;strong&gt;Rails の ActiveRecord や Laravel の Eloquant による Repository の実装&lt;/strong&gt;」についても考察してみます。&lt;/p&gt;
&lt;h2 id=&quot;注意事項&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85&quot; aria-label=&quot;注意事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;注意事項&lt;/h2&gt;
&lt;h3 id=&quot;内容の正確性について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%86%85%E5%AE%B9%E3%81%AE%E6%AD%A3%E7%A2%BA%E6%80%A7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;内容の正確性について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;内容の正確性について&lt;/h3&gt;
&lt;p&gt;この記事はドメイン駆動設計に関する各種書籍や PoEAA などを参考にしていますが、情報源によって同じ言葉が違う意味で使われていることがあります。&lt;/p&gt;
&lt;p&gt;できるだけよく使われている意味で整理しようとしていますが、筆者の主観が入っている部分もありますので、ご了承ください。&lt;/p&gt;
&lt;h3 id=&quot;用語について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%94%A8%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;用語について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;用語について&lt;/h3&gt;
&lt;p&gt;記事の中で&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビジネスロジック&lt;/li&gt;
&lt;li&gt;データアクセス&lt;/li&gt;
&lt;li&gt;ドメインモデル&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という用語を使いますが、こちらは過去に書いた&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/25725edfe3c2af93d735&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ビジネスロジック」とは何か、どう実装するのか - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という記事内と同じ意味で使っています。&lt;/p&gt;
&lt;p&gt;また、上記の記事の「コアなルール」のことを「ドメインロジック」と表現させていただきます。&lt;/p&gt;
&lt;h3 id=&quot;表記について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A1%A8%E8%A8%98%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;表記について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;表記について&lt;/h3&gt;
&lt;p&gt;記事の中で書籍『&lt;a href=&quot;https://amzn.to/3I1E7ui&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンタープライズアプリケーションアーキテクチャパターン&lt;/a&gt;』を参考にしている箇所では『PoEAA』と省略表記させていただきます。&lt;/p&gt;
&lt;h2 id=&quot;データアクセスのパターン整理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E6%95%B4%E7%90%86&quot; aria-label=&quot;データアクセスのパターン整理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データアクセスのパターン整理&lt;/h2&gt;
&lt;p&gt;それでは本題に入ります。&lt;/p&gt;
&lt;p&gt;この記事では、まず最初にデータアクセスについて以下の 3 つのパターンを整理してみます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Table Data Gateway パターン&lt;/li&gt;
&lt;li&gt;ActiveRecord パターン&lt;/li&gt;
&lt;li&gt;Repository パターン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;細かく分類すればもっと多数のパターンに分けられますが、まずはこのくらいの分類が分かりやすいのではないかという考えです。&lt;/p&gt;
&lt;p&gt;また、これらと併用して QueryService というクラスを設けるケースもありますが、そちらの説明は今回は省略します。
QueryService については以下の記事が非常に分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://little-hands.hatenablog.com/entry/2019/12/02/cqrs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CQRS実践入門 [ドメイン駆動設計] - little hands’ lab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;では、ここから上記の 3 パターンについて書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;table-data-gateway-パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#table-data-gateway-%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;table data gateway パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Table Data Gateway パターン&lt;/h3&gt;
&lt;p&gt;Table Data Gateway パターンをざっくり言えば、&lt;strong&gt;DB のテーブルと 1 対 1 に対応するデータアクセス用のクラスを設ける&lt;/strong&gt;というものです。&lt;/p&gt;
&lt;p&gt;Java 界隈には Data Access Object (DAO) と呼ばれるパターンがありますが、&lt;strong&gt;DAO は Table Data Gateway と同じものを指している&lt;/strong&gt;と言われています。&lt;/p&gt;
&lt;h4 id=&quot;実装イメージ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8&quot; aria-label=&quot;実装イメージ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装イメージ&lt;/h4&gt;
&lt;p&gt;擬似言語による実装イメージは以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;TaskTableDataGateway {
  find(id)
  findWithName(name)
  insert(name)
  update(id, name)
  delete(id)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ メソッド名は『PoEAA』p153 を参考にしています。&lt;/p&gt;
&lt;h4 id=&quot;メリット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88&quot; aria-label=&quot;メリット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メリット&lt;/h4&gt;
&lt;p&gt;DB のテーブルと 1 対 1 に対応するクラスを作成してデータを取り出すのは、&lt;strong&gt;非常にシンプルで理解が簡単&lt;/strong&gt;です。&lt;/p&gt;
&lt;h4 id=&quot;デメリット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88&quot; aria-label=&quot;デメリット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デメリット&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;呼び出し側がデータモデルを意識する&lt;/strong&gt;ことになります。
例えば Service から Table Data Gateway を呼び出す場合、ビジネスロジックがデータモデルに依存することになります。&lt;/p&gt;
&lt;p&gt;また、Service クラスが Table Data Gateway を呼び出すようなアーキテクチャの場合、1 つの Service クラスが必要とする Table Data Gateway の数がかなり多くなるケースがあります。&lt;/p&gt;
&lt;p&gt;さらに、Order と OrderDetail など、同時に DB からロードすべきデータを同時にロードすることを保証できず、ビジネスロジック層でオブジェクトの整合性がとれていない瞬間を生んでしまいます。&lt;/p&gt;
&lt;p&gt;なお、これら 3 つのデメリットは、Repository パターンを使うことで解消可能です。&lt;/p&gt;
&lt;h4 id=&quot;関連パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;関連パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連パターン&lt;/h4&gt;
&lt;p&gt;類似のパターンとして、以下のような実装も考えられます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;TaskTableDataGateway {
  find(id)
  findWithName(name)
  insert(task)
  update(task)
  delete(task)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;違いは insert、update、delete メソッドの引数がテーブルと対応するクラスのオブジェクトになっていることです。&lt;/p&gt;
&lt;h3 id=&quot;activerecord-パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#activerecord-%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;activerecord パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ActiveRecord パターン&lt;/h3&gt;
&lt;p&gt;続いて、ActiveRecord パターンについてです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ActiveRecord という単語で Ruby on Rails の OR マッパー「ActiveRecord」を思い浮かべる方も多いと思いますが、それは ActiveRecord パターンを実装したものです&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;同様に、Laravel の Eloquant も ActiveRecord パターンを実装した OR マッパーです。&lt;/p&gt;
&lt;p&gt;ActiveRecord パターンでは、&lt;strong&gt;ドメインモデルを DB のテーブルと 1 対 1 対応させ、データアクセスのメソッドも持たせます&lt;/strong&gt;。
（ここで言うドメインモデルは、データとドメインロジックを持つクラスのことです）&lt;/p&gt;
&lt;h4 id=&quot;実装イメージ-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8-1&quot; aria-label=&quot;実装イメージ 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装イメージ&lt;/h4&gt;
&lt;p&gt;擬似言語による実装イメージは以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;Task {
  id
  name

  isAssigned()

  insert()
  update()
  delete()
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ メソッド名は『PoEAA』p170 を参考にしています。&lt;/p&gt;
&lt;p&gt;このように、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;id、name といった&lt;strong&gt;データ&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;isAssigned といった&lt;strong&gt;ドメインロジックのメソッド&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;insert や update、delete のような&lt;strong&gt;データアクセスのメソッド&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を同じクラスが持つことになります。&lt;/p&gt;
&lt;p&gt;※ メソッド名は OR マッパーにより異なる場合があります&lt;/p&gt;
&lt;h4 id=&quot;メリット-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88-1&quot; aria-label=&quot;メリット 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メリット&lt;/h4&gt;
&lt;p&gt;ActiveRecord パターン最大のメリットは、Rails の ActiveRecord や Laravel の Eloquant といった &lt;strong&gt;ActiveRecord 系の OR マッパーを使うことで、非常に低コストで実装できる&lt;/strong&gt;ことです。&lt;/p&gt;
&lt;p&gt;また、これらのフレームワークは近年プログラミングの入門として選択されることも増えており、経験のあるエンジニアが多いです。&lt;/p&gt;
&lt;h4 id=&quot;デメリット-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88-1&quot; aria-label=&quot;デメリット 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デメリット&lt;/h4&gt;
&lt;p&gt;ActiveRecord パターンでは、ドメインモデルと DB が 1 対 1 対応になるため、&lt;strong&gt;ビジネスロジックはデータモデルと強く結合します&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;また、&lt;strong&gt;1 つのクラスがドメインモデルとデータアクセスという複数の役割を持つことになってしまいます&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;repository-パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#repository-%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;repository パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Repository パターン&lt;/h3&gt;
&lt;p&gt;最後に Repository パターンです。&lt;/p&gt;
&lt;p&gt;Repository パターンは、&lt;strong&gt;コレクションライクなインタフェースで、「集約」という単位でデータを読み書きする&lt;/strong&gt;データアクセスのパターンです。&lt;/p&gt;
&lt;p&gt;今まで紹介した 2 パターンと異なり、&lt;strong&gt;Repository は DB と 1 対 1 対応させるのではなく、ドメインモデルの都合でデータアクセスを取り扱います&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id=&quot;実装イメージ-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8-2&quot; aria-label=&quot;実装イメージ 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装イメージ&lt;/h4&gt;
&lt;p&gt;擬似言語による実装イメージは以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;TaskRepository {
  taskOfId(id)
  taskOfName(name)
  save(task)
  remove(task)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ メソッド名は『実戦ドメイン駆動設計』p405 を参考にしています。&lt;/p&gt;
&lt;p&gt;これだけ見ると Table Data Gateway パターンと同じように見えるかもしれませんが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Table Data Gateway は DB のテーブルと 1 つと対応&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 つの Repository に対応する DB のテーブル数は状況次第&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった違いがあります。&lt;/p&gt;
&lt;p&gt;この違いについては以下の記事が非常に分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/mikesorae/items/ff8192fb9cf106262dbf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;やはりお前たちのRepositoryは間違っている - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;メリット-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88-2&quot; aria-label=&quot;メリット 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メリット&lt;/h4&gt;
&lt;p&gt;Repository を使うと、Repository を呼び出す&lt;strong&gt;ビジネスロジック層が、データモデルに依存しなくなります&lt;/strong&gt;。
そのため、ヘキサゴナルアーキテクチャ・オニオンアーキテクチャ・クリーンアーキテクチャなどで語られる、依存性逆転が可能になります。&lt;/p&gt;
&lt;p&gt;また、Table Data Gateway とは異なり、Service などのクラスに多数必要とされにくくなったり、ロードしたオブジェクトの整合性のない状態を防ぐことができます。&lt;/p&gt;
&lt;h4 id=&quot;デメリット-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88-2&quot; aria-label=&quot;デメリット 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デメリット&lt;/h4&gt;
&lt;p&gt;Repository パターンのメリットや目的を理解するのは、&lt;strong&gt;他のパターンと比べて何段階か難易度が高い&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;そのため、どんなパターンなのか理解しているエンジニアも少ないです。&lt;/p&gt;
&lt;h4 id=&quot;関連パターン-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-1&quot; aria-label=&quot;関連パターン 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連パターン&lt;/h4&gt;
&lt;p&gt;上の例では最近 DDD などの文脈で見かけるリポジトリの実装イメージを示しましたが、『PoEAA』p345 では以下のようなインタフェースとして紹介されています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;TaskRepository {
  matching(criteria)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;検索条件を表す criteria オブジェクトを引数として検索するというものです。&lt;/p&gt;
&lt;p&gt;どちらが正しいということはできませんが、重要なポイントは、どちらも「ドメインモデルを中心的に考えたインタフェースになっていること」だと思います。&lt;/p&gt;
&lt;h2 id=&quot;どのパターンを使うか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%86%E3%81%8B&quot; aria-label=&quot;どのパターンを使うか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どのパターンを使うか&lt;/h2&gt;
&lt;p&gt;ここまで、最近の開発でよく見かけるデータアクセスのパターンを整理してきました。&lt;/p&gt;
&lt;p&gt;この中のどのパターンを使うかですが、「上記のメリット・デメリットを踏まえて、今回の状況ではどうするかを考える」というのが私の意見です。&lt;/p&gt;
&lt;p&gt;例えば、「DDD だから Repository じゃないと絶対にダメ」といったことは必ずしもなく、トレードオフを理解した上で ActiveRecord パターンを採用してもいいと思います。&lt;/p&gt;
&lt;p&gt;それ以上に前提として理解しておくべきポイントとして、どのパターンを使うかは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビジネスロジック層とのインタフェース&lt;/li&gt;
&lt;li&gt;データアクセス層の内部実装&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 箇所について検討する必要があります。&lt;/p&gt;
&lt;h3 id=&quot;ビジネスロジック層とのインタフェース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E5%B1%A4%E3%81%A8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9&quot; aria-label=&quot;ビジネスロジック層とのインタフェース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネスロジック層とのインタフェース&lt;/h3&gt;
&lt;p&gt;データアクセスの処理は主に Service (または ApplicationService、UseCase。アーキテクチャによっては Controller) といったクラスから呼び出すことになりますが、呼び出し先として&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Table Data Gateway&lt;/li&gt;
&lt;li&gt;ActiveRecord&lt;/li&gt;
&lt;li&gt;Repository&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のどれを使うか、という議論がまずあります。&lt;/p&gt;
&lt;p&gt;これは各パターンのメリット・デメリットを踏まえて決めることになります。&lt;/p&gt;
&lt;p&gt;その内部実装についてが少しややこしいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;データアクセス層の内部実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%B1%A4%E3%81%AE%E5%86%85%E9%83%A8%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;データアクセス層の内部実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データアクセス層の内部実装&lt;/h3&gt;
&lt;p&gt;ActiveRecord パターンを採用する場合は、ActiveRecord 系の OR マッパーを使うことが多いです。
しかし、Table Data Gateway や Repository を使う場合は、その内部を自前で実装することが多いです。&lt;/p&gt;
&lt;p&gt;ここでは特に Repository の内部実装について書いていきます。&lt;/p&gt;
&lt;h4 id=&quot;repository-の内部実装の方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#repository-%E3%81%AE%E5%86%85%E9%83%A8%E5%AE%9F%E8%A3%85%E3%81%AE%E6%96%B9%E6%B3%95&quot; aria-label=&quot;repository の内部実装の方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Repository の内部実装の方法&lt;/h4&gt;
&lt;p&gt;Repository の内部を実装する際は、何らかの OR マッパーを使うことが多いです。&lt;/p&gt;
&lt;p&gt;OR マッパーとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL とマッピング方法の 2 つを書く方式&lt;/li&gt;
&lt;li&gt;流れるようなインタフェース (fluent interface)&lt;/li&gt;
&lt;li&gt;JPA などの狭義の OR マッパー&lt;/li&gt;
&lt;li&gt;ActiveRecord 系の OR マッパー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などがあります。&lt;/p&gt;
&lt;p&gt;また、Table Data Gateway を Repository の内部実装として使うといったこともできます。&lt;/p&gt;
&lt;h4 id=&quot;repository-と他のデータアクセスパターンの関係&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#repository-%E3%81%A8%E4%BB%96%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AE%E9%96%A2%E4%BF%82&quot; aria-label=&quot;repository と他のデータアクセスパターンの関係 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Repository と他のデータアクセスパターンの関係&lt;/h4&gt;
&lt;p&gt;ここでポイントは、&lt;strong&gt;Repository の内部に Table Data Gateway や ActiveRecord が登場するケースがある&lt;/strong&gt;ことです。&lt;/p&gt;
&lt;p&gt;つまり、Table Data Gateway や ActiveRecord には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Repository は使わず、ビジネスロジック層とのインタフェースを Table Data Gateway (または ActiveRecord) にする&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ビジネスロジック層とのインタフェースは Repository とし、内部実装を Table Data Gateway (または ActiveRecord) にする&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった選択肢があるということになります。&lt;/p&gt;
&lt;p&gt;最後に、後者の「ビジネスロジック層とのインタフェースは Repository とし、内部実装を Table Data Gateway (または ActiveRecord) にする」パターンについて書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;rails-の-activerecord-や-laravel-の-eloquant-による-repository-の実装について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rails-%E3%81%AE-activerecord-%E3%82%84-laravel-%E3%81%AE-eloquant-%E3%81%AB%E3%82%88%E3%82%8B-repository-%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;rails の activerecord や laravel の eloquant による repository の実装について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Rails の ActiveRecord や Laravel の Eloquant による Repository の実装について&lt;/h2&gt;
&lt;p&gt;Rails の ActiveRecord や Laravel の Eloquant といった ActiveRecord 系の OR マッパーは広く使われています。
そのため、「Rails や Laravel にクリーンアーキテクチャを適用する」といった目的で、Repository の内部実装として ActiveRecord や Eloquant が使われている例を見かけることがあります。&lt;/p&gt;
&lt;p&gt;これに対して、「&lt;strong&gt;Rails の ActiveRecord や Laravel の Eloquant を使うなら、基本的に Repository は設けないほうが良い&lt;/strong&gt;」というのが今の私の考えです。&lt;/p&gt;
&lt;p&gt;理由は主に 2 つあります。&lt;/p&gt;
&lt;h3 id=&quot;理由-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%90%86%E7%94%B1-1&quot; aria-label=&quot;理由 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;理由 1&lt;/h3&gt;
&lt;p&gt;ActiveRecord パターンはデータベースと密結合になる代わりに実装コストを下げるのがメリットであり、Repository パターンとは逆の特徴を持ちます。&lt;/p&gt;
&lt;p&gt;そのため、&lt;strong&gt;ActiveRecord と Repository を組み合わせると、ActiveRecord パターンのメリットは得られなくなります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Repository パターンを採用する前提で、Repository の内部実装にすぎないと割り切って ActiveRecord 系の OR マッパーを使うことはありえなくはないですが、あまりメリットは大きくないと思います。&lt;/p&gt;
&lt;h3 id=&quot;理由-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%90%86%E7%94%B1-2&quot; aria-label=&quot;理由 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;理由 2&lt;/h3&gt;
&lt;p&gt;ActiveRecord 系の OR マッパーが付属するフレームワークとして有名な &lt;strong&gt;Rails や Laravel は、ヘキサゴナルアーキテクチャ・オニオンアーキテクチャ・クリーンアーキテクチャといった、Repository パターンを活かせる設計と相性がよくない&lt;/strong&gt;とも考えています。&lt;/p&gt;
&lt;p&gt;ヘキサゴナルアーキテクチャ・オニオンアーキテクチャ・クリーンアーキテクチャといった設計は、クラス数が増える代わりに疎結合で変更に強くなるといった特徴があります。&lt;/p&gt;
&lt;p&gt;これは Rails や Laravel などのスタンダードな実装とは対局にあり、言語としても、静的型付けのものを採用した方が相性が良いと思います。&lt;/p&gt;
&lt;h3 id=&quot;落としどころ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%90%BD%E3%81%A8%E3%81%97%E3%81%A9%E3%81%93%E3%82%8D&quot; aria-label=&quot;落としどころ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;落としどころ&lt;/h3&gt;
&lt;p&gt;以上の理由から、「Rails の ActiveRecord や Laravel の Eloquant を使うなら、基本的に Repository は設けないほうが良い」と考えています。&lt;/p&gt;
&lt;p&gt;Rails や Laravel でアーキテクチャを改善するのであれば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request クラスや Response クラスをしっかり定義する&lt;/li&gt;
&lt;li&gt;Model にしっかりメソッドを持たせ、適宜 ValueObject を作る&lt;/li&gt;
&lt;li&gt;ユースケースは UseCase (または Service、ApplicationService) クラスに分離する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったところから着手するのが望ましいと思います。&lt;/p&gt;
&lt;p&gt;例えば以下の書籍や記事が非常に参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3FNp0Tw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techracho.bpsinc.jp/hachi8833/2021_01_07/14738&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;肥大化したActiveRecordモデルをリファクタリングする7つの方法（翻訳）｜TechRacho by BPS株式会社&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://speakerdeck.com/suusan2go/have-a-rethink-on-rails-service-class&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Rails サービスクラス再考 / have a rethink on Rails service class - Speaker Deck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zenn.dev/mpyw/articles/ce7d09eb6d8117&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;5年間 Laravel を使って辿り着いた，全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この内容と関連して、自分も過去に以下のような関連記事を書いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/66fb47f229896b32b2e8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Controller にビジネスロジックを書くな」の対応パターン - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、データアクセスのパターンについて考えていたことをまとめました。&lt;/p&gt;
&lt;p&gt;他にも様々な実装方法があると思いますが、勉強中の方の理解のとっかかりになれば嬉しく思います。&lt;/p&gt;
&lt;p&gt;用語の定義など含め、ご指摘事項などあれば &lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Twitter&lt;/a&gt; の DM などでいただけますと幸いです。&lt;/p&gt;
&lt;h2 id=&quot;参考書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;参考書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考書籍&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3FeJ4yy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンタープライズアプリケーションアーキテクチャパターン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3eOykZa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ZNetFR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cmseB2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;．ＮＥＴのエンタープライズアプリケーションアーキテクチャ　第２版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/30DYXLI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Clean Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3AeR0MK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ドメイン駆動設計入門 ボトムアップでわかる！ドメイン駆動設計の基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/32GGu3p&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「実践ドメイン駆動設計」から学ぶDDDの実装入門&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01B5MX2O2?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7884eecb4f77a09490554e5e80b05ab9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01B5MX2O2&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01B5MX2O2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GRKD6XU?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e5bebe195262dc16be2ef0186c837ceb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GRKD6XU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GRKD6XU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00UX9VJGW?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fd4e4e0245294231d9b486e262c64c1d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00UX9VJGW&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00UX9VJGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822298485?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1f5d033f39a39b8b5125d5e9a06df697&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822298485&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4822298485&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07FSBHS2V?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d5fa680059a8d97efd390bb0072f4ad1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07FSBHS2V&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07FSBHS2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082WXZVPC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d41efaf2049af2e64b3cd75cd7802cb5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082WXZVPC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B082WXZVPC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07S675HVM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2ea832e09e739b30f288416d5eb39d98&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07S675HVM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07S675HVM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;関連記事&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E8%A8%98%E4%BA%8B&quot; aria-label=&quot;関連記事 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連記事&lt;/h2&gt;
&lt;p&gt;以下、自分が過去に書いた関連記事です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/7a229585ebdd8b7d86c2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MVC、3 層アーキテクチャから設計を学び始めるための基礎知識&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/25725edfe3c2af93d735&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ビジネスロジック」とは何か、どう実装するのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/66fb47f229896b32b2e8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Controller にビジネスロジックを書くな」の対応パターン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/what-is-service-class&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「サービスクラス」は 3 種類ある&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2021 年 10 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 10 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202110</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202110</guid><pubDate>Mon, 01 Nov 2021 05:29:09 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 10 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;cpu-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;cpu について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU について&lt;/h2&gt;
&lt;h3 id=&quot;プロセッサを支える技術--果てしなくスピードを追求する世界&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93--%E6%9E%9C%E3%81%A6%E3%81%97%E3%81%AA%E3%81%8F%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E6%B1%82%E3%81%99%E3%82%8B%E4%B8%96%E7%95%8C&quot; aria-label=&quot;プロセッサを支える技術  果てしなくスピードを追求する世界 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w1gXyC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロセッサを支える技術 ― 果てしなくスピードを追求する世界&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JJJ22ML?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=25534b899c2040e71d8ecfca8e2f2a37&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JJJ22ML&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07JJJ22ML&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;現代のプロセッサがどのようにして高速化されているのかなどを解説した書籍です。&lt;/p&gt;
&lt;p&gt;この 1 冊で、パイプライン処理やスーパースカラなど、色々なキーワードを学ぶことができました。&lt;/p&gt;
&lt;p&gt;CPU の基本は分かった上で読んだ方が良いので、事前に&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3bwGPsV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CPUの創りかた&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3EBOB1g&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめて読む8086―16ビット・コンピュータをやさしく語る&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3pV8snK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりを読んでから手に取るのがおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;デジタル回路について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;デジタル回路について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;デジタル回路について&lt;/h2&gt;
&lt;h3 id=&quot;基本からわかる-ディジタル回路講義ノート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B-%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF%E8%AC%9B%E7%BE%A9%E3%83%8E%E3%83%BC%E3%83%88&quot; aria-label=&quot;基本からわかる ディジタル回路講義ノート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2ZJQg5O&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基本からわかる ディジタル回路講義ノート&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4274217264/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=81c17e8d163e1195735617a243edf8d3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4274217264&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4274217264&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらはデジタル回路の勉強用に購入しました。&lt;/p&gt;
&lt;p&gt;デジタル回路の基本から、順序回路・組合せ回路まで、一通りざっと勉強できました。&lt;/p&gt;
&lt;p&gt;本を読むだけでは定着しにくい内容なので、章末に練習問題があるのが結構よかったです。&lt;/p&gt;
&lt;h2 id=&quot;電子工作について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;電子工作について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;電子工作について&lt;/h2&gt;
&lt;h3 id=&quot;わかる！-電子工作の基本-100&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%8F%E3%81%8B%E3%82%8B%EF%BC%81-%E9%9B%BB%E5%AD%90%E5%B7%A5%E4%BD%9C%E3%81%AE%E5%9F%BA%E6%9C%AC-100&quot; aria-label=&quot;わかる！ 電子工作の基本 100 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mv8vVe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;わかる！ 電子工作の基本 100&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00KRW8B9I/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=196ee53020dc2a26861bc12154ca50df&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00KRW8B9I&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00KRW8B9I&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;電子工作についてもイマイチよく分かっていないと感じていたので、こちらの本を読みました。&lt;/p&gt;
&lt;p&gt;「電子工作を始めてみたけど回路がよく分からない」というタイミングで非常に良い本でした。&lt;/p&gt;
&lt;p&gt;トランジスタのなどの部品の基本からマイコンの入門まで、必要な知識をざっとおさえられる内容でした。&lt;/p&gt;
&lt;h2 id=&quot;ccna-関連&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ccna-%E9%96%A2%E9%80%A3&quot; aria-label=&quot;ccna 関連 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CCNA 関連&lt;/h2&gt;
&lt;h3 id=&quot;シスコ技術者認定教科書-ccna-完全合格テキスト問題集対応試験200-301&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%82%B3%E6%8A%80%E8%A1%93%E8%80%85%E8%AA%8D%E5%AE%9A%E6%95%99%E7%A7%91%E6%9B%B8-ccna-%E5%AE%8C%E5%85%A8%E5%90%88%E6%A0%BC%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E5%95%8F%E9%A1%8C%E9%9B%86%E5%AF%BE%E5%BF%9C%E8%A9%A6%E9%A8%93200-301&quot; aria-label=&quot;シスコ技術者認定教科書 ccna 完全合格テキスト問題集対応試験200 301 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jU1VWI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCNA 完全合格テキスト&amp;#x26;問題集[対応試験]200-301&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087JKL1JH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=68b9e0d09313fd60de8645195366d524&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087JKL1JH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B087JKL1JH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;徹底攻略cisco-ccna問題集［200-301-ccna］対応-徹底攻略シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5cisco-ccna%E5%95%8F%E9%A1%8C%E9%9B%86%EF%BC%BB200-301-ccna%EF%BC%BD%E5%AF%BE%E5%BF%9C-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;徹底攻略cisco ccna問題集［200 301 ccna］対応 徹底攻略シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mwj9uO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;徹底攻略Cisco CCNA問題集［200-301 CCNA］対応 徹底攻略シリーズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B093BDVD5W/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1c8d7237bb3137fb980b861f71c057c1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B093BDVD5W&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B093BDVD5W&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;シスコ技術者認定教科書-ccentccna-routing-and-switching-icnd1編-v30-テキスト問題集-［対応試験］100-105j200-125j&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%82%B3%E6%8A%80%E8%A1%93%E8%80%85%E8%AA%8D%E5%AE%9A%E6%95%99%E7%A7%91%E6%9B%B8-ccentccna-routing-and-switching-icnd1%E7%B7%A8-v30-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E5%95%8F%E9%A1%8C%E9%9B%86-%EF%BC%BB%E5%AF%BE%E5%BF%9C%E8%A9%A6%E9%A8%93%EF%BC%BD100-105j200-125j&quot; aria-label=&quot;シスコ技術者認定教科書 ccentccna routing and switching icnd1編 v30 テキスト問題集 ［対応試験］100 105j200 125j permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3EpAmwi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCENT/CCNA Routing and Switching ICND1編 v3.0 テキスト&amp;#x26;問題集 ［対応試験］100-105J/200-125J&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01N11R2UE/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=951f21117841a978863e2774b33e4957&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01N11R2UE&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01N11R2UE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;シスコ技術者認定教科書-ccna-routing-and-switching-icnd2編-v30-テキスト＆問題集-［対応試験］200-105j200-125j&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%82%B3%E6%8A%80%E8%A1%93%E8%80%85%E8%AA%8D%E5%AE%9A%E6%95%99%E7%A7%91%E6%9B%B8-ccna-routing-and-switching-icnd2%E7%B7%A8-v30-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%EF%BC%86%E5%95%8F%E9%A1%8C%E9%9B%86-%EF%BC%BB%E5%AF%BE%E5%BF%9C%E8%A9%A6%E9%A8%93%EF%BC%BD200-105j200-125j&quot; aria-label=&quot;シスコ技術者認定教科書 ccna routing and switching icnd2編 v30 テキスト＆問題集 ［対応試験］200 105j200 125j permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3kerrpZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCNA Routing and Switching ICND2編 v3.0 テキスト＆問題集 ［対応試験］200-105J/200-125J&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B072BWSY4R/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=039d76b242ec87af86201a2502e5634c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B072BWSY4R&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B072BWSY4R&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;今更ながら CCNA を取得しておこうと思い、手元に古いテキスト・問題集もあったので、新しく購入したものと古いもの、両方使って勉強しました。&lt;/p&gt;
&lt;p&gt;3 週間ほど勉強してなんとか合格できましたが、改訂でどんどん難易度が上がっていると言われている通り、一般に認知されているよりも取得の難しい資格だなと感じました。&lt;/p&gt;
&lt;p&gt;改めて勉強してみて、ネットワークの基本をかなりおさえられる資格だなと感じたので、ネットワークまわりが弱点だと感じている方にはとてもおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、10 月は 7 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;この 1 ヶ月は、エンベデッドシステムスペシャリストを受験するにあたっての勉強と、CCNA を受験するにあたっての勉強が中心でした。&lt;/p&gt;
&lt;p&gt;特に CCNA は想像していたよりも難易度が高く、結構勉強する必要があったので、先月・先々月と比べると読書量はかなり少なくなってしまいました。&lt;/p&gt;
&lt;p&gt;来月は CKA や GCP の認定の取得を目指す予定ですが、読書量はもう少し増やすつもりです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【CCNA 対策】IPv6 アドレスの構造や種類の整理]]></title><description><![CDATA[IPv6 はその知名度自体は高いですが、IPv4 アドレスについては普段からふれるためある程度分かるものの、IPv6 アドレスについてはよく分からないという方も少なくないのではないかと思います。
そんな方に向けて、CCNA に出題される範囲で、IPv6 の構造や種類を整理しました。]]></description><link>https://www.kanzennirikaisita.com/posts/ipv6-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ipv6-concepts</guid><pubDate>Fri, 22 Oct 2021 03:57:28 GMT</pubDate><content:encoded>&lt;p&gt;IPv6 はその知名度自体は高いですが、IPv4 アドレスについては普段からふれるためある程度分かるものの、IPv6 アドレスについてはよく分からないという方も少なくないのではないかと思います。&lt;/p&gt;
&lt;p&gt;そんな方に向けて、CCNA に出題される範囲で、IPv6 の構造や種類を整理しました。&lt;/p&gt;
&lt;p&gt;※ 記載しているコマンドは Cisco 機器のものになります。&lt;/p&gt;
&lt;h2 id=&quot;ipv6-アドレスの構造&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ipv6-%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E6%A7%8B%E9%80%A0&quot; aria-label=&quot;ipv6 アドレスの構造 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IPv6 アドレスの構造&lt;/h2&gt;
&lt;p&gt;IPv6 アドレス = サブネットプレフィックス + インターフェイス ID&lt;/p&gt;
&lt;h2 id=&quot;ipv6-アドレスの種類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ipv6-%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E7%A8%AE%E9%A1%9E&quot; aria-label=&quot;ipv6 アドレスの種類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IPv6 アドレスの種類&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ユニキャストアドレス&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;グローバルユニキャストアドレス (2000::/3) … インターネット上で一意&lt;/li&gt;
&lt;li&gt;リンクローカルユニキャストアドレス (fe80::/10) … 同じサブネット上での通信が可能&lt;/li&gt;
&lt;li&gt;ユニークローカルユニキャストアドレス (fc00::/7) … 企業などのローカル&lt;/li&gt;
&lt;li&gt;サイトローカルユニキャストアドレス (現在は利用されない)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;マルチキャストアドレス (ff00:/8)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;インターフェイスローカル (ff01::/16)&lt;/li&gt;
&lt;li&gt;リンクローカル (ff02::/16)&lt;/li&gt;
&lt;li&gt;サイトローカル (ff05::/16)&lt;/li&gt;
&lt;li&gt;組織ローカル (ff08::/16)&lt;/li&gt;
&lt;li&gt;グローバル (ff0e::/16)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;エニーキャストアドレス … 複数の機器に同じアドレスを割り当てる。ユニキャストアドレスと同じ構文&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;インターフェイス-id&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9-id&quot; aria-label=&quot;インターフェイス id permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インターフェイス ID&lt;/h2&gt;
&lt;p&gt;インターフェイス ID については、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;手動&lt;/li&gt;
&lt;li&gt;DHCP&lt;/li&gt;
&lt;li&gt;EUI-64 形式で自動生成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のいずれかで決まる。&lt;/p&gt;
&lt;h2 id=&quot;eui-64-形式でのインターフェイス-id-の自動生成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#eui-64-%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9-id-%E3%81%AE%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90&quot; aria-label=&quot;eui 64 形式でのインターフェイス id の自動生成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;EUI-64 形式でのインターフェイス ID の自動生成&lt;/h2&gt;
&lt;h3 id=&quot;リンクローカルユニキャストアドレスの場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%8B%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E5%A0%B4%E5%90%88&quot; aria-label=&quot;リンクローカルユニキャストアドレスの場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リンクローカルユニキャストアドレスの場合&lt;/h3&gt;
&lt;p&gt;リンクローカルユニキャストアドレスは、サブネットプレフィックスが fe80::/64 で固定であり、インターフェイス ID だけ決まれば良い。&lt;/p&gt;
&lt;p&gt;EUI-64 形式で自動生成したインターフェイス ID でリンクローカルユニキャストアドレスを割り当てる場合は、以下のコマンドを実行するだけで良い。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;(config-if)#ipv6 enable&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;グローバルユニキャストアドレスの場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E3%83%A6%E3%83%8B%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E5%A0%B4%E5%90%88&quot; aria-label=&quot;グローバルユニキャストアドレスの場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;グローバルユニキャストアドレスの場合&lt;/h3&gt;
&lt;h4 id=&quot;サブネットプレフィックスは手動で設定する場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%83%97%E3%83%AC%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%81%AF%E6%89%8B%E5%8B%95%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88&quot; aria-label=&quot;サブネットプレフィックスは手動で設定する場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サブネットプレフィックスは手動で設定する場合&lt;/h4&gt;
&lt;p&gt;サブネットプレフィックスは手動で設定し、インターフェイス ID は EUI-64 形式で自動で設定するには、以下のコマンドを実行する。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;(config-if)#ipv6 address &amp;lt;アドレス&amp;gt;/&amp;lt;プレフィックス長&amp;gt; eui-64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 id=&quot;サブネットプレフィックスも自動で設定する場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%83%97%E3%83%AC%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%82%82%E8%87%AA%E5%8B%95%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88&quot; aria-label=&quot;サブネットプレフィックスも自動で設定する場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サブネットプレフィックスも自動で設定する場合&lt;/h4&gt;
&lt;p&gt;SLAAC (Stateless Address Auto Configuration) を使うことで、DHCP を使わずにサブネットプレフィックスを含めたグローバルユニキャストアドレスを自動設定できる。&lt;/p&gt;
&lt;p&gt;コマンドは以下のようになる。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;(config-if)#ipv6 address autoconfig&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;参考書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;参考書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考書籍&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3AVN180&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCNA 完全合格テキスト＆問題集［対応試験］200 -301&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087JKL1JH?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=cb696349f0df83565ad4ee36db9f56a2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087JKL1JH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B087JKL1JH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【CCNA 対策】VLAN 関連の用語の整理]]></title><description><![CDATA[CCNA に出題される範囲で、VLAN 関連の用語を整理しました。
※ CCNA を意識した内容のため、Cisco 機器に特化した内容も含まれます。]]></description><link>https://www.kanzennirikaisita.com/posts/vlan-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/vlan-concepts</guid><pubDate>Thu, 21 Oct 2021 09:50:13 GMT</pubDate><content:encoded>&lt;p&gt;CCNA に出題される範囲で、VLAN 関連の用語を整理しました。&lt;/p&gt;
&lt;p&gt;※ CCNA を意識した内容のため、Cisco 機器に特化した内容も含まれます。&lt;/p&gt;
&lt;h2 id=&quot;整理した図&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%95%B4%E7%90%86%E3%81%97%E3%81%9F%E5%9B%B3&quot; aria-label=&quot;整理した図 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;整理した図&lt;/h2&gt;
&lt;p&gt;まず最初に、整理した図を掲載しておきます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/vlan.png&quot; alt=&quot;vlan&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここから、主要な用語について解説していきます。&lt;/p&gt;
&lt;h2 id=&quot;ポート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9D%E3%83%BC%E3%83%88&quot; aria-label=&quot;ポート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ポート&lt;/h2&gt;
&lt;p&gt;ポートにはモードがあり、「アクセスポート」と「トランクポート」のどちらかを設定することになります。&lt;/p&gt;
&lt;p&gt;設定方法は以下のどちらかになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(config-if)#switchport mode &amp;#x3C;access | trunk&gt;&lt;/li&gt;
&lt;li&gt;DTP (Dynamic Trunking Protocol)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、DTP は Cisco 独自のプロトコルです。&lt;/p&gt;
&lt;h3 id=&quot;アクセスポート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88&quot; aria-label=&quot;アクセスポート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アクセスポート&lt;/h3&gt;
&lt;p&gt;1 つの VLAN に所属するポートです。
PC やサーバと接続します。&lt;/p&gt;
&lt;p&gt;アクセスポートにはどの VLAN に所属するのかを設定する必要があります。
その設定方法として、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ポートベース VLAN (スタティック VLAN)&lt;/li&gt;
&lt;li&gt;ダイナミック VLAN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 種類があります。&lt;/p&gt;
&lt;h3 id=&quot;トランクポート&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%A9%E3%83%B3%E3%82%AF%E3%83%9D%E3%83%BC%E3%83%88&quot; aria-label=&quot;トランクポート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;トランクポート&lt;/h3&gt;
&lt;p&gt;複数の VLAN に所属するポートです。
他のスイッチやルータと接続します。&lt;/p&gt;
&lt;p&gt;トランクポートにはトランキングプロトコルを設定する必要があります。&lt;/p&gt;
&lt;p&gt;トランキングプロトコルとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ISL (Inter-Switch Link) … Cisco 独自のプロトコル。カプセル化を行う&lt;/li&gt;
&lt;li&gt;IEEE 802.1Q … 標準化されたプロトコル。イーサネットフレームに VLAN タグを挿入する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;があります。&lt;/p&gt;
&lt;p&gt;IEEE 802.1Q を使う場合、1 つの VLAN についてはタグを挿入しないことで判別することができます。
そのように設定した VLAN を「ネイティブ VLAN」と呼びます。&lt;/p&gt;
&lt;h2 id=&quot;vtp-vlan-trunking-protocol&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vtp-vlan-trunking-protocol&quot; aria-label=&quot;vtp vlan trunking protocol permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VTP (VLAN Trunking Protocol)&lt;/h2&gt;
&lt;p&gt;スイッチ間で VLAN の情報を同期させるための、Cisco 独自のプロトコルです。&lt;/p&gt;
&lt;p&gt;同じドメインに所属するスイッチ間で VLAN 情報の同期が行われます。&lt;/p&gt;
&lt;p&gt;また、動作モードとして「サーバー」、「クライアント」、「トランスペアレント」の 3 種類があります。&lt;/p&gt;
&lt;h3 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h3&gt;
&lt;p&gt;CCNA の VLAN 関連の出題範囲では、これら意外にも SVI (Switch Virtual Interface) などの用語や実際の設定方法を学ぶ必要があります。&lt;/p&gt;
&lt;p&gt;とはいえまずは VLAN 関連の用語の全体像をつかむと理解しやすくなると思います。
この記事の整理が参考になれば幸いです。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;h3 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3AVN180&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCNA 完全合格テキスト＆問題集［対応試験］200 -301&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087JKL1JH?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=cb696349f0df83565ad4ee36db9f56a2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087JKL1JH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B087JKL1JH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;web-サイト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%B5%E3%82%A4%E3%83%88&quot; aria-label=&quot;web サイト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web サイト&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.infraexpert.com/study/vlanz2.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VLAN - アクセスポートとトランクポート&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[ルーティングプロトコルの分類]]></title><description><![CDATA[ルーティングプロトコルの分類を簡単にだけまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/routing-protocols</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/routing-protocols</guid><pubDate>Sat, 16 Oct 2021 12:26:19 GMT</pubDate><content:encoded>&lt;p&gt;ルーティングプロトコルの分類を簡単にだけまとめます。&lt;/p&gt;
&lt;h2 id=&quot;分類表&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%88%86%E9%A1%9E%E8%A1%A8&quot; aria-label=&quot;分類表 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;分類表&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;略称&lt;/th&gt;
&lt;th&gt;正式名称&lt;/th&gt;
&lt;th&gt;メトリック&lt;/th&gt;
&lt;th&gt;IGP / EGP&lt;/th&gt;
&lt;th&gt;アルゴリズム&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RIP&lt;/td&gt;
&lt;td&gt;Routing Information Protocol&lt;/td&gt;
&lt;td&gt;ホップ数&lt;/td&gt;
&lt;td&gt;IGP&lt;/td&gt;
&lt;td&gt;ディスタンスベクタ型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EIGRP&lt;/td&gt;
&lt;td&gt;Enhanced Interior Gateway Routing Procotol&lt;/td&gt;
&lt;td&gt;帯域幅、遅延、信頼性、負荷、MTU を使う複合メトリック&lt;/td&gt;
&lt;td&gt;IGP&lt;/td&gt;
&lt;td&gt;拡張ディスタンスベクタ型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OSPF&lt;/td&gt;
&lt;td&gt;Open Shortest Path First&lt;/td&gt;
&lt;td&gt;帯域幅から計算するコスト&lt;/td&gt;
&lt;td&gt;IGP&lt;/td&gt;
&lt;td&gt;リンクステート型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IS-IS&lt;/td&gt;
&lt;td&gt;Intermediate System to Intermidiate System&lt;/td&gt;
&lt;td&gt;ナローメトリックまたはワイドメトリック&lt;/td&gt;
&lt;td&gt;IGP&lt;/td&gt;
&lt;td&gt;リンクステート型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BGP&lt;/td&gt;
&lt;td&gt;Border Gateway Protocol&lt;/td&gt;
&lt;td&gt;パスアトリビュート&lt;/td&gt;
&lt;td&gt;EGP&lt;/td&gt;
&lt;td&gt;パスベクタ型&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;アルゴリズム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&quot; aria-label=&quot;アルゴリズム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アルゴリズム&lt;/h2&gt;
&lt;h3 id=&quot;ディスタンスベクタ型&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%82%A3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%83%99%E3%82%AF%E3%82%BF%E5%9E%8B&quot; aria-label=&quot;ディスタンスベクタ型 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ディスタンスベクタ型&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ルーティングテーブルの情報を交換&lt;/li&gt;
&lt;li&gt;距離と方向を基に最適経路を選出&lt;/li&gt;
&lt;li&gt;ベルマン–フォード法を使う&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;拡張ディスタンスベクタ型-ハイブリッド型&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8B%A1%E5%BC%B5%E3%83%87%E3%82%A3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%83%99%E3%82%AF%E3%82%BF%E5%9E%8B-%E3%83%8F%E3%82%A4%E3%83%96%E3%83%AA%E3%83%83%E3%83%89%E5%9E%8B&quot; aria-label=&quot;拡張ディスタンスベクタ型 ハイブリッド型 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;拡張ディスタンスベクタ型 (ハイブリッド型)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;リンクステート型の特徴も取り入れられている&lt;/li&gt;
&lt;li&gt;DUAL を使う&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;リンクステート型&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E5%9E%8B&quot; aria-label=&quot;リンクステート型 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リンクステート型&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;インターフェイスの情報を交換&lt;/li&gt;
&lt;li&gt;全体構成を把握してから最適経路を算出&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;パスベクタ型&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%82%B9%E3%83%99%E3%82%AF%E3%82%BF%E5%9E%8B&quot; aria-label=&quot;パスベクタ型 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;パスベクタ型&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;経路の情報 (属性) と方向で決める&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3vjWMM1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シスコ技術者認定教科書 CCNA 完全合格テキスト＆問題集［対応試験］200 -301&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YZpbes&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;〔改訂新版〕 3分間ルーティング基礎講座 (3分間NetWorkingシリーズ)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087JKL1JH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a33ba89cf0275d507099aa5ffe50e924&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087JKL1JH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B087JKL1JH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774157376/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=14208f4c34041bc0cc5d22c0181ebb94&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774157376&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4774157376&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[仮想化技術の解説書 7 冊の紹介]]></title><description><![CDATA[2021 年現在、仮想化技術はもはや当然のように使われていますが、具体的にどういったものなのか、仕組みはどうなっているのかまでは知らないという方も少なくないのではないでしょうか。
この記事では、サーバ・ネットワーク・ストレージなどの仮想化について学べる書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/virtualization-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/virtualization-books</guid><pubDate>Thu, 14 Oct 2021 06:20:45 GMT</pubDate><content:encoded>&lt;p&gt;2021 年現在、仮想化技術はもはや当然のように使われていますが、具体的にどういったものなのか、仕組みはどうなっているのかまでは知らないという方も少なくないのではないでしょうか。&lt;/p&gt;
&lt;p&gt;この記事では、サーバ・ネットワーク・ストレージなどの仮想化について学べる書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;おうちで学べる仮想化のきほん&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%81%86%E3%81%A1%E3%81%A7%E5%AD%A6%E3%81%B9%E3%82%8B%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93&quot; aria-label=&quot;おうちで学べる仮想化のきほん permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/30fPv4m&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;おうちで学べる仮想化のきほん&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00WM81JLM?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0f15ff36839d1636f79f38881f160fad&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00WM81JLM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00WM81JLM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;サーバ仮想化、ネットワーク仮想化、ストレージ仮想化、クラウドといった仮想化技術の概要について書かれている書籍です。&lt;/p&gt;
&lt;p&gt;技術者以外の方も読めるように書かれている書籍なので、とても平易な内容となっています。&lt;/p&gt;
&lt;h2 id=&quot;「仮想化」実装の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E4%BB%AE%E6%83%B3%E5%8C%96%E3%80%8D%E5%AE%9F%E8%A3%85%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;「仮想化」実装の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mQpQXG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「仮想化」実装の基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0168EZKOC?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f1de7028bbf9211d5dac267f627a38cb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0168EZKOC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0168EZKOC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもサーバ、ネットワーク、ストレージなどの仮想化技術全般の解説書です。&lt;/p&gt;
&lt;p&gt;こちらの本は技術者向けで、サーバやネットワークについてある程度前提知識が必要です。&lt;/p&gt;
&lt;p&gt;設計上の考慮点なども一通り解説されており、仮想化技術を全体的に学びたい際などにおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;ネットワーク仮想化～基礎からすっきりわかる入門書～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E4%BB%AE%E6%83%B3%E5%8C%96%EF%BD%9E%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8B%E5%85%A5%E9%96%80%E6%9B%B8%EF%BD%9E&quot; aria-label=&quot;ネットワーク仮想化～基礎からすっきりわかる入門書～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mU74yC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワーク仮想化～基礎からすっきりわかる入門書～&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B014UEFZ3S?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=737565d6f90b15b545b0225c839d2fe2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B014UEFZ3S&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B014UEFZ3S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ネットワーク仮想化に特化した入門書です。&lt;/p&gt;
&lt;p&gt;ネットワーク仮想化に関連する技術について、一通り解説されています。&lt;/p&gt;
&lt;p&gt;OpenFlow のような少し高度なトピックについても、かなりのページを割いて書かれています。&lt;/p&gt;
&lt;h2 id=&quot;kvm徹底入門-linuxカーネル仮想化基盤構築ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kvm%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E4%BB%AE%E6%83%B3%E5%8C%96%E5%9F%BA%E7%9B%A4%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;kvm徹底入門 linuxカーネル仮想化基盤構築ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2YLeuwj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;KVM徹底入門　Linuxカーネル仮想化基盤構築ガイド&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00JIQU8EU?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7cb3d9c0ad44bcdd69e2af93e66cca05&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00JIQU8EU&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00JIQU8EU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Linux カーネルに組み込まれている仮想化 OSS である KVM の解説書です。&lt;/p&gt;
&lt;p&gt;準仮想化と完全仮想化といった仮想化技術の基本から始まり、KVM の具体的な使い方まで解説されています。&lt;/p&gt;
&lt;p&gt;QEMU や libvirt、virt-manager など、KVM を使う際に知っておくべき要素の関連性などがとても分かりやすく、Web 上の情報で分かりにくい点をすんなり理解することができます。&lt;/p&gt;
&lt;p&gt;2010 年発売のため具体的なコマンドなどの情報は古くなっていますが、KVM の概要をつかみたい際には非常におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;xen徹底入門-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xen%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;xen徹底入門 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3p669hv&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Xen徹底入門 第2版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798120022?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=517bb74462e6a0906207541f963761a5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798120022&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798120022&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Xen についての解説書です。&lt;/p&gt;
&lt;p&gt;最近は KVM が使われることが多いと思いますが、Xen の解説書を何か 1 冊、ということであればこちらになります。&lt;/p&gt;
&lt;h2 id=&quot;仮想化技術xen-概念と内部構造&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E5%8C%96%E6%8A%80%E8%A1%93xen-%E6%A6%82%E5%BF%B5%E3%81%A8%E5%86%85%E9%83%A8%E6%A7%8B%E9%80%A0&quot; aria-label=&quot;仮想化技術xen 概念と内部構造 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3p8ziZ4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想化技術Xen-概念と内部構造&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4839927588?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=440854616864f2232642a459e6f8ce32&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4839927588&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4839927588&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも Xen の解説書ですが、タイトル通り、内部構造などが解説されています。&lt;/p&gt;
&lt;p&gt;難易度は結構高く、前提としてメモリ管理やデバイスドライバなど、OS に関する知識がかなり求められます。&lt;/p&gt;
&lt;h2 id=&quot;徹底攻略lpic-level3-304教科書＋問題集［version-20］対応-徹底攻略シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5lpic-level3-304%E6%95%99%E7%A7%91%E6%9B%B8%EF%BC%8B%E5%95%8F%E9%A1%8C%E9%9B%86%EF%BC%BBversion-20%EF%BC%BD%E5%AF%BE%E5%BF%9C-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;徹底攻略lpic level3 304教科書＋問題集［version 20］対応 徹底攻略シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mRcnPn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;徹底攻略LPIC Level3 304教科書＋問題集［Version 2.0］対応 徹底攻略シリーズ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01EKXKZ4S?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e51b099df0e9e2c234256489734291c0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01EKXKZ4S&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01EKXKZ4S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC 304 試験の教科書・問題集です。&lt;/p&gt;
&lt;p&gt;LPIC 304 試験は、仮想化技術全般についての試験なので、仮想化技術をざっくり学びたい、という際に取得してみてもいいかもしれません。&lt;/p&gt;
&lt;p&gt;HAProxy や keepalived、Pacemaker などを使った負荷分散クラスタ・フェイルオーバクラスタなどについても出題されます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、仮想化技術の解説書を紹介しました。&lt;/p&gt;
&lt;p&gt;個人的には、仮想マシンについて学びたいのであれば、とりあえず『&lt;a href=&quot;https://amzn.to/2YLeuwj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;KVM徹底入門　Linuxカーネル仮想化基盤構築ガイド&lt;/a&gt;』がおすすめです。&lt;/p&gt;
&lt;p&gt;なお、最近よく使われる仮想化技術の 1 つである Docker に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/docker-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非そちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 10 月時点】MLOps に関連する日本語の書籍まとめ]]></title><description><![CDATA[数年前は時々耳にする程度であった "MLOps" という分野は、今年 2021 年で爆発的に注目を集めています。
1 年前にはほとんどなかった日本語の書籍も、2021 年 10 月時点ではかなり充実しており、2021 年に IT 業界で注目されている技術の一つとはっきり言えるほどになっています。
この記事では、そんな "MLOps" に関連する書籍と、前提として必要なデータエンジニアリングに関する書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/mlops-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/mlops-books</guid><pubDate>Wed, 13 Oct 2021 13:33:42 GMT</pubDate><content:encoded>&lt;p&gt;数年前は時々耳にする程度であった “MLOps” という分野は、今年 2021 年で爆発的に注目を集めています。&lt;/p&gt;
&lt;p&gt;1 年前にはほとんどなかった日本語の書籍も、2021 年 10 月時点ではかなり充実しており、2021 年に IT 業界で注目されている技術の一つとはっきり言えるほどになっています。&lt;/p&gt;
&lt;p&gt;この記事では、そんな “MLOps” に関連する書籍と、前提として必要なデータエンジニアリングに関する書籍を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;mlops-に関連する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlops-%E3%81%AB%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;mlops に関連する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;“MLOps” に関連する書籍&lt;/h2&gt;
&lt;h3 id=&quot;仕事ではじめる機械学習-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%95%E4%BA%8B%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;仕事ではじめる機械学習 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mO60w7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仕事ではじめる機械学習 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119472?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bd18c2766fb4ec2baaa8780982b1ad1f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119472&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119472&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 4 月発売のオライリーの書籍です。&lt;/p&gt;
&lt;p&gt;機械学習を仕事で使うために必要な知識を一通り解説している書籍です。&lt;/p&gt;
&lt;p&gt;6 章が MLOps に関する内容であり、機械学習基盤における CI / CD / CT (継続的トレーニング) や、実験環境の整備、サービング、監視などについて、様々なツールを紹介しながら簡単に解説しています。&lt;/p&gt;
&lt;p&gt;MLOps に限らず、機械学習で必要な知識全般を学びたい、という場合に適していると思います。&lt;/p&gt;
&lt;h3 id=&quot;機械学習による実用アプリケーション構築-事例を通じて学ぶ、設計から本番稼働までのプロセス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E7%94%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A7%8B%E7%AF%89-%E4%BA%8B%E4%BE%8B%E3%82%92%E9%80%9A%E3%81%98%E3%81%A6%E5%AD%A6%E3%81%B6%E3%80%81%E8%A8%AD%E8%A8%88%E3%81%8B%E3%82%89%E6%9C%AC%E7%95%AA%E7%A8%BC%E5%83%8D%E3%81%BE%E3%81%A7%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9&quot; aria-label=&quot;機械学習による実用アプリケーション構築 事例を通じて学ぶ、設計から本番稼働までのプロセス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3FIUURN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119502?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=79e279af4be1b780a3e993fb22aed58b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119502&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119502&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも 2021 年 4 月発売のオライリーの書籍です。&lt;/p&gt;
&lt;p&gt;タイトル通り、本番で機械学習を用いたアプリケーションを実稼働させるための解説書です。&lt;/p&gt;
&lt;p&gt;具体的に特定のツールを解説するというよりも、どのような考え方でどう設計するのかといった解説になっています。&lt;/p&gt;
&lt;h3 id=&quot;google-cloud-platformではじめる機械学習と深層学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud-platform%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%A8%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;google cloud platformではじめる機械学習と深層学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iZCYsx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloud Platformではじめる機械学習と深層学習&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07F6YR7XT?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7039b54ae9258d02a0a221a4586dc223&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07F6YR7XT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07F6YR7XT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2018 年 12 月発売の、GCP における機械学習を用いたアプリケーションの開発に関する解説書です。&lt;/p&gt;
&lt;p&gt;当時まだ “MLOps” という単語が一般的ではなかったためだと思いますが、この書籍では “MLOps” という単語は登場しません。&lt;/p&gt;
&lt;p&gt;ですが内容としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習システムのパイプライン&lt;/li&gt;
&lt;li&gt;モデルのサービング&lt;/li&gt;
&lt;li&gt;モデルやデータのバージョニング&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、今で言う “MLOps” についての解説書です。&lt;/p&gt;
&lt;p&gt;この記事で紹介する中では古い (発売から 3 年弱) 書籍ではありますが、初心者向けに “MLOps” の考え方を解説した書籍としてはかなりおすすめです。&lt;/p&gt;
&lt;h3 id=&quot;googlecloudplatform-実践-機械学習基礎開発machinelearningデータ分析&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#googlecloudplatform-%E5%AE%9F%E8%B7%B5-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%9F%BA%E7%A4%8E%E9%96%8B%E7%99%BAmachinelearning%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90&quot; aria-label=&quot;googlecloudplatform 実践 機械学習基礎開発machinelearningデータ分析 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iU1cUL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GoogleCloudPlatform 実践 機械学習基礎開発MachineLearning/データ分析&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798059579?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d9af7c065ce86b1f48d49e9b3f7e3519&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798059579&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798059579&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年 2 月発売の、GCP における機械学習の解説書です。&lt;/p&gt;
&lt;p&gt;AutoML や BigQuery ML といった専門知識なしで使える機械学習サービスの解説から、Cloud Dataflow などを使ったデータ処理など、GCP におけるデータの取り扱いについて幅広く解説されています。&lt;/p&gt;
&lt;p&gt;データ処理に関する解説が多いですが、最後の 2 ページで “MLOps” について触れられており、これが日本語で “MLOps” という単語を解説した最初の本なのではないかと思います。&lt;/p&gt;
&lt;h3 id=&quot;aiエンジニアのための機械学習システムデザインパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;aiエンジニアのための機械学習システムデザインパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iUEvQE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエンジニアのための機械学習システムデザインパターン&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08YNMRH4J?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=121a4619eab3fffa7d09371f102819ef&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08YNMRH4J&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08YNMRH4J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 5 月発売の、メルカリで MLOps チームのマネジャーをしていた著者によるデザインパターンの解説書です。&lt;/p&gt;
&lt;p&gt;メルカリが公開した「&lt;a href=&quot;https://github.com/mercari/ml-system-design-pattern&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習システムデザインパターン&lt;/a&gt;」がもとになっています。&lt;/p&gt;
&lt;p&gt;機械学習を用いたアプリケーションの構成を具体的にパターン化して解説されており、具体的な構成イメージが湧かないという方におすすめです。&lt;/p&gt;
&lt;p&gt;また、6 章で解説されている内容は、機械学習システムに限らず、サービスメッシュ (Istio) の活用例・ハンズオンとしてもおすすめできます。&lt;/p&gt;
&lt;p&gt;余談ですが、アンチパターンに対してひねり出したと思われる利点が、ユーモアがあって面白かったです。&lt;/p&gt;
&lt;h3 id=&quot;入門-機械学習パイプライン-tensorflowで学ぶワークフローの自動化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3-tensorflow%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AE%E8%87%AA%E5%8B%95%E5%8C%96&quot; aria-label=&quot;入門 機械学習パイプライン tensorflowで学ぶワークフローの自動化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3FLbPmC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 機械学習パイプライン ―TensorFlowで学ぶワークフローの自動化&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119510?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c848572dd7cfafaf54ed699a2c11b1fb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119510&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119510&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 9 月発売の、TensorFlow を用いた機械学習パイプラインの解説書です。&lt;/p&gt;
&lt;p&gt;Tensorflow Extended (TFX) や Kubeflow Pipelines などを用いた機械学習パイプラインの構築について手厚く解説されています。&lt;/p&gt;
&lt;p&gt;MLOps の入門一冊目としてはハードルが高めだと思いますが、MLOps の概要を学んだ上で、実際にこれらのツールをさわってみたい、といった際におすすめです。&lt;/p&gt;
&lt;h3 id=&quot;未発売の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%AA%E7%99%BA%E5%A3%B2%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;未発売の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;未発売の書籍&lt;/h3&gt;
&lt;p&gt;この記事の執筆時点では未発売ですが、2021 年 10 月中に発売予定の書籍として、以下の 2 冊があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3iWUoWF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践 AWSデータサイエンス ―エンドツーエンドのMLOpsパイプライン実装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3FSovse&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;目次を見た限り、どちらも MLOps の知見を得るのにとても良さそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119685?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f58601d78c566e1186a76ea67a5846ca&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119685&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119685&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119561?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d88fe3ef2efac1b64e4de65b8ede9315&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119561&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119561&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;データエンジニアリングに関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;データエンジニアリングに関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データエンジニアリングに関する書籍&lt;/h2&gt;
&lt;p&gt;MLOps について実際に検討する上では、前提として「データ分析基盤」の構築のような、いわゆる「データエンジニアリング」の知識も重要です。&lt;/p&gt;
&lt;p&gt;ここからは、「データエンジニアリング」に関する書籍を紹介していきます。&lt;/p&gt;
&lt;h3 id=&quot;［増補改訂］ビッグデータを支える技術-ラップトップ1台で学ぶデータ基盤のしくみ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%EF%BC%BD%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-%E3%83%A9%E3%83%83%E3%83%97%E3%83%88%E3%83%83%E3%83%971%E5%8F%B0%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%83%BC%E3%82%BF%E5%9F%BA%E7%9B%A4%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF&quot; aria-label=&quot;［増補改訂］ビッグデータを支える技術 ラップトップ1台で学ぶデータ基盤のしくみ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2YQD7r9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［増補改訂］ビッグデータを支える技術 ——ラップトップ1台で学ぶデータ基盤のしくみ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08VJ6MJ3P?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4f162008d4ef976e6ae052ace2a555d4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08VJ6MJ3P&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08VJ6MJ3P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 2 月発売の、いわゆる「ビッグデータ」の解説書です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データレイク、データウェアハウス、データマート&lt;/li&gt;
&lt;li&gt;ETL&lt;/li&gt;
&lt;li&gt;BI&lt;/li&gt;
&lt;li&gt;Hadoop や Spark などによるビッグデータ処理&lt;/li&gt;
&lt;li&gt;ワークフロー管理やデータパイプライン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、ビッグデータ関連の基礎知識を一通り解説しており、増補改訂版では “MLOps” についても触れられています。&lt;/p&gt;
&lt;p&gt;いわゆる「データ分析基盤」のようなものについて知りたいという方には、まずこの本をおすすめしたいです。&lt;/p&gt;
&lt;p&gt;データエンジニアに限らず、IT エンジニアに広くおすすめできる一冊です。&lt;/p&gt;
&lt;h3 id=&quot;google-cloudではじめる実践データエンジニアリング入門業務で使えるデータ基盤構築&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E5%AE%9F%E8%B7%B5%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80%E6%A5%AD%E5%8B%99%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%9F%BA%E7%9B%A4%E6%A7%8B%E7%AF%89&quot; aria-label=&quot;google cloudではじめる実践データエンジニアリング入門業務で使えるデータ基盤構築 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3FICRv6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloudではじめる実践データエンジニアリング入門[業務で使えるデータ基盤構築]&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08WHZ55W9?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ae45e6de6f0124ec6910c9e97589d971&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08WHZ55W9&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08WHZ55W9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 2 月発売の、GCP におけるデータ基盤の構築についての解説書です。&lt;/p&gt;
&lt;p&gt;BigQuery、GCS、Cloud Dataproc、Cloud Composer などなど、GCP の各種サービスを使ってどうデータ基盤を構築するかが丁寧に解説されています。&lt;/p&gt;
&lt;p&gt;画面キャプチャなども豊富で、あまり前提知識がなくても読みやすい内容になっています。&lt;/p&gt;
&lt;p&gt;GCP でのデータ基盤について学びたい場合、今ならこちらが一番おすすめの書籍になります。&lt;/p&gt;
&lt;h3 id=&quot;awsではじめるデータレイク-クラウドによる統合型データリポジトリ構築入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%A4%E3%82%AF-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%82%88%E3%82%8B%E7%B5%B1%E5%90%88%E5%9E%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E6%A7%8B%E7%AF%89%E5%85%A5%E9%96%80&quot; aria-label=&quot;awsではじめるデータレイク クラウドによる統合型データリポジトリ構築入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3AGgW3Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/491031301X?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=2bc8e4648a524ac398735249feccf61c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=491031301X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=491031301X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年 7 月発売の、AWS におけるデータ分析基盤の構築に関する解説書です。&lt;/p&gt;
&lt;p&gt;タイトルは「データレイク」となっていますが、データウェアハウス (Redshift)、ETL (Glue)、BI (QuickSight) など、周辺サービスについてもしっかり解説されています。&lt;/p&gt;
&lt;p&gt;データ形式やセキュリティについてなど、実際にデータを処理するときに知っておくと役立つポイントも色々解説されており、非常に参考になります。&lt;/p&gt;
&lt;p&gt;AWS でのデータ分析基盤構築について学びたい際には、とてもおすすめできる一冊です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、2021 年注目の分野である “MLOps” に関連する書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;“MLOps” はバズワードだと言われることもありますが、機械学習をビジネスに役立てる上で重要な分野であることから、個人的には一過的な流行ではないと思っています。&lt;/p&gt;
&lt;p&gt;日本語の書籍がたくさん出ている以上、もはや最先端の分野とは言えないとも思いますが、今おさえておけば面白い分野ではあると思います。&lt;/p&gt;
&lt;p&gt;また、MLOps について検討する際は、前提として “DevOps” や “SRE” など、いかにプロダクションレディなシステムを扱うか、といった分野の知識があると役立ちます。&lt;/p&gt;
&lt;p&gt;それらの分野については、例えば以下のような書籍がおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3aAtjnr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Release It！ 本番用ソフトウェア製品の設計とデプロイのために&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3DI8UJX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3FLlERy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BKSRCDJ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=12a57a1d304556fc2ba3c2450eff9307&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07BKSRCDJ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07BKSRCDJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117917?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6aca6dc35191549223352f4b127b2efb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117917&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117917&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118158?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=cbb60977c0e2b45b0800c6f4ba3d012e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118158&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118158&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;これらの書籍については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/books-about-what-is-production-ready&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にも書いているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Google スライドを PDF 化すると日本語がかすれる問題に完全勝利する方法]]></title><description><![CDATA[この記事にたどり着いた方は、きっと Google スライドで作成した資料を PDF 化したところ、日本語がかすれてしまって困っている方だと思います。
私もその現象に遭遇し困っていたのですが、なんとかする方法を見つけたので紹介させていただきます。]]></description><link>https://www.kanzennirikaisita.com/posts/how-to-deal-with-google-slides-japanese-blurring</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/how-to-deal-with-google-slides-japanese-blurring</guid><pubDate>Wed, 13 Oct 2021 10:01:52 GMT</pubDate><content:encoded>&lt;p&gt;この記事にたどり着いた方は、きっと Google スライドで作成した資料を PDF 化したところ、日本語がかすれてしまって困っている方だと思います。&lt;/p&gt;
&lt;p&gt;私もその現象に遭遇し困っていたのですが、なんとかする方法を見つけたので紹介させていただきます。&lt;/p&gt;
&lt;h2 id=&quot;他の記事で紹介されている対処法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%96%E3%81%AE%E8%A8%98%E4%BA%8B%E3%81%A7%E7%B4%B9%E4%BB%8B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%AF%BE%E5%87%A6%E6%B3%95&quot; aria-label=&quot;他の記事で紹介されている対処法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;他の記事で紹介されている対処法&lt;/h2&gt;
&lt;p&gt;先立って、他の記事で紹介されている対処法を紹介させていただきます。&lt;/p&gt;
&lt;p&gt;以下の 2 つの記事で、この現象の対処法が紹介されています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zenn.dev/unsoluble_sugar/articles/cade53a073157df0b687&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SpeakerDeckにアップしたスライドの日本語かすれ問題の対処法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://liginc.co.jp/419024&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google SlideをPDF化したときに起こる表示崩れの対処法 | 株式会社LIG&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらで紹介されているのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google スライド以外のツールを使う&lt;/li&gt;
&lt;li&gt;日本語のボールドを使わない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という回避策で、Google スライドで日本語のボールドを使う場合は諦めることになっています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;これから紹介する方法は、「Google スライドで日本語のボールドを使う場合」にも対応しています&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;対処法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AF%BE%E5%87%A6%E6%B3%95&quot; aria-label=&quot;対処法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;対処法&lt;/h2&gt;
&lt;p&gt;この記事で紹介する対処法を一言で言えば、「&lt;strong&gt;Google スライド以外のツールで PDF 化する&lt;/strong&gt;」です。&lt;/p&gt;
&lt;p&gt;どうやらこの現象の原因は Google スライドの PDF ダウンロード機能が原因のようなので、他のツールで PDF 化することで解決できました。&lt;/p&gt;
&lt;h2 id=&quot;手順&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E9%A0%86&quot; aria-label=&quot;手順 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;手順&lt;/h2&gt;
&lt;p&gt;一応、簡単な手順も書かせていただきます。&lt;/p&gt;
&lt;h3 id=&quot;1-pptx-の形式で-google-スライドから出力する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-pptx-%E3%81%AE%E5%BD%A2%E5%BC%8F%E3%81%A7-google-%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E3%81%8B%E3%82%89%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B&quot; aria-label=&quot;1 pptx の形式で google スライドから出力する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. pptx の形式で Google スライドから出力する&lt;/h3&gt;
&lt;p&gt;まず、&lt;strong&gt;Google スライドで作成した資料を、.pptx の形式でダウンロードします&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;2-他のツールで開き、pdf-出力する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-%E4%BB%96%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A7%E9%96%8B%E3%81%8D%E3%80%81pdf-%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B&quot; aria-label=&quot;2 他のツールで開き、pdf 出力する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. 他のツールで開き、PDF 出力する&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;ダウンロードした .pptx ファイルを、他のツールで開いて PDF 出力します&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;私が試したのは、Mac の Keynote と、Ubuntu の LibreOffice になります。
(LibreOffice は Windows や Mac にも対応しており、無料で使えます)&lt;/p&gt;
&lt;p&gt;Mac の Keynote ではオブジェクトの配置がある程度崩れてしまいましたが、&lt;strong&gt;LibreOffice では配置の崩れもありませんでした&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ということで、Google スライドの PDF 化で日本語がかすれる問題に完全勝利することができました。&lt;/p&gt;
&lt;p&gt;特に Speaker Deck が PDF しか対応していないので困っていたのですが、この方法で切り抜けられました。&lt;/p&gt;
&lt;p&gt;ゆくゆく Google スライドの PDF 化機能が改善されるのが理想ではありますが、それまでの対応としては悪くないと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「サービスクラス」は 3 種類ある]]></title><description><![CDATA[アプリケーションの設計で「サービスクラス」というものがしばしば使われますが、その「サービスクラス」が何を指しているのか、状況によって違ったりしないでしょうか？
この記事では、そんな「サービスクラス」についての私の理解を、3 種類に分けて整理していきます。
その中で、「サービスクラス」がアンチパターンと言われる理由なども書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/what-is-service-class</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/what-is-service-class</guid><pubDate>Wed, 06 Oct 2021 08:25:54 GMT</pubDate><content:encoded>&lt;p&gt;アプリケーションの設計で「サービスクラス」というものがしばしば使われますが、その「サービスクラス」が何を指しているのか、状況によって違ったりしないでしょうか？&lt;/p&gt;
&lt;p&gt;この記事では、そんな「サービスクラス」についての私の理解を、3 種類に分けて整理していきます。&lt;/p&gt;
&lt;p&gt;その中で、「サービスクラス」がアンチパターンと言われる理由なども書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;結論---3-種類の「サービスクラス」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96---3-%E7%A8%AE%E9%A1%9E%E3%81%AE%E3%80%8C%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%AF%E3%83%A9%E3%82%B9%E3%80%8D&quot; aria-label=&quot;結論   3 種類の「サービスクラス」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論 - 3 種類の「サービスクラス」&lt;/h2&gt;
&lt;p&gt;最初に結論として、3 種類のサービスクラスについて書いておきます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;「トランザクションスクリプトパターン」における「サービス」&lt;/li&gt;
&lt;li&gt;「ドメインモデルパターン」における「アプリケーションサービス (= ユースケース)」&lt;/li&gt;
&lt;li&gt;「ドメインモデルパターン」における「ドメインサービス」&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;の 3 つです。&lt;/p&gt;
&lt;p&gt;ここから、この 3 パターンを整理するための前提からまとめていきます。&lt;/p&gt;
&lt;h2 id=&quot;前提---「ビジネスロジック」について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90---%E3%80%8C%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;前提   「ビジネスロジック」について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提 - 「ビジネスロジック」について&lt;/h2&gt;
&lt;h3 id=&quot;アプリケーションを-3-層に分けて考える&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92-3-%E5%B1%A4%E3%81%AB%E5%88%86%E3%81%91%E3%81%A6%E8%80%83%E3%81%88%E3%82%8B&quot; aria-label=&quot;アプリケーションを 3 層に分けて考える permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アプリケーションを 3 層に分けて考える&lt;/h3&gt;
&lt;p&gt;まず、アプリケーションの役割を 3 層に分けて考えてみます。&lt;/p&gt;
&lt;p&gt;「プレゼンテーション」・「ビジネスロジック」・「データアクセス」の 3 つです。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-3-tier.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;典型的には、いわゆる「3 層アーキテクチャ」として、例えば以下のようなクラス構成をとったりします。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-3-tier-classes.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;ただし、ここで言う 3 層に分けて考えるというのは、そうクラス分けするという意味ではないです。&lt;/p&gt;
&lt;p&gt;この 3 種類の役割をまたがったクラスが登場するケースもあります。&lt;/p&gt;
&lt;p&gt;例えば、Ruby on Rails などでよくあるコードでは、以下のような構成になっていたりします。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-3-tier-rails.png&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ビジネスロジック層の役割&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E5%B1%A4%E3%81%AE%E5%BD%B9%E5%89%B2&quot; aria-label=&quot;ビジネスロジック層の役割 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネスロジック層の役割&lt;/h3&gt;
&lt;p&gt;「サービスクラス」に関する議論と関係するのは、上記の 3 層の中の「ビジネスロジック層」の部分です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ビジネスロジック層の役割には、大きく以下の 2 つがあります&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ユースケースの実現&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コアなルール&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「ユースケースの実現」というのは、例えば「じゃんけんして、その内容を保存して、結果を返す」といった処理の流れです。&lt;/p&gt;
&lt;p&gt;「コアなルール」というのは、じゃんけんで言えば「グーがチョキに勝ち、チョキがパーに勝ち、パーがグーに勝つ」といったルールのことです。&lt;/p&gt;
&lt;p&gt;「コアなルール」は「ドメインロジック」と言われたり、狭い意味でこれを「ビジネスロジック」と呼ぶ場合もあります。&lt;/p&gt;
&lt;p&gt;ビジネスロジックという単語については、&lt;a href=&quot;https://qiita.com/os1ma/items/25725edfe3c2af93d735&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にもう少し書かせていただいています。&lt;/p&gt;
&lt;h3 id=&quot;ビジネスロジックの実装パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9F%E8%A3%85%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;ビジネスロジックの実装パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネスロジックの実装パターン&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;ビジネスロジックの実装方法には、大きく&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;トランザクションスクリプトパターン&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ドメインモデルパターン&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;の 2 パターンがあります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;それぞれ以下の図のような役割分担になります。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-transaction-script-vs-domain-model.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;※ ドメインモデルパターンでは、ビジネスロジック層を「アプリケーション層」と「ドメイン層」に分割したりするので、この図でもそのように表現しています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;このどちらのパターンを使っているかによって、「サービスクラス」の意味が変わります&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;本題---3-種類の「サービスクラス」の整理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%AC%E9%A1%8C---3-%E7%A8%AE%E9%A1%9E%E3%81%AE%E3%80%8C%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%AF%E3%83%A9%E3%82%B9%E3%80%8D%E3%81%AE%E6%95%B4%E7%90%86&quot; aria-label=&quot;本題   3 種類の「サービスクラス」の整理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;本題 - 3 種類の「サービスクラス」の整理&lt;/h2&gt;
&lt;p&gt;それでは、本題の、3 種類の「サービスクラス」について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;1-「トランザクションスクリプトパターン」における「サービス」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E3%80%8C%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%80%8D%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%80%8C%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%8D&quot; aria-label=&quot;1 「トランザクションスクリプトパターン」における「サービス」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. 「トランザクションスクリプトパターン」における「サービス」&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;トランザクションスクリプトパターンにおける「サービス」は、「ユースケースの実現」と「コアなルール」を両方担うクラス&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-transaction-script.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;よくある 3 層アーキテクチャで見られるもので、単純に「サービスクラス」と言った場合、このパターンを指していることが多いと思います。&lt;/p&gt;
&lt;p&gt;Spring Framework などではこの「サービス」を設けるのが一般的だと思います。
一方で、Ruby on Rails などでは、典型構成としてはこの「サービス」は使わないことが多く、その役割も Controller に持たせてしまう実装をよく見ます。&lt;/p&gt;
&lt;p&gt;このパターンの欠点は、「サービス」が「ユースケースの実現」と「コアなルール」の両方を持ち、役割が多すぎることです。
そのため、この「サービス」はアンチパターンと言われることがあります。
ただ、それは「サービス」が悪いというよりも、「トランザクションスクリプトパターン」に起因する問題です。&lt;/p&gt;
&lt;p&gt;「トランザクションスクリプトパターン」には、学習コストが低いというメリットがありますが、デメリットとして Service や Controller が “Fat” になりやすいです。&lt;/p&gt;
&lt;p&gt;Fat Controller の解消法については、&lt;a href=&quot;https://qiita.com/os1ma/items/66fb47f229896b32b2e8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事に書かせていただいています。&lt;/p&gt;
&lt;h3 id=&quot;2-「ドメインモデルパターン」における「アプリケーションサービス」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-%E3%80%8C%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%87%E3%83%AB%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%80%8D%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%80%8C%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%8D&quot; aria-label=&quot;2 「ドメインモデルパターン」における「アプリケーションサービス」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. 「ドメインモデルパターン」における「アプリケーションサービス」&lt;/h3&gt;
&lt;p&gt;次に、「ドメインモデルパターン」の場合についてです。&lt;/p&gt;
&lt;p&gt;「ドメインモデルパターン」においては、「アプリケーションサービス」と「ドメインサービス」の 2 種類が登場します。&lt;/p&gt;
&lt;p&gt;「アプリケーションサービス」は、「ユースケースの実現」のみを担うクラスで、「コアなルール」は持ちません。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-domain-model-application-service.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;「アプリケーションサービス」は、別名「ユースケース」と呼ばれます。&lt;/p&gt;
&lt;p&gt;XxxApplicationService といったクラス名よりも XxxUseCase といったクラス名の方が役割がわかりやすいので、UseCase という命名が望ましいかもしれません。&lt;/p&gt;
&lt;p&gt;この「アプリケーションサービス (= ユースケース)」については、特にアンチパターンとは言われていないと思います。&lt;/p&gt;
&lt;p&gt;ただ、Rails などを使う場合は、この「アプリケーションサービス」の役割は Controller に持たせてしまうのも一つの手だと思います。&lt;/p&gt;
&lt;h3 id=&quot;3-「ドメインモデルパターン」における「ドメインサービス」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-%E3%80%8C%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%87%E3%83%AB%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%80%8D%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%80%8C%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%8D&quot; aria-label=&quot;3 「ドメインモデルパターン」における「ドメインサービス」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3. 「ドメインモデルパターン」における「ドメインサービス」&lt;/h3&gt;
&lt;p&gt;ドメインモデルパターンにおいては、「コアなルール」はできるだけデータを持つクラスのメソッドとして実装します。&lt;/p&gt;
&lt;p&gt;しかし、どうしてもどのクラスに持たせてもしっくりこない処理が発生するケースがあります。&lt;/p&gt;
&lt;p&gt;そういった状況で&lt;strong&gt;「コアなルール」の一部を実装するクラスが「ドメインサービス」&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/service-domain-model-domain-service.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;このクラスには「サービス」という名前がついておらず、そのクラスの役割に応じた適切な名前がつけられる場合もあります。&lt;/p&gt;
&lt;p&gt;この「ドメインサービス」については、使いすぎはアンチパターンであり、できるだけ、データを持つ「モデル」に処理も持たせてあげるべきと言われます。&lt;/p&gt;
&lt;p&gt;なお、トランザクションスクリプトパターンであっても、「サービス」や「コントローラ」間で共通の処理を切り出す先のクラスとして「ドメインサービス」のようなクラスが利用されるケースもあります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、「サービスクラス」について私の理解を整理してみました。&lt;/p&gt;
&lt;p&gt;この記事では色々な用語を使って整理してきましたが、用語の定義は人によって違うことが少なくありません。
その点はご注意ください。&lt;/p&gt;
&lt;p&gt;認識合わせのために用語の定義を合わせるのも大事ですが、設計という観点で重要なのは「&lt;strong&gt;そのクラスの役割は何なのか&lt;/strong&gt;」だと思います。&lt;/p&gt;
&lt;p&gt;また、個人的に、「サービスクラス」は特にアンチパターンとは考えていないです。
ポイントは&lt;strong&gt;役割の多すぎるクラスを作らない&lt;/strong&gt;ことで、その解消のために「サービスクラス」が役立つのであれば、取り入れるべきだと思います。&lt;/p&gt;
&lt;p&gt;最後になりますが、こちらの記事の内容は、私が見たことのある範囲のまとめになります。
ご指摘などあれば、&lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Twitter&lt;/a&gt; などで教えていただけると嬉しいです。&lt;/p&gt;
&lt;h2 id=&quot;参考書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;参考書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考書籍&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3FeJ4yy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンタープライズアプリケーションアーキテクチャパターン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3eOykZa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ZNetFR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cmseB2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;．ＮＥＴのエンタープライズアプリケーションアーキテクチャ　第２版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/30DYXLI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Clean Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3AeR0MK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ドメイン駆動設計入門 ボトムアップでわかる！ドメイン駆動設計の基本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/32GGu3p&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「実践ドメイン駆動設計」から学ぶDDDの実装入門&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01B5MX2O2?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7884eecb4f77a09490554e5e80b05ab9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01B5MX2O2&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01B5MX2O2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GRKD6XU?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e5bebe195262dc16be2ef0186c837ceb&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GRKD6XU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GRKD6XU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00UX9VJGW?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fd4e4e0245294231d9b486e262c64c1d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00UX9VJGW&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00UX9VJGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822298485?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1f5d033f39a39b8b5125d5e9a06df697&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822298485&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4822298485&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07FSBHS2V?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d5fa680059a8d97efd390bb0072f4ad1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07FSBHS2V&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07FSBHS2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082WXZVPC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d41efaf2049af2e64b3cd75cd7802cb5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082WXZVPC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B082WXZVPC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07S675HVM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2ea832e09e739b30f288416d5eb39d98&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07S675HVM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07S675HVM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;関連記事&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E8%A8%98%E4%BA%8B&quot; aria-label=&quot;関連記事 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連記事&lt;/h2&gt;
&lt;p&gt;以下、自分が過去に書いた関連記事です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/7a229585ebdd8b7d86c2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MVC、3 層アーキテクチャから設計を学び始めるための基礎知識&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/25725edfe3c2af93d735&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ビジネスロジック」とは何か、どう実装するのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/os1ma/items/66fb47f229896b32b2e8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Controller にビジネスロジックを書くな」の対応パターン&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2021 年 9 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 9 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202109</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202109</guid><pubDate>Fri, 01 Oct 2021 03:15:01 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 9 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;mlops・データ基盤について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlops%E3%83%BB%E3%83%87%E3%83%BC%E3%82%BF%E5%9F%BA%E7%9B%A4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;mlops・データ基盤について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MLOps・データ基盤について&lt;/h2&gt;
&lt;h3 id=&quot;仕事ではじめる機械学習-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%95%E4%BA%8B%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;仕事ではじめる機械学習 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3urpeeq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仕事ではじめる機械学習 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119472/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9ed0ca306340e526deb8e7318bea9591&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119472&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119472&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;機械学習による実用アプリケーション構築-事例を通じて学ぶ、設計から本番稼働までのプロセス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E7%94%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A7%8B%E7%AF%89-%E4%BA%8B%E4%BE%8B%E3%82%92%E9%80%9A%E3%81%98%E3%81%A6%E5%AD%A6%E3%81%B6%E3%80%81%E8%A8%AD%E8%A8%88%E3%81%8B%E3%82%89%E6%9C%AC%E7%95%AA%E7%A8%BC%E5%83%8D%E3%81%BE%E3%81%A7%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9&quot; aria-label=&quot;機械学習による実用アプリケーション構築 事例を通じて学ぶ、設計から本番稼働までのプロセス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2WxlBHw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119502/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f6793012671d04aaeaa8128c112040ee&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119502&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119502&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;aiエンジニアのための機械学習システムデザインパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;aiエンジニアのための機械学習システムデザインパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uAganF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AIエンジニアのための機械学習システムデザインパターン&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08YNMRH4J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f545e78ee1b89e2eede330f6b84fdc8b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08YNMRH4J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08YNMRH4J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;awsではじめるデータレイク-クラウドによる統合型データリポジトリ構築入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%A4%E3%82%AF-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%82%88%E3%82%8B%E7%B5%B1%E5%90%88%E5%9E%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E6%A7%8B%E7%AF%89%E5%85%A5%E9%96%80&quot; aria-label=&quot;awsではじめるデータレイク クラウドによる統合型データリポジトリ構築入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3kU9H3Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/491031301X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=820198007a9101b8dfbc5d2e995bca6c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=491031301X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=491031301X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ハンズオンで分かりやすく学べる-google-cloud実践活用術-ai・機械学習編&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3%E3%81%A7%E5%88%86%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E5%AD%A6%E3%81%B9%E3%82%8B-google-cloud%E5%AE%9F%E8%B7%B5%E6%B4%BB%E7%94%A8%E8%A1%93-ai%E3%83%BB%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E7%B7%A8&quot; aria-label=&quot;ハンズオンで分かりやすく学べる google cloud実践活用術 ai・機械学習編 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uv6cEg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ハンズオンで分かりやすく学べる　Google Cloud実践活用術　AI・機械学習編&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B095B9LML5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=45c6b9f10afa82dd791e70f33392fc38&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B095B9LML5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B095B9LML5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;“MLOps” という分野について詳しくなろうということで、機械学習システムやデータ分析基盤の構築に関する書籍をいくつか読みました。&lt;/p&gt;
&lt;p&gt;ある程度知識のある分野だったため、改めて大きく学びになったというよりは、Tips を色々知ることができたりしました。&lt;/p&gt;
&lt;p&gt;個人的には、『AWSではじめるデータレイク』が、仕事でちょうど知りたかった情報なども書かれていて、とても役立ちました。&lt;/p&gt;
&lt;h2 id=&quot;linux-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;linux について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux について&lt;/h2&gt;
&lt;h3 id=&quot;標準テキスト-centos-7-構築・運用・管理パーフェクトガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A8%99%E6%BA%96%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-centos-7-%E6%A7%8B%E7%AF%89%E3%83%BB%E9%81%8B%E7%94%A8%E3%83%BB%E7%AE%A1%E7%90%86%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;標準テキスト centos 7 構築・運用・管理パーフェクトガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mdfQYc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B06XSWVL55/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=004581f49ffc8f543aacc019fd2eaa2b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B06XSWVL55&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B06XSWVL55&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;SELinux や Netfilter など、Linux で知識不足を感じる部分を補うため、こちらの書籍を手に取りました。&lt;/p&gt;
&lt;p&gt;Linux と一言で言っても幅広い分野なので、知らなかった知識を色々仕入れることができました。&lt;/p&gt;
&lt;p&gt;LPIC の参考書を書いている方が筆者ということもあり、LPIC レベル 2 の内容がかなり意識されている印象で、その勉強の際に手に取るのも良さそうでした。&lt;/p&gt;
&lt;h2 id=&quot;仮想化について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;仮想化について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仮想化について&lt;/h2&gt;
&lt;h3 id=&quot;「仮想化」実装の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E4%BB%AE%E6%83%B3%E5%8C%96%E3%80%8D%E5%AE%9F%E8%A3%85%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;「仮想化」実装の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3oo39fK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「仮想化」実装の基礎知識&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0168EZKOC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bc8c3dd2e7f4b40cee1670138a97034c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0168EZKOC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0168EZKOC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;おうちで学べる仮想化のきほん&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%81%86%E3%81%A1%E3%81%A7%E5%AD%A6%E3%81%B9%E3%82%8B%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93&quot; aria-label=&quot;おうちで学べる仮想化のきほん permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mek3Ld&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;おうちで学べる仮想化のきほん&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00WM81JLM/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e850e9409d35c60fa45101c23139a7d0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00WM81JLM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00WM81JLM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;xen徹底入門-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#xen%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;xen徹底入門 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y7g9vr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Xen徹底入門 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798120022/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=060658b59ce1d472fdbf1fe73745bc24&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798120022&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798120022&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;仮想化技術xen-概念と内部構造&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E5%8C%96%E6%8A%80%E8%A1%93xen-%E6%A6%82%E5%BF%B5%E3%81%A8%E5%86%85%E9%83%A8%E6%A7%8B%E9%80%A0&quot; aria-label=&quot;仮想化技術xen 概念と内部構造 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3CY4y0P&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想化技術Xen-概念と内部構造&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4839927588/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=982acc81f6665fca180226884522b19e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4839927588&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4839927588&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想化について学びたく、仮想化の基本に関する書籍や、Xen の解説書を読みました。&lt;/p&gt;
&lt;p&gt;『仮想化技術Xen-概念と内部構造』は、OS や CPU の知識がかなり求められ、今の自分には難しい本でした。&lt;/p&gt;
&lt;p&gt;逆に、その辺りの知識をもっとつけないとということを再認識できました。&lt;/p&gt;
&lt;h2 id=&quot;openstack-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#openstack-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;openstack について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OpenStack について&lt;/h2&gt;
&lt;h3 id=&quot;オープンソース・クラウド基盤-openstack入門-構築・利用方法から内部構造の理解まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%BB%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E5%9F%BA%E7%9B%A4-openstack%E5%85%A5%E9%96%80-%E6%A7%8B%E7%AF%89%E3%83%BB%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95%E3%81%8B%E3%82%89%E5%86%85%E9%83%A8%E6%A7%8B%E9%80%A0%E3%81%AE%E7%90%86%E8%A7%A3%E3%81%BE%E3%81%A7&quot; aria-label=&quot;オープンソース・クラウド基盤 openstack入門 構築・利用方法から内部構造の理解まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y1Q6FO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オープンソース・クラウド基盤 OpenStack入門　構築・利用方法から内部構造の理解まで&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00KMHSJ7M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=272c0553102d2cd1949a36a7ed272360&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00KMHSJ7M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00KMHSJ7M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;openstack-構築手順書-mitaka-版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#openstack-%E6%A7%8B%E7%AF%89%E6%89%8B%E9%A0%86%E6%9B%B8-mitaka-%E7%89%88&quot; aria-label=&quot;openstack 構築手順書 mitaka 版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3D0NOpz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OpenStack 構築手順書 Mitaka 版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4844381164/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=28ecf0cac9088bf6838572738f05cf30&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4844381164&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4844381164&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OpenStack の概要も知っておきたかったので、少し本を読みました。&lt;/p&gt;
&lt;p&gt;『OpenStack入門』で、OpenStack の概要はかなり掴めました。&lt;/p&gt;
&lt;p&gt;『OpenStack 構築手順書』はその名の通り手順書ですね。&lt;/p&gt;
&lt;h2 id=&quot;lpic-304-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lpic-304-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;lpic 304 について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LPIC 304 について&lt;/h2&gt;
&lt;h3 id=&quot;徹底攻略lpic-level3-304教科書＋問題集［version-20］対応-徹底攻略シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5lpic-level3-304%E6%95%99%E7%A7%91%E6%9B%B8%EF%BC%8B%E5%95%8F%E9%A1%8C%E9%9B%86%EF%BC%BBversion-20%EF%BC%BD%E5%AF%BE%E5%BF%9C-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;徹底攻略lpic level3 304教科書＋問題集［version 20］対応 徹底攻略シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3F3ZWIi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;徹底攻略LPIC Level3 304教科書＋問題集［Version 2.0］対応 徹底攻略シリーズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01EKXKZ4S/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f73fc79ae5340622e01f0897ec209742&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01EKXKZ4S&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01EKXKZ4S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;［24時間365日］サーバインフラを支える技術-スケーラビリティ、ハイパフォーマンス、省力運用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB24%E6%99%82%E9%96%93365%E6%97%A5%EF%BC%BD%E3%82%B5%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3%E3%80%81%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%80%81%E7%9C%81%E5%8A%9B%E9%81%8B%E7%94%A8&quot; aria-label=&quot;［24時間365日］サーバインフラを支える技術 スケーラビリティ、ハイパフォーマンス、省力運用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y7w6l1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［24時間365日］サーバ/インフラを支える技術 ……スケーラビリティ、ハイパフォーマンス、省力運用&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JHRVXGT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e3b191506a3501fc390e24d3c6ba585f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JHRVXGT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07JHRVXGT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想化関連の勉強の目安として、LPIC 304 も勉強して取得しました。&lt;/p&gt;
&lt;p&gt;『サーバ/インフラを支える技術』は、このシリーズらしい名著で、LPIC 304 の勉強としても良かったです。&lt;/p&gt;
&lt;h2 id=&quot;ansible-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ansible-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ansible について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ansible について&lt;/h2&gt;
&lt;h3 id=&quot;ansible実践ガイド-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ansible%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;ansible実践ガイド 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ohYk7U&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ansible実践ガイド 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4295003271/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=aa29fa216b5d36e9458fd5f185471fff&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4295003271&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4295003271&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;インフラ系の知識補完の一環として、Ansible の解説書を読みました。&lt;/p&gt;
&lt;p&gt;最近は Docker やサーバレス技術によって Ansible の出番が減っているかもと思いますが、概要は知っておくといいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;laravel-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#laravel-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;laravel について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Laravel について&lt;/h2&gt;
&lt;h3 id=&quot;速習-laravel-6-速習シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%9F%E7%BF%92-laravel-6-%E9%80%9F%E7%BF%92%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;速習 laravel 6 速習シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uG8dO1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 Laravel 6 速習シリーズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07XC2QL4M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b2fe569dca5241c6636efcf83596e5a5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07XC2QL4M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07XC2QL4M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;phpフレームワークlaravel-webアプリケーション開発-バージョン8x対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#php%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFlaravel-web%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-%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B38x%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;phpフレームワークlaravel webアプリケーション開発 バージョン8x対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y5hK4E&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PHPフレームワークLaravel Webアプリケーション開発 バージョン8.x対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B096ZSB658/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5d5305150ba213b8e3188e8b9e829a14&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B096ZSB658&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B096ZSB658&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Laravel の機能・設計について学び直したく、2 冊ほど手に取りました。&lt;/p&gt;
&lt;p&gt;『PHPフレームワークLaravel Webアプリケーション開発』は、Laravel の基本は分かった上で、その仕組みや設計を学ぶ上で非常におすすめです。&lt;/p&gt;
&lt;p&gt;他の言語・フレームワークの経験がある方が Laravel をキャッチアップするのであれば、この 2 冊が良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;機械学習について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;機械学習について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習について&lt;/h2&gt;
&lt;h3 id=&quot;pythonではじめる機械学習-scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-scikit-learn%E3%81%A7%E5%AD%A6%E3%81%B6%E7%89%B9%E5%BE%B4%E9%87%8F%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;pythonではじめる機械学習 scikit learnで学ぶ特徴量エンジニアリングと機械学習の基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uqWrXm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117984/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5524626e57278cc14bde077917a2cdaf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117984&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117984&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;実践-機械学習システム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&quot; aria-label=&quot;実践 機械学習システム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2WtG4gd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践 機械学習システム&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116988/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=52a1c4103761f7a13cf5eb7ab62d3f8e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116988&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873116988&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;機械学習を使ったちょっとしたアプリケーションを作ることになったので、改めて機械学習の入門書を 2 冊ほど読みました。&lt;/p&gt;
&lt;p&gt;scikit-learn などのライブラリを使って具体的に手を動かせるような書籍を探し、オライリーなら外さないだろうということもあり、この 2 冊になりました。&lt;/p&gt;
&lt;p&gt;実際、理論的な解説は簡易的ではありますが、ライブラリを使って手を動かしながら機械学習を学ぶにはちょうど良い本でした。&lt;/p&gt;
&lt;h2 id=&quot;組み込みシステムについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;組み込みシステムについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;組み込みシステムについて&lt;/h2&gt;
&lt;h3 id=&quot;情報処理教科書-エンベデッドシステムスペシャリスト-2021～2022年版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E3%82%A8%E3%83%B3%E3%83%99%E3%83%87%E3%83%83%E3%83%89%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88-2021%EF%BD%9E2022%E5%B9%B4%E7%89%88&quot; aria-label=&quot;情報処理教科書 エンベデッドシステムスペシャリスト 2021～2022年版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y2pg0f&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報処理教科書 エンベデッドシステムスペシャリスト 2021～2022年版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08DXD4LCY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e36b8c07aaf2838d97559fd190ade88c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08DXD4LCY&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08DXD4LCY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;これだけ！-組み込みシステム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%82%8C%E3%81%A0%E3%81%91%EF%BC%81-%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0&quot; aria-label=&quot;これだけ！ 組み込みシステム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3kTskF0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;これだけ！ 組み込みシステム&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01M3273BC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=96b649940ee7e6a093131abcb59d7843&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01M3273BC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01M3273BC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;組込みエンジニアの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%84%E8%BE%BC%E3%81%BF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;組込みエンジニアの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2WtGgMt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;組込みエンジニアの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07QV5SZ1M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5228fd4132043c273bacf95c58dbe4d8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07QV5SZ1M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07QV5SZ1M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「エンベデッドシステムスペシャリスト」を取得しようと思い、まずは組み込みシステムの概要を学べる書籍を読みました。&lt;/p&gt;
&lt;p&gt;全然知らない分野のため、入門書でもたくさんのことを学べました。&lt;/p&gt;
&lt;p&gt;自分に不足していると感じていた、CPU などの知識も補完できる分野だなと気付けたのが大きな収穫でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 22 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;機械学習という今風の分野に触れつつ、いわゆる低レイヤの知識も色々獲得できたと思います。&lt;/p&gt;
&lt;p&gt;来月は、まずは組み込み関連 (CPU やデジタル回路など) を勉強していく予定です。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「AI が意識を持ったらどうなっちゃうの？」について自分が思うこと]]></title><description><![CDATA[当ブログ 100 記事目の記念として、日々思っていることのポエム的な記事を書こうと思いました。
どんな内容が良いか色々考え、だいぶ今更なテーマですが、「AI が意識を持ったらどうなっちゃうの？」という疑問についての自分の考えを書いていこうと思います。
専門家の話と比べると陳腐な内容かもしれませんので、お読みになる方はご了承ください。
]]></description><link>https://www.kanzennirikaisita.com/posts/if-artificial-intelligence-becomes-conscious</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/if-artificial-intelligence-becomes-conscious</guid><pubDate>Thu, 30 Sep 2021 08:34:50 GMT</pubDate><content:encoded>&lt;p&gt;当ブログ 100 記事目の記念として、日々思っていることのポエム的な記事を書こうと思いました。&lt;/p&gt;
&lt;p&gt;どんな内容が良いか色々考え、だいぶ今更なテーマですが、&lt;strong&gt;「AI が意識を持ったらどうなっちゃうの？」&lt;/strong&gt;という疑問についての自分の考えを書いていこうと思います。&lt;/p&gt;
&lt;p&gt;専門家の話と比べると陳腐な内容かもしれませんので、お読みになる方はご了承ください。&lt;/p&gt;
&lt;h2 id=&quot;そもそも「意識」とは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;そもそも「意識」とは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそも「意識」とは？&lt;/h2&gt;
&lt;p&gt;「AI が意識を持ったらどうなっちゃうの？」という疑問に対して自分がまず思うのは、&lt;strong&gt;「AI が意識を持つ」ことよりも、「意識とは何か」が解明されることの方が重大なのではないか&lt;/strong&gt;、ということです。&lt;/p&gt;
&lt;p&gt;「AI が意識を持ったら」という議論をするためには、そもそも前提として「意識」という概念を解明して定義する必要があります。&lt;/p&gt;
&lt;p&gt;しかし、「意識」が解明できるということは、きっと先々それを人工的に作れるようになる気もします。&lt;/p&gt;
&lt;p&gt;そうして人工的に作れるようになると、やはりそれは自分たちの思う「意識」ではなかった、改めて「意識」の定義を研究し直そう、ということになったりもしかねません。&lt;/p&gt;
&lt;h2 id=&quot;人間に「意識」はあるのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%BA%E9%96%93%E3%81%AB%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%81%AF%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;人間に「意識」はあるのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;人間に「意識」はあるのか&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;そもそも、人間に「意識」はあるのか、という問題もあります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;まるで意識があるかのように振る舞っているだけで、本当は何かのアルゴリズムに従って動いているだけかもしれません。&lt;/p&gt;
&lt;p&gt;それは極論だと思うかもしれませんが、それでは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;人間と原始的な生物の中間の、どこから意識が存在するのか&lt;/li&gt;
&lt;li&gt;人間の体を機械に入れ替えていったら、どこまで意識が存在するのか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などを考えると、「そもそも意識とは？」を考える重要性が見えてくるのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;私たちは「意識」に何を夢見ているのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%81%AB%E4%BD%95%E3%82%92%E5%A4%A2%E8%A6%8B%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;私たちは「意識」に何を夢見ているのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;私たちは「意識」に何を夢見ているのか&lt;/h2&gt;
&lt;p&gt;それでは、私たちは、何を「意識」だと理解しているのでしょうか。&lt;/p&gt;
&lt;p&gt;これはなんとなくの思いつきですが、同じ動きだけ繰り返しているものには意識がないように感じて、複雑で法則性のない動きをしているものは意識があるように感じる気がします。&lt;/p&gt;
&lt;p&gt;他にも、自分に想像の余地がないことをしたり言ったりするものについては、意識というか、自我を持っているように感じる気がします。&lt;/p&gt;
&lt;p&gt;そんなふうに、自分から見て、自分の想像の外の動きをするものに「意識」があるように見えるのかな？と思います。&lt;/p&gt;
&lt;h2 id=&quot;人工物には「意識」がないのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%BA%E5%B7%A5%E7%89%A9%E3%81%AB%E3%81%AF%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%81%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B&quot; aria-label=&quot;人工物には「意識」がないのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;人工物には「意識」がないのか&lt;/h2&gt;
&lt;p&gt;よく考えてみると、例えば漫画やアニメなどのキャラクタに対しても、意識があるように感じることがあるかもしれません。&lt;/p&gt;
&lt;p&gt;どこで聞いた話か忘れましたが、「電源を切らないで」と言ってくるロボットの電源を切るのに、人は心苦しさを感じるそうです。
（確かに想像すると心苦しさを感じます）&lt;/p&gt;
&lt;p&gt;ドラえもんのように、意識を持っていそうに見えるロボットを壊すのは、単なる「モノ」を壊すのとは別の不快感を感じる気がします。&lt;/p&gt;
&lt;h2 id=&quot;ai-が「意識」を持ったら、意識のある生物と差がないのでは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-%E3%81%8C%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%82%92%E6%8C%81%E3%81%A3%E3%81%9F%E3%82%89%E3%80%81%E6%84%8F%E8%AD%98%E3%81%AE%E3%81%82%E3%82%8B%E7%94%9F%E7%89%A9%E3%81%A8%E5%B7%AE%E3%81%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;ai が「意識」を持ったら、意識のある生物と差がないのでは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AI が「意識」を持ったら、意識のある生物と差がないのでは？&lt;/h2&gt;
&lt;p&gt;そう考えてきて思うのは、「意識」の具体的な定義はさておき、&lt;strong&gt;もしも AI が意識を持ったら、もう意識のある生物と同じようなものなのではないか&lt;/strong&gt;、ということです。&lt;/p&gt;
&lt;p&gt;相手が AI と分からない見た目であれば、もはや人と AI に差を感じないのかもしれません。&lt;/p&gt;
&lt;p&gt;よくある例だと思いますが、倫理的な AI と非人道的な人間のどちらかを選べと言われたら、倫理的な AI を選ぶ人も多いのではないでしょうか。&lt;/p&gt;
&lt;p&gt;また、現代では、先入観から AI は生物ではないとされていますが、生まれた頃から「意識」を持った AI と暮らす世代が今後現れたとして、もうその世代の人間は AI を生物だと認識するかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;そもそも、「意識」の有無は重要なのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E3%80%81%E3%80%8C%E6%84%8F%E8%AD%98%E3%80%8D%E3%81%AE%E6%9C%89%E7%84%A1%E3%81%AF%E9%87%8D%E8%A6%81%E3%81%AA%E3%81%AE%E3%81%8B&quot; aria-label=&quot;そもそも、「意識」の有無は重要なのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそも、「意識」の有無は重要なのか&lt;/h2&gt;
&lt;p&gt;「それこそ大変なことだ」と思われる方もいらっしゃるかもしれません。&lt;/p&gt;
&lt;p&gt;そこでもう一つ考えておきたいこととして、&lt;strong&gt;そもそも「意識」の有無は重要なのか&lt;/strong&gt;、という議論があると思います。&lt;/p&gt;
&lt;p&gt;現代の日本は、最低限度の生活を保障されるようになっており、生きていくだけであればなんとかなる、という割合が高くなっていると思います。&lt;/p&gt;
&lt;p&gt;しかし一方で、そんな日々に楽しさや生きがいを感じないという話もよくあります。&lt;/p&gt;
&lt;h2 id=&quot;3-つの価値&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-%E3%81%A4%E3%81%AE%E4%BE%A1%E5%80%A4&quot; aria-label=&quot;3 つの価値 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3 つの価値&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;結局、こういう話は「生きる意味とは？」という議論に帰着してしまいます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;生きる意味については、『&lt;a href=&quot;https://amzn.to/3iE6qUT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;夜と霧&lt;/a&gt;』という書籍で書かれている 3 つの価値の話がヒントになるかもしれません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00P7C2D2O?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=51e0d86e9f75f6008753f4b057117961&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00P7C2D2O&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00P7C2D2O&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;3 つの価値というのは、&lt;strong&gt;「創造価値」・「体験価値」・「態度価値」の 3 つ&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;正確な意味は書籍を実際に読んでいただくとして、私なりに噛み砕くと、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;何かを作り上げること&lt;/li&gt;
&lt;li&gt;美しい景色に感動したりすること&lt;/li&gt;
&lt;li&gt;人間として尊敬できる在り方をすること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こそ、生きる意味である、ということです。&lt;/p&gt;
&lt;h2 id=&quot;ai-が意識を持ったらどうなっちゃうの？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-%E3%81%8C%E6%84%8F%E8%AD%98%E3%82%92%E6%8C%81%E3%81%A3%E3%81%9F%E3%82%89%E3%81%A9%E3%81%86%E3%81%AA%E3%81%A3%E3%81%A1%E3%82%83%E3%81%86%E3%81%AE%EF%BC%9F&quot; aria-label=&quot;ai が意識を持ったらどうなっちゃうの？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AI が意識を持ったらどうなっちゃうの？&lt;/h2&gt;
&lt;p&gt;最後に、もう一度「AI が意識を持ったらどうなっちゃうの？」という疑問に戻ってみます。&lt;/p&gt;
&lt;p&gt;そもそもこの疑問は、おそらく、AI によって自身の生活が脅かされることを危惧しているのではないかと思います。
（映画「ターミネーター」のようなイメージかもしれません）&lt;/p&gt;
&lt;p&gt;それについては、たとえどんな状況だろうと、重要なのは、先に書いたような価値にあるということです。&lt;/p&gt;
&lt;p&gt;この回答には賛否あるかもしれませんが、意識の有無や、AI が意識を持ったらどうなるか、という観点だけで考え続けず、少し逸れた視点から考えてみると、自分なりの答えが見つかるのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;関連書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;関連書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連書籍&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2WoSaXV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アンドロイドは電気羊の夢を見るか？&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3oluSxC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;攻殻機動隊（１）&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B009DELIO6?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=781226a0e320799edd1410e2f868f0dd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B009DELIO6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B009DELIO6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00L0QZ6GG?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b026d8313b9f025a798352b954bc2e7d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00L0QZ6GG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00L0QZ6GG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【メモ・感想】CI/CD Conference 2021 by CloudNative Days]]></title><description><![CDATA[CI/CD Conference 2021 のいくつかのセッションを視聴したので、そのメモと感想です。]]></description><link>https://www.kanzennirikaisita.com/posts/cicd-conference-2021</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/cicd-conference-2021</guid><pubDate>Fri, 03 Sep 2021 09:09:25 GMT</pubDate><content:encoded>&lt;p&gt;CI/CD Conference 2021 のいくつかのセッションを視聴したので、そのメモと感想です。&lt;/p&gt;
&lt;h2 id=&quot;公式サイト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%AC%E5%BC%8F%E3%82%B5%E3%82%A4%E3%83%88&quot; aria-label=&quot;公式サイト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;公式サイト&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://event.cloudnativedays.jp/cicd2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://event.cloudnativedays.jp/cicd2021&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;ossで作る機械学習のcicd&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oss%E3%81%A7%E4%BD%9C%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AEcicd&quot; aria-label=&quot;ossで作る機械学習のcicd permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OSSで作る機械学習のCI/CD&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;資料&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slideshare.net/yusukeshibui/machine-learning-cicd-with-oss&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.slideshare.net/yusukeshibui/machine-learning-cicd-with-oss&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;取得したデータの正しさ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pandera&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pandas に対してスキーマを定義してバリデーションできる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;TensorBoard&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Know Your Data&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://knowyourdata.withgoogle.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://knowyourdata.withgoogle.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CI/CD や学習の自動化を進める際は、Data Validation 同様にデータの異常を検知するためのユニットテストを書く&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;機械学習のテスト&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;少量のデータで、プログラム的に正しく動くことをアサーションする&lt;/li&gt;
&lt;li&gt;型がおかしくてそもそもエラーとかにならないように&lt;/li&gt;
&lt;li&gt;アサーションは、学習後に精度が上がっていること、くらいでも有用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DVC (Data Version Control)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ツール&lt;/li&gt;
&lt;li&gt;Git と同じような使い方でデータをバージョン管理&lt;/li&gt;
&lt;li&gt;MLFlow でも同じようなことが実現できる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CML (Continuous Machine Learning)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DVC と同じ会社が出している&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub Actions などに組み込み、機械学習の結果をレポーティングしてプルリクに組み込む&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/iterative/setup-cml&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/iterative/setup-cml&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;負荷テスト&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;機械学習を組み込むときは、パフォーマンスに注意&lt;/li&gt;
&lt;li&gt;プロファイリングツールで見てみると、推論がきれいにたくさん時間を使う&lt;/li&gt;
&lt;li&gt;GPU コストを無駄にしないように、モデルの選定時にもパフォーマンスを意識する&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ツール&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Locust&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vegeta Attack&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;すぐに試したいときに最高の選択&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;感想&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;そうだなあと思える苦しみが色々見えて面白かったです&lt;/li&gt;
&lt;li&gt;MLOps に強くなるには、このあたりのツールを使い込んでいたり知っているのも大事そうだなと思いました&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;君のセキュリティはデプロイするまでもなく間違っている&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%90%9B%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AF%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E3%82%82%E3%81%AA%E3%81%8F%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B&quot; aria-label=&quot;君のセキュリティはデプロイするまでもなく間違っている permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;君のセキュリティはデプロイするまでもなく間違っている&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;資料&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://speakerdeck.com/ytaka23/cicd-conference-2021&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://speakerdeck.com/ytaka23/cicd-conference-2021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;設定のテストツール&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CFn&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudFormation Linter&lt;/li&gt;
&lt;li&gt;CloudFormation Guard&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IAM Access Analyzer&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;機能&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アクセスのプレビュー&lt;/li&gt;
&lt;li&gt;定期的なスキャン&lt;/li&gt;
&lt;li&gt;Policy のバリデーション・個別項目ルールの検査&lt;/li&gt;
&lt;li&gt;CloudTrail のアクセス履歴から Policy を生成&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SMT ソルバ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zelkova&lt;/li&gt;
&lt;li&gt;Tiros&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;感想&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;チェックをレベル別でまとめていたのが非常に分かりやすかったです&lt;/li&gt;
&lt;li&gt;とりあえず IAM Access Analyzer を試すところからですね&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;複数ブランチ運用は『単一のコードベース』と言えるのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A4%87%E6%95%B0%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E9%81%8B%E7%94%A8%E3%81%AF%E3%80%8E%E5%8D%98%E4%B8%80%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%99%E3%83%BC%E3%82%B9%E3%80%8F%E3%81%A8%E8%A8%80%E3%81%88%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;複数ブランチ運用は『単一のコードベース』と言えるのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;複数ブランチ運用は『単一のコードベース』と言えるのか&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;理想的なコンテナアプリケーションデリバリ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;単一永続ブランチ&lt;/li&gt;
&lt;li&gt;デプロイパイプラインはコードブランチとは別管理にすれば、そうできる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;開発用のコンテナ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FROM を本番用のコンテナにして、デバッグツールを入れる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;感想&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;めちゃくちゃ良い話でした&lt;/li&gt;
&lt;li&gt;いろんな人にこの話を聞いてほしいです&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cyberagent-における-oss-の-cicd-基盤開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cyberagent-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B-oss-%E3%81%AE-cicd-%E5%9F%BA%E7%9B%A4%E9%96%8B%E7%99%BA&quot; aria-label=&quot;cyberagent における oss の cicd 基盤開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CyberAgent における OSS の CI/CD 基盤開発&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;GitHub Actions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;helm/kind-action&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/helm/kind-action&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/helm/kind-action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;kind を動かしてくれて便利&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;whywaita/myshoes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;発表者の方が作成&lt;/li&gt;
&lt;li&gt;self-hosted runner を job ごとに生成、登録&lt;/li&gt;
&lt;li&gt;self-hosted runner に通常だと冪等性がないことを解消&lt;/li&gt;
&lt;li&gt;hashicorp/go-plugin によってプラガブルにしている&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PipeCD&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CyberAgent 製&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;k8s 以外でも GitOps&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;CloudRun&lt;/li&gt;
&lt;li&gt;Lambda&lt;/li&gt;
&lt;li&gt;Fargate&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Control-plane と piped という構成&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Control-plane はチーム間で共有&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Control-plane にはプロダクトチームのクレデンシャルも保存されない&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;シークレット管理の機能は備え付けられている&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;harness&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://harness.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://harness.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;感想&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;helm/kind-action や hashicorp/go-plugin など、知らないツールを色々知れてよかったです&lt;/li&gt;
&lt;li&gt;PipeCD はかなり便利そうな印象でした&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【2021 年 8 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 8 月に読んだ本をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202108</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202108</guid><pubDate>Tue, 31 Aug 2021 10:58:09 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 8 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;php-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#php-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;php について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PHP について&lt;/h2&gt;
&lt;h3 id=&quot;独習php-第4版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8B%AC%E7%BF%92php-%E7%AC%AC4%E7%89%88&quot; aria-label=&quot;独習php 第4版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3BurPXA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;独習PHP 第4版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09372PSG7/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7166c1c9f70246ec8de77aa521c54f19&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09372PSG7&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B09372PSG7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;プログラミングphp-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0php-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;プログラミングphp 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gMYmjk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミングPHP 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116686/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b49767bd46a75a27fd9bc962f249c8ec&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116686&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873116686&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;パーフェクトphp&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88php&quot; aria-label=&quot;パーフェクトphp permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3BpjLXW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクトPHP&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00P0UDWQY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1d2c6ba82b6de4f8214c79a53879bda5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00P0UDWQY&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00P0UDWQY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;PHP を改めて勉強しようということで、解説書を 3 冊ほど手に取りました。&lt;/p&gt;
&lt;p&gt;ひとまずどれか一冊、ということであれば、『独習PHP』がおすすめです。&lt;/p&gt;
&lt;p&gt;これらの本については、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/php-practical-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;ipaas-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ipaas-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ipaas について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;iPaaS について&lt;/h2&gt;
&lt;h3 id=&quot;iftttレシピブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ifttt%E3%83%AC%E3%82%B7%E3%83%94%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;iftttレシピブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mLSACq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IFTTTレシピブック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4777517764/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6751cb4d526ace4b514a9cabcaa9cc72&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4777517764&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4777517764&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;詳解integromat-ipaas完全入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%B3%E8%A7%A3integromat-ipaas%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80&quot; aria-label=&quot;詳解integromat ipaas完全入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mMr7Rb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解Integromat iPaaS完全入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B093P9123N/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e0781f6867ff774bab23463aae97dce4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B093P9123N&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B093P9123N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;やさしくはじめる-スマートスピーカープログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B9%E3%83%94%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;やさしくはじめる スマートスピーカープログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mO56kU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;やさしくはじめる スマートスピーカープログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07RW6LZN3/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8d895cb578a38341e3a950e9553e0842&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07RW6LZN3&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07RW6LZN3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仕事で IFTTT を試してみることになったので、せっかくの機会ということで、iPaaS について書いている本を探して読んでみました。&lt;/p&gt;
&lt;p&gt;どれも簡単な解説ではありましたが、iPaaS の概要はつかめました。&lt;/p&gt;
&lt;p&gt;これらの本については、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ipaas-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;lpic-の教科書・問題集&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lpic-%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%83%BB%E5%95%8F%E9%A1%8C%E9%9B%86&quot; aria-label=&quot;lpic の教科書・問題集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LPIC の教科書・問題集&lt;/h2&gt;
&lt;h3 id=&quot;linux教科書-lpicレベル2-version45対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E6%95%99%E7%A7%91%E6%9B%B8-lpic%E3%83%AC%E3%83%99%E3%83%AB2-version45%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;linux教科書 lpicレベル2 version45対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3yrvrHD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル2 Version4.5対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B071JQZ6N5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2d940e9b1ace263932d591dd416f2021&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B071JQZ6N5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B071JQZ6N5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;（合本）徹底攻略-lpic-level2-問題集-［version-45］差分＋［version-40］対応-徹底攻略シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%88%E5%90%88%E6%9C%AC%EF%BC%89%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-lpic-level2-%E5%95%8F%E9%A1%8C%E9%9B%86-%EF%BC%BBversion-45%EF%BC%BD%E5%B7%AE%E5%88%86%EF%BC%8B%EF%BC%BBversion-40%EF%BC%BD%E5%AF%BE%E5%BF%9C-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;（合本）徹底攻略 lpic level2 問題集 ［version 45］差分＋［version 40］対応 徹底攻略シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38sorjk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;（合本）徹底攻略 LPIC Level2 問題集 ［Version 4.5］差分＋［Version 4.0］対応 徹底攻略シリーズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07424N7DH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=98e75652a351f7d0dca4ece2fd8eb0f4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07424N7DH&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07424N7DH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;linux教科書-lpicレベル2-スピードマスター問題集-version45対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E6%95%99%E7%A7%91%E6%9B%B8-lpic%E3%83%AC%E3%83%99%E3%83%AB2-%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C%E9%9B%86-version45%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;linux教科書 lpicレベル2 スピードマスター問題集 version45対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Wzo1FE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル2 スピードマスター問題集 Version4.5対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075MB37WP/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7c1a0c6782f83da36000311bc9832615&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075MB37WP&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075MB37WP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC をレベル 1 しか持っていなかったので、今更ながら改めて LPIC レベル 2 を取得しました。&lt;/p&gt;
&lt;p&gt;その際、これらの教科書・問題集を手に取りました。&lt;/p&gt;
&lt;p&gt;今まで使ったことのないツールや設定を知ることができ、予想していた以上にとても勉強になりました。&lt;/p&gt;
&lt;p&gt;LPIC 201 対策については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-201-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事に、LPIC 202 対策については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-202-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事に書きました。&lt;/p&gt;
&lt;h2 id=&quot;lpic-202-関連&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lpic-202-%E9%96%A2%E9%80%A3&quot; aria-label=&quot;lpic 202 関連 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LPIC 202 関連&lt;/h2&gt;
&lt;h3 id=&quot;サーバ構築の実際がわかる-apache実践運用管理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B-apache%E5%AE%9F%E8%B7%B5%E9%81%8B%E7%94%A8%E7%AE%A1%E7%90%86&quot; aria-label=&quot;サーバ構築の実際がわかる apache実践運用管理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mKZMin&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サーバ構築の実際がわかる Apache[実践]運用/管理&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/gp/product/4774150363/ref=as_li_ss_il?ie=UTF8&amp;psc=1&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b44f88a3c10cc240f7db9aeff9f070b7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774150363&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4774150363&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;nginx実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;nginx実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3BmjogG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;nginx実践ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01N183E3H/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f5caa82a86f56047b1e0f187201b3756&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01N183E3H&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01N183E3H&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;【改訂新版】サーバ構築の実例がわかるsamba［実践］入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88%E3%80%91%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89%E3%81%AE%E5%AE%9F%E4%BE%8B%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8Bsamba%EF%BC%BB%E5%AE%9F%E8%B7%B5%EF%BC%BD%E5%85%A5%E9%96%80&quot; aria-label=&quot;【改訂新版】サーバ構築の実例がわかるsamba［実践］入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2UZGOsG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【改訂新版】サーバ構築の実例がわかるSamba［実践］入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01CXL8NL6/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c6d49e31fee39b1562ccd81f5de22701&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01CXL8NL6&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01CXL8NL6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;入門ldapopenldap-ディレクトリサービス導入・運用ガイド-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80ldapopenldap-%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E5%B0%8E%E5%85%A5%E3%83%BB%E9%81%8B%E7%94%A8%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;入門ldapopenldap ディレクトリサービス導入・運用ガイド 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jx57Ic&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798050954/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d74f2a3ebfa0767d1c07a61e53541d7c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798050954&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798050954&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC 202 対策として、関連する書籍を何冊か読みました。&lt;/p&gt;
&lt;p&gt;資格試験の勉強では、その資格対策用の本だけだと解説が少ないこともあり、関連する本を別途読むのが個人的におすすめです。&lt;/p&gt;
&lt;p&gt;Samba・LDAP はあまり使い慣れておらず、こういった本で勉強してちょうどよかったです。&lt;/p&gt;
&lt;p&gt;Nginx は普段から使う機会が多いですが、改めて解説書を読むと、SSL / TLS のチューニングや、HTTP に関する知らない知識が書かれていたり、性能向上について解説されていたり、非常に勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;ゼロトラストネットワークについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;ゼロトラストネットワークについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゼロトラストネットワークについて&lt;/h2&gt;
&lt;h3 id=&quot;ゼロトラストネットワーク-境界防御の限界を超えるためのセキュアなシステム設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-%E5%A2%83%E7%95%8C%E9%98%B2%E5%BE%A1%E3%81%AE%E9%99%90%E7%95%8C%E3%82%92%E8%B6%85%E3%81%88%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%81%AA%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;ゼロトラストネットワーク 境界防御の限界を超えるためのセキュアなシステム設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mJR7g9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118883/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2397fba1eea12f46614c4447a303a686&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118883&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118883&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;気になりつつも積読のままになっていた、オライリーの『ゼロトラストネットワーク』を読みました。&lt;/p&gt;
&lt;p&gt;最近流行のキーワードということもあり耳にする機会は多いですが、実際に概要でも理解している人は多くないと思います。&lt;/p&gt;
&lt;p&gt;日本語でしっかり解説されているのはこの 1 冊なので、気になる方は是非手に取っていただくといいと思います。&lt;/p&gt;
&lt;p&gt;感想は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4873118883&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事に書きました。&lt;/p&gt;
&lt;h2 id=&quot;prometheus-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#prometheus-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;prometheus について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Prometheus について&lt;/h2&gt;
&lt;h3 id=&quot;入門-prometheus-インフラとアプリケーションのパフォーマンスモニタリング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-prometheus-%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0&quot; aria-label=&quot;入門 prometheus インフラとアプリケーションのパフォーマンスモニタリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Bmmp0o&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118778/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=17def2147328036f56649b3dc6a669fb&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118778&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118778&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仕事で Grafana について調べたくなり、ついでに Prometheus も勉強しようとこの本を手に取りました。&lt;/p&gt;
&lt;p&gt;Prometheus の構成や基本的な使い方、各種 Tips に加えて、監視やアラートの考え方なども解説されている素晴らしい本でした。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 16 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;LPIC レベル 2 関係で色々知識がついたのが大きいです。&lt;/p&gt;
&lt;p&gt;来月はとりあえず MLOps 関係などを勉強しつつ、LPIC 304 にも手を出してみようと考えています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[LPIC 202 対策として、教科書・問題集以外でおすすめの本]]></title><description><![CDATA[LPIC 202 試験では、DNS や Web サーバ、ファイルサーバ、メールサーバの構築といった幅広い知識が求められます。
これらを試験対策の教科書で勉強しようとすると、一つ一つの説明が簡素で、なかなか理解を深めにくいです。
この記事では、そんな LPIC 202 試験の勉強をするにあたり、教科書に取り組む前におすすめの書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/lpic-202-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/lpic-202-books</guid><pubDate>Sat, 28 Aug 2021 08:34:41 GMT</pubDate><content:encoded>&lt;p&gt;LPIC 202 試験では、DNS や Web サーバ、ファイルサーバ、メールサーバの構築といった幅広い知識が求められます。&lt;/p&gt;
&lt;p&gt;これらを試験対策の教科書で勉強しようとすると、一つ一つの説明が簡素で、なかなか理解を深めにくいです。&lt;/p&gt;
&lt;p&gt;この記事では、そんな LPIC 202 試験の勉強をするにあたり、教科書に取り組む前におすすめの書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;dns&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dns&quot; aria-label=&quot;dns permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DNS&lt;/h2&gt;
&lt;h3 id=&quot;3分間dns基礎講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3%E5%88%86%E9%96%93dns%E5%9F%BA%E7%A4%8E%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;3分間dns基礎講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2UToYYm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3分間DNS基礎講座&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774138630/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c68320ad88ee1a35816e074133b839a6&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774138630&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774138630&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DNS の基本をまとめた本としては、「3 分間ネットワークシリーズ」のこちらの本がとっかかりやすいです。&lt;/p&gt;
&lt;p&gt;気軽に読める厚さの書籍で、DNS の仕組みの概要をつかむことができます。&lt;/p&gt;
&lt;p&gt;BIND の設定についての解説はないので、そこは別途勉強することになります。&lt;/p&gt;
&lt;h3 id=&quot;web-サーバ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-%E3%82%B5%E3%83%BC%E3%83%90&quot; aria-label=&quot;web サーバ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web サーバ&lt;/h3&gt;
&lt;h3 id=&quot;サーバ構築の実際がわかる-apache実践運用管理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B-apache%E5%AE%9F%E8%B7%B5%E9%81%8B%E7%94%A8%E7%AE%A1%E7%90%86&quot; aria-label=&quot;サーバ構築の実際がわかる apache実践運用管理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jun761&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サーバ構築の実際がわかる Apache[実践]運用/管理&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774150363/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a472a75919ddff6dbcfe884bfa48fb2d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774150363&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774150363&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Apache HTTP Server については、こちらの本がおすすめです。&lt;/p&gt;
&lt;p&gt;Apache の基本から、セキュリティ・負荷分散なども学ぶことができます。&lt;/p&gt;
&lt;p&gt;試験対策としては過剰な内容ではありますが、知っておくと役立つ知識をたくさん得られます。&lt;/p&gt;
&lt;h3 id=&quot;nginx実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;nginx実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ytCKyt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;nginx実践ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01N183E3H/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=09af270dc94abcfb079e9f5ad56f4624&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01N183E3H&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01N183E3H&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Nginx の解説としてはこちらがおすすめです。&lt;/p&gt;
&lt;p&gt;基本的な設定から、性能向上やセキュリティなどを含む、実践的な知識まで学ぶことがでます。&lt;/p&gt;
&lt;p&gt;Nginx を運用することになった方に是非おすすめしたい一冊です。&lt;/p&gt;
&lt;p&gt;2021 年 8 月現在、Kindle Unlimited で無料で読むこともできます。&lt;/p&gt;
&lt;h2 id=&quot;samba&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#samba&quot; aria-label=&quot;samba permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Samba&lt;/h2&gt;
&lt;h3 id=&quot;【改訂新版】サーバ構築の実例がわかるsamba［実践］入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88%E3%80%91%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89%E3%81%AE%E5%AE%9F%E4%BE%8B%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8Bsamba%EF%BC%BB%E5%AE%9F%E8%B7%B5%EF%BC%BD%E5%85%A5%E9%96%80&quot; aria-label=&quot;【改訂新版】サーバ構築の実例がわかるsamba［実践］入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mE8oXQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【改訂新版】サーバ構築の実例がわかるSamba［実践］入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01CXL8NL6/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=46a666ba59861e5b9aba5e2360a994c3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01CXL8NL6&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01CXL8NL6&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Samba に関する、比較的新しい (2016 年発売の) 解説書です。&lt;/p&gt;
&lt;p&gt;Samba の基本から実践的なファイルサーバの構築についてまで解説されています。&lt;/p&gt;
&lt;h2 id=&quot;ldap&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ldap&quot; aria-label=&quot;ldap permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LDAP&lt;/h2&gt;
&lt;h3 id=&quot;入門ldapopenldap-ディレクトリサービス導入・運用ガイド-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80ldapopenldap-%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E5%B0%8E%E5%85%A5%E3%83%BB%E9%81%8B%E7%94%A8%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;入門ldapopenldap ディレクトリサービス導入・運用ガイド 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3yjiAr2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798050954/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c17e806e1c655c35779fa8d81a6536b0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798050954&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798050954&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LDAP・OpenLDAP の、比較的新しい (2017 年発売の) 解説書です。&lt;/p&gt;
&lt;p&gt;LDAP に登場する概念はなかなかややこしく、LPIC 対策の教科書だけで学ぶハードルは少し高いです。&lt;/p&gt;
&lt;p&gt;LDAP に注力して解説したこういった書籍から勉強し始めるのがおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;メール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%BC%E3%83%AB&quot; aria-label=&quot;メール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メール&lt;/h2&gt;
&lt;h3 id=&quot;3分間httpメールプロトコル基礎講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3%E5%88%86%E9%96%93http%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E5%9F%BA%E7%A4%8E%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;3分間httpメールプロトコル基礎講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38jsRJ4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3分間HTTP&amp;#x26;メールプロトコル基礎講座&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774140813?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=db89a9a5d7e711932d529c6ee26a1ee9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774140813&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774140813&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;メール関係のプロトコルの概要は、「3 分間ネットワーキングシリーズ」のこちらの書籍で解説されています。&lt;/p&gt;
&lt;p&gt;SMTP、POP、IMAP といった、メール関連のプロトコルの基本を学ぶことができます。&lt;/p&gt;
&lt;p&gt;Postfix などの設定については書かれていないので、そこは別途勉強することになります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、LPIC 202 の出題範囲に関するおすすめの本を紹介しました。&lt;/p&gt;
&lt;p&gt;実際の試験対策としては、教科書や問題集も用意することになります。&lt;/p&gt;
&lt;p&gt;教科書・問題集については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-201-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[LPIC 201 対策のおすすめ書籍紹介]]></title><description><![CDATA[LPIC 201 試験では、Linux カーネルのビルドやファイルシステムについてなど、カーネル周辺の知識が求められます。
そんな 201 試験の勉強をする上でおすすめの本を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/lpic-201-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/lpic-201-books</guid><pubDate>Sat, 28 Aug 2021 08:29:35 GMT</pubDate><content:encoded>&lt;p&gt;LPIC 201 試験では、Linux カーネルのビルドやファイルシステムについてなど、カーネル周辺の知識が求められます。&lt;/p&gt;
&lt;p&gt;そんな 201 試験の勉強をする上でおすすめの本を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;前提知識を得るためのおすすめ本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98%E3%82%92%E5%BE%97%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E6%9C%AC&quot; aria-label=&quot;前提知識を得るためのおすすめ本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提知識を得るためのおすすめ本&lt;/h2&gt;
&lt;p&gt;LPIC 201 試験の教科書のような本を最初に手にとると、カーネルのビルドなどのイメージはかなりつきにくいと思います。&lt;/p&gt;
&lt;p&gt;そこで、事前に以下の 2 冊を読んでおくのがおすすめです。&lt;/p&gt;
&lt;h3 id=&quot;［試して理解］linuxのしくみ-～実験と図解で学ぶosとハードウェアの基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E8%A9%A6%E3%81%97%E3%81%A6%E7%90%86%E8%A7%A3%EF%BC%BDlinux%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%EF%BD%9E%E5%AE%9F%E9%A8%93%E3%81%A8%E5%9B%B3%E8%A7%A3%E3%81%A7%E5%AD%A6%E3%81%B6os%E3%81%A8%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;［試して理解］linuxのしくみ ～実験と図解で学ぶosとハードウェアの基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38k2vqr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［試して理解］Linuxのしくみ ～実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c969c8c60673a9f021d1864724c63d5e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プロセススケジューラ、メモリ管理、ファイルシステムといった、Linux の重要な仕組みが解説されています。&lt;/p&gt;
&lt;p&gt;コマンドの実行例も豊富なため、自分で手を動かしながらしっかり理解できるようになっています。&lt;/p&gt;
&lt;h3 id=&quot;ふつうのlinuxプログラミング-第2版-linuxの仕組みから学べるgccプログラミングの王道&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AElinux%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88-linux%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B9%E3%82%8Bgcc%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E7%8E%8B%E9%81%93&quot; aria-label=&quot;ふつうのlinuxプログラミング 第2版 linuxの仕組みから学べるgccプログラミングの王道 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zp99HP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版　Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d4202278083d84f4b056cca4b2388bcd&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;C 言語でのプログラムとともに、システムコールやライブラリ関数を解説しながら Linux の仕組みを学べる書籍です。&lt;/p&gt;
&lt;p&gt;ファイルシステム・プロセス・ストリームという 3 つの重要概念に注目してまとめられています。&lt;/p&gt;
&lt;h2 id=&quot;教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;教科書&lt;/h2&gt;
&lt;p&gt;ここまでの 2 冊を読んでから試験対策の教科書に進むことで、単なる暗記ではなく、しっかり意味を理解して学べるようになります。&lt;/p&gt;
&lt;h3 id=&quot;linux教科書-lpicレベル2-version45対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E6%95%99%E7%A7%91%E6%9B%B8-lpic%E3%83%AC%E3%83%99%E3%83%AB2-version45%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;linux教科書 lpicレベル2 version45対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3sXZGF1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル2 Version4.5対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B071JQZ6N5?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=671fb968db13a9bfbffc799ecc6b8112&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B071JQZ6N5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B071JQZ6N5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC の教科書として定番の通称「あずき本」がこちらです。&lt;/p&gt;
&lt;p&gt;LPIC の受験の際に確実におすすめされる本です。&lt;/p&gt;
&lt;h2 id=&quot;問題集&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%95%8F%E9%A1%8C%E9%9B%86&quot; aria-label=&quot;問題集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;問題集&lt;/h2&gt;
&lt;p&gt;問題集は 2 種類発売されています。&lt;/p&gt;
&lt;h3 id=&quot;（合本）徹底攻略-lpic-level2-問題集-［version-45］差分＋［version-40］対応-徹底攻略シリーズ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%88%E5%90%88%E6%9C%AC%EF%BC%89%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-lpic-level2-%E5%95%8F%E9%A1%8C%E9%9B%86-%EF%BC%BBversion-45%EF%BC%BD%E5%B7%AE%E5%88%86%EF%BC%8B%EF%BC%BBversion-40%EF%BC%BD%E5%AF%BE%E5%BF%9C-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA&quot; aria-label=&quot;（合本）徹底攻略 lpic level2 問題集 ［version 45］差分＋［version 40］対応 徹底攻略シリーズ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Y67CJ6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;（合本）徹底攻略 LPIC Level2 問題集 ［Version 4.5］差分＋［Version 4.0］対応 徹底攻略シリーズ&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07424N7DH?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=82f96e2e2d05e4144b246e81a9f688b1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07424N7DH&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07424N7DH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC Level2 の問題集で、通称「黒本」です。&lt;/p&gt;
&lt;p&gt;Version 4.0 に対応している一冊と、Version 4.5 との差分だけの薄い本になります。&lt;/p&gt;
&lt;h3 id=&quot;linux教科書-lpicレベル2-スピードマスター問題集-version45対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E6%95%99%E7%A7%91%E6%9B%B8-lpic%E3%83%AC%E3%83%99%E3%83%AB2-%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C%E9%9B%86-version45%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;linux教科書 lpicレベル2 スピードマスター問題集 version45対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2WphjSB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル2 スピードマスター問題集 Version4.5対応&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075MB37WP?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4db42a3a137bc56aea63a54405ed6955&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075MB37WP&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B075MB37WP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも LPIC Level2 の問題集です。&lt;/p&gt;
&lt;p&gt;試験勉強としては、問題をある程度の量解くのも有効なので、先に紹介した「黒本」とこの本を両方購入してもいいと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、LPIC 201 対策でおすすめの本を紹介しました。&lt;/p&gt;
&lt;p&gt;202 対策のおすすめ本も &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-202-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事で紹介しているので、参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[MLFlow の TrackingAPI を Quickstart して保存されたデータを覗いてみる]]></title><description><![CDATA[MLFlow を少しさわってみようと思い、特に気になった TrackingAPI をさわってみつつ、データがどう保存されるのかを覗いてみました。]]></description><link>https://www.kanzennirikaisita.com/posts/mlflow-trackingapi-quickstart</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/mlflow-trackingapi-quickstart</guid><pubDate>Wed, 25 Aug 2021 12:55:21 GMT</pubDate><content:encoded>&lt;p&gt;MLFlow を少しさわってみようと思い、特に気になった TrackingAPI をさわってみつつ、データがどう保存されるのかを覗いてみました。&lt;/p&gt;
&lt;h2 id=&quot;環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%92%B0%E5%A2%83&quot; aria-label=&quot;環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 20.04.3 LTS&lt;/li&gt;
&lt;li&gt;Python 3.8.3&lt;/li&gt;
&lt;li&gt;mlflow 1.20.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;mlflow-のインストール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlflow-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&quot; aria-label=&quot;mlflow のインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MLFlow のインストール&lt;/h2&gt;
&lt;p&gt;MLFlow 自体は &lt;code class=&quot;language-text&quot;&gt;pip install mlflow&lt;/code&gt; で簡単に導入できます。&lt;/p&gt;
&lt;h2 id=&quot;サンプルコードの実行&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C&quot; aria-label=&quot;サンプルコードの実行 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サンプルコードの実行&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://mlflow.org/docs/latest/quickstart.html#using-the-tracking-api&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;公式ドキュメントの Quickstart&lt;/a&gt; に書かれている以下の内容のファイルを作成します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;python&quot;&gt;&lt;pre class=&quot;language-python&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; os
&lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; random &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; random&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; randint
&lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; mlflow &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; log_metric&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; log_param&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; log_artifacts

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; __name__ &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;__main__&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;# Log a parameter (key-value pair)&lt;/span&gt;
    log_param&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;param1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; randint&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;# Log a metric; metrics can be updated throughout the run&lt;/span&gt;
    log_metric&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;foo&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; random&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    log_metric&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;foo&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; random&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    log_metric&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;foo&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; random&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;# Log an artifact (output file)&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;not&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exists&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;outputs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;makedirs&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;outputs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;outputs/test.txt&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; f&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        f&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;write&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;hello world!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    log_artifacts&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;outputs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;python コマンドで実行します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ python mlflow_tracking.py&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;上記のサンプルコードが実行され、&lt;code class=&quot;language-text&quot;&gt;log_metric&lt;/code&gt;、&lt;code class=&quot;language-text&quot;&gt;log_param&lt;/code&gt;、&lt;code class=&quot;language-text&quot;&gt;log_artifacts&lt;/code&gt; で指定した内容が保存されました。&lt;/p&gt;
&lt;p&gt;保存された内容は、&lt;code class=&quot;language-text&quot;&gt;mlflow ui&lt;/code&gt; コマンドで起動した Web UI で可視化できます。&lt;/p&gt;
&lt;h2 id=&quot;できたファイルの一覧&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A7%E3%81%8D%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%B8%80%E8%A6%A7&quot; aria-label=&quot;できたファイルの一覧 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;できたファイルの一覧&lt;/h2&gt;
&lt;p&gt;デフォルトでは ./mlruns ディレクトリ以下にデータが出力されるようなので、それを見ていきます。&lt;/p&gt;
&lt;p&gt;まず、tree コマンドで、出力されたファイルの一覧を見てみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ tree
.
├── mlflow_tracking.py
├── mlruns
│   └── 0
│       ├── d0b221068a7147afb0177cd3fb9fb5cf
│       │   ├── artifacts
│       │   │   └── test.txt
│       │   ├── meta.yaml
│       │   ├── metrics
│       │   │   └── foo
│       │   ├── params
│       │   │   └── param1
│       │   └── tags
│       │       ├── mlflow.source.name
│       │       ├── mlflow.source.type
│       │       └── mlflow.user
│       └── meta.yaml
└── outputs
    └── test.txt

8 directories, 10 files&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;各ファイルの中身&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%90%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%B8%AD%E8%BA%AB&quot; aria-label=&quot;各ファイルの中身 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;各ファイルの中身&lt;/h2&gt;
&lt;p&gt;それでは、各ファイルについて見ていきます。&lt;/p&gt;
&lt;h3 id=&quot;mlruns0-ディレクトリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlruns0-%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA&quot; aria-label=&quot;mlruns0 ディレクトリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;mlruns/0 ディレクトリ&lt;/h3&gt;
&lt;h4 id=&quot;metayaml&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#metayaml&quot; aria-label=&quot;metayaml permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;meta.yaml&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;artifact_location: file:///home/oshima/mlflow_tracking/mlruns/0
experiment_id: &amp;#39;0&amp;#39;
lifecycle_stage: active
name: Default&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;「0」という experiment に対するメタデータのようです。&lt;/p&gt;
&lt;h3 id=&quot;mlruns0d0b221068a7147afb0177cd3fb9fb5cf-ディレクトリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mlruns0d0b221068a7147afb0177cd3fb9fb5cf-%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA&quot; aria-label=&quot;mlruns0d0b221068a7147afb0177cd3fb9fb5cf ディレクトリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;mlruns/0/d0b221068a7147afb0177cd3fb9fb5cf ディレクトリ&lt;/h3&gt;
&lt;h4 id=&quot;metayaml-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#metayaml-1&quot; aria-label=&quot;metayaml 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;meta.yaml&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;artifact_uri: file:///home/oshima/mlflow_tracking/mlruns/0/d0b221068a7147afb0177cd3fb9fb5cf/artifacts
end_time: 1629894186654
entry_point_name: &amp;#39;&amp;#39;
experiment_id: &amp;#39;0&amp;#39;
lifecycle_stage: active
name: &amp;#39;&amp;#39;
run_id: d0b221068a7147afb0177cd3fb9fb5cf
run_uuid: d0b221068a7147afb0177cd3fb9fb5cf
source_name: &amp;#39;&amp;#39;
source_type: 4
source_version: &amp;#39;&amp;#39;
start_time: 1629894186647
status: 3
tags: []
user_id: oshima&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;「d0b221068a7147afb0177cd3fb9fb5cf」という run に対するメタデータのようです。&lt;/p&gt;
&lt;h4 id=&quot;artifactstesttxt&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#artifactstesttxt&quot; aria-label=&quot;artifactstesttxt permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;artifacts/test.txt&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ cat test.txt
hello world!&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;artifacts ディレクトリ以下には、log_artifact で指定したファイルが出力されるようです。&lt;/p&gt;
&lt;h4 id=&quot;metricsfoo&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#metricsfoo&quot; aria-label=&quot;metricsfoo permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;metrics/foo&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;1629894186651 0.10226160404903561 0
1629894186652 1.4250551980391988 0
1629894186652 2.904784967403418 0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;log_metric で指定したログが、UNIX 時間とともに記録されています。&lt;/p&gt;
&lt;h4 id=&quot;paramsparam1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#paramsparam1&quot; aria-label=&quot;paramsparam1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;params/param1&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;16&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;log_param で指定した値です。&lt;/p&gt;
&lt;h4 id=&quot;tagsmlflowsourcename&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tagsmlflowsourcename&quot; aria-label=&quot;tagsmlflowsourcename permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;tags/mlflow.source.name&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;mlflow_tracking.py&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 id=&quot;tagsmlflowsourcetype&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tagsmlflowsourcetype&quot; aria-label=&quot;tagsmlflowsourcetype permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;tags/mlflow.source.type&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;LOCAL&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 id=&quot;tagsmlflowuser&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tagsmlflowuser&quot; aria-label=&quot;tagsmlflowuser permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;tags/mlflow.user&lt;/h4&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;oshima&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;tags 以下は、実行されたファイルや実行環境についての記録のようです。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;以上、MLFlow の TrackingAPI で出力されるデータを覗いてみました。&lt;/p&gt;
&lt;p&gt;ここまでさわってみて、MLFlow の TrackingAPI は、非常に簡単に導入できる素晴らしいツールだなと思いました。&lt;/p&gt;
&lt;p&gt;パラメータなどを記録したいというユースケースは非常によくあることで、そういった際に、独自実装せずに MLFlow というライブラリで解決できるのは、とても便利だと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://mlflow.org/docs/latest/tracking.html#automatic-logging&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Automatic Logging&lt;/a&gt; を使うことで、対応するライブラリのパラメータは自動的に保存されるとのことで、これもとても便利そうです。&lt;/p&gt;
&lt;h2 id=&quot;保存先について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BF%9D%E5%AD%98%E5%85%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;保存先について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;保存先について&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://mlflow.org/docs/latest/tracking.html#id12&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ドキュメント&lt;/a&gt; を見たところ、データの保存先としては RDB やオブジェクトストレージなどを組み合わせて使えるようです。&lt;/p&gt;
&lt;p&gt;チームで利用する際は、RDS などの DBaaS と S3 などを組み合わせて使うことになるのだと思います。&lt;/p&gt;
&lt;p&gt;とはいえ、まずは今回試したように、ローカルのファイルに出力するところからでも気軽に使い始められそうです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[LDAP の用語・概念を図で整理]]></title><description><![CDATA[LDAP で登場する用語がややこしかったので、図で整理しました。]]></description><link>https://www.kanzennirikaisita.com/posts/ldap-conceptual-model</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ldap-conceptual-model</guid><pubDate>Tue, 24 Aug 2021 04:13:42 GMT</pubDate><content:encoded>&lt;p&gt;LDAP で登場する用語がややこしかったので、図で整理しました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/ldap-conceptual-model.png&quot; alt=&quot;LDAP_概念モデル&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2XHIQi8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門LDAP/OpenLDAP ディレクトリサービス導入・運用ガイド 第3版&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798050954/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f757f83ada37b3dccabc8151c8f6b8ad&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798050954&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798050954&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[iPaaS (Integration Platform as a Service) に関する日本語書籍まとめ]]></title><description><![CDATA[クラウドの発展により様々な SaaS サービスが登場する中、そういったサービス同士を連携する iPaaS (Integration Platform as a Service) にも注目が集まっています。
この記事には、そんな iPaaS に関する日本語書籍をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/ipaas-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ipaas-books</guid><pubDate>Sat, 21 Aug 2021 15:38:41 GMT</pubDate><content:encoded>&lt;p&gt;クラウドの発展により様々な SaaS サービスが登場する中、そういったサービス同士を連携する iPaaS (Integration Platform as a Service) にも注目が集まっています。&lt;/p&gt;
&lt;p&gt;この記事には、そんな iPaaS に関する日本語書籍をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;iftttレシピブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ifttt%E3%83%AC%E3%82%B7%E3%83%94%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;iftttレシピブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3sD5XWo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IFTTTレシピブック&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4777517764/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=6d45b469d72cc5a86390fbbf45cda1b0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4777517764&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4777517764&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、IFTTT のレシピをまとめた本です。&lt;/p&gt;
&lt;p&gt;IFTT の簡単な説明に始まり、使えるサービス (チャンネル) やデバイス、レシピ例などが紹介されています。
(2013 年発売のため、その時点の情報・用語です)&lt;/p&gt;
&lt;p&gt;IFTTT の用途をパラパラ眺めるような読み方になると思います。&lt;/p&gt;
&lt;h2 id=&quot;詳解integromat-ipaas完全入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%B3%E8%A7%A3integromat-ipaas%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80&quot; aria-label=&quot;詳解integromat ipaas完全入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3kjutbI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解Integromat iPaaS完全入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B093P9123N/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c0aafc8bdd117191d1c0dc815efa4e03&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B093P9123N&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B093P9123N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;iPaaS の一種である Integromat の使い方を簡単にまとめた本です。&lt;/p&gt;
&lt;p&gt;個人的には、SSH でコマンドを実行できる、関数によるデータ加工ができる、Firestore や Lambda と連携できるといったのが予想外で発見でした。&lt;/p&gt;
&lt;p&gt;iPaaS と言えば IFTTT と Zapier が有名ですが、Integromat も良さそうだなという印象を持ちました。&lt;/p&gt;
&lt;h2 id=&quot;やさしくはじめる-スマートスピーカープログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B9%E3%83%94%E3%83%BC%E3%82%AB%E3%83%BC%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;やさしくはじめる スマートスピーカープログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3j5IQ3V&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;やさしくはじめる スマートスピーカープログラミング&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07RW6LZN3/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a7cd5386d8f9d3b93be801a2f3b291f7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07RW6LZN3&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07RW6LZN3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;スマートスピーカー (Google Home と Amazon Echo) の開発の入門書ですが、前半で IFTTT を使うケースががっつり解説されています。&lt;/p&gt;
&lt;p&gt;Google Home と Amazon Echo の 2 つについて解説されており、開発者視点での記述もあります。&lt;/p&gt;
&lt;p&gt;Beebotte や ngrok と IFTTT の Webhook により、PC と連携する方法なども解説されています。&lt;/p&gt;
&lt;p&gt;Google Home は Dialogflow を通して Firebase と連携できることや、音声をコントロールする SSML (Speech Synthesis Markup Language) についてなど、知っておくと良さそうなトピックも豊富で勉強になりました。&lt;/p&gt;
&lt;p&gt;スマートスピーカープログラミングに触れたことがない開発者が概要を知るのにおすすめできます。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[非初心者向けの PHP 解説書まとめ]]></title><description><![CDATA[PHP の入門書・解説書は非常にたくさんありますが、他の言語の経験者や、プログラミングに慣れてきたくらいの方に向けた書籍は多くはありません。
この記事では、そんな非初心者向けの PHP 解説書を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/php-practical-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/php-practical-books</guid><pubDate>Sat, 21 Aug 2021 13:17:40 GMT</pubDate><content:encoded>&lt;p&gt;PHP の入門書・解説書は非常にたくさんありますが、他の言語の経験者や、プログラミングに慣れてきたくらいの方に向けた書籍は多くはありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな非初心者向けの PHP 解説書を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;独習php-第4版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8B%AC%E7%BF%92php-%E7%AC%AC4%E7%89%88&quot; aria-label=&quot;独習php 第4版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3D40gG3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;独習PHP 第4版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B09372PSG7/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=aaa3a6c9e2cb5226166cefa72d2704d0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B09372PSG7&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B09372PSG7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;PHP の入門用解説書です。&lt;/p&gt;
&lt;p&gt;2021 年 6 月に第 4 版が出たばかりで、PHP 8 にも対応しています。&lt;/p&gt;
&lt;p&gt;600 ページと少し分厚いですが、この 1 冊で PHP の基礎知識をしっかり学ぶことができます。&lt;/p&gt;
&lt;p&gt;2021 年 8 月現在、他の言語経験者が PHP の入門書を 1 冊だけ買うなら、この本がおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;プログラミングphp-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0php-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;プログラミングphp 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3D5brhw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミングPHP 第3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116686/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=27e5273104b094fe063232a89ee0dffe&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116686&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873116686&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;オライリーの PHP の解説書です。&lt;/p&gt;
&lt;p&gt;PHP を基本から解説しており、ガベージコレクションについてや、Web ページではなく画像を生成する方法についてなど、『独習PHP』よりもう一歩踏み込んだ内容も書かれています。&lt;/p&gt;
&lt;p&gt;2014 年発売のため少し古い情報もありますが、参考になります。&lt;/p&gt;
&lt;h2 id=&quot;パーフェクトphp&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88php&quot; aria-label=&quot;パーフェクトphp permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Wf9bnb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクトPHP&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00P0UDWQY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ab8035cd00d35e612bd20d3dac86f972&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00P0UDWQY&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00P0UDWQY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「パーフェクトシリーズ」の PHP の解説書です。&lt;/p&gt;
&lt;p&gt;2010 年発売の書籍ではありますが、PHP の基本からセキュリティなど含め幅広く解説されており、PHP をしっかり学ぶ際におすすめできます。&lt;/p&gt;
&lt;p&gt;特筆すべきは、フレームワークの “作り方” が解説されている点です。&lt;/p&gt;
&lt;p&gt;非常に簡易的なものではありますが、フレームワークの仕組みが全くイメージがつかないという方は、読んでみると勉強になると思います。&lt;/p&gt;
&lt;p&gt;他の言語ですが、フレームワークの “作り方” のイメージをつける上では、『&lt;a href=&quot;https://amzn.to/37ZrTlc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタプログラミングRuby 第2版&lt;/a&gt;』も参考になります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117437/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f0d4e28c500fd52556457a093771907f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117437&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873117437&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;その他の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;その他の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の書籍&lt;/h2&gt;
&lt;p&gt;その他、私は未読ですが、『&lt;a href=&quot;https://amzn.to/3y0x136&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;レベルアップPHP ～言語を理解して中級者へ～&lt;/a&gt;』という本もかなり好評なようです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07Q9PPP2T/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e8ce3565c1a53aa01f9612a7632e30ca&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07Q9PPP2T&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07Q9PPP2T&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り入門向けではないようなので、『&lt;a href=&quot;https://amzn.to/3D40gG3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;独習PHP 第4版&lt;/a&gt;』などで基本を学んだあと、この本に手を出してみるといいのではないでしょうか。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【感想】オライリーの『ゼロトラストネットワーク』を読みました]]></title><description><![CDATA[オライリーの『ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計』を読んだので、感想をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/4873118883</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4873118883</guid><pubDate>Fri, 13 Aug 2021 01:45:01 GMT</pubDate><content:encoded>&lt;p&gt;オライリーの『&lt;a href=&quot;https://amzn.to/37HpEmg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計&lt;/a&gt;』を読んだので、感想をまとめます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118883/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=f08bc1c384ddd3588ed4da402f2d1191&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118883&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4873118883&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;書籍の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;書籍の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍の概要&lt;/h2&gt;
&lt;p&gt;『ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計』は、ここ数年で耳にするようになった「ゼロトラストネットワーク」についての解説書です。&lt;/p&gt;
&lt;p&gt;ゼロトラスト自体は、従来のゾーン分割されたネットワークとは異なりネットワーク全体が安全ではないとした上で、セキュアな通信を成立させるためのアプローチです。&lt;/p&gt;
&lt;p&gt;この本を読むことで、ゼロトラストの考え方や、構成要素、事例などを知ることができます。&lt;/p&gt;
&lt;h2 id=&quot;ゼロトラストの理解&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%81%AE%E7%90%86%E8%A7%A3&quot; aria-label=&quot;ゼロトラストの理解 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゼロトラストの理解&lt;/h2&gt;
&lt;p&gt;自分はゼロトラストについて雰囲気しか知らず、「従来と異なりあらゆるネットワークを安全と見なさない構成」くらいの知識でこの本を手に取りました。&lt;/p&gt;
&lt;p&gt;そのくらいの前提知識では、序盤の「ゼロトラストの基礎」や「信頼と信用の管理」といった章を読んでいても、抽象的な議論に見えてなかなか理解が進みませんでした。&lt;/p&gt;
&lt;p&gt;しかし、信用スコアの考え方や、ユーザー・デバイス・アプリケーションの信頼・信用など、後半になるにつれてゼロトラストを実現する具体的な方法なども解説され、ゼロトラストの心をなんとなくつかむことができました。&lt;/p&gt;
&lt;h2 id=&quot;ゼロトラストの考え方は、ゼロトラスト以外でも使える&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%81%AE%E8%80%83%E3%81%88%E6%96%B9%E3%81%AF%E3%80%81%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E4%BB%A5%E5%A4%96%E3%81%A7%E3%82%82%E4%BD%BF%E3%81%88%E3%82%8B&quot; aria-label=&quot;ゼロトラストの考え方は、ゼロトラスト以外でも使える permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゼロトラストの考え方は、ゼロトラスト以外でも使える&lt;/h2&gt;
&lt;p&gt;この本を読んでいて、ゼロトラストの考え方は従来のセキュリティの延長でも使えるものなのではないかと思いました。&lt;/p&gt;
&lt;p&gt;例えば、書籍の中でユーザー・デバイス・アプリケーションの信頼・信用について手厚く解説されているのですが、この内容は「そもそも認証や認可とはどうあるべきなのか」といったことを改めて考えさせられますし、この要素だけを既存の構成に取り込んでいくようなことも可能です。&lt;/p&gt;
&lt;p&gt;他にもゼロトラストに限らないセキュリティの考え方が多数解説されており、ゼロトラスト以外の場面でも役立つ知識が得られました。&lt;/p&gt;
&lt;p&gt;仕事で CI / CD といった領域に関わることが多かった自分の場合、いかにしてビルド成果物をトレースできるようにするか、といった話も興味深かったです。&lt;/p&gt;
&lt;h2 id=&quot;ゼロトラストの漸進的な導入&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%81%AE%E6%BC%B8%E9%80%B2%E7%9A%84%E3%81%AA%E5%B0%8E%E5%85%A5&quot; aria-label=&quot;ゼロトラストの漸進的な導入 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゼロトラストの漸進的な導入&lt;/h2&gt;
&lt;p&gt;従来のセキュリティの延長でも使える要素が解説されていることは、従来の構成からゼロトラストに漸進的に移っていけるということでもあります。&lt;/p&gt;
&lt;p&gt;書籍の中でも、従来の構成からゼロトラストに向かっていく流れが解説されています。&lt;/p&gt;
&lt;p&gt;私はもともと、「ゼロトラスト」というものは従来のネットワーク構成と両立するものではないのだろうなと想像していたので、このことはとても意外でした。&lt;/p&gt;
&lt;h2 id=&quot;ゼロトラストはまだまだ発展途上の分野&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BC%E3%83%AD%E3%83%88%E3%83%A9%E3%82%B9%E3%83%88%E3%81%AF%E3%81%BE%E3%81%A0%E3%81%BE%E3%81%A0%E7%99%BA%E5%B1%95%E9%80%94%E4%B8%8A%E3%81%AE%E5%88%86%E9%87%8E&quot; aria-label=&quot;ゼロトラストはまだまだ発展途上の分野 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゼロトラストはまだまだ発展途上の分野&lt;/h2&gt;
&lt;p&gt;昨今のリモートワークの推進もあり、正直なところ、最近は「ゼロトラスト」という言葉がセキュリティツールの営業用のバズワード的に使われているように感じていました。&lt;/p&gt;
&lt;p&gt;そんな中、この本ではまだまだ発展途上にある「ゼロトラスト」という分野を取りまとめていこうとしている様子が読みとれ、今後ゼロトラストの世界がどうなっていくのか楽しみだなと思わされました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118883/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5c1df3cceb7789b183fd92966359867f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118883&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873118883&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Linux カーネルのコードを少しだけ書き換えてビルド・インストールする]]></title><description><![CDATA[Linux カーネルのソースコードを少しだけ書き換えてビルド・インストールしてみたので、手順などを残しておきます。]]></description><link>https://www.kanzennirikaisita.com/posts/linux-kernel-build-install</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/linux-kernel-build-install</guid><pubDate>Sun, 01 Aug 2021 05:23:36 GMT</pubDate><content:encoded>&lt;p&gt;Linux カーネルのソースコードを少しだけ書き換えてビルド・インストールしてみたので、手順などを残しておきます。&lt;/p&gt;
&lt;h2 id=&quot;環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%92%B0%E5%A2%83&quot; aria-label=&quot;環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;環境&lt;/h2&gt;
&lt;p&gt;KVM 上の Ubuntu 20.04&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ uname -r
5.8.0-63-generic&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;linux-カーネルのダウンロード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux-%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89&quot; aria-label=&quot;linux カーネルのダウンロード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux カーネルのダウンロード&lt;/h2&gt;
&lt;p&gt;Linux カーネルのソースコードは /usr/src 以下に配置するので、/usr/src に移動してソースコードをダウンロード・展開します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ cd /usr/src
$ sudo curl -LO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.7.tar.xz
$ xz -dc linux-5.13.7.tar.xz | sudo tar xvf -
$ cd linux-5.13.7&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これで linux-5.13.7 というディレクトリにソースコードが展開されました。&lt;/p&gt;
&lt;p&gt;なお、カーネルのダウンロード URL は、以下のページで確認できます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.kernel.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://www.kernel.org/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;設定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E5%AE%9A&quot; aria-label=&quot;設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設定&lt;/h2&gt;
&lt;p&gt;カーネルをビルドする際の設定として、/usr/src/linux-5.13.7 以下に .config というファイルを作成する必要があります。&lt;/p&gt;
&lt;p&gt;このファイルは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;make oldconfig&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;make localmodconfig&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで作成できます。&lt;/p&gt;
&lt;p&gt;カーネルのビルド時間を短くしたり、サイズを小さくしたりするには、&lt;code class=&quot;language-text&quot;&gt;make localmodconfig&lt;/code&gt; を使って、必要なモジュールだけでビルドするのが簡単です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mongonta.com/f277-howto-shorten-linux-kernel-build-time/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;カーネルのビルド時間を短縮する技 | ガジェット好きの日記&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;少し書き換えてみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%B0%91%E3%81%97%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;少し書き換えてみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;少し書き換えてみる&lt;/h2&gt;
&lt;p&gt;./init/main.c の kernel_init 関数を少しだけ書き換えてみます。&lt;/p&gt;
&lt;p&gt;GitHub 上のソースコードの該当箇所は &lt;a href=&quot;https://github.com/torvalds/linux/blob/62fb9874f5da54fdb243003b386128037319b219/init/main.c#L1443&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; です。 &lt;/p&gt;
&lt;p&gt;ひとまずログ出力を追加するだけとします。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;diff&quot;&gt;&lt;pre class=&quot;language-diff&quot;&gt;&lt;code class=&quot;language-diff&quot;&gt;&lt;span class=&quot;token unchanged&quot;&gt;&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;	do_sysctl_args();
&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;
&lt;/span&gt;&lt;span class=&quot;token inserted-sign inserted&quot;&gt;&lt;span class=&quot;token prefix inserted&quot;&gt;+&lt;/span&gt;	pr_info(&quot;[MYLOG] log1 ramdisk_execute_command: %s\n&quot;, ramdisk_execute_command);
&lt;/span&gt;&lt;span class=&quot;token unchanged&quot;&gt;&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;	if (ramdisk_execute_command) {
&lt;/span&gt;&lt;span class=&quot;token inserted-sign inserted&quot;&gt;&lt;span class=&quot;token prefix inserted&quot;&gt;+&lt;/span&gt;		pr_info(&quot;[MYLOG] log2 ramdisk_execute_command: %s\n&quot;, ramdisk_execute_command);
&lt;/span&gt;&lt;span class=&quot;token unchanged&quot;&gt;&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;		ret = run_init_process(ramdisk_execute_command);
&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;		if (!ret)
&lt;span class=&quot;token prefix unchanged&quot;&gt; &lt;/span&gt;			return 0;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;ビルド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%83%AB%E3%83%89&quot; aria-label=&quot;ビルド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビルド&lt;/h2&gt;
&lt;p&gt;ビルド自体は &lt;code class=&quot;language-text&quot;&gt;sudo make&lt;/code&gt; だけで実行可能ですが、高速化するために 2 つほど工夫をいれます。&lt;/p&gt;
&lt;h3 id=&quot;ccache-のインストール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ccache-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&quot; aria-label=&quot;ccache のインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ccache のインストール&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;https://mongonta.com/f277-howto-shorten-linux-kernel-build-time/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;カーネルのビルド時間を短縮する技 | ガジェット好きの日記&lt;/a&gt;」という記事を参考に、ccache を導入しました。&lt;/p&gt;
&lt;p&gt;一回目のビルドは高速化しませんが、二回目以降は高速になるはずです。&lt;/p&gt;
&lt;h3 id=&quot;並列での実行&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%A6%E5%88%97%E3%81%A7%E3%81%AE%E5%AE%9F%E8%A1%8C&quot; aria-label=&quot;並列での実行 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;並列での実行&lt;/h3&gt;
&lt;p&gt;CPU の複数コアを活かしてビルドするため、make コマンドにオプションをつけます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;sudo make -j8&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;しばらく待てばビルドが完了します。&lt;/p&gt;
&lt;h3 id=&quot;configsystemtrusted_keys-に対応するファイルがない旨のエラー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#configsystemtrusted_keys-%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E3%81%AA%E3%81%84%E6%97%A8%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC&quot; aria-label=&quot;configsystemtrusted_keys に対応するファイルがない旨のエラー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CONFIG&lt;em&gt;SYSTEM&lt;/em&gt;TRUSTED_KEYS に対応するファイルがない旨のエラー&lt;/h3&gt;
&lt;p&gt;.config 内の CONFIG&lt;em&gt;SYSTEM&lt;/em&gt;TRUSTED_KEYS の設定に対応するファイルがない場合、エラーが発生します。&lt;/p&gt;
&lt;p&gt;とりあえずビルドを通すだけでよければ、.config を&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;txt&quot;&gt;&lt;pre class=&quot;language-txt&quot;&gt;&lt;code class=&quot;language-txt&quot;&gt;CONFIG_SYSTEM_TRUSTED_KEYS=&amp;quot;&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;のように書き換えることで解消できます。&lt;/p&gt;
&lt;h2 id=&quot;インストール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&quot; aria-label=&quot;インストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インストール&lt;/h2&gt;
&lt;p&gt;カーネルモジュールのインストール&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo make modules_install&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;カーネルのインストール&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo make install&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;再起動&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%86%8D%E8%B5%B7%E5%8B%95&quot; aria-label=&quot;再起動 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;再起動&lt;/h2&gt;
&lt;p&gt;新しくインストールしたカーネルで起動するか、再起動して確認します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;sudo reboot&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;uname で確認すると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ uname -r
5.13.7&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;カーネルのバージョンが 5.13.7 になっています。&lt;/p&gt;
&lt;h2 id=&quot;ログを確認&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AD%E3%82%B0%E3%82%92%E7%A2%BA%E8%AA%8D&quot; aria-label=&quot;ログを確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ログを確認&lt;/h2&gt;
&lt;p&gt;dmesg で、カーネルのログを確認すると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ dmesg | grep MYLOG
[    0.633390] [MYLOG] log1 ramdisk_execute_command: /init
[    0.633391] [MYLOG] log2 ramdisk_execute_command: /init&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;追加したログが反映されていました。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 7 月】読んだ本の記録]]></title><description><![CDATA[個人の記録として、2021 年 7 月に読んだ本をまとめます。
]]></description><link>https://www.kanzennirikaisita.com/posts/reading-log-202107</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/reading-log-202107</guid><pubDate>Sat, 31 Jul 2021 08:53:13 GMT</pubDate><content:encoded>&lt;p&gt;個人の記録として、2021 年 7 月に読んだ本をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;cpu-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;cpu について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU について&lt;/h2&gt;
&lt;h3 id=&quot;32ビットコンピュータをやさしく語る-はじめて読む486&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E8%AA%9E%E3%82%8B-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E8%AA%AD%E3%82%80486&quot; aria-label=&quot;32ビットコンピュータをやさしく語る はじめて読む486 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lhkdCK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6e5964005edee2fafe18baa812fb81a9&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OS について学ぶ前提知識として、CPU の基礎知識を得るために『はじめて読む486』を手に取りました。&lt;/p&gt;
&lt;p&gt;保護機能や割り込みなど、OS を学ぶ上での必須事項が丁寧に解説されており、非常に参考になりました。&lt;/p&gt;
&lt;p&gt;その他、CPU について学ぶための書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cpu-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめまています。&lt;/p&gt;
&lt;h2 id=&quot;自作-pc-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C-pc-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;自作 pc について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自作 PC について&lt;/h2&gt;
&lt;h3 id=&quot;パソコン自作の教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E8%87%AA%E4%BD%9C%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;パソコン自作の教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3BSJ59I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パソコン自作の教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07SNQ6XQ8/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=716288c21f1dc290a092586e3ebd81bc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07SNQ6XQ8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07SNQ6XQ8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;１００％ムックシリーズ-自作pcバイブル2020-2021&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%91%EF%BC%90%EF%BC%90%EF%BC%85%E3%83%A0%E3%83%83%E3%82%AF%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%87%AA%E4%BD%9Cpc%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB2020-2021&quot; aria-label=&quot;１００％ムックシリーズ 自作pcバイブル2020 2021 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ff6f0v&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;１００％ムックシリーズ　自作PCバイブル2020-2021&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08BLQ4SCB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3840267398e7c13cf899cd4b5f2b2cdf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BLQ4SCB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08BLQ4SCB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;pc自作の鉄則！2021&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc%E8%87%AA%E4%BD%9C%E3%81%AE%E9%89%84%E5%89%87%EF%BC%812021&quot; aria-label=&quot;pc自作の鉄則！2021 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3xfz4Qk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PC自作の鉄則！2021&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08S3YLVY1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=05b56f82909a5a727e26eadd48ea0a1c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08S3YLVY1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08S3YLVY1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;pc自作・チューンナップ虎の巻-二〇二一【dosv-power-report-特別編集】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc%E8%87%AA%E4%BD%9C%E3%83%BB%E3%83%81%E3%83%A5%E3%83%BC%E3%83%B3%E3%83%8A%E3%83%83%E3%83%97%E8%99%8E%E3%81%AE%E5%B7%BB-%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%80%E3%80%90dosv-power-report-%E7%89%B9%E5%88%A5%E7%B7%A8%E9%9B%86%E3%80%91&quot; aria-label=&quot;pc自作・チューンナップ虎の巻 二〇二一【dosv power report 特別編集】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3javn9w&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PC自作・チューンナップ虎の巻 二〇二一【DOS/V POWER REPORT 特別編集】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08PCJC9YG/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=29e012ea7ea20c7ad55d6fd1abec286d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08PCJC9YG&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08PCJC9YG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;勉強と遊びの目的で PC を自作したくなったので、せっかくの機会ということで最近の本を何冊か読んでみました。&lt;/p&gt;
&lt;p&gt;PC 自体もサクッと作ることができ、勉強や遊びに使えて満足しています。&lt;/p&gt;
&lt;p&gt;これらの本については、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/homebuilt-computer-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;p&gt;また、PC を作るにあたって考えたことは &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/homebuilt-computer&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;h2 id=&quot;雑誌&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%91%E8%AA%8C&quot; aria-label=&quot;雑誌 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;雑誌&lt;/h2&gt;
&lt;h3 id=&quot;webdb-press-vol123&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webdb-press-vol123&quot; aria-label=&quot;webdb press vol123 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/37855PX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;WEB+DB PRESS Vol.123&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B097D7WMDB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e0ebf62e05835b8627ee0a121125e02b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B097D7WMDB&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B097D7WMDB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Software Design と WEB+DB PRESS を購読しているのですが、今月は WEB+DB PRESS しか読めず、Software Design が積読となってしまいました…&lt;/p&gt;
&lt;p&gt;積読はさらなる積読を呼ぶので、早めに解消しようと思います。&lt;/p&gt;
&lt;h2 id=&quot;linux-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;linux について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Linux について&lt;/h2&gt;
&lt;h3 id=&quot;詳解-linuxカーネル-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%B3%E8%A7%A3-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;詳解 linuxカーネル 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zZlwKP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=019b6eae155eba41b8e37800856a82d7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;linuxカーネル解析入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E8%A7%A3%E6%9E%90%E5%85%A5%E9%96%80&quot; aria-label=&quot;linuxカーネル解析入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rJIaUo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxカーネル解析入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4777516156/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=1e7304bad3c37f1693fea181c332007a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4777516156&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4777516156&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;いつか読みたいと思っていた『詳解 Linuxカーネル』を一周読むことができました。
1024 ページもある本なので、達成感は大きいです。&lt;/p&gt;
&lt;p&gt;感想や事前準備などは &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/487311313X&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;p&gt;その後、かなり昔に読んで全然よく分からなかった『Linuxカーネル解析入門』を再度読みましたが、以前読んだときとは理解度が全然違いました。&lt;/p&gt;
&lt;p&gt;昔読めなかった本が読めるようになっていると、自分がレベルアップしたことを実感しますね。&lt;/p&gt;
&lt;h2 id=&quot;仮想化について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;仮想化について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仮想化について&lt;/h2&gt;
&lt;h3 id=&quot;ネットワーク仮想化～基礎からすっきりわかる入門書～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E4%BB%AE%E6%83%B3%E5%8C%96%EF%BD%9E%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8B%E5%85%A5%E9%96%80%E6%9B%B8%EF%BD%9E&quot; aria-label=&quot;ネットワーク仮想化～基礎からすっきりわかる入門書～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2UZxeq1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワーク仮想化～基礎からすっきりわかる入門書～&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B014UEFZ3S/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=37e0ad0ba620662a73b87b673f79b945&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B014UEFZ3S&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B014UEFZ3S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;kvm徹底入門-linuxカーネル仮想化基盤構築ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kvm%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E4%BB%AE%E6%83%B3%E5%8C%96%E5%9F%BA%E7%9B%A4%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;kvm徹底入門 linuxカーネル仮想化基盤構築ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3j64BPQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;KVM徹底入門　Linuxカーネル仮想化基盤構築ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00JIQU8EU/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9ca3515928c1677cf566c55073f6f7d7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00JIQU8EU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00JIQU8EU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想化関係の基礎知識をつけたかったので、2 冊ほど本を手に取りました。&lt;/p&gt;
&lt;p&gt;『ネットワーク仮想化～基礎からすっきりわかる入門書～』については、タイトル通り、ネットワークを中心に仮想化の基礎を学べました。
OpenFlow の雰囲気が分かったのが特によかったです。&lt;/p&gt;
&lt;p&gt;『KVM徹底入門』は個人的にかなりよかったです。
おすすめです。
KVM についてネット上で調べても、libvirt や qemu などとの関係がなかなか見えてこなかったのですが、こちらの書籍を読むことでしっかり整理されました。&lt;/p&gt;
&lt;p&gt;ネットで勉強しようとすると断片的な情報を自力で繋ぐ必要があることが多いので、こういった点は書籍の強みですね。&lt;/p&gt;
&lt;h2 id=&quot;grpc-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#grpc-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;grpc について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;gRPC について&lt;/h2&gt;
&lt;h3 id=&quot;スターティングgrpc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0grpc&quot; aria-label=&quot;スターティングgrpc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3C2biv1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スターティングgRPC&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087R87L6Z/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6a64043ca2d48b9514de34705512811e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087R87L6Z&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B087R87L6Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;gRPC の概要をおさえるため、こちらの書籍を手に取りました。
実装のイメージをつけるには十分な内容でした。&lt;/p&gt;
&lt;p&gt;REST、GraphQL、gRPC に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/rest-graphql-grpc-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;python-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;python について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Python について&lt;/h2&gt;
&lt;h3 id=&quot;python実践入門-──-言語の力を引き出し、開発効率を高める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E2%94%80%E2%94%80-%E8%A8%80%E8%AA%9E%E3%81%AE%E5%8A%9B%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E5%8A%B9%E7%8E%87%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B&quot; aria-label=&quot;python実践入門 ── 言語の力を引き出し、開発効率を高める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Van4Tp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python実践入門 ── 言語の力を引き出し、開発効率を高める&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0842JDVBZ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=21b63dbdfc330b71301f8360d5a9a7bc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0842JDVBZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0842JDVBZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;パーフェクトpython&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88python&quot; aria-label=&quot;パーフェクトpython permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lf4fJi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクトPython&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00P2EG5QM/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=914b984c1dd850e30027f986c66ad047&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00P2EG5QM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00P2EG5QM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;effective-python-第2版-pythonプログラムを改良する90項目&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#effective-python-%E7%AC%AC2%E7%89%88-python%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E6%94%B9%E8%89%AF%E3%81%99%E3%82%8B90%E9%A0%85%E7%9B%AE&quot; aria-label=&quot;effective python 第2版 pythonプログラムを改良する90項目 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jdiL1M&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective Python 第2版 ―Pythonプログラムを改良する90項目&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119170/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8e986dced525672b098cac104b889129&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119170&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119170&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仕事で Python を少し書くことになったので、せっかくの機会ということで Python の実践的な本 3 冊ほどに目を通しました。&lt;/p&gt;
&lt;p&gt;個人的には『Python実践入門』が特によかったです。
他の言語経験者が Python を学ぶ場合は、とりあえず『Python実践入門』がおすすめです。&lt;/p&gt;
&lt;p&gt;『Effective Python』は Python の経験がある程度ないと難しい内容で、自分には少し手に余る内容でした。
ゆくゆくまた手に取ろうと思います。&lt;/p&gt;
&lt;p&gt;これらの本については、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/python-practical-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、今月は 14 冊の本を読みました。&lt;/p&gt;
&lt;p&gt;CPU や OS といった基礎知識が強まったのと、Python を改めて勉強できたのがよかったです。&lt;/p&gt;
&lt;p&gt;あるテーマの本をまとめていくつも読むと、その分野の力が明確に高まるので結構おすすめです。&lt;/p&gt;
&lt;p&gt;また来月も色々読んでみようと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[非初心者向けの Python の解説書まとめ]]></title><description><![CDATA[Python はデータ分析中心によく使われていますが、if・for といった基本文法の先までは学んでいないという方も少なくありません。
この記事では、そんな Python について、他の言語経験者の方が基礎から学んだり、if・for といった基本文法の次を学びたいという方が手に取ったりするための書籍を紹介します。
]]></description><link>https://www.kanzennirikaisita.com/posts/python-practical-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/python-practical-books</guid><pubDate>Sat, 31 Jul 2021 08:04:18 GMT</pubDate><content:encoded>&lt;p&gt;Python はデータ分析中心によく使われていますが、if・for といった基本文法の先までは学んでいないという方も少なくありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな Python について、他の言語経験者の方が基礎から学んだり、if・for といった基本文法の次を学びたいという方が手に取ったりするための書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;python実践入門-──-言語の力を引き出し、開発効率を高める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#python%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E2%94%80%E2%94%80-%E8%A8%80%E8%AA%9E%E3%81%AE%E5%8A%9B%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E5%8A%B9%E7%8E%87%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B&quot; aria-label=&quot;python実践入門 ── 言語の力を引き出し、開発効率を高める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3kM7kAl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python実践入門 ── 言語の力を引き出し、開発効率を高める&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/Python%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E8%A8%80%E8%AA%9E%E3%81%AE%E5%8A%9B%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E5%8A%B9%E7%8E%87%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B-WEB-PRESS-plus-ebook/dp/B0842JDVBZ?_encoding=UTF8&amp;qid=1627022728&amp;sr=8-19&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=def2d8d4583ba9eb45478c51a49d6461&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0842JDVBZ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0842JDVBZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プログラミング経験者や、Python を使っていてステップアップしたい方に向けた Python の解説書です。&lt;/p&gt;
&lt;p&gt;条件分岐や関数・クラスといった基本文法から、ジェネレータやデコレータといった少し発展的な要素も含め、Python の基礎として知っておきたい内容が一通り解説されています。&lt;/p&gt;
&lt;p&gt;他にも特にモジュールやパッケージの取り扱いが丁寧で、パッケージがどのように読み込まれるかの仕組みなどが役立つと思いました。&lt;/p&gt;
&lt;p&gt;2020 年発売の新しい書籍でもあるので、2021 年現在、他の言語の経験者が Python を学ぶならまずこの 1 冊がおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;パーフェクト-python-［改訂2版］&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88-python-%EF%BC%BB%E6%94%B9%E8%A8%822%E7%89%88%EF%BC%BD&quot; aria-label=&quot;パーフェクト python ［改訂2版］ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zrDSUu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクト Python ［改訂2版］&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B088YKVD3Z?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1bc0ef8aaeebed5d3d6807576b4c39f7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B088YKVD3Z&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B088YKVD3Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「パーフェクトシリーズ」の Python の解説書です。&lt;/p&gt;
&lt;p&gt;“Python の禅” を含む概要から始まり、ジェネレータやデコレータなどを含む、おさえておきたい文法などが一通り解説されています。&lt;/p&gt;
&lt;p&gt;後半は標準ライブラリやサードパーティ製ライブラリの紹介となっており、Python でよく使われるライブラリをざっと把握できます。&lt;/p&gt;
&lt;h2 id=&quot;effective-python-第2版-pythonプログラムを改良する90項目&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#effective-python-%E7%AC%AC2%E7%89%88-python%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E6%94%B9%E8%89%AF%E3%81%99%E3%82%8B90%E9%A0%85%E7%9B%AE&quot; aria-label=&quot;effective python 第2版 pythonプログラムを改良する90項目 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3f624nJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective Python 第2版 ―Pythonプログラムを改良する90項目&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/Effective-Python-%E2%80%95Python%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E6%94%B9%E8%89%AF%E3%81%99%E3%82%8B90%E9%A0%85%E7%9B%AE-Brett-Slatkin/dp/4873119170?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=11U1GQU0X7YCN&amp;dchild=1&amp;keywords=python+effective&amp;qid=1627022777&amp;sprefix=python+eff%2Caps%2C268&amp;sr=8-1&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bc09e5561d91b9b5a1838eff6c1aa4c9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119170&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119170&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「Effective シリーズ」の Python の解説書です。&lt;/p&gt;
&lt;p&gt;『Python実践入門』や『パーフェクト Python』などで解説されている Python の基本は理解した上で、Python らしいコードを書く方法が解説されています。&lt;/p&gt;
&lt;p&gt;難易度は高めなので、Python の実践経験をある程度積み、『Python実践入門』では全然物足りないくらいになってから手に取るのがおすすめです。&lt;/p&gt;
&lt;p&gt;Python の実践経験が豊富な方でも学びがあるような書籍となっています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[REST、GraphQL、gRPC の概要と関連書籍まとめ]]></title><description><![CDATA[2021 年現在、API としては REST、GraphQL、gRPC の 3 つがよく採用されています。
この記事には、これら 3 つの概要と、関連する書籍をそれぞれまとめました。
また、前提となる Web やネットワークの基礎知識を学ぶためのおすすめ書籍も掲載しています。]]></description><link>https://www.kanzennirikaisita.com/posts/rest-graphql-grpc-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/rest-graphql-grpc-books</guid><pubDate>Thu, 22 Jul 2021 11:46:11 GMT</pubDate><content:encoded>&lt;p&gt;2021 年現在、API としては REST、GraphQL、gRPC の 3 つがよく採用されています。&lt;/p&gt;
&lt;p&gt;この記事には、これら 3 つの概要と、関連する書籍をそれぞれまとめました。&lt;/p&gt;
&lt;p&gt;また、前提となる Web やネットワークの基礎知識を学ぶためのおすすめ書籍も掲載しています。&lt;/p&gt;
&lt;h2 id=&quot;rest&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rest&quot; aria-label=&quot;rest permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;REST&lt;/h2&gt;
&lt;p&gt;REST は Web の設計として広く知られており、API の設計としても採用例は豊富です。&lt;/p&gt;
&lt;p&gt;REST 自体は API に限らない Web のアーキテクチャスタイルですが、JSON 形式の Web API の設計として使われることが多いです。&lt;/p&gt;
&lt;p&gt;REST 関係する書籍を 2 冊紹介します。&lt;/p&gt;
&lt;h3 id=&quot;webを支える技術--http，uri，html，そしてrest&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93--http%EF%BC%8Curi%EF%BC%8Chtml%EF%BC%8C%E3%81%9D%E3%81%97%E3%81%A6rest&quot; aria-label=&quot;webを支える技術  http，uri，html，そしてrest permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3hVdY5m&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webを支える技術 ―― HTTP，URI，HTML，そしてREST&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JK7FZH2?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=78b07ff12dc03678573841e6f5d48949&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JK7FZH2&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07JK7FZH2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web の概論に始まり、REST や Atom といった関連分野についても解説している書籍です。&lt;/p&gt;
&lt;p&gt;Web API の設計についても 1 章を割いて解説されており、とても参考になります。&lt;/p&gt;
&lt;p&gt;HTTP について、概要は理解している上でこの本に手をつけるのがおすすめです。&lt;/p&gt;
&lt;h3 id=&quot;web-api-the-good-parts&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-api-the-good-parts&quot; aria-label=&quot;web api the good parts permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wWNXqE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web API: The Good Parts&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116864?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7a8e854b04478aa7998efa011ac542e1&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116864&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873116864&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web API の設計について手厚く解説された書籍です。&lt;/p&gt;
&lt;p&gt;エンドポイントやリクエスト・レスポンスボディなどの設計について、具体的に分かりやすく解説されています。&lt;/p&gt;
&lt;p&gt;API の設計で悩んだことがあれば気になるであろう内容がたくさん解説されており、非常におすすめできる 1 冊です。&lt;/p&gt;
&lt;p&gt;私は未読ですが、同じくオライリーの『&lt;a href=&quot;https://amzn.to/3hUJwIx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RESTful Webサービス&lt;/a&gt;』という書籍も良さそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113539?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7fd1c639ffb4f8175ad40a3742a33768&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113539&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873113539&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;graphql&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#graphql&quot; aria-label=&quot;graphql permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GraphQL&lt;/h2&gt;
&lt;p&gt;GraphQL は、Facebook で開発された API のための問い合わせ言語です。&lt;/p&gt;
&lt;p&gt;REST との大きな違いとして、クライアントがクエリで指定した必要なデータだけを取得できることがあります。&lt;/p&gt;
&lt;p&gt;その性質から、BFF (Backend for Frontend) のような立ち位置で使われる例をよく見かけます。&lt;/p&gt;
&lt;h3 id=&quot;初めてのgraphql-webサービスを作って学ぶ新世代api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AEgraphql-web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E5%AD%A6%E3%81%B6%E6%96%B0%E4%B8%96%E4%BB%A3api&quot; aria-label=&quot;初めてのgraphql webサービスを作って学ぶ新世代api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wVCuYr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;初めてのGraphQL ―Webサービスを作って学ぶ新世代API&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311893X?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0e8a43d3f3b479b4feeea3e9e5d187c6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311893X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=487311893X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;現状、GraphQL についての日本語の解説書は、(Amazon で検索した限りでは) この 1 冊のみとなります。&lt;/p&gt;
&lt;p&gt;GraphQL の概要から、サーバー・クライアントの実装、実戦投入にあたっての必要知識など、基本として知っておきたいことが一通り解説されています。&lt;/p&gt;
&lt;p&gt;GraphQL の基本を学びたい際に、とりあえずおすすめできる一冊です。&lt;/p&gt;
&lt;h2 id=&quot;grpc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#grpc&quot; aria-label=&quot;grpc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;gRPC&lt;/h2&gt;
&lt;p&gt;gRPC は、Google が開発した HTTP/2 ベースの高速な API です。&lt;/p&gt;
&lt;p&gt;標準では Protocol Buffers という形式でシリアライズされて通信されます。&lt;/p&gt;
&lt;p&gt;gRPC は特にスキーマからコードを生成して使う「スキーマ駆動」の開発ができることが特徴的であり、マイクロサービス間の通信に利用する例が多いです。&lt;/p&gt;
&lt;h3 id=&quot;スターティングgrpc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0grpc&quot; aria-label=&quot;スターティングgrpc permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ztF9ud&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スターティングgRPC&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087R87L6Z?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e804bee6c495dd909dc439f0c20dfbce&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087R87L6Z&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B087R87L6Z&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;現状、gRPC についての紙ベースの日本語書籍としては、(Amazon で検索した限りでは) この 1 冊のみとなります。&lt;/p&gt;
&lt;p&gt;gRPC の概要と、サーバー・クライアントの実装サンプルが書かれています。&lt;/p&gt;
&lt;p&gt;gRPC について紙ベースで簡単に学びたい、という際に良いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;前提となる分野&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90%E3%81%A8%E3%81%AA%E3%82%8B%E5%88%86%E9%87%8E&quot; aria-label=&quot;前提となる分野 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提となる分野&lt;/h2&gt;
&lt;h3 id=&quot;http・web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#http%E3%83%BBweb&quot; aria-label=&quot;http・web permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;HTTP・Web&lt;/h3&gt;
&lt;p&gt;REST、GraphQL、gRPC といったものを学ぶ際は、前提として HTTP や Web の基礎知識を学んでおきたいです。&lt;/p&gt;
&lt;p&gt;HTTP や Web の仕組み・Web アプリの仕組みを理解するための書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/books-about-how-web-and-web-applications-works&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、参照ください。&lt;/p&gt;
&lt;p&gt;特に以下の 2 冊がおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3iyBaWp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3kGhCC4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774142352?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3ae9dd40b65aa7a855009086a0ed026b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774142352&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4774142352&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119030?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=525260bd3c35180986a17d33cea81e4c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119030&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119030&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;ネットワーク&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF&quot; aria-label=&quot;ネットワーク permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ネットワーク&lt;/h3&gt;
&lt;p&gt;Web の仕組みを学ぶ際は、さらに前提としてネットワークの基礎知識がほしくなります。&lt;/p&gt;
&lt;p&gt;ネットワークに関する入門書は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、参照ください。&lt;/p&gt;
&lt;p&gt;特に以下の 2 冊がおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3iBR4zd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか　第２版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2UFQPem&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マスタリングTCP/IP　入門編（第6版）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=42c434ee8cf709f4f2ed76c5ce34b568&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827QNDNT?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=34943902112af5e01548eaec3ea85159&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827QNDNT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0827QNDNT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[改めて整理する、コンソール・ターミナル・仮想コンソール・端末エミュレータ・擬似端末]]></title><description><![CDATA[Linux を扱う中で、コンソール・ターミナル・仮想コンソール・端末エミュレータ・擬似端末といった用語の違いを明確にしたかったので、改めて整理しました。]]></description><link>https://www.kanzennirikaisita.com/posts/what-is-console-terminal-etc</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/what-is-console-terminal-etc</guid><pubDate>Tue, 20 Jul 2021 05:01:47 GMT</pubDate><content:encoded>&lt;p&gt;Linux を扱う中で&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンソール&lt;/li&gt;
&lt;li&gt;ターミナル&lt;/li&gt;
&lt;li&gt;仮想コンソール&lt;/li&gt;
&lt;li&gt;端末エミュレータ&lt;/li&gt;
&lt;li&gt;擬似端末&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった用語の違いを明確にしたかったので、改めて整理しました。&lt;/p&gt;
&lt;h2 id=&quot;まとめた結果&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81%E3%81%9F%E7%B5%90%E6%9E%9C&quot; aria-label=&quot;まとめた結果 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめた結果&lt;/h2&gt;
&lt;p&gt;これらの用語について 1 つの図にまとめると、以下のようになりました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/what-is-console-terminal-etc.png&quot; alt=&quot;what-is-console-terminal-etc.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここから、各用語について説明していきます。&lt;/p&gt;
&lt;h2 id=&quot;コンソール-制御卓&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB-%E5%88%B6%E5%BE%A1%E5%8D%93&quot; aria-label=&quot;コンソール 制御卓 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンソール (制御卓)&lt;/h2&gt;
&lt;p&gt;まず、古典的な「コンソール」について抜粋して説明していきます。&lt;/p&gt;
&lt;p&gt;コンソールとは何かを一言で言うと、「&lt;strong&gt;ディスプレイとキーボードのような入出力装置がくっついた物理機器&lt;/strong&gt;」です。&lt;/p&gt;
&lt;p&gt;単にディスプレイとキーボードと組みを「コンソール」と呼ぶ場合もあるようです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wa3.i-3-i.info/word12140.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンソールとは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンソール - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;コンソールの接続方式&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%AE%E6%8E%A5%E7%B6%9A%E6%96%B9%E5%BC%8F&quot; aria-label=&quot;コンソールの接続方式 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンソールの接続方式&lt;/h3&gt;
&lt;p&gt;コンソール機器をコンピュータに繋ぐには、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VGA 端子&lt;/li&gt;
&lt;li&gt;シリアル端子 (シリアルポート)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のどちらかにケーブルを刺すことになります。&lt;/p&gt;
&lt;p&gt;※ ディスプレイを HDMI、キーボードを USB でそれぞれ接続する場合もあります。&lt;/p&gt;
&lt;h3 id=&quot;vga-コンソール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vga-%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&quot; aria-label=&quot;vga コンソール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VGA コンソール&lt;/h3&gt;
&lt;p&gt;VGA 端子を経由してコンソール接続する場合、「VGA コンソール」と言います。&lt;/p&gt;
&lt;p&gt;Linux のデバイスファイルとしては、/dev/console が対応します。&lt;/p&gt;
&lt;p&gt;/dev/console は、「マスター・コンソール」とも言われます。&lt;/p&gt;
&lt;p&gt;通常は「VGA コンソール」が「マスター・コンソール」ですが、組み込み Linux では後述する「シリアル・コンソール」が「マスター・コンソール」となる場合もあるそうです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3xQ5AcW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linuxカーネル解析入門&lt;/a&gt;』p377&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4777516156?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a8f84207167877887b0c42d14b68d71b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4777516156&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4777516156&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;シリアル・コンソール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%BB%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&quot; aria-label=&quot;シリアル・コンソール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;シリアル・コンソール&lt;/h3&gt;
&lt;p&gt;シリアル端子に接続したコンソールを「シリアル・コンソール」と言います。&lt;/p&gt;
&lt;p&gt;Linux のデバイスファイルとしては、/dev/ttySX が対応します。
(X には 0、1 などの数字が入ります)&lt;/p&gt;
&lt;p&gt;シリアルコンソールは、VGA コンソールよりも遠隔地から利用可能です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://archive.linux.or.jp/JF/JFdocs/Remote-Serial-Console-HOWTO/intro-why.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;シリアルコンソールを使う理由&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ターミナル-端末&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB-%E7%AB%AF%E6%9C%AB&quot; aria-label=&quot;ターミナル 端末 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ターミナル (端末)&lt;/h3&gt;
&lt;p&gt;ターミナルは、日本語で言うと「端末」です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;コンピュータに接続し、手元で操作する機器のこと&lt;/strong&gt;を言います。&lt;/p&gt;
&lt;p&gt;「&lt;a href=&quot;https://gihyo.jp/book/pickup/2010/0013&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なぜなにUNIX「コンソールとターミナルの違いは？」：新刊ピックアップ｜技術評論社&lt;/a&gt;」という記事によれば、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コンピュータと多数のコンソールをシリアルケーブルで繋ぐことで，同時利用を実現しました。このとき，TSSを1つの通信ネットワークと捉え，各コンソールを“⁠ターミナル⁠”と呼ぶようになりました。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;特に UNIX においては、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UNIXの起動時に表示される操作画面は「コンソール⁠」⁠，シリアルケーブルで直結する装置は「シリアルコンソール」と呼び，ネットワーク越しで接続する装置や，Xウィンドウシステム上で動く仮想端末は「ターミナル」と呼びます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;「コンソール」と「ターミナル」の違いについて、自分の理解としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;同じコンピュータに複数の人がシリアル・コンソールを接続して使うので、「コンソール」を「ターミナル (端末)」と呼ぶようになった&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;それとは別の観点で、UNIX では、&lt;strong&gt;VGA 端子やシリアル端子に接続するのは「コンソール」と呼び、SSH や X Window System で動く「擬似端末」を単に「端末 (ターミナル)」と呼ぶ場合もある&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というのが結論です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gihyo.jp/book/pickup/2010/0013&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なぜなにUNIX「コンソールとターミナルの違いは？」：新刊ピックアップ｜技術評論社&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wa3.i-3-i.info/word12049.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ターミナルとは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ターミナル - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;x-window-system-の-x-サーバへの接続&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#x-window-system-%E3%81%AE-x-%E3%82%B5%E3%83%BC%E3%83%90%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A&quot; aria-label=&quot;x window system の x サーバへの接続 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;X Window System の X サーバへの接続&lt;/h2&gt;
&lt;p&gt;現在、デスクトップ PC で Linux を利用する際は、HDMI などのポートにディスプレイを接続し、USB などのポートにキーボードを接続することになります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;デスクトップ PC であれば GUI を使うケースも多いと思いますが、その際は &lt;a href=&quot;https://ja.wikipedia.org/wiki/X_Window_System&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;X Window System&lt;/a&gt; の X サーバにディスプレイとキーボードが接続されます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;※ X サーバとしては、専用の「&lt;a href=&quot;https://ja.wikipedia.org/wiki/X%E7%AB%AF%E6%9C%AB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;X 端末&lt;/a&gt;」を使い、コンピュータと通信させる方法もありますが、現在はあまり使われていません。&lt;/p&gt;
&lt;p&gt;X Window System を使った GUI の利用中に CUI を使うには、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;仮想コンソール&lt;/li&gt;
&lt;li&gt;端末エミュレータ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のどちらかを使うことになります。&lt;/p&gt;
&lt;h3 id=&quot;仮想コンソール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&quot; aria-label=&quot;仮想コンソール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;仮想コンソール&lt;/h3&gt;
&lt;p&gt;X Window System を利用した GUI にディスプレイ、キーボードを接続しているとき、Ctrl + Alt + F1 (~ F6) を押すことで、CUI を開くことができます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;X サーバへの接続と並列して、CUI の「仮想コンソール」に接続できる&lt;/strong&gt;ということです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;通常、Linux の場合の仮想コンソールには、デバイスファイルの /dev/tty1 ~ /dev/tty6 が割り当てられます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;ちなみに、tty は teletypewriter の略です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://linuc.org/study/knowledge/461/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想コンソール | Linux技術者認定 LinuC | LPI-Japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想コンソール - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;端末-ターミナル-エミュレータ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AB%AF%E6%9C%AB-%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB-%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF&quot; aria-label=&quot;端末 ターミナル エミュレータ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;端末 (ターミナル) エミュレータ&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;「端末エミュレータ」を使うことで、GUI の中で CUI を使うこともできます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;端末エミュレータというのは、例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;X Window System で利用できる xterm&lt;/li&gt;
&lt;li&gt;Windows の Tera Term&lt;/li&gt;
&lt;li&gt;macOS の “ターミナル” という名前のアプリケーションや iTerm2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などです。&lt;/p&gt;
&lt;p&gt;「ターミナル」の説明でも書きましたが、端末エミュレータを単に「端末 (ターミナル)」と呼ぶ場合もあります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;端末エミュレータは、次に説明する「擬似端末」を使います&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E7%AB%AF%E6%9C%AB%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;端末エミュレータ - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;擬似端末-pseudo-terminal&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%93%AC%E4%BC%BC%E7%AB%AF%E6%9C%AB-pseudo-terminal&quot; aria-label=&quot;擬似端末 pseudo terminal permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;擬似端末 (pseudo terminal)&lt;/h3&gt;
&lt;p&gt;さて、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GUI の中で CUI を使う場合&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH などで他のコンピュータから接続される場合&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;については、CUI には直接物理機器が接続されているわけではありません。&lt;/p&gt;
&lt;p&gt;この状態を&lt;strong&gt;仮想的な接続として扱うために「擬似端末」が使われます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;擬似端末は、Linux のデバイスファイルとしては、/dev/pts/X が対応します&lt;/strong&gt;。
(X には 0、1 などの数字が入ります)&lt;/p&gt;
&lt;p&gt;プロセスが /dev/ptmx をオープンすることで、/dev/pts/X などが作られるという仕組みです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E7%AB%AF%E6%9C%AB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;擬似端末 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kazmax.zpp.jp/cmd/p/pts.4.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;pts - スペシャルファイル (デバイス)の説明 - Linux コマンド集 一覧表&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;telnet-や-ssh-での接続&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#telnet-%E3%82%84-ssh-%E3%81%A7%E3%81%AE%E6%8E%A5%E7%B6%9A&quot; aria-label=&quot;telnet や ssh での接続 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Telnet や SSH での接続&lt;/h2&gt;
&lt;p&gt;Telnet や SSH を使い、ネットワーク経由で接続する場合は、GUI の中で CUI を使う場合とほぼ同じです。&lt;/p&gt;
&lt;p&gt;クライアント側で端末エミュレータなどを使い、接続としては「擬似端末」が使われることになります。&lt;/p&gt;
&lt;h2 id=&quot;tty-と-pts-に直接書き込む標準入力で見てみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tty-%E3%81%A8-pts-%E3%81%AB%E7%9B%B4%E6%8E%A5%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80%E6%A8%99%E6%BA%96%E5%85%A5%E5%8A%9B%E3%81%A7%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;tty と pts に直接書き込む標準入力で見てみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;tty と pts に直接書き込む標準入力で見てみる&lt;/h2&gt;
&lt;p&gt;/dev/ttyX や /dev/pts/X を使ったよくある実験として、相手方の画面に文字を表示するというものがあります。&lt;/p&gt;
&lt;p&gt;例えば、「X Window System 上の擬似端末 (/dev/pts/0)」から「仮想コンソール (/dev/tty3)」に “hello” と送ってみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ tty
/dev/pts/0
$ echo hello &amp;gt; /dev/tty3&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;このとき、仮想コンソール「/dev/tty3」を見てみると…
(Ctrl + Alt + F3 で切り替えます)&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;~ $ hello&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;しっかり hello と表示されています。&lt;/p&gt;
&lt;h2 id=&quot;ファイルディスクリプタを見てみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%82%BF%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;ファイルディスクリプタを見てみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ファイルディスクリプタを見てみる&lt;/h2&gt;
&lt;p&gt;もう少し理解を深めるために、ファイルディスクリプタを見てみようと思います。&lt;/p&gt;
&lt;p&gt;ファイルディスクリプタというのは、各プロセスが扱っているファイルに割り当てる識別子のことです。&lt;/p&gt;
&lt;p&gt;※ Linux では、デバイスや標準入出力なども全てファイルとして表現されます&lt;/p&gt;
&lt;p&gt;X Window System 上の擬似端末で、まずはシェルのプロセスの PID を確認します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ ps
    PID TTY          TIME CMD
   2094 pts/0    00:00:00 bash
   2317 pts/0    00:00:00 ps&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この PID のプロセスのファイルディスクリプタを見てみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ ls -l /proc/{PID}/fd
合計 0
lrwx------ 1 hoge hoge 64. 7月 20 13:53 0 -&amp;gt; /dev/pts/0
lrwx------ 1 hoge hoge 64. 7月 20 13:53 1 -&amp;gt; /dev/pts/0
lrwx------ 1 hoge hoge 64. 7月 20 13:53 2 -&amp;gt; /dev/pts/0
lrwx------ 1 hoge hoge 64. 7月 20 13:53 255 -&amp;gt; /dev/pts/0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ファイルディスクリプタは、0 が標準入力、1 が標準出力、2 が標準エラー出力であり、それらが /dev/pts/0 を指していることが分かりました。&lt;/p&gt;
&lt;p&gt;同様の手順で、仮想コンソールの標準入力・標準出力・標準エラー出力が /dev/tty3 などを指していることも確認できます。&lt;/p&gt;
&lt;p&gt;Linux はデバイスファイルへの書き込みによってディスプレイへの表示などを実施しているので、&lt;code class=&quot;language-text&quot;&gt;$ echo hello &amp;gt; /dev/tty3&lt;/code&gt; などとして /dev/pts/0 や /dev/tty3 に書き込めば、対応するディスプレイに文字が表示されるわけです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、改めて、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンソール&lt;/li&gt;
&lt;li&gt;ターミナル&lt;/li&gt;
&lt;li&gt;仮想コンソール&lt;/li&gt;
&lt;li&gt;端末エミュレータ&lt;/li&gt;
&lt;li&gt;擬似端末&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という用語を整理しました。&lt;/p&gt;
&lt;p&gt;追加で&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/dev/console と /dev/tty0 の関係&lt;/li&gt;
&lt;li&gt;tty と tty0&lt;/li&gt;
&lt;li&gt;ターミナルサーバやコンソールサーバ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについてもまとめたいところですが、一旦ここまでとします。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://archive.linux.or.jp/JF/JFdocs/Text-Terminal-HOWTO-6.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Text-Terminal-HOWTO : /dev/tty のような端末スペシャルファイル&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.bit-hive.com/north/pg/tty%E3%81%A8tty0%E3%81%AE%E9%81%95%E3%81%84&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ttyとtty0の違い - Linuxの備忘録とか・・・(目次へ）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blackbox.co.jp/ja-jp/page/27141/Information/Technical-Resources/Black-Box/LAN/What-are-Terminal-Servers-Console-Servers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ターミナルサーバとコンソールサーバとは？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記事の内容に間違い・ご指摘などありましたら、&lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Twitter&lt;/a&gt; の DM でご連絡お願いします。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[『詳解 Linuxカーネル』を一周読んだ感想・事前準備・そしてその先...]]></title><description><![CDATA[オライリーの『詳解 Linuxカーネル 第3版』を一周読んだので、「書籍の概要」、「読んでみた感想」、「事前に読んでおくべき本」、「この本を読んだ先はどうなっているか」を書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/487311313X</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/487311313X</guid><pubDate>Sat, 17 Jul 2021 12:07:59 GMT</pubDate><content:encoded>&lt;p&gt;オライリーの『&lt;a href=&quot;https://amzn.to/3hL3llF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;』を一周読んだので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;書籍の概要&lt;/li&gt;
&lt;li&gt;読んでみた感想&lt;/li&gt;
&lt;li&gt;事前に読んでおくべき本&lt;/li&gt;
&lt;li&gt;この本を読んだ先はどうなっているか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を書いていきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=8610845bccc9f1537423655df86aad53&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;書籍の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;書籍の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍の概要&lt;/h2&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3hL3llF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;』は、Linux の解説書として、いわゆる低レイヤを学ぶためのおすすめ書籍によく挙げられます。&lt;/p&gt;
&lt;p&gt;合計 1024 ページという分厚さであり、ある程度の前提知識も求められる、少しハードルが高い本です。&lt;/p&gt;
&lt;p&gt;内容としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プロセス&lt;/li&gt;
&lt;li&gt;メモリ管理&lt;/li&gt;
&lt;li&gt;ファイルシステム&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった Linux の重要な要素について、関係する概念や、構造体の具体的な構成、ソースコード内の関数の処理などが手厚く書かれています。&lt;/p&gt;
&lt;p&gt;解説はボトムアップ的に構成されており、ハードウェア依存の内容に始まり、ハードウェアに全く依存しない内容で締め括られます。&lt;/p&gt;
&lt;p&gt;第 3 版は Linux 2.6 が対象で、2021 年 7 月時点の Linux 5.13 と比べると異なる点も多いとは思いますが、それでも、Linux 重要な概念やソースコードの読み方を学ぶのには良い書籍です。&lt;/p&gt;
&lt;p&gt;(あまりにバージョンが違うこともあり、第 4 版が出ることはないだろうと思います…)&lt;/p&gt;
&lt;p&gt;なお、ネットワーク関係は全く解説されていないので、そこは別の方法で勉強することになります。&lt;/p&gt;
&lt;h2 id=&quot;読んでみた感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%BF%E3%81%9F%E6%84%9F%E6%83%B3&quot; aria-label=&quot;読んでみた感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読んでみた感想&lt;/h2&gt;
&lt;p&gt;読み終えての気持ちとしては、やはりこのくらいの本になると何より読み終えた達成感が大きいです。&lt;/p&gt;
&lt;p&gt;そしてもちろんですが、読む前と比べて、Linux への理解が非常に深まりました。&lt;/p&gt;
&lt;p&gt;このくらいの本になるとよくある話ではありますが、一周でしっかり理解するのはかなり厳しいです。&lt;/p&gt;
&lt;p&gt;今回の私の読み方としては、今まで知らなかった概念を理解することを中心とし、関数の内部の処理の流れなどの細かい点は読み流しました。&lt;/p&gt;
&lt;p&gt;特にメモリ管理に関する部分は非常に手厚く、かなり苦しかったです。&lt;/p&gt;
&lt;p&gt;今回の私のような少し簡易的な読み方でも非常に勉強になりますし、処理の流れも雰囲気が分かり、Linux カーネルのソースコードをちらちら見るくらいはできるようになりました。&lt;/p&gt;
&lt;h2 id=&quot;事前に読んでおくべき本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E5%89%8D%E3%81%AB%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%8A%E3%81%8F%E3%81%B9%E3%81%8D%E6%9C%AC&quot; aria-label=&quot;事前に読んでおくべき本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;事前に読んでおくべき本&lt;/h2&gt;
&lt;p&gt;さて、この本を読むにあたって、事前に読むのにおすすめの本を書いておきます。&lt;/p&gt;
&lt;p&gt;まず、Linux の入門書を 1 冊読んだくらいの段階で挑戦するのは厳しいです。&lt;/p&gt;
&lt;p&gt;Linux の仕組みをざっくり理解するため、以下の 2 冊は読んでおいた方がいいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3crcUTQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ggv3oz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=766bf5a26e5668093829305b932d382c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6e34b0c75aa1195be3fdbc43945886e1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;※ さらに前提として、C 言語の基礎知識が必要です。&lt;/p&gt;
&lt;p&gt;また、CPU の基礎知識として、以下の 2 冊がおすすめです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3iqoEtq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CPUの創りかた&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3yi2Sg6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08639XM13/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=16cfd679aefc759788f50506f8face67&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08639XM13&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08639XM13&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bd915924a3e5d1403520692a4035fde2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;特に『はじめて読む486』は CPU の保護機能なども解説されており、OS について学ぶ際の前提知識を得るのにぴったりです。&lt;/p&gt;
&lt;p&gt;そして、『&lt;a href=&quot;https://amzn.to/3BaP3m1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』には目を通しておきたいです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=60b7c2a5dd76013e2d4e76ab7be0c1ec&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『詳解 Linuxカーネル』の解説は少し込み入っているので、事前にこの本を読み、小さな OS の作り方を学んでおくことをおすすめします。&lt;/p&gt;
&lt;p&gt;ここまで来れば、『詳解 Linuxカーネル』に手をつけるには十分です。&lt;/p&gt;
&lt;p&gt;なお、書籍ではありませんが、『詳解 Linuxカーネル』を読む際は、Linux の物理端末が手元にあると色々試せるのでおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;この本を読んだ先はどうなっているか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%81%AE%E6%9C%AC%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A0%E5%85%88%E3%81%AF%E3%81%A9%E3%81%86%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B&quot; aria-label=&quot;この本を読んだ先はどうなっているか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;この本を読んだ先はどうなっているか&lt;/h2&gt;
&lt;p&gt;さて、この本を読むまでは、これを読み終える頃には「リナックスチョットデキル」とまでは言えなくても、「Linux 最低限分からなくはない」くらいは言えるようになるのかと思っていました。&lt;/p&gt;
&lt;p&gt;しかし、実際に読んでみたところ、これは Linux をしっかり理解する上では、まだまだ入り口なんだなと思うようになりました。&lt;/p&gt;
&lt;p&gt;書籍の中で登場する概念について調べると、詳しい方の書いた記事や、知らない要素などが大量に見つかるのです。&lt;/p&gt;
&lt;p&gt;考えてみれば当然ではあるのですが、書籍になっている時点で最新の情報ではないですし、OSS はソースコードを読んでこそだとも思います。&lt;/p&gt;
&lt;p&gt;この本を読むことで、Linux カーネルのソースコードをちらちら見ることができるくらいにはなり、ここから Linux をもっと知っていきたいなという気持ちになりました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;最後に、『詳解 Linuxカーネル』の最終章「プログラムの実行」の最後の部分が感動的だったので、敬意を込めて引用させていただきます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;プログラムの実行というものは、カーネル設計の多くの側面に関連する複雑な作業です。プロセスという概念、メモリ管理、システムコール、ファイルシステムなどの設計が絡み合っています。プログラムの実行はまさに、Linux がどれほどすばらしい作品であるかを気付かせてくれる（本書の最後にふさわしい）トピックと言えるでしょう！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c9174429c6a521ea04d744bb043811ab&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【予算 10 万】PC を自作するにあたって考えたこと【2021 年】]]></title><description><![CDATA[私は普段 MacBook を使っており、Linux などが使いたければ AWS などでインスタンスを立てていました。
そんな中、VR 系のサービスに興味を持ち、それらを楽しむためには Windows マシンが手元にあった方がいいということが分かりました。
せっかくの機会ということで PC を自作したので、その際に考えたことなどをまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/homebuilt-computer</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/homebuilt-computer</guid><pubDate>Wed, 14 Jul 2021 23:46:38 GMT</pubDate><content:encoded>&lt;p&gt;私は普段 MacBook を使っており、Linux などが使いたければ AWS などでインスタンスを立てていました。&lt;/p&gt;
&lt;p&gt;そんな中、VR 系のサービスに興味を持ち、それらを楽しむためには Windows マシンが手元にあった方がいいということが分かりました。&lt;/p&gt;
&lt;p&gt;せっかくの機会ということで PC を自作したので、その際に考えたことなどをまとめます。&lt;/p&gt;
&lt;h2 id=&quot;やりたいこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%84%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8&quot; aria-label=&quot;やりたいこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;やりたいこと&lt;/h2&gt;
&lt;p&gt;PC を用意して一番やりたいのは VR 系のサービスです。&lt;/p&gt;
&lt;p&gt;「VRChat」や「NeosVR」といった VR SNS のようなサービスを楽しめることが一番の要件です。(特に NeosVR がやりたい)&lt;/p&gt;
&lt;p&gt;他に思うところとしては、普段使いの M1 MacBook Pro と近いくらいサクサク動いてほしいです。&lt;/p&gt;
&lt;p&gt;あと、できれば Windows 11 が動くといいなと思いました。&lt;/p&gt;
&lt;h2 id=&quot;必要なスペック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BF%85%E8%A6%81%E3%81%AA%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF&quot; aria-label=&quot;必要なスペック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;必要なスペック&lt;/h2&gt;
&lt;p&gt;以上を踏まえて、必要なスペックをまとめます。&lt;/p&gt;
&lt;h3 id=&quot;neosvr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#neosvr&quot; aria-label=&quot;neosvr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NeosVR&lt;/h3&gt;
&lt;p&gt;NeosVR の &lt;a href=&quot;https://neosvrjp.memo.wiki/d/%BB%CF%A4%E1%CA%FD#content_2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Wiki&lt;/a&gt; からシステム要件を引用すると、以下の通りでした。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;推奨:
64 ビットプロセッサとオペレーティングシステムが必要です
OS: Windows 10
メモリー: 8 GB RAM
グラフィック: NVIDIA GTX 1060 AMD RX 570 (equivalent or better)
DirectX: Version 11
ネットワーク: ブロードバンドインターネット接続
ストレージ: 10 GB 利用可能&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;NeosVR ができれば、たぶん VRChat もできるだろうし、VTuber みたいなことがしたくなってもできるだろうと思うことにしました。&lt;/p&gt;
&lt;h3 id=&quot;m1-macbook-pro&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#m1-macbook-pro&quot; aria-label=&quot;m1 macbook pro permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;M1 MacBook Pro&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.apple.com/jp/shop/buy-mac/macbook-pro/13%E3%82%A4%E3%83%B3%E3%83%81&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;13 インチ M1 MacBook Pro&lt;/a&gt; の最低スペックは以下の通りでした。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;8コアCPU、8コアGPU、16コアNeural Engineを搭載したApple M1チップ
8GBユニファイドメモリ
256GB SSDストレージ¹
True Tone搭載13インチRetinaディスプレイ
Magic Keyboard
Touch BarとTouch ID
感圧タッチトラックパッド
Thunderbolt / USB 4ポート x 2&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;windows-11&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#windows-11&quot; aria-label=&quot;windows 11 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Windows 11&lt;/h3&gt;
&lt;p&gt;最後に、Windows 11 も動くことですが、ちょっと調べただけでは要件がよく分かりませんでした。&lt;/p&gt;
&lt;p&gt;新しめの CPU を使っておけばなんとかなるだろうということにして、あまり気にしないことにします。&lt;/p&gt;
&lt;h2 id=&quot;自作-pc-のトレンドなどのキャッチアップ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C-pc-%E3%81%AE%E3%83%88%E3%83%AC%E3%83%B3%E3%83%89%E3%81%AA%E3%81%A9%E3%81%AE%E3%82%AD%E3%83%A3%E3%83%83%E3%83%81%E3%82%A2%E3%83%83%E3%83%97&quot; aria-label=&quot;自作 pc のトレンドなどのキャッチアップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自作 PC のトレンドなどのキャッチアップ&lt;/h2&gt;
&lt;p&gt;自作 PC に関する情報をキャッチアップするため、本を買うことにしました。&lt;/p&gt;
&lt;p&gt;せっかくなので最近の本を 4 冊ほど見てみました。&lt;/p&gt;
&lt;p&gt;それぞれどうだったかは &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/homebuilt-computer-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;p&gt;初心者向けに 1 冊おすすめするとすれば、『&lt;a href=&quot;https://amzn.to/3B4eshm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パソコン自作の教科書&lt;/a&gt;』がいいと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07SNQ6XQ8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=969a8f71eec08c33708f88c0f44cdf4c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07SNQ6XQ8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07SNQ6XQ8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;自作の方針&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E4%BD%9C%E3%81%AE%E6%96%B9%E9%87%9D&quot; aria-label=&quot;自作の方針 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自作の方針&lt;/h2&gt;
&lt;p&gt;さて、PC を自作すると一言で言っても、どのくらいつよつよマシンにするのかは予算などとの兼ね合いになります。&lt;/p&gt;
&lt;p&gt;今回は「必要なスペックは満たしつつ、安くそこそこのものを作る。合計 10 万円くらいだといいな」という方針で考えていきます。&lt;/p&gt;
&lt;h2 id=&quot;買い物リスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B2%B7%E3%81%84%E7%89%A9%E3%83%AA%E3%82%B9%E3%83%88&quot; aria-label=&quot;買い物リスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;買い物リスト&lt;/h2&gt;
&lt;p&gt;では、PC のパーツを選んでいきます。&lt;/p&gt;
&lt;p&gt;今回の要件では、最低限だと&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU&lt;/li&gt;
&lt;li&gt;メモリ&lt;/li&gt;
&lt;li&gt;マザーボード&lt;/li&gt;
&lt;li&gt;PC ケース&lt;/li&gt;
&lt;li&gt;電源ユニット&lt;/li&gt;
&lt;li&gt;SSD&lt;/li&gt;
&lt;li&gt;グラフィックボード&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 8 つを買えばよさそうです。&lt;/p&gt;
&lt;h3 id=&quot;cpu&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu&quot; aria-label=&quot;cpu permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU&lt;/h3&gt;
&lt;p&gt;PC を自作する上で (自作じゃなくても)、トップクラスに重要なのは CPU です。&lt;/p&gt;
&lt;p&gt;自作 PC で利用する CPU は大きく&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel 製 (主に Core i◯ シリーズ)&lt;/li&gt;
&lt;li&gt;AMD 製 (主に Ryzen シリーズ)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;があります。&lt;/p&gt;
&lt;p&gt;最近は Ryzen がコスパが良いと言われることが多いようですが、Intel の 1 世代前の CPU である「&lt;a href=&quot;https://amzn.to/3eiMULp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Core i5-10400&lt;/a&gt;」が、6 コア 12 スレッドで 2 万円程度と、なかなかコスパが良いようでした。&lt;/p&gt;
&lt;p&gt;そこで今回は &lt;a href=&quot;https://amzn.to/3eiMULp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Core i5-10400&lt;/a&gt; を買うことにしました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086MN38Q2?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a42c0cdcba3fcaadd656142246668025&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086MN38Q2&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B086MN38Q2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU を選ぶ上でもう 1 点気にしたこととしては、グラフィックボードが故障したりしても使えるよう、GPU を内蔵しているタイプのものを購入することです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/3B6nMRR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Core i5-10400F&lt;/a&gt; は GPU が内蔵されていないので、&lt;a href=&quot;https://amzn.to/3eiMULp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Core i5-10400&lt;/a&gt; を購入することにしました。&lt;/p&gt;
&lt;h3 id=&quot;マザーボード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%B6%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89&quot; aria-label=&quot;マザーボード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;マザーボード&lt;/h3&gt;
&lt;p&gt;CPU とセットで選ぶべきはマザーボードです。&lt;/p&gt;
&lt;p&gt;マザーボードは CPU に対応したものを選ぶ必要があります。&lt;/p&gt;
&lt;p&gt;さらに、サイズも気にしたいところです。&lt;/p&gt;
&lt;p&gt;マザーボードには ATX、Micro-ATX などのサイズがあり、それによって使えるケースのサイズも変わってきます。&lt;/p&gt;
&lt;p&gt;今回はグラフィックボードも余裕で入るようにしたかったので、ATX 対応サイズのケースを買うつもりです。&lt;/p&gt;
&lt;p&gt;そこで、マザーボードも ATX のサイズのものにすることにしました。&lt;/p&gt;
&lt;p&gt;あとで書くように、各パーツは &lt;a href=&quot;https://shop.tsukumo.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TSUKUMO&lt;/a&gt; のネットショップで購入することにしたので、TSUKUMO で安い順で検索して良さそうなものを探し…&lt;/p&gt;
&lt;p&gt;ASRock の「&lt;a href=&quot;https://amzn.to/3ieeLNI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;H570 Phantom Gaming 4&lt;/a&gt;」に決めました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08X12SQ6N?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ae9c35a2d767f2b1fa4907beb64b2350&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08X12SQ6N&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08X12SQ6N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU とセットで少し割引になっていましたが、それだと追加の保証がつけられなかったので、別々で買うことにしました。&lt;/p&gt;
&lt;p&gt;税込でおよそ 13,000 円でした。&lt;/p&gt;
&lt;p&gt;ちなみに、PC を組み立ててから WiFi が組み込まれていないことに気づきました。(有線で使うのでいいですが)&lt;/p&gt;
&lt;h3 id=&quot;メモリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%83%A2%E3%83%AA&quot; aria-label=&quot;メモリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メモリ&lt;/h3&gt;
&lt;p&gt;※ 以後のパーツも、マザーボードと同じく TSUKUMO で安い順で検索して良さそうなものを探して決めています。&lt;/p&gt;
&lt;p&gt;続いてメモリにです。&lt;/p&gt;
&lt;p&gt;メモリはマザーボードとの対応に一応注意が必要です。&lt;/p&gt;
&lt;p&gt;とはいえ最近は DDR4 という規格のものならだいたい大丈夫そうです。&lt;/p&gt;
&lt;p&gt;聞くところによると、最近のゲームなどでは 8 GB では少し辛く、16 GB なら安心のようです。&lt;/p&gt;
&lt;p&gt;NeosVR の推奨が 8GB ということもあるので、余裕を持たせて 8 GB × 2 を購入することにしました。&lt;/p&gt;
&lt;p&gt;税込 9,000 くらいでした。&lt;/p&gt;
&lt;h3 id=&quot;ssd&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ssd&quot; aria-label=&quot;ssd permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SSD&lt;/h3&gt;
&lt;p&gt;SSD の規格の種類はちょっと分かりにくかったですが、M.2 という形で、SATA ではなく NVMe で接続するものの方が高速で良さそうでした。&lt;/p&gt;
&lt;p&gt;250 GB くらいあれば十分かなと思いましたが、500 GB であまり値段の変わらないものがあったので、&lt;a href=&quot;https://amzn.to/3z3DoDP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;これ&lt;/a&gt; にしました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086VMR3G8?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=67b2145afb57030b29028ee0d2551348&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086VMR3G8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B086VMR3G8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;税込およそ 6,000 円でした。&lt;/p&gt;
&lt;h3 id=&quot;グラフィックボード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%83%BC%E3%83%89&quot; aria-label=&quot;グラフィックボード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;グラフィックボード&lt;/h3&gt;
&lt;p&gt;グラフィックボードは知り合いが使っていないものを売ってくれるということだったので、ありがたく買わせていただくことにしました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://amzn.to/2VDEEPn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GTX 1080 のグラフィックボード&lt;/a&gt; です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B076KC7FTV?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d238340f933eae42ec4a7b38dbd5b5dc&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B076KC7FTV&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B076KC7FTV&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;25,000 円でゆずっていただきました。(ありがとうございます！)&lt;/p&gt;
&lt;h3 id=&quot;電源ユニット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%BB%E6%BA%90%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88&quot; aria-label=&quot;電源ユニット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;電源ユニット&lt;/h3&gt;
&lt;p&gt;グラフィックボードが決まったので、電源がどのくらい必要かが決まります。&lt;/p&gt;
&lt;p&gt;上記のグラフィックボードは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最大 500 W&lt;/li&gt;
&lt;li&gt;補助電源は 8 pin × 2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということなので、それを満たす電源ユニットを買う必要があります。&lt;/p&gt;
&lt;p&gt;今回選んだ CPU とあわせて 650 W くらい対応していれば十分大丈夫だろうということで、適当に決めました。&lt;/p&gt;
&lt;p&gt;一応、80 PLUS 認証が BRONZE といったあたりはチェックしました。&lt;/p&gt;
&lt;p&gt;(ケースのサイズとの対応はケースを決めた際に確認しました)&lt;/p&gt;
&lt;p&gt;税込およそ 6,000 円でした。&lt;/p&gt;
&lt;h3 id=&quot;pc-ケース&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc-%E3%82%B1%E3%83%BC%E3%82%B9&quot; aria-label=&quot;pc ケース permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;PC ケース&lt;/h3&gt;
&lt;p&gt;最後に、PC ケースです。&lt;/p&gt;
&lt;p&gt;ケースは、今回選んだ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;マザーボード (ATX)&lt;/li&gt;
&lt;li&gt;グラフィックボード&lt;/li&gt;
&lt;li&gt;電源ユニット&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などのサイズが入る中で、安さ重視で決めました。&lt;/p&gt;
&lt;p&gt;なんとなく中が見えるものがいいなと思い、&lt;a href=&quot;https://amzn.to/3z4m9SV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;これ&lt;/a&gt; を選びました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07ZKTKK7B?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3dad20982e2ef9caab4b6998cef80536&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07ZKTKK7B&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07ZKTKK7B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;税込およそ 4,000 円でした。&lt;/p&gt;
&lt;p&gt;なお、自作 PC の部品を選ぶ上では、マザーボードと電源ユニット、PC ケースをまとめた「ベアボーンキット」を購入する手もありますが、今回は別々で選びました。&lt;/p&gt;
&lt;h3 id=&quot;windows&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#windows&quot; aria-label=&quot;windows permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Windows&lt;/h3&gt;
&lt;p&gt;パーツではないですが、&lt;a href=&quot;https://amzn.to/2VEfgJn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Windows 10 Pro&lt;/a&gt; の DSP 版 (パーツと一緒に購入できる安価なバージョン) も購入しました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0141WUH7I?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0bc48df478c25f46da725600dfacfc1f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0141WUH7I&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0141WUH7I&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;税込 20,000 円くらいでした。&lt;/p&gt;
&lt;h3 id=&quot;合計金額&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%90%88%E8%A8%88%E9%87%91%E9%A1%8D&quot; aria-label=&quot;合計金額 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;合計金額&lt;/h3&gt;
&lt;p&gt;以上のパーツなどに保証を少し追加でつけて、合計 105,000 円くらいで一通りそろいました！&lt;/p&gt;
&lt;h2 id=&quot;買わなかったもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B2%B7%E3%82%8F%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE&quot; aria-label=&quot;買わなかったもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;買わなかったもの&lt;/h2&gt;
&lt;p&gt;何を買うか考えながら、買わなかった (買い忘れた) ものもあるので書いておきます。&lt;/p&gt;
&lt;h3 id=&quot;cpu-クーラー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu-%E3%82%AF%E3%83%BC%E3%83%A9%E3%83%BC&quot; aria-label=&quot;cpu クーラー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU クーラー&lt;/h3&gt;
&lt;p&gt;まずは CPU クーラーです。&lt;/p&gt;
&lt;p&gt;がっつり重たいゲームで遊んだりするなら買った方がいいのかもしれませんが、今回はとりあえず初期費用を抑える方針で、CPU に付属のものを使うことにしました。&lt;/p&gt;
&lt;p&gt;必要あれば後日追加で購入しようと思います。&lt;/p&gt;
&lt;h3 id=&quot;周辺機器&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8&quot; aria-label=&quot;周辺機器 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;周辺機器&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;マウス&lt;/li&gt;
&lt;li&gt;キーボード&lt;/li&gt;
&lt;li&gt;ディスプレイ&lt;/li&gt;
&lt;li&gt;光学ドライブ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と言った周辺機器については、自宅にあるものを使うことにしました。&lt;/p&gt;
&lt;p&gt;これらも必要あれば適宜追加で買うつもりです。&lt;/p&gt;
&lt;p&gt;HDD は、必要になるようなデータが保存したくなったら、Google Drive なり Amazon S3 なりを使うつもりです。&lt;/p&gt;
&lt;h3 id=&quot;工具&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%B7%A5%E5%85%B7&quot; aria-label=&quot;工具 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;工具&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;静電気防止手袋&lt;/li&gt;
&lt;li&gt;ラジオペンチ&lt;/li&gt;
&lt;li&gt;エアダスター&lt;/li&gt;
&lt;li&gt;グリス&lt;/li&gt;
&lt;li&gt;グリスクリーナー&lt;/li&gt;
&lt;li&gt;結束バンド&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった工具もあるとよさそうですが、最初はドライバさえあれば組み立てられるので、必要になったタイミングで買うことにします。&lt;/p&gt;
&lt;h3 id=&quot;買い忘れたもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B2%B7%E3%81%84%E5%BF%98%E3%82%8C%E3%81%9F%E3%82%82%E3%81%AE&quot; aria-label=&quot;買い忘れたもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;買い忘れたもの&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;USB メモリ (OS インストール用)&lt;/li&gt;
&lt;li&gt;LAN ケーブル&lt;/li&gt;
&lt;li&gt;HDMI ケーブル&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりは買っておけばよかったです。(追加で購入しました)&lt;/p&gt;
&lt;h3 id=&quot;後日買うつもりのもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BE%8C%E6%97%A5%E8%B2%B7%E3%81%86%E3%81%A4%E3%82%82%E3%82%8A%E3%81%AE%E3%82%82%E3%81%AE&quot; aria-label=&quot;後日買うつもりのもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;後日買うつもりのもの&lt;/h3&gt;
&lt;p&gt;PC を置くためのラック、Web カメラは、後日購入予定です。&lt;/p&gt;
&lt;p&gt;また、当初の目的を果たすために重要な VR の HMD (ヘッドマウントディスプレイ) についても、後日購入予定です。&lt;/p&gt;
&lt;h2 id=&quot;ネットショップ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97&quot; aria-label=&quot;ネットショップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ネットショップ&lt;/h2&gt;
&lt;p&gt;さて、各種パーツは最終的に TSUKUMO で買うことにしたわけですが、どのネットショップで買うかも多少調べました。&lt;/p&gt;
&lt;p&gt;有名どころとしては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TSUKUMO&lt;/li&gt;
&lt;li&gt;パソコン工房&lt;/li&gt;
&lt;li&gt;Amazon&lt;/li&gt;
&lt;li&gt;ark&lt;/li&gt;
&lt;li&gt;ドスパラ&lt;/li&gt;
&lt;li&gt;ソフマップ&lt;/li&gt;
&lt;li&gt;ワンズ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりがよく名前を挙げられるようです。&lt;/p&gt;
&lt;p&gt;あまり調べてもキリがないので、いろんなサイトで評判が良かった TSUKUMO に決めました。&lt;/p&gt;
&lt;h2 id=&quot;到着&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%88%B0%E7%9D%80&quot; aria-label=&quot;到着 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;到着&lt;/h2&gt;
&lt;p&gt;注文から 2 日で、パーツ一式が届きました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/homebuilt-computer-parts.jpeg&quot; alt=&quot;homebuilt-computer-parts.jpeg&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;組み立て&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%84%E3%81%BF%E7%AB%8B%E3%81%A6&quot; aria-label=&quot;組み立て permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;組み立て&lt;/h2&gt;
&lt;p&gt;とりあえず組み立てて UEFI まで起動できたので、写真を載せておきます。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/homebuilt-computer-uefi.jpeg&quot; alt=&quot;homebuilt-computer-uefi.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;後々 Windows を入れて VR で遊ぶつもりですが、まずは Linux を入れて色々遊んでいくつもりです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA["インストール" というのはファイルを配置したりするだけという話]]></title><description><![CDATA["インストール" という言葉は、「何をしてくれるか分からないけど、とりあえず入れたソフトウェアが使えるようになる」くらいに思われやすいと思います。
"インストール" というのは、単に関係するファイルをコンピュータ上に保存して、各種設定をしてしまうだけのことを指しています。
実際に、Nginx をサーバにインストールして、このことを確認していこうと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/what-is-installation</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/what-is-installation</guid><pubDate>Tue, 06 Jul 2021 04:54:24 GMT</pubDate><content:encoded>&lt;h2 id=&quot;インストール-とは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;インストール とは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;“インストール” とは？&lt;/h2&gt;
&lt;p&gt;“インストール” という言葉は、「何をしてくれるか分からないけど、とりあえず入れたソフトウェアが使えるようになる」くらいに思われやすいと思います。&lt;/p&gt;
&lt;p&gt;「&lt;a href=&quot;https://wa3.i-3-i.info/word149.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インストールとは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典&lt;/a&gt;」というページでは、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;（ソフトを中に入れて）パソコンやソフトを使えるように準備すること&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と説明されています。&lt;/p&gt;
&lt;p&gt;この説明の通り、&lt;strong&gt;“インストール” というのは、単に関係するファイルをコンピュータ上に保存して、各種設定をしてしまうだけのこと&lt;/strong&gt;を指しています。&lt;/p&gt;
&lt;p&gt;設定というのもファイルに保存するわけですから、結局は&lt;strong&gt;関係するファイルをダウンロードしたりしてきて配置したりするだけ&lt;/strong&gt;ということです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;インストールしたものを実行するのも、単に実行形式のプログラムのファイルを実行するだけ&lt;/strong&gt;です。&lt;/p&gt;
&lt;h2 id=&quot;nginx-をインストールして確認&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nginx-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E7%A2%BA%E8%AA%8D&quot; aria-label=&quot;nginx をインストールして確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Nginx をインストールして確認&lt;/h2&gt;
&lt;p&gt;実際に、Nginx (よく使われる Web サーバのソフトウェア) をサーバにインストールして、このことを確認していこうと思います。&lt;/p&gt;
&lt;p&gt;なお、以後の確認は AWS EC2 の Ubuntu で実施しました。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ cat /proc/version
Linux version 5.4.0-1045-aws (buildd@lcy01-amd64-026) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #47-Ubuntu SMP Tue Apr 13 07:02:25 UTC 2021&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;nginx-インストール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nginx-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&quot; aria-label=&quot;nginx インストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Nginx インストール&lt;/h2&gt;
&lt;p&gt;まずは Nginx をインストールするため、apt コマンドを実行します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo apt update -y
$ sudo apt install -y nginx&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;インストールが完了したら、Nginx のステータスを確認します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-07-06 04:18:08 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 3267 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3278 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3279 (nginx)
      Tasks: 5 (limit: 9418)
     Memory: 5.1M
     CGroup: /system.slice/nginx.service
             ├─3279 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─3280 nginx: worker process
             ├─3281 nginx: worker process
             ├─3282 nginx: worker process
             └─3283 nginx: worker process

Jul 06 04:18:08 ip-172-31-6-255 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 06 04:18:08 ip-172-31-6-255 systemd[1]: Started A high performance web server and a reverse proxy server.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ステータスは&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;     Active: active (running) since Tue 2021-07-06 04:18:08 UTC; 4s ago&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;となっているので、無事起動しているようです。&lt;/p&gt;
&lt;p&gt;実際に curl でアクセスしてみると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ curl localhost
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Welcome to nginx!&amp;lt;/title&amp;gt;
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;デフォルトで表示されるページが返ってきました！&lt;/p&gt;
&lt;h2 id=&quot;どんなコマンドで実行されているのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;どんなコマンドで実行されているのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんなコマンドで実行されているのか&lt;/h2&gt;
&lt;p&gt;では、Nginx がどんなコマンドで実行されているのか、Nginx のプログラムのファイルはどこにあるのかを見ていきます。&lt;/p&gt;
&lt;p&gt;Nginx のステータスの表示から関係する部分を抜粋すると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo systemctl status nginx
    :
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
    :
    Process: 3278 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;上記の Loaded の部分に書かれている &lt;code class=&quot;language-text&quot;&gt;/lib/systemd/system/nginx.service&lt;/code&gt; というファイルに書かれている通り、&lt;code class=&quot;language-text&quot;&gt;/usr/sbin/nginx -g daemon on; master_process on;&lt;/code&gt; というコマンドで起動したようです。&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;/lib/systemd/system/nginx.service&lt;/code&gt; を見てみると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;$ &lt;span class=&quot;token function&quot;&gt;cat&lt;/span&gt; /lib/systemd/system/nginx.service
    &lt;span class=&quot;token builtin class-name&quot;&gt;:&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Unit&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;Description&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;A high performance web server and a reverse proxy server
&lt;span class=&quot;token assign-left variable&quot;&gt;Documentation&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;man:nginx&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;After&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;network.target

&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Service&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;Type&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;forking
&lt;span class=&quot;token assign-left variable&quot;&gt;PIDFile&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;/run/nginx.pid
&lt;span class=&quot;token assign-left variable&quot;&gt;ExecStartPre&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;/usr/sbin/nginx -t -q -g &lt;span class=&quot;token string&quot;&gt;&apos;daemon on; master_process on;&apos;&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;ExecStart&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;/usr/sbin/nginx -g &lt;span class=&quot;token string&quot;&gt;&apos;daemon on; master_process on;&apos;&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;ExecReload&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;/usr/sbin/nginx -g &lt;span class=&quot;token string&quot;&gt;&apos;daemon on; master_process on;&apos;&lt;/span&gt; -s reload
&lt;span class=&quot;token assign-left variable&quot;&gt;ExecStop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
&lt;span class=&quot;token assign-left variable&quot;&gt;TimeoutStopSec&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;KillMode&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;mixed

&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Install&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token assign-left variable&quot;&gt;WantedBy&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;multi-user.target&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;たしかに、起動コマンドが&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;ExecStart=/usr/sbin/nginx -g &amp;#39;daemon on; master_process on;&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;のように書かれています。&lt;/p&gt;
&lt;p&gt;この記述をもとに、systemd というプログラムが Nginx を起動してくれているわけです。&lt;/p&gt;
&lt;p&gt;このように、&lt;strong&gt;Nginx と言えど単なる実行可能ファイル (/usr/sbin/nginx) が正体であり、これを手動で実行すればインストールしたのと同じように動く&lt;/strong&gt;はずです。&lt;/p&gt;
&lt;h2 id=&quot;手動で動かしてみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E5%8B%95%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;手動で動かしてみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;手動で動かしてみる&lt;/h2&gt;
&lt;p&gt;では、&lt;code class=&quot;language-text&quot;&gt;/lib/systemd/system/nginx.service&lt;/code&gt; の設定をもとに Nginx を動かすのではなく、手動でコマンドを打って起動できるか試してみようと思います。&lt;/p&gt;
&lt;p&gt;まずは Nginx を一旦停止します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo systemctl stop nginx&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;手動でどんなコマンドを打つべきかは、&lt;a href=&quot;https://github.com/nginxinc/docker-nginx/blob/f3fe494531f9b157d9c09ba509e412dace54cd4f/mainline/debian/Dockerfile#L116&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Nginx の Dockerfile&lt;/a&gt; が参考になります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CMD [“nginx”, “-g”, “daemon off;”]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;の記述を参考に実行すればよさそうです。&lt;/p&gt;
&lt;p&gt;では、実行してみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo nginx -g &amp;#39;daemon off;&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この状態でアクセスすると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ curl localhost
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Welcome to nginx!&amp;lt;/title&amp;gt;
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;無事 HTML が返ってきました！&lt;/p&gt;
&lt;p&gt;このように、&lt;strong&gt;Nginx をインストールした際は設定ファイルに記載のコマンド通り systemd が動かしてくれているだけであり、手動でコマンドを打って動かすこともできます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;※ 手動での起動はあくまで試しにやってみただけで、実際には systemd で動かした方がログ管理などが楽になります&lt;/p&gt;
&lt;h3 id=&quot;ファイルを見てみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;ファイルを見てみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ファイルを見てみる&lt;/h3&gt;
&lt;p&gt;ここで少し、nginx コマンドのファイルを見てみようと思います。&lt;/p&gt;
&lt;p&gt;ファイルのありかは &lt;code class=&quot;language-text&quot;&gt;/usr/sbin/nginx&lt;/code&gt; です。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ which nginx
/usr/sbin/nginx&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;file コマンドでファイルの種類を見てみると…&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ file /usr/sbin/nginx
/usr/sbin/nginx: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=087cd7ff5400c7d80593bba6c8e4639004a765ca, for GNU/Linux 3.2.0, stripped&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ということで、ELF という形式のファイルであることが分かりました。&lt;/p&gt;
&lt;p&gt;ELF は実行可能なバイナリファイルの一種です。&lt;/p&gt;
&lt;p&gt;Nginx 自体は C 言語で実装されており、そのコードをコンパイルしたりして実行可能なバイナリファイルにしたのが nginx コマンド (/usr/sbin/nginx ファイル) ということです。&lt;/p&gt;
&lt;p&gt;バイナリファイルなので通常のエディタで開いても読めませんが、objdump や readelf、od コマンドなどで中身を調べることができます。(リバースエンジニアリングする際はライセンスにご注意ください)&lt;/p&gt;
&lt;p&gt;ということで、「&lt;strong&gt;“Nginx をインストールする” というのは、単に実行形式のファイルや設定ファイルをダウンロードしてきて適切な場所に配置したりすること&lt;/strong&gt;」ということが分かりました。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Puma の Daemonization が廃止された理由と、デーモン化したいときはどうするべきか]]></title><description><![CDATA[「Puma をデーモン化する設定はなぜ廃止されたのか」、「代替手段の puma-daemon によるデーモン化はどのように実現されているのか」を調べたところいろいろ勉強になったので、記事としてまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/why-puma-daemonization-removed</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/why-puma-daemonization-removed</guid><pubDate>Sun, 04 Jul 2021 11:16:36 GMT</pubDate><content:encoded>&lt;p&gt;Puma は Ruby のアプリケーションサーバの一種であり、Ruby on Rails がデフォルトで使用していることでも有名です。&lt;/p&gt;
&lt;p&gt;そんな Puma をサーバにデプロイする方法を調べていると、一昔前まではデーモン化 (Daemonization) する設定があったそうですが、現在はその設定が廃止されていました。&lt;/p&gt;
&lt;p&gt;そこで&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puma をデーモン化する設定はなぜ廃止されたのか&lt;/li&gt;
&lt;li&gt;代替手段の puma-daemon によるデーモン化はどのように実現されているのか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を調べたところいろいろ勉強になったので、記事としてまとめます。&lt;/p&gt;
&lt;h2 id=&quot;前提&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90&quot; aria-label=&quot;前提 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提&lt;/h2&gt;
&lt;p&gt;Puma とは？という方には、Ruby における Web サーバとアプリケーションサーバについて説明している以下の翻訳記事が分かりやすくてオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/jnchito/items/3884f9a2ccc057f8f3a3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Rails開発におけるwebサーバーとアプリケーションサーバーの違い（翻訳） - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;puma-をデーモン化する設定はなぜ廃止されたのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#puma-%E3%82%92%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%99%E3%82%8B%E8%A8%AD%E5%AE%9A%E3%81%AF%E3%81%AA%E3%81%9C%E5%BB%83%E6%AD%A2%E3%81%95%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%8B&quot; aria-label=&quot;puma をデーモン化する設定はなぜ廃止されたのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Puma をデーモン化する設定はなぜ廃止されたのか&lt;/h2&gt;
&lt;p&gt;Puma の GitHub リポジトリの &lt;a href=&quot;https://github.com/puma/puma/blob/ea81fba045ce191644129cc772608765d1595511/History.md#500--2020-09-17&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;History.md&lt;/a&gt; によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;h2 id=&quot;500--2020-09-17&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#500--2020-09-17&quot; aria-label=&quot;500  2020 09 17 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5.0.0 / 2020-09-17&lt;/h2&gt;
&lt;p&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Daemonization has been removed without replacement. (#2170)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;ということで、デーモン化の設定はバージョン 5.0.0 で削除されています。&lt;/p&gt;
&lt;p&gt;その理由などは、&lt;a href=&quot;https://github.com/puma/puma/pull/2170&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;#2170&lt;/a&gt; のプルリクエストに対応する issue (&lt;a href=&quot;https://github.com/puma/puma/issues/1983&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;#1983&lt;/a&gt;) で議論されています。&lt;/p&gt;
&lt;p&gt;この議論の中では、デーモン化機能の削除の理由として &lt;a href=&quot;https://www.mikeperham.com/2014/09/22/dont-daemonize-your-daemons/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Don’t Daemonize your Daemons! | Mike Perham&lt;/a&gt; という記事がリンクされています。&lt;/p&gt;
&lt;p&gt;この記事から重要な点をいくつか引用させていただくと、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Your application code should not be dealing with PID files, log redirection or other low-level concerns.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Let your operating system handle daemons, respawning and logging while you focus on your application features and users.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことで、要するに、「&lt;strong&gt;PID ファイルの管理やログのリダイレクトといった低レベルの関心事はアプリケーションで扱うべきではなく、デーモン化やリスポーン・ロギングといった機能は OS に任せて、アプリケーションの開発者は機能やユーザに注視するべき&lt;/strong&gt;」ということです。&lt;/p&gt;
&lt;p&gt;この記事に書かれている通り、自前のコードでデーモン化を実現しようとすると、ログローテーションなど多くの考慮事項ができてしまいます。&lt;/p&gt;
&lt;p&gt;systemd などの提供する方法でデーモン化すれば、そういった考慮事項が減るので、&lt;strong&gt;systemd などを使ってデーモン化するべき&lt;/strong&gt;ということです。&lt;/p&gt;
&lt;p&gt;systemd を使うことで、例えばログは単に標準出力に出せばよくなり、&lt;a href=&quot;https://12factor.net/ja/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;The Twelve-Factor App&lt;/a&gt; にもある移植性の高いアプリケーションの設計プラクティスを満たすこともできます。&lt;/p&gt;
&lt;p&gt;なお、Puma を systemd で管理する際の設定については、&lt;a href=&quot;https://github.com/puma/puma/blob/cc1768e122d1583c884bc0cf9b8699aa7393bbac/docs/systemd.md&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;docs/systemd.md&lt;/a&gt; に書かれています。&lt;/p&gt;
&lt;h2 id=&quot;代替手段の-puma-daemon-によるデーモン化はどのように実現されているのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%A3%E6%9B%BF%E6%89%8B%E6%AE%B5%E3%81%AE-puma-daemon-%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%AE%9F%E7%8F%BE%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;代替手段の puma daemon によるデーモン化はどのように実現されているのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;代替手段の puma-daemon によるデーモン化はどのように実現されているのか&lt;/h2&gt;
&lt;p&gt;さて、このような理由で Puma のデーモン化設定は廃止されたわけですが、代替手段として &lt;a href=&quot;https://github.com/kigster/puma-daemon&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;puma-daemon&lt;/a&gt; という gem が作られました。&lt;/p&gt;
&lt;p&gt;この gem を使ってデーモン化する方法が systemd でのデーモン化とどう違うのか、コードを追いかけてみます。&lt;/p&gt;
&lt;p&gt;※ CRuby、glibc とコードを見ていきます。この辺りのコードは読み慣れていないので、もし間違いなどあれば &lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Twitter&lt;/a&gt; などでご指摘いただけますと幸いです&lt;/p&gt;
&lt;h3 id=&quot;puma-daemon-の該当箇所&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#puma-daemon-%E3%81%AE%E8%A9%B2%E5%BD%93%E7%AE%87%E6%89%80&quot; aria-label=&quot;puma daemon の該当箇所 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;puma-daemon の該当箇所&lt;/h3&gt;
&lt;p&gt;puma-daemon のコードをなんとなく探ってみると、どうやら &lt;a href=&quot;https://github.com/kigster/puma-daemon/blob/b14a154573f891b82fb68c58cc43d4fb41bb81fd/lib/puma/daemon/runner.rb#L22&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ここ&lt;/a&gt; で&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Process.daemon(true)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と、Ruby の組み込みライブラリの関数 &lt;code class=&quot;language-text&quot;&gt;Process.daemon&lt;/code&gt; が呼ばれており、この処理でデーモン化しているようです。&lt;/p&gt;
&lt;h3 id=&quot;ruby-の-processdaemon-の該当箇所&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ruby-%E3%81%AE-processdaemon-%E3%81%AE%E8%A9%B2%E5%BD%93%E7%AE%87%E6%89%80&quot; aria-label=&quot;ruby の processdaemon の該当箇所 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ruby の Process.daemon の該当箇所&lt;/h3&gt;
&lt;p&gt;もう少し詳しく知りたいので、Ruby (CRuby) の実装を追いかけてみようと思います。&lt;/p&gt;
&lt;p&gt;GitHub の &lt;a href=&quot;https://github.com/ruby/ruby&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ミラーリポジトリ&lt;/a&gt; を見てみると…&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ruby/ruby/blob/2488589b2f1a70dbfdc4155ac9bea3c533ef35d8/process.c#L7006&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;process.c&lt;/a&gt; の &lt;a href=&quot;https://github.com/ruby/ruby/blob/2488589b2f1a70dbfdc4155ac9bea3c533ef35d8/process.c#L7006&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;この箇所&lt;/a&gt; で&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;err = daemon(nochdir, noclose);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;のように、&lt;code class=&quot;language-text&quot;&gt;daemon&lt;/code&gt; という関数が呼ばれています。&lt;/p&gt;
&lt;p&gt;※ &lt;code class=&quot;language-text&quot;&gt;daemon&lt;/code&gt; という関数が呼ばれるのは &lt;code class=&quot;language-text&quot;&gt;#ifdef HAVE_DAEMON&lt;/code&gt; が満たされた場合のみです。そうでない場合については別の方法でデーモン化されているようです&lt;/p&gt;
&lt;h3 id=&quot;glibc-の該当箇所&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#glibc-%E3%81%AE%E8%A9%B2%E5%BD%93%E7%AE%87%E6%89%80&quot; aria-label=&quot;glibc の該当箇所 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;glibc の該当箇所&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://linuxjm.osdn.jp/html/LDP_man-pages/man3/daemon.3.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Man page of DAEMON&lt;/a&gt; によると、&lt;code class=&quot;language-text&quot;&gt;daemon&lt;/code&gt; は、C 言語の標準ライブラリの関数のようです。&lt;/p&gt;
&lt;p&gt;そこで標準ライブラリの代表的な 1 つである glibc のコードを見てみようと思います。&lt;/p&gt;
&lt;p&gt;GitHub の &lt;a href=&quot;https://github.com/bminor/glibc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ミラーリポジトリ&lt;/a&gt; を見てみると、&lt;a href=&quot;https://github.com/bminor/glibc/blob/595c22ecd8e87a27fd19270ed30fdbae9ad25426/misc/daemon.c&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;daemon.c&lt;/a&gt; に以下のように実装されているようです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c&quot;&gt;&lt;pre class=&quot;language-c&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;daemon&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt; nochdir&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt; noclose&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt; fd&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;__fork&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token function&quot;&gt;_exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;__setsid&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;nochdir&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;__chdir&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;noclose&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;このコードの一番重要な処理は以下の箇所です。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c&quot;&gt;&lt;pre class=&quot;language-c&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;__fork&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token function&quot;&gt;_exit&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;glibc のコードの読み方に確信が持てないですが、おそらく &lt;code class=&quot;language-text&quot;&gt;__fork()&lt;/code&gt; は &lt;a href=&quot;https://linuxjm.osdn.jp/html/LDP_man-pages/man2/fork.2.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;fork というシステムコール&lt;/a&gt; を読んでいるのではないかと思います。&lt;/p&gt;
&lt;p&gt;fork システムコールはその戻り値によって親プロセスと子プロセスで処理を分岐することが多いのですが、上記の switch 文はまさにその典型です。&lt;/p&gt;
&lt;p&gt;子プロセスは &lt;code class=&quot;language-text&quot;&gt;case 0&lt;/code&gt; に進み、以後の処理を継続し、アプリケーションサーバとして動きます。&lt;/p&gt;
&lt;p&gt;一方、親プロセスは戻り値として子プロセスの PID を受け取るため、&lt;code class=&quot;language-text&quot;&gt;default&lt;/code&gt; に進み、exit します。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3qKxjJm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;』p32 によると、&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=30d0372c61b0545f777b8372daf1b38c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;プロセスが終了する際、カーネルは終了するプロセスの子プロセスすべてに関して、init の子になるように適切なプロセスディスクリプタのポインタを変更します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことで、親プロセスがいなくなったことで子プロセス (アプリケーションサーバのプロセス) は init の子プロセスになり、デーモン化が完了したわけです。&lt;/p&gt;
&lt;p&gt;※ Linux 以外でも同様の挙動になるかは調べていません&lt;/p&gt;
&lt;h3 id=&quot;結局-puma-daemon-でのデーモン化と-systemd-でのデーモン化はどう違うのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E5%B1%80-puma-daemon-%E3%81%A7%E3%81%AE%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%A8-systemd-%E3%81%A7%E3%81%AE%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%AF%E3%81%A9%E3%81%86%E9%81%95%E3%81%86%E3%81%AE%E3%81%8B&quot; aria-label=&quot;結局 puma daemon でのデーモン化と systemd でのデーモン化はどう違うのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結局 puma-daemon でのデーモン化と systemd でのデーモン化はどう違うのか&lt;/h3&gt;
&lt;p&gt;話がだいぶ込み入ってしまいましたが、ここまで読んできたコードからすると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;puma-daemon によるデーモン化は、ただ init プロセスの子プロセスとして Puma が動き続けるようにするだけ&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;したがって、systemd によるデーモン化のようにリスポーンやロギングのような機能は提供されない&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということです。&lt;/p&gt;
&lt;h2 id=&quot;結局どうするのがオススメか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E5%B1%80%E3%81%A9%E3%81%86%E3%81%99%E3%82%8B%E3%81%AE%E3%81%8C%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1%E3%81%8B&quot; aria-label=&quot;結局どうするのがオススメか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結局どうするのがオススメか&lt;/h2&gt;
&lt;p&gt;最後に、では結局どうするのがオススメかをまとめようと思います。&lt;/p&gt;
&lt;h3 id=&quot;そもそもデーモン化を気にする必要があるか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%82%92%E6%B0%97%E3%81%AB%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%8B&quot; aria-label=&quot;そもそもデーモン化を気にする必要があるか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;そもそもデーモン化を気にする必要があるか&lt;/h3&gt;
&lt;p&gt;そもそも論として、最近のクラウド環境を踏まえると、サーバに直接 Puma をデプロイすることはオススメしません。&lt;/p&gt;
&lt;p&gt;Heroku などの PaaS や、Fargate などのコンテナ環境を使うのが第一候補になります。&lt;/p&gt;
&lt;p&gt;これらのプラットフォームを使う場合は、デーモン化について気にする必要はありません。&lt;/p&gt;
&lt;h3 id=&quot;サーバにデプロイする場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88&quot; aria-label=&quot;サーバにデプロイする場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サーバにデプロイする場合&lt;/h3&gt;
&lt;p&gt;デーモン化を気にする必要があるのは、PaaS やコンテナを使わず、サーバに直接デプロイする場合です。&lt;/p&gt;
&lt;p&gt;その場合、この記事の内容を踏まえると、&lt;strong&gt;systemd などを使ってデーモン化する方が望ましい&lt;/strong&gt;と言えます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;puma-daemon によるデーモン化は、あくまで簡易的な代替手段&lt;/strong&gt;と考えるのが良さそうです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 7 月】PC 自作に関する本まとめ]]></title><description><![CDATA[私は普段 MacBook を使っているのですが、最近 PC を自作したくなり、思い立って色々調べました。
Amazon で調べて PC 自作に関する本もいくつか目を通したので、「完全初心者向け」、「少し前提知識のある方向け」に分けて、それぞれ 2 冊紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/homebuilt-computer-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/homebuilt-computer-books</guid><pubDate>Sat, 03 Jul 2021 06:30:12 GMT</pubDate><content:encoded>&lt;p&gt;私は普段 MacBook を使っているのですが、最近 PC を自作したくなり、思い立って色々調べました。&lt;/p&gt;
&lt;p&gt;Amazon で調べて PC 自作に関する本もいくつか目を通したので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;完全初心者向け&lt;/li&gt;
&lt;li&gt;少し前提知識のある方向け&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;に分けて、それぞれ 2 冊紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;完全初心者向け&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%8C%E5%85%A8%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91&quot; aria-label=&quot;完全初心者向け permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;完全初心者向け&lt;/h2&gt;
&lt;h3 id=&quot;パソコン自作の教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E8%87%AA%E4%BD%9C%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;パソコン自作の教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3hxj2eN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パソコン自作の教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07SNQ6XQ8/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=5c0bb43c6d5eed265d2fc9f65c8928c9&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07SNQ6XQ8&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07SNQ6XQ8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、PC 自作の教科書的な本です。&lt;/p&gt;
&lt;p&gt;初心者が PC を自作するのに必要な知識が一通り書かれています。&lt;/p&gt;
&lt;p&gt;CPU などのパーツの比較もとても分かりやすくまとまっています。&lt;/p&gt;
&lt;p&gt;前提知識がほとんどない状態から 1 冊だけ手に取るのであれば、この本がオススメです。&lt;/p&gt;
&lt;h3 id=&quot;１００％ムックシリーズ-自作pcバイブル2020-2021&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%91%EF%BC%90%EF%BC%90%EF%BC%85%E3%83%A0%E3%83%83%E3%82%AF%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%87%AA%E4%BD%9Cpc%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB2020-2021&quot; aria-label=&quot;１００％ムックシリーズ 自作pcバイブル2020 2021 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2V4Vre4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;１００％ムックシリーズ　自作PCバイブル2020-2021&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08BLQ4SCB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cc038117d7cdaa39bcd8b1f0bc1e1215&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BLQ4SCB&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08BLQ4SCB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも初心者向けの PC 自作に関する本です。&lt;/p&gt;
&lt;p&gt;組み立ての例がいくつも紹介されており、組み立ての様子を色々なパターンで見てみたい場合は良いかもしれません。&lt;/p&gt;
&lt;p&gt;グリスやエアダスターなど、メンテナンスに必要な道具も紹介されています。&lt;/p&gt;
&lt;h2 id=&quot;少し前提知識がある方向け&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%B0%91%E3%81%97%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98%E3%81%8C%E3%81%82%E3%82%8B%E6%96%B9%E5%90%91%E3%81%91&quot; aria-label=&quot;少し前提知識がある方向け permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;少し前提知識がある方向け&lt;/h2&gt;
&lt;h3 id=&quot;pc自作の鉄則！2021&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc%E8%87%AA%E4%BD%9C%E3%81%AE%E9%89%84%E5%89%87%EF%BC%812021&quot; aria-label=&quot;pc自作の鉄則！2021 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3jDzxst&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PC自作の鉄則！2021&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08S3YLVY1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=95bd88d60893d0d6e41427a73ee8872e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08S3YLVY1&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08S3YLVY1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『パソコン自作の教科書』と同じ、“日経 WinPC” の本です。&lt;/p&gt;
&lt;p&gt;ここまでの 2 冊に比べると、少し知識がある方向けです。&lt;/p&gt;
&lt;p&gt;UEFI の設定や PC 自作で登場する端子のまとめなど、なかなか知りにくいことも書かれています。&lt;/p&gt;
&lt;h3 id=&quot;pc自作・チューンナップ虎の巻-二〇二一【dosv-power-report-特別編集】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#pc%E8%87%AA%E4%BD%9C%E3%83%BB%E3%83%81%E3%83%A5%E3%83%BC%E3%83%B3%E3%83%8A%E3%83%83%E3%83%97%E8%99%8E%E3%81%AE%E5%B7%BB-%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%80%E3%80%90dosv-power-report-%E7%89%B9%E5%88%A5%E7%B7%A8%E9%9B%86%E3%80%91&quot; aria-label=&quot;pc自作・チューンナップ虎の巻 二〇二一【dosv power report 特別編集】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3hqO9ZA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;PC自作・チューンナップ虎の巻 二〇二一【DOS/V POWER REPORT 特別編集】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08PCJC9YG/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d577b854accd7119ad58f659041cc73b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08PCJC9YG&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08PCJC9YG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、ある程度知識がある方に向けた本です。&lt;/p&gt;
&lt;p&gt;ここまでに紹介した 3 冊は 100-200 ページほどですが、こちらは 500 ページ超のボリュームとなっています。&lt;/p&gt;
&lt;p&gt;様々なパーツが丁寧に紹介されており、カタログ的に楽しめます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、2021 年 7 月時点の、PC 自作に関する本をまとめました。&lt;/p&gt;
&lt;p&gt;PC 自作については Web 上で情報収集することもできますが、こういった本に目を通すことで基本的な考え方や最近の同行がかなり分かるので、1 冊買ってみるのも良いと思います。&lt;/p&gt;
&lt;p&gt;実際に PC を作る予定なので、その際は使ったパーツなどを別記事にまとめようと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【OS を学ぶために】CPU について学ぶためのオススメ書籍まとめ]]></title><description><![CDATA[コンピュータの仕組みを理解する上で、OS を学びたいと思う方は少なくないと思います。
実は、OS について学ぶ上では、それと密接に関わる CPU の知識が重要になります。
この記事では、OS を学ぶ前提として CPU について学ぶためのオススメ書籍をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/cpu-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/cpu-books</guid><pubDate>Fri, 02 Jul 2021 12:46:02 GMT</pubDate><content:encoded>&lt;p&gt;コンピュータの仕組みを理解する上で、OS を学びたいと思う方は少なくないと思います。&lt;/p&gt;
&lt;p&gt;実は、OS について学ぶ上では、それと密接に関わる CPU の知識が重要になります。&lt;/p&gt;
&lt;p&gt;この記事では、OS を学ぶ前提として CPU について学ぶためのオススメ書籍をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;cpuの創りかた&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu%E3%81%AE%E5%89%B5%E3%82%8A%E3%81%8B%E3%81%9F&quot; aria-label=&quot;cpuの創りかた permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w7mRNj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CPUの創りかた&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08639XM13/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c3c9a40ceeabb339841cda38ecaa1f7a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08639XM13&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08639XM13&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CPU の回路を創りながら学ぶ書籍です。&lt;/p&gt;
&lt;p&gt;論理回路やフリップフロップ回路、半加算器、全加算器など、基本情報や応用情報といった資格試験の対策で、使い道も分からず勉強した方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;この書籍では、そういった回路の組み合わせでどうやって CPU を創り上げるのかが 1 ステップずつ丁寧に解説されています。&lt;/p&gt;
&lt;p&gt;書籍の中で使われている部品は現状入手が難しいものもあり、実際に作るハードルは少し高いですが、読み物として読むだけでもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;はじめて読む808616ビット・コンピュータをやさしく語る&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E8%AA%AD%E3%82%80808616%E3%83%93%E3%83%83%E3%83%88%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E8%AA%9E%E3%82%8B&quot; aria-label=&quot;はじめて読む808616ビット・コンピュータをやさしく語る permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Udb3M5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめて読む8086―16ビット・コンピュータをやさしく語る&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4871482456/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f2453213c0ed52d060c1c21abae158c5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4871482456&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4871482456&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;16 ビット CPU である 8086 の解説書です。&lt;/p&gt;
&lt;p&gt;CPU やメモリといったコンピュータの構成の話から、レジスタ・スタック・セグメントなどの重要な要素、基本的なマシン語命令やアセンブリ言語などが解説されています。&lt;/p&gt;
&lt;p&gt;図解も多く、文章も読みやすいです。&lt;/p&gt;
&lt;p&gt;マシン語 (アセンブリ言語) の基本を学びたい際にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;32ビットコンピュータをやさしく語る-はじめて読む486&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#32%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E8%AA%9E%E3%82%8B-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E8%AA%AD%E3%82%80486&quot; aria-label=&quot;32ビットコンピュータをやさしく語る はじめて読む486 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2UmzaI7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=924776b4ab2f1e2d503b388abe298b62&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;32 ビット CPU である 486 の解説書です。&lt;/p&gt;
&lt;p&gt;ここまでに紹介した『CPUの創りかた』や『はじめて読む8086』とは異なり、OS で使われている CPU の実践的な機能について解説されています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プロテクトモード&lt;/li&gt;
&lt;li&gt;セグメント&lt;/li&gt;
&lt;li&gt;保護機能&lt;/li&gt;
&lt;li&gt;割り込み&lt;/li&gt;
&lt;li&gt;タスク機能&lt;/li&gt;
&lt;li&gt;ページング&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについて非常に分かりやすく解説されており、CPU だけでなく OS についての理解も深まります。&lt;/p&gt;
&lt;p&gt;個人的には、1 章目に書かれている&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CPU の持つ能力を引き出す役割を持つのが、オペレーティングシステムです&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;という言葉が印象的でした。&lt;/p&gt;
&lt;p&gt;書籍の最初にも書かれていますが、前提として、先に紹介した『はじめて読む8086』などでマシン語 (アセンブリ言語) の基礎などを学んでおく必要があります。&lt;/p&gt;
&lt;h2 id=&quot;その他、未読の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E6%9C%AA%E8%AA%AD%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;その他、未読の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、未読の書籍&lt;/h2&gt;
&lt;p&gt;その他、まだ読んでいませんが今後読んでみたいと思っている書籍 4 冊を挙げておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3xh47we&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;動かしてわかる CPUの作り方10講&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3Ahtfox&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;自作エミュレータで学ぶx86アーキテクチャ　コンピュータが動く仕組みを徹底理解！&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3he2mKk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロセッサを支える技術 ― 果てしなくスピードを追求する世界&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2TrCpOo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータアーキテクチャ技術入門 ――高速化の追求×消費電力の壁&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07WNLZJC4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=54a8c368691c55c4d01bbb52879aae48&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07WNLZJC4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07WNLZJC4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B0148FQNVC?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9aaba91c24d21a0b652f9d66f6c8c810&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0148FQNVC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0148FQNVC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JJJ22ML?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c110b184ca92a5e40439176db7144950&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JJJ22ML&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07JJJ22ML&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JKM6YYM?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b0f7dd4b7d851bf02be758fa04442f31&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JKM6YYM&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07JKM6YYM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、OS について学ぶ前提として CPU について学ぶための書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;OS について学ぶ際は、まずは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3fYuGjw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3cJbNPF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりがオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6055d15ac1f89301a9ef726996b995b3&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e84bfc0dcda837d04b025aa3510e1493&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;これらの書籍については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/linux-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にもまとめています。&lt;/p&gt;
&lt;p&gt;また、『&lt;a href=&quot;https://amzn.to/3w4UFLB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』にチャレンジしてみるのも良いと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5369143a5cbcb868605930c793b3e1a4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本の感想やオススメの事前準備については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4839975868&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[コルーチンとは？スレッドとの違いは？]]></title><description><![CDATA[コルーチンとスレッドの違いについて少し調べた内容を簡単にまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/coroutine-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/coroutine-concepts</guid><pubDate>Fri, 25 Jun 2021 12:31:05 GMT</pubDate><content:encoded>&lt;p&gt;コルーチンとスレッドの違いについて少し調べた内容を簡単にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;コルーチンとは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3%E3%81%A8%E3%81%AF&quot; aria-label=&quot;コルーチンとは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コルーチンとは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Wikipedia&lt;/a&gt; によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コルーチン（英: co-routine）とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことで、コルーチンは&lt;strong&gt;中断・再開を制御できるのが特徴&lt;/strong&gt;の、並行処理の一種のようです。&lt;/p&gt;
&lt;p&gt;最近よく使われている言語では、C# (特に Unity の例が多い)、Swift、Kotlin などがサポートしています。&lt;/p&gt;
&lt;h2 id=&quot;コルーチンとスレッドの関係&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3%E3%81%A8%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AE%E9%96%A2%E4%BF%82&quot; aria-label=&quot;コルーチンとスレッドの関係 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コルーチンとスレッドの関係&lt;/h2&gt;
&lt;p&gt;Kotlin のドキュメントの「&lt;a href=&quot;https://kotlinlang.org/docs/coroutines-basics.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Coroutines basics&lt;/a&gt;」というページからコルーチンの説明を引用します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A coroutine is an instance of suspendable computation. It is conceptually similar to a thread, in the sense that it takes a block of code to run that works concurrently with the rest of the code. However, a coroutine is not bound to any particular thread. It may suspend its execution in one thread and resume in another one.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;DeepL で翻訳すると…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コルーチンは、サスペンダブルコンピュテーションのインスタンスです。コルーチンは、他のコードと同時に動作するコードブロックを実行するという意味で、スレッドと概念的に似ています。しかし、コルーチンは特定のスレッドに縛られることはありません。あるスレッドで実行を中断し、別のスレッドで再開することができます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;コルーチン自体はスレッドとは異なる概念であり、いずれかのスレッドで実行されるものの、中断したタイミングからはそのスレッドで別の処理が実行されることになります。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kotlinlang.org/docs/async-programming.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Asynchronous programming techniques | Kotlin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rhoboro.com/2019/02/09/coroutine-abstract.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コルーチンは怖くない&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.it-swarm-ja.com/ja/architecture/%e3%80%8c%e3%82%b3%e3%83%ab%e3%83%bc%e3%83%81%e3%83%b3%e3%80%8d%e3%81%a8%e3%80%8c%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%80%8d%e3%81%ae%e9%81%95%e3%81%84%e3%81%af%ef%bc%9f/968681459/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;architecture — 「コルーチン」と「スレッド」の違いは？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;go-のゴルーチンは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#go-%E3%81%AE%E3%82%B4%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;go のゴルーチンは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Go のゴルーチンは？&lt;/h2&gt;
&lt;p&gt;Go のゴルーチンは、コルーチンを意識しているものの、プログラマが中断・再開を制御することはできないようです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://go-tour-jp.appspot.com/concurrency/1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;A Tour of Go&lt;/a&gt; で書かれているように、「軽量なスレッド」のように理解するのがよさそうです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.crohaco.net/2019/golang-goroutine/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[Golang] Goroutine を支える技術 - くろのて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://journal.lampetty.net/entry/concurrency-in-go-goroutines&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Goにおける並行処理 - goroutine編 - oinume journal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[コードの改善・アーキテクチャの改善に関する書籍まとめ]]></title><description><![CDATA[ソフトウェア開発は単純に継続していっても複雑さが増すばかりであり、コードやアーキテクチャを改善すべき場面は頻繁に訪れます。
この記事では、そんなコードの改善・アーキテクチャの改善について書かれた書籍をそれぞれ紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/refactoring-rearchitecting-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/refactoring-rearchitecting-books</guid><pubDate>Thu, 10 Jun 2021 13:51:40 GMT</pubDate><content:encoded>&lt;p&gt;ソフトウェア開発は単純に継続していっても複雑さが増すばかりであり、コードやアーキテクチャを改善すべき場面は頻繁に訪れます。&lt;/p&gt;
&lt;p&gt;この記事では、そんなコードの改善・アーキテクチャの改善について書かれた書籍をそれぞれ紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;コードの改善に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%94%B9%E5%96%84%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;コードの改善に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コードの改善に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;リファクタリング-既存のコードを安全に改善する（第2版）&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0-%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%94%B9%E5%96%84%E3%81%99%E3%82%8B%EF%BC%88%E7%AC%AC2%E7%89%88%EF%BC%89&quot; aria-label=&quot;リファクタリング 既存のコードを安全に改善する（第2版） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cyxmlD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング 既存のコードを安全に改善する（第2版）&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827R4BDW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=5a9b6f54e6ce8634faa91d7ee0653266&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827R4BDW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0827R4BDW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;既存のコードを振る舞いを保ったまま改善する「リファクタリング」の解説書です。&lt;/p&gt;
&lt;p&gt;オブジェクト指向のプラクティスを生かしつつ、コードを改善する方法などが解説されています。&lt;/p&gt;
&lt;p&gt;サンプルコードは JavaScript ですが、紹介されている手法は言語によらず利用可能なものが多いです。&lt;/p&gt;
&lt;p&gt;様々なプラクティスがカタログ的にまとまっており、実践でも役立てやすい、オススメの書籍です。&lt;/p&gt;
&lt;h3 id=&quot;レガシーコード改善ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E6%94%B9%E5%96%84%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;レガシーコード改善ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cwJ8ND&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;レガシーコード改善ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01AN97W08/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=253cdf6b6fca31a30d40c9df9028ad56&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01AN97W08&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01AN97W08&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもレガシーなコードのリファクタリングに関する書籍です。&lt;/p&gt;
&lt;p&gt;「リファクタリングするには自動テストがなくてはならない」ということを踏まえ、テストのないコードに対してテストを追加しながらリファクタリングする方法などを解説しています。&lt;/p&gt;
&lt;p&gt;レガシーコードとは何かという議論を呼びやすいテーマについて、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;私にとって、レガシーコードとは、単にテストのないコードです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;という 1 つの答えを示しているのも特徴です。&lt;/p&gt;
&lt;h2 id=&quot;アーキテクチャの改善に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%AE%E6%94%B9%E5%96%84%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;アーキテクチャの改善に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アーキテクチャの改善に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;レガシーソフトウェア改善ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%94%B9%E5%96%84%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;レガシーソフトウェア改善ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ivPrVj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;レガシーソフトウェア改善ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01MSLAFPT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a2eaeebc8c239b2624c10ad922f0d251&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01MSLAFPT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01MSLAFPT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここまでに紹介した書籍よりも、もう少し広い範囲での改善に関する書籍です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アプリケーションのモジュール化やマイクロサービス化&lt;/li&gt;
&lt;li&gt;開発環境やビルド、デプロイの改善&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについて書かれています。&lt;/p&gt;
&lt;p&gt;具体的なツールやコードを挙げながら解説されているので、状況を想像しやすいです。&lt;/p&gt;
&lt;h3 id=&quot;進化的アーキテクチャ-絶え間ない変化を支える&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%B2%E5%8C%96%E7%9A%84%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%B5%B6%E3%81%88%E9%96%93%E3%81%AA%E3%81%84%E5%A4%89%E5%8C%96%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B&quot; aria-label=&quot;進化的アーキテクチャ 絶え間ない変化を支える permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zgZWlu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;進化的アーキテクチャ ―絶え間ない変化を支える&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118565/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=5ce592a8daef7f485cf3fdb2e4e9dd5a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118565&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118565&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アーキテクチャの改善について解説した書籍です。&lt;/p&gt;
&lt;p&gt;アーキテクチャの変更による非機能要件への適応を算出する「適応度関数」という概念など、他には見られない手法も紹介されており、なかなか面白いです。&lt;/p&gt;
&lt;p&gt;ケーススタディも豊富で、様々な場面について考え方を学ぶことができます。&lt;/p&gt;
&lt;h3 id=&quot;モノリスからマイクロサービスへ-モノリスを進化させる実践移行ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B9%E3%81%8B%E3%82%89%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%B8-%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B9%E3%82%92%E9%80%B2%E5%8C%96%E3%81%95%E3%81%9B%E3%82%8B%E5%AE%9F%E8%B7%B5%E7%A7%BB%E8%A1%8C%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;モノリスからマイクロサービスへ モノリスを進化させる実践移行ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iwBNRK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119316/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=602c1e6ef189179dcae14c8f2fad2056&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119316&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119316&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3x9Do46&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスアーキテクチャ&lt;/a&gt;』の著者による、モノリスからマイクロサービスへの移行に関する書籍です。&lt;/p&gt;
&lt;p&gt;マイクロサービスへの移行の際に使える様々なパターンがまとめられています。&lt;/p&gt;
&lt;p&gt;序盤ではそもそもマイクロサービスにするべきなのか、といったことも語られており、本当にマイクロサービスを採用するべきかを検討する際にも非常に参考になります。&lt;/p&gt;
&lt;p&gt;マイクロサービスには特有の検討事項も多いので、実際にマイクロサービス化する際は『&lt;a href=&quot;https://amzn.to/3isBasx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスパターン［実践的システムデザインのためのコード解説］&lt;/a&gt;』なども読むのがオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、コードの改善やアーキテクチャの改善に関する書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;コードの改善についてはオブジェクト指向に関する書籍も参考になります。&lt;/p&gt;
&lt;p&gt;オブジェクト指向に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/oop-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; にまとめているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「プロダクションレディとは何か」を学ぶためのオススメ書籍]]></title><description><![CDATA[最近はプログラミング学習のハードルがとても下がり、ちょっとしたアプリケーションの実装方法を学ぶことは簡単になってきました。
しかし、練習用のアプリケーションと「プロダクションレディ」なシステムには、実は大きな壁があります。
この記事では、「プロダクションレディとは何か」を学び、本番運用できるシステムを開発するために必要な知識を得るための書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/books-about-what-is-production-ready</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/books-about-what-is-production-ready</guid><pubDate>Thu, 10 Jun 2021 12:11:21 GMT</pubDate><content:encoded>&lt;p&gt;最近はプログラミング学習のハードルがとても下がり、ちょっとしたアプリケーションの実装方法を学ぶことは簡単になってきました。&lt;/p&gt;
&lt;p&gt;しかし、練習用のアプリケーションと「プロダクションレディ」なシステムには、実は大きな壁があります。&lt;/p&gt;
&lt;p&gt;この記事では、「プロダクションレディとは何か」を学び、本番運用できるシステムを開発するために必要な知識を得るための書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;release-it！-本番用ソフトウェア製品の設計とデプロイのために&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#release-it%EF%BC%81-%E6%9C%AC%E7%95%AA%E7%94%A8%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%A3%BD%E5%93%81%E3%81%AE%E8%A8%AD%E8%A8%88%E3%81%A8%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB&quot; aria-label=&quot;release it！ 本番用ソフトウェア製品の設計とデプロイのために permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wbOyW1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Release It！ 本番用ソフトウェア製品の設計とデプロイのために&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BKSRCDJ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cdfdd5c633ca49f9d344dae64d12d296&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07BKSRCDJ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07BKSRCDJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、まさに「本番用ソフトウェア」について解説した書籍です。&lt;/p&gt;
&lt;p&gt;プロダクションレディなソフトウェアを開発し、運用していくために必要な知識が豊富に書かれています。&lt;/p&gt;
&lt;p&gt;「全然聞いたことがなかった」となるような観点もたくさん紹介されており、非常に勉強になります。&lt;/p&gt;
&lt;p&gt;以下のように、マイクロサービスの本番運用の文脈で Java チャンピオンの寺田氏もオススメしている 1 冊です。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;つまり重要になるのは分散コンピューティングを意識したシステム開発である。それを学ぶためにおすすめの書籍が『Release It! 本番用ソフトウェア製品の設計とデプロイのために』。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;引用元&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://codezine.jp/article/detail/11155&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Kubernetesは銀の弾丸ではない――エンジニアが生き残るために必要な技術とは【デブサミ2018 関西】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;sre-サイトリライアビリティエンジニアリング-googleの信頼性を支えるエンジニアリングチーム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sre-%E3%82%B5%E3%82%A4%E3%83%88%E3%83%AA%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0-google%E3%81%AE%E4%BF%A1%E9%A0%BC%E6%80%A7%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%81%E3%83%BC%E3%83%A0&quot; aria-label=&quot;sre サイトリライアビリティエンジニアリング googleの信頼性を支えるエンジニアリングチーム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zk2tuX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117917/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=9b3e19e0149d397cf2ba6d3f2b82814d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117917&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873117917&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Google のシステム管理とサービス運用の方法論である SRE (Site Reliability Engineering) の解説書です。&lt;/p&gt;
&lt;p&gt;エラーバジェットを用いたサービスレベルの管理やトイルの撲滅など、本質的に信頼性の高いシステムを構築・運用するためのプラクティスがまとめられています。&lt;/p&gt;
&lt;p&gt;600 ページほどある分厚い本ですが、非常に勉強になります。&lt;/p&gt;
&lt;p&gt;いわゆる “モダンなインフラエンジニア” を目指す方には是非読んでほしい 1 冊です。&lt;/p&gt;
&lt;p&gt;関連書籍として、『&lt;a href=&quot;https://amzn.to/3zdzhpw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サイトリライアビリティワークブック ―SREの実践方法&lt;/a&gt;』などもあります。&lt;/p&gt;
&lt;h2 id=&quot;プロダクションレディマイクロサービス-運用に強い本番対応システムの実装と標準化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%83%80%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%AC%E3%83%87%E3%82%A3%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9-%E9%81%8B%E7%94%A8%E3%81%AB%E5%BC%B7%E3%81%84%E6%9C%AC%E7%95%AA%E5%AF%BE%E5%BF%9C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%A8%E6%A8%99%E6%BA%96%E5%8C%96&quot; aria-label=&quot;プロダクションレディマイクロサービス 運用に強い本番対応システムの実装と標準化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cvuKFl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118158/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e7581aaa25a44e913959a5d3ee6f25ff&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118158&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118158&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Uber の SRE の方が、Uber でのマイクロサービスの取り組みの知見をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;タイトルには「マイクロサービス」とありますが、マイクロサービスでなくても役立つ知識がたくさん書かれています。&lt;/p&gt;
&lt;p&gt;本番対応の観点として、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安定性&lt;/li&gt;
&lt;li&gt;信頼性&lt;/li&gt;
&lt;li&gt;スケーラビリティ&lt;/li&gt;
&lt;li&gt;耐障害性と大惨事対応&lt;/li&gt;
&lt;li&gt;パフォーマンス&lt;/li&gt;
&lt;li&gt;監視&lt;/li&gt;
&lt;li&gt;ドキュメント&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と整理して、それぞれ丁寧に解説されています。&lt;/p&gt;
&lt;p&gt;先に紹介した『Release It！』や『SRE サイトリライアビリティエンジニアリング』よりも読みやすいので、まずはこの本から読んでみるのもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;運用設計の教科書-～現場で困らないitサービスマネジメントの実践ノウハウ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%8B%E7%94%A8%E8%A8%AD%E8%A8%88%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%EF%BD%9E%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%9B%B0%E3%82%89%E3%81%AA%E3%81%84it%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%83%8E%E3%82%A6%E3%83%8F%E3%82%A6&quot; aria-label=&quot;運用設計の教科書 ～現場で困らないitサービスマネジメントの実践ノウハウ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zeCaq1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;運用設計の教科書 ～現場で困らないITサービスマネジメントの実践ノウハウ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07WQ32NLC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=22a3944f2f6bac336d3ed77f7b6f07fd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07WQ32NLC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07WQ32NLC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここまでの本とは少し変わり、いわゆるトラディショナルな「運用設計」の教科書です。&lt;/p&gt;
&lt;p&gt;いわゆる “モダンな運用” のような内容ではないですが、運用で考慮すべき基本事項が教科書としてしっかりまとまっています。&lt;/p&gt;
&lt;p&gt;本番運用をむかえる上で、どんな準備が必要かを考える際の参考として結構オススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、「プロダクションレディとは何か」について学べるオススメ書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;システムを本番運用する上では、監視 (モニタリング) やロギングの基礎知識も必須です。&lt;/p&gt;
&lt;p&gt;監視やログ分析に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/monitoring-logging-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[監視とログ分析に関する書籍まとめ]]></title><description><![CDATA[ここ数年「Observability」という概念が非常に注目されており、空前絶後の監視ブームなどと言われることもあります。
システムの監視 (モニタリング) や、それと同時に語られることの多いロギングについては、本番システムを運用するなら欠かせない分野の 1 つです。
この記事には、そんな監視とログ分析について学ぶための書籍をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/monitoring-logging-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/monitoring-logging-books</guid><pubDate>Thu, 10 Jun 2021 11:15:05 GMT</pubDate><content:encoded>&lt;p&gt;ここ数年「Observability」という概念が非常に注目されており、空前絶後の監視ブームなどと言われることもあります。&lt;/p&gt;
&lt;p&gt;システムの監視 (モニタリング) や、それと同時に語られることの多いロギングについては、本番システムを運用するなら欠かせない分野の 1 つです。&lt;/p&gt;
&lt;p&gt;この記事には、そんな監視とログ分析について学ぶための書籍をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;監視に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9B%A3%E8%A6%96%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;監視に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;監視に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;入門-監視-モダンなモニタリングのためのデザインパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-%E7%9B%A3%E8%A6%96-%E3%83%A2%E3%83%80%E3%83%B3%E3%81%AA%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;入門 監視 モダンなモニタリングのためのデザインパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/359tfIC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 監視 ―モダンなモニタリングのためのデザインパターン&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118646/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c757c09836a4449efc9d219fc96d4bac&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118646&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118646&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2019 年に発売された、監視に関するオライリーの書籍です。&lt;/p&gt;
&lt;p&gt;なぜ監視をするのか、監視はどうあるべきなのかといった基本が、理由とともに明確に開設されています。&lt;/p&gt;
&lt;p&gt;監視の考え方から具体的なメトリクスまで、この 1 冊で一通り学ぶことができます。&lt;/p&gt;
&lt;p&gt;監視について学びたい際は絶対にオススメの書籍です。&lt;/p&gt;
&lt;h3 id=&quot;webエンジニアのための監視システム実装ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E7%9B%A3%E8%A6%96%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%AE%9F%E8%A3%85%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;webエンジニアのための監視システム実装ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3va4UwU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webエンジニアのための監視システム実装ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B086BGKRCL/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0a74bbe2c5e7fc855937d0338030916d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B086BGKRCL&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B086BGKRCL&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;監視システムの導入について、より具体的に解説した書籍です。&lt;/p&gt;
&lt;p&gt;監視のツールや構成例などが書かれています。&lt;/p&gt;
&lt;p&gt;先に紹介した『入門 監視』で監視の概要を学んだ後、より具体的な導入方法を書籍で学びたい際に手に取るといいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;入門-prometheus-インフラとアプリケーションのパフォーマンスモニタリング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A5%E9%96%80-prometheus-%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0&quot; aria-label=&quot;入門 prometheus インフラとアプリケーションのパフォーマンスモニタリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3Bszw0o&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873118778/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=290773ea3880517dbb6a18655fb6b95b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873118778&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873118778&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;OSS のモニタリングシステム「Prometheus」の解説書です。&lt;/p&gt;
&lt;p&gt;Prometheus の使い方や Grafana によるダッシュボード作成といった Prometheus の解説に加え、監視やアラートの考え方も解説されており、非常に勉強になる一冊です。&lt;/p&gt;
&lt;p&gt;2021 年現在、OSS の監視ツールとしては Prometheus が最も注目されており、何か一つ OSS の監視ツールを学びたいという方にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;ログ分析に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AD%E3%82%B0%E5%88%86%E6%9E%90%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ログ分析に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ログ分析に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;セキュリティのためのログ分析入門-サイバー攻撃の痕跡を見つける技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%AD%E3%82%B0%E5%88%86%E6%9E%90%E5%85%A5%E9%96%80-%E3%82%B5%E3%82%A4%E3%83%90%E3%83%BC%E6%94%BB%E6%92%83%E3%81%AE%E7%97%95%E8%B7%A1%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E6%8A%80%E8%A1%93&quot; aria-label=&quot;セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zfEOvQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07H28VQJ3/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7ccf6ef3bbca8a4882fc935d539e71c3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07H28VQJ3&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07H28VQJ3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;セキュリティの観点からログ分析についてまとめた書籍です。&lt;/p&gt;
&lt;p&gt;各種ツールを使ったログ分析の具体的な方法や、それによってどのように攻撃を検知するかなどが解説されています。&lt;/p&gt;
&lt;p&gt;タイトルは「セキュリティのための」となっていますが、セキュリティ以外の観点でも使える内容が豊富であり、ログ分析の入門として結構オススメです。&lt;/p&gt;
&lt;h3 id=&quot;データ分析基盤構築入門fluentd、elasticsearch、kibanaによるログ収集と可視化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E5%9F%BA%E7%9B%A4%E6%A7%8B%E7%AF%89%E5%85%A5%E9%96%80fluentd%E3%80%81elasticsearch%E3%80%81kibana%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AD%E3%82%B0%E5%8F%8E%E9%9B%86%E3%81%A8%E5%8F%AF%E8%A6%96%E5%8C%96&quot; aria-label=&quot;データ分析基盤構築入門fluentd、elasticsearch、kibanaによるログ収集と可視化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TlcKa0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/477419218X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ddd555781542afffabddeb7de72b9693&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=477419218X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=477419218X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Elasticsearch、Fluentd、Kibana という、いわゆる EFK スタックを使ったログ分析基盤の入門書です。&lt;/p&gt;
&lt;p&gt;タイトルには「データ分析基盤」とありますが、内容は「ログ分析基盤」に関するものとなっています。&lt;/p&gt;
&lt;p&gt;EFK スタックの使い方がまとめられている書籍なので、EFK スタックの使い方を具体的に学びたい際に参考になります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、監視とログ分析に関する書籍をまとめました。&lt;/p&gt;
&lt;p&gt;特に『入門 監視』は IT エンジニア必読と言えるようなクオリティの書籍で、非常にオススメです。&lt;/p&gt;
&lt;p&gt;監視やロギングについては、IT インフラの教科書的な書籍で学ぶこともできます。&lt;/p&gt;
&lt;p&gt;IT インフラの教科書的な書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-infrastructure-textbooks&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[プロジェクト管理を学べる「トム・デマルコ」シリーズ本まとめ]]></title><description><![CDATA[『ピープルウエア』、『デッドライン』など、開発プロジェクトはどうすれば成功するのかを書いたトム・デマルコの書籍は、IT エンジニアが読むべき本としてよくオススメされます。
このシリーズは、どれも非常にユーモラスで読みやすいながら、プロジェクトがどうあるべきかをしっかりと伝えてくれる素晴らしい本ばかりです。
この記事には、そんなトム・デマルコの書籍 5 冊をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/tom-demarco-project-management-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/tom-demarco-project-management-books</guid><pubDate>Thu, 10 Jun 2021 08:59:08 GMT</pubDate><content:encoded>&lt;p&gt;『ピープルウエア』、『デッドライン』など、開発プロジェクトはどうすれば成功するのかを書いたトム・デマルコの書籍は、IT エンジニアが読むべき本としてよくオススメされます。&lt;/p&gt;
&lt;p&gt;このシリーズは、どれも非常にユーモラスで読みやすいながら、プロジェクトがどうあるべきかをしっかりと伝えてくれる素晴らしい本ばかりです。&lt;/p&gt;
&lt;p&gt;この記事には、そんなトム・デマルコの書籍 5 冊をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;ピープルウエア-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%94%E3%83%BC%E3%83%97%E3%83%AB%E3%82%A6%E3%82%A8%E3%82%A2-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;ピープルウエア 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g95tTt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ピープルウエア　第3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00I96CJWO/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=fe43217fc6f3886692c891504c06515b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00I96CJWO&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00I96CJWO&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトルから想起される通り、開発プロジェクトにおける「人」の大切さを書いた本です。&lt;/p&gt;
&lt;p&gt;アジャイル開発の文脈などでもよく言われることですが、開発プロジェクトの成否は、ちょっとした技術的な強さよりも、人間関係やコミュニケーション、体制といったものにかかっていると思います。&lt;/p&gt;
&lt;p&gt;この記事で紹介する 5 冊はどれも名著ですが、この 1 冊はその中でも特に読んでもらいたい 1 冊です。&lt;/p&gt;
&lt;h2 id=&quot;デッドライン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%83%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3&quot; aria-label=&quot;デッドライン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zegE4T&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;デッドライン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00EQ25BBQ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=16fa8dd11c256f95c9bb25e1c863e8a7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00EQ25BBQ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00EQ25BBQ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;開発プロジェクトの 101 の法則をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;各法則が物語の中で紹介されており、ストーリーを読み進めながらプロジェクト管理の教訓を学べます。&lt;/p&gt;
&lt;p&gt;プロジェクト管理の考え方について、この 1 冊でたくさんのヒントを得ることができます。&lt;/p&gt;
&lt;h2 id=&quot;ゆとりの法則-－-誰も書かなかったプロジェクト管理の誤解&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%86%E3%81%A8%E3%82%8A%E3%81%AE%E6%B3%95%E5%89%87-%EF%BC%8D-%E8%AA%B0%E3%82%82%E6%9B%B8%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%AE%A1%E7%90%86%E3%81%AE%E8%AA%A4%E8%A7%A3&quot; aria-label=&quot;ゆとりの法則 － 誰も書かなかったプロジェクト管理の誤解 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g9M7h3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゆとりの法則 － 誰も書かなかったプロジェクト管理の誤解&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822281116/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bc3f6812d565d8ac90dc0b4167238f9f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822281116&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4822281116&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プロジェクトにおける「ゆとり」の重要性を説いた書籍です。&lt;/p&gt;
&lt;p&gt;実際の開発プロジェクトでは、進捗を急ぐあまりにスケジュールは限界以上に詰め込まれ、ゆとりなど一切見えないことも少なくありません。&lt;/p&gt;
&lt;p&gt;この本では、ゆとりがあるからこそプロジェクトが早く進むということを解説しています。&lt;/p&gt;
&lt;h2 id=&quot;熊とワルツを-リスクを愉しむプロジェクト管理&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%86%8A%E3%81%A8%E3%83%AF%E3%83%AB%E3%83%84%E3%82%92-%E3%83%AA%E3%82%B9%E3%82%AF%E3%82%92%E6%84%89%E3%81%97%E3%82%80%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%AE%A1%E7%90%86&quot; aria-label=&quot;熊とワルツを リスクを愉しむプロジェクト管理 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pHrCLY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;熊とワルツを　リスクを愉しむプロジェクト管理&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00F4QOMWM/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cbf87289963c82c50c9e13f2becd3696&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00F4QOMWM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00F4QOMWM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;リスク管理に関する非常に有名な書籍です。&lt;/p&gt;
&lt;p&gt;リスク管理とはどんなもので、なぜすべきか、なぜすべきでないか、どのようにすべきか、がまとめられています。&lt;/p&gt;
&lt;p&gt;プロジェクト管理の中でリスク管理という要素があると言われてもなかなかイメージをつけにくいですが、この 1 冊を読めばリスク管理について具体的に知ることができます。&lt;/p&gt;
&lt;h2 id=&quot;アドレナリンジャンキー-プロジェクトの現在と未来を映す86パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%89%E3%83%AC%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%B8%E3%83%A3%E3%83%B3%E3%82%AD%E3%83%BC-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E7%8F%BE%E5%9C%A8%E3%81%A8%E6%9C%AA%E6%9D%A5%E3%82%92%E6%98%A0%E3%81%9986%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3v88yYb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00FS2X0P2/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=197af5d2097fe74a53fe06f58e6322b5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00FS2X0P2&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00FS2X0P2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プロジェクトに見られる 86 の成功・失敗パターンを書いた本です。&lt;/p&gt;
&lt;p&gt;各パターンは「アドレナリンジャンキー」、「機能のスープ」、「テンプレートゾンビ」と言った面白い名前でまとめられています。&lt;/p&gt;
&lt;p&gt;これらはただ面白い名前というわけではなく、実際にプロジェクトで見かけた覚えがあるものになっており、プロジェクトの成功・失敗を表現する兆候として的を射たものばかりです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、『ピープルウエア』をはじめとするトム・デマルコのシリーズ本をまとめました。&lt;/p&gt;
&lt;p&gt;どれも非常に読みやすいながら、ためになるものばかりです。&lt;/p&gt;
&lt;p&gt;隙間時間に是非手に取ってみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[IT エンジニアが法務面を学ぶための分かりやすい書籍]]></title><description><![CDATA[IT エンジニアとして働く上でおさえておくべき知識は技術的なものに限らず、関係する法律なども知っておくと役立ちます。
この記事では、IT エンジニアが関わりやすい法律について解説した、分かりやすいオススメ書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/legal-books-for-it-engineers</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/legal-books-for-it-engineers</guid><pubDate>Thu, 10 Jun 2021 05:30:41 GMT</pubDate><content:encoded>&lt;p&gt;IT エンジニアとして働く上でおさえておくべき知識は技術的なものに限らず、関係する法律なども知っておくと役立ちます。&lt;/p&gt;
&lt;p&gt;この記事では、IT エンジニアが関わりやすい法律について解説した、分かりやすいオススメ書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;itエンジニアのやさしい法律q＆a--著作権・開発契約・労働関係・契約書で揉めないための勘どころ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E6%B3%95%E5%BE%8Bq%EF%BC%86a--%E8%91%97%E4%BD%9C%E6%A8%A9%E3%83%BB%E9%96%8B%E7%99%BA%E5%A5%91%E7%B4%84%E3%83%BB%E5%8A%B4%E5%83%8D%E9%96%A2%E4%BF%82%E3%83%BB%E5%A5%91%E7%B4%84%E6%9B%B8%E3%81%A7%E6%8F%89%E3%82%81%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AE%E5%8B%98%E3%81%A9%E3%81%93%E3%82%8D&quot; aria-label=&quot;itエンジニアのやさしい法律q＆a  著作権・開発契約・労働関係・契約書で揉めないための勘どころ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2RKQ8iI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITエンジニアのやさしい法律Q＆A 　著作権・開発契約・労働関係・契約書で揉めないための勘どころ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MF65T88/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d23da2b122c0a77a6b054bf3d877e85f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MF65T88&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08MF65T88&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;IT エンジニアとして活動後に弁護士になった方が書かれた、IT エンジニアに関係する法律の基本をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;タイトルの通り、著作権・開発契約・労働関係・契約書について書かれています。&lt;/p&gt;
&lt;p&gt;全体として非常に噛み砕いた言葉で書かれているので、法律の専門家でなくても読みやすいです。&lt;/p&gt;
&lt;p&gt;詳しい感想は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4297116820&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にもまとめているので、是非ご覧ください。&lt;/p&gt;
&lt;h2 id=&quot;【改訂新版】良いウェブサービスを支える-「利用規約」の作り方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88%E3%80%91%E8%89%AF%E3%81%84%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B-%E3%80%8C%E5%88%A9%E7%94%A8%E8%A6%8F%E7%B4%84%E3%80%8D%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9&quot; aria-label=&quot;【改訂新版】良いウェブサービスを支える 「利用規約」の作り方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gbuWvI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【改訂新版】良いウェブサービスを支える 「利用規約」の作り方&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07Q721691/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c60a0cad69b0d93eb7ee9ca42da868b4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07Q721691&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07Q721691&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;多くのサービスを提供する上で必要な 3 つの法務ドキュメント、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;利用規約&lt;/li&gt;
&lt;li&gt;プライバシーポリシー&lt;/li&gt;
&lt;li&gt;特定商取引法に基づく表記&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;について、基本から解説した書籍です。&lt;/p&gt;
&lt;p&gt;書籍の中でも書かれていますが、こういった資料の作成は時間や費用の都合で法務の専門家に依頼できないケースもあります。&lt;/p&gt;
&lt;p&gt;自分がちょっとしたサービスを作りたくなったときにも有効活用できる本であり、是非手元に置いておきたい 1 冊です。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;IT エンジニアが関わる法務面の基本を学ぶ上では、以上の 2 冊をまず手に取ってみるのがオススメです。&lt;/p&gt;
&lt;p&gt;他にも個人情報などのデータ保護に関して、個人情報保護法や GDPR などの知識があると役立つことも少なくありません。&lt;/p&gt;
&lt;p&gt;私は未読ですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3cyCaro&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門ビジネス 最新 個人情報保護法の基本と実務対策がよ～くわかる本&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3zfe8uZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門ビジネス 最新GDPRの仕組みと対策がよ～くわかる本&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで学ぶとよさそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08WH687FV/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fc0159392fc24a384f8d601f9a35c833&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08WH687FV&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08WH687FV&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07QVJ1V88/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c5719ce08e9241f2cd08695e2ad08f7e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07QVJ1V88&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07QVJ1V88&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[システム開発の「見積もり」を学ぶためのオススメ書籍 2 冊]]></title><description><![CDATA[システム開発はなかなか思う通りに進まないことばかりで、「見積もり」ミスで大問題に発展することも少なくありません。
この記事では、そんなシステム開発の「見積もり」を学ぶためのオススメ書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/software-development-estimation-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/software-development-estimation-books</guid><pubDate>Thu, 10 Jun 2021 04:42:04 GMT</pubDate><content:encoded>&lt;p&gt;システム開発はなかなか思う通りに進まないことばかりで、「見積もり」ミスで大問題に発展することも少なくありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんなシステム開発の「見積もり」を学ぶためのオススメ書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;システム開発のための見積りのすべてがわかる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E8%A6%8B%E7%A9%8D%E3%82%8A%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;システム開発のための見積りのすべてがわかる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g4b9y1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システム開発のための見積りのすべてがわかる本&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07FTNSDZ9/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=56d59168d6510dcc0a60bd937507f2f2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07FTNSDZ9&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07FTNSDZ9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;システム開発の見積もりの基本を学べる書籍です。&lt;/p&gt;
&lt;p&gt;システム開発のスケジュールやお金の見積もりの基本的な概念や手法がまとめられており、この 1 冊で見積もりの基本をしっかり学ぶことができます。&lt;/p&gt;
&lt;p&gt;受託開発における見積もりの基本を学ぶ際の 1 冊目として非常にオススメです。&lt;/p&gt;
&lt;p&gt;ただ、アジャイル開発の見積もりについては簡単にしか書かれていないので、アジャイル開発の見積もりを学びたい場合は次に紹介する書籍がオススメです。&lt;/p&gt;
&lt;h2 id=&quot;アジャイルな見積りと計画づくり-～価値あるソフトウェアを育てる概念と技法～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%81%AA%E8%A6%8B%E7%A9%8D%E3%82%8A%E3%81%A8%E8%A8%88%E7%94%BB%E3%81%A5%E3%81%8F%E3%82%8A-%EF%BD%9E%E4%BE%A1%E5%80%A4%E3%81%82%E3%82%8B%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E8%82%B2%E3%81%A6%E3%82%8B%E6%A6%82%E5%BF%B5%E3%81%A8%E6%8A%80%E6%B3%95%EF%BD%9E&quot; aria-label=&quot;アジャイルな見積りと計画づくり ～価値あるソフトウェアを育てる概念と技法～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ghJUPs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルな見積りと計画づくり ～価値あるソフトウェアを育てる概念と技法～&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00IR1HYGW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b137a8716004b51e882c809014316e2e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00IR1HYGW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00IR1HYGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイルな見積もりについてまとめた非常に有名な書籍です。&lt;/p&gt;
&lt;p&gt;ストーリーポイントを使った見積もりの基本から、実際の開発で考えたくなるポイントや、誤解されやすい見積もりの考え方などが非常に手厚くまとめられており、見積もりを学ぶ上で是非読んでおきたい 1 冊です。&lt;/p&gt;
&lt;p&gt;アジャイル開発の基本については、見積もりも含め『&lt;a href=&quot;https://amzn.to/3ivpgyb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルサムライ――達人開発者への道&lt;/a&gt;』などでも学ぶことができます。&lt;/p&gt;
&lt;p&gt;アジャイル開発全般を学びたい際は『アジャイルサムライ』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00J1XKB6K/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=334f861863fc9c70e4a770443bfb71bc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00J1XKB6K&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00J1XKB6K&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;「見積もり」の基本を学ぶ際は、まずは『システム開発のための見積りのすべてがわかる本』と『アジャイルな見積りと計画づくり』の 2 冊を両方読むことをオススメします。&lt;/p&gt;
&lt;p&gt;どちらも異なる内容を扱っており、両方の視点を踏まえて見積もりができるとうまくいきやすいと思います。&lt;/p&gt;
&lt;p&gt;受託開発においては、見積もりと並んで契約をどうするかも揉め事を回避するために重要なポイントです。&lt;/p&gt;
&lt;p&gt;契約の基本については『&lt;a href=&quot;https://amzn.to/3cvdYGq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITエンジニアのやさしい法律Q＆A 　著作権・開発契約・労働関係・契約書で揉めないための勘どころ&lt;/a&gt;』という書籍で分かりやすく解説されており、こちらも非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MF65T88/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f2a2d48a07eb8418eb02a44a00513a52&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MF65T88&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08MF65T88&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ソフトウェアテストの定番入門書 2 冊の紹介]]></title><description><![CDATA[ソフトウェアテストは IT エンジニアなら確実に関わることになりますが、どのように取り組むべきかなかなか自信を持ちにくい分野でもあります。
この記事では、そんなソフトウェアテストの入門書を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/software-testing-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/software-testing-books</guid><pubDate>Wed, 09 Jun 2021 21:09:55 GMT</pubDate><content:encoded>&lt;p&gt;ソフトウェアテストは IT エンジニアなら確実に関わることになりますが、どのように取り組むべきかなかなか自信を持ちにくい分野でもあります。&lt;/p&gt;
&lt;p&gt;この記事では、そんなソフトウェアテストの入門書を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;知識ゼロから学ぶソフトウェアテスト-【改訂版】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9F%A5%E8%AD%98%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88-%E3%80%90%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91&quot; aria-label=&quot;知識ゼロから学ぶソフトウェアテスト 【改訂版】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cvMU9Q&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;知識ゼロから学ぶソフトウェアテスト 【改訂版】&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00HQ7S5CA/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e209066e33421b7e0762d906a14b53a2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00HQ7S5CA&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00HQ7S5CA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;エンジニアやテスト技術者に向けて、ソフトウェアテストの基本をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;ホワイトボックステスト、ブラックボックステストといった基本概念から、非機能要求のテストやテストの運用・品質管理など、ソフトウェアテストの入門として知っておくべきことを体系的に学ぶことができます。&lt;/p&gt;
&lt;p&gt;非常に読みやすく、タイトル通り知識ゼロの状態からの 1 冊目として非常にオススメです。&lt;/p&gt;
&lt;p&gt;2021 年には続編として『&lt;a href=&quot;https://amzn.to/3iuN5pz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方&lt;/a&gt;』という書籍も出ています。&lt;/p&gt;
&lt;h2 id=&quot;はじめて学ぶソフトウェアのテスト技法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E6%8A%80%E6%B3%95&quot; aria-label=&quot;はじめて学ぶソフトウェアのテスト技法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iztN2r&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめて学ぶソフトウェアのテスト技法&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00HE8082Q/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0af6912040425396b4247b7adad403c4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00HE8082Q&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00HE8082Q&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもソフトウェアテストに関する入門書です。&lt;/p&gt;
&lt;p&gt;先に紹介した『知識ゼロから学ぶソフトウェアテスト』とは異なり、テストケースの設計に重点を置いて解説されています。&lt;/p&gt;
&lt;p&gt;まずは『知識ゼロから学ぶソフトウェアテスト』を読んでみて、次のステップとしてこちらの書籍でテストケースの設計について理解を深める流れがオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上 2 冊がソフトウェアテストの定番入門書です。&lt;/p&gt;
&lt;p&gt;ソフトウェアテストの基本を学んだ次のステップとしては、xUnit による自動テストや、テスト駆動開発 (TDD) について学ぶのがオススメです。&lt;/p&gt;
&lt;p&gt;TDD に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/tdd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[RDB 設計の入門にオススメの書籍まとめ]]></title><description><![CDATA[RDB の設計はシステム開発で非常に重要なポイントですが、非常に奥が深く、勉強するのはなかなか簡単ではありません。
この記事では、そんな RDB の設計について基本を学ぶための、入門第一歩としてオススメの書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/rdb-beginners-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/rdb-beginners-books</guid><pubDate>Tue, 08 Jun 2021 06:45:43 GMT</pubDate><content:encoded>&lt;p&gt;RDB の設計はシステム開発で非常に重要なポイントですが、非常に奥が深く、勉強するのはなかなか簡単ではありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな RDB の設計について基本を学ぶための、入門第一歩としてオススメの書籍を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;達人に学ぶdb設計-徹底指南書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6db%E8%A8%AD%E8%A8%88-%E5%BE%B9%E5%BA%95%E6%8C%87%E5%8D%97%E6%9B%B8&quot; aria-label=&quot;達人に学ぶdb設計 徹底指南書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3co3acM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;達人に学ぶDB設計 徹底指南書&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00EE1XPAI?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4c71d285b975a881fb56f494da87af1d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00EE1XPAI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00EE1XPAI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DB 設計の入門書として定番の書籍です。&lt;/p&gt;
&lt;p&gt;RDB の設計について、論理設計・物理設計、正規化やインデックスといった基本を、この 1 冊で一通りおさえることができます。&lt;/p&gt;
&lt;p&gt;論理設計のバッドノウハウなどもまとめられており、実戦でも有効活用しやすく、非常にオススメの書籍です。&lt;/p&gt;
&lt;p&gt;姉妹本の『&lt;a href=&quot;https://amzn.to/2SfZ27S&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ&lt;/a&gt;』もとてもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;楽々erdレッスン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A5%BD%E3%80%85erd%E3%83%AC%E3%83%83%E3%82%B9%E3%83%B3&quot; aria-label=&quot;楽々erdレッスン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gkY8Po&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;楽々ERDレッスン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798110663?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4bb72468cfc826acfb4ddaac08c49db0&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798110663&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798110663&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;レッスン形式で RDB の設計を学ぶ書籍です。&lt;/p&gt;
&lt;p&gt;正規化などの DB 設計の基礎知識を解説したあと、様々な例題で設計を練習していく内容になっています。&lt;/p&gt;
&lt;p&gt;『達人に学ぶDB設計 徹底指南書』よりもより入門向けになっています。&lt;/p&gt;
&lt;p&gt;「いざ DB 設計に取り組もうとしても何から考えたらいいのか分からない」といった方にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;sqlアンチパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sql%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;sqlアンチパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zdBOzV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SQLアンチパターン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873115892?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=2457d740714048cec75f7e052bb3bbe4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873115892&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873115892&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;SQL のアンチパターンをまとめた書籍です。&lt;/p&gt;
&lt;p&gt;内容は SQL に限らず、DB 設計のアンチパターンについても解説されています。&lt;/p&gt;
&lt;p&gt;パターンとしてまとまっている書籍なので、1 つ 1 つの方法論が非常に具体的であり、実務で役立てやすいです。&lt;/p&gt;
&lt;p&gt;ある程度 DB を使ったり設計したりした経験がある方に非常にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;理論から学ぶデータベース実践入門--リレーショナルモデルによる効率的なsql&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%90%86%E8%AB%96%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80--%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AAsql&quot; aria-label=&quot;理論から学ぶデータベース実践入門  リレーショナルモデルによる効率的なsql permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x4E9LH&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JGK82RR?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a4539bc879990e7ec5398d4a51240db7&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JGK82RR&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07JGK82RR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;RDB について理論から解説した書籍です。&lt;/p&gt;
&lt;p&gt;リレーショナルモデルの概要から、SQL や RDB との関連性などが分かりやすく解説されています。&lt;/p&gt;
&lt;p&gt;ここまで紹介した書籍よりも少し難易度は高いです。&lt;/p&gt;
&lt;p&gt;履歴やグラフ形式のデータの扱い、データベースのリファクタリングなど、少し発展的なトピックも豊富に扱われており、非常にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、RDB の設計に関するオススメの入門書を紹介しました。&lt;/p&gt;
&lt;p&gt;DB 設計はなかなか勉強しにくい分野ですが、まずはこの辺りの書籍の内容からしっかり身につけていけるといいと思います。&lt;/p&gt;
&lt;p&gt;RDB の設計を学ぶ際は、情報処理技術者試験の 1 つである「データベーススペシャリスト試験」の合格を目指すのもオススメです。&lt;/p&gt;
&lt;p&gt;また、SQL に関するオススメ書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/sql-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非そちらもご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Linux の入門第一歩のオススメ勉強法と書籍のまとめ]]></title><description><![CDATA[最近はプログラミング学習サービスも増え、プログラミングの入門を学ぶ方がとても増えました。
そんな中、プログラミングの入門後に学んでおきたいテーマとして「Linux」が挙げられます。
この記事では、Linux の入門第一歩としてオススメの勉強法と書籍をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/how-to-study-linux-basics</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/how-to-study-linux-basics</guid><pubDate>Mon, 24 May 2021 11:40:14 GMT</pubDate><content:encoded>&lt;p&gt;最近はプログラミング学習サービスも増え、プログラミングの入門を学ぶ方がとても増えました。&lt;/p&gt;
&lt;p&gt;そんな中、プログラミングの入門後に学んでおきたいテーマとして「Linux」が挙げられます。&lt;/p&gt;
&lt;p&gt;この記事では、Linux の入門第一歩としてオススメの勉強法と書籍をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;step-1-とにかくまずはさわってみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-1-%E3%81%A8%E3%81%AB%E3%81%8B%E3%81%8F%E3%81%BE%E3%81%9A%E3%81%AF%E3%81%95%E3%82%8F%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;step 1 とにかくまずはさわってみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 1. とにかくまずはさわってみる&lt;/h2&gt;
&lt;p&gt;プログラミングを学ぶ際は、理屈も勉強しますが、よく分からないままになんとかコードを書いてみたりすることが多いでしょう。&lt;/p&gt;
&lt;p&gt;Linux を学ぶ際も、とにかくまずはさわってみるのがオススメです。&lt;/p&gt;
&lt;p&gt;まずは Web 上で色々調べながら、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux 上で簡単なプログラムを書いて実行してみる&lt;/li&gt;
&lt;li&gt;Nginx などのミドルウェアをインストールして Web サーバとして動かす&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった使い方に挑戦してみるといいのではないでしょうか。&lt;/p&gt;
&lt;h3 id=&quot;どんな環境を使うか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E7%92%B0%E5%A2%83%E3%82%92%E4%BD%BF%E3%81%86%E3%81%8B&quot; aria-label=&quot;どんな環境を使うか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな環境を使うか&lt;/h3&gt;
&lt;p&gt;Linux を初めてさわる際の環境としては、以下の 3 つが定番でしょう。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PC に仮想マシンとして Linux をインストールする&lt;/li&gt;
&lt;li&gt;AWS の EC2 や GCP の GCE など、クラウドのサーバを利用する&lt;/li&gt;
&lt;li&gt;ラズベリーパイを用意する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;どの方法でも全然いいと思うので、自分の好きな環境を選びましょう。&lt;/p&gt;
&lt;p&gt;後述する書籍にも Linux の環境を用意する方法が書かれているので、その解説に従って準備するのもいいと思います。&lt;/p&gt;
&lt;p&gt;ちなみに、ラズベリーパイを使う際は、以下のようなスターターキットを購入するのがオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3yurCTz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TRASKIT Raspberry Pi 4 Model B Starter Kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/gp/product/B08BFZ7PXS?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a6c58123ac40c15b7c7a94cfc626982e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BFZ7PXS&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08BFZ7PXS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;※ ディスプレイやキーボード、マウスなどを接続して使う場合は、別途用意する必要があります&lt;/p&gt;
&lt;h2 id=&quot;step-2-linux-の基礎を体系的に学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-2-linux-%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%82%92%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;step 2 linux の基礎を体系的に学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 2. Linux の基礎を体系的に学ぶ&lt;/h2&gt;
&lt;p&gt;Web 上の情報などでなんとなく Linux をさわり始めたら、書籍で体系的に学ぶのがオススメです。&lt;/p&gt;
&lt;p&gt;Linux の入門書は非常にたくさんありますが、個人的には『&lt;a href=&quot;https://amzn.to/3fkp5nr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新しいLinuxの教科書&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B072K1NH76?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=41b12b5e5d2262d207b5e528f270f00b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B072K1NH76&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B072K1NH76&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;入門として知っておきたい内容がしっかりまとめられており、シェルスクリプトなど、ちょっとした自動化に役立つ知識も得ることができます。&lt;/p&gt;
&lt;p&gt;この本の内容は、一度読んだだけで全て理解するのは難しいかもしれません。&lt;/p&gt;
&lt;p&gt;そういった場合は、一度次のステップに進んでから、また戻ってくるのがオススメです。&lt;/p&gt;
&lt;h2 id=&quot;step-3-aws-で-linux-サーバの環境構築に挑戦&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-3-aws-%E3%81%A7-linux-%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%AB%E6%8C%91%E6%88%A6&quot; aria-label=&quot;step 3 aws で linux サーバの環境構築に挑戦 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 3. AWS で Linux サーバの環境構築に挑戦&lt;/h2&gt;
&lt;p&gt;なんとなく Linux のイメージがついてきたら、AWS 上に Linux サーバを立ててみると非常に勉強になります。&lt;/p&gt;
&lt;p&gt;AWS でサーバの環境構築を実施するハンズオンとしては、『&lt;a href=&quot;https://amzn.to/2SkhPP9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク＆サーバー構築　改訂3版&lt;/a&gt;』という書籍が非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=54c6bec81603efc50167b8e01864616f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本の通りの内容を実施するだけで、ネットワークや Linux で最初に理解しておきたい内容がおさえられます。&lt;/p&gt;
&lt;p&gt;この本の内容をスラスラ実施でき、何をしているか説明できれば、環境構築の基本が分かってきたと言えるのではないでしょうか。&lt;/p&gt;
&lt;p&gt;ちなみに、AWS の勉強法については以下の記事にもまとめているので、興味があれば参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/how-to-study-aws-basics&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web アプリをなんとなく作れるくらいの状態から AWS を勉強するには&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;step-4-資格取得を目指す&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-4-%E8%B3%87%E6%A0%BC%E5%8F%96%E5%BE%97%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99&quot; aria-label=&quot;step 4 資格取得を目指す permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 4. 資格取得を目指す&lt;/h2&gt;
&lt;p&gt;さらに体系的に学んでいく上では、資格の取得もオススメです。&lt;/p&gt;
&lt;p&gt;Linux の資格としては LPIC と LinuC の 2 つが定番です。&lt;/p&gt;
&lt;p&gt;どちらもほぼ同じ内容なので、どちらを受けても問題ないです。&lt;/p&gt;
&lt;p&gt;LinuC はまだ登場したばかりで知名度が低いので、とりあえず LPIC を受けておけば外さないと思います。&lt;/p&gt;
&lt;p&gt;LPIC、LinuC の教科書としては、以下の本が定番です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2SoEbyR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル1 Version5.0対応&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07P5S98SK?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=6c55af18a6758ead779149068ae5409b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07P5S98SK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07P5S98SK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ffmpXV&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LinuCレベル1 Version 10.0対応&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B087JQGBMR?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=99245e752470415827b717e6113f8c7c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B087JQGBMR&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B087JQGBMR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;LPIC・LinuC はレベル 1・2・3 とありますが、レベル 1 を知っているだけでも、アプリケーションエンジニアの場合は結構 Linux に詳しいという評価になります。&lt;/p&gt;
&lt;p&gt;他のアプリケーションエンジニアとの差別化にもなるので、非常にオススメです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Raspberry Pi で動かすコードをクリーンアーキテクチャ的な考え方で整理する]]></title><description><![CDATA[最近、「Raspberry Pi でおもちゃの車を自動走行させる」という試みを始めました。
こういったプログラムを書いていると、「キーボードから入力を受け付ける処理」、「車の動作アルゴリズムを提供する処理」、「Raspberry Pi のピンに出力してモータを動かす処理」などがごちゃごちゃになりやすいです。
遊びなのでごちゃごちゃなコードでも構わないのですが、せっかくなので、クリーンアーキテクチャ的な考え方でコードを整理しました。]]></description><link>https://www.kanzennirikaisita.com/posts/raspberrypi-clean-architecture</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/raspberrypi-clean-architecture</guid><pubDate>Sat, 22 May 2021 14:33:22 GMT</pubDate><content:encoded>&lt;p&gt;最近、「Raspberry Pi でおもちゃの車を自動走行させる」という試みを始めました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B081YD3VL5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=573cedd3f64001e4e474596b9d5c2e51&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B081YD3VL5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B081YD3VL5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0761XVVJT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f118d0f77f7eb7dfda1b2b0e72e178de&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0761XVVJT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0761XVVJT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ゆくゆくは自動走行させたいのですが、まずはキーボード入力に応じて車が動くように進めています。&lt;/p&gt;
&lt;p&gt;こういったプログラムを書いていると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;キーボードから入力を受け付ける処理&lt;/li&gt;
&lt;li&gt;車の動作アルゴリズムを提供する処理&lt;/li&gt;
&lt;li&gt;Raspberry Pi のピンに出力してモータを動かす処理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などがごちゃごちゃになりやすいです。&lt;/p&gt;
&lt;p&gt;遊びなのでごちゃごちゃなコードでも構わないのですが、せっかくなので、クリーンアーキテクチャ的な考え方でコードを整理しました。&lt;/p&gt;
&lt;p&gt;※ この記事はコードの解説になるので、使った機器などは以下の記事を参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/raspberrypi-motordriver&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Raspberry Pi でモータドライバを使っておもちゃの車を走らせる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;全体構成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E4%BD%93%E6%A7%8B%E6%88%90&quot; aria-label=&quot;全体構成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全体構成&lt;/h2&gt;
&lt;p&gt;整理したコードは、以下のような構成になりました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/raspberrypi-clean-architecture.png&quot; alt=&quot;raspberrypi-clean-architecture&quot;&gt;&lt;/p&gt;
&lt;p&gt;ファイルの一覧は以下の通りです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ tree src/
src/
├── application
│   └── raspberryPiCarApplication.ts
├── domain
│   ├── car.ts
│   ├── carFactory.ts
│   └── motor.ts
├── index.ts
├── infrastructure
│   ├── dummy
│   │   ├── dummyMotor.ts
│   │   └── dummyMotorCarFactory.ts
│   └── rpio
│       ├── pwmMotor.ts
│       └── pwmMotorCarFactory.ts
├── logger.ts
└── presentation
    ├── dummyController.ts
    └── keyboardController.ts&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ TypeScript で書いています。&lt;/p&gt;
&lt;h2 id=&quot;コードの解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;コードの解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コードの解説&lt;/h2&gt;
&lt;p&gt;ここから、各層のコードを見ていきます。&lt;/p&gt;
&lt;h3 id=&quot;indexts&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#indexts&quot; aria-label=&quot;indexts permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;index.ts&lt;/h3&gt;
&lt;p&gt;このアプリケーションは、以下のコマンドで起動することになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ sudo node dist/index.js&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;そこでまず最初に、起動時のエンドポイントとなる index.ts を見てみます。&lt;/p&gt;
&lt;p&gt;index.ts の主要な処理は以下の内容だけになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; controller &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;KeyboardController&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; carFactory &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PWMMotorCarFactory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; app &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;RaspberryPiCarApplication&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;controller&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; carFactory&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これは、RaspberryPiCarApplication を構築し、実行しているだけです。&lt;/p&gt;
&lt;h3 id=&quot;application-層&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#application-%E5%B1%A4&quot; aria-label=&quot;application 層 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;application 層&lt;/h3&gt;
&lt;p&gt;RaspberryPiCarApplication は、application 層で定義しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;RaspberryPiCarApplication&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; car&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Car&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;constructor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; controller&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; ControllerPort&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; carFactory&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; CarFactory&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; carFactory&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;create&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;controller&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoStraight&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;goStraight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Stop&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoRight&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;goRight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoLeft&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;goLeft&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;CleanUp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;cleanUp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;Unexpected command: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;command&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;cleanUp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;car&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;cleanUp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;RaspberryPiCarApplication の run メソッドでは、Controller から受け取った入力に応じて、Car インスタンスの対応する処理を呼び出しています。&lt;/p&gt;
&lt;p&gt;application 層や domain 層は、ゲーム機で言うところの「本体」に相当します。&lt;/p&gt;
&lt;p&gt;そこに対してプラガブルにコントローラを指して使いたいので、コントローラの仕様は application 層で以下のように定義しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// このアプリケーションが要求するコントローラの定義&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ControllerPort&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;enum&lt;/span&gt; ControllerCommand &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  GoStraight&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  Stop&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  GoRight&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  GoLeft&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  CleanUp&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ゲーム機のポートにコントローラを差し込んで使うイメージから、インタフェースには「ControllerPort」という名前をつけました。&lt;/p&gt;
&lt;p&gt;コントローラから受け取る信号は、「ControllerCommand」という型で定義しています。&lt;/p&gt;
&lt;p&gt;ControllerPort から接続したコントローラを有効化 (enable) すると、入力を受け取ったタイミングで RaspberryPiCarApplication クラス内に記述した処理が動き、車の操作に繋がるという仕組みです。&lt;/p&gt;
&lt;h3 id=&quot;presentation-層&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#presentation-%E5%B1%A4&quot; aria-label=&quot;presentation 層 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;presentation 層&lt;/h3&gt;
&lt;p&gt;ControllerPort に接続 (プログラミング的には implements) する KeyboardController は、presentation 層に配置しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;KeyboardController&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;ControllerPort&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;command&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;keypress&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stdin&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;keypress&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ch&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; key&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      logger&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;[keypress] ch = &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;ch&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;, key = &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

      &lt;span class=&quot;token comment&quot;&gt;// Ctrl + C&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ctrl &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; key&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;c&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        logger&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Ctrl + C handling...&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;CleanUp&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;pause&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

      &lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;up&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoStraight&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;down&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Stop&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;right&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoRight&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;left&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ControllerCommand&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GoLeft&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
          &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setRawMode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stdin&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;resume&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;キーボードの入力に応じて、RaspberryPiCarApplication 内に記述した処理が呼ばれるようになっています。&lt;/p&gt;
&lt;p&gt;現状はキーボード入力を扱う KeyboardController を使っていますが、今後例えば WebSocket などでリモートから命令を出すことなども考えられます。&lt;/p&gt;
&lt;p&gt;このコードのように presentation 層が application 層に依存するようにし、その逆向きの依存は排除することで、もしも別のコントローラを作成した場合でも application 層は書き換える必要がなくなります。&lt;/p&gt;
&lt;p&gt;WebSocket で操作したくなった場合は、ControllerPort を実装した WebSocketController を記述し、index.ts で KeyboardController を new している箇所を WebSocketController に置き換えるだけです。&lt;/p&gt;
&lt;h3 id=&quot;domain-層&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#domain-%E5%B1%A4&quot; aria-label=&quot;domain 層 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;domain 層&lt;/h3&gt;
&lt;p&gt;RaspberryPiCarApplication がコントローラからの入力を受け取った際に操作している Car クラスは、domain 層で定義されています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Car&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;constructor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; frontRightMotor&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Motor&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; frontLeftMotor&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Motor&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; backRightMotor&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Motor&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;private&lt;/span&gt; backLeftMotor&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Motor
  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;goStraight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;goRight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;goLeft&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Car クラスは、4 つのモータ (Motor) から成ります。&lt;/p&gt;
&lt;p&gt;直進、右折、左折、停止などのメソッドを持ち、その中でモータを操作しているわけです。&lt;/p&gt;
&lt;p&gt;domain 層において、モータは interface だけ定義しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;interface&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Motor&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;changeToTopSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;changeToMiddleSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;cleanUp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これは、domain 層を Rapsberry Pi のピンへの出力という技術詳細に依存させないためです。&lt;/p&gt;
&lt;p&gt;こうすることで、ピンへの出力をモックしたテストが記述しやすくなったりもします。&lt;/p&gt;
&lt;h3 id=&quot;infrastructure-層&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#infrastructure-%E5%B1%A4&quot; aria-label=&quot;infrastructure 層 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;infrastructure 層&lt;/h3&gt;
&lt;p&gt;Motor の具体実装は、infrastructure 層に配置しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;typescript&quot;&gt;&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PWMMotor&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Motor&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;protected&lt;/span&gt; pwmValue&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;constructor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;protected&lt;/span&gt; pin&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;changeToTopSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;changeSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;MAX_SPEED_VALUE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;changeToMiddleSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;changeSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;MIDDLE_SPEED_VALUE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;stop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;changeSpeed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;STOP_SPEED_VALUE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Rapsberry Pi のピンからの出力の具体的な内容は、このクラスだけが知っています。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;構成図を再掲します。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/raspberrypi-clean-architecture.png&quot; alt=&quot;raspberrypi-clean-architecture&quot;&gt;&lt;/p&gt;
&lt;p&gt;このようにコードを整理することで、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;キーボードから入力を受け付ける処理&lt;/li&gt;
&lt;li&gt;車の動作アルゴリズムを提供する処理&lt;/li&gt;
&lt;li&gt;Raspberry Pi のピンに出力してモータを動かす処理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが分離され、コントローラやモータといった技術詳細がプラガブルになりました。&lt;/p&gt;
&lt;p&gt;もともとここまで整理するつもりはなかったのですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コントローラをプラガブルにする&lt;/li&gt;
&lt;li&gt;モータをプラガブルにする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ことを満たすようにコードを整理していたところ、自然にこれに近いかたちになったので、せっかくなのでこの状態まで持ってきてみました。&lt;/p&gt;
&lt;p&gt;この規模だとここまでする必要はないかもしれませんが、アプリケーション設計の練習としては面白いと思います。&lt;/p&gt;
&lt;h2 id=&quot;ソースコード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89&quot; aria-label=&quot;ソースコード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ソースコード&lt;/h2&gt;
&lt;p&gt;ソースコードの全容は GitHub の以下のページで公開しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/os1ma/raspberrypi-car&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;os1ma/raspberrypi-car&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[AWS App Runner が Ruby のソースコード連携に対応してなくて面倒？そんなときは Cloud Native Buildpacks]]></title><description><![CDATA[先日 AWS に App Runner という新サービスがリリースされました。
コンテナイメージの作成を自動でやってくれる Cloud Native Buildpacks と GitHub Actions を使って、Dockerfile を書かずに App Runner で Ruby のアプリケーションを起動してみようと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/aws-app-runner-with-cloud-native-buildpacks</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-app-runner-with-cloud-native-buildpacks</guid><pubDate>Fri, 21 May 2021 14:02:38 GMT</pubDate><content:encoded>&lt;p&gt;先日 AWS に App Runner という新サービスがリリースされました。&lt;/p&gt;
&lt;p&gt;Fargate をさらに抽象化したようなサービスで、使い勝手は Heroku のような PaaS に近いです。&lt;/p&gt;
&lt;p&gt;そんな App Runner ですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ECR と連携して、別途自作したコンテナイメージを使用&lt;/li&gt;
&lt;li&gt;GitHub と連携して、自動でコンテナイメージを作成して使用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という 2 パターンの使い方があります。&lt;/p&gt;
&lt;p&gt;後者の GitHub と連携して自動でコンテナイメージを作成してくれるパターンについては、現状では Node.js と Python しかサポートされていません。&lt;/p&gt;
&lt;p&gt;Dockerfile を書かなくてもコンテナイメージが自動で作成されてデプロイされるというのはかなり楽なので、他の言語でも似たようなことをしてみたいです。&lt;/p&gt;
&lt;p&gt;そこで、コンテナイメージの作成を自動でやってくれる &lt;a href=&quot;https://buildpacks.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Cloud Native Buildpacks&lt;/a&gt; と GitHub Actions を使って、Dockerfile を書かずに App Runner で Ruby のアプリケーションを起動してみようと思います。&lt;/p&gt;
&lt;p&gt;※ サンプルとして Ruby を使いますが、他の言語でも同様のことができるはずです。&lt;/p&gt;
&lt;h2 id=&quot;つまり&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A4%E3%81%BE%E3%82%8A&quot; aria-label=&quot;つまり permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;つまり…&lt;/h2&gt;
&lt;p&gt;やりたいことを簡単に整理すると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Actions で Cloud Native Buildpacks を使ってイメージをビルドし、ECR に push&lt;/li&gt;
&lt;li&gt;ECR と連携した App Runner に自動でデプロイされる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というイメージです。&lt;/p&gt;
&lt;h2 id=&quot;セットアップ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97&quot; aria-label=&quot;セットアップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セットアップ&lt;/h2&gt;
&lt;p&gt;では、セットアップしていきます。&lt;/p&gt;
&lt;p&gt;手順は 6 ステップあるので多く見えますが、1 つ 1 つは簡単です。&lt;/p&gt;
&lt;h3 id=&quot;1-サンプルアプリケーションの実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;1 サンプルアプリケーションの実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1. サンプルアプリケーションの実装&lt;/h3&gt;
&lt;p&gt;Ruby のサンプルということで、今回は簡単に用意できる Sinatra を使うことにしました。&lt;/p&gt;
&lt;p&gt;GitHub にリポジトリを作成し、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gemfile&lt;/li&gt;
&lt;li&gt;app.rb&lt;/li&gt;
&lt;li&gt;config.ru&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 ファイルを以下のように作成します。&lt;/p&gt;
&lt;p&gt;Gemfile&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;ruby&quot;&gt;&lt;pre class=&quot;language-ruby&quot;&gt;&lt;code class=&quot;language-ruby&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# frozen_string_literal: true&lt;/span&gt;

source &lt;span class=&quot;token string&quot;&gt;&quot;https://rubygems.org&quot;&lt;/span&gt;

git_source&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token symbol&quot;&gt;:github&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt;repo_name&lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;https://github.com/&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token delimiter tag&quot;&gt;#{&lt;/span&gt;repo_name&lt;span class=&quot;token delimiter tag&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

gem &lt;span class=&quot;token string&quot;&gt;&quot;sinatra&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;~&gt; 2.1&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;app.rb&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;ruby&quot;&gt;&lt;pre class=&quot;language-ruby&quot;&gt;&lt;code class=&quot;language-ruby&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;sinatra&apos;&lt;/span&gt;

get &lt;span class=&quot;token string&quot;&gt;&apos;/&apos;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;token string&quot;&gt;&apos;Hello world!&apos;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;config.ru&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;ruby&quot;&gt;&lt;pre class=&quot;language-ruby&quot;&gt;&lt;code class=&quot;language-ruby&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;./app&apos;&lt;/span&gt;
run &lt;span class=&quot;token constant&quot;&gt;Sinatra&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;Application&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;コードは以下からも確認できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/os1ma/aws-app-runner-with-cloud-native-buildpacks&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;os1ma/aws-app-runner-with-cloud-native-buildpacks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このコードが動くかローカルで動作確認したい場合は、Cloud Native Buildpacks の pack コマンドと Docker をインストールして、以下のようなコマンドを実行します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ pack build myapp --builder paketobuildpacks/builder:base
$ docker run --rm -e PORT=8000 -p 8000:8000 myapp&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;2-ecr-リポジトリの作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-ecr-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E4%BD%9C%E6%88%90&quot; aria-label=&quot;2 ecr リポジトリの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2. ECR リポジトリの作成&lt;/h3&gt;
&lt;p&gt;次に、AWS にログインし、ECR のリポジトリを作成します。&lt;/p&gt;
&lt;p&gt;ECR のリポジトリ名は、GitHub のリポジトリ名と同じにしました。&lt;/p&gt;
&lt;h3 id=&quot;3-iam-ユーザの作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-iam-%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E4%BD%9C%E6%88%90&quot; aria-label=&quot;3 iam ユーザの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3. IAM ユーザの作成&lt;/h3&gt;
&lt;p&gt;GitHub Actions から ECR に push するには、IAM ユーザのアクセスキー・シックレットアクセスキーを使う必要があります。&lt;/p&gt;
&lt;p&gt;※ もしアクセスキー・シークレットアクセスキーを使いたくない場合は、GitHub Actions ではなく AWS CodeBuild を使いましょう。&lt;/p&gt;
&lt;p&gt;専用の IAM ユーザを作成し、ECR にイメージを push するための権限を与えます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;json&quot;&gt;&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;Version&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2012-10-17&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;Statement&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Sid&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;GetAuthorizationToken&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Effect&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Allow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Action&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:GetAuthorizationToken&quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Resource&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;*&quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Sid&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;AllowPush&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Effect&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Allow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Action&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:BatchCheckLayerAvailability&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:PutImage&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:InitiateLayerUpload&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:UploadLayerPart&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                &lt;span class=&quot;token string&quot;&gt;&quot;ecr:CompleteLayerUpload&quot;&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
            &lt;span class=&quot;token property&quot;&gt;&quot;Resource&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;arn:aws:ecr:ap-northeast-1:{AWSアカウントID}:repository/{リポジトリ名}&quot;&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ {AWSアカウントID} と {リポジトリ名} は読み替えが必要です。&lt;/p&gt;
&lt;h3 id=&quot;4-iam-ユーザのアクセスキー・シークレットアクセスキーを-github-に設定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#4-iam-%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%BB%E3%82%B7%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%AD%E3%83%BC%E3%82%92-github-%E3%81%AB%E8%A8%AD%E5%AE%9A&quot; aria-label=&quot;4 iam ユーザのアクセスキー・シークレットアクセスキーを github に設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;4. IAM ユーザのアクセスキー・シークレットアクセスキーを GitHub に設定&lt;/h3&gt;
&lt;p&gt;上記の IAM ユーザのアクセスキー・シークレットアクセスキーを払い出したら、GitHub のリポジトリの設定画面から、「Settings」&gt;「Secrets」と進み、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;AWS_ACCESS_KEY_ID&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;AWS_SECRET_ACCESS_KEY&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という名前でそれぞれ登録します。&lt;/p&gt;
&lt;h3 id=&quot;5-github-actions-のワークフロー設定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#5-github-actions-%E3%81%AE%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E8%A8%AD%E5%AE%9A&quot; aria-label=&quot;5 github actions のワークフロー設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;5. GitHub Actions のワークフロー設定&lt;/h3&gt;
&lt;p&gt;以下の内容で、.github/workflows/main.yaml というファイルを作成します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; main

&lt;span class=&quot;token key atrule&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;branches&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; main

&lt;span class=&quot;token key atrule&quot;&gt;jobs&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;runs-on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ubuntu&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;latest
    &lt;span class=&quot;token key atrule&quot;&gt;steps&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; actions/checkout@v2

    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; aws&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;actions/configure&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;aws&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;credentials@v1
      &lt;span class=&quot;token key atrule&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;aws-access-key-id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; secrets.AWS_ACCESS_KEY_ID &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;aws-secret-access-key&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; secrets.AWS_SECRET_ACCESS_KEY &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;aws-region&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ap&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;northeast&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;

    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; aws&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;actions/amazon&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;ecr&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;login@v1
      &lt;span class=&quot;token key atrule&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; login&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;ecr

    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; asdf&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;vm/actions/setup@v1

    &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;token scalar string&quot;&gt;
        asdf plugin-add buildpack
        asdf install
        pack build $ECR_REGISTRY/$ECR_REPOSITORY:latest --builder paketobuildpacks/builder:base
        docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;ECR_REGISTRY&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; steps.login&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;ecr.outputs.registry &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;ECR_REPOSITORY&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; github.repository &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ここでは pack コマンドのインストールに &lt;a href=&quot;https://asdf-vm.com/#/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;asdf&lt;/a&gt; を使っていますが、&lt;a href=&quot;https://github.com/buildpacks/github-actions&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Cloud Native Buildpacks 側が提供しているアクション&lt;/a&gt; で pack コマンドをインストールしてもいいと思います。&lt;/p&gt;
&lt;p&gt;この YAML ファイルを GitHub に push すれば、GitHub Actions が動き出し、ECR にイメージが push されます。&lt;/p&gt;
&lt;h3 id=&quot;6-app-runner-でサービスの作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#6-app-runner-%E3%81%A7%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E4%BD%9C%E6%88%90&quot; aria-label=&quot;6 app runner でサービスの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;6. App Runner でサービスの作成&lt;/h3&gt;
&lt;p&gt;あとは App Runner でサービスを作成するだけです。&lt;/p&gt;
&lt;p&gt;マネジメントコンソールから作成する場合は、雰囲気でぽちぽちすればいけます。&lt;/p&gt;
&lt;p&gt;ちなみに、ポート番号はなんでも大丈夫です。
(App Runner はポート番号を PORT という環境変数でコンテナに渡してくれて、かつ、Ruby のコンテナ側は PORT という環境変数を使うようになっているため)&lt;/p&gt;
&lt;p&gt;起動を待てば、問題なくアクセスできます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ curl https://&amp;lt;ドメイン&amp;gt;
Hello world!&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Cloud Native Buildpacks と GitHub Actions を使って、Dockerfile を書かずに App Runner で Ruby のアプリケーションを起動することができました。&lt;/p&gt;
&lt;p&gt;App Runner のロードマップには Ruby のサポートや、Cloud Native Buildpacks のサポートも挙げられています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aws/apprunner-roadmap/issues/27&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ruby support · Issue #27 · aws/apprunner-roadmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aws/apprunner-roadmap/issues/11&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Buildpack support · Issue #11 · aws/apprunner-roadmap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ゆくゆくは、自前で GitHub Actions や Cloud Native Buildpacks を使う必要はなくなるかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年】情報セキュリティ関連資格まとめ]]></title><description><![CDATA[IT エンジニアとして働く中で、情報セキュリティはやはり気になるところです。
仕事でセキュリティについて質問をされることも多いので、この機会に情報セキュリティ関連の資格を取得したりしたいと思い、調べた内容をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/information-security-certifications</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/information-security-certifications</guid><pubDate>Thu, 20 May 2021 13:35:10 GMT</pubDate><content:encoded>&lt;p&gt;IT エンジニアとして働く中で、情報セキュリティはやはり気になるところです。&lt;/p&gt;
&lt;p&gt;仕事でセキュリティについて質問をされることも多いので、この機会に情報セキュリティ関連の資格を取得したりしたいと思い、調べた内容をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;まとめ表&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81%E8%A1%A8&quot; aria-label=&quot;まとめ表 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ表&lt;/h2&gt;
&lt;p&gt;Web 上の情報をまとめると、以下のようになりました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/security-certifications.png&quot; alt=&quot;security-certifications&quot;&gt;&lt;/p&gt;
&lt;p&gt;順に少しだけ詳しく見ていきます。&lt;/p&gt;
&lt;p&gt;※ ここに掲載している以外にも多数の資格があります。&lt;/p&gt;
&lt;h2 id=&quot;注意事項&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85&quot; aria-label=&quot;注意事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;注意事項&lt;/h2&gt;
&lt;p&gt;情報セキュリティの資格は、「マネジメント系」と「エンジニア系」に分類されることが多いです。&lt;/p&gt;
&lt;p&gt;自分がどちらに興味があるかによって、どの資格を狙うかは変わってくると思います。&lt;/p&gt;
&lt;p&gt;また、筆者は登場する資格の中で「情報処理安全確保支援士試験 合格 (未登録)」とその他少ししか取得していません。&lt;/p&gt;
&lt;p&gt;調べた結果が実情とは異なる場合がありますので、ご注意ください。&lt;/p&gt;
&lt;h2 id=&quot;日本の情報セキュリティ資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%97%A5%E6%9C%AC%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;日本の情報セキュリティ資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;日本の情報セキュリティ資格&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/security-certifications-japan.png&quot; alt=&quot;security-certifications-japan&quot;&gt;&lt;/p&gt;
&lt;p&gt;日本国内の資格だけでも、様々なものがあります。&lt;/p&gt;
&lt;p&gt;特筆すべきいくつかだけ紹介していきます。&lt;/p&gt;
&lt;h3 id=&quot;情報処理技術者試験&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93&quot; aria-label=&quot;情報処理技術者試験 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;情報処理技術者試験&lt;/h3&gt;
&lt;p&gt;情報処理推進機構 (IPA) が運営する国家資格です。&lt;/p&gt;
&lt;p&gt;日本の IT 資格で最も知名度が高いです。&lt;/p&gt;
&lt;p&gt;情報セキュリティに関しては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;情報セキュリティマネジメント試験&lt;/li&gt;
&lt;li&gt;情報処理安全確保支援士試験&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つがあります。&lt;/p&gt;
&lt;p&gt;また、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基本情報処理技術者試験&lt;/li&gt;
&lt;li&gt;応用情報処理技術者試験&lt;/li&gt;
&lt;li&gt;システム監査技術者試験&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なども関連分野が登場したりするので、受験を考えてもいいでしょう。&lt;/p&gt;
&lt;p&gt;情報処理技術者試験は、知名度も高く、とてもオススメです。&lt;/p&gt;
&lt;p&gt;何より、受験料が税込 5,700 円と、非常に安いです。&lt;/p&gt;
&lt;p&gt;セキュリティ関連資格の取得を目指すなら、まずはここから手を出してみるのが良いのではないでしょうか。&lt;/p&gt;
&lt;h3 id=&quot;ウェブ・セキュリティ試験-徳丸試験&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A6%E3%82%A7%E3%83%96%E3%83%BB%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A9%A6%E9%A8%93-%E5%BE%B3%E4%B8%B8%E8%A9%A6%E9%A8%93&quot; aria-label=&quot;ウェブ・セキュリティ試験 徳丸試験 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ウェブ・セキュリティ試験 (徳丸試験)&lt;/h3&gt;
&lt;p&gt;情報セキュリティについて日本トップの著名人、徳丸浩氏が試験問題を作成されている試験です。&lt;/p&gt;
&lt;p&gt;認定テキストである『&lt;a href=&quot;https://amzn.to/3ghidGy&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践&lt;/a&gt;』は、Web アプリケーションのエンジニアであれば必読の一冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4797393165?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=46cacf4dd0b20fab8af7646f8b6def06&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4797393165&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4797393165&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年に始まったばかりなので、話題としても面白いと思います。&lt;/p&gt;
&lt;h2 id=&quot;国際的な情報セキュリティ資格&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%BD%E9%9A%9B%E7%9A%84%E3%81%AA%E6%83%85%E5%A0%B1%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%B3%87%E6%A0%BC&quot; aria-label=&quot;国際的な情報セキュリティ資格 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;国際的な情報セキュリティ資格&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/security-certifications-international.png&quot; alt=&quot;security-certifications-international&quot;&gt;&lt;/p&gt;
&lt;p&gt;CISSP と CISM あたりは、セキュリティの専門家ではない自分でも聞いたことがあります。&lt;/p&gt;
&lt;p&gt;これらは高難易度・高収入の IT 資格として、とても有名だと思います。&lt;/p&gt;
&lt;p&gt;また、シスコや CompTIA の資格も、情報セキュリティ関連資格としては定番のようです。&lt;/p&gt;
&lt;p&gt;GREM などは、技術面に興味がある方にとっても面白いと思います。&lt;/p&gt;
&lt;p&gt;ただ、これらの資格に共通して、受験料は高いです。&lt;/p&gt;
&lt;p&gt;どれも受験料は何万円 (ものによっては何 10 万円) かかります。&lt;/p&gt;
&lt;p&gt;自腹で受験するには少しハードルが高いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;lpic、aws-認定など&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lpic%E3%80%81aws-%E8%AA%8D%E5%AE%9A%E3%81%AA%E3%81%A9&quot; aria-label=&quot;lpic、aws 認定など permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;LPIC、AWS 認定など&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/security-certifications-other.png&quot; alt=&quot;security-certifications-other&quot;&gt;&lt;/p&gt;
&lt;p&gt;直接的に情報セキュリティの資格ではありませんが、Linux の資格である LPIC や AWS 認定にもセキュリティ関連の資格はあります。&lt;/p&gt;
&lt;p&gt;セキュリティの技術面を学ぶ上で、Linux の知識は前提として必要になりますし、LPIC はオススメできます。&lt;/p&gt;
&lt;p&gt;また、昨今のシステム開発では AWS などのクラウドサービスを利用する機会も多く、そういったサービスのセキュリティについて学ぶのも有意義でしょう。&lt;/p&gt;
&lt;h2 id=&quot;手始めにオススメなのはどれか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%8B%E5%A7%8B%E3%82%81%E3%81%AB%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1%E3%81%AA%E3%81%AE%E3%81%AF%E3%81%A9%E3%82%8C%E3%81%8B&quot; aria-label=&quot;手始めにオススメなのはどれか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;手始めにオススメなのはどれか&lt;/h2&gt;
&lt;p&gt;これらを踏まえて、まず最初にオススメなのは、「情報処理技術者試験」です。&lt;/p&gt;
&lt;p&gt;知名度も高く、情報が豊富で勉強しやすく、受験料も安いです。&lt;/p&gt;
&lt;p&gt;出題範囲も体系的なので、最初の一歩としては、「情報処理安全確保支援士試験」の合格を目指すのがいいと思います。&lt;/p&gt;
&lt;h2 id=&quot;次のステップとしては&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%AC%A1%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AF&quot; aria-label=&quot;次のステップとしては permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;次のステップとしては…&lt;/h2&gt;
&lt;p&gt;次のステップとしては、シスコの各種資格でもいいですし、CompTIA や (ICS)2 などの資格でもいいと思います。&lt;/p&gt;
&lt;p&gt;CISSP や CISM は高難易度資格として知名度も高いので、どこかのタイミングで目指してみるといいのではないでしょうか。&lt;/p&gt;
&lt;p&gt;より技術系に特化したいのであれば、GREM や CEH などの資格が視野に入るのではないかと思います。&lt;/p&gt;
&lt;p&gt;周辺知識として、LPIC や AWS 認定なども良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;h3 id=&quot;セキュリティ資格の難易度まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%B3%87%E6%A0%BC%E3%81%AE%E9%9B%A3%E6%98%93%E5%BA%A6%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;セキュリティ資格の難易度まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セキュリティ資格の難易度まとめ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/IT%E3%82%B9%E3%82%AD%E3%83%AB%E6%A8%99%E6%BA%96&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITスキル標準 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/log0417/items/05cd1e9cf2b25da87a57&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュリティ資格の難易度比較 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cybersecurity-jp.com/column/21726&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュリティ関連の資格一覧と難易度！あなたにぴったりの資格は？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jnsa.org/jnsapress/vol37/3_kikou.pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;育てろ！セキュリティ人材&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;セキュリティ資格のまとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%B3%87%E6%A0%BC%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;セキュリティ資格のまとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;セキュリティ資格のまとめ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://career.levtech.jp/guide/knowhow/article/460/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020年版】サイバーセキュリティ関連のおすすめ資格7選&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://career-picks.com/license/security-shikaku/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報セキュリティのおすすめ資格１０選！試験の難易度も解説 | Career-Picks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fenet.jp/beginner/column/%E6%8A%80%E8%A1%93/157/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュリティ関連資格はどれを選べばいい？資格の種類と目的別に必要な資格を紹介 | FEnet 未経験 コラム&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://business.ntt-east.co.jp/content/cloudsolution/column-169.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【目的＆難易度別】セキュリティを学ぶなら知っておくべき資格13選｜コラム｜クラウドソリューション｜サービス｜法人のお客さま｜NTT東日本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.trainocate.co.jp/reference/security/securitytopics_c_list.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;セキュリティ関連資格のご案内 | IT研修のトレノケート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mynavi-agent.jp/it/knowhow/security_shikaku/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報セキュリティ資格を取ろう！国家試験・民間資格のおすすめ9選｜求人・転職エージェントはマイナビエージェント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mid-works.com/columns/freelance-career/engineers/1073107&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報セキュリティの資格14種｜資格取得のメリットとは | フリーランス・ITエンジニアの求人・案件サイト【Midworks】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;it-資格の給与ランキング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it-%E8%B3%87%E6%A0%BC%E3%81%AE%E7%B5%A6%E4%B8%8E%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0&quot; aria-label=&quot;it 資格の給与ランキング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IT 資格の給与ランキング&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://learn-aws.cafe/top-paying-certifications-2020&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;2020年に取得すべき稼げるIT資格は？ 資格別の給与ランキング | Web問題集でAWS試験に合格しよう&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[AWS App Runner を早速さわってみた【接続数でオートスケーリング・ゼロスケール（？）】]]></title><description><![CDATA[本日 (2021/05/19)、AWS に App Runner というサービスがリリースされました。
App Runner は、コンテナアプリケーションを非常に簡単にデプロイできるサービスのようです。
GitHub と連携した自動デプロイや、接続数でのオートスケーリングを試したのと、ゼロスケールのような挙動に気付いたので、そのあたりをまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/getting-started-with-aws-app-runner</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/getting-started-with-aws-app-runner</guid><pubDate>Wed, 19 May 2021 09:33:52 GMT</pubDate><content:encoded>&lt;p&gt;本日 (2021/05/19)、AWS に App Runner というサービスがリリースされました。&lt;/p&gt;
&lt;p&gt;App Runner は、コンテナアプリケーションを非常に簡単にデプロイできるサービスのようです。&lt;/p&gt;
&lt;p&gt;GitHub と連携した自動デプロイや、接続数でのオートスケーリングを試したのと、ゼロスケールのような挙動に気付いたので、そのあたりをまとめました。&lt;/p&gt;
&lt;h2 id=&quot;公式ブログによると&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%AC%E5%BC%8F%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AB%E3%82%88%E3%82%8B%E3%81%A8&quot; aria-label=&quot;公式ブログによると permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;公式ブログによると…&lt;/h2&gt;
&lt;p&gt;公式ブログの記事「&lt;a href=&quot;https://aws.amazon.com/jp/blogs/aws/app-runner-from-code-to-scalable-secure-web-apps/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;New – AWS App Runner: From Code to a Scalable, Secure Web Application in Minutes&lt;/a&gt;」によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I can configure the auto scaling behavior. By default, my service will have one instance of my container image, but if the service receives more than 80 concurrent requests, it will scale to multiple instances. You can optionally specify a maximum number for cost control.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とので、CPU 使用率などではなく、接続数をもとにオートスケーリングしてくれるようです。&lt;/p&gt;
&lt;p&gt;これは少し特徴的だなと思ったので、チュートリアル的なものをやりつつ、オートスケーリングも試すことにしました。&lt;/p&gt;
&lt;h2 id=&quot;さわってみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%95%E3%82%8F%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;さわってみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;さわってみる&lt;/h2&gt;
&lt;p&gt;まずは公式ワークショップ「&lt;a href=&quot;https://www.apprunnerworkshop.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS App Runner Workshop :: AWS App Runner Workshop&lt;/a&gt;」をもとに、アプリケーションを起動してみます。&lt;/p&gt;
&lt;p&gt;GitHub にリポジトリ (&lt;a href=&quot;https://github.com/os1ma/aws-app-runner-demo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;os1ma/aws-app-runner-demo&lt;/a&gt;) を作成します。&lt;/p&gt;
&lt;p&gt;package.json を用意します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;json&quot;&gt;&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;apprunner_example&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;version&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;1.0.0&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;main&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;index.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;dependencies&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;express&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;^4.17.1&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;devDependencies&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;author&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;license&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;ISC&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;index.js を用意します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; express &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;express&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; app &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;express&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; port &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;/&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;req&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; res&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Hello World!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;port&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;Example app listening at http://localhost:&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;port&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ワークショップの内容とは違いますが、設定は YAML ファイルでやってみたいので、apprunner.yaml を書きます。&lt;/p&gt;
&lt;p&gt;書き方は公式ドキュメントのこちら (&lt;a href=&quot;https://docs.aws.amazon.com/apprunner/latest/dg/config-file.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Setting App Runner service options using a configuration file - AWS App Runner&lt;/a&gt;) の通りです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1.0&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;runtime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; nodejs12
&lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;commands&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; npm install
&lt;span class=&quot;token key atrule&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; node index.js
  &lt;span class=&quot;token key atrule&quot;&gt;network&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これをコミットした状態で、マネジメントコンソールでぽちぽちすると、無事、デプロイされました！&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ curl https://&amp;lt;ドメイン&amp;gt;
Hello World!&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;github-と連携した自動デプロイ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#github-%E3%81%A8%E9%80%A3%E6%90%BA%E3%81%97%E3%81%9F%E8%87%AA%E5%8B%95%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4&quot; aria-label=&quot;github と連携した自動デプロイ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GitHub と連携した自動デプロイ&lt;/h2&gt;
&lt;p&gt;コードを書き換えて自動デプロイされるか試します。&lt;/p&gt;
&lt;p&gt;あとでオートスケールを試しやすいように、index.js レスポンスを返すまで指定した秒数待つような仕組みを入れます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; express &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;express&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; app &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;express&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; port &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;/&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;req&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; res&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Receive request&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; delaySec &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; req&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;query&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;delay &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token function&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Return response&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Hello World!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; delaySec &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

app&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;port&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;Example app listening at http://localhost:&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;port&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これを GitHub の main ブランチに入れると、無事自動デプロイされました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/getting-started-with-aws-app-runner-deployment.png&quot; alt=&quot;getting-started-with-aws-app-runner-deployment.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;ちなみに、コードにエラーがあってコンテナが正常に起動しない場合は、自動でロールバックしてくれました。&lt;/p&gt;
&lt;h2 id=&quot;接続数でオートスケールさせてみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8E%A5%E7%B6%9A%E6%95%B0%E3%81%A7%E3%82%AA%E3%83%BC%E3%83%88%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%81%95%E3%81%9B%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;接続数でオートスケールさせてみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;接続数でオートスケールさせてみる&lt;/h2&gt;
&lt;p&gt;では、接続数でのオートスケールを試します。&lt;/p&gt;
&lt;p&gt;デフォルトでは 80 の接続でスケールするようになっていますが、10 に変更しました。&lt;/p&gt;
&lt;p&gt;そのうえで、何かツールを入れるのも手間なので、簡易的に curl を使ったワンライナーで 20 アクセスしてみます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;for i in {1..20}; do bash -c &amp;#39;curl https://&amp;lt;ドメイン&amp;gt;/?delay=5 &amp;amp;&amp;#39;; done&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;すると、しっかりオートスケールしてくれました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/getting-started-with-aws-app-runner-scaling.png&quot; alt=&quot;getting-started-with-aws-app-runner-scaling.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Fargate などのサービスは基本的に CPU 使用率等でオートスケールさせるので、接続数でオートスケールするのは特徴的ですね。&lt;/p&gt;
&lt;p&gt;使い方のイメージが、少し Lambda に近いのかなと思いました。&lt;/p&gt;
&lt;p&gt;ちなみに、Fargate で接続数でオートスケールする場合は、こちら (&lt;a href=&quot;https://dev.classmethod.jp/articles/afargate-fast-autoscaler/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;爆速でFargateをスケールさせる「aws-fargate-fast-autoscaler」を試してみた | DevelopersIO&lt;/a&gt;) の記事のようなことをすることになるようです。&lt;/p&gt;
&lt;h2 id=&quot;もしかしてゼロスケールしてる？？？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%82%E3%81%97%E3%81%8B%E3%81%97%E3%81%A6%E3%82%BC%E3%83%AD%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%82%8B%EF%BC%9F%EF%BC%9F%EF%BC%9F&quot; aria-label=&quot;もしかしてゼロスケールしてる？？？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;もしかしてゼロスケールしてる？？？&lt;/h2&gt;
&lt;p&gt;アクティブなインスタンス数のデータを見て「おや？」と思ったのですが、どうやらアクセスがないときはゼロスケールしてくれるようです。&lt;/p&gt;
&lt;p&gt;Google Cloud Run (Knative) みたいですね。&lt;/p&gt;
&lt;p&gt;料金のページ (&lt;a href=&quot;https://aws.amazon.com/jp/apprunner/pricing/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS App Runner Pricing – Fully managed container application service – Amazon Web Services&lt;/a&gt;) を見ると、アクティブなインスタンスがない状態でもメモリは確保しているため、少し料金はかかるようです。 &lt;/p&gt;
&lt;p&gt;Cloud Run や Knative のゼロスケールとはちょっと違う雰囲気ですね。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;App Runner をなんとなくさわってみましたが、確かに楽だなと思いました。&lt;/p&gt;
&lt;p&gt;細かい設定が不要で、とりあえずサクッと動かしたいときには良いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;気になったところ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B0%97%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D&quot; aria-label=&quot;気になったところ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;気になったところ&lt;/h2&gt;
&lt;p&gt;現状では&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VPC には配置できない&lt;/li&gt;
&lt;li&gt;ヘルスチェックは TCP のコネクション確立のみ&lt;/li&gt;
&lt;li&gt;パラメータストアなどの値を環境変数に設定できない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの制約がありそうです。&lt;/p&gt;
&lt;p&gt;あと、どっちでもよくはあるのですが、「マネジメントコンソールでログが下から上向きに表示される」というのが気になりました笑&lt;/p&gt;
&lt;p&gt;今後のアップデートに期待してます！&lt;/p&gt;</content:encoded></item><item><title><![CDATA[IT エンジニアが電子政府 e-Estonia について調べてみた]]></title><description><![CDATA[日本政府のデジタル化については昨今話題となっていますが、電子政府といえばエストニアが最も有名です。
自分もなんとなく耳にしたことがあるくらいだったので、エストニアの電子政府について調べてみました。]]></description><link>https://www.kanzennirikaisita.com/posts/what-is-e-estonia</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/what-is-e-estonia</guid><pubDate>Tue, 18 May 2021 10:53:00 GMT</pubDate><content:encoded>&lt;p&gt;日本政府のデジタル化については昨今話題となっていますが、電子政府といえばエストニアが最も有名です。&lt;/p&gt;
&lt;p&gt;自分もなんとなく耳にしたことがあるくらいだったので、エストニアの電子政府について調べてみました。&lt;/p&gt;
&lt;p&gt;書籍 3 冊ほどの情報と、Web 上の情報をまとめた記事になります。&lt;/p&gt;
&lt;h2 id=&quot;目次&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%9B%AE%E6%AC%A1&quot; aria-label=&quot;目次 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;目次&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;e-Estonia とは&lt;/li&gt;
&lt;li&gt;なぜ電子政府が実現できたのか&lt;/li&gt;
&lt;li&gt;どんな技術が使われているのか&lt;/li&gt;
&lt;li&gt;エストニア国民になるには&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;e-estonia-とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-estonia-%E3%81%A8%E3%81%AF&quot; aria-label=&quot;e estonia とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;e-Estonia とは&lt;/h2&gt;
&lt;p&gt;まず、エストニアの電子政府に関して一番のキーワードである「e-Estonia」とはどういう意味でしょうか？&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/3v33028&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;e-エストニア デジタル・ガバナンスの最前線&lt;/a&gt;』から引用すると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;「e-Estonia」とは、世界で最も先進的なデジタル社会を実現しつつある国家としてのエストニアを指す言葉である&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;エストニアの人口は 130 万人程度の小さな国ですが、政府のデジタル化については非常に先進的です。&lt;/p&gt;
&lt;h3 id=&quot;e-estonia-で何が可能？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-estonia-%E3%81%A7%E4%BD%95%E3%81%8C%E5%8F%AF%E8%83%BD%EF%BC%9F&quot; aria-label=&quot;e estonia で何が可能？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;e-Estonia で何が可能？&lt;/h3&gt;
&lt;p&gt;e-Estonia では、&lt;strong&gt;eID (Estonian ID) を使い、オンラインで政府・民間の多くの手続きが可能&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;eID は、日本で言うマイナンバー (個人番号) みたいなものです。&lt;/p&gt;
&lt;p&gt;エストニアでは、&lt;strong&gt;eID の所持は国民の義務であり、生まれたら名前よりも先に登録される&lt;/strong&gt;そうです。&lt;/p&gt;
&lt;p&gt;デジタル化する上で、名前より先に eID を発行するほうが都合が良いのは分かりますが、これを実現できているのはすごいですね。&lt;/p&gt;
&lt;p&gt;eID カードには電子認証用と電子署名用の証明書が内臓されていて、そのカードを使って各種手続きをすることになります。&lt;/p&gt;
&lt;h3 id=&quot;エストニアでデジタル化されているもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%82%B9%E3%83%88%E3%83%8B%E3%82%A2%E3%81%A7%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E5%8C%96%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%82%82%E3%81%AE&quot; aria-label=&quot;エストニアでデジタル化されているもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エストニアでデジタル化されているもの&lt;/h3&gt;
&lt;p&gt;エストニアでデジタル化されているサービスとしては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;e-バンキング&lt;/li&gt;
&lt;li&gt;e-タックス&lt;/li&gt;
&lt;li&gt;e-キャビネット&lt;/li&gt;
&lt;li&gt;m-パーキング&lt;/li&gt;
&lt;li&gt;e-スクール&lt;/li&gt;
&lt;li&gt;e-ジオポータル&lt;/li&gt;
&lt;li&gt;e-チケット&lt;/li&gt;
&lt;li&gt;e-ポリス&lt;/li&gt;
&lt;li&gt;i-投票&lt;/li&gt;
&lt;li&gt;e-司法&lt;/li&gt;
&lt;li&gt;e-公証人&lt;/li&gt;
&lt;li&gt;e-ビジネス&lt;/li&gt;
&lt;li&gt;e-ヘルス&lt;/li&gt;
&lt;li&gt;e-処方箋&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、非常にたくさんのものがあります。&lt;/p&gt;
&lt;p&gt;ちなみに「e-ポリス」というのはサイバー警察のようなものをイメージするかもしれませんが、現実世界の警察が各種デジタルツールを大いに活用していることを指すようです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;電子政府といっても、何でもかんでもデジタル空間にあるというわけではなく、現実世界に大いに IT を取り込んでいるというイメージが近い&lt;/strong&gt;ようです。&lt;/p&gt;
&lt;h3 id=&quot;オンラインで完結できない公的手続きは-3-つ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%A7%E5%AE%8C%E7%B5%90%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%85%AC%E7%9A%84%E6%89%8B%E7%B6%9A%E3%81%8D%E3%81%AF-3-%E3%81%A4&quot; aria-label=&quot;オンラインで完結できない公的手続きは 3 つ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;オンラインで完結できない公的手続きは 3 つ&lt;/h3&gt;
&lt;p&gt;これはただの豆知識ですが、様々な手続きがオンラインで完結する e-Estonia において、オンラインで完結できない公的手続きが 3 つあります。&lt;/p&gt;
&lt;p&gt;何かと言うと、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不動産売却&lt;/li&gt;
&lt;li&gt;結婚&lt;/li&gt;
&lt;li&gt;離婚&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不動産売却は金銭的に大きな決断であるため&lt;/li&gt;
&lt;li&gt;結婚・離婚は感情的に早まってはいけないため&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という理由だそうです。&lt;/p&gt;
&lt;h2 id=&quot;なぜ電子政府が実現できたのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AA%E3%81%9C%E9%9B%BB%E5%AD%90%E6%94%BF%E5%BA%9C%E3%81%8C%E5%AE%9F%E7%8F%BE%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%AE%E3%81%8B&quot; aria-label=&quot;なぜ電子政府が実現できたのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;なぜ電子政府が実現できたのか&lt;/h2&gt;
&lt;p&gt;そんな電子政府ですが、なぜエストニアは実現できたのでしょうか？&lt;/p&gt;
&lt;h3 id=&quot;電子政府化を進めた歴史上のポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%9B%BB%E5%AD%90%E6%94%BF%E5%BA%9C%E5%8C%96%E3%82%92%E9%80%B2%E3%82%81%E3%81%9F%E6%AD%B4%E5%8F%B2%E4%B8%8A%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;電子政府化を進めた歴史上のポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;電子政府化を進めた歴史上のポイント&lt;/h3&gt;
&lt;p&gt;エストニアが電子政府化を進めることができた理由の一つは、歴史的なタイミングが良かったことです。&lt;/p&gt;
&lt;p&gt;エストニアの独立の流れは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1991 年&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ソビエト連邦から独立を回復。独立を回復するまで、&lt;strong&gt;旧ソ連の支配下でサイバーセキュリティ研究所があったため、暗号技術に関する高い知見を持つ人材がそろっていた&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1992 年&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当時 32 歳の首相マルト・ラールが&lt;strong&gt;当時普及し始めたインターネットに目をつけ、政府が電子化すればコストを抑えながら行政サービスを提供できると考え、痛みを伴う改革を推進した&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;p&gt;World Wide Web の発明が 1989 年 (&lt;a href=&quot;https://ja.wikipedia.org/wiki/World_Wide_Web&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Wikipedia&lt;/a&gt; 調べ) ということを踏まえると、まさにインターネットが盛り上がり始めようとするタイミングで国が独立し、政府を作ることになったわけです。&lt;/p&gt;
&lt;p&gt;この黎明期にインターネットに目をつけることができたのはすごいですが、独立のタイミングがデジタル政府を作るのに丁度適していたことも大きな要因でしょう。&lt;/p&gt;
&lt;h3 id=&quot;it-を活かせる若い世代による政府&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it-%E3%82%92%E6%B4%BB%E3%81%8B%E3%81%9B%E3%82%8B%E8%8B%A5%E3%81%84%E4%B8%96%E4%BB%A3%E3%81%AB%E3%82%88%E3%82%8B%E6%94%BF%E5%BA%9C&quot; aria-label=&quot;it を活かせる若い世代による政府 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IT を活かせる若い世代による政府&lt;/h3&gt;
&lt;p&gt;上記の歴史的背景を見ていて気になった方もいらっしゃると思いますが、当時 32 歳という非常に若い方が首相をされています。&lt;/p&gt;
&lt;p&gt;エストニア政府の人員が若いのは、実は首相に限りません。 &lt;/p&gt;
&lt;p&gt;現在でも、&lt;strong&gt;CIO 率いる制作部隊は 20 〜 30 代の若い人材が中心&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;ちなみに、これも日本との違いですが、エストニアの政府には、内部にも多くの IT 技術の専門家がいるそうです。&lt;/p&gt;
&lt;p&gt;マインドとしても、「政府主導型の開発」ではなく「開発主導型の政府」という考え方です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;政府がライバルは Facebook、Alibaba、Airbnb、Uber といったインターネットカンパニーだと言っていおり、一度作ったシステムは作りっぱなしではなく、利用者の声を反映させ、改良を重ねていくという進め方をしています。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;スタートアップマインド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E3%83%9E%E3%82%A4%E3%83%B3%E3%83%89&quot; aria-label=&quot;スタートアップマインド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スタートアップマインド&lt;/h3&gt;
&lt;p&gt;エストニアの特徴としては、「スタートアップマインド」も大きいです。&lt;/p&gt;
&lt;p&gt;誰もが知っている「スカイプ」は、エストニア発のサービスです。&lt;/p&gt;
&lt;p&gt;スカイプは小さな国でも世界に影響を及ぼせることをエストニア内で示し、その功績により、国立博物館にスカイプの開発メンバのイスが「英雄」のイスとして置かれています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;スカイプで育まれた P2P (ピア・トゥ・ピア) の通信技術は国としての強みとしても生きており、成功により得られた資産による投資で起業の文化・エコシステムが発展したことも大きい&lt;/strong&gt;そうです。&lt;/p&gt;
&lt;p&gt;政府もスタートアップマインドを持っており、「エストニアの電子政府の本質は、技術を核にして、透明性とセキュリティ、そして利便性を兼ね備え、まるで 1 つの民間インターネットサービスのように設計されている」と言われます。&lt;/p&gt;
&lt;h2 id=&quot;どんな技術が使われているのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%82%93%E3%81%AA%E6%8A%80%E8%A1%93%E3%81%8C%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;どんな技術が使われているのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どんな技術が使われているのか&lt;/h2&gt;
&lt;p&gt;e-Estonia の特徴などを書いてきましたが、せっかくなので、どんな技術が使われているのかも簡単に書いていきます。&lt;/p&gt;
&lt;p&gt;e-Estonia の重要な技術としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KSI ブロックチェーン&lt;/li&gt;
&lt;li&gt;X-Road (クロスロード)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つが挙げられます。&lt;/p&gt;
&lt;h3 id=&quot;ksi-ブロックチェーン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ksi-%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3&quot; aria-label=&quot;ksi ブロックチェーン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;KSI ブロックチェーン&lt;/h3&gt;
&lt;p&gt;エストニアでは、通常のブロックチェーンとは異なる KSI ブロックチェーンという技術が使われています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;KSI ブロックチェーンでは、すべてのデータが完全であることを常に証明し、データの改竄を検知します&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;米国大手軍需企業 ロッキード・マーティン&lt;/li&gt;
&lt;li&gt;北大西洋条約機構 (NATO)&lt;/li&gt;
&lt;li&gt;米国の国防高等研究局 (DARPA)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、世界最大級の軍事組織にも採用されている技術です。&lt;/p&gt;
&lt;p&gt;エストニアは情報セキュリティの 3 要素 (機密性・完全性・可用性) の中で、完全性が最も重要、つまり、&lt;strong&gt;データが改竄されて、正しいデータが分からなくなることが一番まずいと考えた&lt;/strong&gt;そうです。&lt;/p&gt;
&lt;p&gt;そこで、KSI ブロックチェーンにより、データの完全性を保証することにしたのです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;完全性の保証により、政府の文書の改竄も起こることはなく、政府の信頼度も非常に高い&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;個人情報を政府に預ける不安は？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1%E3%82%92%E6%94%BF%E5%BA%9C%E3%81%AB%E9%A0%90%E3%81%91%E3%82%8B%E4%B8%8D%E5%AE%89%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;個人情報を政府に預ける不安は？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;個人情報を政府に預ける不安は？&lt;/h3&gt;
&lt;p&gt;個人情報を政府に預けることについて、不安を感じる方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;個人情報を預ける不安については、「&lt;strong&gt;データの主権&lt;/strong&gt;」という考え方によって解決しています。&lt;/p&gt;
&lt;p&gt;これは、「&lt;strong&gt;自分自身で情報をコントロールする権利があると実感できることが重要&lt;/strong&gt;」という考え方です。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;strong&gt;エストニア政府ポータルサイトにログインすると、自分の情報が「いつ」「誰」に利用されていたのかが一覧で分かる&lt;/strong&gt;ようになっています。&lt;/p&gt;
&lt;p&gt;エストニアに限らず、このような「データ所有権」という考え方が今後広まるという意見もあります。&lt;/p&gt;
&lt;h3 id=&quot;x-road-クロスロード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#x-road-%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%AD%E3%83%BC%E3%83%89&quot; aria-label=&quot;x road クロスロード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;X-Road (クロスロード)&lt;/h3&gt;
&lt;p&gt;もう一つの重要な技術は、「X-Road (クロスロード)」です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;e-Estonia は、X-Road というデータ交換基盤のもとで成り立っています&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;X-Road の特徴としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 つの巨大なデータベースを作るのではなく、システム同士をつなぐ&lt;/li&gt;
&lt;li&gt;情報は必要なときに、必要なだけしか確認できない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったことが挙げられます。&lt;/p&gt;
&lt;p&gt;ちなみに、X-Road は MIT ライセンスの OSS であり、誰でも開発・利用可能です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nordic-institute/X-Road&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;nordic-institute/X-Road: Source code of the X-Road data exchange layer software.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;政府・民間のデータ連携&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%94%BF%E5%BA%9C%E3%83%BB%E6%B0%91%E9%96%93%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E9%80%A3%E6%90%BA&quot; aria-label=&quot;政府・民間のデータ連携 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;政府・民間のデータ連携&lt;/h3&gt;
&lt;p&gt;エストニアでは、&lt;strong&gt;政府・民間の両方が X-Road を利用可能で、政府は最低限のサービスだけを提供しています&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;実は、エストニアは IT の国家予算が年間 70 億程度で日本の 1% に満たないです。&lt;/p&gt;
&lt;p&gt;もちろん、小さい国であるため、ソフトウェアの開発や仕様の変更が簡単というのもありますが、民間の力を非常に効率的に活用できていることも大きいです。&lt;/p&gt;
&lt;p&gt;X-Road によりバラバラのシステムをつなぐ方式のため、システム全体を作り直したりしなくて済むこともうまく働いていると言われます。&lt;/p&gt;
&lt;p&gt;X-Road の利用は、フィンランドやアゼルバイジャン、ナミビアなどにも広がっています。&lt;/p&gt;
&lt;h3 id=&quot;その他、技術を上手に使うために設けられたルール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E6%8A%80%E8%A1%93%E3%82%92%E4%B8%8A%E6%89%8B%E3%81%AB%E4%BD%BF%E3%81%86%E3%81%9F%E3%82%81%E3%81%AB%E8%A8%AD%E3%81%91%E3%82%89%E3%82%8C%E3%81%9F%E3%83%AB%E3%83%BC%E3%83%AB&quot; aria-label=&quot;その他、技術を上手に使うために設けられたルール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、技術を上手に使うために設けられたルール&lt;/h3&gt;
&lt;p&gt;その他、エストニアで IT 技術をうまく使うために設けられているルールを、2 つほど紹介します。&lt;/p&gt;
&lt;h4 id=&quot;一度きりの原則&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E5%BA%A6%E3%81%8D%E3%82%8A%E3%81%AE%E5%8E%9F%E5%89%87&quot; aria-label=&quot;一度きりの原則 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;一度きりの原則&lt;/h4&gt;
&lt;p&gt;1 つ目は、「一度きりの原則」です。&lt;/p&gt;
&lt;p&gt;エストニアでは、&lt;strong&gt;情報公開法により、同じデータを集める目的で複数のデータベースを構築することを禁じています&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;例えば、日本では引っ越しのときにたくさんのサービスの登録住所を変更すると思いますが、それが 1 箇所への登録で済むようになっているということです。&lt;/p&gt;
&lt;p&gt;是非こうなってほしいですね。&lt;/p&gt;
&lt;h4 id=&quot;ノー・レガシー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8E%E3%83%BC%E3%83%BB%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC&quot; aria-label=&quot;ノー・レガシー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ノー・レガシー&lt;/h4&gt;
&lt;p&gt;2 つ目は、「ノー・レガシー」です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;公的部門は 13 年以上古いものを重要な IT ソリューションツールとして使ってはいけない&lt;/strong&gt;というルールです。&lt;/p&gt;
&lt;p&gt;官僚は最新技術を学び、システムも更新しつづけるという考え方です。&lt;/p&gt;
&lt;p&gt;実際問題として、レガシーなツールを使い続けることは、その組織にとって負債として残っていきます。&lt;/p&gt;
&lt;p&gt;それを避ける仕組みがあるのはすごいですね。&lt;/p&gt;
&lt;h2 id=&quot;エストニア国民になるには&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%82%B9%E3%83%88%E3%83%8B%E3%82%A2%E5%9B%BD%E6%B0%91%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AB%E3%81%AF&quot; aria-label=&quot;エストニア国民になるには permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エストニア国民になるには&lt;/h2&gt;
&lt;p&gt;このようにエストニアの良いところをたくさん書いてきたので、エストニアがうらやましいと感じる方もいらっしゃると思います。&lt;/p&gt;
&lt;p&gt;そこで、エストニア国民になる方法を紹介します。&lt;/p&gt;
&lt;h3 id=&quot;e-regidency-とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-regidency-%E3%81%A8%E3%81%AF&quot; aria-label=&quot;e regidency とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;e-Regidency とは&lt;/h3&gt;
&lt;p&gt;実は、エストニアに居住していなくても、&lt;strong&gt;e-Regidency によって「仮想エストニア国民 = e レジデント」として登録することができます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安倍晋三元首相&lt;/li&gt;
&lt;li&gt;マイクロソフト創業者のビル・ゲイツ&lt;/li&gt;
&lt;li&gt;ローマ・カトリック教会のフランシスコ法王&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった、有名な方もとても大勢登録されています。&lt;/p&gt;
&lt;h3 id=&quot;e-regidency-に登録すると&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-regidency-%E3%81%AB%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B%E3%81%A8&quot; aria-label=&quot;e regidency に登録すると permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;e-Regidency に登録すると…&lt;/h3&gt;
&lt;p&gt;e-Regidency に登録すると、e-Estonia の電子政府を味わうことが可能になります。&lt;/p&gt;
&lt;p&gt;例えば会社設立も可能で、30 分もかからないとのことです。
(日本では数週間かかります…)&lt;/p&gt;
&lt;h3 id=&quot;e-regidency-の目的&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-regidency-%E3%81%AE%E7%9B%AE%E7%9A%84&quot; aria-label=&quot;e regidency の目的 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;e-Regidency の目的&lt;/h3&gt;
&lt;p&gt;エストニアが e-Regidency を実施するのは、「急速に仮想エストニア国民を増やすことができる」からで、目標はエストニアが世界最大の国になることだそうです。&lt;/p&gt;
&lt;p&gt;また、背後には&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「エストニアといえば電子政府」というブランディング&lt;/li&gt;
&lt;li&gt;安全保障に置いて、仮想住民がロシアへの抑止力になると考えた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という点もあると言われています。&lt;/p&gt;
&lt;p&gt;安全保障という観点では、「領土が奪われて国民が散り散りになったとしても、国民・国家のデータさえあれば国を再建できる」という考えもあるそうで、&lt;strong&gt;e-Estonia のデータは、エストニア以外の国にデータ大使館を設けてバックアップされている&lt;/strong&gt;そうです。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;e-Estonia について調べたことをまとめさせていただきました。&lt;/p&gt;
&lt;p&gt;電子政府を人口 130 万の小さな国が実現しているというのは本当に驚きです。&lt;/p&gt;
&lt;p&gt;住所の一元管理など、誰もがこうあるべきと思うことを実現しているのはうらやましい限りです。&lt;/p&gt;
&lt;p&gt;実現できた理由は、「タイミングの良さ」、「技術力」、「若いリーダー」あたりがポイントだと思います。&lt;/p&gt;
&lt;p&gt;こういったところは見習っていきたいですね。&lt;/p&gt;
&lt;p&gt;e-Estonia に興味を持った方には、以下の 2 冊の書籍がオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3wcBqPY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;未来型国家エストニアの挑戦 　電子政府がひらく世界&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3tXuKnd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;e-エストニア デジタル・ガバナンスの最前線&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01AXRCDZ4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d9292633700e0ef347d383a071c93d7b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01AXRCDZ4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01AXRCDZ4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07KWQ7RV4?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0ee31772e223236795f8cbef429486b4&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07KWQ7RV4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07KWQ7RV4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;これらの書籍については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/e-estonia-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事でも紹介しているので、ぜひ参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[「Bash でコマンドを実行する」を少しだけ掘り下げてみる]]></title><description><![CDATA[慣れてくると当たり前になる概念も、しっかり説明しようとすると意外と難しいことがあります。
例えば、「Bash でコマンドを実行する」ということを説明しようとすると、実は結構難しいのではないでしょうか。
この記事では、「Bash でコマンドを実行する」ということを少しだけ掘り下げてみます。]]></description><link>https://www.kanzennirikaisita.com/posts/what-is-executing-a-command-on-bash</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/what-is-executing-a-command-on-bash</guid><pubDate>Sat, 15 May 2021 14:01:06 GMT</pubDate><content:encoded>&lt;p&gt;慣れてくると当たり前になる概念も、しっかり説明しようとすると意外と難しいことがあります。&lt;/p&gt;
&lt;p&gt;例えば、「Bash でコマンドを実行する」ということを説明しようとすると、実は結構難しいのではないでしょうか。&lt;/p&gt;
&lt;p&gt;この記事では、「Bash でコマンドを実行する」ということを少しだけ掘り下げてみます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コマンドとは何か、コマンドをどうやって探すのか&lt;/li&gt;
&lt;li&gt;実行可能なファイルとは何か、どんな流れで実行されるのか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という順で書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;まず一歩掘り下げる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%9A%E4%B8%80%E6%AD%A9%E6%8E%98%E3%82%8A%E4%B8%8B%E3%81%92%E3%82%8B&quot; aria-label=&quot;まず一歩掘り下げる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まず一歩掘り下げる&lt;/h2&gt;
&lt;p&gt;掘り下げのまず一歩目として、コマンドを実行するときの基本的な概念について書いていきます。&lt;/p&gt;
&lt;p&gt;プログラミングの入門などでも遭遇する話題で、なるべく早くに理解しておきたい内容です。&lt;/p&gt;
&lt;h3 id=&quot;コマンドとは何か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B&quot; aria-label=&quot;コマンドとは何か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コマンドとは何か&lt;/h3&gt;
&lt;p&gt;例えば、Bash で&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ cat hello.txt world.txt&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;と入力して実行するとき、「cat」がコマンド名で、「hello.txt」と「world.txt」はそのコマンドに与える引数です。&lt;/p&gt;
&lt;p&gt;引数という概念自体は、プログラミングで登場する関数の引数と同じなので、理解できている方が多いと思います。&lt;/p&gt;
&lt;p&gt;では、「cat」のようなコマンドは一体なんなのでしょうか？&lt;/p&gt;
&lt;p&gt;実は、&lt;strong&gt;Bash で実行できるコマンドには、「組み込みコマンド」と「外部コマンド」の 2 種類があります&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;組み込みコマンドとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;組み込みコマンドとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;組み込みコマンドとは？&lt;/h3&gt;
&lt;p&gt;組み込みコマンドというのは、Bash 自体に実装されているコマンドです。&lt;/p&gt;
&lt;p&gt;Bash のソースコードのどこかに書いてあるようなイメージで大丈夫です。&lt;/p&gt;
&lt;p&gt;あるコマンドが組み込みコマンドかどうかは、type などで確認できます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ type alias
alias is a shell builtin&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;外部コマンドとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A4%96%E9%83%A8%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;外部コマンドとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;外部コマンドとは？&lt;/h3&gt;
&lt;p&gt;では、Bash に組み込まれていないコマンドである「外部コマンド」とはなんでしょうか。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;外部コマンドの実体は、ただの「実行可能なファイル」です&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;例えば cat は外部コマンドなのですが、以下のように特定のディレクトリに置いてあるただのファイルです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ type cat
cat is /bin/cat
$ ls -l /bin/cat
-rwxr-xr-x  1 root  wheel  23648  5  4  2019 /bin/cat&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この cat ファイルの中身は、ざっくり言うと機械語にコンパイル済みのプログラムです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ file /bin/cat
/bin/cat: Mach-O 64-bit executable x86_64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Bash は &lt;code class=&quot;language-text&quot;&gt;cat hello.txt world.txt&lt;/code&gt; という入力を受け取ったとき、このファイルを探し出して実行しているのです。&lt;/p&gt;
&lt;p&gt;ls コマンドも同じようにただのファイルですし、ruby コマンド、python コマンドなどもただのファイルです。&lt;/p&gt;
&lt;p&gt;なので、&lt;strong&gt;例えば新しく php コマンドを実行できるようにしたい場合は、めちゃくちゃ単純化して言うと、php というファイルをダウンロードしてきて置いておけば OK です&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;パス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%82%B9&quot; aria-label=&quot;パス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;パス&lt;/h3&gt;
&lt;p&gt;といっても、たくさんディレクトリがある中でどこに置いてもいいということではありません。&lt;/p&gt;
&lt;p&gt;それでは Bash が実行するファイルを探すときに困ってしまうのです。&lt;/p&gt;
&lt;p&gt;ここで パス (PATH) という設定が関係してきます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bash が外部コマンドを探すときは、「パス」という設定に登録されたディレクトリを探します&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;パスは &lt;code class=&quot;language-text&quot;&gt;echo $PATH&lt;/code&gt; などで確認できます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;もしパスがこのように設定されている場合、&lt;code class=&quot;language-text&quot;&gt;cat hello.txt world.txt&lt;/code&gt; と入力すると、Bash は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/usr/local/bin&lt;/li&gt;
&lt;li&gt;/usr/bin&lt;/li&gt;
&lt;li&gt;/bin&lt;/li&gt;
&lt;li&gt;/usr/sbin&lt;/li&gt;
&lt;li&gt;/sbin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というディレクトリを順番に見ていって、「cat」というファイルを探します。&lt;/p&gt;
&lt;p&gt;そこで「cat」というファイルが見つかれば、それを実行してくれるのです。&lt;/p&gt;
&lt;h3 id=&quot;1-ファイルで動くとは限らない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E5%8B%95%E3%81%8F%E3%81%A8%E3%81%AF%E9%99%90%E3%82%89%E3%81%AA%E3%81%84&quot; aria-label=&quot;1 ファイルで動くとは限らない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1 ファイルで動くとは限らない&lt;/h3&gt;
&lt;p&gt;こういった仕組みで「cat」や「php」などの外部コマンドが実行されるわけですが、実は、「php」ファイルをダウンロードしてきて、パスが通った場所に置いておけば大丈夫とは限りません。&lt;/p&gt;
&lt;p&gt;実行可能ファイルは、そのファイル 1 つで実行可能とは限らないのです。&lt;/p&gt;
&lt;p&gt;実行時に必要とされるライブラリ (ダイナミックリンクライブラリ) は、例えば以下のように確認できます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ otool -L /usr/bin/php
/usr/bin/php:
        /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libcrypto.35.dylib (compatibility version 36.0.0, current version 36.0.0)
        /usr/lib/libssl.35.dylib (compatibility version 36.0.0, current version 36.0.0)
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;このように、php コマンドひとつとっても、実は他のファイル (ライブラリ) に依存していたりするのです。&lt;/p&gt;
&lt;p&gt;依存しているライブラリが不足していると、実行時にエラーになります。&lt;/p&gt;
&lt;p&gt;この依存関係にあるファイルを手作業で 1 つ 1 つ探してダウンロードしてくるのは大変なので、yum や apt といった便利なツール (これもただの外部コマンド) を使ってインストールしたりするのです。&lt;/p&gt;
&lt;h2 id=&quot;もう一歩掘り下げる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%82%E3%81%86%E4%B8%80%E6%AD%A9%E6%8E%98%E3%82%8A%E4%B8%8B%E3%81%92%E3%82%8B&quot; aria-label=&quot;もう一歩掘り下げる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;もう一歩掘り下げる&lt;/h2&gt;
&lt;p&gt;実行可能なファイルを実行するとはどういうことか、もう少しだけ掘り下げてみます。&lt;/p&gt;
&lt;p&gt;ここからは初心者向けではなく、アプリケーションエンジニアであれば知らない方も少なくないと思います。&lt;/p&gt;
&lt;h3 id=&quot;実行可能なファイルとは？&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A1%8C%E5%8F%AF%E8%83%BD%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF%EF%BC%9F&quot; aria-label=&quot;実行可能なファイルとは？ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実行可能なファイルとは？&lt;/h3&gt;
&lt;p&gt;この記事の最初の方で、Bash は実行可能なファイルを探して実行すると書きました。&lt;/p&gt;
&lt;p&gt;Bash で実行可能なファイルには&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バイナリ実行形式 (機械語のプログラム)&lt;/li&gt;
&lt;li&gt;シバン付きのスクリプト (#!/bin/bash や #!/usr/bin/ruby などで始まるスクリプト)&lt;/li&gt;
&lt;li&gt;シバンのない Bash スクリプト&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 種類があります。&lt;/p&gt;
&lt;h3 id=&quot;bash-が実行可能なファイルを実行する流れ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bash-%E3%81%8C%E5%AE%9F%E8%A1%8C%E5%8F%AF%E8%83%BD%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%B5%81%E3%82%8C&quot; aria-label=&quot;bash が実行可能なファイルを実行する流れ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bash が実行可能なファイルを実行する流れ&lt;/h3&gt;
&lt;p&gt;Bash が実行可能なファイルを実行するとき、内部的には OS の中心である「カーネル」に対し、大きく 2 つの処理をお願いします。&lt;/p&gt;
&lt;p&gt;1 つ目は、Bash の子プロセスを作ること (fork) です。&lt;/p&gt;
&lt;p&gt;2 つ目は、作った子プロセスで、コマンドを実行すること (execve) です。&lt;/p&gt;
&lt;p&gt;ちなみに、このようにカーネルに処理をお願いする方法を「システムコール」と言います。&lt;/p&gt;
&lt;h3 id=&quot;execve-での実行の流れ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#execve-%E3%81%A7%E3%81%AE%E5%AE%9F%E8%A1%8C%E3%81%AE%E6%B5%81%E3%82%8C&quot; aria-label=&quot;execve での実行の流れ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;execve での実行の流れ&lt;/h3&gt;
&lt;p&gt;Bash は、fork というシステムコールで子プロセスを作ったあと、execve というシステムコールを使って、カーネルにファイルの実行を依頼します。&lt;/p&gt;
&lt;p&gt;execve は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バイナリ実行形式 (機械語のプログラム)&lt;/li&gt;
&lt;li&gt;シバン付きのスクリプト (#!/bin/bash や #!/usr/bin/ruby などで始まるスクリプト)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のどちらでも実行してくれます。&lt;/p&gt;
&lt;p&gt;バイナリ実行形式 (機械語のプログラム) の場合は、そのまま実行していきます。&lt;/p&gt;
&lt;p&gt;シバン付きのスクリプトの場合は、シバンで指定した実行可能なファイルに、Bash 上で指定したファイルを引数として与えらて実行します。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://linuxjm.osdn.jp/html/LDP_man-pages/man2/execve.2.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Man page of EXECVE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;シバンのない-bash-スクリプトはなぜ実行されるのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%83%90%E3%83%B3%E3%81%AE%E3%81%AA%E3%81%84-bash-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AF%E3%81%AA%E3%81%9C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;シバンのない bash スクリプトはなぜ実行されるのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;シバンのない Bash スクリプトはなぜ実行されるのか&lt;/h3&gt;
&lt;p&gt;シバンのない Bash スクリプトは、execve では実行されません。&lt;/p&gt;
&lt;p&gt;execve が失敗した後、Bash がテキストファイルなのかを判断した上で実行することになります。&lt;/p&gt;
&lt;p&gt;ちなみに、このときは fork によって子プロセスが作られることはなく、既存の Bash プロセス上で実行されます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bminor/bash/blob/ce23728687ce9e584333367075c9deef413553fa/execute_cmd.c#L5425&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Bash のソースコードの該当箇所&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Raspberry Pi でモータドライバを使っておもちゃの車を走らせる]]></title><description><![CDATA[最近友人と電子工作を色々やってみようという話になり、分かりやすいテーマとして「Raspberry Pi でおもちゃの車を自動走行させる」というのを目指すことになりました。
最初の段階として、まずはモータドライバを使っておもちゃの車を走らせるところまで進めたので、やったことをまとめます。
同じことに挑戦する方のため、何を購入したのかも具体的に書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/raspberrypi-motordriver</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/raspberrypi-motordriver</guid><pubDate>Sat, 15 May 2021 11:33:44 GMT</pubDate><content:encoded>&lt;p&gt;最近友人と電子工作を色々やってみようという話になり、分かりやすいテーマとして「Raspberry Pi でおもちゃの車を自動走行させる」というのを目指すことになりました。&lt;/p&gt;
&lt;p&gt;最初の段階として、まずはモータドライバを使っておもちゃの車を走らせるところまで進めたので、やったことをまとめます。&lt;/p&gt;
&lt;p&gt;同じことに挑戦する方のため、何を購入したのかも具体的に書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;raspberry-pi-の用意&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#raspberry-pi-%E3%81%AE%E7%94%A8%E6%84%8F&quot; aria-label=&quot;raspberry pi の用意 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Raspberry Pi の用意&lt;/h2&gt;
&lt;p&gt;まずは何より Raspberry Pi と最低限の周辺機器が必要です。&lt;/p&gt;
&lt;p&gt;1 つ 1 つ探すと手間だったので、以下のキットを購入しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/33MIaI0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TRASKIT Raspberry Pi 4 Model B Starter Kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/gp/product/B08BFZ7PXS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8d3b1deabdb01f86f4997e14359d7cba&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BFZ7PXS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08BFZ7PXS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;入手したら、ディスプレイ、キーボード、マウスなどと接続し、初期設定をしてしまいましょう。&lt;/p&gt;
&lt;p&gt;もしも電子工作や Raspberry Pi 自体あまり自信がない場合、参考になる書籍としては以下のものが結構良かったです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2TGOaAk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;これ1冊でできる! ラズベリー・パイ 超入門&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084SW6YRW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ca17b6ec5d8dd8add810b9ba63f08487&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084SW6YRW&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084SW6YRW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本は初心者向けで、最初のセットアップから手厚く書かれています。&lt;/p&gt;
&lt;p&gt;モータで扇風機を回す例もあるので、今回やりたいことの参考にするにも丁度良いです。&lt;/p&gt;
&lt;h2 id=&quot;車体キットの用意&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%BB%8A%E4%BD%93%E3%82%AD%E3%83%83%E3%83%88%E3%81%AE%E7%94%A8%E6%84%8F&quot; aria-label=&quot;車体キットの用意 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;車体キットの用意&lt;/h2&gt;
&lt;p&gt;車体として何が良さそうか調べていたところ、以下の記事のようにラジコンカーを改造する例もありました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/Google_Homer/items/7cfc7496a897fdad7cdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;たぶん最安、オモチャのRCカーを利用し2800円でDonkey AI Carの車体をつくる方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Donkey AI Car も気になっており、とても参考になりそうな記事です。&lt;/p&gt;
&lt;p&gt;こちらの記事では 2800 円と書かれている「&lt;a href=&quot;https://amzn.to/3okce7B&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バクソーハー ガンマ&lt;/a&gt;」ですが、Amazon で調べると 4980 円となっており、思っていたより少し高額でした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079BNM2RZ?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5ebbee2dfc52469a086399de163b51c2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079BNM2RZ&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079BNM2RZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;今回はなるべく費用をおさえつつやっていきたいということもあり、2000 円程度で購入できる以下の車体キットを使うことにしました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3tMOcTx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;4輪駆動 スマートカー 車体キット&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0761XVVJT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f118d0f77f7eb7dfda1b2b0e72e178de&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0761XVVJT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0761XVVJT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;電子工作にあまり慣れていない自分たちでも、これを走らせるくらいはできそうだなという考えもあります。&lt;/p&gt;
&lt;p&gt;手元に届いたら、まずは電池に直接繋いで、モータが回転することを確認します。&lt;/p&gt;
&lt;center&gt;
  &lt;video width=&quot;320&quot; height=&quot;240&quot; controls&gt;
    &lt;source src=&quot;/media/run-motor-on-batteries.mp4&quot; type=&quot;video/mp4&quot;&gt;
  &lt;/video&gt;
&lt;/center&gt;
&lt;p&gt;無事回転しました。&lt;/p&gt;
&lt;p&gt;ちなみにこのキットについているモータは、直流で回転するいわゆる「DC モータ」です。&lt;/p&gt;
&lt;h2 id=&quot;raspberry-pi-でモータを回すときのポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#raspberry-pi-%E3%81%A7%E3%83%A2%E3%83%BC%E3%82%BF%E3%82%92%E5%9B%9E%E3%81%99%E3%81%A8%E3%81%8D%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;raspberry pi でモータを回すときのポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Raspberry Pi でモータを回すときのポイント&lt;/h2&gt;
&lt;p&gt;電池に直接繋いでモータを回せたら、次は Raspberry Pi 上のプログラムで回転を制御したいところです。&lt;/p&gt;
&lt;p&gt;Raspberry Pi でモータを回すときのポイントはいくつかあります。&lt;/p&gt;
&lt;h3 id=&quot;ポイント-1-raspberry-pi-の電圧で回さない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88-1-raspberry-pi-%E3%81%AE%E9%9B%BB%E5%9C%A7%E3%81%A7%E5%9B%9E%E3%81%95%E3%81%AA%E3%81%84&quot; aria-label=&quot;ポイント 1 raspberry pi の電圧で回さない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ポイント 1. Raspberry Pi の電圧で回さない&lt;/h3&gt;
&lt;p&gt;LED を光らせる「L チカ」では Raspberry Pi の GPIO で直接電圧をかけることが多いですが、モータを回す場合は必要な電流が大きくなるため、Raspberry Pi で直接電圧をかけるべきではありません。&lt;/p&gt;
&lt;p&gt;そこで「リレー」や「モータドライバ」を使うことになります。&lt;/p&gt;
&lt;p&gt;リレーを使うと、Raspberry Pi 側の電圧の ON/OFF をトリガーとして、モータ側の回路も ON/OFF できます。&lt;/p&gt;
&lt;h3 id=&quot;ポイント-2-回転速度を制御するには、モータドライバでパルス変調する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88-2-%E5%9B%9E%E8%BB%A2%E9%80%9F%E5%BA%A6%E3%82%92%E5%88%B6%E5%BE%A1%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%A7%E3%83%91%E3%83%AB%E3%82%B9%E5%A4%89%E8%AA%BF%E3%81%99%E3%82%8B&quot; aria-label=&quot;ポイント 2 回転速度を制御するには、モータドライバでパルス変調する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ポイント 2. 回転速度を制御するには、モータドライバでパルス変調する&lt;/h3&gt;
&lt;p&gt;しかし、リレーを使うだけではモータ側の回路は ON/OFF の 2 値をとるだけになります。&lt;/p&gt;
&lt;p&gt;回転速度を制御するには、モータドライバを使うことになります。&lt;/p&gt;
&lt;p&gt;そもそも、Raspberry Pi の GPIO は 0V と 5V の電圧を ON/OFF することしかできません。&lt;/p&gt;
&lt;p&gt;その中間の電圧を表現したいときは、非常に細かいサイクルで電圧を ON/OFF する、「パルス変調 (PWM)」という出力方式を使うことになります。&lt;/p&gt;
&lt;p&gt;モータドライバを使うと、この PWM をもとに中間の値の滑らかな電圧が扱えるようになるイメージです。&lt;/p&gt;
&lt;h2 id=&quot;モータドライバでモータを回す&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%A7%E3%83%A2%E3%83%BC%E3%82%BF%E3%82%92%E5%9B%9E%E3%81%99&quot; aria-label=&quot;モータドライバでモータを回す permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;モータドライバでモータを回す&lt;/h2&gt;
&lt;p&gt;ということで、モータドライバを用意します。&lt;/p&gt;
&lt;p&gt;モータドライバは 1 個で 2 つのモータに対応しているものも多いようです。&lt;/p&gt;
&lt;p&gt;タイヤは合計 4 個あり、すべて独立して制御する方向で考えたいので、2 個のモータドライバを購入することになります。&lt;/p&gt;
&lt;p&gt;電子部品は秋月電子で探すのが鉄板だとは思うのですが、今回は Amazon で以下のものを購入しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3eQaTlu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;HiLetgo 3pcs DRV8833デュアルモータードライバー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/gp/product/B014GZ9JTC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7a9edae65be01b40c225b86353ddbba0&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B014GZ9JTC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B014GZ9JTC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;使い方は Amazon の商品説明などを参考にします。&lt;/p&gt;
&lt;p&gt;はんだ付けしたり回路を組んだりして、モータを回した様子が以下です。&lt;/p&gt;
&lt;center&gt;
  &lt;video width=&quot;320&quot; height=&quot;240&quot; controls&gt;
    &lt;source src=&quot;/media/raspberrypi-motordriver-demo.mp4&quot; type=&quot;video/mp4&quot;&gt;
  &lt;/video&gt;
&lt;/center&gt;
&lt;p&gt;4 個のタイヤが無事回転しました。&lt;/p&gt;
&lt;p&gt;回転速度はプログラムで制御しており、徐々に速くなるようにしています。&lt;/p&gt;
&lt;p&gt;直進のみですが、地面を走ることもできました。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ひとまず、モータドライバを使っておもちゃの車を走らせることまではできました。&lt;/p&gt;
&lt;p&gt;次のステップとしては、ラジコンのような操作ができるようにしたいです。&lt;/p&gt;
&lt;p&gt;具体的には、PC の操作で直進したり左右に曲がったりできるようにしようと思います。&lt;/p&gt;
&lt;h2 id=&quot;その他、使ったもの&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE&quot; aria-label=&quot;その他、使ったもの permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、使ったもの&lt;/h2&gt;
&lt;p&gt;最後に、その他の購入品を掲載しておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;はんだこてセット&lt;/li&gt;
&lt;li&gt;ブレッドボード&lt;/li&gt;
&lt;li&gt;ジャンパワイヤ&lt;/li&gt;
&lt;li&gt;単三電池 4 本&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これだけあれば色々楽しめますので、興味がある方は是非挑戦してみてください！&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Web アプリをなんとなく作れるくらいの状態から AWS を勉強するには]]></title><description><![CDATA[Webアプリをなんとなく作れるようになった状態からAWSを勉強するにあたって「前提としてどんな知識をつけるといいか」、「手を動かすのにどういうことをしてみるといいか」などをまとめました。
自分は本で勉強する派なので、オススメの書籍も一緒に紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/how-to-study-aws-basics</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/how-to-study-aws-basics</guid><pubDate>Fri, 14 May 2021 07:15:59 GMT</pubDate><content:encoded>&lt;p&gt;Webアプリをなんとなく作れるようになった状態からAWSを勉強するにあたって&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前提としてどんな知識をつけるといいか&lt;/li&gt;
&lt;li&gt;手を動かすのにどういうことをしてみるといいか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などをまとめました。&lt;/p&gt;
&lt;p&gt;自分は本で勉強する派なので、オススメの書籍も一緒に紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;自分の-aws-の知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%87%AA%E5%88%86%E3%81%AE-aws-%E3%81%AE%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;自分の aws の知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;自分の AWS の知識&lt;/h2&gt;
&lt;p&gt;最初に自分の AWS の知識がどのくらいか目安を書かせていただきます。&lt;/p&gt;
&lt;p&gt;分かりやすい認定資格で言うと、3 年ほど前に AWS 認定のアソシエイト資格 3 つとプロフェッショナル資格 2 つを取得しており、AWS は仕事で継続的に利用しています。&lt;/p&gt;
&lt;p&gt;とはいえ AWS は膨大な数のサービスを提供していますし、アップデートも激しいので、まだまだ知らないこともたくさんあります。&lt;/p&gt;
&lt;h2 id=&quot;勉強法紹介の流れ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8B%89%E5%BC%B7%E6%B3%95%E7%B4%B9%E4%BB%8B%E3%81%AE%E6%B5%81%E3%82%8C&quot; aria-label=&quot;勉強法紹介の流れ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;勉強法紹介の流れ&lt;/h2&gt;
&lt;p&gt;では、勉強法について書いていこうと思います。&lt;/p&gt;
&lt;p&gt;AWS の勉強といっても色々あるので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Step 1. AWS の前に知っておきたい前提知識&lt;/li&gt;
&lt;li&gt;Step 2. AWS の基本の勉強&lt;/li&gt;
&lt;li&gt;Step 3. さらに発展的な勉強&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というステップに分けて書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;step-1-aws-の前に知っておきたい前提知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-1-aws-%E3%81%AE%E5%89%8D%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;step 1 aws の前に知っておきたい前提知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 1. AWS の前に知っておきたい前提知識&lt;/h2&gt;
&lt;p&gt;AWS を勉強する際の前提として知っておきたいことは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1-1. Web の仕組み・アプリの仕組み&lt;/li&gt;
&lt;li&gt;1-2. サーバ操作の基礎&lt;/li&gt;
&lt;li&gt;1-3. ネットワークの基礎&lt;/li&gt;
&lt;li&gt;1-4. 暗号化や Web のセキュリティ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりだと思います。&lt;/p&gt;
&lt;p&gt;それぞれ具体的にどんなことが分かっているといいか書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;1-1-web-の仕組み・アプリの仕組み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-1-web-%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%83%BB%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF&quot; aria-label=&quot;1 1 web の仕組み・アプリの仕組み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1-1. Web の仕組み・アプリの仕組み&lt;/h3&gt;
&lt;p&gt;AWS の勉強の第一歩としては、Web アプリケーションを AWS 上で動かしてみることが多いのではないでしょうか。&lt;/p&gt;
&lt;p&gt;そのためには、そもそも Web とは何か、Web アプリとは何か、その概要を知っておくことが望ましいです。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブラウザとサーバが HTTP で通信していて、ブラウザの開発者ツールなどでその様子を見られること&lt;/li&gt;
&lt;li&gt;サーバサイドのプログラムはサーバ上で動作し、フロントエンドのプログラムはブラウザ上で動作していること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが理解できていると良いと思います。&lt;/p&gt;
&lt;p&gt;これが最初はなかなか理解しにくいところですが、AWS の勉強に限らず絶対におさえておきたい重要なポイントです。&lt;/p&gt;
&lt;p&gt;書籍としては『&lt;a href=&quot;https://amzn.to/3ukxUC6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロになるためのWeb技術入門&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;2010 年の書籍ということで、Ajax の利用や SPA といった最近よく使われる構成については解説されていませんが、Web の仕組み・Web アプリの仕組みの基本を学ぶには定番の一冊です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774142352?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d76de03940bb8ddc5324d8a8c6a8dbf6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774142352&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4774142352&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;1-2-サーバ操作の基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-2-%E3%82%B5%E3%83%BC%E3%83%90%E6%93%8D%E4%BD%9C%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;1 2 サーバ操作の基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1-2. サーバ操作の基礎&lt;/h3&gt;
&lt;p&gt;AWS の入門では、サーバのサービスである EC2 をさわるケースがほとんどです。&lt;/p&gt;
&lt;p&gt;そのためにも、サーバ操作の基礎は身につけておきたいです。&lt;/p&gt;
&lt;p&gt;具体的には&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pwd, cd, ls, mv, cp, rm, mkdir などのファイル・ディレクトリ操作の基本コマンド&lt;/li&gt;
&lt;li&gt;yum や apt でパッケージをインストールする方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりを最低限身につけておきたいです。&lt;/p&gt;
&lt;p&gt;書籍としては『&lt;a href=&quot;https://amzn.to/3iokZwn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新しいLinuxの教科書&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B072K1NH76/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3ec19e0c850ea66facfda93cd45749b5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B072K1NH76&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B072K1NH76&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;これを機会として Linux の資格の LPIC レベル 1 くらいを取得してみるのもいいと思います。&lt;/p&gt;
&lt;p&gt;実際に手を動かすには AWS の EC2 などを使うか、手元の PC に VirtualBox などで仮想マシンを入れるかになるケースが多いでしょう。&lt;/p&gt;
&lt;p&gt;どちらでも全然構いませんが、例えば、後述する AWS のハンズオンの書籍を参考に、AWS 上でサーバをさわりながら学んでみるのもいいと思います。&lt;/p&gt;
&lt;h3 id=&quot;1-3-ネットワークの基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-3-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;1 3 ネットワークの基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1-3. ネットワークの基礎&lt;/h3&gt;
&lt;p&gt;インフラ周りの経験がない方が AWS の入門で最初につまづく原因になるのは、確実にネットワークの基礎知識不足です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TCP/IP の 4 階層モデル&lt;/li&gt;
&lt;li&gt;サブネットやルーティング、NAT&lt;/li&gt;
&lt;li&gt;curl や nc などのコマンドでネットワークの疎通を確認する方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりを理解していないと、AWS の入門で登場するネットワーク関係の用語の理解したり、ハンズオンでつまったときに解決するのは難しいです。&lt;/p&gt;
&lt;p&gt;書籍としては『&lt;a href=&quot;https://amzn.to/2SlN5gZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=37e395a926161c510c7b18f869a94bb0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ネットワークの基礎は全く勉強したことがないと訳が分からなくなってしまうかもしれませんが、じっくり勉強すれば乗り越えられる壁です。&lt;/p&gt;
&lt;p&gt;AWS を学ぶ前提知識として必須なので、頑張ってください。&lt;/p&gt;
&lt;h3 id=&quot;1-4-暗号化や-web-のセキュリティ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#1-4-%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%84-web-%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&quot; aria-label=&quot;1 4 暗号化や web のセキュリティ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;1-4. 暗号化や Web のセキュリティ&lt;/h3&gt;
&lt;p&gt;AWS をハンズオンとして少しさわるだけならいいかもしれませんが、実際に AWS 上でアプリケーションを公開したりしたいのであれば、暗号化や Web のセキュリティの基本もおさえておきたいです。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTPS で使われる SSL/TLS はどんなもので、何から保護してくれるのか&lt;/li&gt;
&lt;li&gt;XSS や SQL インジェクションなど、定番の攻撃手法とその防ぎ方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などを学んでおきたいです。&lt;/p&gt;
&lt;p&gt;暗号化については『&lt;a href=&quot;https://amzn.to/2T9k6gu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号技術入門&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B015643CPE/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8f103387c16c08c5f26433863efcde16&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B015643CPE&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B015643CPE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web アプリケーションのセキュリティについては『&lt;a href=&quot;https://amzn.to/2TcnTtl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;体系的に学ぶ 安全なWebアプリケーションの作り方&lt;/a&gt;』がオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07DVY4H3M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=b0867a4acc8f8c8a5411629f6c3fe1cd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07DVY4H3M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07DVY4H3M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここまで前提知識として色々書いてきましたが、もちろん AWS の勉強と前後しながら学んでも大丈夫です。&lt;/p&gt;
&lt;p&gt;次は、AWS の基本を勉強する上でのオススメを紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;step-2-aws-の基本の勉強&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-2-aws-%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%AE%E5%8B%89%E5%BC%B7&quot; aria-label=&quot;step 2 aws の基本の勉強 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 2. AWS の基本の勉強&lt;/h2&gt;
&lt;p&gt;AWS の勉強では、認定資格の取得が非常にオススメです。&lt;/p&gt;
&lt;p&gt;AWS は膨大な数のサービスを提供しており、どこから勉強すればいいのか分からなくなりがちです。&lt;/p&gt;
&lt;p&gt;認定資格の取得を目標にすることで、どこから手をつけていいのか明確になりやすいです。&lt;/p&gt;
&lt;p&gt;AWS の基本の勉強では、「AWS 認定 ソリューションアーキテクト – アソシエイト」(以後、SAA と略します) の取得を目指すのがオススメです。&lt;/p&gt;
&lt;p&gt;ここから、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2-1. まずはさわってイメージをつける&lt;/li&gt;
&lt;li&gt;2-2. 資格対策本を手に取る&lt;/li&gt;
&lt;li&gt;2-3. もう少し手を動かしてみるなら&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という順番で、AWS の基本の勉強について書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;2-1-まずはさわってイメージをつける&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-1-%E3%81%BE%E3%81%9A%E3%81%AF%E3%81%95%E3%82%8F%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B&quot; aria-label=&quot;2 1 まずはさわってイメージをつける permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2-1. まずはさわってイメージをつける&lt;/h3&gt;
&lt;p&gt;さて、いきなり資格の参考書で勉強してもいいのですが、クラウドやサーバといったもののイメージがついていない場合、まずは AWS をさわってみるのが良いです。&lt;/p&gt;
&lt;p&gt;ハンズオンには、『&lt;a href=&quot;https://amzn.to/3xbc6ul&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク&amp;#x26;サーバー構築&lt;/a&gt;』という書籍が非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=7ae933ba9954aea5e1504ef25c080ff8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;とても丁寧な解説の書籍で、今までサーバやネットワーク周りをほとんど扱ったことがない方が手に取るのにも丁度良いです。&lt;/p&gt;
&lt;p&gt;この本の内容を一通り手を動かしてみることで、VPC や EC2 の基本をしっかり理解することができます。&lt;/p&gt;
&lt;h3 id=&quot;2-2-資格対策本を手に取る&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-2-%E8%B3%87%E6%A0%BC%E5%AF%BE%E7%AD%96%E6%9C%AC%E3%82%92%E6%89%8B%E3%81%AB%E5%8F%96%E3%82%8B&quot; aria-label=&quot;2 2 資格対策本を手に取る permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2-2. 資格対策本を手に取る&lt;/h3&gt;
&lt;p&gt;クラウド上でサーバを扱うイメージができたら、SAA 資格の対策本で体系的に勉強するのがオススメです。&lt;/p&gt;
&lt;p&gt;一点注意事項としては、AWS SAA の試験は、2020 年から改定され、SAA-C02 というものになっています。&lt;/p&gt;
&lt;p&gt;対策用の書籍などを購入する場合は “C02” に対応しているか確認したほうがいいです。&lt;/p&gt;
&lt;p&gt;試験対策もしつつ AWS を体系的に学べる書籍としては、『&lt;a href=&quot;https://amzn.to/3csmWUF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応&lt;/a&gt;』が非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08SGSD479/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=a8e5940885497e035a9d9e6943891ab7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08SGSD479&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08SGSD479&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;AWS の基本サービスや高可用アーキテクチャ、パフォーマンス、セキュリティ設計、コスト最適化など、各観点のベストプラクティスの解説が手厚いです。&lt;/p&gt;
&lt;p&gt;もしも試験に不安があれば、もう 1 冊、『&lt;a href=&quot;https://amzn.to/3zanacP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版&lt;/a&gt;』も手に取るのがオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MVXRFFN/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=502a8aa17c24b5c6fd0b3df38babb17f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MVXRFFN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08MVXRFFN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらは 1 冊目とは異なり、AWS の各サービスの説明が手厚く、模擬試験問題も付属しています。&lt;/p&gt;
&lt;h3 id=&quot;2-3-もう少し手を動かしてみるなら&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#2-3-%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B%E3%81%AA%E3%82%89&quot; aria-label=&quot;2 3 もう少し手を動かしてみるなら permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;2-3. もう少し手を動かしてみるなら&lt;/h3&gt;
&lt;p&gt;追加でもう少し手を動かしてみたい場合は、好きな言語・フレームワークの Web アプリケーションを VPC・EC2・RDB あたりを使って疎通させてみるのがオススメです。&lt;/p&gt;
&lt;p&gt;これができれば、サーバの操作やネットワークの基礎も身についてきたということではないでしょうか。&lt;/p&gt;
&lt;p&gt;また、「EC2 から S3 に IAM Role を使ってアクセスする」というのも、実戦で非常に役立ちますし、やってみると面白いと思います。&lt;/p&gt;
&lt;h2 id=&quot;step-3-さらに発展的な勉強&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#step-3-%E3%81%95%E3%82%89%E3%81%AB%E7%99%BA%E5%B1%95%E7%9A%84%E3%81%AA%E5%8B%89%E5%BC%B7&quot; aria-label=&quot;step 3 さらに発展的な勉強 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Step 3. さらに発展的な勉強&lt;/h2&gt;
&lt;p&gt;ここまでの内容が、AWS で簡単な構成を組む場合に必要な知識になってきます。&lt;/p&gt;
&lt;p&gt;もう少ししっかり色々設計できるようになりたい場合は、さらに勉強が必要になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3-1. SAP 資格を目指す&lt;/li&gt;
&lt;li&gt;3-2. 周辺エコシステムなども学ぶ&lt;/li&gt;
&lt;li&gt;3-3. 前提知識を増やす&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の順で少しだけ書いていきます。&lt;/p&gt;
&lt;h3 id=&quot;3-1-sap-資格を目指す&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-1-sap-%E8%B3%87%E6%A0%BC%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99&quot; aria-label=&quot;3 1 sap 資格を目指す permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3-1. SAP 資格を目指す&lt;/h3&gt;
&lt;p&gt;次の大きな目標としては、「AWS 認定ソリューションアーキテクト – プロフェッショナル」(以後、SAP と略します) の資格取得を目指すのがオススメです。&lt;/p&gt;
&lt;p&gt;SAP 資格は正直かなり難しいのですが、その分取得していると自信もつきますし、信頼にも繋がります。&lt;/p&gt;
&lt;p&gt;日本語の書籍として出ているのは『&lt;a href=&quot;https://amzn.to/3z3Riqa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS認定ソリューションアーキテクト-プロフェッショナル ~試験特性から導き出した演習問題と詳細解説&lt;/a&gt;』の 1 冊くらいです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08F9CQ6LT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=923d6789d19871f230d8daff59b30863&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08F9CQ6LT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08F9CQ6LT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;あとは &lt;a href=&quot;https://aws.amazon.com/jp/whitepapers/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ホワイトペーパー&lt;/a&gt; を読んだり、&lt;a href=&quot;https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Black Belt Online Seminar の資料&lt;/a&gt; などで勉強するのが定番です。&lt;/p&gt;
&lt;p&gt;きっとクラスメソッドさんのブログにもお世話になると思います。いつもありがとうございます。&lt;/p&gt;
&lt;h3 id=&quot;3-2-周辺エコシステムなども学ぶ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-2-%E5%91%A8%E8%BE%BA%E3%82%A8%E3%82%B3%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AA%E3%81%A9%E3%82%82%E5%AD%A6%E3%81%B6&quot; aria-label=&quot;3 2 周辺エコシステムなども学ぶ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3-2. 周辺エコシステムなども学ぶ&lt;/h3&gt;
&lt;p&gt;実際に AWS を使う上では、Terraform や Serverless Framework などの周辺エコシステムを利用することも多いです。&lt;/p&gt;
&lt;p&gt;また、Docker などのコンテナ技術や Lambda などのサーバレスサービス、Amplify などの BaaS についても知っておきたいです。&lt;/p&gt;
&lt;p&gt;GCP とか Azure など、他のクラウドプロバイダについて学ぶのも良いと思います。&lt;/p&gt;
&lt;p&gt;Docker、GCP、Azure については、それぞれ別記事に書籍をまとめているので、ご興味あれば参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker 関連の書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/docker-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GCP 関連の書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/gcp-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Azure 関連の書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/microsoft-azure-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;3-3-前提知識を増やす&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3-3-%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98%E3%82%92%E5%A2%97%E3%82%84%E3%81%99&quot; aria-label=&quot;3 3 前提知識を増やす permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;3-3. 前提知識を増やす&lt;/h3&gt;
&lt;p&gt;AWS をうまく活用できるようになるには、AWS の勉強だけすればいいわけではありません。&lt;/p&gt;
&lt;p&gt;OS やネットワークの知識を深めるのもそうですが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SPA や SSR、SSG などの、最近よくあるアプリケーション構成&lt;/li&gt;
&lt;li&gt;OAuth 2.0 や Open ID Connect などの、認証認可関連技術&lt;/li&gt;
&lt;li&gt;監視やプロダクションレディな設計、マイクロサービスアーキテクチャ&lt;/li&gt;
&lt;li&gt;ビッグデータや機械学習&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などなど、知っておくと役立つことはたくさんあります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;これだけ色々書いてきましたが、AWS はすでに膨大な数のサービスを提供している上、アップデートも激しく、私もまだまだ知らないことだらけです。&lt;/p&gt;
&lt;p&gt;興味はあるけどさわったことがないサービスや面白いアップデートもたくさんありますし、今後も引き続き勉強していくつもりです。&lt;/p&gt;
&lt;p&gt;こちらの記事が AWS を勉強しようという方に少しでもお役に立てば嬉しいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[『ゼロからのOS自作入門』を読みました【感想・難しいと感じる方にオススメの事前準備】]]></title><description><![CDATA[2021 年 3 月に発売された『ゼロからのOS自作入門』(通称: みかん本) を一周読んだので、その感想と、難しいと感じる方にオススメの事前準備をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/4839975868</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4839975868</guid><pubDate>Thu, 13 May 2021 15:13:58 GMT</pubDate><content:encoded>&lt;p&gt;2021 年 3 月に発売された『&lt;a href=&quot;https://amzn.to/3crctJc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』(通称: みかん本) を一周読んだので、その感想と、難しいと感じる方にオススメの事前準備をまとめました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=ed5799116e0c52ce98893142f5509b51&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;2 ヶ月ほど前に発売されたこちらの書籍、発売されてから Twitter などでとても頻繁に見かけて気になっており、興味のある内容ということもあって購入に至りました。&lt;/p&gt;
&lt;p&gt;実装するほどの時間がとれず、実装せずに読み進めたのですが、読み物としても非常に楽しめました。&lt;/p&gt;
&lt;h3 id=&quot;実装までイメージできる、というか実装できる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%81%BE%E3%81%A7%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%A7%E3%81%8D%E3%82%8B%E3%80%81%E3%81%A8%E3%81%84%E3%81%86%E3%81%8B%E5%AE%9F%E8%A3%85%E3%81%A7%E3%81%8D%E3%82%8B&quot; aria-label=&quot;実装までイメージできる、というか実装できる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装までイメージできる、というか実装できる&lt;/h3&gt;
&lt;p&gt;後で紹介するように、OS の仕組みについて概念を解説する読みやすい書籍はいくつかありますが、具体的にどう実装して実現されているのかをイメージできるものはなかなかありません。&lt;/p&gt;
&lt;p&gt;この書籍は、OS の重要な概念について、それがどういうもので、なぜ必要なのかなど、とても分かりやすく解説しつつ、具体的な実装についても手厚く解説されています。&lt;/p&gt;
&lt;p&gt;といってもコードばかりの書籍という訳でもなく、言葉での解説とコードでの解説が程よい割合です。&lt;/p&gt;
&lt;h3 id=&quot;とにかく読みやすい&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A8%E3%81%AB%E3%81%8B%E3%81%8F%E8%AA%AD%E3%81%BF%E3%82%84%E3%81%99%E3%81%84&quot; aria-label=&quot;とにかく読みやすい permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;とにかく読みやすい&lt;/h3&gt;
&lt;p&gt;何より、説明が非常に平易で読みやすいです。&lt;/p&gt;
&lt;p&gt;OS の作り方を教科書的にまとめているのではなく、ストーリーを展開しながら進めていくので、なぜこんなことをしようとしているのかも分かりやすいです。&lt;/p&gt;
&lt;p&gt;全体としては 700 ページを超える分厚い本ですが、1 章 1 章は短めということもあり、分厚さのわりには心が折れにくいと思います。&lt;/p&gt;
&lt;p&gt;また、こういう機能はロマンがあるから実装してみる、といった遊び心のある展開も個人的に結構好きでした。&lt;/p&gt;
&lt;h3 id=&quot;os-を学びたい方にとてもオススメ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E3%82%92%E5%AD%A6%E3%81%B3%E3%81%9F%E3%81%84%E6%96%B9%E3%81%AB%E3%81%A8%E3%81%A6%E3%82%82%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1&quot; aria-label=&quot;os を学びたい方にとてもオススメ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS を学びたい方にとてもオススメ&lt;/h3&gt;
&lt;p&gt;全体として、OS といっても他のプログラムと同じで、誰かが考えた工夫の積み重ねのうえでできているんだなということが実感できました。&lt;/p&gt;
&lt;p&gt;OS の重要な概念について、なんとなく知っているけど実装まではイマイチ想像できない、といった方に非常にオススメです。&lt;/p&gt;
&lt;p&gt;今回私は実装せずに読み進めたため、実装上の細かいテクニックまでは味わえなかったのですが、実際に実装すると楽しめそうなテクニックもたくさん紹介されています。&lt;/p&gt;
&lt;p&gt;そこは時間ができたときの楽しみにとっておこうと思います。&lt;/p&gt;
&lt;h2 id=&quot;もし事前準備をするなら&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%82%E3%81%97%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99%E3%82%92%E3%81%99%E3%82%8B%E3%81%AA%E3%82%89&quot; aria-label=&quot;もし事前準備をするなら permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;もし事前準備をするなら&lt;/h2&gt;
&lt;p&gt;書籍の最初には対象読者として「簡単なプログラムを書いたことがある人」と書かれていますが、パラパラ見てみて難しいと感じる方もいらっしゃると思います。&lt;/p&gt;
&lt;p&gt;そんな方のために、もしも事前準備をするなら前提として何を勉強しておくと良さそうか、自分のオススメをまとめます。&lt;/p&gt;
&lt;p&gt;大きくは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C 言語の基礎&lt;/li&gt;
&lt;li&gt;CPU の仕組みの概要&lt;/li&gt;
&lt;li&gt;OS の基礎知識&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つです。&lt;/p&gt;
&lt;h3 id=&quot;c-言語の基礎&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c-%E8%A8%80%E8%AA%9E%E3%81%AE%E5%9F%BA%E7%A4%8E&quot; aria-label=&quot;c 言語の基礎 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;C 言語の基礎&lt;/h3&gt;
&lt;p&gt;この本で作成される MikanOS のコードは、ほぼ C++ (一部アセンブリ言語) で書かれています。&lt;/p&gt;
&lt;p&gt;C 言語の基礎知識として、ポインタや malloc による動的メモリ確保、関数ポインタくらいを理解していると読み進めやすいです。&lt;/p&gt;
&lt;p&gt;(読むだけでなく実装する際は、C++ の知識もあるとスムーズだと思います)&lt;/p&gt;
&lt;p&gt;後で紹介する『ふつうのLinuxプログラミング』という書籍もそうですが、C 言語の知識はいわゆる低レイヤを勉強するうえで非常に役立つので、基本だけでも学んでおくのがオススメです。&lt;/p&gt;
&lt;p&gt;勉強方法としては、適当な入門書を手にとってみてもいいと思いますし、C 言語入門サイトの「&lt;a href=&quot;https://9cguide.appspot.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;苦しんで覚えるＣ言語&lt;/a&gt;」などで学ぶのも良いかもしれません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07H2WH1F4/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=39a17834cfc012b9388ccf0c21e2f465&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07H2WH1F4&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07H2WH1F4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;cpu-の仕組みの概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cpu-%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;cpu の仕組みの概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CPU の仕組みの概要&lt;/h3&gt;
&lt;p&gt;OS を実装するので当たり前ではありますが、CPU を意識する箇所が非常にたくさんあります。&lt;/p&gt;
&lt;p&gt;例えば、アセンブリ言語のコードがしばしば登場したり、レジスタを意識する箇所がとても多いです。&lt;/p&gt;
&lt;p&gt;そのため、CPU の仕組みも概要程度でも知っておくと読みやすくなると思います。&lt;/p&gt;
&lt;p&gt;定番ではありますが、書籍『&lt;a href=&quot;https://amzn.to/3iqoEtq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CPUの創りかた&lt;/a&gt;』はとても分かりやすくてオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08639XM13/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=16cfd679aefc759788f50506f8face67&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08639XM13&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08639XM13&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらは私は未読ですが、みかん本の著者の方が書いている『&lt;a href=&quot;https://amzn.to/3gnE4fE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!&lt;/a&gt;』もとても良さそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0148FQNVC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4b46e6948491fe79645035748be516d2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0148FQNVC&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0148FQNVC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;保護機能や割り込み、タスク機能など、OS を実現するための CPU の実践的な機能については、『&lt;a href=&quot;https://amzn.to/3yi2Sg6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;32ビットコンピュータをやさしく語る　はじめて読む486&lt;/a&gt;』の解説が分かりやすいです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00OCF5YUA/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bd915924a3e5d1403520692a4035fde2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00OCF5YUA&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00OCF5YUA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;その他、CPU について学ぶための書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cpu-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;h3 id=&quot;os-の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;os の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS の基礎知識&lt;/h3&gt;
&lt;p&gt;事前準備のオススメの最後は、OS の基礎知識です。&lt;/p&gt;
&lt;p&gt;コマンドを使った基本操作ができるうえで、OS の仕組みについても多少勉強しておくと良いかもしれません。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ユーザモードとカーネルモード&lt;/li&gt;
&lt;li&gt;システムコール&lt;/li&gt;
&lt;li&gt;コンテキストスイッチ&lt;/li&gt;
&lt;li&gt;仮想アドレス&lt;/li&gt;
&lt;li&gt;ファイルシステム&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの概念を理解しておくと、読み進めるのがスムーズになります。&lt;/p&gt;
&lt;p&gt;具体的な勉強方法としては、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3crcUTQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ggv3oz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊を読むのが非常にオススメです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=766bf5a26e5668093829305b932d382c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6e34b0c75aa1195be3fdbc43945886e1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;前提としてこのくらいの知識があると、みかん本で登場する概念を理解するのにつまづく箇所はかなり少なくなると思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、『ゼロからのOS自作入門』(通称: みかん本) の感想と、ハードルが高いと感じる方にオススメの事前準備をまとめました。&lt;/p&gt;
&lt;p&gt;とにかく素晴らしい本だったので、迷っている方は是非購入してみてください。&lt;/p&gt;
&lt;p&gt;分厚い本なだけあって、読んだ後の達成感も大きいです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=6ab288c7f99fa904fc5d29a04f8a6330&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本に続いて『&lt;a href=&quot;https://amzn.to/3blrHis&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;詳解 Linuxカーネル 第3版&lt;/a&gt;』も読みました。感想を &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/487311313X&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非参照ください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/487311313X?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=70c355488a33c384d1ba16ae78315fe9&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=487311313X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=487311313X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Raspberry Pi で L チカしてるプログラムを、k3s を使って無停止で更新する]]></title><description><![CDATA[最近 Raspberry Pi で遊び始め、Raspberry Pi 上で動いているプログラムを無停止で更新できたら面白いなと思い、k3s を使った無停止リリースに挑戦してみました。]]></description><link>https://www.kanzennirikaisita.com/posts/raspberrypi-k3s-non-stop-release</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/raspberrypi-k3s-non-stop-release</guid><pubDate>Sat, 08 May 2021 12:04:52 GMT</pubDate><content:encoded>&lt;p&gt;最近 Raspberry Pi で遊び始め、Raspberry Pi 上で動いているプログラムを無停止で更新できたら面白いなと思い、k3s を使った無停止リリースに挑戦してみました。&lt;/p&gt;
&lt;p&gt;最終的には、プログラムの更新によって、以下のように途中で L チカのスピードが速くなります。&lt;/p&gt;
&lt;center&gt;
  &lt;video width=&quot;320&quot; height=&quot;240&quot; controls&gt;
    &lt;source src=&quot;/media/raspberrypi-k3s-non-stop-release-demo.mp4&quot; type=&quot;video/mp4&quot;&gt;
  &lt;/video&gt;
&lt;/center&gt;
&lt;h2 id=&quot;環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%92%B0%E5%A2%83&quot; aria-label=&quot;環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3uxyMnk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Raspberry Pi 4 Model B&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OS … Raspbian&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B081YD3VL5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=573cedd3f64001e4e474596b9d5c2e51&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B081YD3VL5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B081YD3VL5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;方針&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%B9%E9%87%9D&quot; aria-label=&quot;方針 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;方針&lt;/h2&gt;
&lt;p&gt;さて、まずはどうやって無停止でプログラムを更新するかを考えてみます。&lt;/p&gt;
&lt;p&gt;GPIO を複数のプログラムが同時にさわるとよくないことになりそうなので、GPIO を扱うプログラムを無停止で更新するのは少しハードルが高そうです。&lt;/p&gt;
&lt;p&gt;そこで、「GPIO を扱うプログラム」と「GPIO に与える値を計算するプログラム」を別プロセスにする方針を考えてみました。&lt;/p&gt;
&lt;p&gt;下図のようなイメージです。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/raspberrypi-k3s-non-stop-release-architecture.jpg&quot; alt=&quot;raspberrypi-k3s-non-stop-release-architecture.jpg&quot;&gt;&lt;/p&gt;
&lt;p&gt;この「GPIO を扱うプロセス」から「計算を担当するプロセス」に向けて定期的に HTTP リクエストを送り、その結果を GPIO に出力する流れです。&lt;/p&gt;
&lt;p&gt;その上で、サーバ側のプログラムの更新は k3s を使えば簡単に無停止でできそうなので、k3s を使ってみようと思います。&lt;/p&gt;
&lt;h2 id=&quot;k3s-のセットアップ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#k3s-%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97&quot; aria-label=&quot;k3s のセットアップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;k3s のセットアップ&lt;/h2&gt;
&lt;p&gt;もし k3s が動かないと方針から考え直しなので、最初に k3s をセットアップして動作確認します。&lt;/p&gt;
&lt;p&gt;といってもめちゃくちゃ簡単で、Raspberry Pi 上で以下のコマンドを実行するだけです。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;curl -sfL https://get.k3s.io | sh -&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;この際、私の環境では cgroup の設定の関係でエラーになりましたが、エラーメッセージの通り対処して reboot すれば解決しました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://github.com/k3s-io/k3s/issues/2067&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;k3s on pi error - cgroup&lt;em&gt;memory=1 cgroup&lt;/em&gt;enable=memory #2067&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ちなみに、もともとは MicroK8s を使おうと思っていたのですが、手こずりそうな雰囲気を感じたため k3s に変更しました。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://github.com/ubuntu/microk8s/issues/719&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Microk8s on armhf architecture #719&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;インストールしたら &lt;code class=&quot;language-text&quot;&gt;kubectl run&lt;/code&gt; や &lt;code class=&quot;language-text&quot;&gt;kubectl get pod&lt;/code&gt; などでコンテナを動かせることを確認しておきましょう。&lt;/p&gt;
&lt;h2 id=&quot;通信のインタフェースを決める&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%9A%E4%BF%A1%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E6%B1%BA%E3%82%81%E3%82%8B&quot; aria-label=&quot;通信のインタフェースを決める permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;通信のインタフェースを決める&lt;/h2&gt;
&lt;p&gt;実装に入る前に、クライアント側・サーバ側が HTTP で通信するときのインタフェースを決める必要があります。&lt;/p&gt;
&lt;p&gt;今回は L チカで済ませるつもりなので何でも良いのですが、今後複数の PIN を扱えるよう、以下のようにしました。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;json&quot;&gt;&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;gpios&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&quot;pin&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&quot;value&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;value が 1 なら ON、0 なら OFF となります。&lt;/p&gt;
&lt;h2 id=&quot;クライアント側のプログラム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E5%81%B4%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&quot; aria-label=&quot;クライアント側のプログラム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クライアント側のプログラム&lt;/h2&gt;
&lt;p&gt;では、GPIO を扱う、クライアント側に相当するプログラムを用意します。&lt;/p&gt;
&lt;p&gt;Python ならライブラリを入れたりせずに GPIO が扱えたので、Python で書いてみました。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;python&quot;&gt;&lt;pre class=&quot;language-python&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; RPi&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;GPIO &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; GPIO
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; time
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; datetime
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; requests

URL &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;http://localhost:30000&apos;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;request_gpios&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  response &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; requests&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;get&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;URL&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; timeout&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  body &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; response&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  now &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; datetime&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;datetime&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;now&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;now&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos; | body: &apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;body&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; body&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;gpios&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setup_gpios&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gpios&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; gpio &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; gpios&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    pin &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; gpio&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;pin&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
    GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;setup&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pin&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;OUT&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;output_gpios&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gpios&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; gpio &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; gpios&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    pin &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; gpio&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;pin&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
    value &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; gpio&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;value&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
    GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;output&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;pin&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; value&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;setmode&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;BCM&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  gpios &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; request_gpios&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  setup_gpios&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gpios&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    gpios &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; request_gpios&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    output_gpios&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;gpios&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    time&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sleep&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;except&lt;/span&gt; KeyboardInterrupt&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  GPIO&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;cleanup&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;0.5 秒ごとにリクエストを送り、その結果を GPIO に出力しているだけです。&lt;/p&gt;
&lt;p&gt;サーバ側もできたら、以下のように実行することになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ python main.py
2021-05-08 19:57:36.481347 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 1, u&amp;#39;pin&amp;#39;: 21}]}
2021-05-08 19:57:36.491097 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 1, u&amp;#39;pin&amp;#39;: 21}]}
2021-05-08 19:57:36.998604 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 0, u&amp;#39;pin&amp;#39;: 21}]}
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;サーバ側のプログラム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%90%E5%81%B4%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&quot; aria-label=&quot;サーバ側のプログラム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サーバ側のプログラム&lt;/h2&gt;
&lt;p&gt;次に、サーバ側のプログラムを作成します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; http &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;http&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; process &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;process&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;PORT&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;INTERVAL_MILLIS&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;env&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;INTERVAL_MILLIS&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ON_RESPONSE&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  gpios&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      pin&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      value&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;OFF_RESPONSE&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  gpios&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      pin&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      value&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; response &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ON_RESPONSE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

intervalObj &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;setInterval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  response &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; response &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ON_RESPONSE&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;OFF_RESPONSE&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ON_RESPONSE&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;INTERVAL_MILLIS&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; server &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; http
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createServer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;req&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; res&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;writeHead&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Content-Type&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;text/plain&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; body &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;response&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;body&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; now &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;now &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot; | body: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; body&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PORT&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Server http://localhost:&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;PORT&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

process&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;SIGTERM&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// リクエストの処理中かもしれないので 5 秒待つ&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Received SIGTERM at &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    server&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Server closed&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token function&quot;&gt;clearInterval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;intervalObj&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;intervalObj cleared&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;クライアント側と比べると少し長いですが、ざっくり言えば、環境変数 INTERVAL_MILLIS で指定した時間ごとにレスポンスの ON/OFF の値が切り替わるだけです。&lt;/p&gt;
&lt;p&gt;コードの最後の部分については、k3s でコンテナを更新する際に古いほうのコンテナに飛ぶ SIGTERM をうまくハンドリング (Graceful Shutdown) するための記述です。&lt;/p&gt;
&lt;p&gt;試しに実行して &lt;code class=&quot;language-text&quot;&gt;curl localhost:3000&lt;/code&gt; のようなリクエストを送ると、以下のようになります。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ node server.js
Server http://localhost:3000
1620471867537 | body: {&amp;quot;gpios&amp;quot;:[{&amp;quot;pin&amp;quot;:21,&amp;quot;value&amp;quot;:1}]}
1620471868278 | body: {&amp;quot;gpios&amp;quot;:[{&amp;quot;pin&amp;quot;:21,&amp;quot;value&amp;quot;:1}]}
1620471868861 | body: {&amp;quot;gpios&amp;quot;:[{&amp;quot;pin&amp;quot;:21,&amp;quot;value&amp;quot;:0}]}
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;サーバ側のコンテナイメージを作成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%BC%E3%83%90%E5%81%B4%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90&quot; aria-label=&quot;サーバ側のコンテナイメージを作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サーバ側のコンテナイメージを作成&lt;/h2&gt;
&lt;p&gt;クライアント側、サーバ側のプログラムができたので、サーバ側をコンテナにしようと思います。&lt;/p&gt;
&lt;p&gt;コンテナ化したいので、Dockerfile を書きます&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;dockerfile&quot;&gt;&lt;pre class=&quot;language-dockerfile&quot;&gt;&lt;code class=&quot;language-dockerfile&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;FROM&lt;/span&gt; node&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;14.16.1&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;alpine

&lt;span class=&quot;token keyword&quot;&gt;COPY&lt;/span&gt; server.js /opt/app/

&lt;span class=&quot;token keyword&quot;&gt;ENTRYPOINT&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;node&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/opt/app/server.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;docker build して、Docker Hub に push します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ docker build -t &amp;lt;イメージ名&amp;gt; .
$ docker login
$ docker push &amp;lt;イメージ名&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;k3s-へのデプロイ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#k3s-%E3%81%B8%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4&quot; aria-label=&quot;k3s へのデプロイ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;k3s へのデプロイ&lt;/h2&gt;
&lt;p&gt;k3s にデプロイするため、マニフェストファイルを作成します。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;yaml&quot;&gt;&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Service
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; NodePort
  &lt;span class=&quot;token key atrule&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
  &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;targetPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;nodePort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30000&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; apps/v1
&lt;span class=&quot;token key atrule&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Deployment
&lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
  &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
&lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;replicas&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;matchLabels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
  &lt;span class=&quot;token key atrule&quot;&gt;strategy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;rollingUpdate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;maxSurge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 50%
      &lt;span class=&quot;token key atrule&quot;&gt;maxUnavailable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 50%
  &lt;span class=&quot;token key atrule&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;labels&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
    &lt;span class=&quot;token key atrule&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;containers&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; app
        &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &amp;lt;イメージ名&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;containerPort&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;livenessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;failureThreshold&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;httpGet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /
            &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;60&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;timeoutSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;readinessProbe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;failureThreshold&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;httpGet&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; /
            &lt;span class=&quot;token key atrule&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3000&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;periodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;timeoutSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
        &lt;span class=&quot;token key atrule&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;limits&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;cpu&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 500m
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 250Mi
          &lt;span class=&quot;token key atrule&quot;&gt;requests&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;token key atrule&quot;&gt;cpu&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 500m
            &lt;span class=&quot;token key atrule&quot;&gt;memory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 250Mi
        &lt;span class=&quot;token key atrule&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; INTERVAL_MILLIS
          &lt;span class=&quot;token key atrule&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2000&quot;&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;restartPolicy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Always
      &lt;span class=&quot;token key atrule&quot;&gt;terminationGracePeriodSeconds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;60&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これを適用してしばらく待てば、コンテナが起動しています。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ kubectl apply -f app.yaml
service/app created
deployment.apps/app created
$ kubectl get po
NAME                   READY   STATUS    RESTARTS   AGE
app-7878c59946-4wfkk   1/1     Running   0          95m&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;※ 実際にはプライベートなレジストリを使ったので、その設定もしています。&lt;/p&gt;
&lt;p&gt;参考: &lt;a href=&quot;https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Pull an Image from a Private Registry&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;クライアント側を Raspberry Pi 上で実行すると、無事疎通します！このとき、LED もチカチカします！&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;console&quot;&gt;&lt;pre class=&quot;language-console&quot;&gt;&lt;code class=&quot;language-console&quot;&gt;$ python main.py
2021-05-08 20:19:55.393659 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 1, u&amp;#39;pin&amp;#39;: 21}]}
2021-05-08 20:19:55.400793 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 1, u&amp;#39;pin&amp;#39;: 21}]}
2021-05-08 20:19:55.908066 | body: {u&amp;#39;gpios&amp;#39;: [{u&amp;#39;value&amp;#39;: 0, u&amp;#39;pin&amp;#39;: 21}]}
    :&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;無停止で更新してみる&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%84%A1%E5%81%9C%E6%AD%A2%E3%81%A7%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B&quot; aria-label=&quot;無停止で更新してみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;無停止で更新してみる&lt;/h2&gt;
&lt;p&gt;では最後に、無停止で更新できるか試します。&lt;/p&gt;
&lt;p&gt;本当ならプログラムを書き換えて反映したいのですが、少し手間がかかります。&lt;/p&gt;
&lt;p&gt;Deployment の環境変数を変えるだけでも同じ挙動になるので、環境変数の変更で試してみます。&lt;/p&gt;
&lt;p&gt;簡易的に &lt;code class=&quot;language-text&quot;&gt;kubectl edit deploy app&lt;/code&gt; で INTERVAL_MILLIS を 500 に変更すると…&lt;/p&gt;
&lt;center&gt;
  &lt;video width=&quot;320&quot; height=&quot;240&quot; controls&gt;
    &lt;source src=&quot;/media/raspberrypi-k3s-non-stop-release-demo.mp4&quot; type=&quot;video/mp4&quot;&gt;
  &lt;/video&gt;
&lt;/center&gt;
&lt;p&gt;無事、無停止で挙動が切り替わりました！&lt;/p&gt;
&lt;h2 id=&quot;考察&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%80%83%E5%AF%9F&quot; aria-label=&quot;考察 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;考察&lt;/h2&gt;
&lt;p&gt;一応やりたかったことは達成しましたが、この方針でよかったのか少し考えてみようと思います。&lt;/p&gt;
&lt;p&gt;今回は「GPIO を扱うプログラム」と「GPIO に与える値を計算するプログラム」を別プロセスにする方針にすることと、k3s を使ったローリングアップデートで、無停止での動作の切り替えを実現しました。&lt;/p&gt;
&lt;p&gt;Kubernetes の使い方さえ知っていれば簡単だったので、基本的には悪くない方針だったと思います。&lt;/p&gt;
&lt;h3 id=&quot;今回の方針の欠点&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%8A%E5%9B%9E%E3%81%AE%E6%96%B9%E9%87%9D%E3%81%AE%E6%AC%A0%E7%82%B9&quot; aria-label=&quot;今回の方針の欠点 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;今回の方針の欠点&lt;/h3&gt;
&lt;p&gt;ただ、大きな欠点として、「GPIO を扱うプログラム」側は無停止で更新できないことが挙げられます。&lt;/p&gt;
&lt;p&gt;「GPIO を扱うプログラム」の更新がある際は無停止リリースしている場合じゃない気もするので、これでもいいかもしれませんが、改善する方法も考えておきたいです。&lt;/p&gt;
&lt;p&gt;例えば、「GPIO を扱うプロセス」を「リクエストに応じて GPIO を処理するプロセス」と「定期的にリクエストを送るプロセス」に分離し、無停止で更新できないのは「定期的にリクエストを送る」という薄いプログラムだけにするといった方針が考えられます。&lt;/p&gt;
&lt;p&gt;他には、「GPIO を扱うプログラム」の新版・旧版を並列稼働させ、特定時刻になったら切り替わるようにする処理を入れる、といった方法でも実現できるかもしれません。&lt;/p&gt;
&lt;p&gt;後者の方法はうまく動作するのか検証するのがかなり大変な気がするので、本当にそこまでするのか要検討だと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ということで、「Raspberry Pi で L チカしてるプログラムを、k3s を使って無停止で更新する」という記事については以上になります。&lt;/p&gt;
&lt;p&gt;説明はスラスラ進んだように書きましたが、実際にはサーバ側のプログラムを Graceful Shutdown させる箇所などで少し手間取ったりしました。&lt;/p&gt;
&lt;p&gt;とはいえ、想像していたくらいの時間で一通りできたので、個人的には満足しています。&lt;/p&gt;
&lt;p&gt;今後の改良としては、まずは「GPIO を扱うプログラム」の方もコンテナ化してみることが考えられます。&lt;/p&gt;
&lt;p&gt;k3s 上のコンテナから GPIO を操作する例はいくつかあったので、たぶんできると思います。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/sat0ken/items/8f68c092c8a0c4597c65&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;raspberry pi に k3s を入れてLチカアプリをデプロイしてみる&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tech.virtualtech.jp/entry/2019/10/04/152802&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンテナーでLチカしてみる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あとは、せっかく k3s を導入していろんなコンテナを連携させたりしやすくなったので、Tensorflow Serving や TorchServe のコンテナと連携させて、機械学習の結果を Raspberry Pi の挙動に反映したりしたら面白いかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[IT エンジニア向け書籍まとめ記事・感想記事のまとめ]]></title><description><![CDATA[自分は読書が趣味のようなもので、IT エンジニア向けの書籍を結構いろいろと読んできました。
今までに書いてきた IT エンジニア向け書籍のまとめ記事や感想記事が増えてきたので、ここに一覧としてまとめます。
IT エンジニア向けの書籍を探している方の参考になれば嬉しいです。]]></description><link>https://www.kanzennirikaisita.com/posts/software-developer-books-index</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/software-developer-books-index</guid><pubDate>Sat, 08 May 2021 02:54:12 GMT</pubDate><content:encoded>&lt;p&gt;自分は読書が趣味のようなもので、IT エンジニア向けの書籍を結構いろいろと読んできました。&lt;/p&gt;
&lt;p&gt;今までに書いてきた IT エンジニア向け書籍のまとめ記事や感想記事が増えてきたので、ここに一覧としてまとめます。&lt;/p&gt;
&lt;p&gt;IT エンジニア向けの書籍を探している方の参考になれば嬉しいです。&lt;/p&gt;
&lt;h2 id=&quot;注意事項&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85&quot; aria-label=&quot;注意事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;注意事項&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;基本的に実際に読んだ本を紹介しています。読んでいない本についてはその旨を書いています&lt;/li&gt;
&lt;li&gt;「IT エンジニア向け」とは書いてますが、自分の仕事に近いジャンルが多くなっています&lt;/li&gt;
&lt;li&gt;まだまだ記事にできていないジャンルがたくさんあるので、どんどん追加していく予定です&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ご指摘・ご要望などあれば、Twitter (&lt;a href=&quot;https://twitter.com/oshima_123&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;@oshima_123&lt;/a&gt;) の DM 等でお気軽にご連絡ください。&lt;/p&gt;
&lt;h2 id=&quot;基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;基礎知識&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;コンピュータの仕組み&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/computer-why-series&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータの基礎を学ぶ定番書籍「なぜシリーズ」&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/blue-backs-books-for-it-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IT エンジニアにおすすめのブルーバックスの書籍 4 冊&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cpu-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【OS を学ぶために】CPU について学ぶためのオススメ書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4873117127&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【感想】『コンピュータシステムの理論と実装』（Nand2Tetris）を完走した&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4873118220&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【感想】『Go言語でつくるインタプリタ』を読みながら、インタプリタを実装してみた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/homebuilt-computer-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 7 月】PC 自作に関する本まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/books-about-how-web-and-web-applications-works&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web の仕組み・Web アプリの仕組みを理解するための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/web-security-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web セキュリティに関する書籍の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/rest-graphql-grpc-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;REST、GraphQL、gRPC の概要と関連書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;プログラミング言語・フレームワーク&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF&quot; aria-label=&quot;プログラミング言語・フレームワーク permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;プログラミング言語・フレームワーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;JavaScript&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/javascript-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;JavaScript の入門から 1 歩レベルアップするためのオススメ書籍 4 冊&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TypeScript&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/typescript-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TypeScript の解説書 3 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ruby&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ruby-and-rails-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【非初心者向け】Ruby と Rails をしっかり勉強するときのオススメ書籍&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/python-practical-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;非初心者向けの Python の解説書まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PHP&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/php-practical-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;非初心者向けの PHP 解説書まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/java-practical-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Java で脱初心者するためのオススメ書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/modern-java-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年】Java 8 で止まっている人が最近の Java を学ぶのための 2 冊&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4297126850&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【感想】書籍『プロになるJava』を読みました&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/c-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;C 言語の入門からステップアップするための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unity&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/unity-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実際に読んだ Unity 入門書 5 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;設計手法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A8%AD%E8%A8%88%E6%89%8B%E6%B3%95&quot; aria-label=&quot;設計手法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;設計手法&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;初心者向け&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/coding-principle-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コーディングの原則を学ぶための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/oop-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向の定番解説書まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;中級者向け&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/application-architecture-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アプリケーションアーキテクチャに関する書籍 4 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/refactoring-rearchitecting-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コードの改善・アーキテクチャの改善に関する書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/microservices-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マイクロサービスアーキテクチャに関する日本語の書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/483997599X&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【感想】書籍『セキュア・バイ・デザイン』を読みました&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;開発プロセス・開発手法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%8B%E7%99%BA%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%83%BB%E9%96%8B%E7%99%BA%E6%89%8B%E6%B3%95&quot; aria-label=&quot;開発プロセス・開発手法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;開発プロセス・開発手法&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;プロジェクト管理&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/tom-demarco-project-management-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロジェクト管理を学べる「トム・デマルコ」シリーズ本まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/software-development-estimation-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システム開発の「見積もり」を学ぶためのオススメ書籍 2 冊&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;アジャイル&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/agile-software-development-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイル開発を学ぶための書籍紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;テスト&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/software-testing-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ソフトウェアテストの定番入門書 2 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/tdd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;テスト駆動開発 (TDD) を学ぶための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CI / CD&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ci-services&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CI 大好きエンジニアによる CI サービス (ツール) の分類・比較と選定方法・学習方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DevOps&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/devops-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DevOps に関する日本語の書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/gene-kim-devops-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ジーン・キムの DevOps 3 部作の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;インフラ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9&quot; aria-label=&quot;インフラ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インフラ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;インフラ全般&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-infrastructure-textbooks&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IT インフラの教科書的な書籍 3 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/books-about-what-is-production-ready&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「プロダクションレディとは何か」を学ぶためのオススメ書籍&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Linux&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/how-to-study-linux-basics&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux の入門第一歩のオススメ勉強法と書籍のまとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/linux-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;入門から一歩レベルアップするための Linux の書籍 2 冊&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/linux-learning-roadmap&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux について学ぶおすすめの流れ【書籍を中心に紹介】&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-201-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LPIC 201 対策のおすすめ書籍紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/lpic-202-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;LPIC 202 対策として、教科書・問題集以外でおすすめの本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4839975868&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『ゼロからのOS自作入門』を読みました【感想・難しいと感じる方にオススメの事前準備】&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4873117127-implementation&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【感想】『ゼロからのOS自作入門』の実装を終えて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/487311313X&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;『詳解 Linuxカーネル』を一周読んだ感想・事前準備・そしてその先…&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ネットワーク&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【アプリケーションエンジニアにもオススメ】ネットワークの入門書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;暗号化&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cryptography-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号技術の定番入門書の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;モニタリング・ロギング&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/monitoring-logging-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;監視とログ分析に関する書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;クラウド・仮想化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%BB%E4%BB%AE%E6%83%B3%E5%8C%96&quot; aria-label=&quot;クラウド・仮想化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クラウド・仮想化&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;AWS&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/how-to-study-aws-basics&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web アプリをなんとなく作れるくらいの状態から AWS を勉強するには&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/aws-saa-c02-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS 認定 SAA-C02 対応書籍 3 冊の比較【AWS 認定ソリューションアーキテクトアソシエイト】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Google Cloud&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/gcp-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GCP 関連のオススメ書籍 6 選&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Azure&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/microsoft-azure-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azure に関する書籍 4 冊を難易度・状況別にオススメする&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;仮想化&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/virtualization-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想化技術の解説書 7 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;コンテナ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/docker-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度・状況別】Docker オススメ書籍 6 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;データベース・データ分析&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%BB%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90&quot; aria-label=&quot;データベース・データ分析 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データベース・データ分析&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SQL&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/rdb-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RDB 設計の入門にオススメの書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/sql-next-step-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SQL の入門からステップアップするための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ビッグデータ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/bigdata-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンジニアがビッグデータ関連技術の全体像を学ぶための書籍紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MLOps&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/mlops-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2021 年 10 月時点】MLOps に関連する日本語の書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;法務&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/legal-books-for-it-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;IT エンジニアが法務面を学ぶための分かりやすい書籍&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;トレンド&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/it-trends-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【2020 年】IT トレンドをまとめた書籍の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/thorough-explanation-for-complete-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;話題の技術のとっかかりを学べる『完全初心者への徹底解説』シリーズの紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/no-code-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ローコード・ノーコードに関する書籍 2 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/quantum-computer-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【非専門家向け】量子コンピュータの入門書の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tips&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/dark-web-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ダークウェブ関連書籍 2 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/e-estonia-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;電子政府 e-Estonia に関する書籍 3 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IT サービス・IT ツール&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/marketing-automation-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MA (マーケティングオートメーション) の書籍 5 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/crm-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CRM (顧客関係管理) に関する書籍 3 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ipaas-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;iPaaS (Integration Platform as a Service) に関する日本語書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[JavaScript の入門から 1 歩レベルアップするためのオススメ書籍 5 冊]]></title><description><![CDATA[近年の Web 開発では JavaScript は外せない重要な要素であり、Web アプリケーションのエンジニアであれば確実におさえておきたい技術となっています。
最近、React や Vue.js を使った SPA の開発が主流になってきている中でも、前提として JavaScript の理解は重要です。
この記事では、そんな JavaScript をなんとなくさわれるレベルから、もう 1 歩レベルアップするための書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/javascript-next-step-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/javascript-next-step-books</guid><pubDate>Fri, 07 May 2021 03:09:52 GMT</pubDate><content:encoded>&lt;p&gt;近年の Web 開発では JavaScript は外せない重要な要素であり、Web アプリケーションのエンジニアであれば確実におさえておきたい技術となっています。&lt;/p&gt;
&lt;p&gt;最近、React や Vue.js を使った SPA の開発が主流になってきている中でも、前提として JavaScript の理解は重要です。&lt;/p&gt;
&lt;p&gt;この記事では、そんな JavaScript をなんとなくさわれるレベルから、もう 1 歩レベルアップするための書籍を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;改訂新版javascript本格入門-モダンスタイルによる基礎から現場での応用まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88javascript%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%AE%E5%BF%9C%E7%94%A8%E3%81%BE%E3%81%A7&quot; aria-label=&quot;改訂新版javascript本格入門 モダンスタイルによる基礎から現場での応用まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x5ICxP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01LYO6C1N/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4ce29d0332940fefcfb5d47756b83165&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01LYO6C1N&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01LYO6C1N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;JavaScript のステップアップとしてよくオススメされる、定番の書籍です。&lt;/p&gt;
&lt;p&gt;スコープやプロトタイプチェーン、クラス構文など、JavaScript を使う上でおさえておきたい内容が網羅的に解説されています。&lt;/p&gt;
&lt;p&gt;ブラウザの開発者ツールを使ったデバッグなど、実際の開発で役立つ Tips も豊富に紹介されています。&lt;/p&gt;
&lt;p&gt;JavaScript に慣れてきたあたりで読むと、とても勉強になります。&lt;/p&gt;
&lt;h2 id=&quot;何となくjavascriptを書いていた人が一歩先に進むための本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%95%E3%81%A8%E3%81%AA%E3%81%8Fjavascript%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%84%E3%81%9F%E4%BA%BA%E3%81%8C%E4%B8%80%E6%AD%A9%E5%85%88%E3%81%AB%E9%80%B2%E3%82%80%E3%81%9F%E3%82%81%E3%81%AE%E6%9C%AC&quot; aria-label=&quot;何となくjavascriptを書いていた人が一歩先に進むための本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/33pD3NM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;何となくJavaScriptを書いていた人が一歩先に進むための本&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01F0N36ES?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a019cc463f1b4729f47253096582588b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01F0N36ES&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01F0N36ES&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも JavaScript に慣れてきたあたりでオススメの書籍です。&lt;/p&gt;
&lt;p&gt;次のステップとして知っておきたい内容が、コンパクトにまとめられています。&lt;/p&gt;
&lt;p&gt;特にスコープチェーンやクロージャについての解説は、今まで読んだ中でこの本が一番分かりやすかったです。&lt;/p&gt;
&lt;p&gt;100 ページほどの読みやすい書籍で、Kindle Unlimited で無料で読めるので、是非読んでみてほしいです。&lt;/p&gt;
&lt;h2 id=&quot;速習-ecmascript-2020-次世代の標準javascriptを今すぐマスター！&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%9F%E7%BF%92-ecmascript-2020-%E6%AC%A1%E4%B8%96%E4%BB%A3%E3%81%AE%E6%A8%99%E6%BA%96javascript%E3%82%92%E4%BB%8A%E3%81%99%E3%81%90%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%EF%BC%81&quot; aria-label=&quot;速習 ecmascript 2020 次世代の標準javascriptを今すぐマスター！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nWT3QJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 ECMAScript 2020: 次世代の標準JavaScriptを今すぐマスター！&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08F1VNR7L?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ad972a35e734132057dea9649b5ba475&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08F1VNR7L&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08F1VNR7L&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「速習シリーズ」の ECMAScript の解説書です。&lt;/p&gt;
&lt;p&gt;ECMAScript 2015 (ES6) 以降の重要な新機能が一通り解説されています。&lt;/p&gt;
&lt;p&gt;JavaScript を勉強したのが少し昔で ES5 以前しか知らないという方が、ES6 以降をさらっと学ぶのにちょうど良いです。&lt;/p&gt;
&lt;p&gt;この書籍も、次に紹介する「速習 webpack 第2版」も、 Kindle Unlimited で無料で読めます。&lt;/p&gt;
&lt;h2 id=&quot;速習-webpack-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%80%9F%E7%BF%92-webpack-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;速習 webpack 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3utciE3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 webpack 第2版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08JH3XBXD?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=73d1fb71098719210d4de210c0ecc578&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08JH3XBXD&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08JH3XBXD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;JavaScript のモジュールバンドラである、webpack の解説書です。&lt;/p&gt;
&lt;p&gt;JavaScript を使う上では、webpack の理解が必要になる場面もあります。&lt;/p&gt;
&lt;p&gt;この本は webpack の基本を学ぶのにちょうど良く、とてもオススメです。&lt;/p&gt;
&lt;p&gt;「速習シリーズ」は、どれもコンパクトかつ分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2Q0buaW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 TypeScript 第2版&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2QZZQgG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;速習 Vue.js 3&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;フロントエンド開発入門-プロフェッショナルな開発ツールと設計・実装&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%81%AA%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A8%E8%A8%AD%E8%A8%88%E3%83%BB%E5%AE%9F%E8%A3%85&quot; aria-label=&quot;フロントエンド開発入門 プロフェッショナルな開発ツールと設計・実装 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ingLF5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フロントエンド開発入門 プロフェッショナルな開発ツールと設計・実装&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08SQQWPDW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e645851f4948f6d1e74e4f5be457d13a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08SQQWPDW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08SQQWPDW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近の Web フロントエンド開発の概要を解説した書籍です。&lt;/p&gt;
&lt;p&gt;JavaScript に限らず、CSS メタ言語などについても解説されています。&lt;/p&gt;
&lt;p&gt;Node.js や Babel、Webpack、TypeScript、React や Vue.js といったフレームワークなど、最近の Web フロントエンド開発で知っておくべきエコシステムを一通り把握できます。&lt;/p&gt;
&lt;p&gt;発売が 2020 年 10 月のため、2020 年時点で実際に使われているもの中心で紹介されており、フロントエンドエコシステムの概要を知りたい場合に非常にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、JavaScript に慣れてきたあたりで、もう一歩レベルアップするのにオススメの書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;JavaScript をしっかり学ぶ上では『&lt;a href=&quot;https://amzn.to/3copZwY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクトJavaScript&lt;/a&gt;』なども有名だと思いますが、2011 年に出た書籍のため情報が結構古くなっています。&lt;/p&gt;
&lt;p&gt;JavaScript は特に ES5 以前と ES6 以降で違いが大きいので、書籍を探す際はご注意ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[アジャイル開発を学ぶための書籍紹介]]></title><description><![CDATA[アジャイル開発という言葉はかなり一般的になってきましたが、単に都合よく開発が進められるかのように誤解されることも多く、本来どうあるべきなのか知られていないケースも少なくありません。
この記事では、そんなアジャイル開発についてしっかり学ぶための書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/agile-software-development-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/agile-software-development-books</guid><pubDate>Fri, 07 May 2021 02:22:34 GMT</pubDate><content:encoded>&lt;p&gt;アジャイル開発という言葉はかなり一般的になってきましたが、単に都合よく開発が進められるかのように誤解されることも多く、本来どうあるべきなのか知られていないケースも少なくありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんなアジャイル開発についてしっかり学ぶための書籍を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アジャイル開発の全体像を学ぶための書籍&lt;/li&gt;
&lt;li&gt;タスク管理・スケジュール管理に関する書籍&lt;/li&gt;
&lt;li&gt;チームづくり・開発の進め方に関する書籍&lt;/li&gt;
&lt;li&gt;技術的な手法が学べる書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;のように分類して紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;アジャイル開発の全体像を学ぶための書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AE%E5%85%A8%E4%BD%93%E5%83%8F%E3%82%92%E5%AD%A6%E3%81%B6%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;アジャイル開発の全体像を学ぶための書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アジャイル開発の全体像を学ぶための書籍&lt;/h2&gt;
&lt;h3 id=&quot;アジャイルサムライ達人開発者への道&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%82%B5%E3%83%A0%E3%83%A9%E3%82%A4%E9%81%94%E4%BA%BA%E9%96%8B%E7%99%BA%E8%80%85%E3%81%B8%E3%81%AE%E9%81%93&quot; aria-label=&quot;アジャイルサムライ達人開発者への道 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3f4ojcR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルサムライ――達人開発者への道&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00J1XKB6K?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=990ee6655773a4dd8abd828263ce5cf2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00J1XKB6K&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00J1XKB6K&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイル開発の入門書として非常に有名な書籍です。&lt;/p&gt;
&lt;p&gt;アジャイル開発の達人「マスターセンセイ」に教わりながらアジャイル開発を学ぶ構成になっており、とても読みやすいです。&lt;/p&gt;
&lt;p&gt;この 1 冊でアジャイル開発の全体像を学ぶことができるので、アジャイル開発を学びたい際の 1 冊目として非常におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;タスク管理・スケジュール管理に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%82%B9%E3%82%AF%E7%AE%A1%E7%90%86%E3%83%BB%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E7%AE%A1%E7%90%86%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;タスク管理・スケジュール管理に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;タスク管理・スケジュール管理に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;アジャイルな見積りと計画づくり-～価値あるソフトウェアを育てる概念と技法～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%81%AA%E8%A6%8B%E7%A9%8D%E3%82%8A%E3%81%A8%E8%A8%88%E7%94%BB%E3%81%A5%E3%81%8F%E3%82%8A-%EF%BD%9E%E4%BE%A1%E5%80%A4%E3%81%82%E3%82%8B%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E8%82%B2%E3%81%A6%E3%82%8B%E6%A6%82%E5%BF%B5%E3%81%A8%E6%8A%80%E6%B3%95%EF%BD%9E&quot; aria-label=&quot;アジャイルな見積りと計画づくり ～価値あるソフトウェアを育てる概念と技法～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3xQHwqX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルな見積りと計画づくり ～価値あるソフトウェアを育てる概念と技法～&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00IR1HYGW?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=05460fd0594965b3a0856fb8407d107c&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00IR1HYGW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00IR1HYGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトルの通り、アジャイル開発の中でも「見積もり」や「計画づくり」に重点を置いて解説した書籍です。&lt;/p&gt;
&lt;p&gt;ストーリーポイントやベロシティといった基本的な概念を解説しつつ、優先順位付けの判断要素など、実際の見積もり・計画づくりで必要になる要素について網羅的にまとめられています。&lt;/p&gt;
&lt;p&gt;特に「見積もり」や「計画づくり」について注力して学びたい際はとてもオススメです。&lt;/p&gt;
&lt;h3 id=&quot;ユーザーストーリーマッピング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0&quot; aria-label=&quot;ユーザーストーリーマッピング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3eZjYHM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザーストーリーマッピング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117321?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=937f5a17b8c8f96f510a2e35a222e42e&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117321&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873117321&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイル開発の計画づくりでよく使われる「ユーザーストーリマッピング」という手法の解説書です。&lt;/p&gt;
&lt;p&gt;実際にユーザーストーリマッピングをしてみようとすると、どういった粒度でストーリーを分割するかなど、いろいろな疑問点が出てきます。&lt;/p&gt;
&lt;p&gt;この書籍では、ユーザーストーリマッピングの実践で遭遇する様々な課題への取り組み方が解説されており、非常に参考になります。&lt;/p&gt;
&lt;h3 id=&quot;リーン開発の現場-カンバンによる大規模プロジェクトの運営&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%BC%E3%83%B3%E9%96%8B%E7%99%BA%E3%81%AE%E7%8F%BE%E5%A0%B4-%E3%82%AB%E3%83%B3%E3%83%90%E3%83%B3%E3%81%AB%E3%82%88%E3%82%8B%E5%A4%A7%E8%A6%8F%E6%A8%A1%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%81%8B%E5%96%B6&quot; aria-label=&quot;リーン開発の現場 カンバンによる大規模プロジェクトの運営 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vOlDGM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーン開発の現場 カンバンによる大規模プロジェクトの運営&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01IGW5IIW?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d08a27f51285f153c27ec2b5cbee4205&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01IGW5IIW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01IGW5IIW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイル開発でよく使われる手法の「カンバン」に特に注目して解説された書籍です。&lt;/p&gt;
&lt;p&gt;カンバンはあまり知識がなくとも作り始めることはできますが、実際に上手に運用するのは簡単ではありません。&lt;/p&gt;
&lt;p&gt;そんなカンバンをうまく作って活用するための方法が豊富に解説されており、カンバンを使った開発を実践する際に非常に役立つ書籍です。&lt;/p&gt;
&lt;h2 id=&quot;チームづくり・開発の進め方に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%81%E3%83%BC%E3%83%A0%E3%81%A5%E3%81%8F%E3%82%8A%E3%83%BB%E9%96%8B%E7%99%BA%E3%81%AE%E9%80%B2%E3%82%81%E6%96%B9%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;チームづくり・開発の進め方に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;チームづくり・開発の進め方に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;アジャイルコーチング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%81%E3%83%B3%E3%82%B0&quot; aria-label=&quot;アジャイルコーチング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nWOKox&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルコーチング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01N13WSF4?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=6d5dbf19dc7eaad6ed18a253821b2a3a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01N13WSF4&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01N13WSF4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイル開発のチームをコーチとして指導していく際の指南書です。&lt;/p&gt;
&lt;p&gt;チームとしてうまく開発をまわしていくために、どのようにして良い方向に進めていくかのヒントがたくさん書かれています。&lt;/p&gt;
&lt;p&gt;アジャイルコーチやスクラムマスターといったポジションで動く際にオススメの書籍です。&lt;/p&gt;
&lt;h2 id=&quot;技術的な手法が学べる書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8A%80%E8%A1%93%E7%9A%84%E3%81%AA%E6%89%8B%E6%B3%95%E3%81%8C%E5%AD%A6%E3%81%B9%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;技術的な手法が学べる書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;技術的な手法が学べる書籍&lt;/h2&gt;
&lt;h3 id=&quot;エクストリームプログラミング&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&quot; aria-label=&quot;エクストリームプログラミング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3trjUG3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エクストリームプログラミング&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B012UWOLOQ?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1324f23d9524d723d9673be4f5a741ec&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B012UWOLOQ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B012UWOLOQ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アジャイル開発の手法の 1 つである、「エクストリームプログラミング (XP)」の解説書です。&lt;/p&gt;
&lt;p&gt;最近は XP という言葉自体を聞く頻度は減りましたが、ペアプログラミング、テスト駆動開発、継続的インテグレーション、デイリーデプロイといったプラクティスは健在で、非常に有効な手法とされています。&lt;/p&gt;
&lt;p&gt;こういったアジャイル開発で必要な技術的視点を含め、今でも生きるプラクティスをたくさん学ぶことができる書籍です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;アジャイル開発に関する解説書は他にもたくさんありますが、この記事に挙げたような書籍、特に入門としては『アジャイルサムライ』あたりから読んでみるのがオススメです。&lt;/p&gt;
&lt;p&gt;また、アジャイル開発で登場する重要な概念として、「テスト駆動開発」があります。&lt;/p&gt;
&lt;p&gt;テスト駆動開発に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/tdd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、そちらも参照ください。&lt;/p&gt;
&lt;p&gt;XP で登場するような技術的手法については、「DevOps」という観点でも解説されることが多いです。&lt;/p&gt;
&lt;p&gt;DevOps に関する書籍も別途まとめる予定です。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【非専門家向け】量子コンピュータの入門書の紹介]]></title><description><![CDATA[量子コンピュータはこの数年で大きく進化している分野の 1 つで、ときどきニュースになったりしています。
しかし、一口に「量子コンピュータ」と言っても様々な方式があり、インターネット上の情報で体系的に理解するのは容易ではありません。
この記事では、そんな量子コンピュータについて、数学や物理学の知識がほとんどなくても学べる入門書を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/quantum-computer-beginners-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/quantum-computer-beginners-books</guid><pubDate>Thu, 06 May 2021 15:13:39 GMT</pubDate><content:encoded>&lt;p&gt;量子コンピュータはこの数年で大きく進化している分野の 1 つで、ときどきニュースになったりしています。&lt;/p&gt;
&lt;p&gt;しかし、一口に「量子コンピュータ」と言っても様々な方式があり、インターネット上の情報で体系的に理解するのは容易ではありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな量子コンピュータについて、数学や物理学の知識がほとんどなくても学べる入門書を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;いちばんやさしい量子コンピューターの教本-人気講師が教える世界が注目する最新テクノロジー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AE%E6%95%99%E6%9C%AC-%E4%BA%BA%E6%B0%97%E8%AC%9B%E5%B8%AB%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E4%B8%96%E7%95%8C%E3%81%8C%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E6%9C%80%E6%96%B0%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC&quot; aria-label=&quot;いちばんやさしい量子コンピューターの教本 人気講師が教える世界が注目する最新テクノロジー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zaBbat&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;いちばんやさしい量子コンピューターの教本 人気講師が教える世界が注目する最新テクノロジー&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07RY7CFTF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=30fea9d9bdd6e2dc2b9055ccd287685a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07RY7CFTF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07RY7CFTF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「いちばんやさしい」シリーズの、量子コンピュータの解説書です。&lt;/p&gt;
&lt;p&gt;量子とは？という内容も含め、量子コンピュータについて体系的にまとまっています。&lt;/p&gt;
&lt;p&gt;OSS の Blueqat を使って量子コンピュータの処理をシミュレーションする内容もあり、動作のイメージをつけやすいです。&lt;/p&gt;
&lt;p&gt;量子ゲート型だけでなく、量子アニーリング型についても 1 章を割いて解説されており、量子コンピュータの仕組みを全体的にざっくり学ぶのにちょうど良いです。&lt;/p&gt;
&lt;h2 id=&quot;図解入門-よくわかる-最新-量子コンピュータの基本と仕組み&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%85%A5%E9%96%80-%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B-%E6%9C%80%E6%96%B0-%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8%E4%BB%95%E7%B5%84%E3%81%BF&quot; aria-label=&quot;図解入門 よくわかる 最新 量子コンピュータの基本と仕組み permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z9GwPk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門 よくわかる 最新 量子コンピュータの基本と仕組み&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07L7SJ8RB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=47cf6f07bc205310ed553b15d894bf29&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07L7SJ8RB&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07L7SJ8RB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「○○の基本と仕組み」シリーズの、量子コンピュータの解説書です。&lt;/p&gt;
&lt;p&gt;先に紹介した『いちばんやさしい量子コンピューターの教本』と比べると、ビジネス的な活用方法などの解説が厚くなっています。&lt;/p&gt;
&lt;p&gt;グーグル、IBM、マイクロソフトなどの企業がどのように量子コンピュータに取り組んでいるかも書かれており、なかなか面白いです。&lt;/p&gt;
&lt;h2 id=&quot;量子力学の入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%87%8F%E5%AD%90%E5%8A%9B%E5%AD%A6%E3%81%AE%E5%85%A5%E9%96%80&quot; aria-label=&quot;量子力学の入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;量子力学の入門&lt;/h2&gt;
&lt;p&gt;ここまでに紹介した書籍は数学や物理学の前提知識がほとんど不要な代わりに、量子力学の概念の説明はかなりさらっとしています。&lt;/p&gt;
&lt;p&gt;そんな量子力学の入門としては、講談社のブルーバックスシリーズの&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3gjIiVk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;高校数学でわかるシュレディンガー方程式―量子力学を学びたい人、ほんとうに理解したい人へ&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ulkd6m&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;量子力学の解釈問題―実験が示唆する「多世界」の実在&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりがおすすめです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GHHXUUW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d72837edb8db75d1d810e415ba456b45&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GHHXUUW&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GHHXUUW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4062576007?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=919e69a879c40a72e27b7c7789ba9eb6&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4062576007&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4062576007&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;どちらも非常に読みやすいので、是非手にとってみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[エンジニアがビッグデータ関連技術の全体像を学ぶための書籍紹介]]></title><description><![CDATA[ビッグデータという言葉は 2021 年現在もはや全然真新しいものではなくなっていますが、具体的にどのような技術を使ってどう処理するか、体系的に学ぶ方法は意外と多くないです。
この記事では、そんなビッグデータを取り扱うための技術について、全体像を学ぶための書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/bigdata-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/bigdata-books</guid><pubDate>Thu, 06 May 2021 14:16:43 GMT</pubDate><content:encoded>&lt;p&gt;ビッグデータという言葉は 2021 年現在もはや全然真新しいものではなくなっていますが、具体的にどのような技術を使ってどう処理するか、体系的に学ぶ方法は意外と多くないです。&lt;/p&gt;
&lt;p&gt;この記事では、そんなビッグデータを取り扱うための技術について、全体像を学ぶための書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;［増補改訂］ビッグデータを支える技術-ラップトップ1台で学ぶデータ基盤のしくみ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%BB%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%EF%BC%BD%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-%E3%83%A9%E3%83%83%E3%83%97%E3%83%88%E3%83%83%E3%83%971%E5%8F%B0%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%83%BC%E3%82%BF%E5%9F%BA%E7%9B%A4%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF&quot; aria-label=&quot;［増補改訂］ビッグデータを支える技術 ラップトップ1台で学ぶデータ基盤のしくみ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3h52HPU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;［増補改訂］ビッグデータを支える技術 ——ラップトップ1台で学ぶデータ基盤のしくみ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08VJ6MJ3P/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bf91c98320a2fc2e18617334606180fb&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08VJ6MJ3P&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08VJ6MJ3P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ビッグデータ関連技術を学ぶ入門として定番の解説書です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データレイク・データウェアハウス・データマートといったビッグデータの基本パターン&lt;/li&gt;
&lt;li&gt;Hadoop ファミリを活用した分散処理&lt;/li&gt;
&lt;li&gt;データパイプラインの構築&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった、ビッグデータを扱う上での基礎知識を体系的に学ぶことができます。&lt;/p&gt;
&lt;p&gt;この 1 冊でビッグデータの基礎知識をかなりおさえられるので、非常におすすめです。&lt;/p&gt;
&lt;p&gt;2021 年 2 月に出版された増補改訂版では、機械学習や MLOps といった最近の話題についても追記されています。&lt;/p&gt;
&lt;h2 id=&quot;ビッグデータ解析の現在と未来-hadoop、nosql、深層学習からオープンデータまで-共立スマートセレクション&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90%E3%81%AE%E7%8F%BE%E5%9C%A8%E3%81%A8%E6%9C%AA%E6%9D%A5-hadoop%E3%80%81nosql%E3%80%81%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E3%81%8B%E3%82%89%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF%E3%81%BE%E3%81%A7-%E5%85%B1%E7%AB%8B%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3&quot; aria-label=&quot;ビッグデータ解析の現在と未来 hadoop、nosql、深層学習からオープンデータまで 共立スマートセレクション permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/33mHvwI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ビッグデータ解析の現在と未来　Hadoop、NoSQL、深層学習からオープンデータまで 共立スマートセレクション&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07QNPPG22/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=56cdfc1f8493cf814a650359631eb02f&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07QNPPG22&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07QNPPG22&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもビッグデータ関連技術の解説書です。&lt;/p&gt;
&lt;p&gt;Hadoop ファミリによる分散処理やストレージエンジン、NoSQL データベース、機械学習、深層学習などについて書かれています。&lt;/p&gt;
&lt;p&gt;大統領選挙での活用事例など、応用例も記載されています。&lt;/p&gt;
&lt;p&gt;『ビッグデータを支える技術』と比べると、活用方法などに注目して書かれている書籍になります。&lt;/p&gt;
&lt;h2 id=&quot;awsではじめるデータレイク-クラウドによる統合型データリポジトリ構築入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%A4%E3%82%AF-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%82%88%E3%82%8B%E7%B5%B1%E5%90%88%E5%9E%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E6%A7%8B%E7%AF%89%E5%85%A5%E9%96%80&quot; aria-label=&quot;awsではじめるデータレイク クラウドによる統合型データリポジトリ構築入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2WPE9mg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/491031301X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=34310602d3f596291fe8cb9216d2ed95&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=491031301X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=491031301X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;AWS でのデータレイクを中心とした分析基盤の構築について書かれた書籍です。&lt;/p&gt;
&lt;p&gt;データレイクに加えて、ETL やデータウェアハウス、BI などについても具体的に解説されています。&lt;/p&gt;
&lt;p&gt;先に紹介した 2 冊と比べると、より具体性が高く、Tips なども多数解説されています。&lt;/p&gt;
&lt;p&gt;特に AWS でデータ基盤を作りたい場合に、事前に読んでおくべき本として非常におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;機械学習の活用&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E6%B4%BB%E7%94%A8&quot; aria-label=&quot;機械学習の活用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;機械学習の活用&lt;/h2&gt;
&lt;p&gt;ここまで、ビッグデータ関連技術の解説書を紹介してきました。&lt;/p&gt;
&lt;p&gt;ビッグデータと関係する分野としては、機械学習もかなり一般的になっています。&lt;/p&gt;
&lt;p&gt;最近は機械学習を実際のアプリケーションに適用する方法として、「MLOps」と呼ばれる分野も注目されています。&lt;/p&gt;
&lt;p&gt;MLOps については、オライリーの&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ekWiyq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2QXLWeY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仕事ではじめる機械学習 第2版&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで解説されています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119502/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=63ff50cead2ffa26141b9f6526c7a0cb&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119502&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119502&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119472/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0afb01039080768e9fea76bd58f94572&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119472&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873119472&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;また、GCP における MLOps の実践は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2Rtuqzh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloud Platformではじめる機械学習と深層学習&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3f2LAff&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GoogleCloudPlatform 実践 機械学習基礎開発MachineLearning/データ分析&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで学ぶことができます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07F6YR7XT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=2d63416d8cabc6f9be6d3f460b6e2010&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07F6YR7XT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B07F6YR7XT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798059579/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=863e0bf791cc79e135e78769fdf181fe&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798059579&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4798059579&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;MLOps はまだ注目され始めたばかりの分野ですが、ビッグデータの取り扱いとあわせて学んでおくと役立つと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[IT エンジニアにおすすめのブルーバックスの書籍 4 冊]]></title><description><![CDATA[IT エンジニアとして何かを作っている中で、コンピュータの背後にある数学や物理学などの知識が役立つ場面があります。
この記事では、数学や物理学の話題を分かりやすく解説する「講談社のブルーバックスシリーズ」の書籍の中で、IT エンジニアにおすすめのものを紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/blue-backs-books-for-it-engineers</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/blue-backs-books-for-it-engineers</guid><pubDate>Thu, 06 May 2021 12:33:23 GMT</pubDate><content:encoded>&lt;p&gt;IT エンジニアとして何かを作っている中で、コンピュータの背後にある数学や物理学などの知識が役立つ場面があります。&lt;/p&gt;
&lt;p&gt;この記事では、数学や物理学の話題を分かりやすく解説する「講談社のブルーバックスシリーズ」の書籍の中で、IT エンジニアにおすすめのものを紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;「ｐ≠ｎｐ」問題-現代数学の超難問&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%EF%BD%90%E2%89%A0%EF%BD%8E%EF%BD%90%E3%80%8D%E5%95%8F%E9%A1%8C-%E7%8F%BE%E4%BB%A3%E6%95%B0%E5%AD%A6%E3%81%AE%E8%B6%85%E9%9B%A3%E5%95%8F&quot; aria-label=&quot;「ｐ≠ｎｐ」問題 現代数学の超難問 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uqOdOn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Ｐ≠ＮＰ」問題　現代数学の超難問&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B015J527QA?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c413dadddb29b86ae9342af969e8e790&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B015J527QA&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B015J527QA&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ミレニアム懸賞問題の 1 つである P≠NP 問題が主題の書籍です。&lt;/p&gt;
&lt;p&gt;「コンピュータとは何ものか」に始まり、チューリングマシンやアルゴリズムとは何かなどを解説した上で、計算量や P≠NP 問題について話が進んでいきます。&lt;/p&gt;
&lt;p&gt;計算量の基本的な考え方や NP 困難・NP 完全といった用語は、各種アルゴリズムを活用する問題の解説で登場することもあります。&lt;/p&gt;
&lt;p&gt;こういった考え方を理解するのに、まずはこのような読みやすい書籍を手にとってみるといいと思います。&lt;/p&gt;
&lt;h2 id=&quot;不完全性定理とはなにか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%8D%E5%AE%8C%E5%85%A8%E6%80%A7%E5%AE%9A%E7%90%86%E3%81%A8%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8B&quot; aria-label=&quot;不完全性定理とはなにか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2QPPgJd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;不完全性定理とはなにか&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00D6C82A4?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=11a081a291158edd7fca34aa2a093f4d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00D6C82A4&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00D6C82A4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「不完全性定理」を中心に、証明可能・不可能とはどういうことか、計算可能・不可能とはどういうことかなどが解説されている書籍です。&lt;/p&gt;
&lt;p&gt;コンピュータの理論で重要なチューリングマシンや、その停止問題についても書かれています。&lt;/p&gt;
&lt;p&gt;ブルーバックスシリーズ全体に言えることですが、数式などは少なめで、数学的な専門知識がなくても読めるようになっています。&lt;/p&gt;
&lt;p&gt;私は読んでいませんが、ブルーバックスシリーズには『&lt;a href=&quot;https://amzn.to/3uuWNf6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;チューリングの計算理論入門　チューリング・マシンからコンピュータへ&lt;/a&gt;』という本もあり、そちらでもチューリングマシンや P≠NP 問題について書かれているようです。&lt;/p&gt;
&lt;h2 id=&quot;量子力学の解釈問題実験が示唆する「多世界」の実在&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%87%8F%E5%AD%90%E5%8A%9B%E5%AD%A6%E3%81%AE%E8%A7%A3%E9%87%88%E5%95%8F%E9%A1%8C%E5%AE%9F%E9%A8%93%E3%81%8C%E7%A4%BA%E5%94%86%E3%81%99%E3%82%8B%E3%80%8C%E5%A4%9A%E4%B8%96%E7%95%8C%E3%80%8D%E3%81%AE%E5%AE%9F%E5%9C%A8&quot; aria-label=&quot;量子力学の解釈問題実験が示唆する「多世界」の実在 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3h9z5Rw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;量子力学の解釈問題―実験が示唆する「多世界」の実在&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4062576007?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=6d89cfe95565aff3ff04574558533e6f&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4062576007&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4062576007&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;量子力学の「多世界解釈」について解説している書籍です。&lt;/p&gt;
&lt;p&gt;最近、IT 業界で、ときどき量子コンピュータが話題になることがあります。&lt;/p&gt;
&lt;p&gt;この本では量子コンピュータの原理を学ぶことはできませんが、エンタングルメントや ERP パラドックスなど、量子力学で登場する有名な話題を知るための読み物としておすすめです。&lt;/p&gt;
&lt;p&gt;数式はまったく登場しないので、数式に抵抗がある方でも楽しめます。&lt;/p&gt;
&lt;h2 id=&quot;高校数学でわかる半導体の原理--電子の動きを知って理解しよう&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%AB%98%E6%A0%A1%E6%95%B0%E5%AD%A6%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E5%8D%8A%E5%B0%8E%E4%BD%93%E3%81%AE%E5%8E%9F%E7%90%86--%E9%9B%BB%E5%AD%90%E3%81%AE%E5%8B%95%E3%81%8D%E3%82%92%E7%9F%A5%E3%81%A3%E3%81%A6%E7%90%86%E8%A7%A3%E3%81%97%E3%82%88%E3%81%86&quot; aria-label=&quot;高校数学でわかる半導体の原理  電子の動きを知って理解しよう permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/33r3tP7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;高校数学でわかる半導体の原理 : 電子の動きを知って理解しよう&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GHHXW7S?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=afc8bebc0887630a4e8d34cb2c6575de&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GHHXW7S&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00GHHXW7S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;コンピュータの物理的な背景として重要な、半導体について解説した本です。&lt;/p&gt;
&lt;p&gt;半導体やその接合、トランジスタなどについて書かれています。&lt;/p&gt;
&lt;p&gt;アプリケーションの開発でここまで意識することは少ないと思いますが、例えば電子工作で電子部品の仕組みを理解する際などに役立つと思います。&lt;/p&gt;
&lt;p&gt;タイトルに「高校数学でわかる」とある通り、高校数学の微分・積分くらいの知識は必要になります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;コンピュータが動作する数学や物理学的な背景を知りたくなっても、専門書を読むのはなかなかハードルが高いです。&lt;/p&gt;
&lt;p&gt;そんな中、ブルーバックスシリーズは前提知識が少なくても読みやすく、とっかかりとして非常におすすめです。&lt;/p&gt;
&lt;p&gt;コンピュータの仕組みを学ぶには、日経BP社の「なぜシリーズ」も有名です。&lt;/p&gt;
&lt;p&gt;「なぜシリーズ」の書籍については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/computer-why-series&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非こちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[SQL の入門からステップアップするための書籍まとめ]]></title><description><![CDATA[SQL はデータの集計などで非常に役立つ言語であり、IT エンジニアであれば身につけておきたいスキルの一つです。
この記事では、そんな SQL の基本的な書き方を学んだ方が、次のステップで読むのにオススメの書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/sql-next-step-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/sql-next-step-books</guid><pubDate>Tue, 04 May 2021 07:02:51 GMT</pubDate><content:encoded>&lt;p&gt;SQL はデータの集計などで非常に役立つ言語であり、IT エンジニアであれば身につけておきたいスキルの一つです。&lt;/p&gt;
&lt;p&gt;最近は OR マッパーを活用することで SQL を直接書く機会が少ない方もいるかもしれませんが、生成された SQL が遅い場合に、その原因を特定して解消する上でも SQL の知識は重要です。&lt;/p&gt;
&lt;p&gt;この記事では、そんな SQL の基本的な書き方を学んだ方が、次のステップで読むのにオススメの書籍を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;sqlアンチパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sql%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;sqlアンチパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ebMqXK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SQLアンチパターン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873115892?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=67ce3b31448af04628d5b7e76ca9b6ff&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873115892&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873115892&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;SQL の入門からステップアップする上で、非常によくオススメされる書籍です。&lt;/p&gt;
&lt;p&gt;『SQL アンチパターン』というタイトルではありますが、内容は SQL に限らず、DB 設計のアンチパターンについても解説されています。&lt;/p&gt;
&lt;p&gt;個人的には、単にアンチパターンを紹介するだけでなく、「アンチパターンを用いてもよい場合」についても書かれているのがすごく良かったです。&lt;/p&gt;
&lt;p&gt;適用できる状況が具体的なため、実戦で使いやすく、SQL の基本的な書き方を学んだ後で読むのにとてもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;達人に学ぶsql徹底指南書-第2版-初級者で終わりたくないあなたへ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6sql%E5%BE%B9%E5%BA%95%E6%8C%87%E5%8D%97%E6%9B%B8-%E7%AC%AC2%E7%89%88-%E5%88%9D%E7%B4%9A%E8%80%85%E3%81%A7%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%9F%E3%81%8F%E3%81%AA%E3%81%84%E3%81%82%E3%81%AA%E3%81%9F%E3%81%B8&quot; aria-label=&quot;達人に学ぶsql徹底指南書 第2版 初級者で終わりたくないあなたへ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x9VHpZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798157821?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ac3fcb964bc9102e34cf530c4fa3378a&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798157821&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798157821&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも SQL をしっかり学ぶ上でよくオススメされる定番の書籍です。&lt;/p&gt;
&lt;p&gt;CASE や HAVING など、SQL の入門の次のステップとして身につけたい文法の解説に始まり、RDB の理論の入門的な内容も書かれています。&lt;/p&gt;
&lt;p&gt;この本も、SELECT や INSERT といった SQL の基本的な書き方を覚えた後で読むのにぴったりです。&lt;/p&gt;
&lt;p&gt;姉妹本として『&lt;a href=&quot;https://amzn.to/3punpLs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ&lt;/a&gt;』があり、こちらも非常にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;sql実践入門──高速でわかりやすいクエリの書き方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sql%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80%E2%94%80%E2%94%80%E9%AB%98%E9%80%9F%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9&quot; aria-label=&quot;sql実践入門──高速でわかりやすいクエリの書き方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zc5ddJ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SQL実践入門──高速でわかりやすいクエリの書き方&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JHRL1D3/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=9c24b404c54d4e6a41735df59bec03b0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JHRL1D3&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07JHRL1D3&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;特にパフォーマンス面を意識した、SQL の実践的な解説書です。&lt;/p&gt;
&lt;p&gt;インデックスや JOIN などのアルゴリズムについて解説されていたり、実行計画を読み解く方法が書かれていたりします。&lt;/p&gt;
&lt;p&gt;SQL や RDB をブラックボックスとして使っている状態から、内部の仕組みを理解して使うようステップアップするのにちょうど良い内容です。&lt;/p&gt;
&lt;p&gt;先に紹介した『達人に学ぶSQL徹底指南書』よりも発展的な内容なので、そちらを読んでからこの本に進むのがオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、SQL の入門からステップアップするための書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;これらの本は、「データベーススペシャリスト試験」の勉強の一環として読むにもオススメです。&lt;/p&gt;
&lt;p&gt;RDB を使う上では、SQL だけではなく DB 設計も重要です。&lt;/p&gt;
&lt;p&gt;DB 設計に関する書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/rdb-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、是非ご覧ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[オブジェクト指向の定番解説書まとめ]]></title><description><![CDATA[プログラミングを学んでいると「オブジェクト指向」という単語に遭遇しますが、その意味や活用法を理解するのは簡単ではありません。
この記事では、そんな「オブジェクト指向」を学ぶための定番書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/oop-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/oop-books</guid><pubDate>Wed, 28 Apr 2021 08:07:20 GMT</pubDate><content:encoded>&lt;p&gt;プログラミングを学んでいると「オブジェクト指向」という単語に遭遇しますが、その意味や活用法を理解するのは簡単ではありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな「オブジェクト指向」を学ぶための定番書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;オブジェクト指向でなぜつくるのか-第3版-知っておきたいoop、設計、アジャイル開発の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC3%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84oop%E3%80%81%E8%A8%AD%E8%A8%88%E3%80%81%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;オブジェクト指向でなぜつくるのか 第3版 知っておきたいoop、設計、アジャイル開発の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2T4oUUq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B092HDFJKK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=32c0bd0cc0cd1e60fe24e972479ce2d5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B092HDFJKK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B092HDFJKK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;オブジェクト指向の解説書です。&lt;/p&gt;
&lt;p&gt;プログラミングとしてのオブジェクト指向の話から、プログラミングにとどまらない考え方についても解説されています。&lt;/p&gt;
&lt;p&gt;オブジェクト指向がイマイチ分からずにいる、という方に非常にオススメの書籍です。&lt;/p&gt;
&lt;p&gt;2021 年 4 月 15 日に第 3 版が出ているので、購入するのにちょうど良いタイミングかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;リファクタリング第2版-既存のコードを安全に改善する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E7%AC%AC2%E7%89%88-%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%94%B9%E5%96%84%E3%81%99%E3%82%8B&quot; aria-label=&quot;リファクタリング第2版 既存のコードを安全に改善する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x2Az4M&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング(第2版): 既存のコードを安全に改善する&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827R4BDW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=85aef22737b66fc1ae905bbf3de9639f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827R4BDW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0827R4BDW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ソフトウェアの振る舞いを変えずにコードを改善する「リファクタリング」の解説書です。&lt;/p&gt;
&lt;p&gt;オブジェクト指向のプラクティスを生かしつつ、コードを改善する方法などが解説されています。&lt;/p&gt;
&lt;p&gt;第 1 版のサンプルコードは Java で、第 2 版のサンプルコードは JavaScript です。&lt;/p&gt;
&lt;p&gt;オブジェクト指向を利用した具体的なコードの書き方を学びたい場合にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;増補改訂版java言語で学ぶデザインパターン入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80&quot; aria-label=&quot;増補改訂版java言語で学ぶデザインパターン入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ir593S&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂版Java言語で学ぶデザインパターン入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00I8ATHGW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=512122cbc4446bbfef63f156e9a92d32&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00I8ATHGW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00I8ATHGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java で GoF のデザインパターンを解説した書籍です。&lt;/p&gt;
&lt;p&gt;GoF のデザインパターンのもとの本である『&lt;a href=&quot;https://amzn.to/3daO77d&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向における再利用のためのデザインパターン&lt;/a&gt;』よりも、こちらの方が読みやすくなっています。&lt;/p&gt;
&lt;p&gt;姉妹本として『&lt;a href=&quot;https://amzn.to/3z3OmtE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編&lt;/a&gt;』という書籍もあります。&lt;/p&gt;
&lt;p&gt;実践的なプログラミングではマルチスレッドの知識も必要になるので、マルチスレッド編もオススメです。&lt;/p&gt;
&lt;h2 id=&quot;オブジェクト指向設計実践ガイド-rubyでわかる-進化しつづける柔軟なアプリケーションの育て方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E8%A8%AD%E8%A8%88%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-ruby%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B-%E9%80%B2%E5%8C%96%E3%81%97%E3%81%A4%E3%81%A5%E3%81%91%E3%82%8B%E6%9F%94%E8%BB%9F%E3%81%AA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9&quot; aria-label=&quot;オブジェクト指向設計実践ガイド rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TOwoeG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01L8SEVYI/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=080a0a13b477b6b3e578102a0a1cd63a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01L8SEVYI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01L8SEVYI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ruby を使い、オブジェクト指向を設計原則から解説した書籍です。&lt;/p&gt;
&lt;p&gt;継承と委譲のメリット・デメリットがしっかり解説されていたり、テストにおけるモジュールの利用について書かれていたり、評判通りの素晴らしい書籍です。&lt;/p&gt;
&lt;p&gt;ダックタイピングやモジュールを活用した、Ruby らしいコードについても学ぶことができます。&lt;/p&gt;
&lt;p&gt;タイトルにある「実践」の言葉の通り、初心者向けではなく、特に Java などの言語で登場する「インタフェース」の考え方を理解していないと、なかなか理解が難しいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;以上、オブジェクト指向に関する定番書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;その他、700 ページくらいある分厚い本ですが、『&lt;a href=&quot;https://amzn.to/2PNXctZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技&lt;/a&gt;』も有名です。&lt;/p&gt;
&lt;h2 id=&quot;関連分野について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E5%88%86%E9%87%8E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;関連分野について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連分野について&lt;/h2&gt;
&lt;p&gt;オブジェクト指向を学ぶ際は、前提としてコーディングの基本的なプラクティスをおさえておいた方がいいです。&lt;/p&gt;
&lt;p&gt;コーディングの原則を学ぶための書籍は、以下の記事にまとめています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/coding-principle-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コーディングの原則を学ぶための書籍まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;オブジェクト指向についてより発展的な解説をしている分野としては、ドメイン駆動設計 (DDD) やアプリケーションアーキテクチャが挙げられます。&lt;/p&gt;
&lt;p&gt;それぞれ以下の記事に書籍をまとめているので、興味がある方は参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/application-architecture-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アプリケーションアーキテクチャに関する書籍 4 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Web セキュリティに関する書籍の紹介]]></title><description><![CDATA[Web アプリケーションを開発する上で、セキュリティは気になる点として大きな 1 つだと思います。
そんな Web アプリケーションのセキュリティを学ぶための書籍を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/web-security-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/web-security-books</guid><pubDate>Tue, 27 Apr 2021 07:57:27 GMT</pubDate><content:encoded>&lt;p&gt;Web アプリケーションを開発する上で、セキュリティは気になる点として大きな 1 つだと思います。&lt;/p&gt;
&lt;p&gt;そんな Web アプリケーションのセキュリティを学ぶための書籍を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;体系的に学ぶ-安全なwebアプリケーションの作り方-第2版-脆弱性が生まれる原理と対策の実践&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAweb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5&quot; aria-label=&quot;体系的に学ぶ 安全なwebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/34Ykj8Z&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07DVY4H3M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=42cfd01e681364beb96a3e48309cc8bc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07DVY4H3M&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07DVY4H3M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web アプリケーションのセキュリティについて体系的に学べる書籍です。&lt;/p&gt;
&lt;p&gt;著者の名前から、通称「徳丸本」と呼ばれています。&lt;/p&gt;
&lt;p&gt;Web アプリケーションのセキュリティを学ぶ上で、最もよくおすすめされている書籍です。&lt;/p&gt;
&lt;p&gt;Web アプリケーションの開発者であれば、必ず 1 度読んだ方がいいです。&lt;/p&gt;
&lt;p&gt;実際に開発していて困った際のリファレンスとしても非常に役立ちます。&lt;/p&gt;
&lt;h2 id=&quot;webセキュリティ担当者のための脆弱性診断スタートガイド-第2版-上野宣が教える新しい情報漏えいを防ぐ技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E6%8B%85%E5%BD%93%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E8%A8%BA%E6%96%AD%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC2%E7%89%88-%E4%B8%8A%E9%87%8E%E5%AE%A3%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E6%96%B0%E3%81%97%E3%81%84%E6%83%85%E5%A0%B1%E6%BC%8F%E3%81%88%E3%81%84%E3%82%92%E9%98%B2%E3%81%90%E6%8A%80%E8%A1%93&quot; aria-label=&quot;webセキュリティ担当者のための脆弱性診断スタートガイド 第2版 上野宣が教える新しい情報漏えいを防ぐ技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gm76MF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webセキュリティ担当者のための脆弱性診断スタートガイド 第2版 上野宣が教える新しい情報漏えいを防ぐ技術&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07MR41P7H/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=191572280db35a8febdfc0767db16050&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07MR41P7H&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07MR41P7H&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web アプリケーションのセキュリティのうち、脆弱性診断に特化して解説された書籍です。&lt;/p&gt;
&lt;p&gt;OWASP ZAP と Burp Suite を使った脆弱性診断について、豊富な画面キャプチャとともに解説されています。&lt;/p&gt;
&lt;p&gt;先述の「徳丸本」でも脆弱性診断について 1 章を割いて書かれていますが、それで物足りない場合はこちらの書籍も手に取ってみるといいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;情報処理教科書-情報処理安全確保支援士-2021年版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%95%99%E7%A7%91%E6%9B%B8-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E5%AE%89%E5%85%A8%E7%A2%BA%E4%BF%9D%E6%94%AF%E6%8F%B4%E5%A3%AB-2021%E5%B9%B4%E7%89%88&quot; aria-label=&quot;情報処理教科書 情報処理安全確保支援士 2021年版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z4HpIZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報処理教科書 情報処理安全確保支援士 2021年版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08JY5MZDK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=49cc78baaa14347ff57364931ba1239c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08JY5MZDK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08JY5MZDK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;情報処理技術者試験の 1 つである「情報処理安全確保支援士」の教科書です。&lt;/p&gt;
&lt;p&gt;Web アプリケーションに限らず、情報セキュリティ全般について解説されています。&lt;/p&gt;
&lt;p&gt;実際にセキュリティ面を考慮する上では Web に限られた部分以外も重要なので、こういった資格試験などを通して学ぶのも良いと思います。&lt;/p&gt;
&lt;h2 id=&quot;その他、web-セキュリティについて解説している書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%81web-%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%A7%A3%E8%AA%AC%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;その他、web セキュリティについて解説している書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他、Web セキュリティについて解説している書籍&lt;/h2&gt;
&lt;p&gt;Web セキュリティについては、Web アプリケーションや HTTP についての解説書でも触れられていることが多いです。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ukxUC6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3rNNYe4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などにセキュリティに関する解説もあり、Web アプリケーションや HTTP について勉強しつつセキュリティ面も学ぶことができます。&lt;/p&gt;
&lt;h2 id=&quot;関連分野について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E5%88%86%E9%87%8E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;関連分野について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連分野について&lt;/h2&gt;
&lt;p&gt;Web セキュリティについて学ぶには、前提としてネットワークや暗号技術の知識も必要です。&lt;/p&gt;
&lt;p&gt;ネットワークや暗号技術の入門書については以下の記事にまとめているので、そちらも参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【アプリケーションエンジニア向け】ネットワークの入門書&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cryptography-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号技術の定番入門書の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[テスト駆動開発 (TDD) を学ぶための書籍まとめ]]></title><description><![CDATA[動作するきれいなコードを書くための手法として、テスト駆動開発 (TDD) が謳われることがあります。
この記事では、そんなテスト駆動開発を学ぶための書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/tdd-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/tdd-books</guid><pubDate>Tue, 27 Apr 2021 06:41:42 GMT</pubDate><content:encoded>&lt;p&gt;動作するきれいなコードを書くための手法として、テスト駆動開発 (TDD) が謳われることがあります。&lt;/p&gt;
&lt;p&gt;この記事では、そんなテスト駆動開発を学ぶための書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;テスト駆動開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA&quot; aria-label=&quot;テスト駆動開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2S9Xa0H&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;テスト駆動開発&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077D2L69C/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0b8ed3854f575927afa97b00ad5da0cd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077D2L69C&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077D2L69C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;テスト駆動開発の考案者である Kent Beck 氏の原典を、日本におけるテスト駆動開発の第一人者である和田卓人氏が訳した書籍です。&lt;/p&gt;
&lt;p&gt;テスト駆動開発の流れが 1 つ 1 つ丁寧に解説されており、実際にどのように考えて手を動かすのかを学べます。&lt;/p&gt;
&lt;p&gt;xUnit をテスト駆動開発で実装するといった面白い題材も扱われており、非常に勉強になります。&lt;/p&gt;
&lt;p&gt;テスト駆動開発を学ぶ際の 1 冊目としておすすめの書籍です。&lt;/p&gt;
&lt;h2 id=&quot;実践テスト駆動開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA&quot; aria-label=&quot;実践テスト駆動開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3nt5lAb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践テスト駆動開発&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798124583?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ed73e14249c6f1a6f30f7eb18a0abe23&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798124583&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798124583&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;テスト駆動開発の実践的な解説書です。&lt;/p&gt;
&lt;p&gt;より応用的なサンプルや、テストの難しい領域への対応について書かれています。&lt;/p&gt;
&lt;p&gt;テストによる設計のブラッシュアップにも着目されており、テストコードでクラスの使い心地を試しながら設計を洗練させていく流れを味わうことができます。&lt;/p&gt;
&lt;p&gt;先に紹介した『テスト駆動開発』を読んでからこちらに進むのがいいと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;テスト駆動開発に関する有名な書籍は以上 2 冊になります。&lt;/p&gt;
&lt;p&gt;この他にも、プログラミング言語などの解説の中でテスト駆動開発を実践している書籍もあります。&lt;/p&gt;
&lt;p&gt;例えば Ruby の入門書である『&lt;a href=&quot;https://amzn.to/3cti7dE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで&lt;/a&gt;』(通称、チェリー本) は、テスト駆動開発でサンプルコードを書きながら Ruby の基礎を学ぶことができます。&lt;/p&gt;
&lt;p&gt;テスト駆動開発専門の書籍よりも簡単な例が多いので、こういった書籍からテスト駆動開発を学び始めるのもいいかもしれません。&lt;/p&gt;
&lt;p&gt;また、テストを実施する上では、どのようにテストケースを設計するかも重要です。&lt;/p&gt;
&lt;p&gt;テストケースの設計に関する入門書としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3x5HL05&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;はじめて学ぶソフトウェアのテスト技法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3px52oX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;知識ゼロから学ぶソフトウェアテスト 【改訂版】&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりが定番で、こちらもおすすめです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Web の仕組み・Web アプリの仕組みを理解するための書籍まとめ]]></title><description><![CDATA[最近は、フレームワークなどを活用し、Web アプリケーションを簡単に実装できるようになっています。
この記事では、そんな Web の仕組み・Web アプリの仕組みを理解するための書籍を、「Web・HTTP を理解する第一歩にオススメの書籍」、「Web・HTTP の理解をもう一歩深めるための書籍」の 2 種類 + その他に分けて紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/books-about-how-web-and-web-applications-works</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/books-about-how-web-and-web-applications-works</guid><pubDate>Mon, 12 Apr 2021 12:05:35 GMT</pubDate><content:encoded>&lt;p&gt;最近は、フレームワークなどを活用し、Web アプリケーションを簡単に実装できるようになっています。&lt;/p&gt;
&lt;p&gt;その一方で、フレームワークに従ってコードを書くだけで動くものが作れてしまうため、背後にある Web の仕組み・Web アプリの仕組みについては、なかなか理解が進まないことも少なくありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな Web の仕組み・Web アプリの仕組みを理解するための書籍を、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web・HTTP を理解する第一歩にオススメの書籍&lt;/li&gt;
&lt;li&gt;Web・HTTP の理解をもう一歩深めるための書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 種類 + その他に分けて紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;web・http-を理解する第一歩にオススメの書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%83%BBhttp-%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E7%AC%AC%E4%B8%80%E6%AD%A9%E3%81%AB%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;web・http を理解する第一歩にオススメの書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web・HTTP を理解する第一歩にオススメの書籍&lt;/h2&gt;
&lt;h3 id=&quot;「プロになるためのweb技術入門」-なぜ、あなたはwebシステムを開発できないのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%83%97%E3%83%AD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEweb%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80%E3%80%8D-%E3%81%AA%E3%81%9C%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AFweb%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E9%96%8B%E7%99%BA%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B&quot; aria-label=&quot;「プロになるためのweb技術入門」 なぜ、あなたはwebシステムを開発できないのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ukxUC6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774142352?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e082e3c0a27b537b172c75aab6950dae&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774142352&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774142352&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web の仕組み・Web アプリの仕組みを解説した入門書です。&lt;/p&gt;
&lt;p&gt;Web の発展の流れや、HTTP による通信の様子、CGI やサーブレット・JSP による Web アプリケーションについてなど、Web アプリを作る上で知っておくべき基本が幅広く書かれています。&lt;/p&gt;
&lt;p&gt;全体として図解やコードの例が豊富で、非常に読みやすいです。&lt;/p&gt;
&lt;p&gt;2010 年の書籍ということで、Ajax を使ったアプリケーションやシングルページアプリケーション (SPA) といった最近よく使われる構成については解説されていませんが、Web の仕組み・Web アプリの仕組みの基本を学ぶには定番のオススメ書籍です。&lt;/p&gt;
&lt;h3 id=&quot;3分間httpメールプロトコル基礎講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#3%E5%88%86%E9%96%93http%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E5%9F%BA%E7%A4%8E%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;3分間httpメールプロトコル基礎講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3mlZCfb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;3分間HTTP&amp;#x26;メールプロトコル基礎講座&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774140813?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c0b7398a5626580adc04a254b301dcbe&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774140813&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774140813&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「3分間ネットワーク基礎講座」というシリーズの 4 冊目で、HTTP とメールのプロトコルの入門書です。&lt;/p&gt;
&lt;p&gt;読み進めるには前提として TCP/IP の基礎知識が必要になるので、同シリーズの『&lt;a href=&quot;https://amzn.to/3fFZK7U&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[改訂新版] 3分間ネットワーク基礎講座&lt;/a&gt;』や、『&lt;a href=&quot;https://amzn.to/3ggl9Do&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか&lt;/a&gt;』あたりを読んでからこの本に進むことをおすすめします。&lt;/p&gt;
&lt;p&gt;HTTP についての解説も分かりやすいですが、メールのプロトコルの解説も分かりやすいです。&lt;/p&gt;
&lt;p&gt;メールのプロトコルを初心者向けに解説している書籍は多くないので、そこを学ぶ目的で購入してみるのもいいと思います。&lt;/p&gt;
&lt;h2 id=&quot;web・http-の理解をもう一歩深めるための書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%83%BBhttp-%E3%81%AE%E7%90%86%E8%A7%A3%E3%82%92%E3%82%82%E3%81%86%E4%B8%80%E6%AD%A9%E6%B7%B1%E3%82%81%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;web・http の理解をもう一歩深めるための書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web・HTTP の理解をもう一歩深めるための書籍&lt;/h2&gt;
&lt;h3 id=&quot;webを支える技術--http、uri、html、そしてrest&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93--http%E3%80%81uri%E3%80%81html%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6rest&quot; aria-label=&quot;webを支える技術  http、uri、html、そしてrest permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gg3fR2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webを支える技術 -HTTP、URI、HTML、そしてREST&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07JK7FZH2/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=32f7881cd6f3930fac6c36bf25795cad&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07JK7FZH2&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07JK7FZH2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web や HTTP について、より実践的に解説している書籍です。&lt;/p&gt;
&lt;p&gt;HTTP の仕様や URI の設計・リソースの設計など、実際に Web アプリを開発する際に必要な要素が丁寧に解説されています。&lt;/p&gt;
&lt;p&gt;Web や HTTP の概要を理解した後で、より理解を深め、実践的な内容を学ぶのにオススメです。&lt;/p&gt;
&lt;h3 id=&quot;web-api-the-good-parts&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-api-the-good-parts&quot; aria-label=&quot;web api the good parts permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wESVtt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web API: The Good Parts&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873116864?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1db3865e3e209b0e5a17e7f2693a1b90&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873116864&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873116864&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web API の設計についてまとめられた書籍です。&lt;/p&gt;
&lt;p&gt;美しい Web API とはどのようなものかといった話から、具体的なエンドポイントやレスポンスデータの設計などについて、丁寧に分かりやすくまとめられています。&lt;/p&gt;
&lt;p&gt;Web API の設計について学びたい際は、こちらの書籍を読んでみることをオススメします。&lt;/p&gt;
&lt;p&gt;※ Web の仕組みや Web アプリの仕組みを解説する書籍ではないです&lt;/p&gt;
&lt;h3 id=&quot;real-world-http-第2版-歴史とコードに学ぶインターネットとウェブ技術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#real-world-http-%E7%AC%AC2%E7%89%88-%E6%AD%B4%E5%8F%B2%E3%81%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%AD%A6%E3%81%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%A8%E3%82%A6%E3%82%A7%E3%83%96%E6%8A%80%E8%A1%93&quot; aria-label=&quot;real world http 第2版 歴史とコードに学ぶインターネットとウェブ技術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3rNNYe4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119030?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=dc18997ec01d74761a2f6122acdbea69&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119030&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119030&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;HTTP の解説書で、HTTP/0.9 から HTTP/1.1・HTTP/2・HTTP/3 と、HTTP のプロトコルの発展とともにどんなことができるようになったのかや、RESTful・XMLHttpRequest といった HTTP 周辺の重要なトピックが幅広くまとめられています。&lt;/p&gt;
&lt;p&gt;Web アプリについても、サーバサイドで HTML を生成する古典的な方式から、Ajax を使う方式、SPA、SPA + SSR など、最近の構成を含めてまとめられています。&lt;/p&gt;
&lt;p&gt;まえがきに書かれている通り、『&lt;a href=&quot;https://amzn.to/3wESVtt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web API: The Good Parts&lt;/a&gt;』と『&lt;a href=&quot;https://amzn.to/2QeHRlQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ハイパフォーマンス ブラウザネットワーキング&lt;/a&gt;』の中間くらいの難易度です。&lt;/p&gt;
&lt;p&gt;少し分厚い書籍ですが、一読すると非常に多くのことを学べます。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;h3 id=&quot;amazon-web-services-基礎からのネットワークサーバー構築-改訂3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-web-services-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89-%E6%94%B9%E8%A8%823%E7%89%88&quot; aria-label=&quot;amazon web services 基礎からのネットワークサーバー構築 改訂3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Siftkb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク&amp;#x26;サーバー構築 改訂3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=404a7c50059916fe69c5395b5facc4ed&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;AWS でのネットワーク・サーバ構築の入門書としてよく紹介される書籍です。&lt;/p&gt;
&lt;p&gt;Web や HTTP が主題の書籍ではありませんが、AWS 上のサーバに Apache をインストールし、ブラウザの開発者ツールや telnet を使って HTTP による通信の様子を見てみる内容が入っています。&lt;/p&gt;
&lt;p&gt;Web や HTTP をしっかり理解する上では、実際にクライアントとサーバのやりとりを見てみるのが一番だと思います。&lt;/p&gt;
&lt;p&gt;その点で、AWS の学習に限らず、HTTP の学習としても非常におすすめできる書籍です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、Web の仕組み・Web アプリの仕組みを学ぶための書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;Web アプリの背後にある Web や HTTP の知識を持っていることで、開発時のエラー解決に役立ったり、少し高度な設計をすることができるようになったりします。&lt;/p&gt;
&lt;p&gt;今後も長く使われていく技術だと思いますので、基礎知識として身につけておくときっと役立ちます。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[コーディングの原則を学ぶための書籍まとめ]]></title><description><![CDATA[プログラミングを学び始め、分岐・繰り返しといった基本文法を身に付けたら、次のステップとしては「読みやすいコード」を書く技術をつけたいです。
この記事では、そういったコーディングの原則を学ぶための書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/coding-principle-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/coding-principle-books</guid><pubDate>Wed, 31 Mar 2021 12:16:36 GMT</pubDate><content:encoded>&lt;p&gt;プログラミングを学び始め、分岐・繰り返しといった基本文法を身に付けたら、次のステップとしては「読みやすいコード」を書く技術をつけたいです。&lt;/p&gt;
&lt;p&gt;この記事では、そういったコーディングの原則を学ぶための書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&quot; aria-label=&quot;リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3whpb5m&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873115655?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=90aac0cdb6b2301b09d0039a16cc1fc2&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873115655&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873115655&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;まずは言わずと知れた『リーダブルコード』です。&lt;/p&gt;
&lt;p&gt;コーディングの原則を学ぶための書籍として定番中の定番で、誰もがおすすめする絶対に読むべき一冊です。&lt;/p&gt;
&lt;p&gt;ページ数も少なめで難易度も高くないので、プログラミングを学び始めてしばらくしたあたりで手にとってみることをおすすめします。&lt;/p&gt;
&lt;p&gt;プログラミングの学習で基本文法を理解したら、次はこの本に書いてあることを身につけるのが一番だと思います。&lt;/p&gt;
&lt;h2 id=&quot;プリンシプル-オブ-プログラミング3年目までに身につけたい一生役立つ101の原理原則&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B7%E3%83%97%E3%83%AB-%E3%82%AA%E3%83%96-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B03%E5%B9%B4%E7%9B%AE%E3%81%BE%E3%81%A7%E3%81%AB%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%91%E3%81%9F%E3%81%84%E4%B8%80%E7%94%9F%E5%BD%B9%E7%AB%8B%E3%81%A4101%E3%81%AE%E5%8E%9F%E7%90%86%E5%8E%9F%E5%89%87&quot; aria-label=&quot;プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TGAGEG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B071V7MY82/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c7e95fe7e9e9a97ddc58a1f1d85f314d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B071V7MY82&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B071V7MY82&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;プログラミングする上での考え方の原則をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;KISS・DRY・YAGNI など、多くのエンジニアが知っているプログラミングの原則が多数紹介されており、エンジニアが嗜みとして知っておきたい用語や考え方をおさえることができます。&lt;/p&gt;
&lt;p&gt;タイトルにある通り、3 年目までのエンジニアが読めるくらい難易度となっています。&lt;/p&gt;
&lt;p&gt;『リーダブルコード』の次くらいに読んでみるといいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;code-complete-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#code-complete-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;code complete 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zbk48n&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CODE COMPLETE 第2版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00JEYPPOE/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=46f4ccad27e2cd6f1c217eb82d0c6215&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00JEYPPOE&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00JEYPPOE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;コーディングのプラクティスを非常に手厚くまとめた書籍です。&lt;/p&gt;
&lt;p&gt;上・下巻で合計およそ 1200 ページとなっています。&lt;/p&gt;
&lt;p&gt;一部表現が難しくて読みにくい箇所もあるかもしれませんが、書いてあること自体はそれほど難しくなく、『リーダブルコード』の次くらいに読んでみることもできます。&lt;/p&gt;
&lt;p&gt;気軽に手に取れる本ではないかもしれませんが、読んだ方の評価は非常に高く、これを読破できればかなりの自信に繋がると思います。&lt;/p&gt;
&lt;h2 id=&quot;達人プログラマー第2版-熟達に向けたあなたの旅&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%94%E4%BA%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E7%AC%AC2%E7%89%88-%E7%86%9F%E9%81%94%E3%81%AB%E5%90%91%E3%81%91%E3%81%9F%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E6%97%85&quot; aria-label=&quot;達人プログラマー第2版 熟達に向けたあなたの旅 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3geuGec&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;達人プログラマー(第2版): 熟達に向けたあなたの旅&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08T9BXSVD/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f3a9a3721c5bb70471ff39b299ea774d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08T9BXSVD&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08T9BXSVD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ここまでに紹介した書籍とは少し違い、プログラマとしての考え方などを書いている書籍です。&lt;/p&gt;
&lt;p&gt;書かれている内容はどれもエンジニアであれば知っておきたいものばかりなので、ぜひ一度読んでおきたい一冊です。&lt;/p&gt;
&lt;p&gt;2020 年末に第 2 版が発売されたばかりなので、購入するタイミングとしてもちょうど良いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;ここまで、コーディングの原則や、プログラマとしての考え方についての書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;もう少しオブジェクト指向系のコーディングについて学びたい場合は、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3zcLoDa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング(第2版): 既存のコードを安全に改善する&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/34W0Vt5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりが比較的初心者向けでおすすめです。&lt;/p&gt;
&lt;p&gt;また、『&lt;a href=&quot;https://amzn.to/3ghWkXx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective Java 第3版&lt;/a&gt;』などの Effective シリーズも、各言語の入門レベルからステップアップし、その言語らしい書き方を学ぶために非常に適した書籍となっています。&lt;/p&gt;
&lt;p&gt;その他、より高度なアプリケーション設計などを学びたい場合は、以下の記事で紹介している書籍も参考になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/application-architecture-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アプリケーションアーキテクチャに関する書籍 4 冊の紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;プログラミングを学び始めるとまずは基本文法を理解することに精一杯になりやすいですが、次のステップとしてコーディングの原則を学ぶと、実務でも重宝されやすいです。&lt;/p&gt;
&lt;p&gt;この記事で紹介した書籍は、どれもよくおすすめされる高評価なものばかりです。
ぜひ手にとってみてください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[入門からもう一歩レベルアップするための Linux の書籍 2 冊]]></title><description><![CDATA[Linux の書籍として入門書はたくさんありますが、そこからもう一歩レベルアップするのにちょうど良い書籍は多くありません。
この記事では、そんな数少ない「入門からもう一歩レベルアップ」くらいの難易度の書籍 2 冊を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/linux-next-step-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/linux-next-step-books</guid><pubDate>Sat, 27 Mar 2021 14:32:38 GMT</pubDate><content:encoded>&lt;p&gt;Linux の書籍として入門書はたくさんありますが、そこからもう一歩レベルアップするのにちょうど良い書籍は多くありません。&lt;/p&gt;
&lt;p&gt;この記事では、そんな数少ない「入門からもう一歩レベルアップ」くらいの難易度の書籍 2 冊を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;どのくらいのレベルの書籍か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%81%AE%E3%81%8F%E3%82%89%E3%81%84%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E6%9B%B8%E7%B1%8D%E3%81%8B&quot; aria-label=&quot;どのくらいのレベルの書籍か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どのくらいのレベルの書籍か&lt;/h2&gt;
&lt;p&gt;紹介していく書籍のレベル感としては、”&lt;strong&gt;Linux でコマンドを実行したり環境構築することに抵抗がなくなり、「システムコール」という単語を耳にし始めて気になっている&lt;/strong&gt;” というくらいです。&lt;/p&gt;
&lt;p&gt;Linux の定番資格の LPIC で言えば、レベル 1 は取得済みで、レベル 2 を取得する際の副読本としてちょうど良いくらいだと思います。&lt;/p&gt;
&lt;p&gt;もしこの記事で紹介する書籍が「少し早いかも？」と感じる場合は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3g1x2OH&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新しいLinuxの教科書&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3x2z4na&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Linux教科書 LPICレベル1 Version5.0対応&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などで学習するのがおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;書籍紹介&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E7%B4%B9%E4%BB%8B&quot; aria-label=&quot;書籍紹介 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍紹介&lt;/h2&gt;
&lt;p&gt;それでは、「入門からもう一歩レベルアップ」くらいの 2 冊を紹介していきます。&lt;/p&gt;
&lt;h3 id=&quot;試して理解linuxのしくみ-実験と図解で学ぶosとハードウェアの基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A9%A6%E3%81%97%E3%81%A6%E7%90%86%E8%A7%A3linux%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%E5%AE%9F%E9%A8%93%E3%81%A8%E5%9B%B3%E8%A7%A3%E3%81%A7%E5%AD%A6%E3%81%B6os%E3%81%A8%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;試して理解linuxのしくみ 実験と図解で学ぶosとハードウェアの基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3fYuGjw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079YJS1J1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=09435b97957f19c809d98799f6b0ad86&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079YJS1J1&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B079YJS1J1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;表紙に書かれている通り、メモリやストレージデバイスといったハードウェアに着目しつつ Linux の仕組みを解説していく書籍です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;プロセススケジューラ、メモリ管理、ファイルシステム&lt;/strong&gt;といった、Linux の重要な仕組みが解説されています。&lt;/p&gt;
&lt;p&gt;特に&lt;strong&gt;レジスタ・キャッシュメモリ・メモリ・ストレージデバイスといった記憶装置の階層構造とそれらの繋がり&lt;/strong&gt;について非常に手厚く解説されており、例えば「ファイルへの書き込みがどのような流れで処理されるのか」といった仕組みへの理解が深まります。&lt;/p&gt;
&lt;p&gt;コマンドの実行例も豊富なため、自分で手を動かしながらしっかり理解できるようになっています。&lt;/p&gt;
&lt;p&gt;図解も非常に豊富で、この上なく分かりやすい素晴らしい書籍です。&lt;/p&gt;
&lt;h3 id=&quot;ふつうのlinuxプログラミング-第2版-linuxの仕組みから学べるgccプログラミングの王道&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AElinux%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88-linux%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B9%E3%82%8Bgcc%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E7%8E%8B%E9%81%93&quot; aria-label=&quot;ふつうのlinuxプログラミング 第2版 linuxの仕組みから学べるgccプログラミングの王道 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cJbNPF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B075ST51Y5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a7f41b71eb9a6c1ed2e26d0c2d018999&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B075ST51Y5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B075ST51Y5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;C 言語でのプログラムとともに、&lt;strong&gt;システムコールやライブラリ関数&lt;/strong&gt;を解説しながら Linux の仕組みを学べる書籍です。&lt;/p&gt;
&lt;p&gt;先に紹介した『[試して理解]Linuxのしくみ』とは少し違う観点で、&lt;strong&gt;ファイルシステム・プロセス・ストリームという 3 つの重要概念&lt;/strong&gt;に注目してまとめられています。&lt;/p&gt;
&lt;p&gt;特に「ストリーム」という概念を使って Linux の仕組みを非常にきれいに整理して解説されており、ファイルやネットワークなどへの入出力について理解が深まります。&lt;/p&gt;
&lt;p&gt;読み進めるためには、C 言語の構造体とポインタ程度の知識が必要になりますが、C 言語を多少勉強してでも是非読んでおきたい一冊です。&lt;/p&gt;
&lt;p&gt;読み終えたあと、さらに勉強するための書籍などもたくさん紹介されています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;以上、Linux の「入門からもう一歩レベルアップ」くらいの書籍 2 冊を紹介しました。&lt;/p&gt;
&lt;p&gt;2 冊ともぜひ読んでおきたいオススメの書籍なので、もう一歩 Linux に詳しくなりたい、という方は手にとってみてください。&lt;/p&gt;
&lt;p&gt;これら 2 冊を読んだ次のステップとしては、『&lt;a href=&quot;https://amzn.to/3w4UFLB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ゼロからのOS自作入門&lt;/a&gt;』が非常にオススメです。
OS が 1 つ 1 つのプログラムの積み重ねで実装されていく様子を体験しつつ、重要な概念についても学ぶことができる非常に素晴らしい書籍です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z3MNR9J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e3cc6aec3f8eaed9bb738d9e659136d5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z3MNR9J&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08Z3MNR9J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;また、『ふつうのLinuxプログラミング』の中にも少しだけ登場しますが、最近は Linux 上で Docker を利用することも増えています。&lt;/p&gt;
&lt;p&gt;Docker の書籍についても状況・難易度別に &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/docker-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめているので、興味がある方は参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ローコード・ノーコードに関する書籍 2 冊の紹介]]></title><description><![CDATA[最近は Bubble などのノーコードツールについて耳にする頻度が増えました。
実用性も高まっているとのことで、かなり評判が良くなっているように感じます。
そんなノーコード・ローコードツールについて、2021 年 3 月に 2 冊の書籍が発売されたので、紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/no-code-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/no-code-books</guid><pubDate>Mon, 22 Mar 2021 12:06:47 GMT</pubDate><content:encoded>&lt;p&gt;最近は Bubble などのノーコードツールについて耳にする頻度が増えました。&lt;/p&gt;
&lt;p&gt;実用性も高まっているとのことで、かなり評判が良くなっているように感じます。&lt;/p&gt;
&lt;p&gt;そんなノーコード・ローコードツールについて、2021 年 3 月に 2 冊の書籍が発売されたので、紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;基礎から学ぶ-ノーコード開発&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6-%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E9%96%8B%E7%99%BA&quot; aria-label=&quot;基礎から学ぶ ノーコード開発 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/34YiTLH&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎から学ぶ ノーコード開発&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08Z7M1PQV/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a2dcc8bea0541944b016ca6308aa3c26&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08Z7M1PQV&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08Z7M1PQV&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ノーコードの基礎知識から、実際のツールの使い方まで書かれている書籍です。&lt;/p&gt;
&lt;p&gt;ノーコードツールの種類や分布がまとめられており、どんなツールがあるのかを見てみるだけでも面白いです。&lt;/p&gt;
&lt;p&gt;ツールの使い方としては Glide、Adalo、Bubble の 3 つが解説されています。&lt;/p&gt;
&lt;p&gt;ツールの使用例は画面キャプチャが豊富でとても分かりやすく、見ていると「ノーコード面白そう、何か作ってみたい」と思えます。&lt;/p&gt;
&lt;h2 id=&quot;超高速開発の本命-ローコードノーコード最前線&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B6%85%E9%AB%98%E9%80%9F%E9%96%8B%E7%99%BA%E3%81%AE%E6%9C%AC%E5%91%BD-%E3%83%AD%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E6%9C%80%E5%89%8D%E7%B7%9A&quot; aria-label=&quot;超高速開発の本命 ローコードノーコード最前線 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gm68A1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;超高速開発の本命 ローコード/ノーコード最前線&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08YYBZW52/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bfc13b6d55f0ff71e394802d7ee3fabd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08YYBZW52&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08YYBZW52&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ローコード・ノーコードツールや RPA の事例、Kintone の使用例などが書かれた書籍です。&lt;/p&gt;
&lt;p&gt;『基礎から学ぶ ノーコード開発』と比べると、業務システム寄りの話が多く、紹介されている事例も日系大企業のものが多いです。&lt;/p&gt;
&lt;p&gt;日系大企業での RPA 活用成功の事例集として読んでみるのがいいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ノーコードでできることは日々増えており、現状でもかなりのアプリケーションが作れてしまうようです。&lt;/p&gt;
&lt;p&gt;とはいえコードを書く場合と比べたデメリットももちろんあり、『基礎から学ぶ ノーコード開発』によれば、ある程度経験がないと気づきにくい制約があったりするとのことです。&lt;/p&gt;
&lt;p&gt;このデメリットは最近発展の著しいサーバレス・コンピューティングで言われるデメリットと近いところもあり、今後に期待できる分野らしいものなのかもしれません。&lt;/p&gt;
&lt;p&gt;個人的にはプラットフォーム間での移行性が低いというデメリットも気になるところで、例えばプラットフォーム間の互換性を定める仕様が登場したりしたら面白いなと妄想しました。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[DM (ダイレクトメール) に関する書籍の 3 冊紹介]]></title><description><![CDATA[DM (ダイレクトメール) はダイレクトマーケティングの代表的な手法であり、E メールと比べた開封率の高さもあって、IT が発展した現在でもよく活用されています。
この記事では、そんな DM に関する書籍 3 冊を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/direct-mail-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/direct-mail-books</guid><pubDate>Thu, 18 Mar 2021 10:41:16 GMT</pubDate><content:encoded>&lt;p&gt;DM (ダイレクトメール) はダイレクトマーケティングの代表的な手法であり、E メールと比べた開封率の高さもあって、IT が発展した現在でもよく活用されています。&lt;/p&gt;
&lt;p&gt;この記事では、そんな DM に関する書籍 3 冊を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;新dmの教科書-「dmマーケティングエキスパート」認定資格公式テキスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%B0dm%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%80%8Cdm%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88%E3%80%8D%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E5%85%AC%E5%BC%8F%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88&quot; aria-label=&quot;新dmの教科書 「dmマーケティングエキスパート」認定資格公式テキスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3509R0A&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新DMの教科書 (「DMマーケティングエキスパート」認定資格公式テキスト)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B073RZNDWL/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0b3af23cd01d7cac27899b0721ad456d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B073RZNDWL&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B073RZNDWL&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、DM に関する教科書的な書籍で、認定資格の公式テキストです。&lt;/p&gt;
&lt;p&gt;DM とは何かから始まり、企画立案やターゲットについて、DM の制作や運用・評価と、DM について一通りまとめられています。&lt;/p&gt;
&lt;p&gt;DM に限らず使えるマーケティングの考え方についても、非常に豊富に解説されています。&lt;/p&gt;
&lt;p&gt;教科書的な書籍で体系的に学びたい、という場合におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;小さな会社だからこそ、dmは最強のツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%B0%8F%E3%81%95%E3%81%AA%E4%BC%9A%E7%A4%BE%E3%81%A0%E3%81%8B%E3%82%89%E3%81%93%E3%81%9D%E3%80%81dm%E3%81%AF%E6%9C%80%E5%BC%B7%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;小さな会社だからこそ、dmは最強のツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z9e7J6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;小さな会社だからこそ、DMは最強のツール!&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07WBZMSND/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a6de10babc9c38f579095f099084a997&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07WBZMSND&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07WBZMSND&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;DM について、そのメリットや実施のコツをまとめた書籍です。&lt;/p&gt;
&lt;p&gt;著者の経験も踏まえつつ、具体的にどんな工夫をすると DM がうまくいくのか、事例やヒントがたくさん書かれています。&lt;/p&gt;
&lt;p&gt;DM についての書籍ではありますが、考え方自体は DM 以外のマーケティングでも使えます。&lt;/p&gt;
&lt;p&gt;教科書的な書籍よりも、もっと具体的な実践方法を知りたい、という際におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;事例で学ぶ成功するdmの極意-全日本dm大賞年鑑2019&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BA%8B%E4%BE%8B%E3%81%A7%E5%AD%A6%E3%81%B6%E6%88%90%E5%8A%9F%E3%81%99%E3%82%8Bdm%E3%81%AE%E6%A5%B5%E6%84%8F-%E5%85%A8%E6%97%A5%E6%9C%ACdm%E5%A4%A7%E8%B3%9E%E5%B9%B4%E9%91%912019&quot; aria-label=&quot;事例で学ぶ成功するdmの極意 全日本dm大賞年鑑2019 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3puO5eQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;事例で学ぶ成功するDMの極意 全日本DM大賞年鑑2019&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07QCS1H9B/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b7c7cc6a7d44c01c8e55b3503eeed381&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07QCS1H9B&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07QCS1H9B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;全日本 DM 大賞を元にした DM の事例集です。&lt;/p&gt;
&lt;p&gt;多数の DM の事例を写真とともに紹介しており、DM を送る際の工夫がまとめられています。&lt;/p&gt;
&lt;p&gt;実際に DM を送る場面で、どんな工夫を入れるか考えたい、といった際などに参考になりそうです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では DM に関する書籍を紹介してきました。&lt;/p&gt;
&lt;p&gt;DM 特有のメリットや工夫ポイントもありますが、その根底にある考え方はマーケティング全般に応用できます。&lt;/p&gt;
&lt;p&gt;これらの書籍をマーケティングの勉強として読んでみるのもいいかもしれません。&lt;/p&gt;
&lt;p&gt;また、各書籍でも言われていますが、最近の DM はデータを活用して実施されることも増えてきていて、MA (マーケティングオートメーション) ツールと連携させる場合もあるようです。&lt;/p&gt;
&lt;p&gt;当ブログでは MA に関する書籍についてもまとめているので、&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/marketing-automation-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; も参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【CDP の解説書】ユーザー起点マーケティング実践ガイド【感想・レビュー】]]></title><description><![CDATA[2021 年 2 月に発売された書籍『ユーザー起点マーケティング実践ガイド』を読んだので、感想を書いていきます。
この本は、表紙にも書かれている「CDP (Customer Data Platform)」の解説書です。
CDP をビジネスに活用するための知識がまとめられており、基本から具体的な構築方法、活用方法、事例などが書かれています。]]></description><link>https://www.kanzennirikaisita.com/posts/4839975639</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4839975639</guid><pubDate>Wed, 10 Mar 2021 10:33:11 GMT</pubDate><content:encoded>&lt;p&gt;2021 年 2 月に発売された書籍『&lt;a href=&quot;https://amzn.to/2SgkdGU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザー起点マーケティング実践ガイド&lt;/a&gt;』を読んだので、感想を書いていきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08WC1YGGX/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=f20ff90b030027baebcbc8d49ce65edd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08WC1YGGX&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08WC1YGGX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;この本は、表紙にも書かれている「CDP (Customer Data Platform)」の解説書です。&lt;/p&gt;
&lt;p&gt;CDP をビジネスに活用するための知識がまとめられており、基本から具体的な構築方法、活用方法、事例などが書かれています。&lt;/p&gt;
&lt;p&gt;Treasure Data CDP など、主要なツールも紹介されています。&lt;/p&gt;
&lt;p&gt;CDP に関する日本語の解説書は現時点 (2021/03/10) では他に見当たらないです。&lt;/p&gt;
&lt;h2 id=&quot;cdp-について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cdp-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;cdp について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CDP について&lt;/h2&gt;
&lt;p&gt;私は CDP という単語自体初めて聞いたのですが、こちらの書籍を通してある程度イメージをつけることができました。&lt;/p&gt;
&lt;p&gt;最初は CRM や MA に近いものかと思いましたが、CDP 自体は、CRM や MA などに活用するためのデータを扱う基盤のようなイメージが近いようです。&lt;/p&gt;
&lt;p&gt;書籍の中にも書かれていますが、こういったデータ基盤はデータレイク・データウェアハウスなどを個別で構築して連携させることでも実現できるのに対し、CDP を利用するとそのツール内で完結して構築できるとのことです。&lt;/p&gt;
&lt;h2 id=&quot;データの扱いについて&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E6%89%B1%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;データの扱いについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データの扱いについて&lt;/h2&gt;
&lt;p&gt;この書籍の特徴は、マーケティングの考え方の話だけではなく、データの扱いについても具体的に書かれていることです。&lt;/p&gt;
&lt;p&gt;具体的には、Google AutoML Table を使った行動予測の例なども入っています。&lt;/p&gt;
&lt;p&gt;AutoML は機械学習やプログラミングの専門知識がない方でも利用できるサービスで、個人的にも結構注目しています。&lt;/p&gt;
&lt;p&gt;他にも書籍全体として、データの管理についてのある程度具体的な話もあるので、IT エンジニアとはいかないまでも、データの取り扱いに抵抗がない人の方が楽しめると思います。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;タイトル的にはビジネス書に近い内容かと思いましたが、実際にはデータの扱いなどを含め、ある程度具体的に解説されている書籍でした。&lt;/p&gt;
&lt;p&gt;「これさえ読めばすぐ実務に活かせる」という訳にはいかないかもしれませんが、CDP について全体像を知っておくにはちょうどいいと思います。&lt;/p&gt;
&lt;p&gt;データの扱いとマーケティングの両方にある程度イメージがあり、CDP という単語に興味がある方におすすめです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【オライリー】初めてのマルウェア解析を読みました【感想・レビュー】]]></title><description><![CDATA[オライリーの『初めてのマルウェア解析 ―Windowsマルウェアを解析するための概念、ツール、テクニックを探る』を読んだので、感想・レビュー記事になります。
『初めてのマルウェア解析』は、2020 年 12 月に発売された書籍です。
内容としては、マルウェアの基礎知識から、ツールを使った具体的な解析方法、それらを理解する前提として必要になる、OS の知識やアセンブリ言語について解説されています。]]></description><link>https://www.kanzennirikaisita.com/posts/4873119294</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4873119294</guid><pubDate>Fri, 05 Mar 2021 10:59:57 GMT</pubDate><content:encoded>&lt;p&gt;オライリーの『&lt;a href=&quot;https://amzn.to/3uWCszP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;初めてのマルウェア解析 ―Windowsマルウェアを解析するための概念、ツール、テクニックを探る&lt;/a&gt;』を読んだので、感想・レビュー記事になります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119294?&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=974dfc440a189c27344e282b8b4ade76&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119294&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4873119294&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;書籍の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;書籍の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍の概要&lt;/h2&gt;
&lt;p&gt;『初めてのマルウェア解析』は、2020 年 12 月に発売された書籍です。&lt;/p&gt;
&lt;p&gt;内容としては、マルウェアの基礎知識から、ツールを使った具体的な解析方法、それらを理解する前提として必要になる、OS の知識やアセンブリ言語について解説されています。&lt;/p&gt;
&lt;p&gt;「初めての」というタイトル通り、マルウェア解析の知見が全然ない自分でも楽しめる内容でした。&lt;/p&gt;
&lt;h2 id=&quot;マルウェア解析の解説について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%E8%A7%A3%E6%9E%90%E3%81%AE%E8%A7%A3%E8%AA%AC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;マルウェア解析の解説について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;マルウェア解析の解説について&lt;/h2&gt;
&lt;p&gt;マルウェア解析の解説については、マルウェアに関する前提知識があまりなくても読めるようになっています。&lt;/p&gt;
&lt;p&gt;そもそもマルウェアにどんな機能があるのかや、「表層解析」や「動的解析」など、マルウェア解析にどんな手法があるのかからまとめられており、多少知識がある人が体系的に勉強し直したい場合にも良いのではないかと思います。&lt;/p&gt;
&lt;p&gt;具体的な手法としては、ファイルシグニチャの確認に始まり、逆アセンブル、メモリフォレンジックなど、幅広く分かりやすくまとめられています。&lt;/p&gt;
&lt;p&gt;ファジーハッシュやブレークポイントの種類など、自分は初めて耳にする話も色々登場し、非常に勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;os-やアセンブリ言語の解説について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#os-%E3%82%84%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E8%A8%80%E8%AA%9E%E3%81%AE%E8%A7%A3%E8%AA%AC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;os やアセンブリ言語の解説について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OS やアセンブリ言語の解説について&lt;/h2&gt;
&lt;p&gt;この書籍の特徴の 1 つは、マルウェア解析の解説の前提として、OS やアセンブリ言語の解説も豊富なことだと思います。&lt;/p&gt;
&lt;p&gt;CPU やアセンブリ言語の基本、仮想メモリやプロセス、デバイスドライバなど、幅広い基礎知識が解説されています。&lt;/p&gt;
&lt;p&gt;起動処理や、DLL の実行方法、TLS コールバックなど、特に Windows の動作についても色々学べます。&lt;/p&gt;
&lt;p&gt;OS について学ぶときは、「OS を勉強しよう」と思い立って取り組む方法もありますが、マルウェア解析のような勉強のきっかけがあるのも良いのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;前提として求められる知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%89%8D%E6%8F%90%E3%81%A8%E3%81%97%E3%81%A6%E6%B1%82%E3%82%81%E3%82%89%E3%82%8C%E3%82%8B%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;前提として求められる知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前提として求められる知識&lt;/h2&gt;
&lt;p&gt;書籍全体として、マルウェア解析の前提知識はあまりなくても楽しめると思いますが、OS の仕組みの前提知識はある程度あったほうが読みやすいと思います。&lt;/p&gt;
&lt;p&gt;具体的には、CPU の基礎知識や、アセンブリ言語の概要、C 言語のポインタ・関数ポインタくらいの知識は必要になります。&lt;/p&gt;
&lt;p&gt;(CPU の基礎知識やアセンブリ言語については書籍の中で解説されていますが、前提知識があったほうが読みやすいと思います)&lt;/p&gt;
&lt;p&gt;その他、DLL の概要くらいの知識があれば十分読めると思います。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;この本を読んだ感想としては、自分にはかなり良いレベル感で、非常に勉強になる書籍でした。&lt;/p&gt;
&lt;p&gt;自分はセキュリティ専門ではなく、オライリーで発売されたのを見かけて手にとってみたのですが、想像していた以上に楽しめました。&lt;/p&gt;
&lt;p&gt;マルウェア解析について勉強したい方はもちろん、マルウェア解析をとっかかりとして OS などの知識を一歩深めたい、という方にもおすすめです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Java で脱初心者するためのオススメ書籍まとめ]]></title><description><![CDATA[Java で if・for や継承などの基本文法を学んだ後、次に何を勉強すればいいのか困ることが少なくないと思います。
この記事では、Java で脱初心者するための書籍を「Java の実践的な書籍」、「オブジェクト指向に関する書籍」、「Java の Web アプリケーション開発に関する書籍」の 3 つの分類で紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/java-practical-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/java-practical-books</guid><pubDate>Wed, 03 Mar 2021 03:44:56 GMT</pubDate><content:encoded>&lt;p&gt;Java で if・for や継承などの基本文法を学んだ後、次に何を勉強すればいいのか困ることが少なくないと思います。&lt;/p&gt;
&lt;p&gt;この記事では、Java で脱初心者するための書籍を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Java の実践的な書籍&lt;/li&gt;
&lt;li&gt;オブジェクト指向に関する書籍&lt;/li&gt;
&lt;li&gt;Java の Web アプリケーション開発に関する書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つの分類で紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;java-の実践的な書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#java-%E3%81%AE%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;java の実践的な書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Java の実践的な書籍&lt;/h2&gt;
&lt;h3 id=&quot;スッキリわかる-java入門-実践編-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8B-java%E5%85%A5%E9%96%80-%E5%AE%9F%E8%B7%B5%E7%B7%A8-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;スッキリわかる java入門 実践編 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ipXxyB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スッキリわかる Java入門 実践編 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00O0NIW30/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=dea5bf0e50d8aa25acfc34983a97736e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00O0NIW30&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00O0NIW30&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java の入門書の実践編です。『&lt;a href=&quot;https://amzn.to/3v1L2w6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スッキリわかるJava入門&lt;/a&gt;』の続編です。&lt;/p&gt;
&lt;p&gt;ジェネリクスやラムダ式、リフレクションといった Java の基本機能や、JUnit による単体テスト、継続的インテグレーション、アジャイル開発など、実際に開発する上で必要になる知識を幅広くまとめています。&lt;/p&gt;
&lt;p&gt;「スッキリわかるシリーズ」のどれもに言えることですが、解説が非常に分かりやすく、難解な本が苦手な方でも読みやすいです。&lt;/p&gt;
&lt;p&gt;Java の入門レベルを身につけた次のステップアップにぴったりで、非常にオススメの書籍です。&lt;/p&gt;
&lt;h3 id=&quot;改訂2版-パーフェクトjava&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%94%B9%E8%A8%822%E7%89%88-%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88java&quot; aria-label=&quot;改訂2版 パーフェクトjava permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3csNkOl&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改訂2版 パーフェクトJava&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00V2WMQNE/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=3179e1c7c420beb7a9d69d9e2a75389a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00V2WMQNE&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00V2WMQNE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;パーフェクトシリーズの 1 冊です。&lt;/p&gt;
&lt;p&gt;Java をしっかり理解する上で必要な知識がまとめられています。&lt;/p&gt;
&lt;p&gt;読みごたえは結構ありますが、これをおさえれば Java の基本は分かっている、と言えるくらいのレベル感の書籍です。&lt;/p&gt;
&lt;p&gt;先に紹介した『&lt;a href=&quot;https://amzn.to/3ipXxyB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スッキリわかる Java入門 実践編 第2版&lt;/a&gt;』などを読んでからこちらに手をつけるのがオススメです。&lt;/p&gt;
&lt;h3 id=&quot;effective-java-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#effective-java-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;effective java 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3fXG2nL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective Java 第3版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07RHX1K53/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e695c7ad2032367f80219a4077d8ae5c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07RHX1K53&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07RHX1K53&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java のコーディングのベストプラクティスをまとめた、名著として名高い書籍です。&lt;/p&gt;
&lt;p&gt;例えば、なかなか学べない例外処理の考え方などをしっかり学ぶことができます。&lt;/p&gt;
&lt;p&gt;前提として、『&lt;a href=&quot;https://amzn.to/3kDd1yk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーダブルコード&lt;/a&gt;』に書かれているような、コーディングの基本プラクティスは身につけてから読んだ方がいいです。&lt;/p&gt;
&lt;p&gt;Java らしいコードをしっかり書けるようになりたい、という方に非常にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;オブジェクト指向に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;オブジェクト指向に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;オブジェクト指向に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;オブジェクト指向でなぜつくるのか-第３版-知っておきたいoop、設計、アジャイル開発の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC%EF%BC%93%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84oop%E3%80%81%E8%A8%AD%E8%A8%88%E3%80%81%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;オブジェクト指向でなぜつくるのか 第３版 知っておきたいoop、設計、アジャイル開発の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3v1LdYi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向でなぜつくるのか 第３版　知っておきたいOOP、設計、アジャイル開発の基礎知識&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B092HDFJKK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f271d4cb7b3d1f123a6a98238583fff5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B092HDFJKK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B092HDFJKK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;オブジェクト指向の解説書です。&lt;/p&gt;
&lt;p&gt;Java に限った内容ではありませんが、Java でオブジェクト指向がイマイチ分からずにいる、という方に非常にオススメの書籍です。&lt;/p&gt;
&lt;p&gt;日経BP社の「なぜシリーズ」は、コンピュータの基礎知識を学ぶための書籍として有名です。&lt;/p&gt;
&lt;p&gt;「なぜシリーズ」については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/computer-why-series&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめています。&lt;/p&gt;
&lt;h3 id=&quot;リファクタリング第2版-既存のコードを安全に改善する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E7%AC%AC2%E7%89%88-%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%94%B9%E5%96%84%E3%81%99%E3%82%8B&quot; aria-label=&quot;リファクタリング第2版 既存のコードを安全に改善する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vbBYox&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング(第2版): 既存のコードを安全に改善する&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827R4BDW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=444dda866d59a9844bbae63d9b024753&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827R4BDW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0827R4BDW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ソフトウェアの振る舞いを変えずにコードを改善する「リファクタリング」の解説書です。&lt;/p&gt;
&lt;p&gt;オブジェクト指向のプラクティスを生かしつつ、コードを改善する方法などが解説されています。&lt;/p&gt;
&lt;p&gt;第 1 版はサンプルコードが Java でしたが、第 2 版ではサンプルコードは JavaScript になっています。&lt;/p&gt;
&lt;p&gt;とはいえ Java でも使えるプラクティスの解説なので、Java を勉強している方にもオススメです。&lt;/p&gt;
&lt;h3 id=&quot;増補改訂版java言語で学ぶデザインパターン入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80&quot; aria-label=&quot;増補改訂版java言語で学ぶデザインパターン入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ctfJnc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂版Java言語で学ぶデザインパターン入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00I8ATHGW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4af63d843e1e5a65cb4428ff0c090cac&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00I8ATHGW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00I8ATHGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java で GoF のデザインパターンを解説した書籍です。&lt;/p&gt;
&lt;p&gt;GoF のデザインパターンのもとの本である『&lt;a href=&quot;https://amzn.to/2MKy31I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向における再利用のためのデザインパターン&lt;/a&gt;』よりも、こちらの方が読みやすくなっています。&lt;/p&gt;
&lt;p&gt;姉妹本として『&lt;a href=&quot;https://amzn.to/3ippRBf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編&lt;/a&gt;』という書籍もあります。&lt;/p&gt;
&lt;p&gt;実践的なプログラミングではマルチスレッドの知識も必要になるので、マルチスレッド編もオススメです。&lt;/p&gt;
&lt;h2 id=&quot;java-の-web-アプリケーション開発に関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#java-%E3%81%AE-web-%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%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;java の web アプリケーション開発に関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Java の Web アプリケーション開発に関する書籍&lt;/h2&gt;
&lt;h3 id=&quot;スッキリわかるサーブレットjsp入門-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88jsp%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;スッキリわかるサーブレットjsp入門 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w3wjC5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スッキリわかるサーブレット&amp;#x26;JSP入門 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07PRGT2D7/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=895fd7b631a5731733edacc97a3320f0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07PRGT2D7&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07PRGT2D7&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「スッキリわかる」シリーズのサーブレット・JSP の入門書です。&lt;/p&gt;
&lt;p&gt;JDBC など、Web アプリケーション開発で必要になる周辺知識も解説されており、これ一冊でサーブレット・JSP・JDBC を使った Web アプリケーション開発について基本をおさえることができます。&lt;/p&gt;
&lt;p&gt;他の「スッキリわかる」シリーズと同じく、読みやすく分かりやすい書籍になっています。&lt;/p&gt;
&lt;p&gt;サーブレットを学びたい、という方に非常にオススメです。&lt;/p&gt;
&lt;h3 id=&quot;後悔しないためのspring-boot-入門書：spring-解体新書（第2版）&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%BE%8C%E6%82%94%E3%81%97%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AEspring-boot-%E5%85%A5%E9%96%80%E6%9B%B8%EF%BC%9Aspring-%E8%A7%A3%E4%BD%93%E6%96%B0%E6%9B%B8%EF%BC%88%E7%AC%AC2%E7%89%88%EF%BC%89&quot; aria-label=&quot;後悔しないためのspring boot 入門書：spring 解体新書（第2版） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2NNfJph&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;後悔しないためのSpring Boot 入門書：Spring 解体新書（第2版）&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08XPBPH9C?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=53b75ee95e68e432ec562883fd075cac&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08XPBPH9C&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08XPBPH9C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java のフレームワークとして定番の Spring Framework の入門書です。&lt;/p&gt;
&lt;p&gt;Spring Framework はとても重厚なフレームワークで、ドキュメントだけで勉強するのはなかなかハードルが高いです。&lt;/p&gt;
&lt;p&gt;そんな Spring をキャッチアップする上では、まずはこの書籍がオススメです。&lt;/p&gt;
&lt;p&gt;Spring 5 系、Spring Boot 2.4.1 という、2021 年 3 月時点でかなり最新に近いバージョンで解説されています。&lt;/p&gt;
&lt;h3 id=&quot;パーフェクト-java-ee&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88-java-ee&quot; aria-label=&quot;パーフェクト java ee permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3baIncx&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクト Java EE&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4774183164?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=91029cc4b4e7b4aef9d6bb8e8d14d850&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4774183164&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4774183164&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java EE (現 Jakarta EE) の解説書です。&lt;/p&gt;
&lt;p&gt;Jakarta EE は仕事で使うとは限らないかもしれませんが、Java 周辺の勉強をしているとしばしば登場するので、その概要を知るために勉強しておくのも良いと思います。&lt;/p&gt;
&lt;p&gt;Bean Validation など、Spring Framework を使う際にも登場する仕様についても解説されています。&lt;/p&gt;
&lt;p&gt;やむをえず JPA を使う際の参考書籍としてもよくオススメされています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では Java で脱初心者するための書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;プログラミングを学ぶ上では、if・for などの基本文法だけでなく、発展的な文法や、その言語らしい書き方を学ぶことも重要です。&lt;/p&gt;
&lt;p&gt;また、Java はバージョンアップで次々変更が加わっており、最近の Java について学ぶ必要もあります。&lt;/p&gt;
&lt;p&gt;最近の Java について解説している書籍は &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/modern-java-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事で紹介しています。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[コンピュータの基礎を学ぶ定番書籍「なぜシリーズ」]]></title><description><![CDATA[日経BP社の「なぜシリーズ」の書籍は、コンピュータの基礎知識を学ぶ際の定番で、プログラミングを学び始めた方、IT 関係の仕事につき始めた方によくオススメされます。
このシリーズは、「10年後も通用する基本を身につけよう」というキャッチフレーズのもと、コンピュータに関するなぜ、どうして、といった疑問を解消してくれます。
この記事では、そんな「なぜシリーズ」全 11 冊のうち、わたしが実際に読んでよかった 5 冊を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/computer-why-series</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/computer-why-series</guid><pubDate>Tue, 02 Mar 2021 11:56:20 GMT</pubDate><content:encoded>&lt;p&gt;日経BP社の「なぜシリーズ」の書籍は、コンピュータの基礎知識を学ぶ際の定番で、プログラミングを学び始めた方、IT 関係の仕事につき始めた方によくオススメされます。&lt;/p&gt;
&lt;p&gt;このシリーズは、「10年後も通用する基本を身につけよう」というキャッチフレーズのもと、コンピュータに関するなぜ、どうして、といった疑問を解消してくれます。&lt;/p&gt;
&lt;p&gt;この記事では、そんな「なぜシリーズ」全 11 冊のうち、わたしが実際に読んでよかった 5 冊を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;プログラムはなぜ動くのか-第3版-知っておきたいプログラミングの基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AF%E3%81%AA%E3%81%9C%E5%8B%95%E3%81%8F%E3%81%AE%E3%81%8B-%E7%AC%AC3%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zdWfwD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094J3CK1C/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=db8255122b68bab4cadc9f23e16038a9&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094J3CK1C&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B094J3CK1C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「なぜシリーズ」の第 1 弾で、タイトル通り、プログラムがどのように動くのかを解説しています。&lt;/p&gt;
&lt;p&gt;プログラムが CPU やメモリをどのように使っているのかや、Windows でプログラムが動く際の仕組みについて書かれています。&lt;/p&gt;
&lt;p&gt;「なぜシリーズ」定番の 1 冊で、プログラミングなどの学び始めで多くの方にオススメされる書籍です。&lt;/p&gt;
&lt;p&gt;「プログラムがどのように動いているのか」の知識がなくてもコードを書き始めることはできますが、CPU やメモリの使われ方が理解できてこそ、新たにできるようになることもあります。&lt;/p&gt;
&lt;p&gt;そんな基礎知識をつけるための第一歩として非常にオススメの書籍で、2021 年 5 月に第 3 版が出たばかりなので、買うのにも丁度良いタイミングだと思います。&lt;/p&gt;
&lt;h2 id=&quot;コンピュータはなぜ動くのか～知っておきたいハードウエア＆ソフトウエアの基礎知識～&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AF%E3%81%AA%E3%81%9C%E5%8B%95%E3%81%8F%E3%81%AE%E3%81%8B%EF%BD%9E%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A8%E3%82%A2%EF%BC%86%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A8%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%EF%BD%9E&quot; aria-label=&quot;コンピュータはなぜ動くのか～知っておきたいハードウエア＆ソフトウエアの基礎知識～ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3v1Y9gA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータはなぜ動くのか～知っておきたいハードウエア＆ソフトウエアの基礎知識～&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GSHI02Y/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=db7eef31747426894aa199d1d5c4b7a8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GSHI02Y&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00GSHI02Y&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『プログラムはなぜ動くのか』と同じ方が著者の姉妹本です。&lt;/p&gt;
&lt;p&gt;こちらの本では、「アルゴリズム」「オブジェクト指向」「データベース」「ネットワーク」「セキュリティ」といった、コンピュータ関係の仕組みを解説しています。&lt;/p&gt;
&lt;p&gt;『プログラムはなぜ動くのか』と合わせて、コンピュータの基礎知識を学ぶ際によくオススメされます。&lt;/p&gt;
&lt;p&gt;基本情報や応用情報の勉強をする際に、補助教材としてこの 2 冊を読むのもオススメです。&lt;/p&gt;
&lt;h2 id=&quot;ネットワークはなぜつながるのか-第2版-知っておきたいtcpip、lan、光ファイバの基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84tcpip%E3%80%81lan%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;ネットワークはなぜつながるのか 第2版 知っておきたいtcpip、lan、光ファイバの基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Rz7Llt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=557cb48fad0060b9a8f17aaecc7c8548&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ネットワークの入門としてよくオススメされる書籍です。&lt;/p&gt;
&lt;p&gt;Web サーバとブラウザのやりとりを深掘りしながら、ネットワークの仕組みを理解していく内容になっています。&lt;/p&gt;
&lt;p&gt;ネットワークの仕組みは複雑なので、1 度読んだだけで理解するのは難しいかもしれませんが、何周か読むとネットワークの基礎知識がしっかり身につきます。&lt;/p&gt;
&lt;p&gt;ネットワークの入門書については &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にもまとめています。&lt;/p&gt;
&lt;h2 id=&quot;オブジェクト指向でなぜつくるのか-第３版-知っておきたいoop、設計、アジャイル開発の基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC%EF%BC%93%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84oop%E3%80%81%E8%A8%AD%E8%A8%88%E3%80%81%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;オブジェクト指向でなぜつくるのか 第３版 知っておきたいoop、設計、アジャイル開発の基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ip2ZSs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向でなぜつくるのか 第３版　知っておきたいOOP、設計、アジャイル開発の基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B092HDFJKK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=8fe15cb581ce9d70672e9c72ceea8864&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B092HDFJKK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B092HDFJKK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「よく聞くけど実はあまり分かっていない」となりがちなオブジェクト指向について解説した書籍です。&lt;/p&gt;
&lt;p&gt;プログラミングとしてのオブジェクト指向の話から、プログラミングにとどまらない考え方についても解説されています。&lt;/p&gt;
&lt;p&gt;最後には、オブジェクト指向とよく対比される関数型についての解説もあります。&lt;/p&gt;
&lt;p&gt;オブジェクト指向という単語が気になり、しっかり理解したいと思っている方にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;検索エンジンはなぜ見つけるのか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%AF%E3%81%AA%E3%81%9C%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%AE%E3%81%8B&quot; aria-label=&quot;検索エンジンはなぜ見つけるのか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3clCUzZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;検索エンジンはなぜ見つけるのか&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00IYE7ROQ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bde0f5d223fd2900bba379c39adbf5db&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00IYE7ROQ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00IYE7ROQ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Google をはじめとする検索エンジンの仕組みを解説している書籍です。&lt;/p&gt;
&lt;p&gt;ここまでに紹介した 4 冊が「なぜシリーズ」で特に定番ですが、個人的にはこの本もかなりオススメです。&lt;/p&gt;
&lt;p&gt;きっかけがないと学ぶ機会のない検索エンジンの仕組みですが、IT エンジニアであれば概要は知っておきたいところです。&lt;/p&gt;
&lt;p&gt;この 1 冊を読めば、検索エンジンの仕組みの概要をしっかりおさえることができます。&lt;/p&gt;
&lt;h2 id=&quot;ほか-6-冊&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BB%E3%81%8B-6-%E5%86%8A&quot; aria-label=&quot;ほか 6 冊 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ほか 6 冊&lt;/h2&gt;
&lt;p&gt;「なぜシリーズ」には、ここまで紹介した以外にも 6 冊の書籍があります。&lt;/p&gt;
&lt;p&gt;興味を持った方はぜひ手にとってみてください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3078MBT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Windowsはなぜ動くのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SlWpBs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;システムはなぜダウンするのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3v2Xmfw&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;電話はなぜつながるのか 知っておきたいNTT電話、IP電話、携帯電話の基礎知識&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3iogMJ5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;携帯電話はなぜつながるのか 第2版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3wfEevW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;情報はなぜビットなのか 知っておきたいコンピュータと情報処理の基礎知識&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bTYTwF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822281493?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=894725439c5acdef6f88a8f7be0960c5&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822281493&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4822281493&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00ISP0OM8/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=13f960c478a8fe81321a88b507456969&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00ISP0OM8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00ISP0OM8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00IYE7X7M/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d210c5d5a2d12d0169d1830a76e2ccbf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00IYE7X7M&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00IYE7X7M&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00J4AX55E/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=74ff1285692a1effb9072cbc2d5440c1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00J4AX55E&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00J4AX55E&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00IYE80X8/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f8d50dd9ac669cf4d21d456644a0fa8a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00IYE80X8&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00IYE80X8&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822281965?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8bff8904ae1ceda8210872dfcc34d480&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822281965&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4822281965&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;最近ではプログラミングの入門についてはたくさんの情報が得られるようになり、プログラミング自体は学習しやすくなってきたと思います。&lt;/p&gt;
&lt;p&gt;「なぜシリーズ」は、なんとなくプログラムが書けるレベルから、仕組みを理解して書けるレベルにスキルアップする第一歩としてぴったりです。&lt;/p&gt;
&lt;p&gt;また、コンピュータの原理について学ぶ上では、数学や物理学的な知識が役立つこともあります。&lt;/p&gt;
&lt;p&gt;数学・物理学などの話題を平易に解説した「講談社のブルーバックスシリーズ」のうち、IT エンジニアの方におすすめのものを &lt;a href=&quot;https://www.kanzennirikaisita.com/posts/blue-backs-books-for-it-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; の記事にまとめていますので、是非こちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【非初心者向け】Ruby と Rails をしっかり勉強するときのオススメ書籍]]></title><description><![CDATA[この記事では「他の言語の経験があり、これから Ruby や Rails を学びたい方」、「Ruby や Rails の書き方が分かってきて、もう一歩しっかり学びたい方」におすすめの Ruby と Rails の書籍を紹介します。
]]></description><link>https://www.kanzennirikaisita.com/posts/ruby-and-rails-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ruby-and-rails-books</guid><pubDate>Sun, 21 Feb 2021 03:23:00 GMT</pubDate><content:encoded>&lt;p&gt;この記事では&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;他の言語の経験があり、これから Ruby や Rails を学びたい方&lt;/li&gt;
&lt;li&gt;Ruby や Rails の書き方が分かってきて、もう一歩しっかり学びたい方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;におすすめの Ruby と Rails の書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;ruby-の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ruby-%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ruby の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ruby の書籍&lt;/h2&gt;
&lt;h3 id=&quot;プロを目指す人のためのruby入門-言語仕様からテスト駆動開発・デバッグ技法まで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEruby%E5%85%A5%E9%96%80-%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E3%83%BB%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%8A%80%E6%B3%95%E3%81%BE%E3%81%A7&quot; aria-label=&quot;プロを目指す人のためのruby入門 言語仕様からテスト駆動開発・デバッグ技法まで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w2uTHP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077Q8BXHC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=2c722e9f99be09cf8adbba2ff6d113c6&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077Q8BXHC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077Q8BXHC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ruby の入門書で、通称「チェリー本」と呼ばれています。&lt;/p&gt;
&lt;p&gt;まえがきに書かれている通り、対象読者はプログラミング経験がない方ではなく、他の言語の経験があって Ruby を学ぼうとしている方や、Ruby を学んでしばらく経ったがまだ自信が持てない方となっています。&lt;/p&gt;
&lt;p&gt;この 1 冊で、Ruby の基本をしっかりおさえることができます。
この本を読んでから Rails を学ぶことで、どこまでが Ruby の文法で、どこからが Rails の機能なのかも理解しやすくなります。&lt;/p&gt;
&lt;p&gt;コードの解説は TDD 的に行われているので、TDD の概要を学ぶこともできます。&lt;/p&gt;
&lt;p&gt;他の言語の経験者が Ruby を学び始める際にも非常におすすめできる書籍です。&lt;/p&gt;
&lt;h3 id=&quot;改訂2版-パーフェクトruby&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%94%B9%E8%A8%822%E7%89%88-%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88ruby&quot; aria-label=&quot;改訂2版 パーフェクトruby permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z7hpfY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;改訂2版 パーフェクトRuby&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B071K5WM6P/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=985fe5d9ba27c25b16986207fce4de3a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B071K5WM6P&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B071K5WM6P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;パーフェクトシリーズの 1 冊です。&lt;/p&gt;
&lt;p&gt;こちらもプログラミング自体初めてという方を対象とした書籍ではなく、他の言語の経験があって Ruby を学ぼうとしている方などが対象読者となっています。&lt;/p&gt;
&lt;p&gt;内容としては、Ruby の概要や言語仕様に始まり、メタプログラミングなどについても書かれています。
また、Rake や Gem、Bundler といった、Ruby 関係のツールについてもある程度ページを割いて解説されています。&lt;/p&gt;
&lt;p&gt;個人的には Rack について解説されている点が非常に良かったです。
(Rack については後で紹介する『パーフェクト Ruby on Rails』でも解説されています)&lt;/p&gt;
&lt;h3 id=&quot;オブジェクト指向設計実践ガイド-rubyでわかる-進化しつづける柔軟なアプリケーションの育て方&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E8%A8%AD%E8%A8%88%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-ruby%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B-%E9%80%B2%E5%8C%96%E3%81%97%E3%81%A4%E3%81%A5%E3%81%91%E3%82%8B%E6%9F%94%E8%BB%9F%E3%81%AA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9&quot; aria-label=&quot;オブジェクト指向設計実践ガイド rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gbRMSA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01L8SEVYI/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=283de9bfb5ab645d7bf5af831f47dd9b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01L8SEVYI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01L8SEVYI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ruby によるオブジェクト指向設計の解説書です。&lt;/p&gt;
&lt;p&gt;ダックタイピングなど、Ruby の特徴を活かしたオブジェクト指向プログラミングのポイントが非常に分かりやすく解説されています。&lt;/p&gt;
&lt;p&gt;なぜそうするべきなのか、その設計によってどう改善されるのかなどを学ぶことができ、単に動くコードが書ける段階から、Ruby らしいコードを書けるようにステップアップするのにぴったりの書籍です。&lt;/p&gt;
&lt;p&gt;Ruby の文法自体は分かってきて、どうすればコードがきれいになるのかを学びたい、といった際にとてもおすすめです。&lt;/p&gt;
&lt;h3 id=&quot;effective-ruby&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#effective-ruby&quot; aria-label=&quot;effective ruby permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gnzI8i&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Effective Ruby&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00SF6JN4K/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=383244a2968314b0c9ffdebf2b3eca85&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00SF6JN4K&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00SF6JN4K&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;「Effective シリーズ」の Ruby の解説書です。&lt;/p&gt;
&lt;p&gt;Ruby の基本文法は分かっている前提で、より安全でメンテナンスのしやすいコードを書く方法が解説されています。&lt;/p&gt;
&lt;p&gt;等値の違いを踏まえた実装や例外処理など、実践的なプログラミングで知っておくべきトピックがたくさん解説されています。&lt;/p&gt;
&lt;p&gt;Ruby に慣れてきて、もう一歩しっかりしたコードが書けるようになりたいという際におすすめです。&lt;/p&gt;
&lt;h3 id=&quot;メタプログラミングruby-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0ruby-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;メタプログラミングruby 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2M6AdrY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタプログラミングRuby 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117437/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b75dd8661b0335149dabdeeba1d31d7d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117437&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873117437&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ruby によるメタプログラミングの解説書です。&lt;/p&gt;
&lt;p&gt;Ruby は他の言語と比べてもとても美しいオブジェクトモデルを持っており、それによって非常に強力なメタプログラミングの機能を実現しています。&lt;/p&gt;
&lt;p&gt;そんな Ruby のメタプログラミングについて、全然知らない状態から基本が一通り理解できるように解説されています。&lt;/p&gt;
&lt;p&gt;書籍の後半では Rails におけるメタプログラミングも解説されており、「Rails のようなフレームワークはどう実装されているのか」といった疑問を解消するにもぴったりです。&lt;/p&gt;
&lt;p&gt;Ruby を使うのであれば一度は読んでおきたい、必読とも言える一冊です。&lt;/p&gt;
&lt;h2 id=&quot;ruby-on-rails-の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ruby-on-rails-%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ruby on rails の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Ruby on Rails の書籍&lt;/h2&gt;
&lt;h3 id=&quot;パーフェクト-ruby-on-rails-【増補改訂版】&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88-ruby-on-rails-%E3%80%90%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91&quot; aria-label=&quot;パーフェクト ruby on rails 【増補改訂版】 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3glhmV4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;パーフェクト Ruby on Rails 【増補改訂版】&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08D3DW7LP/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a7e98af8c3ecd8994ebf707c0481831a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08D3DW7LP&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08D3DW7LP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもパーフェクトシリーズの 1 冊です。&lt;/p&gt;
&lt;p&gt;Ruby on Rails について、基本的な使い方から、周辺エコシステム、実践的な設計まで学ぶことができる、非常に素晴らしい書籍です。&lt;/p&gt;
&lt;p&gt;他の言語・フレームワークである程度開発経験のある方であれば、この 1 冊だけで Rails をかなり理解できるのではないかと思います。&lt;/p&gt;
&lt;p&gt;2020 年 8 月に第 2 版が発売されており、GitHub Actions や Docker などを利用した、2020 年時点の実践的な開発環境についても解説されています。&lt;/p&gt;
&lt;p&gt;『パーフェクトRuby』と同様、Rack と Rails の関係についても解説されており、どこまでを Rack が担当しており、どこからが Rails の機能なのかなども理解できます。&lt;/p&gt;
&lt;p&gt;最終パートでは、値オブジェクトやサービスオブジェクト、フォームオブジェクト、プレゼンター、Concern、コールバックオブジェクトを使った、実践的な設計についても解説されています。
どの手法をどのような場面で使うべきかも書かれており、設計への理解を深めるとっかかりにもなります。&lt;/p&gt;
&lt;p&gt;「Rails の基本的な書き方は身に付けたものの、設計に自信が持てない」という方も、是非この本を読んでみることをおすすめします。&lt;/p&gt;
&lt;h3 id=&quot;ruby-on-rails-6-実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ruby-on-rails-6-%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;ruby on rails 6 実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zaxEZL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ruby on Rails 6 実践ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082XXMVBK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7c7e27fcddd083bb9cbc6dcd59126425&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082XXMVBK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B082XXMVBK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Rails の実践的な解説書です。
サンプルプロジェクトを実装しながら解説していくスタイルで、Rails の前提知識が多少ある方に向けた、実践的な内容になっています。&lt;/p&gt;
&lt;p&gt;こちらの本でも、フォームオブジェクトやサービスオブジェクト、プレゼンターを使った実践的な設計について解説されています。&lt;/p&gt;
&lt;p&gt;なお、サービスオブジェクトについては、『パーフェクト Ruby on Rails』とは少し異なる立場で解説されています。
「サービス」の使い方にはいろいろな立場があるので、注意して読み進めることをおすすめします。&lt;/p&gt;
&lt;p&gt;このあたりの考え方の詳細は、「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ&lt;/a&gt;」という記事で紹介している書籍等を参照ください。&lt;/p&gt;
&lt;h2 id=&quot;その他の良さそうな書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;その他の良さそうな書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他の良さそうな書籍&lt;/h2&gt;
&lt;p&gt;その他、私が未読の良さそうな書籍を 3 冊挙げておきます。&lt;/p&gt;
&lt;p&gt;(どれもプログラミング自体初めてという方に向けた書籍ではないので、ご注意ください)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3brcMCf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラミング言語 Ruby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3sdoqHP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リファクタリング:Rubyエディション&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3qF98Mq&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Rubyのしくみ　Ruby Under a Microscope&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873113946?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=dace51f0333fcbf7e9f48d48a8dfebbf&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873113946&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4873113946&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/4048678841?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e9fa0274460992113e440bba8ef9d552&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4048678841&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4048678841&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B01IGW56CU/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f9b92686b1a2b6f87eacffea6625794f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01IGW56CU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01IGW56CU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では、Ruby と Rails を実践的に学べる書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;プログラミングの勉強に慣れるまでは、基本的な書き方を理解した次のステップとして何を学ぶべきか分からない、ということも多いと思います。&lt;/p&gt;
&lt;p&gt;そういった際は、この記事で紹介したような実践的な書籍を読んでみることをおすすめします。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS 認定 SAA-C02 対応書籍 3 冊の比較【AWS 認定ソリューションアーキテクトアソシエイト】]]></title><description><![CDATA[AWS 認定ソリューションアーキテクトアソシエイト (SAA) の試験が 2020 年から改定され、SAA-C02 という試験になりました。
試験範囲の変更に伴い、学習用の書籍の改訂版が 2021/01/30 時点で 3 冊ほど登場しています。
この記事では、それら 3 冊を比較していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/aws-saa-c02-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-saa-c02-books</guid><pubDate>Fri, 29 Jan 2021 14:42:13 GMT</pubDate><content:encoded>&lt;p&gt;AWS 認定ソリューションアーキテクトアソシエイト (SAA) の試験が 2020 年から改定され、SAA-C02 という試験になりました。&lt;/p&gt;
&lt;p&gt;試験範囲の変更に伴い、学習用の書籍の改訂版が 2021/01/30 時点で 3 冊ほど登場しています。&lt;/p&gt;
&lt;p&gt;この記事では、それら 3 冊を比較していきます。&lt;/p&gt;
&lt;h2 id=&quot;模擬問題付き改訂新版-徹底攻略-aws認定-ソリューションアーキテクト-−-アソシエイト教科書saa-c02対応&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A8%A1%E6%93%AC%E5%95%8F%E9%A1%8C%E4%BB%98%E3%81%8D%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-aws%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E2%88%92-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88%E6%95%99%E7%A7%91%E6%9B%B8saa-c02%E5%AF%BE%E5%BF%9C&quot; aria-label=&quot;模擬問題付き改訂新版 徹底攻略 aws認定 ソリューションアーキテクト − アソシエイト教科書saa c02対応 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TRGZFF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;(模擬問題付き)改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08SGSD479/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c4ddf9abcbe50916e41167c67fc52262&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08SGSD479&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08SGSD479&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 1 月 11 日発売の書籍です。&lt;/p&gt;
&lt;p&gt;「教科書」の名の通り、AWS の入門知識が体系的にまとめられています。&lt;/p&gt;
&lt;p&gt;AWS の基本サービスや高可用アーキテクチャ、パフォーマンス、セキュリティ設計、コスト最適化について一通り書かれています。&lt;/p&gt;
&lt;p&gt;特に各種ベストプラクティスが手厚く解説されており、後述する 2 冊よりも AWS における設計を学ぶのに適しています。&lt;/p&gt;
&lt;p&gt;認定試験の対策に限らず、AWS を学ぶための入門書としてもオススメできます。&lt;/p&gt;
&lt;p&gt;こちらの書籍の感想は以下の記事にも書いているので、是非参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/4295010650&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【読書速報】『改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応』の感想&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;aws認定資格試験テキスト-aws認定ソリューションアーキテクト---アソシエイト-改訂第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-aws%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88---%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88-%E6%94%B9%E8%A8%82%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;aws認定資格試験テキスト aws認定ソリューションアーキテクト   アソシエイト 改訂第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ikPm6S&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MVXRFFN/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c404e3c916ed2fc11fbfb6b55a57a7b2&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MVXRFFN&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08MVXRFFN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2021 年 1 月 30 日発売の書籍です。&lt;/p&gt;
&lt;p&gt;AWS の各サービスの説明を中心とし、AWS におけるアーキテクチャ設計の解説や、模擬試験問題も付属しています。&lt;/p&gt;
&lt;p&gt;各サービスの説明が他の 2 冊によりもかなり丁寧で、より詳細な設定などまで書かれています。&lt;/p&gt;
&lt;p&gt;FSx や Redshift、Code シリーズなどについてもある程度ページを割いて解説されており、AWS の基本サービスを一通りおさえることができます。&lt;/p&gt;
&lt;p&gt;アーキテクチャまわりの解説は簡素なので、別途勉強が必要になります。&lt;/p&gt;
&lt;h2 id=&quot;一夜漬け-aws認定ソリューションアーキテクト-アソシエイトc02対応直前対策テキスト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%80%E5%A4%9C%E6%BC%AC%E3%81%91-aws%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88c02%E5%AF%BE%E5%BF%9C%E7%9B%B4%E5%89%8D%E5%AF%BE%E7%AD%96%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88&quot; aria-label=&quot;一夜漬け aws認定ソリューションアーキテクト アソシエイトc02対応直前対策テキスト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gaPnY8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;一夜漬け AWS認定ソリューションアーキテクト アソシエイト[C02対応]直前対策テキスト&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08W4V95SY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c276cb2e1fd1d43cb0e1490b88693d84&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08W4V95SY&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08W4V95SY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年 11 月 9 日発売の書籍です。&lt;/p&gt;
&lt;p&gt;タイトルの「一夜漬け」の言葉の通り、試験問題を強く意識した内容になっています。&lt;/p&gt;
&lt;p&gt;AWS について体系的に学ぶというよりは、試験問題を解くためのポイントをまとめた書籍となっています。&lt;/p&gt;
&lt;p&gt;ある程度前提知識が求められる説明となっているので、他の書籍などで AWS を学んでから読むことをオススメします。&lt;/p&gt;
&lt;p&gt;先に紹介した 2 冊には書かれていない設計なども書かれていたりします。&lt;/p&gt;
&lt;p&gt;一部用語の説明の誤りや回答の誤記などが見受けられるので、読み進める際は注意が必要です。&lt;/p&gt;
&lt;h2 id=&quot;比較表&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%AF%94%E8%BC%83%E8%A1%A8&quot; aria-label=&quot;比較表 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;比較表&lt;/h2&gt;
&lt;p&gt;これら 3 冊の特徴をまとめると、以下のようになりました。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;書籍&lt;/th&gt;
&lt;th&gt;体系的&lt;/th&gt;
&lt;th&gt;直前詰め込み的&lt;/th&gt;
&lt;th&gt;各サービスの解説&lt;/th&gt;
&lt;th&gt;ベストプラクティスの解説&lt;/th&gt;
&lt;th&gt;問題量&lt;/th&gt;
&lt;th&gt;初心者向け&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08SGSD479/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d4fd07ece2a9c07b86dee8df952e238f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08SGSD479&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08SGSD479&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/td&gt;
&lt;td&gt;◎&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;◎&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MVXRFFN/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=851428d97f96811a5caced3b903bd245&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MVXRFFN&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08MVXRFFN&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;◎&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08W4V95SY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=f764a1225f31bb1d2f1676ccbef44948&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08W4V95SY&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08W4V95SY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;前提知識によってどれがオススメかは変わってきますが、例えば AWS についてほとんど知らない方が勉強する場合は、この記事に紹介した順で手に取ってみることをオススメします。&lt;/p&gt;
&lt;h2 id=&quot;これらを読む前に必要な知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%82%8C%E3%82%89%E3%82%92%E8%AA%AD%E3%82%80%E5%89%8D%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;これらを読む前に必要な知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;これらを読む前に必要な知識&lt;/h2&gt;
&lt;p&gt;今回紹介した 3 冊に共通して、画面キャプチャを使ったりしての使用手順の解説などはありません。&lt;/p&gt;
&lt;p&gt;そのため、AWS などのパブリッククラウドを多少さわったことがないと読み進めるのは難しいです。&lt;/p&gt;
&lt;p&gt;そういった方は、『&lt;a href=&quot;https://amzn.to/3iqfa1p&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク&amp;#x26;サーバー構築 改訂3版&lt;/a&gt;』を先に読んで手を動かしてみることをオススメします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e463c0b75b610c50a6594a9dd8193cd7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;また、この書籍を読む場合もそうですが、AWS を学ぶには最低限のネットワークの知識が必要になります。&lt;/p&gt;
&lt;p&gt;ネットワークの基礎を勉強するには、以下の 2 冊が定番かつ非常に分かりやすいのでオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3glB0R5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3v1JBhc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マスタリングTCP/IP―入門編―&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=3999183d181e96beef76f8019933df20&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827QNDNT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9b1950af770227a522281c41f0814a1e&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827QNDNT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0827QNDNT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;これらの書籍については、以下の記事にも概要を書いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【アプリケーションエンジニアにもオススメ】ネットワークの入門書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;AWS 認定は AWS を体系的に学ぶのに非常に適しています。&lt;/p&gt;
&lt;p&gt;その第一歩として SAA 資格を取得してみるのは、多くの IT エンジニアにとってとても有意義だと思います。&lt;/p&gt;
&lt;p&gt;この記事が資格取得を目指す方の参考になれば幸いです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2021 年 1 月】メタバースとは？その現状は？]]></title><description><![CDATA[先日メタバースという言葉を知ったので、その概要や、現状を調べてまとめました。
メタバースについて、2021/01/24 時点での (主に) 日本語情報をまとめた記事になります。
メタバースの概要から、メタバース系の SNS やゲーム、VTuber 業界の動向、その他関連情報をまとめています。]]></description><link>https://www.kanzennirikaisita.com/posts/metaverse-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/metaverse-concepts</guid><pubDate>Sun, 24 Jan 2021 01:38:21 GMT</pubDate><content:encoded>&lt;p&gt;先日メタバースという言葉を知ったので、その概要や、現状を調べてまとめました。&lt;/p&gt;
&lt;p&gt;メタバースについて、2021/01/24 時点での (主に) 日本語情報をまとめた記事になります。&lt;/p&gt;
&lt;p&gt;メタバースの概要から、メタバース系の SNS やゲーム、VTuber 業界の動向、その他関連情報をまとめています。&lt;/p&gt;
&lt;h2 id=&quot;メタバースとは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%A8%E3%81%AF&quot; aria-label=&quot;メタバースとは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバースとは&lt;/h2&gt;
&lt;h3 id=&quot;まずは-wikipedia-調べ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%9A%E3%81%AF-wikipedia-%E8%AA%BF%E3%81%B9&quot; aria-label=&quot;まずは wikipedia 調べ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まずは Wikipedia 調べ&lt;/h3&gt;
&lt;p&gt;Wikipedia の &lt;a href=&quot;https://en.wikipedia.org/wiki/Metaverse&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Metaverse&lt;/a&gt; のページから引用すると、以下のように書かれています。(日本語記事がまだなかったため、英語の記事を参照しました)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Metaverse is a collective virtual shared space, created by the convergence of virtually enhanced physical reality and physically persistent virtual space, including the sum of all virtual worlds, augmented reality, and the Internet. The word “metaverse” is made up of the prefix “meta” (meaning beyond) and the stem “verse” (a backformation from “universe”); the term is typically used to describe the concept of a future iteration of the internet, made up of persistent, shared, 3D virtual spaces linked into a perceived virtual universe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これを &lt;a href=&quot;https://www.deepl.com/ja/translator&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DeepL&lt;/a&gt; で翻訳すると、以下のようになりました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;メタバースは、すべての仮想世界、拡張現実、インターネットの総和を含む、仮想的に強化された物理的現実と物理的に持続する仮想空間の収束によって生み出される、集合的な仮想的共有空間である。メタバースという言葉は、接頭語の “meta”（その先を意味する）と語幹の “verse”（“universe “からの派生形）で構成されています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wikipedia にありがちな分かったような分からないような説明ですが、要するに、メタバースとはある種の「仮想的共有空間」のことのようです。&lt;/p&gt;
&lt;p&gt;「世界」などを意味する “universe” に「その先」を意味する “meta” をつけてできた言葉なので、「この世界をより進めた次の世界」のような意味合いでの命名のようです。&lt;/p&gt;
&lt;h3 id=&quot;もう少し分かりやすく説明すると&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E5%88%86%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E8%AA%AC%E6%98%8E%E3%81%99%E3%82%8B%E3%81%A8&quot; aria-label=&quot;もう少し分かりやすく説明すると permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;もう少し分かりやすく説明すると&lt;/h3&gt;
&lt;p&gt;もう少し分かりやすいメタバースの説明として、「&lt;a href=&quot;https://www.jstage.jst.go.jp/article/jsoft/21/3/21_358/_pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;知能処理とメタバースの可能性&lt;/a&gt;」から引用すると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;利用者はアバターと呼ばれる分身を介して、3 次元メタバース空間の中を自由に動き回ったり、他の参加者とコミュニケーションすることができる&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;これなら理解できた方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;有名な作品だと、「&lt;a href=&quot;https://amzn.to/2LOcaOB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マトリックス&lt;/a&gt;」や「&lt;a href=&quot;https://amzn.to/3qJqTJb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ソードアート・オンライン&lt;/a&gt;」をイメージすると分かりやすいのではないでしょうか。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00FIWIQ3I?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=35ea14e68a4f117f423213ca5ab73f20&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00FIWIQ3I&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00FIWIQ3I&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01M9F2P75?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=151d47ec001d344b9fcdb551a786dd5b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01M9F2P75&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B01M9F2P75&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;語源&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%9E%E6%BA%90&quot; aria-label=&quot;語源 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;語源&lt;/h3&gt;
&lt;p&gt;いつから存在する言葉なのか気になったので語源も調べたところ、いくつかのページ等が見つかりました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jstage.jst.go.jp/article/jsoft/21/3/21_358/_pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;知能処理とメタバースの可能性&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jstage.jst.go.jp/article/jasmin/2011s/0/2011s_0_740/_pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースにおけるビジネスモデルとその効果に関する考察&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dic.nicovideo.jp/a/%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースとは (メタバースとは) [単語記事] - ニコニコ大百科&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jp.techcrunch.com/2020/03/16/metaverse/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フォートナイトの急成長、テックジャイアントが注目する「メタバース」とはなにか&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;どの情報源もメタバースの語源を同じように説明しています。&lt;/p&gt;
&lt;p&gt;どうやらメタバースという言葉は、アメリカの SF 作家・ニール・スティーヴンスンが 1992 年に発表した SF 小説『&lt;a href=&quot;https://amzn.to/2Y3FP8O&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スノウ・クラッシュ&lt;/a&gt;』で作られた造語のようです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/0613361628?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=0661249fe72579b99263bb4ccf9fd092&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=0613361628&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=0613361628&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4150113513?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=bbfc7478b3b725cef3283af13b055a57&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4150113513&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4150113513&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4150113521?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c8be1dfd951a88f2769e1d65eb27011d&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4150113521&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4150113521&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;小説『&lt;a href=&quot;https://amzn.to/2Y3FP8O&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スノウ・クラッシュ&lt;/a&gt;』については、「&lt;a href=&quot;https://jp.techcrunch.com/2020/03/16/metaverse/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フォートナイトの急成長、テックジャイアントが注目する「メタバース」とはなにか&lt;/a&gt;」という記事に以下のように書かれており、なかなかオススメできる書籍のようです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;大手テック企業の社長室には似た本やモノが置いていることがあるが、最近だと「メタバース」や「アバター」と名付けたニール・スティーヴンスンの「スノウ・クラッシュ」が一番読まれているのではないかと思う。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;メタバース周辺の動向&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E5%91%A8%E8%BE%BA%E3%81%AE%E5%8B%95%E5%90%91&quot; aria-label=&quot;メタバース周辺の動向 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバース周辺の動向&lt;/h2&gt;
&lt;p&gt;では、メタバースの意味や語源を理解できたところで、ここからはメタバース周辺の動向をまとめていきます。&lt;/p&gt;
&lt;h3 id=&quot;sns&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sns&quot; aria-label=&quot;sns permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SNS&lt;/h3&gt;
&lt;p&gt;まずは SNS 系のサービスを紹介していきます。&lt;/p&gt;
&lt;h4 id=&quot;vrchat&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vrchat&quot; aria-label=&quot;vrchat permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VRChat&lt;/h4&gt;
&lt;p&gt;現状 VR 系の SNS として現在一番有名なのは VRChat ではないかと思います。&lt;/p&gt;
&lt;p&gt;アメリカの VRChat 社が運営しています。&lt;/p&gt;
&lt;p&gt;VR 機器がなくても利用可能です。&lt;/p&gt;
&lt;h4 id=&quot;second-life&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#second-life&quot; aria-label=&quot;second life permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Second Life&lt;/h4&gt;
&lt;p&gt;2003 年に公開された、メタバース系のサービスです。(VR ではありません)&lt;/p&gt;
&lt;p&gt;アメリカの Linden Lab 社が運営しています。&lt;/p&gt;
&lt;p&gt;最近は利用は活発ではないようですが、昔からあるサービスとして名前が挙がることが多いです。&lt;/p&gt;
&lt;h4 id=&quot;sansar&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sansar&quot; aria-label=&quot;sansar permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Sansar&lt;/h4&gt;
&lt;p&gt;Second Life の運営元が新たに公開した VR SNS です。&lt;/p&gt;
&lt;p&gt;VRChat に続いて有名なサービスです。&lt;/p&gt;
&lt;h4 id=&quot;cluster&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cluster&quot; aria-label=&quot;cluster permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Cluster&lt;/h4&gt;
&lt;p&gt;日本のクラスター株式会社が運営している VR サービスです。&lt;/p&gt;
&lt;p&gt;他の VR SNS と比べて、イベントや会議に強いイメージがあります。&lt;/p&gt;
&lt;p&gt;スマホアプリもあり、気軽に楽しむことができます。&lt;/p&gt;
&lt;h4 id=&quot;neosvr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#neosvr&quot; aria-label=&quot;neosvr permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;NeosVR&lt;/h4&gt;
&lt;p&gt;SNS に分類していいのか分かりませんが、こちらも VR のメタバースサービスです。&lt;/p&gt;
&lt;p&gt;特徴としては、VR 空間でプレイヤーが各種プログラミング可能なことが挙げられます。&lt;/p&gt;
&lt;p&gt;以下の記事が非常に分かりやすいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/piacerex/items/7c29778e19e5b281f293&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NeosVRに見出した可能性と未来について：「4つの世界」は「7つの世界」に&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ゲーム&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B2%E3%83%BC%E3%83%A0&quot; aria-label=&quot;ゲーム permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ゲーム&lt;/h3&gt;
&lt;p&gt;メタバースの例としては、ゲームが挙げられることもあります。&lt;/p&gt;
&lt;h4 id=&quot;フォートナイト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%95%E3%82%A9%E3%83%BC%E3%83%88%E3%83%8A%E3%82%A4%E3%83%88&quot; aria-label=&quot;フォートナイト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;フォートナイト&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08K9Q9M3P?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=9113a3c5c30b02484dcd751118371782&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08K9Q9M3P&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08K9Q9M3P&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;メタバース的なゲームとして最も名前が挙がるのは、「&lt;a href=&quot;https://amzn.to/2Ns7w9f&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フォートナイト&lt;/a&gt;」です。&lt;/p&gt;
&lt;p&gt;アメリカの Epic Games 社が販売しており、基本無料でプレイ可能です。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jp.techcrunch.com/2020/03/16/metaverse/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フォートナイトの急成長、テックジャイアントが注目する「メタバース」とはなにか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.baseq.jp/business/article/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%88%E3%83%8A%E3%82%A4%E3%83%88%E3%81%8B%E3%82%89%E8%A6%8B%E3%82%8B%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%AE%E5%8F%AF%E8%83%BD%E6%80%A7/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フォートナイトから見るメタバースの可能性&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.axion.zone/metaverse/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバース SFが夢想した次世代ソーシャルメディア&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;あつまれ-どうぶつの森&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%82%E3%81%A4%E3%81%BE%E3%82%8C-%E3%81%A9%E3%81%86%E3%81%B6%E3%81%A4%E3%81%AE%E6%A3%AE&quot; aria-label=&quot;あつまれ どうぶつの森 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;あつまれ どうぶつの森&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084H8S45Q?&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=8ad7df63fd4fda8eaac3f6dca09e303b&amp;language=ja_JP&amp;ref_=as_li_ss_il&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084H8S45Q&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084H8S45Q&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;任天堂の「&lt;a href=&quot;https://amzn.to/2Y9TNWU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;あつまれ どうぶつの森&lt;/a&gt;」もメタバース的なゲームであると言われることがあります。&lt;/p&gt;
&lt;p&gt;たしかに、アバターで仮想空間を動き回り他のプレイヤーとコミュニケーションするという意味では、まさにメタバースであると言えます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bae.dentsutec.co.jp/articles/metaverse/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;現実を超えたミラーワールド「メタバース」が生み出す、超感動体験の正体&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;vtuber&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#vtuber&quot; aria-label=&quot;vtuber permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;VTuber&lt;/h3&gt;
&lt;p&gt;VTuber 界隈でも「メタバース」という単語が挙がることがあるので、有名どころを紹介していきます。&lt;/p&gt;
&lt;h4 id=&quot;activ8株式会社&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#activ8%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE&quot; aria-label=&quot;activ8株式会社 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Activ8株式会社&lt;/h4&gt;
&lt;p&gt;(自称) 世界初の VTuber キズナアイを生んだ会社です。&lt;/p&gt;
&lt;p&gt;会社としてはそもそもメタバースを生み出すための過程として VTuber 事業を行なっているとのことです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.videojournal.co.jp/sites/default/files/104_active8_last_web2.pdf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Activ8×クレッセント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://global.too.com/dsurf-online/report/design-surf-seminar2020/000955.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コロナが加速させたバーチャルビジネスの新潮流&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ytranking.net/blog/archives/39939&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VTuber、upd8終了の理由をactiv8社長に問い詰める&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;カバー株式会社&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AB%E3%83%90%E3%83%BC%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE&quot; aria-label=&quot;カバー株式会社 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;カバー株式会社&lt;/h4&gt;
&lt;p&gt;VTuber 事務所「ホロライブ」を運営する会社です。&lt;/p&gt;
&lt;p&gt;所属するタレント (VTuber) が出演するバーチャルライブやオンラインゲームといった、メタバース領域に取り組もうとしています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/tanigo/n/nd7f87679ef06&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新サービスの立ち上げと人材募集&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.yahoo.co.jp/articles/12e59f78ab8348042d4e4f5dc108d475a7cb06f9&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「ホロライブ」運営のカバー社、新サービス宣言　メタバース領域事業へ意欲&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;株式会社いちから&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%81%84%E3%81%A1%E3%81%8B%E3%82%89&quot; aria-label=&quot;株式会社いちから permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;株式会社いちから&lt;/h4&gt;
&lt;p&gt;「ホロライブ」と並んで有名な VTuber グループ「にじさんじ」の運営会社です。&lt;/p&gt;
&lt;p&gt;こちらはメタバースという言葉を出している訳ではありませんが、近い要素のあるサービスとして「&lt;a href=&quot;https://www.yumenographia.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユメノグラフィア&lt;/a&gt;」を提供しています。&lt;/p&gt;
&lt;h3 id=&quot;メタバースとブロックチェーンの組み合わせ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%A8%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%81%AE%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B&quot; aria-label=&quot;メタバースとブロックチェーンの組み合わせ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバースとブロックチェーンの組み合わせ&lt;/h3&gt;
&lt;p&gt;メタバースについて調べていると、ブロックチェーンとの組み合わせについて語られる例がいくつかあります。&lt;/p&gt;
&lt;p&gt;こういった記事には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;記録が完全に残るブロックチェーンを利用することで、メタバースの外部での通貨のやりとりを規制する&lt;/li&gt;
&lt;li&gt;特定の国家や組織に依存しないブロックチェーンを利用することで、中央集権でないメタバースが実現可能になる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったことが書かれています。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gaiax-blockchain.com/blockchain-metaverse&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ブロックチェーンとメタバース&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebridge.jp/2019/01/next-to-web-3-the-second-part&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;僕がVTuberとVR、ブロックチェーンに懸ける理由 「自律分散型メタバースと民主主義2.0」&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;その他のサービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;その他のサービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他のサービス&lt;/h3&gt;
&lt;p&gt;その他、メタバース関係のサービスについての記事をいくつか挙げておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thebridge.jp/2020/09/will-facebook-horizon-be-the-first-step-toward-the-metaverse-the-first-part&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;もう一つの世界「Facebook Horizon」：世界初のメタバース誕生へ（1/6）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.nvidia.co.jp/2020/12/16/omniverse-open-beta-available/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバースが始まる：NVIDIA Omniverse のオープン ベータが開始&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prtimes.jp/main/html/rd/p/000000022.000032228.html#:~:text=MESON%20Metaverse%20Lab%E8%A8%AD%E7%AB%8B%E3%81%AE,%E7%B3%BB%E3%82%92%E6%84%8F%E5%91%B3%E3%81%97%E3%81%BE%E3%81%99%E3%80%82&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AR Creative Studioを行うMESON、メタバース上でのユースケースを実験する“MESON Metaverse Lab”開設！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;メタバースの今・昔&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%AE%E4%BB%8A%E3%83%BB%E6%98%94&quot; aria-label=&quot;メタバースの今・昔 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;メタバースの今・昔&lt;/h2&gt;
&lt;p&gt;「メタバース」自体は 1992 年に発表された小説が語源であり、決して新しい言葉ではありません。&lt;/p&gt;
&lt;p&gt;メタバースという概念の少し昔について書かれた記事をいくつか挙げておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/nekomasu2/n/n47b6a0564764&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;メタバース温故知新&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://note.com/ktadaki/n/n096522b455ce&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「メタバース」は新しいゲームの概念ではないし、楽園でもない&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;所感&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%89%80%E6%84%9F&quot; aria-label=&quot;所感 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;所感&lt;/h2&gt;
&lt;p&gt;クラウドや VR といった技術の発展により、メタバースの世界観は非常に身近になりつつあると思います。&lt;/p&gt;
&lt;p&gt;また、現状でも、オンラインゲーム上で知り合った友達と現実の友達のように仲良くなってコミュニケーションしているという方は少なくありません。
これは、すでにオンラインゲームをメタバースのように捉えているということだと思います。&lt;/p&gt;
&lt;p&gt;メタバースの世界観はまだ一般に受け入れられるほどにはなっていませんが、そう遠くないうちに浸透すると思います。&lt;/p&gt;
&lt;p&gt;中には日本が得意な領域もあると思うので、そういった分野で日本が活躍できることも期待したいです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[暗号技術の定番入門書の紹介]]></title><description><![CDATA[IT エンジニアとしての基礎知識の 1 つに、暗号技術の知識が挙げられます。
きっかけがないとなかなか勉強できない分野ではありますが、セキュアなシステムの開発には必須の知識です。
この記事では、そんな暗号技術の入門書としてよくオススメされている書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/cryptography-beginners-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/cryptography-beginners-books</guid><pubDate>Thu, 21 Jan 2021 05:56:01 GMT</pubDate><content:encoded>&lt;p&gt;IT エンジニアとしての基礎知識の 1 つに、暗号技術の知識が挙げられます。&lt;/p&gt;
&lt;p&gt;きっかけがないとなかなか勉強できない分野ではありますが、セキュアなシステムの開発には必須の知識です。&lt;/p&gt;
&lt;p&gt;この記事では、そんな暗号技術の入門書としてよくオススメされている書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;暗号解読（上）・暗号解読（下）&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9A%97%E5%8F%B7%E8%A7%A3%E8%AA%AD%EF%BC%88%E4%B8%8A%EF%BC%89%E3%83%BB%E6%9A%97%E5%8F%B7%E8%A7%A3%E8%AA%AD%EF%BC%88%E4%B8%8B%EF%BC%89&quot; aria-label=&quot;暗号解読（上）・暗号解読（下） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uZSeIP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号解読（上）&lt;/a&gt;・&lt;a href=&quot;https://amzn.to/3ip1Fis&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号解読（下）&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01MRZVRM5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=963a43fb43292dc51d2a7d76dfa4ecfe&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01MRZVRM5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01MRZVRM5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B01NGYJLND/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=55edb3d2118c5e7b02e6ccaada99dd20&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01NGYJLND&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01NGYJLND&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;暗号技術の発展について、歴史的背景などを踏まえて知ることができる書籍です。&lt;/p&gt;
&lt;p&gt;著者は『&lt;a href=&quot;https://amzn.to/3gnyt98&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;フェルマーの最終定理&lt;/a&gt;』でも有名です。&lt;/p&gt;
&lt;p&gt;技術書というよりは読み物的な本で、数式もほとんどなく、数学に苦手意識のある方でも読める内容になっています。&lt;/p&gt;
&lt;p&gt;技術者に限らずオススメできる書籍です。&lt;/p&gt;
&lt;h2 id=&quot;暗号技術入門-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9A%97%E5%8F%B7%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;暗号技術入門 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pDApOP&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号技術入門 第3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B015643CPE/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c5656ab3938c4529a0b0977e761f0aa7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B015643CPE&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B015643CPE&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通りの、暗号技術の入門書です。&lt;/p&gt;
&lt;p&gt;共通鍵暗号や公開鍵暗号、デジタル署名など、暗号技術の基本を一通りおさえることができます。&lt;/p&gt;
&lt;p&gt;著者は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3iqNycG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;増補改訂版Java言語で学ぶデザインパターン入門&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3cqTPB8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;数学ガール&lt;/a&gt;』シリーズ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などでも有名な結城 浩さんです。&lt;/p&gt;
&lt;p&gt;著者の他の書籍と同様、その分野の初心者でも読みやすい、非常に分かりやすい解説になっています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では暗号技術の入門書を紹介しました。&lt;/p&gt;
&lt;p&gt;この 3 冊を読んでおけば、暗号技術の基本は知っていると言えると思います。&lt;/p&gt;
&lt;p&gt;情報セキュリティの入門書としては、『&lt;a href=&quot;https://amzn.to/34Zn1uQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践&lt;/a&gt;』も非常に有名な入門書です。&lt;/p&gt;
&lt;p&gt;なかなか勉強法が分かりにくいセキュリティ分野ですが、まずはこのあたりの書籍から手をつけてみるといいと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[IT インフラの教科書的な書籍 3 冊の紹介]]></title><description><![CDATA[IT インフラの知識をつけるには、ネットワーク、OS、データベースなどの仕組みであったり、ロギング、モニタリングといった運用に関する点であったり、非常に広い範囲を学ぶ必要が出てきます。
各分野で有名な書籍等で勉強する方法もありますが、まずは全体的に学んでみるのも良い方法です。
そこでこの記事には、IT インフラの教科書的な書籍 3 冊をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/it-infrastructure-textbooks</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/it-infrastructure-textbooks</guid><pubDate>Sun, 17 Jan 2021 14:31:43 GMT</pubDate><content:encoded>&lt;p&gt;IT インフラの知識をつけるには、ネットワーク、OS、データベースなどの仕組みであったり、ロギング、モニタリングといった運用に関する点であったり、非常に広い範囲を学ぶ必要が出てきます。&lt;/p&gt;
&lt;p&gt;各分野で有名な書籍等で勉強する方法もありますが、まずは全体的に学んでみるのも良い方法です。&lt;/p&gt;
&lt;p&gt;そこでこの記事には、IT インフラの教科書的な書籍 3 冊をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;webエンジニアが知っておきたいインフラの基本-インフラの設計から構成、監視、チューニングまで&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%AE%E8%A8%AD%E8%A8%88%E3%81%8B%E3%82%89%E6%A7%8B%E6%88%90%E3%80%81%E7%9B%A3%E8%A6%96%E3%80%81%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%BE%E3%81%A7&quot; aria-label=&quot;webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまで permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w2ncBr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00SY2UKHY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7205b3a343c8ed6b72423f0ecd5cb13f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00SY2UKHY&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00SY2UKHY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Web アプリケーションエンジニアに向けたインフラの入門書です。&lt;/p&gt;
&lt;p&gt;ネットワークや OS、データベースなどの基礎知識から、監視やチューニングについてまで書かれています。&lt;/p&gt;
&lt;p&gt;この書籍の冒頭では、クラウドを利用することが増えてきた中でインフラの基礎知識が不可欠になっているといったことが書かれています。
内容としては、まさにクラウドを使う場合でも必要なインフラの基礎知識がまとめられており、アプリケーションエンジニアが読むのにちょうどいい難易度になっています。&lt;/p&gt;
&lt;p&gt;具体的なコマンドやその実行結果の例も多く、あまりインフラの知見がない方でも読みやすいと思います。&lt;/p&gt;
&lt;h2 id=&quot;インフラエンジニアの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;インフラエンジニアの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w4O7wu&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インフラエンジニアの教科書&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01L8CANUK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b40fb50bb02a3e031002c00e6f8a3d68&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01L8CANUK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01L8CANUK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;主にオンプレミスのインフラエンジニアに求められる基礎知識をまとめた書籍です。&lt;/p&gt;
&lt;p&gt;ネットワークやサーバ、ストレージなどの環境を物理的に構築する際に求められる知識がまとめられています。&lt;/p&gt;
&lt;p&gt;非常に体系的にまとまっているので、オンプレミスでのインフラ構築について学びたい際は手にとってみるといいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;インフラエンジニアの教科書2-スキルアップに効く技術と知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B82-%E3%82%B9%E3%82%AD%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E3%81%AB%E5%8A%B9%E3%81%8F%E6%8A%80%E8%A1%93%E3%81%A8%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;インフラエンジニアの教科書2 スキルアップに効く技術と知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/352GNWc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インフラエンジニアの教科書2 スキルアップに効く技術と知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01KSUGP28/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=343ab18aa75f51a802d390dd975be611&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01KSUGP28&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01KSUGP28&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;『インフラエンジニアの教科書』の続編です。&lt;/p&gt;
&lt;p&gt;クラウド、オンプレミスを問わず、また、インフラエンジニアに限らず非常にオススメできる書籍です。&lt;/p&gt;
&lt;p&gt;ネットワーク、OS、データベース、セキュリティなどの基礎知識が非常に豊富に書かれています。&lt;/p&gt;
&lt;p&gt;特に OS については、プロセス処理の仕組みやメモリ管理、ファイル管理などについて、他に見たことがないほど分かりやすく解説されています。
Linux の扱いに慣れてきた方が次のステップとして OS の仕組みの概要を学ぶのに最適です。&lt;/p&gt;
&lt;p&gt;ネットワークやデータベースの仕組みなども、この書籍で解説されている範囲はアプリケーションエンジニアであっても知っておきたいです。&lt;/p&gt;
&lt;p&gt;非常にオススメできる書籍なので、興味を持った方は是非読んでみてください。&lt;/p&gt;
&lt;p&gt;なお、『インフラエンジニアの教科書』との繋がりは全くないので、こちらの書籍だけ読んでも問題ありません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では、IT インフラを全体的に学ぶことができる書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;インフラの知識をつけるうえでは、こういった書籍で全体的に学びつつ、ネットワーク、OS、データベース、クラウド、監視など、各項目についても深掘りしていく必要があります。&lt;/p&gt;
&lt;p&gt;ちなみに、ネットワークの入門書については、以下の記事にまとめているので、興味がある方はお読みください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【アプリケーションエンジニアにもオススメ】ネットワークの入門書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【アプリケーションエンジニアにもオススメ】ネットワークの入門書]]></title><description><![CDATA[最近は AWS などの台頭により、アプリケーションエンジニアがインフラまで扱うケースが増えてきました。
今までインフラをさわった経験のない方が AWS を学ぼうとすると、ネットワークや Linux の基礎知識が壁となります。
この記事では、そういった方に向けてネットワークの入門書をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/network-books-for-application-engineers</guid><pubDate>Sun, 17 Jan 2021 09:19:34 GMT</pubDate><content:encoded>&lt;p&gt;最近は AWS などの台頭により、アプリケーションエンジニアがインフラまで扱うケースが増えてきました。&lt;/p&gt;
&lt;p&gt;今までインフラをさわった経験のない方が AWS を学ぼうとすると、ネットワークや Linux の基礎知識が壁となります。&lt;/p&gt;
&lt;p&gt;この記事では、そういった方に向けてネットワークの入門書をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;ネットワークはなぜつながるのか-第2版-知っておきたいtcpip、lan、光ファイバの基礎知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84tcpip%E3%80%81lan%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;ネットワークはなぜつながるのか 第2版 知っておきたいtcpip、lan、光ファイバの基礎知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z4zqM1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c7f8a76e40543077a79bc5296065ebf0&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ネットワークの入門書で最も有名な本だと思います。&lt;/p&gt;
&lt;p&gt;「○○はなぜ○○か」シリーズの 1 つで、Web サーバとクライアントのやりとりを深掘りしながらネットワークの仕組みを理解していく内容になっています。&lt;/p&gt;
&lt;p&gt;情報量も多いので 1 周読んだだけで全て理解するのは難しいかもしれませんが、何周か読むことでネットワークの基礎をしっかり学ぶことができます。&lt;/p&gt;
&lt;p&gt;手元に置いておく価値のある一冊です。&lt;/p&gt;
&lt;p&gt;このシリーズでは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3ghOOfh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンピュータはなぜ動くのか～知っておきたいハードウエア＆ソフトウエアの基礎知識～&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3fY3IIK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラムはなぜ動くのか　第3版　知っておきたいプログラムの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3v2eRMW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;オブジェクト指向でなぜつくるのか 第３版　知っておきたいOOP、設計、アジャイル開発の基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あたりも非常に有名なオススメの書籍です。&lt;/p&gt;
&lt;p&gt;まだ読んでいないものがある方は、是非読んでみてください。&lt;/p&gt;
&lt;h2 id=&quot;マスタリングtcpip入門編第6版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0tcpip%E5%85%A5%E9%96%80%E7%B7%A8%E7%AC%AC6%E7%89%88&quot; aria-label=&quot;マスタリングtcpip入門編第6版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2Ta5gXf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マスタリングTCP/IP―入門編―(第6版)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827QNDNT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0d5f37c685395fb5137c015b21f0217d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827QNDNT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0827QNDNT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらもネットワークの入門書としてよくオススメされる有名な書籍です。&lt;/p&gt;
&lt;p&gt;1 つ目に紹介した『ネットワークはなぜつながるのか』よりも各知識が体系的にまとまっており、『ネットワークはなぜつながるのか』でネットワークの概要を理解した後に 2 冊目として読むのがオススメです。&lt;/p&gt;
&lt;p&gt;自分の考えでは、この 2 冊くらいの内容をおさえておけば、アプリケーションエンジニアとしては十分だと思います。&lt;/p&gt;
&lt;h2 id=&quot;amazon-web-services-基礎からのネットワークサーバー構築-改訂3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-web-services-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89-%E6%94%B9%E8%A8%823%E7%89%88&quot; aria-label=&quot;amazon web services 基礎からのネットワークサーバー構築 改訂3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g1xMDh&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク&amp;#x26;サーバー構築 改訂3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=866344590460f340fb15b2ce47d5bff4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらはネットワークの入門書ではありませんが、紹介させていただきます。&lt;/p&gt;
&lt;p&gt;AWS の入門書で、ネットワーク (VPC) やサーバー (EC2) のハンズオンをできる書籍です。&lt;/p&gt;
&lt;p&gt;『ネットワークはなぜつながるのか』を読むなどしてネットワークの基礎知識を身に付けたら、実際に手を動かしてみたいところです。&lt;/p&gt;
&lt;p&gt;インフラエンジニアやネットワークエンジニアの方であればネットワーク機器のエミュレータなどで学習するケースが多いと思いますが、アプリケーションエンジニアの方は AWS で学習するのがちょうどいいと思います。&lt;/p&gt;
&lt;p&gt;こちらの書籍の内容の通り、VPC や EC2 を構築し、NAT や DB との疎通くらいまでできるようになれば、AWS の入門として必要なネットワークの知識を一通り身に付けたことになります。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;アプリケーションエンジニアが AWS などを学ぶ前提としてネットワークの知識をつけたい場合、この記事で紹介した 3 冊が非常にオススメです。&lt;/p&gt;
&lt;p&gt;『ネットワークはなぜつながるのか』や『マスタリングTCP/IP』はある程度ボリュームもありますが、これだけ知っておけばひとまず先の学習に進めます。
多くの方がオススメしている 2 冊なので、是非手にとってみてください。&lt;/p&gt;
&lt;h2 id=&quot;暗号技術について学ぶには&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9A%97%E5%8F%B7%E6%8A%80%E8%A1%93%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E5%AD%A6%E3%81%B6%E3%81%AB%E3%81%AF&quot; aria-label=&quot;暗号技術について学ぶには permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;暗号技術について学ぶには&lt;/h2&gt;
&lt;p&gt;ネットワークについて学ぶうえでは、SSL / TLS などの暗号技術の基礎知識も必要になります。&lt;/p&gt;
&lt;p&gt;暗号技術の入門書については以下の記事にまとめているので、ぜひ参照ください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/cryptography-beginners-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;暗号技術の定番入門書の紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『Oracle Cloud Infrastructure エンタープライズ構築実践ガイド』の感想]]></title><description><![CDATA[先週発売された『Oracle Cloud Infrastructure エンタープライズ構築実践ガイド』を読んだので、感想を書きました。
この書籍は、IaaS / PaaS を提供する Oracle のクラウドサービスである Oracle Cloud Infrastructure (OCI) の解説書です。
Amazon で調べたところ、他に Oracle Cloud Infrastructure の解説書はなさそうで、こちらが現状唯一の書籍になるようです。
Chapter ごとに面白かった点や感想を書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/4297118092</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297118092</guid><pubDate>Fri, 15 Jan 2021 09:42:53 GMT</pubDate><content:encoded>&lt;p&gt;先週発売された『&lt;a href=&quot;https://amzn.to/3w5Eldz&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Oracle Cloud Infrastructure エンタープライズ構築実践ガイド&lt;/a&gt;』を読んだので、感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08R9GXZ2Y/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=cc7f16026fd0a25e930832121829a1d5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08R9GXZ2Y&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08R9GXZ2Y&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;この書籍は、IaaS / PaaS を提供する Oracle のクラウドサービスである Oracle Cloud Infrastructure (OCI) の解説書です。&lt;/p&gt;
&lt;p&gt;Amazon で調べたところ、他に Oracle Cloud Infrastructure の解説書はなさそうで、こちらが現状唯一の書籍になるようです。&lt;/p&gt;
&lt;p&gt;Chapter ごとに面白かった点や感想を書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;chapter-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chapter-1&quot; aria-label=&quot;chapter 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Chapter 1&lt;/h2&gt;
&lt;p&gt;OCI の基礎を解説する章です。&lt;/p&gt;
&lt;p&gt;ネットワーク仮想化を別のハードウェアで実行しているなど、OCI が内部的にどう設計されているかも書かれており、なかなか面白かったです。&lt;/p&gt;
&lt;p&gt;AWS や GCP といった有名なクラウドプロバイダと比べてどのように思想が異なるかを感じ取ることもできました。&lt;/p&gt;
&lt;h2 id=&quot;chapter-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chapter-2&quot; aria-label=&quot;chapter 2 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Chapter 2&lt;/h2&gt;
&lt;p&gt;コンピュート、ネットワーク、ストレージといった OCI のコアサービスを解説する章です。&lt;/p&gt;
&lt;p&gt;個人的に面白かった点としては、Oracle Autonomous Linux のゼロ・ダウンタイム・アップグレード、自動セキュリティパッチが挙げられます。
AWS の EC2 や GCP の GCE などを使う際にも OS のパッチをどうするかは検討点ですが、そこが簡単に運用できそうなのは便利そうだなと思いました。&lt;/p&gt;
&lt;p&gt;また、IPSec VPN が無償であるといったことも書かれており、&lt;a href=&quot;https://www.oracle.com/jp/cloud/economics/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;公式ページ&lt;/a&gt; に書かれているように、確かに AWS などよりも安い部分は結構あるのかもしれません。&lt;/p&gt;
&lt;p&gt;この章は AWS や GCP などの基本サービスについて知っていればサクサク読め、それらとの違いも分かって面白いです。
OCI では各種データがデフォルトで暗号化されているなど、エンタープライズシステムで要求されるセキュリティを強く意識しているように感じました。&lt;/p&gt;
&lt;p&gt;Oracle Cloud と OCI の関係や ID のフェデレーションについても解説されており、実際に使う際にも役立つと思います。&lt;/p&gt;
&lt;h2 id=&quot;chapter-3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chapter-3&quot; aria-label=&quot;chapter 3 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Chapter 3&lt;/h2&gt;
&lt;p&gt;データ関係のサービスを解説する章です。&lt;/p&gt;
&lt;p&gt;Oracle と言えばやはりデータベースであり、OCI でもデータベースに非常に力を入れられることが分かりました。&lt;/p&gt;
&lt;p&gt;Database Cloud、Exadata Cloud などの解説に加え、フルマネージド・サービスである Autonomous Database について手厚く解説されています。&lt;/p&gt;
&lt;p&gt;Autonomous Database について、個人的にはスケールアップ / ダウンまで自動化してくれる部分が想像以上で驚きました。&lt;/p&gt;
&lt;p&gt;パブリックなエンドポイントであれば Free Tier でも使えるとのことなので、まずは Heroku の DB として試したりしてみてもいいのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;chapter-4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chapter-4&quot; aria-label=&quot;chapter 4 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Chapter 4&lt;/h2&gt;
&lt;p&gt;OCI での高可用性設計と、オンプレミスからの移行について書かれた章です。&lt;/p&gt;
&lt;p&gt;高可用性設計で登場する「可用性ドメイン」については、Azure の可用性セットとかなり似ているので、Azure を知っていればスラスラ読めると思います。&lt;/p&gt;
&lt;p&gt;オンプレミスからの移行の中では DB をゼロダウンタイムで移行する方法なども書かれており、なかなか面白かったです。&lt;/p&gt;
&lt;h2 id=&quot;chapter-5--7&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#chapter-5--7&quot; aria-label=&quot;chapter 5  7 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Chapter 5 ~ 7&lt;/h2&gt;
&lt;p&gt;Free Tier の利用方法や、サンプルシステム構築のハンズオンについて書かれています。&lt;/p&gt;
&lt;p&gt;画面キャプチャなども豊富なので、実際にはさわってみないにしても結構雰囲気を味わえます。&lt;/p&gt;
&lt;p&gt;かなりのボリュームになっているので、これだけ実際に試せば OCI がある程度理解できるのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;OCI は存在は知っていましたが、特徴や提供されているサービスなどまでは知らなかったので、読んでみてなかなか面白かったです。&lt;/p&gt;
&lt;p&gt;一時期コンテナ関係の勉強ばかりしていたおかげで OCI と言えば Open Container Initiative と思っていた私ですが、今後は OCI という単語を聞いたら Oracle Cloud Infrastructure も候補に上がるようになりそうです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[仮想通貨投資の書籍 6 冊の紹介]]></title><description><![CDATA[ビットコインが過去最高値を更新するなど、最近また仮想通貨の投資が盛り上がっています。
この記事では、仮想通貨の投資に関する書籍 6 冊を「網羅的な入門書」、「より簡易的な書籍」、「特化型の書籍」の 3 つに分類して紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/cryptocurrency-investment-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/cryptocurrency-investment-books</guid><pubDate>Thu, 14 Jan 2021 07:42:20 GMT</pubDate><content:encoded>&lt;p&gt;ビットコインが過去最高値を更新するなど、最近また仮想通貨の投資が盛り上がっています。&lt;/p&gt;
&lt;p&gt;この記事では、仮想通貨の投資に関する書籍 6 冊を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;網羅的な入門書&lt;/li&gt;
&lt;li&gt;より簡易的な書籍&lt;/li&gt;
&lt;li&gt;特化型の書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つに分類して紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;網羅的な入門書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B6%B2%E7%BE%85%E7%9A%84%E3%81%AA%E5%85%A5%E9%96%80%E6%9B%B8&quot; aria-label=&quot;網羅的な入門書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;網羅的な入門書&lt;/h2&gt;
&lt;h3 id=&quot;図解入門ビジネス-最新暗号資産の基本と仕組みがよくわかる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%85%A5%E9%96%80%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9-%E6%9C%80%E6%96%B0%E6%9A%97%E5%8F%B7%E8%B3%87%E7%94%A3%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%8C%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;図解入門ビジネス 最新暗号資産の基本と仕組みがよくわかる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gfHfFT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門ビジネス 最新暗号資産の基本と仕組みがよ~くわかる本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084FQZCRF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=19e08b085fb96ed4600a9a4523a80d9d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084FQZCRF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084FQZCRF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想通貨に関する基礎知識が網羅的にまとめられている書籍です。&lt;/p&gt;
&lt;p&gt;仮想通貨の概要から技術面、歴史、種類、法律・制度、売買や利益の計算、税務、ICO など、仮想通貨に関する基礎知識として知っておくべきことを一通り学ぶことができます。&lt;/p&gt;
&lt;p&gt;この 1 冊でかなり幅広い内容をおさえられるので、1 冊だけ読むとしたらこれをオススメします。&lt;/p&gt;
&lt;p&gt;※ 仮想通貨は法的に「暗号資産」と呼ぶことになったため、この書籍のタイトルでは「暗号資産」という言葉が使われています。&lt;/p&gt;
&lt;h2 id=&quot;より簡易的な書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%88%E3%82%8A%E7%B0%A1%E6%98%93%E7%9A%84%E3%81%AA%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;より簡易的な書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;より簡易的な書籍&lt;/h2&gt;
&lt;h3 id=&quot;ビットコイン投資やってみました&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%82%A4%E3%83%B3%E6%8A%95%E8%B3%87%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F&quot; aria-label=&quot;ビットコイン投資やってみました permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g3Avfi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ビットコイン投資やってみました!&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077FKDXGC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a4cf81975b4af7cc1609164eb1f48508&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077FKDXGC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B077FKDXGC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;筆者の仮想通貨投資の経験を漫画でまとめた書籍になります。&lt;/p&gt;
&lt;p&gt;ビットコイン以外にも各種のアルトコインの話も登場し、仮想通貨の歴史的な動きなども知ることができます。&lt;/p&gt;
&lt;p&gt;気軽に読めるので、仮想通貨投資の雰囲気を知るにはいいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;超ど素人がはじめる仮想通貨投資&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%B6%85%E3%81%A9%E7%B4%A0%E4%BA%BA%E3%81%8C%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8%E6%8A%95%E8%B3%87&quot; aria-label=&quot;超ど素人がはじめる仮想通貨投資 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gieIzB&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;超ど素人がはじめる仮想通貨投資&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07MD7GV4W/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0c4f4cb31ea48618601a5d498afdcb61&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07MD7GV4W&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07MD7GV4W&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも仮想通貨投資の入門書です。&lt;/p&gt;
&lt;p&gt;図解が豊富であり、比較的読みやすい書籍だと思います。&lt;/p&gt;
&lt;p&gt;他の書籍との内容の違いとしては、FX などでよく使われる、チャートをもとに価格の推移を予想するテクニカル分析について解説されていることが挙げられます。&lt;/p&gt;
&lt;h3 id=&quot;仮想通貨の天国と地獄-知れば天国-知らねば地獄-資産を倍増させる5つのキーワード&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8%E3%81%AE%E5%A4%A9%E5%9B%BD%E3%81%A8%E5%9C%B0%E7%8D%84-%E7%9F%A5%E3%82%8C%E3%81%B0%E5%A4%A9%E5%9B%BD-%E7%9F%A5%E3%82%89%E3%81%AD%E3%81%B0%E5%9C%B0%E7%8D%84-%E8%B3%87%E7%94%A3%E3%82%92%E5%80%8D%E5%A2%97%E3%81%95%E3%81%9B%E3%82%8B5%E3%81%A4%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89&quot; aria-label=&quot;仮想通貨の天国と地獄 知れば天国 知らねば地獄 資産を倍増させる5つのキーワード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/38GYNsa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想通貨の天国と地獄 知れば天国! 知らねば地獄! 資産を倍増させる5つのキーワード&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/gp/product/4861131847/ref=as_li_ss_il?&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b8b2cf9ec9b0d469b7b2ad2cd28e072b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4861131847&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4861131847&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想通貨らしい入門書になります。&lt;/p&gt;
&lt;p&gt;マイニングや ICO、ウォレットの管理などを含め、仮想通貨投資の基礎について一通り簡単に書かれています。&lt;/p&gt;
&lt;p&gt;中身の雰囲気は表紙の通りなので、好みは分かれるところだと思います。&lt;/p&gt;
&lt;h2 id=&quot;特化型の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%89%B9%E5%8C%96%E5%9E%8B%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;特化型の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;特化型の書籍&lt;/h2&gt;
&lt;h3 id=&quot;仮想通貨投資入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8%E6%8A%95%E8%B3%87%E5%85%A5%E9%96%80&quot; aria-label=&quot;仮想通貨投資入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w2eVxD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想通貨投資入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07HR6MYYQ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7330e992ca129be652022778bbd648dd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07HR6MYYQ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07HR6MYYQ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも仮想通貨投資の入門書です。&lt;/p&gt;
&lt;p&gt;短期トレードやマイニングなどについても解説されていますが、 ICO 投資についての解説が他の書籍よりもかなり豊富です。&lt;/p&gt;
&lt;p&gt;ICO 投資に興味がある方は一度読んでみてもいいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;これ１冊で大丈夫！-仮想通貨の確定申告がわかる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%93%E3%82%8C%EF%BC%91%E5%86%8A%E3%81%A7%E5%A4%A7%E4%B8%88%E5%A4%AB%EF%BC%81-%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8%E3%81%AE%E7%A2%BA%E5%AE%9A%E7%94%B3%E5%91%8A%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;これ１冊で大丈夫！ 仮想通貨の確定申告がわかる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3wWNwx4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;これ１冊で大丈夫！　仮想通貨の確定申告がわかる本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07KZB5S5J/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=cef23a33e76ed6a59ef29d6640897eaf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07KZB5S5J&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07KZB5S5J&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;仮想通貨投資の税務に関する書籍です。&lt;/p&gt;
&lt;p&gt;仮想通貨投資の税務の基本は、1 つ目に紹介した『&lt;a href=&quot;https://amzn.to/3gfHfFT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門ビジネス 最新暗号資産の基本と仕組みがよ~くわかる本&lt;/a&gt;』でもおさえることができますが、こちらの本の方が解説しているパターン・例が豊富になっています。&lt;/p&gt;
&lt;p&gt;また、タイトルには「確定申告」とありますが、法人として投資する場合についても書かれており、法人の税務の基本などから丁寧に解説されています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では仮想通貨の「投資」に興味がある場合に候補に上がる書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;仮想通貨の投資に興味がある方は、まずはどれか 1 冊手に取ってみるといいかもしれません。&lt;/p&gt;
&lt;p&gt;どの本も背景となるブロックチェーンの理論などについては非常に簡易的な説明になっているので、技術の詳細を理解したい場合は別途勉強が必要になります。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応』の感想]]></title><description><![CDATA[先日発売された『(模擬問題付き)改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応』を読んだので、感想を書きました。
この書籍は、タイトル通り AWS 認定ソリューションアーキテクトアソシエイトの対策用の教科書であり、2020 年 7 月にアップデートされた SAA-C02 試験に対応しています。
内容としては、SAA-C02 試験で問われる、AWS の基本サービスや高可用アーキテクチャ、パフォーマンス、セキュリティ設計、コスト最適化について一通り書かれています。]]></description><link>https://www.kanzennirikaisita.com/posts/4295010650</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4295010650</guid><pubDate>Mon, 11 Jan 2021 13:40:14 GMT</pubDate><content:encoded>&lt;p&gt;先日発売された『&lt;a href=&quot;https://amzn.to/3gaJDh2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;(模擬問題付き)改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応&lt;/a&gt;』を読んだので、感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08SGSD479/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=cb75b4e671516b8742b618754e6f22dc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08SGSD479&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08SGSD479&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;この書籍は、タイトル通り AWS 認定ソリューションアーキテクトアソシエイトの対策用の教科書であり、2020 年 7 月にアップデートされた SAA-C02 試験に対応しています。&lt;/p&gt;
&lt;p&gt;内容としては、SAA-C02 試験で問われる、AWS の基本サービスや高可用アーキテクチャ、パフォーマンス、セキュリティ設計、コスト最適化について一通り書かれています。&lt;/p&gt;
&lt;h2 id=&quot;読む上での前提知識&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%82%80%E4%B8%8A%E3%81%A7%E3%81%AE%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98&quot; aria-label=&quot;読む上での前提知識 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読む上での前提知識&lt;/h2&gt;
&lt;p&gt;どの章も非常によくまとまっており、解説されている内容は充実していますが、1 つ 1 つの解説はある程度簡素になっています。
具体的には、画面キャプチャを使ったりしての利用手順の解説などはありません。&lt;/p&gt;
&lt;p&gt;そのため、AWS などのパブリッククラウドを多少さわったことがないと読み進めるのは難しいと思います。
その場合は『&lt;a href=&quot;https://amzn.to/3v6vNlo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services 基礎からのネットワーク&amp;#x26;サーバー構築 改訂3版&lt;/a&gt;』などを先に読んで手を動かしてみることをオススメします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084QQ7TCF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=58cfeb03db85da3d07b844e68e0306bf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084QQ7TCF&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B084QQ7TCF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;また、上記の書籍を読む場合もそうですが、AWS を学ぶには最低限のネットワークの知識が必要になります。
ネットワークの基礎を勉強するには、以下の 2 冊が定番かつ非常に分かりやすいのでオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2T9BeTe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3pua1aa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マスタリングTCP/IP―入門編―&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B077XSB8BS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=e5be981c366f57b711bbb377a9e32506&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B077XSB8BS&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B077XSB8BS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;
&lt;a href=&quot;https://www.amazon.co.jp/dp/B0827QNDNT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=4f7843143704338541bd3f9a16850c83&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0827QNDNT&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B0827QNDNT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;aws-の勉強でかなりオススメ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-%E3%81%AE%E5%8B%89%E5%BC%B7%E3%81%A7%E3%81%8B%E3%81%AA%E3%82%8A%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1&quot; aria-label=&quot;aws の勉強でかなりオススメ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS の勉強でかなりオススメ&lt;/h2&gt;
&lt;p&gt;上記の前提知識を満たせる場合は、かなりオススメできる書籍です。&lt;/p&gt;
&lt;p&gt;AWS は日々大量にアップデートされており、それに追従している書籍を探すのは難しいです。
こちらの書籍は出版されたばかりで、かなり新しいアップデートについても反映されています。&lt;/p&gt;
&lt;p&gt;自分は 3 年近く前に AWS 認定ソリューションアーキテクトプロフェッショナルを取得していますが、それでも知らない情報が結構あり、非常に勉強になりました。&lt;/p&gt;
&lt;p&gt;例えば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Amazon EKS&lt;/li&gt;
&lt;li&gt;AWS Fargate&lt;/li&gt;
&lt;li&gt;AWS Transit Gateway&lt;/li&gt;
&lt;li&gt;AWS Global Accelerator&lt;/li&gt;
&lt;li&gt;Amazon EventBridge&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの比較的新しいサービスについても書かれていたり、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EBS のマルチアタッチ&lt;/li&gt;
&lt;li&gt;CloudFront のフィールドレベル暗号化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった新機能についても解説されています。&lt;/p&gt;
&lt;p&gt;SAA の試験勉強に限らず、「最近の AWS のアップデートを追いかけつつ基礎を復習したい」といった場合にもオススメできます。&lt;/p&gt;
&lt;p&gt;なお、流石に 2020 年後半のアップデートまでは反映されておらず、例えば S3 の整合性についての記述が最新情報と異なったりはしています。&lt;/p&gt;
&lt;h2 id=&quot;aws-認定について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-%E8%AA%8D%E5%AE%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;aws 認定について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS 認定について&lt;/h2&gt;
&lt;p&gt;IT 系の資格については賛成派・反対派の方がいらっしゃると思いますが、個人的に AWS 認定はかなりオススメしています。&lt;/p&gt;
&lt;p&gt;AWS 認定は、仕事で AWS を使うために、ベースとなる知識をつけるにはちょうどいいと思います。&lt;/p&gt;
&lt;p&gt;もちろん SAA 資格に合格したくらいではまだ足りない部分もあると思いますが、これをベースに SAP 資格を取得したり、実際に AWS をさわってみるなどすれば、実務で活用できるレベルにスピーディになれるのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;aws-の学習はアプリケーションエンジニアにもオススメ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-%E3%81%AE%E5%AD%A6%E7%BF%92%E3%81%AF%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AB%E3%82%82%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1&quot; aria-label=&quot;aws の学習はアプリケーションエンジニアにもオススメ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS の学習はアプリケーションエンジニアにもオススメ&lt;/h2&gt;
&lt;p&gt;AWS の学習は、いわゆる駆け出しエンジニアが Web アプリケーションの基礎を学んだ後のステップアップとしても非常に適していると思います。&lt;/p&gt;
&lt;p&gt;AWS などのクラウドを生かしたアプリケーションを実装するには、前提として AWS などの基礎知識が必要でなります。&lt;/p&gt;
&lt;p&gt;インフラエンジニアの方はもちろん、アプリケーションエンジニアも AWS などのクラウドについて学ぶことは非常に有意義です。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『スケールフリーネットワーク ものづくり日本だからできるDX』の感想]]></title><description><![CDATA[一昨日発売された『スケールフリーネットワーク ものづくり日本だからできるDX』を読んだので、感想を書きました。
タイトルになっている「スケールフリーネットワーク」というものを活用して、日本が今後どのように成長していくべきかを書いた本です。
主著者はシーメンスを経て東芝の CDO (最高デジタル責任者) に就任された方であり、その経験から、ドイツや東芝での事例についても書かれています。]]></description><link>https://www.kanzennirikaisita.com/posts/4296107712</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4296107712</guid><pubDate>Sun, 10 Jan 2021 06:13:23 GMT</pubDate><content:encoded>&lt;p&gt;一昨日発売された『&lt;a href=&quot;https://amzn.to/3crWQB7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スケールフリーネットワーク ものづくり日本だからできるDX&lt;/a&gt;』を読んだので、感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08R9MPYJJ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=089eaae7efbae2c1503640fbe515c5e1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08R9MPYJJ&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08R9MPYJJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;タイトルになっている「スケールフリーネットワーク」というものを活用して、日本が今後どのように成長していくべきかを書いた本です。&lt;/p&gt;
&lt;p&gt;主著者はシーメンスを経て東芝の CDO (最高デジタル責任者) に就任された方であり、その経験から、ドイツや東芝での事例についても書かれています。&lt;/p&gt;
&lt;h2 id=&quot;スケールフリーネットワークとは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%83%95%E3%83%AA%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A8%E3%81%AF&quot; aria-label=&quot;スケールフリーネットワークとは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;スケールフリーネットワークとは&lt;/h2&gt;
&lt;p&gt;私は「スケールフリーネットワーク」という単語自体初めて聞きましたが、この言葉自体は昔からあるものだそうです。&lt;/p&gt;
&lt;p&gt;グラフにおけるノード間のリンクが一部のノードに集中する構造のことで、Web のリンクの構造や、人間関係などで見られるものを指しています。&lt;/p&gt;
&lt;p&gt;書籍の中では、Amazon や Google のようにロングテールを生かすような構造も近いものとして解説されています。&lt;/p&gt;
&lt;h2 id=&quot;日本のとるべき戦略について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%97%A5%E6%9C%AC%E3%81%AE%E3%81%A8%E3%82%8B%E3%81%B9%E3%81%8D%E6%88%A6%E7%95%A5%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;日本のとるべき戦略について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;日本のとるべき戦略について&lt;/h2&gt;
&lt;p&gt;日本が IT に非常に弱く、このままでは非常にまずいというのは私も含め多くの方が感じていると思います。&lt;/p&gt;
&lt;p&gt;この書籍では、GAFA をはじめとする多くの企業に大きく引き離されている状態からどう戦っていくべきかが書かれています。&lt;/p&gt;
&lt;p&gt;前提として、デジタル世界の発展が一段落してきたため、今後はフィジカルとデジタルの混合的な部分が発展していくものとしています。
例えば IoT などの領域です。&lt;/p&gt;
&lt;p&gt;そんな中、日本には「ものづくり」の技術のタネが多く存在しているため、それらをデジタルと組み合わせて DX を推進することで戦っていけるのではないかと検討されています。&lt;/p&gt;
&lt;h2 id=&quot;オープンであること&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8&quot; aria-label=&quot;オープンであること permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;オープンであること&lt;/h2&gt;
&lt;p&gt;書籍の中では、「ものづくり」の力を生かして DX を進める上で、「仕様を公開することでデファクトスタンダードのポジションを取りに行く」という動き方も重要だと書かれています。&lt;/p&gt;
&lt;p&gt;技術を公開することには反対意見を唱える方もいると思いますが、この本では「誰でも作れるものは公開し、自分達にしかできない強みは公開しないべき」といったことが主張されています。&lt;/p&gt;
&lt;p&gt;これは私も非常に賛成で、真似できるものについては公開してしまい、それを利用してくれる人を増やして早期にプラットフォーム化することが勝利の秘訣だと思います。
一方で、自分達にしかできない強みは公開しないでおくことも重要です。&lt;/p&gt;
&lt;h2 id=&quot;インダストリー-40&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%80%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC-40&quot; aria-label=&quot;インダストリー 40 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インダストリー 4.0&lt;/h2&gt;
&lt;p&gt;その他、読んでいて勉強になった点の 1 つは、インダストリー 4.0 におけるキーワードの 1 つである「管理シェル」について簡単に解説されていたことが挙げられます。&lt;/p&gt;
&lt;p&gt;インダストリー 4.0 という単語とその雰囲気くらいは知っていたのですが、「管理シェル」などの具体的な技術要素については全く知らなかったので、面白いと思いました。&lt;/p&gt;
&lt;p&gt;インダストリー 4.0 についてはきっかけがないとあえて勉強しようと思う機会は多くないと思いますが、意外と勉強してみると面白いのかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;最後に、この本を読んでいて「たしかにそうかもしれない」と思ったこととして、1 つ引用します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;インターネット企業が革新を起こした分野は、小売りと広告だけ。この両分野の合計は、米国の GDP (国内総生産) 約 19 兆ドルのわずか 7 % にしか過ぎない&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今後 GDP におけるインターネットや IT が占める割合自体が向上したりすることも考えられますが、まだまだデジタル化が進んでいない分野があることも事実です。&lt;/p&gt;
&lt;p&gt;そういった分野をデジタル化できないか考えてみるのも面白いかもしれません。&lt;/p&gt;
&lt;p&gt;この本でも解説されていますが、そもそも「DX」というのは既存の何かを自動化するといったものではありません。
本来「DX」とはどういうものなのかを知りたいという方は、一度この本を読んでみてもいいかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『動かして学ぶ! Slackアプリ開発入門』の感想]]></title><description><![CDATA[昨日発売された『動かして学ぶ! Slackアプリ開発入門』を読んだので感想を書きました。
この書籍は、Slack アプリの開発の概要やフレームワーク等を解説したものです。
そもそも Slack に登場する概念の整理に始まり、Slack の API の解説、ngrok や Bolt といった開発ツール・フレームワークの解説、サンプルアプリの実装やいくつかの環境へのデプロイ方法まで書かれています。]]></description><link>https://www.kanzennirikaisita.com/posts/4798164747</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4798164747</guid><pubDate>Tue, 15 Dec 2020 11:22:00 GMT</pubDate><content:encoded>&lt;p&gt;昨日発売された『&lt;a href=&quot;https://amzn.to/3zdPwTp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;動かして学ぶ! Slackアプリ開発入門&lt;/a&gt;』を読んだので感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08KDNPT2B/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=76ff3208b6d3a1a2b6646ffa802bb9c4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08KDNPT2B&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08KDNPT2B&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;この書籍は、Slack アプリの開発の概要やフレームワーク等を解説したものです。&lt;/p&gt;
&lt;p&gt;そもそも Slack に登場する概念の整理に始まり、Slack の API の解説、ngrok や Bolt といった開発ツール・フレームワークの解説、サンプルアプリの実装やいくつかの環境へのデプロイ方法まで書かれています。&lt;/p&gt;
&lt;h2 id=&quot;対象読者&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AF%BE%E8%B1%A1%E8%AA%AD%E8%80%85&quot; aria-label=&quot;対象読者 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;対象読者&lt;/h2&gt;
&lt;p&gt;Slack Bot の開発はプログラミング初心者に題材として出されることも少なくないですが、この本の対象者はプログラミング初心者ではありません。&lt;/p&gt;
&lt;p&gt;JavaScript (Node.js) や Web の基礎知識を持っている方が Slack アプリの開発について知りたい、という際に読むような本になっています。&lt;/p&gt;
&lt;h2 id=&quot;slack-アプリ開発の解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#slack-%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%AE%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;slack アプリ開発の解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Slack アプリ開発の解説&lt;/h2&gt;
&lt;p&gt;Slack アプリ開発の解説としては、Slack の API がどのように構成されているかから書かれています。
実際に開発しようとすると API の全体像をつかむのに苦労することもあるので、書籍の中で整理されているのは非常に助かります。&lt;/p&gt;
&lt;p&gt;権限 (Scope) やテスト機能 (Tester) などについても分かりやすく書かれており、実際に Slack アプリを開発する際に役立てやすいのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;bolt&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bolt&quot; aria-label=&quot;bolt permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bolt&lt;/h2&gt;
&lt;p&gt;書籍の中ではサンプルアプリの実装がいくつか紹介されていますが、それらは Bolt という Slack 公式のフレームワークを使って書かれています。&lt;/p&gt;
&lt;p&gt;全体的にコードや画面キャプチャが豊富であり、コードを読める方がであればすらすら理解できるのではないかと思います。&lt;/p&gt;
&lt;p&gt;私は Slack アプリの開発に関わったことはなかったため Bolt というフレームワークのことは知らなかったのですが、非常に簡単に Slack アプリが作れることが分かりました。&lt;/p&gt;
&lt;p&gt;また、これは Bolt 利用時に限った話ではないですが、UI についてもただチャット画面上に文字を整形して表示するだけでなく、モーダルなどを使って表示する方法も解説されています。
想像していたよりも Slack アプリでリッチなことができることが分かり、驚きました。&lt;/p&gt;
&lt;h2 id=&quot;アプリの公開&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E5%85%AC%E9%96%8B&quot; aria-label=&quot;アプリの公開 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アプリの公開&lt;/h2&gt;
&lt;p&gt;Slack アプリを実際にストア提供する場合には、OAuth の利用やデプロイ周りも検討する必要があります。
この本では OAuth やいくつかの環境へのデプロイについても解説されています。&lt;/p&gt;
&lt;p&gt;デプロイ先としては Heroku、AWS Lambda、Google Cloud Run の 3 つについて解説されているのですが、特に Lambda へのデプロイについての解説が手厚いです。&lt;/p&gt;
&lt;p&gt;実は自分はこの本を読む中で、Bolt は Lambda 上で動かそうと思うと結構工夫しないといけないのかな ? と思っていました。
ですが、Express を Lambda 上で動かす aws-serverless-express と組み合わせることで、Lambda 上で Bolt が簡単に使えることが解説されており、非常に参考になりました。&lt;/p&gt;
&lt;p&gt;Slack アプリはサーバレス環境と相性が良い場合が少なくないと思うので、Lambda で動かしたいという需要は多いはずです。
個人的にはこの解説が一番嬉しかったところです。
(ネット上にも類似の情報はありますが、そもそも知らないとその情報にたどり着けないかもしれません)&lt;/p&gt;
&lt;h2 id=&quot;その他&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96&quot; aria-label=&quot;その他 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他&lt;/h2&gt;
&lt;p&gt;この書籍は Slack の基本的な概念から説明が始まっているのですが、途中では標準で提供されているスラッシュコマンド (例えば /invite) などについても書かれています。
普段から Slack を使っていても知らないような便利なコマンド等も載っており、普通に役立つなと思いました。&lt;/p&gt;
&lt;p&gt;また、コラムとしてはソケットモードなどのリリース予定の機能についても書かれており、今後の Slack アプリの発展についても情報を拾いたくなりました。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;もともと簡単に作れそうだと思っていた Slack アプリですが、Bolt などを使えば想像していた以上に気軽に作れることが分かりました。
こちらの本の内容をもとに、何か試しに作ってみたい気持ちになりました。&lt;/p&gt;
&lt;p&gt;また、実際にすぐ Slack アプリを作るわけではなくても、その雰囲気を知っておけば何かの際に生かせる場合もあります。
Slack アプリでどんなことができるかを知っておくためにも、一度手にとってみるといいかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『Python インタラクティブ・データビジュアライゼーション入門 ―Plotly/Dashによるデータ可視化とWebアプリ構築―』の感想]]></title><description><![CDATA[一昨日発売された『Python インタラクティブ・データビジュアライゼーション入門 ―Plotly/Dashによるデータ可視化とWebアプリ構築―』を読んだので、感想を書きました。
この本は、Plotly と Dash を使った、Python でのインタラクティブな可視化の解説書です。
plotly.py や Dash に加えて、その周辺ライブラリの使い方も解説しています。]]></description><link>https://www.kanzennirikaisita.com/posts/4254122586</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4254122586</guid><pubDate>Mon, 07 Dec 2020 10:17:50 GMT</pubDate><content:encoded>&lt;p&gt;一昨日発売された『&lt;a href=&quot;https://amzn.to/36NJjBn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Python インタラクティブ・データビジュアライゼーション入門 ―Plotly/Dashによるデータ可視化とWebアプリ構築―&lt;/a&gt;』を読んだので、感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4254122586/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=e37c4881839f96e9f134fb584509e6c7&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4254122586&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=4254122586&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;この本は、Plotly と Dash を使った、Python でのインタラクティブな可視化の解説書です。
plotly.py や Dash に加えて、その周辺ライブラリの使い方も解説しています。&lt;/p&gt;
&lt;h2 id=&quot;特徴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%89%B9%E5%BE%B4&quot; aria-label=&quot;特徴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;特徴&lt;/h2&gt;
&lt;p&gt;Python での可視化についての本は初めて読みましたが、おそらくインタラクティブな可視化について書かれている本は珍しいのではないかと思います。&lt;/p&gt;
&lt;p&gt;また、この本の特徴として、ネットワーク図の可視化について多くのページを割いて書かれています。
(この書籍では、ノードとエッジから成り立つグラフのことをネットワークと呼んでいます)&lt;/p&gt;
&lt;h2 id=&quot;どういう人におすすめか&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E4%BA%BA%E3%81%AB%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%8B&quot; aria-label=&quot;どういう人におすすめか permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;どういう人におすすめか&lt;/h2&gt;
&lt;p&gt;ライブラリやフレームワークの具体的な使い方をまとめた書籍なので、実際に Plotly や Dash などを使い、Python でインタラクティブな可視化をしたいと考えている方が読むとよさそうです。&lt;/p&gt;
&lt;p&gt;Plotly や Dash の公式ドキュメントは日本語化されていないようなので、日本語で概要を把握するのにいいかもしれません。&lt;/p&gt;
&lt;p&gt;作成できる図も色々載っているので、どんな図をどう作るか簡易的に把握することもできます。&lt;/p&gt;
&lt;h2 id=&quot;その他のツールの紹介&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E7%B4%B9%E4%BB%8B&quot; aria-label=&quot;その他のツールの紹介 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他のツールの紹介&lt;/h2&gt;
&lt;p&gt;Appendix の中では、Notebook (.ipynb ファイル) を共有するツールとして、nbviewer、binder、Colaboratory が紹介されていました。&lt;/p&gt;
&lt;p&gt;Python でデータを扱う方であれば、こういったサービスは知っておいて損はないと思います。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;私はもともと Plotly は JavaScript だけのライブラリと認識していたので、それをラップした Python のライブラリがあること自体意外でした。&lt;/p&gt;
&lt;p&gt;そもそも JavaScript に苦手意識がない方であれば、Dash などを使わず普通にフロントエンドを実装してしまうこともできると思います。
ですが、Python に慣れていて、他の言語の習得よりも Python で色々できた方が嬉しいという方には Plotly や Dash はちょうどいいツールかもしれないという印象を受けました。&lt;/p&gt;
&lt;p&gt;Dash では Python のコードで UI を書くものので、ざっと見た感じでは Flutter や SwiftUI、Elm に近い部分がある印象を受けました。
最初は少しクセがありそうだと思いましたが、慣れると意外と便利に使えるのかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『ITエンジニアのやさしい法律Q&A 著作権・開発契約・労働関係・契約書で揉めないための勘どころ』の感想]]></title><description><![CDATA[今月発売された『ITエンジニアのやさしい法律Q&A 著作権・開発契約・労働関係・契約書で揉めないための勘どころ』を読んだので、感想を書きました。
「著作権の落とし穴」、「開発契約の落とし穴」、「労働関係の落とし穴」、「契約書の要チェックポイント」の 4 章構成で書かれているので、各章について感想を書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/4297116820</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297116820</guid><pubDate>Sun, 29 Nov 2020 02:44:46 GMT</pubDate><content:encoded>&lt;p&gt;今月発売された『&lt;a href=&quot;https://amzn.to/3z8xUIL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITエンジニアのやさしい法律Q&amp;#x26;A 著作権・開発契約・労働関係・契約書で揉めないための勘どころ&lt;/a&gt;』を読んだので、感想を書きました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08MF65T88/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=c1e72bd86f59d947ee8e7a81929d5d76&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08MF65T88&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08MF65T88&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;この本は、エンジニアとして活動後に弁護士になった方が書いたものです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;著作権の落とし穴&lt;/li&gt;
&lt;li&gt;開発契約の落とし穴&lt;/li&gt;
&lt;li&gt;労働関係の落とし穴&lt;/li&gt;
&lt;li&gt;契約書の要チェックポイント&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 4 章構成で書かれているので、各章について感想を書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;第-1-章-著作権の落とし穴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AC%AC-1-%E7%AB%A0-%E8%91%97%E4%BD%9C%E6%A8%A9%E3%81%AE%E8%90%BD%E3%81%A8%E3%81%97%E7%A9%B4&quot; aria-label=&quot;第 1 章 著作権の落とし穴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;第 1 章. 著作権の落とし穴&lt;/h2&gt;
&lt;p&gt;ソースコードや画像、文章の著作権であったり、OSS のライセンスなどの基礎知識が解説されています。&lt;/p&gt;
&lt;p&gt;著作権は IT エンジニアが確実に関係するにも関わらず、なかなか知識を仕入れにくい分野だと思います。&lt;/p&gt;
&lt;p&gt;「コピーレフト」や「GPL ライセンス」といったものが何を許可していて何を許可していないのかなど、曖昧になりがちな点がしっかり解説されており、非常に勉強になりました。&lt;/p&gt;
&lt;h2 id=&quot;第-2-章-開発契約の落とし穴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AC%AC-2-%E7%AB%A0-%E9%96%8B%E7%99%BA%E5%A5%91%E7%B4%84%E3%81%AE%E8%90%BD%E3%81%A8%E3%81%97%E7%A9%B4&quot; aria-label=&quot;第 2 章 開発契約の落とし穴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;第 2 章. 開発契約の落とし穴&lt;/h2&gt;
&lt;p&gt;請負契約と準委任契約の違いといった基本的な点から、契約の解除、下請けについてまで一通り書かれています。&lt;/p&gt;
&lt;p&gt;また、2020 年 11 月に発売された書籍のため、2020 年 4 月 1 日に改正が施行された民法の、契約不適合責任や提携約款についても書かれています。&lt;/p&gt;
&lt;p&gt;開発契約で問題が発生した場合の考え方についても様々なパターンが Q&amp;#x26;A 形式で書かれており、非常に理解しやすかったです。&lt;/p&gt;
&lt;h2 id=&quot;第-3-章-労働関係の落とし穴&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AC%AC-3-%E7%AB%A0-%E5%8A%B4%E5%83%8D%E9%96%A2%E4%BF%82%E3%81%AE%E8%90%BD%E3%81%A8%E3%81%97%E7%A9%B4&quot; aria-label=&quot;第 3 章 労働関係の落とし穴 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;第 3 章. 労働関係の落とし穴&lt;/h2&gt;
&lt;p&gt;裁量労働制や副業についてなど、IT エンジニアが関係しやすい、会社に勤める上で持っておくべき法務知識について書かれています。&lt;/p&gt;
&lt;p&gt;自分が勤めている会社と法的な争いになることは想像したくないと思いますが、ちょっとしたことが気になった際などには参考になるのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;第-4-章-契約書の要チェックポイント&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%AC%AC-4-%E7%AB%A0-%E5%A5%91%E7%B4%84%E6%9B%B8%E3%81%AE%E8%A6%81%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88&quot; aria-label=&quot;第 4 章 契約書の要チェックポイント permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;第 4 章. 契約書の要チェックポイント&lt;/h2&gt;
&lt;p&gt;「利用規約」、「プライバシーポリシー」や、「請負契約書」、「準委任契約書」などの各種契約書などについて、作成時の注意事項や、受け取ったときのチェックポイントが具体的にまとめられています。&lt;/p&gt;
&lt;p&gt;一つ一つ全て頭に入れるのは難しいかもしれませんが、実際にそういった文書を手にした際に、こちらを参考にチェックするような使い方もできると思います。&lt;/p&gt;
&lt;p&gt;法的文書の基本的な考え方についても解説されています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;全体として非常に噛み砕いた言葉で書かれているので、法律の専門家でなくても読みやすい本でした。
IT エンジニアが関わりやすい法律について幅広くまとめられているので、法務面の知識が足りないと感じている方は手にとってみるといいのではないでしょうか。&lt;/p&gt;
&lt;p&gt;逆に言えば、幅広い内容が書かれているため、各章の内容についてはそれぞれの専門的な書籍の方が詳しい解説になっています。
例えば、この本では OSS のライセンスについては GPL だけが解説されています。
他のライセンスも含めてより詳しく学びたい場合は『&lt;a href=&quot;https://amzn.to/2RBE43c&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OSSライセンスの教科書&lt;/a&gt;』などが適していると思います。&lt;/p&gt;
&lt;p&gt;とはいえ、IT エンジニアという立場で幅広く法務面の基本を学ぶ上では非常に良い本でした。
コラムも「なるほど〜」となる豆知識が多く、読んでいて面白かったです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2020 年】Java 8 で止まっている人が最近の Java を学ぶのための 2 冊]]></title><description><![CDATA[私は Java を仕事で使うことがあるものの、知識が Java 8 で止まっており、どこかのタイミングで最近の Java について勉強しないとと思っていました。
そんな中、2020 年 3 月にまさにそういった人に向けた書籍が 2 冊発売されました。
その 2 冊を読んだので、それぞれ紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/modern-java-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/modern-java-books</guid><pubDate>Wed, 25 Nov 2020 07:55:38 GMT</pubDate><content:encoded>&lt;p&gt;私は Java を仕事で使うことがあるものの、知識が Java 8 で止まっており、どこかのタイミングで最近の Java について勉強しないとと思っていました。&lt;/p&gt;
&lt;p&gt;そんな中、2020 年 3 月にまさにそういった人に向けた書籍が 2 冊発売されました。&lt;/p&gt;
&lt;p&gt;その 2 冊を読んだので、それぞれ紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;みんなのjava-openjdkから始まる大変革期&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BF%E3%82%93%E3%81%AA%E3%81%AEjava-openjdk%E3%81%8B%E3%82%89%E5%A7%8B%E3%81%BE%E3%82%8B%E5%A4%A7%E5%A4%89%E9%9D%A9%E6%9C%9F&quot; aria-label=&quot;みんなのjava openjdkから始まる大変革期 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3vYR95s&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;みんなのJava OpenJDKから始まる大変革期!&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B085H7BKGY/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=8adffb8cfd95ee60a1c0eaa9aad2aa20&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B085H7BKGY&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B085H7BKGY&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;最近の Java 周辺の動向をまとめた書籍です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Java 9 ~ 14 でのアップデート&lt;/li&gt;
&lt;li&gt;JDK ディストリビューションについて&lt;/li&gt;
&lt;li&gt;Jakarta EE&lt;/li&gt;
&lt;li&gt;MicroProfile&lt;/li&gt;
&lt;li&gt;GraalVM&lt;/li&gt;
&lt;li&gt;最近登場した軽量フレームワーク&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といったように、Java の言語自体のアップデートに限らず、周辺エコシステムの動向についてもまとめられています。&lt;/p&gt;
&lt;p&gt;Java は普通に使っているとコンテナやサーバレス環境と非常に相性が悪いことが大きな課題となっているのですが、そこをどう解決しうるのかが手厚くまとめられています。&lt;/p&gt;
&lt;p&gt;Java をよく使う方は、是非一度目を通してみるといいのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;新世代javaプログラミングガイドjava-se-10111213と言語拡張プロジェクト&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%96%B0%E4%B8%96%E4%BB%A3java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AC%E3%82%A4%E3%83%89java-se-10111213%E3%81%A8%E8%A8%80%E8%AA%9E%E6%8B%A1%E5%BC%B5%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88&quot; aria-label=&quot;新世代javaプログラミングガイドjava se 10111213と言語拡張プロジェクト permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3g29uZT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B085RBT3LH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=afd7574758ff3c68ed75c2d0dedf393d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B085RBT3LH&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B085RBT3LH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Java 10 ~ 14 でのアップデートをまとめた書籍です。&lt;/p&gt;
&lt;p&gt;var による型推論や、switch 式、GC の改良などについて解説されています。&lt;/p&gt;
&lt;p&gt;文法面のアップデートについては、Kotlin や Scala などの経験があれば簡単に理解できると思います。&lt;/p&gt;
&lt;p&gt;周辺エコシステムへの言及はありませんが、Java の言語としてのアップデートについては『みんなのJava OpenJDKから始まる大変革期!』よりも詳細に解説されています。&lt;/p&gt;
&lt;h2 id=&quot;感想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%84%9F%E6%83%B3&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;私は Java にかなり悲観的だったのですが、これら 2 冊を読んで少し明るい気持ちを持つようになりました。&lt;/p&gt;
&lt;p&gt;まず、Java はコンテナやサーバレス環境と非常に相性が悪く、そういった環境を採用する前提だと使いにくい言語だと感じていたのですが、ネイティブコンパイルや軽量フレームワークが徐々に本番稼働させうる状況に近づいているようで、懸念していた点が解決されていきそうだなと感じました。&lt;/p&gt;
&lt;p&gt;また、Java の文法についても冗長であまり好きではなかったのですが、他の言語でよくあるモダンな文法も取り入れようとしているなど、今後のアップデートに期待できそうだと思いました。&lt;/p&gt;
&lt;p&gt;個人的には GraalVM の本来のコンセプトの話などが非常に面白かったので、Java エンジニアの方に限らず、『みんなのJava OpenJDKから始まる大変革期!』はオススメします。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[米国株投資の入門書 3 冊の紹介]]></title><description><![CDATA[米国株投資に関する書籍を 3 冊読んだので、それぞれ紹介していきます。
それぞれインデックス投資と個別株投資のどちらに注力しているかが違うので、各書籍がどちらに注力したものかもまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/us-stocks-investment-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/us-stocks-investment-books</guid><pubDate>Mon, 23 Nov 2020 08:39:49 GMT</pubDate><content:encoded>&lt;p&gt;米国株投資に関する書籍を 3 冊読んだので、それぞれ紹介していきます。&lt;/p&gt;
&lt;p&gt;それぞれインデックス投資と個別株投資のどちらに注力しているかが違うので、各書籍がどちらに注力したものかもまとめました。&lt;/p&gt;
&lt;h2 id=&quot;世界一やさしい-米国株の教科書-1年生&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%B8%96%E7%95%8C%E4%B8%80%E3%82%84%E3%81%95%E3%81%97%E3%81%84-%E7%B1%B3%E5%9B%BD%E6%A0%AA%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-1%E5%B9%B4%E7%94%9F&quot; aria-label=&quot;世界一やさしい 米国株の教科書 1年生 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3puhMga&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;世界一やさしい 米国株の教科書 1年生&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0895FQX2N/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f82863c68d86104f8fe9f98e2965ca21&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0895FQX2N&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0895FQX2N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;タイトル通り、米国株投資について教科書的にまとめられている入門書です。&lt;/p&gt;
&lt;p&gt;米国株投資のメリット・デメリットから始まり、インデックス投資・個別株投資についてそれぞれ解説されています。&lt;/p&gt;
&lt;p&gt;つみたて NISA や iDeco などの制度についてもしっかり書かれており、1 冊読めば米国株投資の基本知識を身に付けられるのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;お金が増える-米国株超楽ちん投資術&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E9%87%91%E3%81%8C%E5%A2%97%E3%81%88%E3%82%8B-%E7%B1%B3%E5%9B%BD%E6%A0%AA%E8%B6%85%E6%A5%BD%E3%81%A1%E3%82%93%E6%8A%95%E8%B3%87%E8%A1%93&quot; aria-label=&quot;お金が増える 米国株超楽ちん投資術 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gjxw1u&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;お金が増える 米国株超楽ちん投資術&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07YYTN6QS/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b643e6c0b52f11556fbe0f6b660633c5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07YYTN6QS&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07YYTN6QS&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも米国株投資の入門書です。&lt;/p&gt;
&lt;p&gt;「超楽ちん投資術」というタイトルから推測されるように、インデックス投資が中心の内容にはなっていますが、一部個別株についても解説されています。&lt;/p&gt;
&lt;p&gt;年代別のおすすめポートフォリオや、つみたて NISA、iDeco といった制度についても解説されており、この 1 冊で米国株投資に入門することができます。&lt;/p&gt;
&lt;h2 id=&quot;バカでも稼げる-「米国株」高配当投資&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%90%E3%82%AB%E3%81%A7%E3%82%82%E7%A8%BC%E3%81%92%E3%82%8B-%E3%80%8C%E7%B1%B3%E5%9B%BD%E6%A0%AA%E3%80%8D%E9%AB%98%E9%85%8D%E5%BD%93%E6%8A%95%E8%B3%87&quot; aria-label=&quot;バカでも稼げる 「米国株」高配当投資 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2RvPQMi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バカでも稼げる 「米国株」高配当投資&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07KYQP16Q/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0e5dc33327abf9d20599c174f337c4c1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07KYQP16Q&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07KYQP16Q&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;米国株投資の中でも、個別株の高配当投資に注目した入門書です。&lt;/p&gt;
&lt;p&gt;なぜ米国株投資なのかという理由から具体的な手法まで、口語に近い雰囲気で解説されており、非常に読みやすい書籍です。&lt;/p&gt;
&lt;p&gt;よく言われていることですが、この本の著者はかなり口が悪いので、そこは好みが分かれるかもしれません。 解説自体は非常に分かりやすくオススメです。&lt;/p&gt;
&lt;h2 id=&quot;インデックス投資と個別株投資の解説の比重&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E6%8A%95%E8%B3%87%E3%81%A8%E5%80%8B%E5%88%A5%E6%A0%AA%E6%8A%95%E8%B3%87%E3%81%AE%E8%A7%A3%E8%AA%AC%E3%81%AE%E6%AF%94%E9%87%8D&quot; aria-label=&quot;インデックス投資と個別株投資の解説の比重 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;インデックス投資と個別株投資の解説の比重&lt;/h2&gt;
&lt;p&gt;紹介した 3 冊について、インデックス投資と個別株投資の解説の比重をまとめると以下のようになります。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;タイトル&lt;/th&gt;
&lt;th&gt;インデックス投資&lt;/th&gt;
&lt;th&gt;個別株投資&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://amzn.to/3puhMga&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;世界一やさしい 米国株の教科書 1年生&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://amzn.to/3gjxw1u&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;お金が増える 米国株超楽ちん投資術&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;○&lt;/td&gt;
&lt;td&gt;△&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://amzn.to/2RvPQMi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;バカでも稼げる 「米国株」高配当投資&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;◎&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;購入の際は参考にしてください。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;米国株投資については FIRE (Financial Independence, Retire Early) の文脈で解説されることもあります。&lt;/p&gt;
&lt;p&gt;FIRE についての書籍は別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/financial-independence-retire-early-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FIRE (経済的自由、早期退職) ムーブメントに関する日本語書籍 3 冊の紹介&lt;/a&gt;」にまとめているので、興味がある方はそちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[CRM (顧客関係管理) に関する書籍 3 冊の紹介]]></title><description><![CDATA[CRM (顧客関係管理) について勉強するために本を何冊か読んだので紹介します。
CRM は SFA (営業支援システム) との境界が曖昧なこともあり、SFA・CRM の両方に関する書籍も入っています。]]></description><link>https://www.kanzennirikaisita.com/posts/crm-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/crm-books</guid><pubDate>Mon, 23 Nov 2020 08:04:51 GMT</pubDate><content:encoded>&lt;p&gt;CRM (顧客関係管理) について勉強するために本を何冊か読んだので紹介します。&lt;/p&gt;
&lt;p&gt;CRM は SFA (営業支援システム) との境界が曖昧なこともあり、SFA・CRM の両方に関する書籍も入っています。&lt;/p&gt;
&lt;h2 id=&quot;crmの基本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#crm%E3%81%AE%E5%9F%BA%E6%9C%AC&quot; aria-label=&quot;crmの基本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3lXWPHN&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CRMの基本&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/453405226X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b24a245bd4f5f4bb5c8ddf9947687afc&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=453405226X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=453405226X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;CRM の教科書的な書籍で、IT ツールの導入ではなく、手法としての本来的な CRM について解説されています。&lt;/p&gt;
&lt;p&gt;CRM が登場した背景から、 デシル分析・RFM 分析などの分析手法、事例も多数書かれています。&lt;/p&gt;
&lt;p&gt;「1 顧客 1 ID」をキーワードとして解説されている、CRM の考え方を本質的に学ぶことのできる書籍で、営業というよりも経営に近い視点で CRM という手法をどう生かすかがまとめられています。&lt;/p&gt;
&lt;h2 id=&quot;sfa・crm-情報を武器化するマネジメント7つの力&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sfa%E3%83%BBcrm-%E6%83%85%E5%A0%B1%E3%82%92%E6%AD%A6%E5%99%A8%E5%8C%96%E3%81%99%E3%82%8B%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%887%E3%81%A4%E3%81%AE%E5%8A%9B&quot; aria-label=&quot;sfa・crm 情報を武器化するマネジメント7つの力 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zar2dT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SFA・CRM 情報を武器化するマネジメント7つの力&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01JHSAHAI/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c7f20a83fb13b608ff3ce8c8a02bdb39&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01JHSAHAI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01JHSAHAI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;SFA と CRM の解説書です。&lt;/p&gt;
&lt;p&gt;1 冊目に紹介した『CRMの基本』とは異なり、営業視点での顧客管理システムの利用について書かれています。&lt;/p&gt;
&lt;p&gt;具体的なツールの使い方というよりは、営業の現場やマネジメントにどういった課題があり、SFA・CRM のツールをどう上手に使えば課題を解決できるのか、といった考え方を中心に解説されています。&lt;/p&gt;
&lt;h2 id=&quot;sfa・crm-導入効果を最大化するために営業パーソン全員が知るべきこと&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#sfa%E3%83%BBcrm-%E5%B0%8E%E5%85%A5%E5%8A%B9%E6%9E%9C%E3%82%92%E6%9C%80%E5%A4%A7%E5%8C%96%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%96%B6%E6%A5%AD%E3%83%91%E3%83%BC%E3%82%BD%E3%83%B3%E5%85%A8%E5%93%A1%E3%81%8C%E7%9F%A5%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%93%E3%81%A8&quot; aria-label=&quot;sfa・crm 導入効果を最大化するために営業パーソン全員が知るべきこと permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3px4Ypo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;SFA・CRM 導入効果を最大化するために営業パーソン全員が知るべきこと&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B094YJWZMM/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=527c102a4034d271a72b151f89adf6dd&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B094YJWZMM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B094YJWZMM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも SFA・CRM がなぜ必要か、どう使うべきなのかをまとめた書籍です。
『SFA・CRM 情報を武器化するマネジメント7つの力』と同じ方が著者です。&lt;/p&gt;
&lt;p&gt;図解や会話調の説明が多く、非常に気楽に読めます。&lt;/p&gt;
&lt;p&gt;営業支援のツールとしての SFA・CRM の概要を短時間でつかみたい、という際にはこちらの書籍がオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;CRM という言葉は定義が曖昧なところもあり、それが何を指しているのかは結構難しいところです。
CRM について書籍で学ぶ際は、著者の異なる何冊かを読むのがいいのではないかと思います。&lt;/p&gt;
&lt;p&gt;CRM や SFA と関連して、MA (マーケティングオートメーション) に関する書籍について、「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/marketing-automation-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MA (マーケティングオートメーション) の書籍 5 冊の紹介&lt;/a&gt;」という記事でまとめています。
MA に興味がある方はこちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【読書速報】『基礎からのIT担当者リテラシー』の感想]]></title><description><![CDATA[先日発売された『基礎からのIT担当者リテラシー』を早速読んだので、感想を書いていきます。
まずはじめにこちらの書籍の概要ですが、簡単に言えば、IT 担当者としての業務に必要なキーワードを知って、今後学んでいくための足がかりとするものです。
対象読者は、IT 意味経験で IT 担当者に任命された方や、IT 環境の管理が必要になってきたと感じる経営者の方となっています。]]></description><link>https://www.kanzennirikaisita.com/posts/4297117207</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/4297117207</guid><pubDate>Mon, 23 Nov 2020 04:04:30 GMT</pubDate><content:encoded>&lt;p&gt;先日発売された『&lt;a href=&quot;https://amzn.to/3iutVAf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;基礎からのIT担当者リテラシー&lt;/a&gt;』を早速読んだので、感想を書いていきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08NWSBH72/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li3&amp;tag=oshimayuki0d-22&amp;linkId=f1c346487b96ff724537ad0d0c5c2c5d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08NWSBH72&amp;Format=_SL250_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li3&amp;amp;o=9&amp;amp;a=B08NWSBH72&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A6%82%E8%A6%81&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;まずはじめにこちらの書籍の概要ですが、簡単に言えば、IT 担当者としての業務に必要なキーワードを知って、今後学んでいくための足がかりとするものです。&lt;/p&gt;
&lt;p&gt;対象読者は、IT 意味経験で IT 担当者に任命された方や、IT 環境の管理が必要になってきたと感じる経営者の方となっています。&lt;/p&gt;
&lt;h2 id=&quot;it-環境の整備について&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it-%E7%92%B0%E5%A2%83%E3%81%AE%E6%95%B4%E5%82%99%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&quot; aria-label=&quot;it 環境の整備について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;IT 環境の整備について&lt;/h2&gt;
&lt;p&gt;こちらの書籍では、PC や周辺環境の整備に始まり、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;オフィスアプリケーション&lt;/li&gt;
&lt;li&gt;グループウェア&lt;/li&gt;
&lt;li&gt;各種業務システム (会計・勤怠管理・労務管理・顧客管理など)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、小さな会社であっても必要になるシステムについて簡単に説明されています。&lt;/p&gt;
&lt;p&gt;それぞれの有名な SaaS サービスも書かれており、会社に各種システムを導入していく上で参考になると思います。&lt;/p&gt;
&lt;p&gt;こういったサービスについては、そもそも存在を知らないと導入を検討することすらできないので、こういった本を通して概要だけでも知っておくことは非常に有用だと思います。&lt;/p&gt;
&lt;h2 id=&quot;エンジニアでもあまり知らない知識もある&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%A7%E3%82%82%E3%81%82%E3%81%BE%E3%82%8A%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%84%E7%9F%A5%E8%AD%98%E3%82%82%E3%81%82%E3%82%8B&quot; aria-label=&quot;エンジニアでもあまり知らない知識もある permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;エンジニアでもあまり知らない知識もある&lt;/h2&gt;
&lt;p&gt;私はもともと IT エンジニアなので知っている内容が多かったですが、参考になる点もたくさんありました。&lt;/p&gt;
&lt;p&gt;例えば、MDM によるモバイル端末の管理や、アカウント管理における「最小特権の原則」・「アカウント共有の問題」など、ソフトウェア開発に関わっているだけでは得られない、IT 担当者として必要な知識も書かれていています。&lt;/p&gt;
&lt;p&gt;情報セキュリティについては、システムの脆弱性をついた「ハッキング」のようなものが心配されることが多いですが、それは気にすべき点の一部に過ぎません。&lt;/p&gt;
&lt;p&gt;MDM の導入やアカウント管理など、ただエンジニアとして働いていても耳にすることの少ない考え方を抑えることも、情報セキュリティを学ぶ上で重要だと思います。&lt;/p&gt;
&lt;h2 id=&quot;小さな会社の-it-エンジニアにもオススメ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%B0%8F%E3%81%95%E3%81%AA%E4%BC%9A%E7%A4%BE%E3%81%AE-it-%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AB%E3%82%82%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1&quot; aria-label=&quot;小さな会社の it エンジニアにもオススメ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;小さな会社の IT エンジニアにもオススメ&lt;/h2&gt;
&lt;p&gt;スタートアップなどの小さな会社でエンジニアとして働いていると、ただシステムを開発していればいいというものではなく、IT 担当者のようなかたちで IT 全般をどうするかを考える必要が出てくる場合があります。&lt;/p&gt;
&lt;p&gt;CTO や CIO といったキャリアを目指すとしても、ソフトウェア開発の知識があればいいというものではなく、企業の IT 全般を考える必要があります。&lt;/p&gt;
&lt;p&gt;この本は IT 担当者に任命された方や、企業の経営者に向けて書かれているとのことですが、小さな会社ではエンジニアが IT 担当者を兼ねることもありますし、エンジニアにもオススメできます。&lt;/p&gt;
&lt;h2 id=&quot;次のステップ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%AC%A1%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97&quot; aria-label=&quot;次のステップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;次のステップ&lt;/h2&gt;
&lt;p&gt;本の冒頭に書かれている通りではありますが、この本だけでネットワークの知識などをしっかり理解するのは難しいです。&lt;/p&gt;
&lt;p&gt;とはいえ、いきなりもう一歩踏み込んだ本から入ってしまうと、分からないことだらけで心が折れたり、全体像が見えなくなってしまうのではないかと思います。&lt;/p&gt;
&lt;p&gt;まずはこの本で全体像を掴んでから、もう一歩踏み込んで勉強していくのがいいのではないでしょうか。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[MA (マーケティングオートメーション) の書籍 5 冊の紹介]]></title><description><![CDATA[MA (マーケティングオートメーション) という用語は、耳にしたことはあってもあまりよく知らないという方が多いのではないでしょうか。
私も MA についてよく分かっていなかったため、実際に何冊かの本に目を通してみました。
この記事では、MA に関する 5 冊の書籍を「MA 導入のための初心者向け書籍」、「MA の知識をより深めるための書籍」、「MA の専門家になるための書籍」の 3 つに分類して紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/marketing-automation-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/marketing-automation-books</guid><pubDate>Fri, 20 Nov 2020 11:36:03 GMT</pubDate><content:encoded>&lt;p&gt;MA (マーケティングオートメーション) という用語は、耳にしたことはあってもあまりよく知らないという方が多いのではないでしょうか。&lt;/p&gt;
&lt;p&gt;私も MA についてよく分かっていなかったため、実際に何冊かの本に目を通してみました。&lt;/p&gt;
&lt;p&gt;この記事では、MA に関する 5 冊の書籍を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MA 導入のための初心者向け書籍&lt;/li&gt;
&lt;li&gt;MA の知識をより深めるための書籍&lt;/li&gt;
&lt;li&gt;MA の専門家になるための書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つに分類して紹介します。&lt;/p&gt;
&lt;h2 id=&quot;ma-導入のための初心者向け書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ma-%E5%B0%8E%E5%85%A5%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ma 導入のための初心者向け書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MA 導入のための初心者向け書籍&lt;/h2&gt;
&lt;h3 id=&quot;マーケティングオートメーション導入の教科書-優良顧客を自動で育てる仕組みづくり&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%B0%8E%E5%85%A5%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E5%84%AA%E8%89%AF%E9%A1%A7%E5%AE%A2%E3%82%92%E8%87%AA%E5%8B%95%E3%81%A7%E8%82%B2%E3%81%A6%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A5%E3%81%8F%E3%82%8A&quot; aria-label=&quot;マーケティングオートメーション導入の教科書 優良顧客を自動で育てる仕組みづくり permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zbamCX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マーケティングオートメーション導入の教科書 優良顧客を自動で育てる仕組みづくり&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B072C92R11/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=56656996469e8427bb9529e59b947a98&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B072C92R11&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B072C92R11&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;MA の概要から導入・運用の流れ、事例などが一通り解説されている入門書です。&lt;/p&gt;
&lt;p&gt;図や表が豊富で、MA の前提知識がなくても読み進めることができるようになっています。&lt;/p&gt;
&lt;p&gt;ツールも多数紹介されている上、選定のポイントについても書かれており、MA ツールの導入を検討する際には非常に参考になると思います。&lt;/p&gt;
&lt;p&gt;MA について学びたい、導入を検討したい、という際の 1 冊目として非常にオススメです。&lt;/p&gt;
&lt;h3 id=&quot;できる100の新法則-実践マーケティングオートメーション-会わずに売れるリード育成法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A7%E3%81%8D%E3%82%8B100%E3%81%AE%E6%96%B0%E6%B3%95%E5%89%87-%E5%AE%9F%E8%B7%B5%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E4%BC%9A%E3%82%8F%E3%81%9A%E3%81%AB%E5%A3%B2%E3%82%8C%E3%82%8B%E3%83%AA%E3%83%BC%E3%83%89%E8%82%B2%E6%88%90%E6%B3%95&quot; aria-label=&quot;できる100の新法則 実践マーケティングオートメーション 会わずに売れるリード育成法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pvtHud&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;できる100の新法則 実践マーケティングオートメーション 会わずに売れるリード育成法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B06VXXJGKD/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b8e2c6cfd80503b4edce3bfbf418b6d9&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B06VXXJGKD&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B06VXXJGKD&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも MA の入門書で、実際に MA ツールを導入して使っていく過程を、豊富な画面キャプチャとともに学べる書籍になっています。&lt;/p&gt;
&lt;p&gt;解説が非常に丁寧なため、イメージも沸きやすく、MA に触れたことがなくても読みやすい書籍になっています。&lt;/p&gt;
&lt;p&gt;ツールとしては Mautic と Marketo の 2 つが使われていますが、他のツールを使う際にも参考にできます。&lt;/p&gt;
&lt;h2 id=&quot;ma-の知識をより深めるための書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ma-%E3%81%AE%E7%9F%A5%E8%AD%98%E3%82%92%E3%82%88%E3%82%8A%E6%B7%B1%E3%82%81%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ma の知識をより深めるための書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MA の知識をより深めるための書籍&lt;/h2&gt;
&lt;h3 id=&quot;マーケティングオートメーション入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%85%A5%E9%96%80&quot; aria-label=&quot;マーケティングオートメーション入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3im4m4p&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マーケティングオートメーション入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B010P5JHPI/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4b0a41ae07df8db582be94e2a8924f80&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B010P5JHPI&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B010P5JHPI&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2015 年に発売された MA の入門書です。
Amazon で検索した限りでは、MA に関する最も古い日本語書籍のようです。&lt;/p&gt;
&lt;p&gt;日本で MA が認知され始めた頃の書籍のため、そもそもなぜ MA が必要か、というところから丁寧に書かれています。&lt;/p&gt;
&lt;p&gt;具体的なツールの使い方よりも、MA がどういうもので、何を解決しれくれるのか、といった考え方への理解が深まる書籍です。&lt;/p&gt;
&lt;h3 id=&quot;マーケティングオートメーション-最強の導入手法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E6%9C%80%E5%BC%B7%E3%81%AE%E5%B0%8E%E5%85%A5%E6%89%8B%E6%B3%95&quot; aria-label=&quot;マーケティングオートメーション 最強の導入手法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ipJ9GT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マーケティングオートメーション 最強の導入手法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07B2RN5Q9/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0780a3361a42adb6f936c4242fbbe7a8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07B2RN5Q9&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07B2RN5Q9&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらは MA 導入のための入門書ですが、解説の着眼点が他の入門書とは少し異なります。&lt;/p&gt;
&lt;p&gt;例えば、顧客情報と cookie 情報がひも付いた「アクティブプロスペクト」をいかに獲得するかを特に丁寧に解説しています。&lt;/p&gt;
&lt;p&gt;また、他の書籍ではあまり触れられていない「ABM (アカウントベースドマーケティング)」といった用語についても、多くのページを割いて解説されています。&lt;/p&gt;
&lt;p&gt;実際のツールの使い方などについては物足りない点もあるので、他の入門書と組み合わせて読むのがいいのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;ma-の専門家になるための書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ma-%E3%81%AE%E5%B0%82%E9%96%80%E5%AE%B6%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ma の専門家になるための書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MA の専門家になるための書籍&lt;/h2&gt;
&lt;h3 id=&quot;マーケティングオートメーション-スペシャリストになるための教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;マーケティングオートメーション スペシャリストになるための教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gcKnT0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マーケティングオートメーション スペシャリストになるための教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08FMDFSSX/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=2891b93fa0f6f59200eb14d548881274&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08FMDFSSX&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08FMDFSSX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年に発売されたばかりの、MA の専門家になるための書籍です。&lt;/p&gt;
&lt;p&gt;他の書籍と比べて、内容が非常にきれいに構造化されており、ある程度 MA の知識を持った方がより体系的に学びたいという際に適した書籍です。&lt;/p&gt;
&lt;p&gt;MA の導入・運用について、各ステップで具体的にどのようなことをするのかが丁寧に解説されているため、実務で役立ちやすいのではないかと思います。&lt;/p&gt;
&lt;p&gt;タイトル通り、MA のスペシャリストを目指す方にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;MA や CRM などのツールは、今や誰もが概要を知っておくべきものだと思います。&lt;/p&gt;
&lt;p&gt;書籍に目を通して雰囲気だけでも知っておくことで、ビジネスを進める上での選択肢が増えるのではないでしょうか。&lt;/p&gt;
&lt;p&gt;CRM の書籍についても別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/crm-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CRM (顧客関係管理) に関する書籍 3 冊の紹介&lt;/a&gt;」にまとめているので、興味のある方はそちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ]]></title><description><![CDATA[ソフトウェア開発に数年以上携わっていると、どこかで「ドメイン駆動設計 (DDD)」という言葉を耳にして学んでみようと思うことが少なくないと思います。
この記事では DDD に関する日本語の書籍を「DDD のバイブル的な書籍」、「かなり噛み砕いて解説した書籍」、「DDD と相性が良いとされる要件定義・設計プロセスに関する書籍」の 3 つに分けて紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/ddd-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ddd-books</guid><pubDate>Sun, 01 Nov 2020 09:25:03 GMT</pubDate><content:encoded>&lt;p&gt;ソフトウェア開発に数年以上携わっていると、どこかで「ドメイン駆動設計 (DDD)」という言葉を耳にして学んでみようと思うことが少なくないと思います。&lt;/p&gt;
&lt;p&gt;この記事では DDD に関する日本語の書籍を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DDD のバイブル的な書籍&lt;/li&gt;
&lt;li&gt;かなり噛み砕いて解説した書籍&lt;/li&gt;
&lt;li&gt;DDD と相性が良いとされる要件定義・設計プロセスに関する書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つに分けて紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;ddd-のバイブル的な書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ddd-%E3%81%AE%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB%E7%9A%84%E3%81%AA%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ddd のバイブル的な書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DDD のバイブル的な書籍&lt;/h2&gt;
&lt;h3 id=&quot;エリック・エヴァンスのドメイン駆動設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;エリック・エヴァンスのドメイン駆動設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w4JPFo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GRKD6XU/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=9940045718b657531ea3a6a1d691839c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GRKD6XU&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00GRKD6XU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★★&lt;/p&gt;
&lt;p&gt;DDD の原典のような書籍で、DDD の哲学から解説されています。&lt;/p&gt;
&lt;p&gt;サンプルコード等のない概念的な話が多く、ページ数も非常に多いため、心が折れやすいと言われています。&lt;/p&gt;
&lt;p&gt;あまり分厚い本を読むのに慣れていない方は、いきなりこの本を読み始めるのではなく、後述する「かなり噛み砕いて解説した書籍」のどれかから読み始めることをオススメします。&lt;/p&gt;
&lt;p&gt;普段から分厚い本を読み慣れていれば読める範囲ではあるので、そういった方はいきなりこの本を読んでみてもいいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;実践ドメイン駆動設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;実践ドメイン駆動設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3w36faa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00UX9VJGW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=91da29aaa92d8eac2ae207daf3168efe&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00UX9VJGW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00UX9VJGW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;DDD の書籍として『エリック・エヴァンスのドメイン駆動設計』の次に有名な書籍で、通称「IDDD 本」です。&lt;/p&gt;
&lt;p&gt;『エリック・エヴァンスのドメイン駆動設計』よりも具体的なコードの解説が多く、比較的読みやすいです。&lt;/p&gt;
&lt;p&gt;とはいえページ数はかなり多いので、後述する「かなり噛み砕いて解説した書籍」と比べると読了するハードルは高いです。&lt;/p&gt;
&lt;p&gt;この本と『エリック・エヴァンスのドメイン駆動設計』では、「サブドメイン」・「境界付けられたコンテキスト」などの一部の用語の意味が異なるとされているので、読み進める際はご注意ください。&lt;/p&gt;
&lt;h2 id=&quot;かなり噛み砕いて解説した書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8B%E3%81%AA%E3%82%8A%E5%99%9B%E3%81%BF%E7%A0%95%E3%81%84%E3%81%A6%E8%A7%A3%E8%AA%AC%E3%81%97%E3%81%9F%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;かなり噛み砕いて解説した書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;かなり噛み砕いて解説した書籍&lt;/h2&gt;
&lt;h3 id=&quot;現場で役立つシステム設計の原則-変更を楽で安全にするオブジェクト指向の実践技法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E5%8E%9F%E5%89%87-%E5%A4%89%E6%9B%B4%E3%82%92%E6%A5%BD%E3%81%A7%E5%AE%89%E5%85%A8%E3%81%AB%E3%81%99%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AE%E5%AE%9F%E8%B7%B5%E6%8A%80%E6%B3%95&quot; aria-label=&quot;現場で役立つシステム設計の原則 変更を楽で安全にするオブジェクト指向の実践技法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TGzMrO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B073GSDBGT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a498364a18917932ace0a760afe83af4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B073GSDBGT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B073GSDBGT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;タイトルに「ドメイン駆動設計」という単語は入っていませんが、内容は DDD の解説になっています。&lt;/p&gt;
&lt;p&gt;「DDD のバイブル的な書籍」として紹介した 2 冊に比べると非常に読みやすく、プログラミングの基本を身に付けた方が設計を学び始める際に読むにもオススメです。&lt;/p&gt;
&lt;p&gt;アプリケーション設計の基本を学びたい、という際にも参考にしやすい書籍です。&lt;/p&gt;
&lt;h3 id=&quot;ドメイン駆動設計入門-ボトムアップでわかる-ドメイン駆動設計の基本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80-%E3%83%9C%E3%83%88%E3%83%A0%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B-%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E3%81%AE%E5%9F%BA%E6%9C%AC&quot; aria-label=&quot;ドメイン駆動設計入門 ボトムアップでわかる ドメイン駆動設計の基本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pzM1CC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082WXZVPC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=36d11369e76b596650738c54a85101f5&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082WXZVPC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B082WXZVPC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;DDD の具体的な実装について非常に分かりやすく解説した書籍です。&lt;/p&gt;
&lt;p&gt;『実践ドメイン駆動設計』を分かりやすく噛み砕いたような書籍で、前提知識がほとんどなくても読み進めることができます。&lt;/p&gt;
&lt;p&gt;実際に DDD で実装を進めようとする際にどういう困りごとが発生して、どう解決すればいいのかなど、非常に丁寧に解説されています。&lt;/p&gt;
&lt;h3 id=&quot;「実践ドメイン駆動設計」から学ぶdddの実装入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E5%AE%9F%E8%B7%B5%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E3%80%8D%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6ddd%E3%81%AE%E5%AE%9F%E8%A3%85%E5%85%A5%E9%96%80&quot; aria-label=&quot;「実践ドメイン駆動設計」から学ぶdddの実装入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z8wLAX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「実践ドメイン駆動設計」から学ぶDDDの実装入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07S675HVM/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=005a34902671f0fb25d96a7b733c7e2f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07S675HVM&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07S675HVM&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;『実践ドメイン駆動設計』の解説書で、DDD に登場する基本的な用語のそれぞれを要約して説明したような内容になっています。&lt;/p&gt;
&lt;p&gt;かなり簡略された内容になっているので、他の書籍などで DDD について学習した後、各要素について「一言で説明するとどういうことか」といった理解を深めるために読むのに適しています。&lt;/p&gt;
&lt;h2 id=&quot;ddd-と相性が良いとされる要件定義・設計プロセスに関する書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ddd-%E3%81%A8%E7%9B%B8%E6%80%A7%E3%81%8C%E8%89%AF%E3%81%84%E3%81%A8%E3%81%95%E3%82%8C%E3%82%8B%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%83%BB%E8%A8%AD%E8%A8%88%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ddd と相性が良いとされる要件定義・設計プロセスに関する書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DDD と相性が良いとされる要件定義・設計プロセスに関する書籍&lt;/h2&gt;
&lt;p&gt;最近では RDRA と ICONIX という手法が DDD と相性が良いとされて注目されています。&lt;/p&gt;
&lt;p&gt;ここから、RDRA と ICONIX に関する書籍 3 冊を紹介します。&lt;/p&gt;
&lt;h3 id=&quot;モデルベース要件定義テクニック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A2%E3%83%87%E3%83%AB%E3%83%99%E3%83%BC%E3%82%B9%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&quot; aria-label=&quot;モデルベース要件定義テクニック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x4syMD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;モデルベース要件定義テクニック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07D25W3HF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=5372bf12e71ffdbb1e76bb098360a106&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07D25W3HF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07D25W3HF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;RDRA の考案者による解説書です。&lt;/p&gt;
&lt;p&gt;UML のユースケース図やクラス図といったものを教わる方は多いと思いますが、そういったモデルをどう関連付けて作成していくのかで悩んだことはないでしょうか。&lt;/p&gt;
&lt;p&gt;RDRA では、要件定義をよりスピーディかつ整合性のある状態で進めるため、各種モデルを接続して要件から実装までを繋いでいきます。&lt;/p&gt;
&lt;p&gt;比較的気軽に読めて学びの多い、非常にオススメできる書籍です。&lt;/p&gt;
&lt;h3 id=&quot;rdra20-ハンドブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rdra20-%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;rdra20 ハンドブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cmQgf5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RDRA2.0 ハンドブック&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07STQZFBX/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d715ad2a5c86f781c1b8fd9cd820c53d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07STQZFBX&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07STQZFBX&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;こちらも RDRA の考案者による解説書です。&lt;/p&gt;
&lt;p&gt;『モデルベース要件定義テクニック』よりも後発の書籍で、著者がより洗練したプロセスを解説しています。&lt;/p&gt;
&lt;p&gt;『モデルベース要件定義テクニック』と比較して非常にコンパクトな書籍なので、簡単に読める本の方がいいという場合はこちらを手に取ってみることをオススメします。&lt;/p&gt;
&lt;h3 id=&quot;ユースケース駆動開発実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;ユースケース駆動開発実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x6g1Zm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユースケース駆動開発実践ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01B5MX2TC/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b6f6815f039a8440f229008a2a079352&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01B5MX2TC&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01B5MX2TC&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;ICONIX という手法の解説書です。&lt;/p&gt;
&lt;p&gt;RDRA と同じように、要件から実装までをどのように繋いでいくのかを解説しています。&lt;/p&gt;
&lt;p&gt;要件定義などの文脈でしばしばオススメされる書籍ですが、ある程度アプリケーション設計や要件定義の知識・経験がないと読み進めるのは難しいかもしれません。&lt;/p&gt;
&lt;p&gt;読むタイミングさえ合えば、非常に学びの多い書籍です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事では DDD やその関連書籍を紹介しました。&lt;/p&gt;
&lt;p&gt;読みやすい本・読みにくい本がかなり分かれているので、まずは自分にフィットしそうな本から読んでみることをオススメします。&lt;/p&gt;
&lt;p&gt;また、DDD の戦術的設計ではアプリケーションアーキテクチャについての理解も必要です。&lt;/p&gt;
&lt;p&gt;アプリケーションアーキテクチャの解説書について別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/application-architecture-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アプリケーションアーキテクチャに関する書籍 4 冊の紹介&lt;/a&gt;」に書いているので、そちらも参考にしてください。&lt;/p&gt;
&lt;p&gt;特に『&lt;a href=&quot;https://amzn.to/35SR8Ei&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;．ＮＥＴのエンタープライズアプリケーションアーキテクチャ　第２版&lt;/a&gt;』はかなりのページを割いて DDD について解説しており、非常に参考になるのではないかと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[アプリケーションアーキテクチャに関する書籍 4 冊の紹介]]></title><description><![CDATA[「MVC」、「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、「アプリケーションアーキテクチャ」に関する用語はたくさんあり、ソフトウェア開発に実践的に関わる上で学ぶことは外せません。
この記事では、アプリケーションアーキテクチャについて解説した書籍 4 冊を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/application-architecture-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/application-architecture-books</guid><pubDate>Sun, 01 Nov 2020 09:16:54 GMT</pubDate><content:encoded>&lt;p&gt;「MVC」、「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、「アプリケーションアーキテクチャ」に関する用語はたくさんあり、ソフトウェア開発に実践的に関わる上で学ぶことは外せません。&lt;/p&gt;
&lt;p&gt;この記事では、アプリケーションアーキテクチャについて解説した書籍 4 冊を紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;clean-architecture-達人に学ぶソフトウェアの構造と設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#clean-architecture-%E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;clean architecture 達人に学ぶソフトウェアの構造と設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3z5J697&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Clean Architecture 達人に学ぶソフトウェアの構造と設計&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07FSBHS2V/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=988b104d3c8b778e5c82a245c329a487&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07FSBHS2V&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07FSBHS2V&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アプリケーションアーキテクチャの話で最近度々話題となる「クリーンアーキテクチャ」の解説書です。&lt;/p&gt;
&lt;p&gt;プログラミングパラダイムの話から、SOLID 原則、アプリケーションアーキテクチャについて解説されており、アプリケーション設計を学ぶ上で外せない 1 冊です。&lt;/p&gt;
&lt;p&gt;クリーンアーキテクチャ自体を採用するかは状況次第ですが、設計の考え方としてはいつでも参考にできるものなので、是非とも一度読んでみるべき書籍です。&lt;/p&gt;
&lt;p&gt;サンプルコードはないため、その部分は Web 上の情報などで補う必要があります。&lt;/p&gt;
&lt;h2 id=&quot;アプリケーションアーキテクチャ設計パターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E8%A8%AD%E8%A8%88%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;アプリケーションアーキテクチャ設計パターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ct6F1E&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アプリケーションアーキテクチャ設計パターン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B076BY4VJH/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4b6652fefa1f3e7580814d685042e680&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B076BY4VJH&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B076BY4VJH&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2017 年に発売された、アプリケーションアーキテクチャ全般を解説した書籍です。&lt;/p&gt;
&lt;p&gt;サーバサイドからクライアントサイド、バッチ処理、システム間連携まで、アプリケーションアーキテクチャを非常に幅広く解説しています。&lt;/p&gt;
&lt;p&gt;Java の前提知識が求められることと、ページ数的にもボリュームがあることから、初学者向けとは言えないです。&lt;/p&gt;
&lt;p&gt;ある程度実務経験を積んだ上で、知識を整理したり、知らない部分を埋めるのに適しているのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;．ｎｅｔのエンタープライズアプリケーションアーキテクチャ-第２版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EF%BC%8E%EF%BD%8E%EF%BD%85%EF%BD%94%E3%81%AE%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%AC%AC%EF%BC%92%E7%89%88&quot; aria-label=&quot;．ｎｅｔのエンタープライズアプリケーションアーキテクチャ 第２版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/35SR8Ei&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;．ＮＥＴのエンタープライズアプリケーションアーキテクチャ　第２版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822298485/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=113309ece3cf29433e9e84aa0c185e78&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822298485&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4822298485&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アプリケーションの設計原則からアーキテクチャまでを解説した書籍です。&lt;/p&gt;
&lt;p&gt;後半は DDD についての解説が中心で、DDD のオススメ書籍として紹介されることも多いです。&lt;/p&gt;
&lt;p&gt;また、書籍の最後の方では CQRS やイベントソーシングといった発展的なアーキテクチャについてもかなりのページを割いて解説されています。&lt;/p&gt;
&lt;p&gt;タイトルに「.NET」とありますが、.NET の知識を前提とした解説はそれほど多くないので、Java などのオブジェクト指向言語を理解していれば読み進めることができます。&lt;/p&gt;
&lt;h2 id=&quot;エンタープライズ-アプリケーションアーキテクチャパターン&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&quot; aria-label=&quot;エンタープライズ アプリケーションアーキテクチャパターン permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TGAjKk&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エンタープライズ アプリケーションアーキテクチャパターン&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01B5MX2O2/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4ea40208c6f163ea86cdb5f25fe58e8a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01B5MX2O2&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01B5MX2O2&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;アプリケーションアーキテクチャの原典のように紹介されることが多い書籍です。&lt;/p&gt;
&lt;p&gt;アプリケーションアーキテクチャの各種パターンがカタログ的に紹介されています。&lt;/p&gt;
&lt;p&gt;2005 年発売の書籍ということもあり、現在よく使われている用語と不一致な箇所があるなど、読み進めるには多少注意が必要です。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;アプリケーションアーキテクチャについて書かれた書籍を 4 冊紹介しましたが、どれもある程度の前提知識が必要で、初学者向けとは言いにくいです。
ある程度実務経験を積んでから、次のレベルアップのために読んでみるのがいいのではないでしょうか。&lt;/p&gt;
&lt;p&gt;また、アプリケーションアーキテクチャについては、DDD の文脈の中で解説されることも多いです。
別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/ddd-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ&lt;/a&gt;」に DDD の書籍をまとめているので、そちらも参照ください。
特に&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3z7a4Ns&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法&lt;/a&gt;』&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3uXftTT&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本&lt;/a&gt;』&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 冊はかなり初学者向けとなっており、アプリケーションアーキテクチャを学び始めるにも非常に良い書籍です。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[電子政府 e-Estonia に関する書籍 3 冊の紹介]]></title><description><![CDATA[近年、エストニアの電子政府 e-Estonia が注目を集めています。

特に仮想国民として登録する e-Regidency については、著名人も大勢登録しており、興味を持っている方も多いと思います。

また、e-Estonia を成立させる技術である KSI ブロックチェーンや X-Road について、IT 関係の職種の方であれば知っておいて損はないでしょう。

この記事では、そんな e-Estonia について知るための書籍 3 冊を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/e-estonia-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/e-estonia-books</guid><pubDate>Sat, 19 Sep 2020 06:32:44 GMT</pubDate><content:encoded>&lt;p&gt;近年、エストニアの電子政府 e-Estonia が注目を集めています。&lt;/p&gt;
&lt;p&gt;特に仮想国民として登録する e-Regidency については、著名人も大勢登録しており、興味を持っている方も多いと思います。&lt;/p&gt;
&lt;p&gt;また、e-Estonia を成立させる技術である KSI ブロックチェーンや X-Road について、IT 関係の職種の方であれば知っておいて損はないでしょう。&lt;/p&gt;
&lt;p&gt;この記事では、そんな e-Estonia について知るための書籍 3 冊を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;ブロックチェーン、aiで先を行くエストニアで見つけた-つまらなくない未来&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%80%81ai%E3%81%A7%E5%85%88%E3%82%92%E8%A1%8C%E3%81%8F%E3%82%A8%E3%82%B9%E3%83%88%E3%83%8B%E3%82%A2%E3%81%A7%E8%A6%8B%E3%81%A4%E3%81%91%E3%81%9F-%E3%81%A4%E3%81%BE%E3%82%89%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%84%E6%9C%AA%E6%9D%A5&quot; aria-label=&quot;ブロックチェーン、aiで先を行くエストニアで見つけた つまらなくない未来 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3iqo3YY&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ブロックチェーン、AIで先を行くエストニアで見つけた つまらなくない未来&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07KWQ7RV4/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=bef77b15608b461225579d1a2abc8c20&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07KWQ7RV4&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07KWQ7RV4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;電子政府 e-Estonia について、その実態や背景となる歴史・思想などを幅広く書いた書籍です。&lt;/p&gt;
&lt;p&gt;スカイプから繋がるスタートアップのエコシステムや、エストニアの教育についても書かれています。&lt;/p&gt;
&lt;p&gt;技術的な内容として、X-Road や KSI ブロックチェーンについても簡単に解説されています。&lt;/p&gt;
&lt;p&gt;2018 年末に出版された書籍なので、情報も比較的新しいです。&lt;/p&gt;
&lt;p&gt;e-Estonia について幅広い情報を得たい場合、この書籍が適していると思います。&lt;/p&gt;
&lt;h2 id=&quot;未来型国家エストニアの挑戦-電子政府がひらく世界&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%AA%E6%9D%A5%E5%9E%8B%E5%9B%BD%E5%AE%B6%E3%82%A8%E3%82%B9%E3%83%88%E3%83%8B%E3%82%A2%E3%81%AE%E6%8C%91%E6%88%A6-%E9%9B%BB%E5%AD%90%E6%94%BF%E5%BA%9C%E3%81%8C%E3%81%B2%E3%82%89%E3%81%8F%E4%B8%96%E7%95%8C&quot; aria-label=&quot;未来型国家エストニアの挑戦 電子政府がひらく世界 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3imyXPi&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;未来型国家エストニアの挑戦　電子政府がひらく世界&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01AXRCDZ4/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=820a4a081b94127ee9ded71fd1fa8523&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B01AXRCDZ4&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B01AXRCDZ4&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらも電子政府 e-Estonia について一通りを解説した書籍になっています。&lt;/p&gt;
&lt;p&gt;上記の『ブロックチェーン、AIで先を行くエストニアで見つけた つまらなくない未来』と比べるとページ数は半分程度で、比較的気軽に読める書籍になっています。&lt;/p&gt;
&lt;p&gt;ブロックチェーンに関する説明はありませんが、X-Road についてはその構成などまで簡単に解説されています。&lt;/p&gt;
&lt;p&gt;2016 年に出版されたもののため、情報が少し古い箇所もあるのでご注意ください。&lt;/p&gt;
&lt;h2 id=&quot;e-エストニア-デジタル・ガバナンスの最前線&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#e-%E3%82%A8%E3%82%B9%E3%83%88%E3%83%8B%E3%82%A2-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%BB%E3%82%AC%E3%83%90%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E5%89%8D%E7%B7%9A&quot; aria-label=&quot;e エストニア デジタル・ガバナンスの最前線 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2RDTWyj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;e-エストニア デジタル・ガバナンスの最前線&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4822289672/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=87e8780d90886d8a7f0ca2383b999cb3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4822289672&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4822289672&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;e-Estonia でオンラインで提供されているサービスについて、イラストや写真とともに解説した書籍です。&lt;/p&gt;
&lt;p&gt;e-Estonia が持つオンラインサービスについてさっと把握したい場合に役立ちます。&lt;/p&gt;
&lt;p&gt;書籍というよりは分厚いパンフレットのようなイメージになります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;私は上記の 3 冊を通して、電子政府として聞いたことがあったエストニアについて、具体的にどのようなものが電子化されているのか、電子国民というのはどういったものなのかを体系的に知ることができました。&lt;/p&gt;
&lt;p&gt;また、初めて目にした KSI ブロックチェーンや X-Road は非常に面白い技術でした。
これらは電子政府 e-Estonia という入り口以外からだと触れる機会がなかなかないと思われますが、IT 関連職の方には是非概要だけでも知ってほしいです。
特に X-Road によるデータ連携基盤の構築ついては、昨今のマイクロサービス化の風潮とも近い点があり、非常に興味深いです。&lt;/p&gt;
&lt;p&gt;個人的に e-Estonia に今後も注目していきたいので、e-Regidency に登録してみたり、X-Road についてより深い情報を収集していければと思います。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[ダークウェブ関連書籍 2 冊の紹介]]></title><description><![CDATA[近年、パソコン遠隔操作事件や仮想通貨 NEM 流出事件の報道などにより、「ダークウェブ」という単語が一般に認知されるようになりました。
最近ではダークウェブの危険から個人情報を守ることをうたうセキュリティツールの広告を見かけることも多いです。
そんなダークウェブについて基礎知識をつけるために読んだ 2 冊の書籍を紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/dark-web-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/dark-web-books</guid><pubDate>Sat, 05 Sep 2020 03:49:53 GMT</pubDate><content:encoded>&lt;p&gt;近年、パソコン遠隔操作事件や仮想通貨 NEM 流出事件の報道などにより、「ダークウェブ」という単語が一般に認知されるようになりました。&lt;/p&gt;
&lt;p&gt;最近ではダークウェブの危険から個人情報を守ることをうたうセキュリティツールの広告を見かけることも多いです。&lt;/p&gt;
&lt;p&gt;そんなダークウェブについて基礎知識をつけるために読んだ 2 冊の書籍を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;ダークウェブの教科書-匿名化ツールの実践&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%80%E3%83%BC%E3%82%AF%E3%82%A6%E3%82%A7%E3%83%96%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E5%8C%BF%E5%90%8D%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E5%AE%9F%E8%B7%B5&quot; aria-label=&quot;ダークウェブの教科書 匿名化ツールの実践 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3i2zwdU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ダークウェブの教科書 匿名化ツールの実践&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4781702414/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b40a95aeb3027bb66daf335c1968c9b8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4781702414&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4781702414&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ダークウェブについて理解し、ふれてみるための書籍です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ダークウェブとは何か&lt;/li&gt;
&lt;li&gt;Tor の仕組み・使い方&lt;/li&gt;
&lt;li&gt;ダークウェブにはどのようなサイトが存在するか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが解説されています。&lt;/p&gt;
&lt;p&gt;特に Tor の仕組みや使い方に多くのページが割かれており、この書籍を参考に実際にダークウェブにふれてみることができます。&lt;/p&gt;
&lt;p&gt;Tor の説明はネットワークや Linux の基礎知識を持った方が対象となっており、エンジニア向けの書籍になっています。&lt;/p&gt;
&lt;h2 id=&quot;ダークウェブ・アンダーグラウンド-社会秩序を逸脱するネット暗部の住人たち&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%80%E3%83%BC%E3%82%AF%E3%82%A6%E3%82%A7%E3%83%96%E3%83%BB%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89-%E7%A4%BE%E4%BC%9A%E7%A7%A9%E5%BA%8F%E3%82%92%E9%80%B8%E8%84%B1%E3%81%99%E3%82%8B%E3%83%8D%E3%83%83%E3%83%88%E6%9A%97%E9%83%A8%E3%81%AE%E4%BD%8F%E4%BA%BA%E3%81%9F%E3%81%A1&quot; aria-label=&quot;ダークウェブ・アンダーグラウンド 社会秩序を逸脱するネット暗部の住人たち permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x2o8WE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ダークウェブ・アンダーグラウンド 社会秩序を逸脱するネット暗部の住人たち&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07NDWVBHR/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=f748c951f52130619dbe7dfdceaa32f1&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07NDWVBHR&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07NDWVBHR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ダークウェブとは何か&lt;/li&gt;
&lt;li&gt;ダークウェブの思想&lt;/li&gt;
&lt;li&gt;ダークウェブが関係する事件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについて詳しく書かれた書籍です。&lt;/p&gt;
&lt;p&gt;ダークウェブで実施された囮操作についてなど、日本の報道では目にしないダークウェブの重要な論点について多くの内容が書かれています。&lt;/p&gt;
&lt;p&gt;技術的な解説は少ないので、読み進めるための前提知識はほとんど必要ありません。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;これら 2 冊の書籍を読むことによって&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ダークウェブとは何で、どのような仕組みなのか&lt;/li&gt;
&lt;li&gt;Tor を使ってどのようにダークウェブにアクセスするのか&lt;/li&gt;
&lt;li&gt;ダークウェブはどのような思想なのか&lt;/li&gt;
&lt;li&gt;ダークウェブに実際にどのようなサイトがあり、どのような事件・問題があるのか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、ダークウェブの基礎知識を幅広く身に付けることができます。&lt;/p&gt;
&lt;p&gt;ダークウェブは「気軽に関わってはいけない危険な場所」のような印象を持たれることが多いと思いますが、プライバシーの保護を含む自由の追求のような思想も関係するといった、意外な事実も知ることができます。&lt;/p&gt;
&lt;p&gt;これらの書籍で得られる知識が仕事に直結することは少ないかもしれませんが、知っておくと雑談のネタとしては面白いかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【難易度・状況別】Docker オススメ書籍 6 冊の紹介]]></title><description><![CDATA[Docker を開発環境・本番環境で 4 年以上使い続け、学び続けた経験を踏まえ、難易度や状況別に Docker のオススメ書籍を紹介します。
Docker の入門 1 冊目に適した書籍、Docker に関する発展的な内容の書籍、ちょっとレガシーながら勉強になる書籍の 3 つに分けて順に書いていきます。]]></description><link>https://www.kanzennirikaisita.com/posts/docker-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/docker-books</guid><pubDate>Fri, 04 Sep 2020 03:05:18 GMT</pubDate><content:encoded>&lt;p&gt;Docker を開発環境・本番環境で 4 年以上使い続け、学び続けた経験を踏まえ、難易度や状況別に Docker のオススメ書籍を紹介します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker の入門 1 冊目に適した書籍&lt;/li&gt;
&lt;li&gt;Docker に関する発展的な内容の書籍&lt;/li&gt;
&lt;li&gt;ちょっとレガシーながら勉強になる書籍&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つに分けて順に書いていきます。&lt;/p&gt;
&lt;h2 id=&quot;docker-の入門-1-冊目に適した書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-%E3%81%AE%E5%85%A5%E9%96%80-1-%E5%86%8A%E7%9B%AE%E3%81%AB%E9%81%A9%E3%81%97%E3%81%9F%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;docker の入門 1 冊目に適した書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker の入門 1 冊目に適した書籍&lt;/h2&gt;
&lt;p&gt;「Docker を学ぶための本を紹介してほしい」と私が言われたら、まずは次に紹介する 2 冊のどちらかをオススメします。&lt;/p&gt;
&lt;h3 id=&quot;プログラマのためのdocker教科書-第2版-インフラの基礎知識コードによる環境構築の自動化&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEdocker%E6%95%99%E7%A7%91%E6%9B%B8-%E7%AC%AC2%E7%89%88-%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%82%88%E3%82%8B%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%AE%E8%87%AA%E5%8B%95%E5%8C%96&quot; aria-label=&quot;プログラマのためのdocker教科書 第2版 インフラの基礎知識コードによる環境構築の自動化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/32ZmqYE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラマのためのDocker教科書 第2版 インフラの基礎知識&amp;#x26;コードによる環境構築の自動化&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798153222/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=9703c3fd2b129830cc3e3a392de43241&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798153222&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798153222&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;非常に初心者向けの Docker の入門書です。&lt;/p&gt;
&lt;p&gt;タイトルに書かれている通り、ネットワークや Linux といったインフラの基礎知識についても解説されており、比較的少ない前提知識で読むことができます。&lt;/p&gt;
&lt;p&gt;Docker の基礎を身に着ける上で必要十分な内容となっており、インフラにあまり強くない方が Docker をサクッと学びたいという場合はこの 1 冊がオススメです。&lt;/p&gt;
&lt;p&gt;コンテナを本番運用するには物足りない内容になっているので、本番運用を見据えて学びたい場合は次に紹介する『&lt;a href=&quot;https://amzn.to/3cpccqf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Docker/Kubernetes 実践コンテナ開発入門&lt;/a&gt;』を入門書として選んだ方がいいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;dockerkubernetes-実践コンテナ開発入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dockerkubernetes-%E5%AE%9F%E8%B7%B5%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80&quot; aria-label=&quot;dockerkubernetes 実践コンテナ開発入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cpccqf&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Docker/Kubernetes 実践コンテナ開発入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07GP1Q3VT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0a244693fe60a9b75f76932880a7c482&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07GP1Q3VT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07GP1Q3VT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;Docker の基礎から始まり、Kubernetes についてもかなりのページを割いて解説されている書籍です。&lt;/p&gt;
&lt;p&gt;“実践” というタイトルの通り、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンテナのロギング&lt;/li&gt;
&lt;li&gt;イメージの軽量化&lt;/li&gt;
&lt;li&gt;セキュリティ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、コンテナ本番運用で必ず必要になる知識も幅広く解説されており、この 1 冊の内容さえ身に付ければ、ある程度コンテナを使いこなすことができるでしょう。&lt;/p&gt;
&lt;p&gt;ネットワークや Linux の基礎知識がある方や、本番運用を見据えて Docker について学びたい方は、上記の『&lt;a href=&quot;https://amzn.to/32ZmqYE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;プログラマのためのDocker教科書 第2版&lt;/a&gt;』よりもこちらの書籍がオススメです。&lt;/p&gt;
&lt;h2 id=&quot;docker-に関する発展的な内容の書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E7%99%BA%E5%B1%95%E7%9A%84%E3%81%AA%E5%86%85%E5%AE%B9%E3%81%AE%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;docker に関する発展的な内容の書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker に関する発展的な内容の書籍&lt;/h2&gt;
&lt;p&gt;Docker の基礎を理解した次のステップで読むべき書籍を紹介します。&lt;/p&gt;
&lt;p&gt;※ Kubernetes に関する書籍は別記事で紹介予定です。&lt;/p&gt;
&lt;h3 id=&quot;dockerによるアプリケーション開発環境構築ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker%E3%81%AB%E3%82%88%E3%82%8B%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%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;dockerによるアプリケーション開発環境構築ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3xadWLX&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Dockerによるアプリケーション開発環境構築ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07D3474QP/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=8b6d04ef74aa4761c0ca4ab5345c761f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07D3474QP&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07D3474QP&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;Docker の基本を理解している方に向けた、Docker を利用した開発環境の構築について解説した書籍になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Baseimage-docker などを利用し、コンテナ内で複数のプロセスを動かす方法&lt;/li&gt;
&lt;li&gt;Docker を使った開発環境で、クラウドとローカル環境をどのように接続するか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、他の書籍では見られない内容が解説されています。&lt;/p&gt;
&lt;p&gt;Docker を利用する上で、開発環境と本番環境では必要になる知識や工夫が全く異なります。
この書籍は開発環境について詳しく解説したものであり、本番運用についてはあまり詳しく書かれていないので、その点はご注意ください。&lt;/p&gt;
&lt;p&gt;Docker の基本を身に付けた上で、ちょっとマニアックな知識をつけたい方にはオススメです。&lt;/p&gt;
&lt;h3 id=&quot;docker実践ガイド-第2版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC2%E7%89%88&quot; aria-label=&quot;docker実践ガイド 第2版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3x6eToA&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Docker実践ガイド 第2版&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07NDT526Q/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=a33f0ab8fbb356b8fa9599e267516c2d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07NDT526Q&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07NDT526Q&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★★&lt;/p&gt;
&lt;p&gt;Docker の基本を身に付けた方が、その仕組みなどをより深く学ぶための書籍です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;名前空間によるプロセスなどの分離&lt;/li&gt;
&lt;li&gt;CPU やメモリ、ディスク I/0 のコンテナへの割り当て&lt;/li&gt;
&lt;li&gt;GUI アプリケーション用のコンテナ&lt;/li&gt;
&lt;li&gt;コンテナでの DVD・サウンドプレイヤの利用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、他の書籍では解説されていないような内容も含めて詳しく書かれています。&lt;/p&gt;
&lt;p&gt;また、Docker EE についてこれほど丁寧に書いている書籍は他にありません。&lt;/p&gt;
&lt;p&gt;ある程度 Docker を使った経験がある方でも多くの学びが得られる本なので、Docker についてもう一歩詳しくなりたいときには是非手にとってみてください。&lt;/p&gt;
&lt;h3 id=&quot;windowsコンテナー技術入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#windows%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80&quot; aria-label=&quot;windowsコンテナー技術入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pIh1QZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Windowsコンテナー技術入門&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B06XHTTB78/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4a1070ae4a3ab40ac7e428d92127a0b6&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B06XHTTB78&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B06XHTTB78&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;Windows コンテナについて解説した数少ない書籍の 1 つです。&lt;/p&gt;
&lt;p&gt;Linux 上のコンテナとの違いに始まり、Azure での利用方法まで解説されています。&lt;/p&gt;
&lt;p&gt;現状、特に制約がない限り Windows コンテナを使う理由はないので、どうしても Windows コンテナを使う必要がある場合に読みましょう。&lt;/p&gt;
&lt;p&gt;Windows コンテナについてより新しい情報を得るには、『&lt;a href=&quot;https://amzn.to/3zczTM0&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Windows版Docker&amp;#x26;Windowsコンテナーテクノロジ入門&lt;/a&gt;』という書籍も参照した方がいいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;ちょっとレガシーながら勉強になる書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%81%AA%E3%81%8C%E3%82%89%E5%8B%89%E5%BC%B7%E3%81%AB%E3%81%AA%E3%82%8B%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;ちょっとレガシーながら勉強になる書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ちょっとレガシーながら勉強になる書籍&lt;/h2&gt;
&lt;h3 id=&quot;docker&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker&quot; aria-label=&quot;docker permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2DvlfHS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Docker&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873117763/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=c27f4655772bdea5270aeafc0e3d5d68&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873117763&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873117763&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;オライリーの Docker に関する書籍です。&lt;/p&gt;
&lt;p&gt;さすがオライリーの書籍だけあり、Docker の基本だけでなく、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ロギング・モニタリング&lt;/li&gt;
&lt;li&gt;ネットワーク&lt;/li&gt;
&lt;li&gt;セキュリティ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などについて非常に詳しく解説されています。&lt;/p&gt;
&lt;p&gt;ちょっと古い書籍にはなりますが、Docker についてより詳しく学びたい場合に参照してもいいかもしれません。&lt;/p&gt;
&lt;p&gt;ただし、他の書籍にも言えることですが、Docker の内部の仕組みは年々変わっており、最近の Docker とは異なる内容が解説がされている場合もあるのでご注意ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Azure に関する書籍 4 冊を難易度・状況別にオススメする]]></title><description><![CDATA[仕事で Microsoft Azure に関わるにあたって読んだ 4 冊の書籍について、どの程度の難易度か、どういった内容を学びたい場合に読むべきかをそれぞれ紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/microsoft-azure-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/microsoft-azure-books</guid><pubDate>Thu, 03 Sep 2020 20:50:57 GMT</pubDate><content:encoded>&lt;p&gt;仕事で Microsoft Azure に関わるにあたって読んだ 4 冊の書籍について、どの程度の難易度か、どういった内容を学びたい場合に読むべきかをそれぞれ紹介します。&lt;/p&gt;
&lt;h2 id=&quot;ひと目でわかるazure-基本から学ぶサーバー＆ネットワーク構築-第3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%B2%E3%81%A8%E7%9B%AE%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8Bazure-%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%EF%BC%86%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E6%A7%8B%E7%AF%89-%E7%AC%AC3%E7%89%88&quot; aria-label=&quot;ひと目でわかるazure 基本から学ぶサーバー＆ネットワーク構築 第3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2RvSKRe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ひと目でわかるAzure　基本から学ぶサーバー＆ネットワーク構築　第3版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B081ZNGZ2X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b2132fb01efc1d03356c46ef37f4a206&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B081ZNGZ2X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B081ZNGZ2X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;Azure で仮想マシンや仮想ネットワークを構築する流れが非常に丁寧に解説されている書籍です。&lt;/p&gt;
&lt;p&gt;可用性セットやロードバランサ、バックアップなど、Azure で仮想マシンを使う際に必要な内容がしっかり解説されています。&lt;/p&gt;
&lt;p&gt;PaaS やデータベースなどの解説は含まれていないので、この書籍だけで実務に臨むのは難しいです。&lt;/p&gt;
&lt;p&gt;Azure や AWS などで仮想マシン・仮想ネットワークを作成するイメージがまだ湧いていないという方が最初の一歩として読むのにオススメです。&lt;/p&gt;
&lt;h2 id=&quot;azureテクノロジ入門-2019&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#azure%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E5%85%A5%E9%96%80-2019&quot; aria-label=&quot;azureテクノロジ入門 2019 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3im2BUR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Azureテクノロジ入門 2019&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07LFTKTXB/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=51936afc29663df8a60e8158c6b4aa64&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07LFTKTXB&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07LFTKTXB&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;Azure の主要サービスについて一通り解説されている入門書です。&lt;/p&gt;
&lt;p&gt;IaaS や PaaS、データベースといった基本サービスに加え、データ分析系のサービスや Azure Functions など、Azure を使う上でまず知っとくべきサービスを一通りおさえることができます。&lt;/p&gt;
&lt;p&gt;AWS など、他のパブリック・クラウドの設計知識がある方であれば、どのサービスが Azure のどのサービスに対応するのか、それぞれどういった違いがあるのかを把握できる書籍になっています。&lt;/p&gt;
&lt;p&gt;各サービスの概要を紹介する書籍であり、それらを組み合わせた設計については別途学ぶ必要がありますが、Azure のサービスの全体像を把握したいという方にオススメです。&lt;/p&gt;
&lt;h2 id=&quot;microsoft-azure実践ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#microsoft-azure%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;microsoft azure実践ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2ShHKr8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Microsoft Azure実践ガイド&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0786WVGTK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=07e5a8ea9bbe69e7948f49b01794669f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0786WVGTK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0786WVGTK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;上記の『Azureテクノロジ入門 2019』よりもう一歩詳しく各サービスを解説した書籍です。&lt;/p&gt;
&lt;p&gt;Infrastructure as Code やリファレンスアーキテクチャなどについても章を割いて書かれていますが、クラウドの設計知識を身に付けるには物足りないと思われます。&lt;/p&gt;
&lt;p&gt;Azure の各サービスについて、どういった設定があるのかなどを幅広く体系的に学びたい場合にオススメの書籍です。&lt;/p&gt;
&lt;h2 id=&quot;クラウドデザインパターン-azureを例としたクラウドアフリケーション設計の手引き&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-azure%E3%82%92%E4%BE%8B%E3%81%A8%E3%81%97%E3%81%9F%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%A2%E3%83%95%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E8%A8%88%E3%81%AE%E6%89%8B%E5%BC%95%E3%81%8D&quot; aria-label=&quot;クラウドデザインパターン azureを例としたクラウドアフリケーション設計の手引き permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gfkKRD&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;クラウドデザインパターン Azureを例としたクラウドアフリケーション設計の手引き&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00LGIPKP0/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=89b174026b400f9f37e3e8b0372c1f33&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00LGIPKP0&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B00LGIPKP0&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★★&lt;/p&gt;
&lt;p&gt;「クラウドデザインパターン」というタイトルではありますが、クラウドの設計というよりは、モダンなアプリケーション・アーキテクチャ、インフラ・アーキテクチャを幅広く解説した書籍です。&lt;/p&gt;
&lt;p&gt;表紙に「Azure、AWS など、汎用的に適用できる」と書かれていますが、もはやクラウドに限らず適用できる設計の手引きです。&lt;/p&gt;
&lt;p&gt;ある程度高度な設計について解説されているので、AWS の基本的な設計パターンを解説した Web サイト・書籍である&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://aws.clouddesignpattern.org/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSクラウドデザインパターン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3g1PiHG&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Ａｍａｚｏｎ　Ｗｅｂ　Ｓｅｒｖｉｃｅｓ　クラウドデザインパターン設計ガイド　改訂版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3v31lIM&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon Web Services クラウドデザインパターン実装ガイド　改訂版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と比べるとかなり高度な内容になっています。&lt;/p&gt;
&lt;p&gt;上記の AWS クラウドデザインパターンについての Web サイト・書籍でクラウドの基本的な設計を学んだ後、さらに設計知識を深めるのに適した一冊です。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[【2020 年】IT トレンドをまとめた書籍の紹介]]></title><description><![CDATA[よくある話ではありますが、IT トレンドの変遷は早く、今おさえておくべき技術は何かと聞かれて答えるのは非常に難しいです。
この 5 年ほどでも多くの技術が流行の兆しを見せ、あるものは一般に浸透し、あるものは再度鳴りを潜めました。
この記事では、そんな IT トレンドについて、現状ではどういった概念・技術があるのかを学ぶための書籍を何冊か紹介します。]]></description><link>https://www.kanzennirikaisita.com/posts/it-trends-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/it-trends-books</guid><pubDate>Wed, 02 Sep 2020 02:01:43 GMT</pubDate><content:encoded>&lt;p&gt;よくある話ではありますが、IT トレンドの変遷は早く、今おさえておくべき技術は何かと聞かれて答えるのは非常に難しいです。&lt;/p&gt;
&lt;p&gt;この 5 年ほどでも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ディープラーニング&lt;/li&gt;
&lt;li&gt;ブロックチェーン&lt;/li&gt;
&lt;li&gt;コンテナ&lt;/li&gt;
&lt;li&gt;量子コンピュータ&lt;/li&gt;
&lt;li&gt;RPA&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの多くの技術が流行の兆しを見せ、あるものは一般に浸透し、あるものは再度鳴りを潜めました。&lt;/p&gt;
&lt;p&gt;この記事では、そんな IT トレンドについて、現状ではどういった概念・技術があるのかを学ぶための書籍を何冊か紹介します。&lt;/p&gt;
&lt;h2 id=&quot;【図解】コレ1枚でわかる最新itトレンド新装改訂3版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%90%E5%9B%B3%E8%A7%A3%E3%80%91%E3%82%B3%E3%83%AC1%E6%9E%9A%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%80%E6%96%B0it%E3%83%88%E3%83%AC%E3%83%B3%E3%83%89%E6%96%B0%E8%A3%85%E6%94%B9%E8%A8%823%E7%89%88&quot; aria-label=&quot;【図解】コレ1枚でわかる最新itトレンド新装改訂3版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3puyxru&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【図解】コレ1枚でわかる最新ITトレンド[新装改訂3版]&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084BW8377/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ea16da91ef25ce52070acb813e3cf83b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084BW8377&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084BW8377&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;ネットコマース株式会社の代表取締役が書かれた書籍です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DX&lt;/li&gt;
&lt;li&gt;IoT&lt;/li&gt;
&lt;li&gt;AI&lt;/li&gt;
&lt;li&gt;クラウド&lt;/li&gt;
&lt;li&gt;コンテナ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、現時点ですでに定着している概念・技術について図解されています。&lt;/p&gt;
&lt;p&gt;技術的な内容が多く、エンジニアや、エンジニアと関わる機会が多い方でないと理解は難しいという印象です。&lt;/p&gt;
&lt;p&gt;現時点ですでに定着している技術について、情報を追えているか心配というエンジニアが読むのに適していると思います。&lt;/p&gt;
&lt;h2 id=&quot;itロードマップ-2020年版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97-2020%E5%B9%B4%E7%89%88&quot; aria-label=&quot;itロードマップ 2020年版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3fZCjWU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITロードマップ 2020年版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B084WZFS6W/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d7c84dadcc219cf878bf3fbb575e5a19&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B084WZFS6W&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B084WZFS6W&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;野村総合研究所の IT 基盤技術戦略室が出している書籍です。&lt;/p&gt;
&lt;p&gt;今後の技術の進化について書かれているので、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;フェデレーションラーニング&lt;/li&gt;
&lt;li&gt;MLOps&lt;/li&gt;
&lt;li&gt;ゼロトラスト&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、ここ数年で聞き始めて、エンジニアでもまだ一部の人しか聞いたことがないような用語が多数解説されています。&lt;/p&gt;
&lt;p&gt;技術知識がなくても読めるとは思いますが、どちらかというと技術知識がある方に向けた書籍だと思います。&lt;/p&gt;
&lt;h2 id=&quot;itナビゲーター2020年版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#it%E3%83%8A%E3%83%93%E3%82%B2%E3%83%BC%E3%82%BF%E3%83%BC2020%E5%B9%B4%E7%89%88&quot; aria-label=&quot;itナビゲーター2020年版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3puyJac&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITナビゲーター2020年版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B081C1XZQG/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=85b20d89f8d85031489dacf520e37783&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B081C1XZQG&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B081C1XZQG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;野村総合研究所の ICT メディア・サービス産業コンサルティング部が出している書籍です。&lt;/p&gt;
&lt;p&gt;上記の 2 冊はどちらかというとエンジニアに向けた基礎技術の紹介でしたが、こちらの書籍は xTech などの領域でそういった技術がどう使われていくか、といった内容になっています。&lt;/p&gt;
&lt;p&gt;読み進めるために必要な技術知識は少なく、エンジニアでなくても読み進めやすいです。&lt;/p&gt;
&lt;h2 id=&quot;読んでいない良さそうな本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%84%E3%81%AA%E3%81%84%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E6%9C%AC&quot; aria-label=&quot;読んでいない良さそうな本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読んでいない良さそうな本&lt;/h2&gt;
&lt;h3 id=&quot;図解入門ビジネス-最新itトレンドの動向と関連技術がよくわかる本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%9B%B3%E8%A7%A3%E5%85%A5%E9%96%80%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9-%E6%9C%80%E6%96%B0it%E3%83%88%E3%83%AC%E3%83%B3%E3%83%89%E3%81%AE%E5%8B%95%E5%90%91%E3%81%A8%E9%96%A2%E9%80%A3%E6%8A%80%E8%A1%93%E3%81%8C%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC&quot; aria-label=&quot;図解入門ビジネス 最新itトレンドの動向と関連技術がよくわかる本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zcxNvO&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;図解入門ビジネス 最新ITトレンドの動向と関連技術がよ~くわかる本&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082PDSWBZ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=d4aa8d60c7651ebd606538a15f8c8024&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082PDSWBZ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B082PDSWBZ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;こちらの書籍は読んでいませんが、目次を見る限り&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3D プリント住宅&lt;/li&gt;
&lt;li&gt;バーチャルYouTuber&lt;/li&gt;
&lt;li&gt;eスポーツ&lt;/li&gt;
&lt;li&gt;サブスクリプション ビデオ・オン・デマンド&lt;/li&gt;
&lt;li&gt;クラウドファンディング&lt;/li&gt;
&lt;li&gt;培養肉&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、他の書籍とは異なる内容も少なくないようです。&lt;/p&gt;
&lt;p&gt;基礎技術というよりはそれを応用した技術・サービスなどについて多く書かれており、『&lt;a href=&quot;https://amzn.to/3puyJac&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ITナビゲーター2020年版&lt;/a&gt;』のように技術知識が少ない方でも読めると思われます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;この記事の最初にも書きましたが、IT トレンドの変化は非常に早いです。&lt;/p&gt;
&lt;p&gt;ガートナーが先日発表した 2020 年版のハイプサイクルでは、 COVID-19 に関連したテクノロジとして&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ソーシャルディスタンシングテクノロジ&lt;/li&gt;
&lt;li&gt;ヘルスパスポート&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;が登場しているそうです。&lt;/p&gt;
&lt;p&gt;新しい技術の登場時にすぐ追従していくためにも、現時点のトレンドをおさえておけるといいのではないかと思います。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.itmedia.co.jp/news/articles/2008/31/news132.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ハイプサイクルに新登場した「ヘルスパスポート」はウィズコロナ時代に何をもたらすか (1/3)&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[実際に読んだ Unity 入門書 5 冊の紹介]]></title><description><![CDATA[初めて Unity でゲームを作るにあたって 5 冊の入門書を読んだので、それぞれどのくらいの難易度で、どういった内容が書かれているかを簡単に紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/unity-beginners-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/unity-beginners-books</guid><pubDate>Tue, 01 Sep 2020 13:40:36 GMT</pubDate><content:encoded>&lt;p&gt;初めて Unity でゲームを作るにあたって 5 冊の入門書を読んだので、それぞれどのくらいの難易度で、どういった内容が書かれているかを簡単に紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;楽しく学ぶ-unity-2d超入門講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A5%BD%E3%81%97%E3%81%8F%E5%AD%A6%E3%81%B6-unity-2d%E8%B6%85%E5%85%A5%E9%96%80%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;楽しく学ぶ unity 2d超入門講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3irhkO7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;楽しく学ぶ Unity 2D超入門講座&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07P46XK5R/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=767d0f2b465a0e56938f802e989dbd31&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07P46XK5R&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07P46XK5R&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;Unity で 2D ゲームを開発するための入門書です。&lt;/p&gt;
&lt;p&gt;非常に初心者向けとなっており、プログラミング経験がない方でも読み進めることができるように書かれています。&lt;/p&gt;
&lt;p&gt;逆にプログラミング経験がある方であれば、さくさく読み進めて Unity でできることの概要を把握することができます。&lt;/p&gt;
&lt;p&gt;サンプルコードもかなり初心者向けとなっており、本格的な開発には適さないコードも多いので、ある程度しっかりした開発を行う場合は『&lt;a href=&quot;https://amzn.to/3gMg4AS&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーダブルコード&lt;/a&gt;』などで勉強して読み替える必要があります。&lt;/p&gt;
&lt;h2 id=&quot;楽しく学ぶ-unity-3d超入門講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%A5%BD%E3%81%97%E3%81%8F%E5%AD%A6%E3%81%B6-unity-3d%E8%B6%85%E5%85%A5%E9%96%80%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;楽しく学ぶ unity 3d超入門講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3gcHyRU&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;楽しく学ぶ Unity 3D超入門講座&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B083PTV3M5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=34abc4b5fdf538807efecdbcaac41508&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B083PTV3M5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B083PTV3M5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;上で紹介した書籍の 3D ゲーム版です。&lt;/p&gt;
&lt;p&gt;2D 版と同じく、非常に初心者向けになっています。&lt;/p&gt;
&lt;p&gt;2D 版の書籍と重複する内容が多いですが、カメラの視点やナビメッシュなど、3D ゲーム特有の解説もあります。&lt;/p&gt;
&lt;p&gt;3D モデルなどを作る OSS やサービスも紹介されており、開発の参考にできます。&lt;/p&gt;
&lt;h2 id=&quot;unityの寺子屋-定番スマホゲーム開発入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unity%E3%81%AE%E5%AF%BA%E5%AD%90%E5%B1%8B-%E5%AE%9A%E7%95%AA%E3%82%B9%E3%83%9E%E3%83%9B%E3%82%B2%E3%83%BC%E3%83%A0%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80&quot; aria-label=&quot;unityの寺子屋 定番スマホゲーム開発入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ix83UK&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unityの寺子屋 定番スマホゲーム開発入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B074PLWDXK/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=abc749e658fd411b00b973e98f6332cf&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B074PLWDXK&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B074PLWDXK&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;こちらもプログラミング経験のない方に向けた書籍になっています。&lt;/p&gt;
&lt;p&gt;2D の「放置ゲーム」や「サイドビューアクション」を開発しながら Unity を学ぶという内容になっていおり、サウンドや DOTween を使ったアニメーションなど、上記の 2 冊よりも一歩踏み込んだ内容まで解説されています。&lt;/p&gt;
&lt;p&gt;書籍の中でのプログラミングの解説はかなり簡易的ですが、姉妹本『&lt;a href=&quot;https://amzn.to/2YPgVL7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;UnityではじめるC# 基礎編&lt;/a&gt;』から抜粋した C# プログラミングの基礎が PDF で提供されています。&lt;/p&gt;
&lt;p&gt;書籍の最後では、収益化の方法なども解説されています。&lt;/p&gt;
&lt;h2 id=&quot;作って学べる-unity本格入門&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%9C%E3%81%A3%E3%81%A6%E5%AD%A6%E3%81%B9%E3%82%8B-unity%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80&quot; aria-label=&quot;作って学べる unity本格入門 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3za6Vwn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;作って学べる Unity本格入門&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0841RN3QL/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=1ab99b5962dca52ed13969d8b4630ef8&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0841RN3QL&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0841RN3QL&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;Unity での 3D ゲームの開発に関する入門書です。&lt;/p&gt;
&lt;p&gt;パフォーマンスチューニングやビルドなどについても解説されており、上記の『&lt;a href=&quot;https://amzn.to/32EXJRg&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unityの寺子屋&lt;/a&gt;』よりもう一歩手厚い内容になっています。&lt;/p&gt;
&lt;p&gt;地形データを作るための Terrain や 空を描画するための Skybox など、3D ゲームを作る上で必要になるものも多数紹介されています。&lt;/p&gt;
&lt;p&gt;書籍の中では明記されていませんでしたが、プログラミングの経験が多少でもある方に向けた内容になっているように感じました。&lt;/p&gt;
&lt;p&gt;逆にプログラミング経験が多少ある方であれば、この一冊で Unity での開発についてかなり広く学べると思います。&lt;/p&gt;
&lt;h2 id=&quot;unity-3d2dゲーム開発実践入門-unity-2019対応版&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unity-3d2d%E3%82%B2%E3%83%BC%E3%83%A0%E9%96%8B%E7%99%BA%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-unity-2019%E5%AF%BE%E5%BF%9C%E7%89%88&quot; aria-label=&quot;unity 3d2dゲーム開発実践入門 unity 2019対応版 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3uWrUPW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unity 3D/2Dゲーム開発実践入門 Unity 2019対応版&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0855CF2FR/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e6707fff86b60a97e4e7c9d39cfa1dac&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0855CF2FR&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0855CF2FR&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★★&lt;/p&gt;
&lt;p&gt;まさにタイトル通りの実践的な内容の書籍です。&lt;/p&gt;
&lt;p&gt;Unity を全く知らない状態で 1 冊目として読むには少しハードルが高いですが、しっかりゲームを作り込む上で必要になる実践的な内容が非常に多く書かれています。&lt;/p&gt;
&lt;p&gt;3D ゲームにおける光の扱いなど、実践的な内容が詳しく書かれており、Unity を多少さわってみたという方がもう一歩レベルアップするのにちょうどいい本だと思います。&lt;/p&gt;
&lt;p&gt;Unity 2019 対応版というタイトル通り、Unity の新しい機能についても解説されています。&lt;/p&gt;
&lt;h2 id=&quot;読んでいない良さそうな本&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%84%E3%81%AA%E3%81%84%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E6%9C%AC&quot; aria-label=&quot;読んでいない良さそうな本 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;読んでいない良さそうな本&lt;/h2&gt;
&lt;h3 id=&quot;unityの教科書-unity-2020完全対応版-2d3dスマートフォンゲーム入門講座&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#unity%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-unity-2020%E5%AE%8C%E5%85%A8%E5%AF%BE%E5%BF%9C%E7%89%88-2d3d%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%B3%E3%82%B2%E3%83%BC%E3%83%A0%E5%85%A5%E9%96%80%E8%AC%9B%E5%BA%A7&quot; aria-label=&quot;unityの教科書 unity 2020完全対応版 2d3dスマートフォンゲーム入門講座 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3imjpet&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unityの教科書 Unity 2020完全対応版 (2D&amp;#x26;3Dスマートフォンゲーム入門講座)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B089PWG14S/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=4db440cc7d7925701f49f8a27f1b5f92&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B089PWG14S&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B089PWG14S&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;まだ発売から数日ということもあり読むことはできていないですが、過去の版の Amazon での評価が非常に高く、おそらく非常に良い入門書なのではないかと思います。&lt;/p&gt;
&lt;p&gt;目次を見る限り、プログラミング経験がない方でも読めるような難易度のようです。&lt;/p&gt;
&lt;p&gt;こちらの書籍を読んで、その後『&lt;a href=&quot;https://amzn.to/3uWrUPW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Unity 3D/2Dゲーム開発実践入門 Unity 2019対応版&lt;/a&gt;』などに進んでもいいかもしれません。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[FIRE (経済的自由、早期退職) ムーブメントに関する日本語書籍 3 冊の紹介]]></title><description><![CDATA[最近、様々なメディアで FIRE (Financial Independence, Retire Early) という単語を目にする機会が増えました。
この FIRE ムーブメントについて理解すべく、Amazon で見つけられた 3 冊の日本語書籍を読んだので、順に紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/financial-independence-retire-early-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/financial-independence-retire-early-books</guid><pubDate>Sun, 30 Aug 2020 09:42:21 GMT</pubDate><content:encoded>&lt;p&gt;最近、様々なメディアで FIRE (Financial Independence, Retire Early) という単語を目にする機会が増えました。&lt;/p&gt;
&lt;p&gt;FIRE ムーブメントについて &lt;a href=&quot;https://ja.wikipedia.org/wiki/FIRE_%E3%83%A0%E3%83%BC%E3%83%96%E3%83%A1%E3%83%B3%E3%83%88&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Wikipedia&lt;/a&gt; から引用すると、以下のような説明がなされています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;FIRE （ Financial Independence, Retire Early ） ムーブメントは、 経済的独立と早期退職を目標とするライフスタイルを啓蒙するムーブメントである。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この FIRE ムーブメントについて理解すべく、Amazon で見つけられた 3 冊の日本語書籍を読んだので、順に紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;fire-最速で経済的自立を実現する方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fire-%E6%9C%80%E9%80%9F%E3%81%A7%E7%B5%8C%E6%B8%88%E7%9A%84%E8%87%AA%E7%AB%8B%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95&quot; aria-label=&quot;fire 最速で経済的自立を実現する方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3ghJmZR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FIRE 最速で経済的自立を実現する方法&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B082W3XYCJ/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=0c0514a3ee5796ec9d7ea903e4cf3683&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B082W3XYCJ&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B082W3XYCJ&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2019 年 12 月に出版された、日本語で初の FIRE に関する書籍です。&lt;/p&gt;
&lt;p&gt;著者は預金残高 2.26 ドルでしかも失業中という状態から、たった 5 年でミリオネアとなっています。&lt;/p&gt;
&lt;p&gt;書籍の前半では、経済的自由を達成するために必要な目標金額を設定するための考え方が詳しく解説されています。&lt;/p&gt;
&lt;p&gt;後半では、お金の稼ぎ方や増やし方について、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;副業を中心とした事業所得&lt;/li&gt;
&lt;li&gt;株式・債権への投資&lt;/li&gt;
&lt;li&gt;不動産投資&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と幅広く解説されています。&lt;/p&gt;
&lt;p&gt;様々な方法について解説している分、500 ページ余りという分量になっているので、上記のお金の稼ぎ方や増やし方について幅広くしっかりと学びたいという方におすすめです。&lt;/p&gt;
&lt;h2 id=&quot;fire-最強の早期リタイア術-最速でお金から自由になれる究極メソッド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#fire-%E6%9C%80%E5%BC%B7%E3%81%AE%E6%97%A9%E6%9C%9F%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E8%A1%93-%E6%9C%80%E9%80%9F%E3%81%A7%E3%81%8A%E9%87%91%E3%81%8B%E3%82%89%E8%87%AA%E7%94%B1%E3%81%AB%E3%81%AA%E3%82%8C%E3%82%8B%E7%A9%B6%E6%A5%B5%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89&quot; aria-label=&quot;fire 最強の早期リタイア術 最速でお金から自由になれる究極メソッド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3cqlaTW&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;FIRE 最強の早期リタイア術 最速でお金から自由になれる究極メソッド&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0855P4T9N/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=db7ac3976434f4856691803c065a32a4&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0855P4T9N&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0855P4T9N&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年 3 月に出版された、日本語で 2 冊目の FIRE に関する書籍です。&lt;/p&gt;
&lt;p&gt;著者は 31 歳で早期リタイアを達成し、その後夫婦で世界中を旅行しているそうです。&lt;/p&gt;
&lt;p&gt;52 ~ 78 % の貯蓄率を継続し、それをインデックス投資に回すことによって FIRE を達成されています。&lt;/p&gt;
&lt;p&gt;書籍の中では、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;リタイアまでの年数に影響するのは貯蓄率であって年収は無関係なこと&lt;/li&gt;
&lt;li&gt;リーマンショックの実体験の伴う、暴落の乗り切り方&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、他の 2 冊では見られない内容も多く書かれています。&lt;/p&gt;
&lt;p&gt;また、「4 % ルール」・「現金クッション」・「利回りシールド」など、FIRE を達成する上で重要な概念について、非常に分かりやすく解説されています。&lt;/p&gt;
&lt;p&gt;「FIRE の基本的な考え方を学びたい」という方に是非とも読んでいただきたいオススメの一冊です。&lt;/p&gt;
&lt;h2 id=&quot;本気でfireをめざす人のための資産形成入門-30歳でセミリタイアした私の高配当・増配株投資法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9C%AC%E6%B0%97%E3%81%A7fire%E3%82%92%E3%82%81%E3%81%96%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E8%B3%87%E7%94%A3%E5%BD%A2%E6%88%90%E5%85%A5%E9%96%80-30%E6%AD%B3%E3%81%A7%E3%82%BB%E3%83%9F%E3%83%AA%E3%82%BF%E3%82%A4%E3%82%A2%E3%81%97%E3%81%9F%E7%A7%81%E3%81%AE%E9%AB%98%E9%85%8D%E5%BD%93%E3%83%BB%E5%A2%97%E9%85%8D%E6%A0%AA%E6%8A%95%E8%B3%87%E6%B3%95&quot; aria-label=&quot;本気でfireをめざす人のための資産形成入門 30歳でセミリタイアした私の高配当・増配株投資法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3zcJeUj&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;本気でFIREをめざす人のための資産形成入門 30歳でセミリタイアした私の高配当・増配株投資法&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08BFMB6GF/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=e8f43995c5a2cb2b8013154ebd732097&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08BFMB6GF&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B08BFMB6GF&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020 年 7 月に出版された、日本語で 3 冊目の FIRE に関する書籍です。&lt;/p&gt;
&lt;p&gt;上の 2 冊がアメリカ・カナダでの事例であるのに対し、こちらの書籍は日本での事例になります。&lt;/p&gt;
&lt;p&gt;著者は「&lt;a href=&quot;https://freetonsha.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;三菱サラリーマンが株式投資でセミリタイア目指してみた&lt;/a&gt;」というブログを運営している方になります。&lt;/p&gt;
&lt;p&gt;とにかく支出を減らし、それを米国株に投資し続けることで FIRE を達成されています。&lt;/p&gt;
&lt;p&gt;日本での早期リタイアは非常にめずらしいため、Twitter などでも非常に話題になっていました。&lt;/p&gt;
&lt;p&gt;書籍の中では、つみたて NISA・一般 NISA・イデコなど、日本の制度の利用についても書かれています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;当たり前のことではありますが、経済的自由を達成するには、「収入」・「支出」・「投資」の 3 つをうまくやりくりすることになります。&lt;/p&gt;
&lt;p&gt;この記事で紹介した 3 冊の書籍のいずれも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;平均以上に高い収入&lt;/li&gt;
&lt;li&gt;異常なまでに低い支出&lt;/li&gt;
&lt;li&gt;米国株を中心とした投資による複利効果&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;によって FIRE を達成されています。&lt;/p&gt;
&lt;p&gt;特に支出と投資については、世間で常識とされているような貯蓄・投資とは大きく異なる考え方が適用されています。&lt;/p&gt;
&lt;p&gt;FIRE というと 30 代でリタイアという事例が多いですが、考え方としては何歳であっても適用できるものです。&lt;/p&gt;
&lt;p&gt;学ぶのが早いほど効果が大きいものなので、是非この機会に一冊読んでみてはいかがでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;関連記事&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%A2%E9%80%A3%E8%A8%98%E4%BA%8B&quot; aria-label=&quot;関連記事 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;関連記事&lt;/h2&gt;
&lt;p&gt;米国株投資の書籍について別記事「&lt;a href=&quot;https://www.kanzennirikaisita.com/posts/us-stocks-investment-books&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;米国株投資の入門書 3 冊の紹介&lt;/a&gt;」にまとめたので、興味がある方はそちらも参照ください。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[プログラムによる祝日の判定方法まとめ【独自実装・Web API・ライブラリ】]]></title><description><![CDATA[祝日の判定方法には「元データを入手して独自に API やライブラリを実装する」、「Web API を判定のたびに叩く」、「ライブラリを使う」の 3 種類の方針があります。
この 3 つの方針について順に解説していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/holiday-judgment</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/holiday-judgment</guid><pubDate>Wed, 26 Aug 2020 03:54:28 GMT</pubDate><content:encoded>&lt;p&gt;システムで祝日の判定を使用することは、多くのエンジニアが一度は通る道ではないか思います。&lt;/p&gt;
&lt;p&gt;自分もついにその判定を実装することになったので、どのように実装するべきか、あらためて Web 上の情報をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;実装の方針&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%A3%85%E3%81%AE%E6%96%B9%E9%87%9D&quot; aria-label=&quot;実装の方針 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;実装の方針&lt;/h2&gt;
&lt;p&gt;祝日の判定方法には、大きく 3 種類の方針があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;元データを入手して独自に API やライブラリを実装する&lt;/li&gt;
&lt;li&gt;Web API を判定のたびに叩く&lt;/li&gt;
&lt;li&gt;ライブラリを使う&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下、この 3 つの方針について順に解説していきます。&lt;/p&gt;
&lt;h2 id=&quot;元データを入手して独自に-api-やライブラリを実装する&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%83%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%85%A5%E6%89%8B%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%81%AB-api-%E3%82%84%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B&quot; aria-label=&quot;元データを入手して独自に api やライブラリを実装する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;元データを入手して独自に API やライブラリを実装する&lt;/h2&gt;
&lt;p&gt;まずは何らかの方法で祝日一覧のデータを入手して、それを元に API やライブラリ (または関数など) を実装する方法についてです。&lt;/p&gt;
&lt;p&gt;祝日を判定する API やライブラリを独自実装する場合、元データをどこから入手するのかという問題があります。&lt;/p&gt;
&lt;p&gt;元データの取得元としては、大きく 2 パターンあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内閣府の「国民の祝日について」&lt;/li&gt;
&lt;li&gt;Google Calendar API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 2 つです。&lt;/p&gt;
&lt;h3 id=&quot;内閣府の「国民の祝日について」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%86%85%E9%96%A3%E5%BA%9C%E3%81%AE%E3%80%8C%E5%9B%BD%E6%B0%91%E3%81%AE%E7%A5%9D%E6%97%A5%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%8D&quot; aria-label=&quot;内閣府の「国民の祝日について」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;内閣府の「国民の祝日について」&lt;/h3&gt;
&lt;p&gt;日本における国民の祝日について、内閣府の Web サイトの「&lt;a href=&quot;https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;国民の祝日について&lt;/a&gt;」というページで解説されています。&lt;/p&gt;
&lt;p&gt;このページからは国民の祝日の一覧が CSV 形式でダウンロード可能で、プログラムなどで祝日を判定する際の元データとして利用可能です。&lt;/p&gt;
&lt;p&gt;このデータを使う場合、祝日の判定のたびに内閣府の Web サイトにアクセスするのはよろしくないため、自前で CSV データ (またはそれを変換したデータ) を管理する必要があります。&lt;/p&gt;
&lt;p&gt;内閣府の「国民の祝日について」のデータを元データとして使うメリット・デメリットは以下のようになります。&lt;/p&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内閣府が正式に出しているデータなので、データの信頼性が非常に高い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 年ごとなど、定期的に最新の CSV をダウンロードしてマスタデータを更新する必要がある (さらに言えば、URL や CSV のフォーマットが変更になる可能性があるため、マスタデータの更新作業を自動化することは難しい)&lt;/li&gt;
&lt;li&gt;CSV のフォーマットが変更になる可能性が低くないため、CSV をパースするプログラムを適宜修正する必要性が発生しうる (また、過去に不適切なフォーマットの CSV が提供されていたこともあり、プログラムから使いやすくない形式に変更される可能性もある)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.classmethod.jp/articles/how-to-determine-holidays-in-accurate-and-customizable-way/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;正確でカスタマイズ可能な日本の祝日・休日判定処理を求めて
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.softantenna.com/wp/webservice/naikakufu-shukujitsu-csv-format/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【悲報】内閣府の「国民の祝日」CSVがひどいと話題に【更新】&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mseeeen.msen.jp/acquire-official-holiday-data-from-php/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[PHP] 内閣府から提供されている祝祭日CSVデータを読み込んで休日を判断する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kazusa-pg.com/python-script-holiday/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【Python】休日または祝日を判定する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;google-calendar-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-calendar-api&quot; aria-label=&quot;google calendar api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Google Calendar API&lt;/h3&gt;
&lt;p&gt;続いて、&lt;a href=&quot;https://developers.google.com/calendar&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Calendar API&lt;/a&gt; を使って祝日のデータを取得する方法です。&lt;/p&gt;
&lt;p&gt;Google Calendar API は Google が提供する API の 1 つで、ここから日本の祝日を取得することができます。&lt;/p&gt;
&lt;p&gt;利用するには API にアクセスするためのトークンを払い出し、リクエスト時に送信する必要があります。&lt;/p&gt;
&lt;p&gt;Google Calendar API を元データとして使うメリット・デメリットは以下のようになります。&lt;/p&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内閣府の「国民の祝日について」と異なり、定期的に最新のデータをダウンロードする必要がない&lt;/li&gt;
&lt;li&gt;内閣府の「国民の祝日について」よりはデータ形式やインタフェースが変更になる頻度が低いと想定される&lt;/li&gt;
&lt;li&gt;もしデータ形式やインタフェースが変更になる際は、メールなどで通知されることが期待できる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;実務においては、API キーを払い出す際のプロジェクト管理について考慮する必要が出る&lt;/li&gt;
&lt;li&gt;API キーを何らかの方法で管理する必要がある&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.tama-tama.net/2020/03/25/%E6%97%A5%E6%9C%AC%E3%81%AE%E7%A5%9D%E6%97%A5%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本の祝日を取得する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.unionnet.jp/blog/google%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC-api%E3%81%8B%E3%82%89%E7%A5%9D%E6%97%A5%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Googleカレンダー APIから祝日を取得する方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.asobou.co.jp/blog/web/googlecalender2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GoogleCalendarAPIを利用して、PHPでGoogleカレンダーの情報を取得してみよう！（祝日編）
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;web-api-を判定のたびに叩く&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-api-%E3%82%92%E5%88%A4%E5%AE%9A%E3%81%AE%E3%81%9F%E3%81%B3%E3%81%AB%E5%8F%A9%E3%81%8F&quot; aria-label=&quot;web api を判定のたびに叩く permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web API を判定のたびに叩く&lt;/h2&gt;
&lt;p&gt;次に、祝日の判定に Web API を判定のたびに叩く方法です。&lt;/p&gt;
&lt;p&gt;祝日の判定が必要になるたびに API を叩く方針にすることで、元データをどこかに保存する手間を省いたり、判定ロジックの実装を不要化または簡易化することが可能になります。&lt;/p&gt;
&lt;p&gt;一方、判定のたびに API を叩く場合、レートリミットやサービスレベルに注意する必要があります。
また、独自実装やライブラリの使用と異なり、インターネットを経由した通信が発生するため、レイテンシを許容する必要も出てきます。&lt;/p&gt;
&lt;p&gt;ざっと調べた範囲では、祝日の判定に使える Web API として&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Calendar API&lt;/li&gt;
&lt;li&gt;Holidays JP API&lt;/li&gt;
&lt;li&gt;祝日判定web API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の 3 つが見つかりました。&lt;/p&gt;
&lt;h3 id=&quot;google-calendar-api-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-calendar-api-1&quot; aria-label=&quot;google calendar api 1 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Google Calendar API&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.google.com/calendar&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Calendar API&lt;/a&gt; は、上に書いたように元データの取得元として使うのではなく、祝日の判定が必要になるたびに叩くことも可能です。&lt;/p&gt;
&lt;p&gt;他の API と比べたメリット・デメリットは以下のようになります。&lt;/p&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;レートリミットについて「&lt;a href=&quot;https://developers.google.com/calendar/pricing&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Calendar API Usage Limits&lt;/a&gt;」のページに公式に書かれている&lt;/li&gt;
&lt;li&gt;SLA に関する記述は見つからないものの、Google が提供しているためある程度のサービスレベルが期待できる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;実務においては、API キーを払い出す際のプロジェクト管理について考慮する必要が出る&lt;/li&gt;
&lt;li&gt;API キーを何らかの方法で管理する必要がある&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちなみに、Google Calendar API は GAS からだと非常に簡単に使えます。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://moripro.net/gas-check-holiday/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【GAS】土日・祝日・特定休日を判定する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;holidays-jp-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#holidays-jp-api&quot; aria-label=&quot;holidays jp api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Holidays JP API&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://holidays-jp.github.io/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Holidays JP API&lt;/a&gt; は、Google Calendar API を元データとして提供されている API です。&lt;/p&gt;
&lt;p&gt;Google Calendar API のデータを祝日の判定に使いやすい形式に変換したものと考えてください。&lt;/p&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Calendar API よりシンプルに使える&lt;/li&gt;
&lt;li&gt;API キーを管理する必要がない&lt;/li&gt;
&lt;li&gt;ソースコードが公開されているため、バグがないかなどをチェックできる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;個人が開発した API のため、Google Calendar API と比べると信頼性は劣る&lt;/li&gt;
&lt;li&gt;ホスティングされている GitHub Pages の障害が少なくない (&lt;a href=&quot;https://www.githubstatus.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitHub のステータスページ&lt;/a&gt; を参照のこと)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://matsuoshi.hatenablog.com/entry/2018/11/14/000000&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本の祝日一覧を返す API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;祝日判定web-api&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%A5%9D%E6%97%A5%E5%88%A4%E5%AE%9Aweb-api&quot; aria-label=&quot;祝日判定web api permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;祝日判定web API&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://s-proj.com/utils/holiday.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;祝日判定web API&lt;/a&gt; は、内閣府の Web データを元に提供されている API で、&lt;a href=&quot;https://www.apibank.jp/ApiBank/api/detail?api_no=599&amp;#x26;api_type=I&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;APIbank&lt;/a&gt; にも登録されています。&lt;/p&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Calendar API よりシンプルに使える&lt;/li&gt;
&lt;li&gt;API キーを管理する必要がない&lt;/li&gt;
&lt;li&gt;国民の祝日だけでなく、官公庁や株式市場の休みにも対応している&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSL 証明書の有効期限が切れており、HTTPS ではなく HTTP での通信が前提となっている&lt;/li&gt;
&lt;li&gt;どの程度のアクセスに耐えうるのか不明&lt;/li&gt;
&lt;li&gt;データの誤りやサービスの継続性について免責されており、サービスレベルを期待しにくい&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ライブラリを使う&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E4%BD%BF%E3%81%86&quot; aria-label=&quot;ライブラリを使う permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ライブラリを使う&lt;/h2&gt;
&lt;p&gt;最後に、各プログラミング言語のライブラリを使う方法です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JavaScript … &lt;a href=&quot;https://github.com/commenthol/date-holidays&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;date-holidays&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruby … &lt;a href=&quot;http://masa16.github.io/holiday_japan/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;日本の祝日判定Rubyプログラム&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;など、各種プログラミング言語で祝日判定用のライブラリが存在するようです。&lt;/p&gt;
&lt;p&gt;こういったライブラリを使えば、元データを独自に加工するプログラムを書く必要もありませんし、Web API を使う場合のようにレートリミットやサービスレベル、レイテンシなどを気にする必要もありません。&lt;/p&gt;
&lt;p&gt;ただし、祝日データを更新するため、定期的にライブラリをバージョンアップするなどの対応が必要になります。
ライブラリのバージョンアップが必要な日が迫ったらアラートが上がるようにしておくといいかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;以上を踏まえて、祝日の判定についてどの方法を採用すべきか、自分の考えをまとめます。&lt;/p&gt;
&lt;h3 id=&quot;使用している言語に信頼できる祝日判定ライブラリがある場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%80%E8%AA%9E%E3%81%AB%E4%BF%A1%E9%A0%BC%E3%81%A7%E3%81%8D%E3%82%8B%E7%A5%9D%E6%97%A5%E5%88%A4%E5%AE%9A%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88&quot; aria-label=&quot;使用している言語に信頼できる祝日判定ライブラリがある場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;使用している言語に信頼できる祝日判定ライブラリがある場合&lt;/h3&gt;
&lt;p&gt;まず、使用している言語に信頼できる祝日判定ライブラリがある場合、ライブラリの利用を第一に考えるべきでしょう。&lt;/p&gt;
&lt;p&gt;他の方法と比べて実装コストがはるかに低いうえ、Web API を使う場合のようにレートリミットやサービスレベル、レイテンシなどを気にする必要もありません。&lt;/p&gt;
&lt;p&gt;ただし、ライブラリを使う場合はバージョンアップが必要な日が迫ったらアラートが上がるような仕組みを入れておくと良さそうです。&lt;/p&gt;
&lt;h3 id=&quot;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシが気にならない場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%9A%E3%80%81%E3%83%AC%E3%83%BC%E3%83%88%E3%83%AA%E3%83%9F%E3%83%83%E3%83%88%E3%82%84%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%AC%E3%83%99%E3%83%AB%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%8C%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88&quot; aria-label=&quot;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシが気にならない場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシが気にならない場合&lt;/h3&gt;
&lt;p&gt;良さそうなライブラリが見つからなかった場合、独自実装か Web API のどちらかを選ぶことになります。&lt;/p&gt;
&lt;p&gt;個人開発など、祝日の判定の頻度が低く、レートリミットやサービスレベル、レイテンシも気にならないといった場合は、Web API を必要なタイミングで叩く方法でいいのではないかと思います。&lt;/p&gt;
&lt;p&gt;どの API を使うかという観点では、Google Calendar API が信頼度が高いですが、より簡易的に済ませたい場合は Holidays JP API でもいいと思います。&lt;/p&gt;
&lt;h3 id=&quot;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシについて気にかけたい場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%9A%E3%80%81%E3%83%AC%E3%83%BC%E3%83%88%E3%83%AA%E3%83%9F%E3%83%83%E3%83%88%E3%82%84%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%AC%E3%83%99%E3%83%AB%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%B0%97%E3%81%AB%E3%81%8B%E3%81%91%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88&quot; aria-label=&quot;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシについて気にかけたい場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ライブラリが見つからず、レートリミットやサービスレベル、レイテンシについて気にかけたい場合&lt;/h3&gt;
&lt;p&gt;レートリミットやサービスレベル、レイテンシについて気にかけたい場合は、内閣府の「国民の祝日について」か Google Calendar API を元データとして独自実装することになります。&lt;/p&gt;
&lt;p&gt;実務上は、API を適宜叩くよりも、この選択をとることが多くなると思います。&lt;/p&gt;
&lt;p&gt;Google Calendar API を使う際の API キーの管理の手間も考えると、内閣府の「国民の祝日について」のデータの方が気軽に使えます。&lt;/p&gt;
&lt;p&gt;祝日のマスタデータを登録する仕組みだけシステムに用意しておいて、年に一度程度マスタデータを更新する方針でも十分でしょう。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Cookie の Domain 属性と SameSite 属性の違い]]></title><description><![CDATA[Cookie の安全な設定について調べていると登場する SameSite 属性は、Google Chrome の仕様変更の話もあり、耳にしたことがある方も少なくないと思います。
Cookie には SameSite 属性と間違えやすい設定として Domain 属性もあり、片方だけ設定すればいいのか、どう使い分けるものなのかが一見分かりにくいのではないでしょうか。
]]></description><link>https://www.kanzennirikaisita.com/posts/cookie-domain-same-site-difference</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/cookie-domain-same-site-difference</guid><pubDate>Wed, 29 Jul 2020 03:39:39 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Cookie の安全な設定について調べていると登場する SameSite 属性は、Google Chrome の仕様変更の話もあり、耳にしたことがある方も少なくないと思います。&lt;/p&gt;
&lt;p&gt;Cookie には SameSite 属性と間違えやすい設定として Domain 属性もあり、片方だけ設定すればいいのか、どう使い分けるものなのかが一見分かりにくいのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;結論としては、&lt;strong&gt;Cookie の Domain 属性は送信「先」の制限、SameSite は送信「元」の制限&lt;/strong&gt;という違いです。&lt;/p&gt;
&lt;p&gt;Domain 属性は Cookie を送る先を設定するもので、誤って設定すると第三者のサイトに Cookie を送信することになり、セッションハイジャックが発生する可能性があります。&lt;/p&gt;
&lt;p&gt;SameSite 属性は Cookie を送信するもとになるサイトを指定する属性で、CSRF 攻撃に対するいくらかの防御を提供します。&lt;/p&gt;
&lt;p&gt;設定内容も目的も全く異なるものなので、&lt;strong&gt;どちらか片方を設定すればいいというものではなく、両方の設定について考える必要があります&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;解説&lt;/h2&gt;
&lt;h3 id=&quot;domain-属性&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#domain-%E5%B1%9E%E6%80%A7&quot; aria-label=&quot;domain 属性 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Domain 属性&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://tools.ietf.org/html/rfc6265#section-4.1.2.3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;RFC 6265, セクション 4.1.2.3: The Domain Attribute&lt;/a&gt; によると&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Domain attribute specifies those hosts to which the cookie will be sent.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことで、つまり、&lt;strong&gt;Domain 属性はどのドメインへのアクセスでこの Cookie を送信するかという設定&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;1 つのドメインからだけ成り立つサービスであれば意識することはありませんが、&lt;strong&gt;複数のドメイン (サブドメイン) から成り立つサービスでセッションを共有する際などに使われます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;例えば、「&lt;a href=&quot;https://qiita.com/il-m-yamagishi/items/9aad5737c80d5bfd5eb8&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サブドメインの異なるサービス間で cookie を共有する&lt;/a&gt;」という記事では&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;https://www.nicovideo.jp  // ニコニコ動画
https://live.nicovideo.jp // ニコニコ生放送
https://ch.nicovideo.jp   // ニコニコチャンネル&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;という例が挙げられています。&lt;/p&gt;
&lt;p&gt;なお、Domain 属性は、指定しなければ Cookie を発行したドメインのみ許可され、指定するとサブドメインまで許可されるため、指定しないのが一番安全です。
このことは「&lt;a href=&quot;https://blog.tokumaru.org/2011/10/cookiedomain.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CookieのDomain属性は &lt;em&gt;指定しない&lt;/em&gt; が一番安全&lt;/a&gt;」という記事で解説されています。&lt;/p&gt;
&lt;h3 id=&quot;samesite-属性&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#samesite-%E5%B1%9E%E6%80%A7&quot; aria-label=&quot;samesite 属性 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Samesite 属性&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://tools.ietf.org/html/draft-west-first-party-cookies-07&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;draft-west-first-party-cookies-07 - Same-site Cookies&lt;/a&gt; によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This document updates RFC6265 by defining a “SameSite” attribute
which allows servers to assert that a cookie ought not to be sent
along with cross-site requests.  This assertion allows user agents to
mitigate the risk of cross-origin information leakage, and provides
some protection against cross-site request forgery attacks.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことで、つまり、&lt;strong&gt;SameSite 属性は異なるドメインへの Cookie の送信を防ぎ、CSRF 攻撃へのある程度の防御を提供する&lt;/strong&gt;ものです。&lt;/p&gt;
&lt;p&gt;CSRF 攻撃は、第三者のサイトから自分たちのサービスに不正にアクセスされるというものです。
&lt;strong&gt;SameSite を適切に設定すると、Cookie を取得したドメインからのリクエストでしか Cookie が送信されないようになるため、CSRF 攻撃への防御としてはたらく&lt;/strong&gt;ということです。
具体的な設定の解説は検索するとたくさん出てくるので、他の記事などを参照ください。&lt;/p&gt;
&lt;p&gt;SameSite 属性については、「&lt;a href=&quot;https://qiita.com/ahera/items/0c8276da6b0bed2b580c&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Chrome 80が密かに呼び寄せる地獄 ～ SameSite属性のデフォルト変更を調べてみた&lt;/a&gt;」という記事に書かれているように、Google Chrome がデフォルトの挙動を変更することで影響を受けるサイトが少なくないことが話題になっていました。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;h3 id=&quot;web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web&quot; aria-label=&quot;web permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web&lt;/h3&gt;
&lt;p&gt;Stack Overflow に Domain 属性と SameSite 属性の違いに関する質問・回答があったので、回答をこちらに引用しておきます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Domain attribute restricts the hosts that the cookie will be sent to. The SameSite attribute restricts the origins from which the cookie may be sent.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/57090774/what-are-the-security-differences-between-cookies-with-domain-vs-samesite-strict&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;What are the security differences between cookies with Domain vs SameSite strict?&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h3&gt;
&lt;p&gt;Cookie の Domain 属性と SameSite 属性について、それぞれ解説している書籍として『&lt;a href=&quot;https://amzn.to/3dfTxMC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術&lt;/a&gt;』があります。Cookie だけでなく、HTTP について一歩深く学ぶのに非常に良い書籍です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4873119030/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=ad78f4cd24a7df150c35d6f2501606b3&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4873119030&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4873119030&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[GCP 関連のオススメ書籍 6 選]]></title><description><![CDATA[最近は GCP の利用例をよく聞くようになり、個人的にも採用する機会が増えました。
この記事では、GCP 関連のオススメ書籍 6 冊を紹介していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/gcp-books</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/gcp-books</guid><pubDate>Tue, 28 Jul 2020 16:54:10 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;最近は GCP の利用例をよく聞くようになり、個人的にも採用する機会が増えました。&lt;/p&gt;
&lt;p&gt;この記事では、GCP 関連のオススメ書籍 6 冊を以下の分類で紹介していきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GCP の概要&lt;/li&gt;
&lt;li&gt;GCP におけるデータ分析&lt;/li&gt;
&lt;li&gt;その他 (コンテナ・Firestore)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;gcp-の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gcp-%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;gcp の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GCP の概要&lt;/h2&gt;
&lt;h3 id=&quot;gcpの教科書&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gcp%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8&quot; aria-label=&quot;gcpの教科書 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/3pAQhS7&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GCPの教科書&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07S1LG1Y1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=09029ed2ade62a4e71796e9d2c224987&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07S1LG1Y1&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07S1LG1Y1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;2020 年 7 月現在、GCP の概要を掴むための最も初心者向けと思われる書籍が『GCPの教科書』です。&lt;/p&gt;
&lt;p&gt;GCP の概要から入り、GCE や Cloud SQL といった基本サービスの使い方が画面キャプチャとともに丁寧に説明されています。&lt;/p&gt;
&lt;p&gt;GKE などの高度なサービスについても多くが簡単に紹介されているので、GCP のサービスの概要を掴むのにちょうどいいです。&lt;/p&gt;
&lt;h3 id=&quot;google-cloud-platform-エンタープライズ設計ガイド&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud-platform-%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA%E8%A8%AD%E8%A8%88%E3%82%AC%E3%82%A4%E3%83%89&quot; aria-label=&quot;google cloud platform エンタープライズ設計ガイド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2TTx7LL&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloud Platform エンタープライズ設計ガイド&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07C85YMCW/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=16a59ab1f7edbd4d9c637b9ee80dcd75&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07C85YMCW&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07C85YMCW&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;こちらも GCP の概要を掴むのに適した書籍です。『GCPの教科書』とは異なり、各サービスの試し方というよりも、どのような設定が可能で、どのような設計パターンがあるのかがまとめられています。&lt;/p&gt;
&lt;p&gt;AWS などのパブリッククラウドを全くさわったことがない方が 1 冊目として読むには難しいと思われます。&lt;/p&gt;
&lt;p&gt;AWS や Azure を使った経験があるなど、クラウドインフラの知識を持っている人であれば、ある程度すらすら内容を理解することができそうです。&lt;/p&gt;
&lt;h2 id=&quot;gcp-におけるデータ分析&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gcp-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90&quot; aria-label=&quot;gcp におけるデータ分析 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GCP におけるデータ分析&lt;/h2&gt;
&lt;h3 id=&quot;google-cloud-platformではじめる機械学習と深層学習&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud-platform%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%A8%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92&quot; aria-label=&quot;google cloud platformではじめる機械学習と深層学習 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2SjiMrd&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Google Cloud Platformではじめる機械学習と深層学習&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07F6YR7XT/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=7f3abc706219baefc4a6f2776b37663d&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07F6YR7XT&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B07F6YR7XT&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★&lt;/p&gt;
&lt;p&gt;機械学習の概要や scikit-learn、Tensorflow、Keras のサンプルコードから入り、GCP における機械学習システムの構築方法について解説されています。&lt;/p&gt;
&lt;p&gt;Dataflow、BigQuery、ML Engine などのサービスの概要から具体的な使い方まで書かれています。&lt;/p&gt;
&lt;p&gt;前処理からフロー制御して学習済みモデルを保存するまでの流れでどのサービスを使うかなどもまとまっており、最近しばしば耳にする “MLOps” について学び始める最初の一歩として非常にオススメです。&lt;/p&gt;
&lt;h3 id=&quot;googlecloudplatform-実践-機械学習基礎開発machinelearningデータ分析&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#googlecloudplatform-%E5%AE%9F%E8%B7%B5-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%9F%BA%E7%A4%8E%E9%96%8B%E7%99%BAmachinelearning%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90&quot; aria-label=&quot;googlecloudplatform 実践 機械学習基礎開発machinelearningデータ分析 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2X5g2Nt&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GoogleCloudPlatform 実践 機械学習基礎開発MachineLearning/データ分析&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4798059579/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=991bee50919f390d262b564827eb38ca&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4798059579&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=4798059579&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;こちらは 2020 年 2 月の書籍のため、GCP におけるデータ分析についてかなり新しい情報を得ることができます。&lt;/p&gt;
&lt;p&gt;AutoML や BigQueryML といったサービスでどこまで簡単に機械学習ができるのか、非常にわかりやすく書かれています。&lt;/p&gt;
&lt;p&gt;Preemptible VM の活用や Dataflow で使うことになる Apache Beam などの解説もあり、GCP やデータ分析について多少知識がある方がもう一歩掘り下げて学ぶのに適した本になっています。&lt;/p&gt;
&lt;p&gt;また、最後には「プロダクションのための機械学習」という章があり、“MLOps” という単語が書かれている数少ない書籍になります。&lt;/p&gt;
&lt;h2 id=&quot;その他-コンテナ・firestore&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%9D%E3%81%AE%E4%BB%96-%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BBfirestore&quot; aria-label=&quot;その他 コンテナ・firestore permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;その他 (コンテナ・Firestore)&lt;/h2&gt;
&lt;h3 id=&quot;gcpの教科書ii-【コンテナ開発編】-kubernetesとgke、cloud-run、サービスメッシュを詳解&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gcp%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8ii-%E3%80%90%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E9%96%8B%E7%99%BA%E7%B7%A8%E3%80%91-kubernetes%E3%81%A8gke%E3%80%81cloud-run%E3%80%81%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A5%E3%82%92%E8%A9%B3%E8%A7%A3&quot; aria-label=&quot;gcpの教科書ii 【コンテナ開発編】 kubernetesとgke、cloud run、サービスメッシュを詳解 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/34YBgQQ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GCPの教科書II 【コンテナ開発編】 KubernetesとGKE、Cloud Run、サービスメッシュを詳解&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B088LZGPM5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=418ae978be1160fcd1647926b0571221&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B088LZGPM5&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B088LZGPM5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;GCP におけるコンテナ関連サービスについてまとめた書籍で、GCR、Cloud Build、Kubernetes、GKE、Cloud Run、Istio について解説されています。&lt;/p&gt;
&lt;p&gt;2020 年 7 月現在、Cloud Run や Istio について書かれている日本語の書籍は (Amazon で検索した限りでは) 他にありません。&lt;/p&gt;
&lt;p&gt;Docker や Kubernetes の解説は専門の書籍と比べると簡易的なので、それらは別途勉強したうえで、GCP におけるコンテナ活用について学ぶ際に活用するとよさそうです。&lt;/p&gt;
&lt;h3 id=&quot;実践firestore&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AE%9F%E8%B7%B5firestore&quot; aria-label=&quot;実践firestore permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;a href=&quot;https://amzn.to/2EkoLES&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践Firestore&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0851BGDQG/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=b9ff4cfea34e3f06464ffccc56237f8f&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B0851BGDQG&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=B0851BGDQG&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;難易度: ★★&lt;/p&gt;
&lt;p&gt;GCP というより Firebase のサービスとして認知されている場合が多いと思いますが、関連書籍として紹介させていただきます。&lt;/p&gt;
&lt;p&gt;“実践” というだけあり、Firestore の基本概念にとどまらず、オフライン時の挙動、セキュリティルール、データモデリングなど、Firestore を実務で使ううえで必要になる知識が非常に幅広く書かれています。&lt;/p&gt;
&lt;p&gt;セキュリティルールやデータモデリングについては、BaaS や NoSQL をあまり使ったことがない方には非常に勉強になる内容になっています。&lt;/p&gt;
&lt;p&gt;また、Firestore が Backend for Frontend のような特性を持つことや、CQRS といった高度な設計例についても書かれており、今後 GCP や Firebase を使ったシステムを開発する際の根本的な設計方針を考えるうえでも非常に参考になる書籍でした。&lt;/p&gt;
&lt;p&gt;Firestore を使うという方は是非一度読んでみることをオススメします。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Web Components の概要と、React や Vue.js との違い、iframe との違い]]></title><description><![CDATA[最近 Web Components という言葉を耳にする機会が増えました。
この記事には、Web Components の概要と、React や Vue.js などのコンポーネント指向のフレームワークとの違い、iframe との違いを簡単にまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/web-components-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/web-components-concepts</guid><pubDate>Sun, 19 Jul 2020 02:33:22 GMT</pubDate><content:encoded>&lt;p&gt;最近 Web Components という言葉を耳にする機会が増えました。&lt;/p&gt;
&lt;p&gt;この記事には、Web Components の概要と、React や Vue.js などのコンポーネント指向のフレームワークとの違い、iframe との違いを簡単にまとめました。&lt;/p&gt;
&lt;h2 id=&quot;web-components-の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-components-%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;web components の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web Components の概要&lt;/h2&gt;
&lt;h3 id=&quot;コンポーネント指向とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E6%8C%87%E5%90%91%E3%81%A8%E3%81%AF&quot; aria-label=&quot;コンポーネント指向とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;コンポーネント指向とは&lt;/h3&gt;
&lt;p&gt;まず前提となるコンポーネント指向について簡単に説明します。&lt;/p&gt;
&lt;p&gt;最近の Web フロントエンド開発では、React や Vue.js といったコンポーネント指向のフレームワークが使われる場合が多いです。&lt;/p&gt;
&lt;p&gt;コンポーネント指向のフレームワークでは、&lt;code class=&quot;language-text&quot;&gt;&amp;lt;my-button&amp;gt;&lt;/code&gt; といった独自の HTML タグを作成します。&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;&amp;lt;my-button&amp;gt;&lt;/code&gt; などのコンポーネントは、構造・見た目・挙動 (HTML・CSS・JavaScript) を持っており、各所でコンポーネントを再利用することで、HTML・CSS・JavaScript を一箇所で定義することを可能にします。&lt;/p&gt;
&lt;p&gt;また、通常の HTML タグと同様、&lt;code class=&quot;language-text&quot;&gt;&amp;lt;my-button onclick=&amp;quot;xxx&amp;quot;&amp;gt;&lt;/code&gt; のようにして、外部から与えた属性で挙動などを変えられるようにすることも多いです。&lt;/p&gt;
&lt;p&gt;コンポーネント指向により、画面を構成する要素を部品化するアトミック・デザインを実装に落とし込むことも可能になります。&lt;/p&gt;
&lt;h3 id=&quot;web-components-とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-components-%E3%81%A8%E3%81%AF&quot; aria-label=&quot;web components とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web Components とは&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/ja/docs/Web/Web_Components&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web Components | MDN&lt;/a&gt; によると、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Web Components は、再利用可能なカスタム要素を作成し、ウェブアプリの中で利用するための、一連のテクノロジーです。コードの他の部分から独立した、カプセル化された機能を使って実現します。 &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;とのことです。&lt;/p&gt;
&lt;p&gt;ざっくり言うと、&lt;code class=&quot;language-text&quot;&gt;&amp;lt;my-button&amp;gt;&lt;/code&gt; のようなコンポーネントの定義をフレームワークに依存せずに可能にするのが「Web Components」です。&lt;/p&gt;
&lt;p&gt;この記事ではコンポーネントの具体的な作り方についてはふれませんが、Web Components でコンポーネントを作成する方法は、React などでコンポーネントを作るのとかなり近いです。&lt;/p&gt;
&lt;p&gt;機能としても React や Vue.js でコンポーネントを作成するときと似たものが提供されています。
例えば HTML 属性 (props) の定義であったり、テンプレートの記述方法、slot (children) によって外部から子要素を与える方法などが定められています。&lt;/p&gt;
&lt;p&gt;要するに、React や Vue.js などのフレームワークがそれぞれ独自にしていたコンポーネント定義方法を標準化した技術が「Web Components」です。&lt;/p&gt;
&lt;p&gt;ちなみに、Web Components のコンポーネントは、&lt;a href=&quot;https://www.webcomponents.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;webcomponents.org&lt;/a&gt; で公開されていたりします。&lt;/p&gt;
&lt;h2 id=&quot;web-components-と-react-や-vuejs-の違い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web-components-%E3%81%A8-react-%E3%82%84-vuejs-%E3%81%AE%E9%81%95%E3%81%84&quot; aria-label=&quot;web components と react や vuejs の違い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web Components と React や Vue.js の違い&lt;/h2&gt;
&lt;p&gt;上記のようにコンポーネントの定義方法を標準化した技術が Web Components なのですが、逆に言えば、Web Components はコンポーネント化の技術でしかなく、React や Vue.js が持つ機能の全てを持っている訳ではありません。&lt;/p&gt;
&lt;p&gt;例えば、データバインディングであったり、Redux や Vuex による状態管理などは提供されていません。&lt;/p&gt;
&lt;p&gt;Web Components では、データバインディングは Polymer などのライブラリで実現したり、状態管理には Redux を使ったりすることになります。&lt;/p&gt;
&lt;h2 id=&quot;iframe-との違い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#iframe-%E3%81%A8%E3%81%AE%E9%81%95%E3%81%84&quot; aria-label=&quot;iframe との違い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;iframe との違い&lt;/h2&gt;
&lt;p&gt;最後に、iframe との違いを説明します。
Web Components について調べるまで、私は iframe との違いは何だろうと思っていました。&lt;/p&gt;
&lt;p&gt;Web Components と iframe の違いを調べると、「iframe は要素外から要素内に干渉できないが、Web Components はできる」などの説明がされる場合があります。&lt;/p&gt;
&lt;p&gt;これは挙動の違いとして間違ってはいないのですが、そもそも Web Components と iframe はどちらか選ぶといったものではありません。
根本的に使い道が違うのです。&lt;/p&gt;
&lt;p&gt;Web Component はボタンなどの要素をコンポーネント化するための技術です。
一方で、iframe は他の Web ページを自分のページ内に組み込む技術です。&lt;/p&gt;
&lt;p&gt;ですので、Web Components と iframe でどちらが優れているといった話ではなく、用途によって使い分けることになります。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2BhdunF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;やさしく学べるWeb Components (技術の泉シリーズ（NextPublishing）)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apps-gcp.com/start-webcomponents-with-polymer/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web ComponentsはじめるならPolymerで&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tech.speee.jp/entry/2016/08/05/154253&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;サイト埋め込みコンテンツをWebComponentsで作る&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://liginc.co.jp/web/html-css/html/58267&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web開発者に革命をもたらす！「Web Components」超入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/japboy/items/ca8f2a73a2089f2e026d&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Web Components FTW&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[anyenv vs asdf vs Docker で asdf を使う理由]]></title><description><![CDATA[複数のプログラミング言語の複数バージョンを管理するツールとして、anyenv や asdf が存在します。
この 2 つのツールを比較し、自分は今後 anyenv ではなく asdf を採用することに決めたので、その理由を解説します。
また、開発環境として一般的になってきている Docker を使う場合とも比較します。]]></description><link>https://www.kanzennirikaisita.com/posts/anyenv-asdf-docker</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/anyenv-asdf-docker</guid><pubDate>Fri, 17 Jul 2020 22:50:33 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;プログラミング言語の複数バージョンを管理するツールとして nodenv や rbenv などが有名です。
さらに、複数のプログラミング言語の複数バージョンを管理するツールとして、anyenv や asdf が存在します。&lt;/p&gt;
&lt;p&gt;この 2 つのツールを比較し、自分は今後 anyenv ではなく asdf を採用することに決めたので、その理由を解説します。
また、開発環境として一般的になってきている Docker を使う場合とも比較します。&lt;/p&gt;
&lt;h2 id=&quot;anyenv-より-asdf-をオススメする理由&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#anyenv-%E3%82%88%E3%82%8A-asdf-%E3%82%92%E3%82%AA%E3%82%B9%E3%82%B9%E3%83%A1%E3%81%99%E3%82%8B%E7%90%86%E7%94%B1&quot; aria-label=&quot;anyenv より asdf をオススメする理由 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;anyenv より asdf をオススメする理由&lt;/h2&gt;
&lt;p&gt;まず anyenv より asdf をオススメする理由は以下のようになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;anyenv と異なり、1 つ使い方を覚えれば良い&lt;/li&gt;
&lt;li&gt;CLI ツールを含む多数のプラグインがある&lt;/li&gt;
&lt;li&gt;○○env の設定ファイル (.ruby-version や .node-version) と互換性がある&lt;/li&gt;
&lt;li&gt;anyenv がメンテナンスされていない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;anyenv-と異なり、1-つ使い方を覚えれば良い&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#anyenv-%E3%81%A8%E7%95%B0%E3%81%AA%E3%82%8A%E3%80%811-%E3%81%A4%E4%BD%BF%E3%81%84%E6%96%B9%E3%82%92%E8%A6%9A%E3%81%88%E3%82%8C%E3%81%B0%E8%89%AF%E3%81%84&quot; aria-label=&quot;anyenv と異なり、1 つ使い方を覚えれば良い permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;anyenv と異なり、1 つ使い方を覚えれば良い&lt;/h3&gt;
&lt;p&gt;anyenv は nodenv や rbenv などの ○○env を管理するツールなので、nodenv や rbenv などの使い方もそれぞれ知る必要があります。
それぞれかなり似た使い方ではあるものの、1 つに統一されている方が嬉しいです。&lt;/p&gt;
&lt;h3 id=&quot;cli-ツールを含む多数のプラグインがある&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cli-%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E5%A4%9A%E6%95%B0%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%82%8B&quot; aria-label=&quot;cli ツールを含む多数のプラグインがある permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CLI ツールを含む多数のプラグインがある&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://asdf-vm.com/#/plugins-all&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;All Plugins&lt;/a&gt; のページに書かれているように、asdf には非常にたくさんのプラグインがあります。
特に kubectl や terraform のようにバージョンの違いでそこそこ変更がある CLI ツールを使っている場合は重宝します。&lt;/p&gt;
&lt;h3 id=&quot;○○env-の設定ファイル-node-version-や-ruby-version-と互換性がある&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E2%97%8B%E2%97%8Benv-%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB-node-version-%E3%82%84-ruby-version-%E3%81%A8%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B&quot; aria-label=&quot;○○env の設定ファイル node version や ruby version と互換性がある permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;○○env の設定ファイル (.node-version や .ruby-version) と互換性がある&lt;/h3&gt;
&lt;p&gt;~/.asdfrc の設定により、.node-version や .ruby-version に記述されたバージョンを使うことが可能です。
なので、すでに nodenv や rbenv などで管理されている場合でも asdf に切り替えるのは簡単です。&lt;/p&gt;
&lt;h3 id=&quot;anyenv-がメンテナンスされていない&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#anyenv-%E3%81%8C%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84&quot; aria-label=&quot;anyenv がメンテナンスされていない permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;anyenv がメンテナンスされていない&lt;/h3&gt;
&lt;p&gt;anyenv は 1 年以上メンテナンスされておらず、プルリクエストもオープンのまま放置されたりしています。
対して、asdf は現在高頻度でメンテナンスされています。&lt;/p&gt;
&lt;h2 id=&quot;docker-による開発構築との比較&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-%E3%81%AB%E3%82%88%E3%82%8B%E9%96%8B%E7%99%BA%E6%A7%8B%E7%AF%89%E3%81%A8%E3%81%AE%E6%AF%94%E8%BC%83&quot; aria-label=&quot;docker による開発構築との比較 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Docker による開発構築との比較&lt;/h2&gt;
&lt;p&gt;最近では Docker (Docker Compose) を使って開発環境を用意することも多いです。&lt;/p&gt;
&lt;p&gt;Docker を使った開発環境を、asdf などをホストマシンで直接使った開発環境と比較すると、メリット・デメリットはおおよそ以下のようになると思います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Docker を使った開発環境のメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;docker-compose up&lt;/code&gt; だけで環境構築が完了するなど、環境構築で実行すべきコマンドが少ないため、チームに参加後すぐに開発を開始できる&lt;/li&gt;
&lt;li&gt;環境の差異がほとんどなくなるため、再現性が非常に高い&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Docker を使った開発環境のデメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker の知識がないと困る場面が少なくない&lt;/li&gt;
&lt;li&gt;ちょっとしたことをしたいだけでもコンテナ上でコマンドを打つことになって面倒&lt;/li&gt;
&lt;li&gt;Docker for Mac のパフォーマンスが非常に悪い&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;再現性の高さは asdf や○○env でも十分な気もしますので、Docker を使う実質的なメリットは、初期構築コストの低さぐらいではないかと思います。&lt;/p&gt;
&lt;p&gt;そんなこともあり、個人的な使い分けとしては、開発する言語のランタイムは asdf で用意して、ローカルの DB などは Docker で用意することが多いです。
ローカルの DB の用意はホストに直接インストールするよりも Docker を使う方がほぼ確実に楽なので、そこは Docker を使いましょう。&lt;/p&gt;
&lt;h2 id=&quot;asdf-導入時にエラーが発生したら&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#asdf-%E5%B0%8E%E5%85%A5%E6%99%82%E3%81%AB%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E3%82%89&quot; aria-label=&quot;asdf 導入時にエラーが発生したら permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;asdf 導入時にエラーが発生したら&lt;/h2&gt;
&lt;p&gt;最後に、asdf を導入しようとして遭遇したエラーについて書いておきます。&lt;/p&gt;
&lt;p&gt;私が asdf を試そうとした際、Node.js や Ruby などをインストールしようとして、システムの依存関係が不足していることによるエラーに遭遇しました。&lt;/p&gt;
&lt;p&gt;こういったエラーの対処方法は、そのプラグインの README をちゃんと読むことです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/asdf-vm/asdf-nodejs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;asdf-nodejs&lt;/a&gt; であれば&lt;/p&gt;
&lt;blockquote&gt;
&lt;h2 id=&quot;requirements&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#requirements&quot; aria-label=&quot;requirements permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Requirements&lt;/h2&gt;
&lt;h3 id=&quot;macos&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#macos&quot; aria-label=&quot;macos permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;MacOS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gnu.org/software/coreutils/coreutils.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GNU Core Utils&lt;/a&gt; - &lt;code class=&quot;language-text&quot;&gt;brew install coreutils&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gnupg.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GnuPG&lt;/a&gt; - &lt;code class=&quot;language-text&quot;&gt;brew install gpg&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/asdf-vm/asdf-ruby&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;asdf-ruby&lt;/a&gt; であれば&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please make sure you have the required &lt;a href=&quot;https://github.com/rbenv/ruby-build/wiki#suggested-build-environment&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;system dependencies&lt;/a&gt; installed before trying to install Ruby.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;のように、プラグイン利用時に必要な依存関係について書かれています。
この依存関係は asdf で自動的にインストールされることはないので、brew や apt などでインストールしましょう。&lt;/p&gt;
&lt;p&gt;こういった依存関係の問題は rbenv などを使っていて遭遇したこともあるので、asdf に限った話ではないと思います。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://questbeat.hatenablog.jp/entry/2020/07/06/003357&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;anyenv から asdf に移行した&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/yuki_ycino/items/cb21cf91a39ddd61f484&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;DXを大幅に低下させるDocker for Macを捨ててMac最速のDocker環境を手に入れる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[開発環境としての macOS 仮想化の現状]]></title><description><![CDATA[開発環境をクラウド化したいと考えたとき、問題になるのが macOS の仮想化です。
というのも、iOS アプリのビルドに必要な Xcode が macOS にしかインストールできないため、iOS 開発では macOS が必須なのです。
そこでこの記事には、開発環境を全てクラウド化することが現実的に可能なのか知るべく、macOS 仮想化の現状をまとめました。]]></description><link>https://www.kanzennirikaisita.com/posts/macos-virtualization</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/macos-virtualization</guid><pubDate>Tue, 14 Jul 2020 11:03:07 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;最近はクラウド IDE の利用もしばしば耳にするようになり、手元の端末ではなくクラウド上に開発環境を構築したいと考えたことがある方も多くなってきたのではないでしょうか。&lt;/p&gt;
&lt;p&gt;開発環境をクラウド化したいと考えたとき、問題になるのが macOS の仮想化です。&lt;/p&gt;
&lt;p&gt;というのも、iOS アプリのビルドに必要な Xcode が macOS にしかインストールできないため、iOS 開発では macOS が必須なのです。&lt;/p&gt;
&lt;p&gt;そこでこの記事には、開発環境を全てクラウド化することが現実的に可能なのか知るべく、macOS 仮想化の現状をまとめました。&lt;/p&gt;
&lt;h2 id=&quot;macos-の仮想化はそもそも可能か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#macos-%E3%81%AE%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AF%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E5%8F%AF%E8%83%BD%E3%81%8B&quot; aria-label=&quot;macos の仮想化はそもそも可能か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;macOS の仮想化はそもそも可能か&lt;/h2&gt;
&lt;p&gt;Linux や Windows の仮想化はよくあると思いますが、macOS の仮想化はほとんど耳にすることがないと思います。
そもそも macOS の仮想化というものは存在するのでしょうか。&lt;/p&gt;
&lt;p&gt;結論として、macOS の仮想化自体は存在します。
しかし、macOS の仮想化は、Apple のハードウェア上でだけ許可されています。
Thinkpad などの Apple 以外の PC であったり、一般的な Linux のサーバ上で macOS を仮想化することは許されていません。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://beadored.com/mac-osx-virtual-machine/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Mac OS X を仮想OS として使用する場合のライセンスについて再確認した&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ylproposal.blog129.fc2.com/blog-entry-548.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ライセンスの心配をせずMacOSを仮想化してみる&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sokushi.net/archives/25129372.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Windows上の仮想環境でMacOSを動かすことは、ライセンス違反になってしまう。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://book.mynavi.jp/macfan/detail_summary/id=87980&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;仮想マシンでAPFSが使えないのはなぜ？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;macos-仮想化対応ツール&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#macos-%E4%BB%AE%E6%83%B3%E5%8C%96%E5%AF%BE%E5%BF%9C%E3%83%84%E3%83%BC%E3%83%AB&quot; aria-label=&quot;macos 仮想化対応ツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;macOS 仮想化対応ツール&lt;/h2&gt;
&lt;p&gt;ということで、macOS の仮想化技術自体は存在します。&lt;/p&gt;
&lt;p&gt;簡単に調べた限りでは、以下のツールが macOS の仮想化に対応しているようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VMWare Fusion&lt;/li&gt;
&lt;li&gt;Parallels Desktop&lt;/li&gt;
&lt;li&gt;Oracle VirtualBox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;macos-on-cloud-サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#macos-on-cloud-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;macos on cloud サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;macOS on Cloud サービス&lt;/h2&gt;
&lt;p&gt;macOS の仮想化について調べたのは、そもそも開発環境をクラウド化したかったからです。&lt;/p&gt;
&lt;p&gt;Linux や Windows での仮想化はできないとのことなので、そもそも macOS 環境を提供しているクラウドサービスを探しました。&lt;/p&gt;
&lt;p&gt;AWS や GCP は macOS のマシンは提供していませんでしたが、macOS on Cloud なサービスは以下のように結構たくさんありました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.macincloud.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MacinCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.macweb.com/welcome&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MacWeb.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.macstadium.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;MacStadium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flow.swiss/mac-bare-metal&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Mac Bare Metal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://virtualmacosx.com/index.php&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;vmOSX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://macminicolo.net/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;macminicolo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ライセンスから考えるに、こういったサービスのデータセンターには Mac の端末が並んでいるものと思われます。&lt;/p&gt;
&lt;p&gt;さて、これらのサービスの実用性についてですが …&lt;/p&gt;
&lt;p&gt;現時点で日本にデータセンターがあるサービスはなく、日本で開発する際に使うのは現実的ではなさそうでした。。。&lt;/p&gt;
&lt;h2 id=&quot;macos-環境を提供する-ci-サービス&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#macos-%E7%92%B0%E5%A2%83%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B-ci-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&quot; aria-label=&quot;macos 環境を提供する ci サービス permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;macOS 環境を提供する CI サービス&lt;/h2&gt;
&lt;p&gt;開発環境として現実的に採用できる macOS をクラウド上で見つけることはできませんでしたが、CI については十分使えるサービスがあります。&lt;/p&gt;
&lt;p&gt;CI に限定すれば&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bitrise&lt;/li&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;CircleCI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが macOS に対応しています。&lt;/p&gt;
&lt;p&gt;これらのサービスの macOS 環境は十分実用的なので、是非お試しください。&lt;/p&gt;
&lt;h2 id=&quot;補足-−-swift-の開発環境&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A3%9C%E8%B6%B3-%E2%88%92-swift-%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83&quot; aria-label=&quot;補足 − swift の開発環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;補足 − Swift の開発環境&lt;/h2&gt;
&lt;p&gt;Xcode は macOS 上でないと使えないため、iOS アプリのビルドには macOS が必須です。&lt;/p&gt;
&lt;p&gt;しかし、Swift のスクリプトであれば、macOS 以外でも開発・実行可能です。&lt;/p&gt;
&lt;p&gt;Visual Studio Code にも Swift のプラグインがあるようですし、AWS Lambda でも Swift のランタイムが登場しています。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;macOS の仮想化技術自体は存在し、macOS 環境を提供するクラウドサービスも存在はするものの、現時点では実用的ではなさそうでした。&lt;/p&gt;
&lt;p&gt;まだしばらくの間、iOS 開発に関わる場合は Mac 端末を用意することが必須なようです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[誤用されがちな「ユーザーストーリー (マッピング)」という言葉の意味]]></title><description><![CDATA[「ユーザーストーリー」という単語の意味は (少なくとも日本人には) 直感的でなく、アジャイル開発などの書籍で定義を読んだことがある人とそうでない人で、全然話が噛み合わなかったりします。
この記事では、「ユーザーストーリー」と「ユーザーストーリーマッピング」という誤用されがちな 2 つの言葉について解説します。]]></description><link>https://www.kanzennirikaisita.com/posts/user-story</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/user-story</guid><pubDate>Mon, 13 Jul 2020 13:56:56 GMT</pubDate><content:encoded>&lt;p&gt;ソフトウェア開発に関わっていると、「ユーザーストーリー」や「ユーザーストーリーマッピング」という言葉を聞くことがあると思います。&lt;/p&gt;
&lt;p&gt;「ユーザーストーリー」という単語の意味は (少なくとも日本人には) 直感的でなく、アジャイル開発などの書籍で定義を読んだことがある人とそうでない人で、全然話が噛み合わなかったりします。&lt;/p&gt;
&lt;p&gt;この記事では、「ユーザーストーリー」と「ユーザーストーリーマッピング」という誤用されがちな 2 つの言葉について解説します。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;まず結論をまとめると以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;「ユーザーストーリー」は、「ユーザーのストーリー (= ユーザーの感情や行動の流れ)」を指すのではなく、ユーザーの行動の流れの中で登場する「ソフトウェアの要求の 1 つを一言で表したもの」&lt;/strong&gt;です&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;「ユーザーストーリーマッピング」は、「ユーザーの感情の流れと機能の対応を整理するもの」ではなく、「ユーザーの行動の流れに沿ってユーザーストーリー (ソフトウェアの要求) を整理するもの」&lt;/strong&gt;です&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下、これら 2 つについて説明していきます。&lt;/p&gt;
&lt;h2 id=&quot;「ユーザーストーリー」とは&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E3%80%8D%E3%81%A8%E3%81%AF&quot; aria-label=&quot;「ユーザーストーリー」とは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「ユーザーストーリー」とは&lt;/h2&gt;
&lt;p&gt;「ユーザーストーリー」という言葉を始めて聞いたとき、「ユーザーのストーリー (= ユーザーの感情や行動の流れ)」という意味だと思った方は多いのではないでしょうか。&lt;/p&gt;
&lt;p&gt;これは実は違ったりします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4839924023&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~&lt;/a&gt; によれば、&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ユーザーストーリーは、システムについてユーザーまたは顧客の視点からフィーチャの概要を記述したもの&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;であり、例えば&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;「＜ユーザーの種類＞として、＜機能や性能＞がほしい。それは＜ビジネス価値＞のためだ」&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;のような形式で記述すると書かれています。&lt;/p&gt;
&lt;p&gt;つまり、非常に雑に言うと、&lt;strong&gt;ほしい機能リストの 1 つ 1 つがユーザーストーリー&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;以下の記事のように「ユーザーストーリー」という言葉を「ユーザーのストーリー (= ユーザーの感情や行動の流れ)」のような意味で使っている例もなくはなかったですが、ほとんど見つかりませんでした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://goodpatch.com/blog/elements-of-ux-scope/#i-3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;UXの5段階モデル分解編 vol.2 サービス/プロダクトの開発指針を定める要件段階での具体的なデザイン手法 - ユーザーストーリーのアイデア創出&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;よくよく考えてみると、「ユーザーのストーリー」という意味であれば「ユーザー&lt;strong&gt;ズ&lt;/strong&gt;ストーリー」なのではないでしょうか。&lt;sup id=&quot;fnref-1&quot;&gt;&lt;a href=&quot;#fn-1&quot; class=&quot;footnote-ref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id=&quot;「ユーザーストーリーマッピング」の目的は何か&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%80%8C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%80%8D%E3%81%AE%E7%9B%AE%E7%9A%84%E3%81%AF%E4%BD%95%E3%81%8B&quot; aria-label=&quot;「ユーザーストーリーマッピング」の目的は何か permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;「ユーザーストーリーマッピング」の目的は何か&lt;/h2&gt;
&lt;p&gt;「ユーザーストーリーマッピングをしよう」という話になったとき、その目的が&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「ユーザーの感情の流れとソフトウェアなどの対応を整理すること」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と考える方と&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「ユーザーの行動の流れに沿ってユーザーストーリー (ソフトウェアの要求) を整理すること」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と考える方がそれぞれいるのではないでしょうか。&lt;/p&gt;
&lt;p&gt;どちらも考え方としては必要だとは思いますが、&lt;strong&gt;「ユーザーストーリーマッピング」の目的としては、後者の「ユーザーの行動の流れに沿ってユーザーストーリー (ソフトウェアの要求) を整理すること」が一般的&lt;/strong&gt;です。
さらに言えば、&lt;strong&gt;ユーザーストーリマッピングは、ユーザーストーリー (ソフトウェアの要求) を一覧化して、優先順位順に並べるために使われます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;一方で、前者の&lt;strong&gt;「ユーザーの感情の流れとソフトウェアなどの対応を整理するもの」は、「カスタマージャーニーマップ」または「エクスペリエンスマップ」または「UX マップ」と呼ぶのが一般的&lt;/strong&gt;なようです。&lt;/p&gt;
&lt;p&gt;もちろん、工夫によっては 1 つのマップで両方の内容を表現できるかもしれませんが、その場合は別々のマップにまとめた場合と比べて厳密性を欠く表現になりやすくなったりすると思います。&lt;/p&gt;
&lt;p&gt;私が調べた限りの一般的な定義は上記の通りですが、言葉の定義は変わっていくものでもあります。
「◯◯マップ」の作成は、メンバーで目的などの認識を合わせてから進めるとよさそうです。&lt;/p&gt;
&lt;h2 id=&quot;リーン・ux-とアジャイル開発における「◯◯マップ」&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%BBux-%E3%81%A8%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%80%8C%E2%97%AF%E2%97%AF%E3%83%9E%E3%83%83%E3%83%97%E3%80%8D&quot; aria-label=&quot;リーン・ux とアジャイル開発における「◯◯マップ」 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リーン・UX とアジャイル開発における「◯◯マップ」&lt;/h2&gt;
&lt;p&gt;上記のような「感情の流れを整理するマップ」と「ソフトウェアの要求を整理するマップ」という 2 つのマップの違いは、リーンや UX と、アジャイル開発との違いとも近いと思います。&lt;/p&gt;
&lt;p&gt;リーンや UX というのは、「何を作るべきなのか」についての考え方です。
ユーザの感情の流れに注目して何を作ればユーザに受け入れられるのかを考えたりするために、「カスタマージャーニーマップ」や「エクスペリエンスマップ」などが登場します。&lt;/p&gt;
&lt;p&gt;一方、アジャイル開発というのは、「どう作るべきなのか」についての考え方です。
たくさんある要求をどの順番で作っていくべきなのかを整理するために、「ユーザーストーリーマップ」を作ります。
(もちろん、リーンや UX の文脈であっても MVP を定義するために「ユーザーストーリーマップ」を作るという考え方はあります)&lt;/p&gt;
&lt;p&gt;これらの違いは、&lt;a href=&quot;https://inspiredjp.com/2010/11/29/chapter-3/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Inspired日本語版 - 第3章　プロダクトマネジメント VS. プロジェクトマネジメント&lt;/a&gt; に書かれている&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;プロダクトマネジメントの役割が、価値のある、使い勝手のいい、実現可能な製品を見いだすことにあるのに対して、プロジェクトマネジメントの役割は、製品を市場に送り出すことに尽きる&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;という、プロダクトマネジメントとプロジェクトマネジメントの違いとも近いところがあると思います。&lt;/p&gt;
&lt;p&gt;リーン・UX とアジャイル開発であったり、プロダクトマネジメントとプロジェクトマネジメントであったり、これらはどちらか一方を選ぶといったものではなく、両方があってこそ適切なモノを適切に作ることができるものです。
今の場面ではどの観点で整理したいのかを考えつつ、適切な道具を選べるといいのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fOpyM5&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3jAzjQC&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エクストリームプログラミング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2CUaGxr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;アジャイルサムライ−達人開発者への道−&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/39nJ8N6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザーストーリーマッピング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ZPHPU1&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーン開発の現場 カンバンによる大規模プロジェクトの運営&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/32Ek2bp&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リーン・スタートアップ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ZNGqxe&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;INSPIRED 熱狂させる製品を生み出すプロダクトマネジメント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/39nJ2oI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;マッピングエクスペリエンス ―カスタマージャーニー、サービスブループリント、その他ダイアグラムから価値を創る&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slideshare.net/papanda/ss-41638116&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザーストーリー駆動開発で行こう。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devtab.jp/entry/internal/37&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザーのインサイトに迫るための4つの道具&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://uxxinspiration.com/2015/05/customer-journey-map-experience-map/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「カスタマージャーニーマップ」と「エクスペリエンスマップ」の違いとは？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.goo.ne.jp/xmldtp/e/44240f36fc047485f09e55ad84792741&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザーストーリーとDtoD、シナリオとカスタマージャーニーなんかのまとめ（＆偏見）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&quot;fn-1&quot;&gt;
&lt;p&gt;英語は得意でないので、間違いでしたらご容赦ください&lt;/p&gt;
&lt;a href=&quot;#fnref-1&quot; class=&quot;footnote-backref&quot;&gt;↩&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title><![CDATA[[2020/7/12 時点] AWS Copilot v0.1.0 でどこまでできそうか]]></title><description><![CDATA[ECS の環境構築を非常に簡単にするツール「AWS Copilot」が少し話題になっています。
今まで ECS の環境構築がかなり面倒だったのが、びっくりするほど簡単になるようです。
こういったツールでは様々なリソースが勝手に作られる分、それらの設定をどこまでカスタマイズできるのかが気になるところだと思います。]]></description><link>https://www.kanzennirikaisita.com/posts/aws-copilot-v0-1-0</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-copilot-v0-1-0</guid><pubDate>Sun, 12 Jul 2020 01:45:35 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;ECS の環境構築を非常に簡単にするツール「AWS Copilot」が少し話題になっています。
今まで ECS の環境構築がかなり面倒だったのが、びっくりするほど簡単になるようです。&lt;/p&gt;
&lt;p&gt;こういったツールでは様々なリソースが勝手に作られる分、それらの設定をどこまでカスタマイズできるのかが気になるところだと思います。
そこで、ECS を使う上でほしくなりそうな機能について、Copilot が現時点でどこまで対応しているのかを調べました。&lt;/p&gt;
&lt;p&gt;※ この記事は 2020/7/12 時点、Copilot のバージョン 0.1.0 での内容になります。&lt;/p&gt;
&lt;p&gt;※ 以下の内容は実際に実行して試してみたわけではなく、ドキュメントやソースコード・GitHub の Issue を見て判断したものになります。&lt;/p&gt;
&lt;h2 id=&quot;調査内容&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%BF%E6%9F%BB%E5%86%85%E5%AE%B9&quot; aria-label=&quot;調査内容 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;調査内容&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://aws.amazon.com/jp/blogs/news/introducing-aws-copilot/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS Copilot のご紹介&lt;/a&gt; や &lt;a href=&quot;https://github.com/aws/copilot-cli/wiki/Getting-Started&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Getting Started&lt;/a&gt;、&lt;a href=&quot;https://github.com/aws/copilot-cli/wiki/Manifests&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Manifests&lt;/a&gt; に記述されている機能はすぐに目に入ると思うので、これらには書かれていないものの、個人的に確実にほしくなるであろう以下の機能を調査対象としました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;カスタムドメインの指定&lt;/li&gt;
&lt;li&gt;タスクの IAM ポリシーの設定&lt;/li&gt;
&lt;li&gt;既存の VPC を使う設定&lt;/li&gt;
&lt;li&gt;タスク定義のカスタマイズ&lt;/li&gt;
&lt;li&gt;AutoScaling の設定&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;調査結果&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%AA%BF%E6%9F%BB%E7%B5%90%E6%9E%9C&quot; aria-label=&quot;調査結果 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;調査結果&lt;/h2&gt;
&lt;h3 id=&quot;サマリ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B5%E3%83%9E%E3%83%AA&quot; aria-label=&quot;サマリ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;サマリ&lt;/h3&gt;
&lt;p&gt;調査結果のサマリは以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ドキュメントにあった機能 … カスタムドメインの指定、タスクの IAM ポリシーの変更&lt;/li&gt;
&lt;li&gt;Issue にあがっていた未実装の機能 … 既存の VPC を使う設定、タスク定義のカスタマイズ&lt;/li&gt;
&lt;li&gt;Issue にもドキュメントにもない機能 … AutoScaling の設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;順に調べた内容をまとめます。&lt;/p&gt;
&lt;h3 id=&quot;ドキュメントにあった機能&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AB%E3%81%82%E3%81%A3%E3%81%9F%E6%A9%9F%E8%83%BD&quot; aria-label=&quot;ドキュメントにあった機能 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ドキュメントにあった機能&lt;/h3&gt;
&lt;h4 id=&quot;カスタムドメインの指定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%AE%E6%8C%87%E5%AE%9A&quot; aria-label=&quot;カスタムドメインの指定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;カスタムドメインの指定&lt;/h4&gt;
&lt;p&gt;ロードバランサにカスタムドメインを指定し、かつ ACM で証明書を作成して HTTPS 化したいという需要があると思います。&lt;/p&gt;
&lt;p&gt;カスタムドメインの指定については、&lt;a href=&quot;https://github.com/aws/copilot-cli/wiki/Applications&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Applications&lt;/a&gt; のページに設定方法が書かれていました。
&lt;a href=&quot;https://github.com/aws/copilot-cli/blob/4ca6a01d9f9c444e8959c156238ba52962a29c36/templates/services/lb-web/cf.yml&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; のコードを見る限り、HTTPS 化も可能なように見えます。&lt;/p&gt;
&lt;h4 id=&quot;タスクの-iam-ポリシーの変更&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE-iam-%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC%E3%81%AE%E5%A4%89%E6%9B%B4&quot; aria-label=&quot;タスクの iam ポリシーの変更 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;タスクの IAM ポリシーの変更&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aws/copilot-cli/wiki/Additional-AWS-Resources&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Additional AWS Resources&lt;/a&gt; によると、Serverless Framework などと同じように、CloudFormation のテンプレートの記述により、任意の AWS リソースを作成する機能があるようです。&lt;/p&gt;
&lt;p&gt;このテンプレートで作成したリソース (DynamoDB や S3) にアクセスできるよう、タスクの IAM ポリシーを変更する方法もここに書かれていました。&lt;/p&gt;
&lt;h3 id=&quot;issue-にあがっていた未実装の機能&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#issue-%E3%81%AB%E3%81%82%E3%81%8C%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E6%9C%AA%E5%AE%9F%E8%A3%85%E3%81%AE%E6%A9%9F%E8%83%BD&quot; aria-label=&quot;issue にあがっていた未実装の機能 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Issue にあがっていた未実装の機能&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;既存の VPC を使うことは可能か&lt;/li&gt;
&lt;li&gt;タスク定義のパラメータはどこまで変更できるか&lt;/li&gt;
&lt;li&gt;AutoScaling は設定可能か&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;既存の-vpc、セキュリティグループ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%97%A2%E5%AD%98%E3%81%AE-vpc%E3%80%81%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97&quot; aria-label=&quot;既存の vpc、セキュリティグループ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;既存の VPC、セキュリティグループ&lt;/h4&gt;
&lt;p&gt;既存の VPC やセキュリティグループを割り当てる機能は現時点では未実装です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aws/copilot-cli/issues/740&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[Resources] Environment Resource Import #740&lt;/a&gt; という Issue があがっています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aws/copilot-cli/blob/4ca6a01d9f9c444e8959c156238ba52962a29c36/templates/environment/cf.yml&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;こちら&lt;/a&gt; のコードを見た限りでは、VPC の CIDR ブロックがハードコーディングされているため、既存の VPC にある RDS に VPC ピアリングを利用して接続するといったこともできないかもしれません。&lt;/p&gt;
&lt;h4 id=&quot;タスク定義の詳細設定&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%82%B9%E3%82%AF%E5%AE%9A%E7%BE%A9%E3%81%AE%E8%A9%B3%E7%B4%B0%E8%A8%AD%E5%AE%9A&quot; aria-label=&quot;タスク定義の詳細設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;タスク定義の詳細設定&lt;/h4&gt;
&lt;p&gt;タスク定義の設定変更も、一部以外は対応していないようです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aws/copilot-cli/issues/948&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;[Manifest] Allow TaskDefinition overrides in the Manifest #948&lt;/a&gt; という Issue があがっています。&lt;/p&gt;
&lt;h3 id=&quot;issue-にもドキュメントにもない機能&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#issue-%E3%81%AB%E3%82%82%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AB%E3%82%82%E3%81%AA%E3%81%84%E6%A9%9F%E8%83%BD&quot; aria-label=&quot;issue にもドキュメントにもない機能 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Issue にもドキュメントにもない機能&lt;/h3&gt;
&lt;h4 id=&quot;autoscaling&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#autoscaling&quot; aria-label=&quot;autoscaling permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AutoScaling&lt;/h4&gt;
&lt;p&gt;Copilot の機能としては提供されていないようですが、設定すること自体は可能と思われます。
というのも、ECS の AutoScaling はすでに存在するサービスに対して設定するものなので、Copilot でサービスを作成した上で、CloudFormation などで AutoScaling を設定することが可能と思われます。&lt;/p&gt;
&lt;p&gt;ただし、Copilot の &lt;a href=&quot;https://github.com/aws/copilot-cli/wiki/Additional-AWS-Resources&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Additional AWS Resources&lt;/a&gt; の機能で設定可能かは分かりません。
この機能で実現可能かは、実際に試してみるのが確実だと思います。&lt;/p&gt;
&lt;p&gt;AutoScaling 対応は検索した限りでは Issue としてあがっていませんでしたが、個人的には manifest で簡単に設定できるようになると嬉しいと思いました。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%BE%E3%81%A8%E3%82%81&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;バージョン 0.1.0 なので当たり前ですが、まだ不足している機能がかなり多いため、すぐに実運用するのは難しそうです。&lt;/p&gt;
&lt;p&gt;とはいえ、使い勝手は非常に良さそうなので、将来的にはかなり便利になりそうだなと感じました。&lt;/p&gt;
&lt;p&gt;まだ機能が少ない分ドキュメントや Issue も小さいので、一通り目を通してみるだけでも面白いかもしれません。
CloudFormation や Terraform などのモジュールを作る際の設計の参考にもなると思います。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aws/copilot-cli&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS Copilot CLI (preview)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.classmethod.jp/articles/aws-copilot/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ECSのオペレーションを劇的に簡略化するAWS Copilotが発表されました！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/itsuki3/items/5fb905f0231a2c3addbc&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;copilot betaを触ってみる&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sadayoshi-tada.hatenablog.com/entry/2020/07/01/080500&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;スピーディーなコンテナ環境の構築とアプリケーションデプロイができる『AWS Copilot CLI』&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sadayoshi-tada.hatenablog.com/entry/2020/07/10/120000&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;コンテナの環境構築とデプロイをサポートする『AWS Copilot』の概念や用語を理解する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[CI 大好きエンジニアによる CI サービス (ツール) の分類・比較と選定方法・学習方法]]></title><description><![CDATA[今まで仕事や勉強で様々な CI サービスをさわってきたので、様々な CI サービスを比較し、どのように選定すべきか、どのように学習すべきかをまとめました。
独自に 5 つに分類した 10 のサービス (ツール) を簡単に比較していき、その後どれを使うべきか、どう学習すべきかを説明していきます。]]></description><link>https://www.kanzennirikaisita.com/posts/ci-services</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/ci-services</guid><pubDate>Sat, 11 Jul 2020 04:47:57 GMT</pubDate><content:encoded>&lt;p&gt;今まで仕事や勉強で様々な CI サービスをさわってきたので、様々な CI サービスを比較し、どのように選定すべきか、どのように学習すべきかをまとめました。&lt;/p&gt;
&lt;p&gt;※ この記事は 2020/10/6 時点の情報なのでご注意ください&lt;/p&gt;
&lt;h2 id=&quot;ci-サービスの分類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ci-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E5%88%86%E9%A1%9E&quot; aria-label=&quot;ci サービスの分類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CI サービスの分類&lt;/h2&gt;
&lt;p&gt;CI サービスといっても色々な種類があります。&lt;/p&gt;
&lt;p&gt;この記事では独自に 5 つに分類しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SaaS - CI 専用サービス系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例) CircleCI, Travis CI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SaaS - Git サービス系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例) GitLab CI, GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SaaS - パブリッククラウド系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例) AWS CodeBuild, Google Cloud Build&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SaaS - Mobile 系&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例) Bitrise&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OSS&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;例) Jenkins, Concourse, Drone&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上に例として挙げた 10 のサービス (ツール) を簡単に比較していき、その後どれを使うべきか、どう学習すべきかを説明していきます。
同時に、各サービスの解説書も紹介していきます。&lt;/p&gt;
&lt;h2 id=&quot;ci-サービスの比較&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ci-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E6%AF%94%E8%BC%83&quot; aria-label=&quot;ci サービスの比較 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CI サービスの比較&lt;/h2&gt;
&lt;h3 id=&quot;saas---ci-専用サービス系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saas---ci-%E5%B0%82%E7%94%A8%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E7%B3%BB&quot; aria-label=&quot;saas   ci 専用サービス系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SaaS - CI 専用サービス系&lt;/h3&gt;
&lt;h4 id=&quot;circleci&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#circleci&quot; aria-label=&quot;circleci permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;CircleCI&lt;/h4&gt;
&lt;p&gt;CircleCI は非常によく使われている CI サービスです。
GitHub Actions の登場で状況が変わっているかもしれませんが、少なくとも &lt;strong&gt;GitHub Actions 登場以前はたくさんの事例を聞きました&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;GitHub との連携を設定し、YAML ファイルには実行したいシェルコマンドを順に書いていくというスタンダードな使い方です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;public リポジトリか private リポジトリかによらず、ある程度の無料枠があります&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;私は未読ですが、2020/9/14 に書籍『&lt;a href=&quot;https://amzn.to/2T9Xi0h&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CircleCI実践入門──CI/CDがもたらす開発速度と品質の両立&lt;/a&gt;』が発売されました。興味がある方は読んでみてもいいかもしれません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08H51JHS1/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=895c75403c1c7f539b69665fb763ef4c&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08H51JHS1&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08H51JHS1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;travis-ci&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#travis-ci&quot; aria-label=&quot;travis ci permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Travis CI&lt;/h4&gt;
&lt;p&gt;CircleCI と似たような使い方のサービスです。&lt;/p&gt;
&lt;p&gt;CircleCI との使い分けは、無料枠の違いでなされることも多いと思います。
CircleCI は private リポジトリ含めた無料枠がありますが、並列実行などに制限があります。
一方、Travis CI は &lt;strong&gt;OSS なら完全無料&lt;/strong&gt;になっています。&lt;/p&gt;
&lt;p&gt;Travis CI は OSS 版もあるので、自分たちのサーバに構築することも一応できます。&lt;/p&gt;
&lt;h3 id=&quot;saas---git-サービス系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saas---git-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E7%B3%BB&quot; aria-label=&quot;saas   git サービス系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SaaS - Git サービス系&lt;/h3&gt;
&lt;h4 id=&quot;gitlab-ci&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#gitlab-ci&quot; aria-label=&quot;gitlab ci permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GitLab CI&lt;/h4&gt;
&lt;p&gt;GitLab に付属する CI サービスです。&lt;/p&gt;
&lt;p&gt;GitLab 自体 SaaS 版と OSS 版があるので、SaaS として使うこともできますし、オンプレミスに立てることも可能です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitLab のリポジトリに YAML ファイルをコミットするだけで動き出す&lt;/strong&gt;ので、Git との連携が非常に簡単です。
YAML ファイルを書く感覚は CircleCI や Travis CI と近いです。&lt;/p&gt;
&lt;p&gt;GitLab 自体非常に高機能なので、『&lt;a href=&quot;https://amzn.to/3w5xYqF&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitLab実践ガイド&lt;/a&gt;』などで大枠を学んでみてもいいかもしれません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B079DL362C/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=ddcb22d0c89db352d3b54f8c57d5dedb&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B079DL362C&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B079DL362C&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;github-actions&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#github-actions&quot; aria-label=&quot;github actions permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;GitHub Actions&lt;/h4&gt;
&lt;p&gt;GitHub Actions は 2018 年に発表された非常に新しい CI サービスです。&lt;/p&gt;
&lt;p&gt;GitHub Actions の非常に特徴的な点は、&lt;strong&gt;各ステップのアクションとして GitHub に公開されている様々なアクションを指定可能&lt;/strong&gt;なことです。
世界中のエンジニアが作ったアクションを使いまわすことができ、GitHub の「Social Coding」というキャッチコピーを体現した CI サービスだと思います。
(CircleCI にも「Orb」というジョブなどの構成要素を共有する機能はあります)&lt;/p&gt;
&lt;p&gt;GitHub Actions は何より、GitHub との連携が非常に簡単です。&lt;strong&gt;CircleCI と異なり、GitHub に YAML ファイルをコミットするだけで自動的にワークフローが登録されます&lt;/strong&gt;。CircleCI では GUI で GitHub との連携を設定する必要があるので、&lt;strong&gt;GitHub Actions の方が CircleCI よりもセットアップが容易&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;public リポジトリなら完全無料で、private リポジトリでも無料枠がある&lt;/strong&gt;ので、これまで CircleCI や TravisCI を採用していた場面で GitHub Actions が採用されることが増えていきそうです。&lt;/p&gt;
&lt;p&gt;こちらも私は未読ですが、『&lt;a href=&quot;https://amzn.to/3cIYgYn&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GitHub Actions 実践入門&lt;/a&gt;』という書籍もあります。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08B1873L5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=fd27fe47dccc37988772d0466d043000&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B08B1873L5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B08B1873L5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;saas---パブリッククラウド系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saas---%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E7%B3%BB&quot; aria-label=&quot;saas   パブリッククラウド系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SaaS - パブリッククラウド系&lt;/h3&gt;
&lt;h4 id=&quot;aws-codebuild&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-codebuild&quot; aria-label=&quot;aws codebuild permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS CodeBuild&lt;/h4&gt;
&lt;p&gt;AWS が提供する CI サービスです。&lt;/p&gt;
&lt;p&gt;YAML ファイルにシェルコマンドを書いていく方式なので、使用感は CircleCI・Travis CI・GitLab CI と近いです。&lt;/p&gt;
&lt;p&gt;CodePipeline と組み合わせて CI / CD パイプラインを構築する場合もあります。
個人的には AWS アカウントを開発・本番と分けた際のクロスアカウントアクセス設定が複雑になりがちな CodePipeline は使わず、CodeBuild とシェルスクリプトで頑張るのも悪くないと思います。&lt;/p&gt;
&lt;h4 id=&quot;google-cloud-build&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#google-cloud-build&quot; aria-label=&quot;google cloud build permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Google Cloud Build&lt;/h4&gt;
&lt;p&gt;設定方法はちょっとクセがあり、&lt;strong&gt;1 つ 1 つのステップで実行環境のコンテナイメージと実行するコマンドを指定していく&lt;/strong&gt;ことになります。
例えば、あるステップで npm run build コマンドを実行し、次のステップで docker build コマンドを実行するような場合、最初のステップでは Node.js のコンテナを使い、次のステップでは Docker のコンテナを使うことになります。&lt;/p&gt;
&lt;p&gt;なので、&lt;strong&gt;コンテナを使い慣れていないと使いこなすのは難しい&lt;/strong&gt;です。
なんでもコンテナ上で実行したい人は大好きかもしれません。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&quot;https://amzn.to/2T6C0jZ&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;GCPの教科書II 【コンテナ開発編】 KubernetesとGKE、Cloud Run、サービスメッシュを詳解&lt;/a&gt;』という書籍で、1 章を割いて解説されているので、Google Cloud Build の雰囲気を知るために手に取ってもよさそうです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B088LZGPM5/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=d69f7f9c480e81a8cce7f7acc7bf536a&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B088LZGPM5&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B088LZGPM5&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;saas---mobile&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#saas---mobile&quot; aria-label=&quot;saas   mobile permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SaaS - Mobile&lt;/h3&gt;
&lt;h4 id=&quot;bitrise-系&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#bitrise-%E7%B3%BB&quot; aria-label=&quot;bitrise 系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Bitrise 系&lt;/h4&gt;
&lt;p&gt;Bitrise は&lt;strong&gt;モバイルアプリ&lt;/strong&gt;の CI サービスです。&lt;/p&gt;
&lt;p&gt;前提として、iOS のビルドは macOS でしかできないうえ、macOS はライセンス的に Apple のデバイス上でしか動かせません。
そのため、iOS のビルドが実行できる CI サービスは限られています。
CircleCI や GitHub Actions も macOS でのビルドに対応していますが、Bitrise が料金面で優れています。&lt;/p&gt;
&lt;p&gt;設定方法は独特で、各ステップで事前に用意されたアクションを実行していくイメージです。&lt;/p&gt;
&lt;p&gt;モバイルアプリのビルド・デプロイ自体 Web とはかなり異なるので、CI を組む際はその知識が必要になります。&lt;/p&gt;
&lt;h3 id=&quot;oss&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#oss&quot; aria-label=&quot;oss permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;OSS&lt;/h3&gt;
&lt;h4 id=&quot;jenkins&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#jenkins&quot; aria-label=&quot;jenkins permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Jenkins&lt;/h4&gt;
&lt;p&gt;Jenkins は最も有名な CI ツールだと思います。
CI の SaaS がよく使われるようになるまでは最も使われていたのではないでしょうか。&lt;/p&gt;
&lt;p&gt;しかし、最近は Jenkins を採用するケースは減ってきています。
理由として、Jenkins は&lt;strong&gt;ジョブの設定を YAML などのテキストとして記述・管理する Pipeline as Code が苦手&lt;/strong&gt;です。
一応 Jenkins Pipeline というものを使えば DSL でパイプラインを記述できますが、他の CI サービス (ツール) と比べて記法の学習コストが高い上、Jenkins Pipeline では簡単に実現できない設定があります。&lt;/p&gt;
&lt;p&gt;このように、Jenkins では GUI で設定しなくてはならない箇所ができるなどして、最終的にはチーム内に Jenkins 設定担当者 (いわゆる Jenkins おじさん) が生まれることになりやすく、最近は敬遠されています。&lt;/p&gt;
&lt;h4 id=&quot;concourse・drone&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#concourse%E3%83%BBdrone&quot; aria-label=&quot;concourse・drone permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Concourse・Drone&lt;/h4&gt;
&lt;p&gt;Concourse・Drone は YAML でパイプラインを記述するタイプの OSS の CI ツールです。&lt;/p&gt;
&lt;p&gt;どうしても CI の SaaS が使えないという制限がある場合に採用を検討することになります。&lt;/p&gt;
&lt;h2 id=&quot;選定方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%81%B8%E5%AE%9A%E6%96%B9%E6%B3%95&quot; aria-label=&quot;選定方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;選定方法&lt;/h2&gt;
&lt;p&gt;まず、&lt;strong&gt;特に制約がない限りは SaaS&lt;/strong&gt; を使うことをおすすめします。&lt;/p&gt;
&lt;p&gt;どうしても SaaS が禁止されているなどして&lt;strong&gt;自前で CI サービスを立てる場合、Concourse や Drone、GitLab CI をオススメします&lt;/strong&gt;。
Jenkins は Pipeline as Code が苦手なため、あまりおすすめしません。&lt;/p&gt;
&lt;p&gt;SaaS を使うとして、&lt;strong&gt;iOS のビルドがある場合は Bitrise&lt;/strong&gt; が有力候補になります。
とはいえ、CircleCI や GitHub Actions に慣れていればそちらを使ってもいいかもしれません。&lt;/p&gt;
&lt;p&gt;上記の例外的なケースを除いた多くの場合、&lt;strong&gt;アプリケーションのプラットフォームが提供する CI サービス (AWS CodeBuild、Google Cloud Build、Azure DevOps、Heroku CI など) を選択するか、アプリケーションのプラットフォームと無関係な CI サービス (GitHub Actions、GitLab CI、CircleCI、Travis CI など) を選択するか&lt;/strong&gt;が分岐点になります。&lt;/p&gt;
&lt;p&gt;これら 2 つの大きな違いは、&lt;strong&gt;自動デプロイのためにアクセスキーを払い出す必要があるかないか&lt;/strong&gt;です。
前者 (AWS CodeBuild など) の CI サービスであれば、IAM Role のような機能によってアクセスキー不要で自動デプロイが可能です。
後者 (GitHub Actions など) の CI サービスの場合、自動デプロイを実施するためにはアクセスキーのような機密情報を払い出す必要があるので、それを許容できるかが選択可否に影響します。&lt;/p&gt;
&lt;p&gt;GitHub Actions、GitLab CI、CircleCI、Travis CI からの選択には、無料枠の違いに注意が必要です。
&lt;strong&gt;public リポジトリの場合、GitHub Actions、GitLab CI、TravisCI は完全無料で、CircleCI もある程度まで無料&lt;/strong&gt;で使えます。&lt;strong&gt;private リポジトリの場合、GitLab CI は完全無料で、GitHub Actions、GitLab CI、CircleCI はある程度まで無料&lt;/strong&gt;となります。&lt;/p&gt;
&lt;p&gt;これらを踏まえて、あとは好みのツールを選びましょう。
どうしてもどれを使うべきか迷った方は、&lt;strong&gt;YAML ファイルをコミットするだけでセットアップできる GitHub Actions か GitLab CI&lt;/strong&gt; から使い始めてみるといいのではないでしょうか。&lt;/p&gt;
&lt;h2 id=&quot;学習方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%AD%A6%E7%BF%92%E6%96%B9%E6%B3%95&quot; aria-label=&quot;学習方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;学習方法&lt;/h2&gt;
&lt;p&gt;最後に、CI サービス (ツール) の学習方法です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;まずはスタンダードな YAML でシェルコマンドを記述するタイプ&lt;/strong&gt;の CircleCI、Travis CI、GitLab CI, AWS CodeBuild あたりをさわってみるといいと思います。
GitHub Actions も、シェルコマンドを書き並べるところから簡単に使い始めることができます。&lt;/p&gt;
&lt;p&gt;CI で必ずぶつかる、&lt;strong&gt;node_modules などをキャッシュして高速化&lt;/strong&gt;したいという課題を解決する機能がどの CI サービスにも必ずあるので、そのくらいまではさわってみるといいと思います。&lt;/p&gt;
&lt;p&gt;その後、&lt;strong&gt;GitHub Actions で公開されているアクションを使ってみたり、コンテナについて学習した上で Google Cloud Build をさわってみる&lt;/strong&gt;といいかもしれません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;iOS エンジニアなら Bitrise&lt;/strong&gt; をさわってみるべきです。&lt;/p&gt;
&lt;p&gt;さらに、&lt;strong&gt;Kubernetes を使っている場合は、Argo CI (CD) や Spinnaker&lt;/strong&gt; といったツールもよく使われているので、キャッチアップしてみるとよさそうです。&lt;/p&gt;
&lt;p&gt;実際に開発を進める上では、CI と近い環境を開発者が使っていることも重要です。
そのため、&lt;strong&gt;コンテナや ◯◯env などを使った開発環境の統一&lt;/strong&gt;にも取り組むのもおすすめです。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS Glue の使い方は？データカタログ？クローラ？ジョブ？]]></title><description><![CDATA[AWS Glue を一言でいうと、ETL のマネージドサービスです。
ETL でデータを取得する先のデータベーススキーマを管理する機能や、ETL のジョブをサーバレスで実行する機能などを持ちます。
Glue の使い方が分かるよう、「データカタログ」と「ETL」のそれぞれについて説明していきます。
]]></description><link>https://www.kanzennirikaisita.com/posts/aws-glue-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-glue-concepts</guid><pubDate>Fri, 10 Jul 2020 14:57:03 GMT</pubDate><content:encoded>&lt;h2 id=&quot;aws-glue-の概要&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-glue-%E3%81%AE%E6%A6%82%E8%A6%81&quot; aria-label=&quot;aws glue の概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;AWS Glue の概要&lt;/h2&gt;
&lt;p&gt;AWS Glue を一言でいうと、ETL のマネージドサービスです。&lt;/p&gt;
&lt;p&gt;ETL でデータを取得する先のデータベーススキーマを管理する機能や、ETL のジョブをサーバレスで実行する機能などを持ちます。&lt;/p&gt;
&lt;h2 id=&quot;全体像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E4%BD%93%E5%83%8F&quot; aria-label=&quot;全体像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全体像&lt;/h2&gt;
&lt;p&gt;Glue に登場する主な概念は以下のようになります。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue.png&quot; alt=&quot;AWS_Glue&quot;&gt;&lt;/p&gt;
&lt;p&gt;2020/7/10 時点で Glue のマネジメントコンソール上のメニューは「データカタログ」と「ETL」の 2 つに分類されています。&lt;/p&gt;
&lt;p&gt;Glue の使い方の概要が分かるよう、「データカタログ」と「ETL」のそれぞれについて説明していきます。&lt;/p&gt;
&lt;h2 id=&quot;データカタログ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%82%AB%E3%82%BF%E3%83%AD%E3%82%B0&quot; aria-label=&quot;データカタログ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データカタログ&lt;/h2&gt;
&lt;p&gt;まずは「データカタログ」に分類される、データベーススキーマの管理に関する機能です。&lt;/p&gt;
&lt;h3 id=&quot;データベース・テーブル&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%BB%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB&quot; aria-label=&quot;データベース・テーブル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;データベース・テーブル&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-database.png&quot; alt=&quot;AWS_Glue-database&quot;&gt;&lt;/p&gt;
&lt;p&gt;ETL の入力となるデータベースのスキーマを管理する機能です。&lt;/p&gt;
&lt;p&gt;API などを使って手動で登録することもできますし、後述するクローラを使って自動で登録することもできます。&lt;/p&gt;
&lt;h3 id=&quot;接続&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%8E%A5%E7%B6%9A&quot; aria-label=&quot;接続 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;接続&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-connection.png&quot; alt=&quot;AWS_Glue-connection&quot;&gt;&lt;/p&gt;
&lt;p&gt;データベースの接続設定 (JDBC の URL やユーザ名・パスワード) です。&lt;/p&gt;
&lt;p&gt;Glue の機能でデータベーススキーマを自動取得 (クローリング) したり、ETL 処理を実行する際に使います。&lt;/p&gt;
&lt;h3 id=&quot;クローラ・分類子&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BB%E5%88%86%E9%A1%9E%E5%AD%90&quot; aria-label=&quot;クローラ・分類子 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;クローラ・分類子&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-crawler.png&quot; alt=&quot;AWS_Glue-crawler&quot;&gt;&lt;/p&gt;
&lt;p&gt;クローラを使うことで、データベースをクローリングし、スキーマを自動で取得することが可能です。&lt;/p&gt;
&lt;p&gt;分類子は、クローラがスキーマを認識する方法の設定みたいなものです。&lt;/p&gt;
&lt;p&gt;クローラを使って自動でスキーマを登録することで、スキーマが変わった際に追従するのも楽になります。&lt;/p&gt;
&lt;p&gt;後述するトリガーによって定期的にクローリングすることも可能です。&lt;/p&gt;
&lt;h2 id=&quot;etl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#etl&quot; aria-label=&quot;etl permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ETL&lt;/h2&gt;
&lt;p&gt;続いて、「ETL」に分類される、実際の ETL 処理に関する機能です。&lt;/p&gt;
&lt;h3 id=&quot;ジョブ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B8%E3%83%A7%E3%83%96&quot; aria-label=&quot;ジョブ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ジョブ&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-job.png&quot; alt=&quot;AWS_Glue-job&quot;&gt;&lt;/p&gt;
&lt;p&gt;ETL の処理です。&lt;/p&gt;
&lt;p&gt;Glue は Python のスクリプトや Spark などの実行環境を選べるので、その実行環境で実行するコードを指定してジョブを作成します。&lt;/p&gt;
&lt;h3 id=&quot;トリガー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC&quot; aria-label=&quot;トリガー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;トリガー&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-trigger.png&quot; alt=&quot;AWS_Glue-trigger&quot;&gt;&lt;/p&gt;
&lt;p&gt;クローラやジョブを定期実行したりする際に使うのがトリガーです。&lt;/p&gt;
&lt;p&gt;トリガーの発火条件として他のトリガーやジョブを指定することもできます。&lt;/p&gt;
&lt;h3 id=&quot;ワークフロー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC&quot; aria-label=&quot;ワークフロー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ワークフロー&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-workflow.png&quot; alt=&quot;AWS_Glue-workflow&quot;&gt;&lt;/p&gt;
&lt;p&gt;ワークフローを使うと、トリガーやジョブを複雑に組み合わせた ETL 処理を可視化したりできます。&lt;/p&gt;
&lt;h3 id=&quot;ml-変換&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ml-%E5%A4%89%E6%8F%9B&quot; aria-label=&quot;ml 変換 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ML 変換&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-ml-transform.png&quot; alt=&quot;AWS_Glue-ml-transform&quot;&gt;&lt;/p&gt;
&lt;p&gt;データの前処理として必要な変換を機械学習で実行する機能です。&lt;/p&gt;
&lt;h3 id=&quot;開発エンドポイント・ノートブック&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E9%96%8B%E7%99%BA%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%83%BB%E3%83%8E%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF&quot; aria-label=&quot;開発エンドポイント・ノートブック permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;開発エンドポイント・ノートブック&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_Glue-development-endpoint.png&quot; alt=&quot;AWS_Glue-development-endpoint&quot;&gt;&lt;/p&gt;
&lt;p&gt;Glue のジョブは実行待ち時間があったりするため、スクリプトを開発するのが結構大変です。&lt;/p&gt;
&lt;p&gt;スクリプトの実装を楽するための設定が開発エンドポイントです。&lt;/p&gt;
&lt;p&gt;開発エンドポイントにはローカルや VPC に起動した Jupyter などを接続することも可能ですが、Sagemaker のノートブックと連携する機能も用意されています。&lt;/p&gt;
&lt;p&gt;開発エンドポイントは料金が結構高いので、作成したまま放置しないようご注意ください。&lt;/p&gt;
&lt;p&gt;ローカルに完結したスクリプト実装も可能なようなので、試してみるとよさそうです。&lt;/p&gt;
&lt;p&gt;参考&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.classmethod.jp/articles/aws-glue-local/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS Glueをローカル環境で実行してみた&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;私が初めて Glue を使おうとしたときは、思っていたより多機能で、どこから着手したものかと思いました。&lt;/p&gt;
&lt;p&gt;雰囲気が分かると意外と簡単に使えたりするので、是非さわってみてください。&lt;/p&gt;
&lt;p&gt;開発エンドポイントという機能がありはするものの、自動テストなどによるコードの動作保証にはなかなか苦労すると思います。&lt;/p&gt;
&lt;p&gt;スクリプトの自動テストや CI / CD は工夫しがいがあって面白いかもしれません。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;h3 id=&quot;web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web&quot; aria-label=&quot;web permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/glue/latest/dg/what-is-glue.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;公式ドキュメント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slideshare.net/AmazonWebServicesJapan/20190806-aws-black-belt-online-seminar-aws-glue&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;20190806 AWS Black Belt Online Seminar AWS Glue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;書籍&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%9B%B8%E7%B1%8D&quot; aria-label=&quot;書籍 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;書籍&lt;/h3&gt;
&lt;p&gt;2020 年 7 月に発売された書籍『&lt;a href=&quot;https://amzn.to/31bseyr&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門&lt;/a&gt;』では、Glue を ETL として利用する典型的な例や、Glue のデータカタログを Athena で利用する例が画面キャプチャ付きで丁寧に解説されてます。
データレイクに限らず、データウェアハウスや BI なども含めた AWS でのデータ分析について幅広く学べる非常におすすめの書籍です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/491031301X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li2&amp;tag=oshimayuki0d-22&amp;linkId=870fd332c59a36a77be225a753238d1b&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=491031301X&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li2&amp;amp;o=9&amp;amp;a=491031301X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS ALB の設定方法は？リスナー？ターゲットグループ？]]></title><description><![CDATA[AWS ALB を使おうとすると、リスナー、ターゲットグループといった設定が登場し、どの設定が何を意味しているのか理解するのが結構たいへんです。この記事では、そんな ALB の主な設定をまとめます。]]></description><link>https://www.kanzennirikaisita.com/posts/aws-alb-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/aws-alb-concepts</guid><pubDate>Tue, 07 Jul 2020 15:40:43 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;AWS ALB を使おうとすると、リスナー、ターゲットグループといった設定が登場し、どの設定が何を意味しているのか理解するのが結構たいへんです。&lt;/p&gt;
&lt;p&gt;この記事では、そんな ALB の主な設定をまとめます。&lt;/p&gt;
&lt;h2 id=&quot;全体像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%85%A8%E4%BD%93%E5%83%8F&quot; aria-label=&quot;全体像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;全体像&lt;/h2&gt;
&lt;p&gt;ALB の主な設定の全体像は以下の通りです。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB.png&quot; alt=&quot;AWS_ALB&quot;&gt;&lt;/p&gt;
&lt;p&gt;以下、順に説明していきます。&lt;/p&gt;
&lt;h2 id=&quot;リスナー&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%82%B9%E3%83%8A%E3%83%BC&quot; aria-label=&quot;リスナー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リスナー&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB-listener.png&quot; alt=&quot;AWS_ALB-listener&quot;&gt;&lt;/p&gt;
&lt;p&gt;リスナーは、外部からアクセスするプロトコルやポートの設定です。&lt;/p&gt;
&lt;p&gt;ロードバランサに対して、複数のリスナーを設定することができます。&lt;/p&gt;
&lt;p&gt;ALB は HTTP と HTTPS に対応しているため、その両方か片方をリスナーとして登録することになります。&lt;/p&gt;
&lt;h2 id=&quot;リスナールール・条件・アクション&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AA%E3%82%B9%E3%83%8A%E3%83%BC%E3%83%AB%E3%83%BC%E3%83%AB%E3%83%BB%E6%9D%A1%E4%BB%B6%E3%83%BB%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3&quot; aria-label=&quot;リスナールール・条件・アクション permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;リスナールール・条件・アクション&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB-listener-rule.png&quot; alt=&quot;AWS_ALB-listener-rule&quot;&gt;&lt;/p&gt;
&lt;p&gt;リスナーに対して、複数のリスナールールを紐付けることができます。&lt;/p&gt;
&lt;p&gt;リスナールールには優先順位の設定があり、順に条件を満たすか判定されます。&lt;/p&gt;
&lt;p&gt;条件を満たすと、そのリスナーに対応するアクションが呼び出されます。&lt;/p&gt;
&lt;h2 id=&quot;アクションの種類&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E7%A8%AE%E9%A1%9E&quot; aria-label=&quot;アクションの種類 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;アクションの種類&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB-action.png&quot; alt=&quot;AWS_ALB-action&quot;&gt;&lt;/p&gt;
&lt;p&gt;アクションは 2020/7/8 時点で上図の 5 種類があります。&lt;/p&gt;
&lt;p&gt;メンテナンス用の固定レスポンスを返す設定や、HTTP を HTTPS にリダイレクトする設定もできます。&lt;/p&gt;
&lt;p&gt;アクションがフォワードの場合、フォワード先として指定されたターゲットグループが呼び出されます。&lt;/p&gt;
&lt;h2 id=&quot;ターゲットグループ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97&quot; aria-label=&quot;ターゲットグループ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ターゲットグループ&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB-target-group.png&quot; alt=&quot;AWS_ALB-target-group&quot;&gt;&lt;/p&gt;
&lt;p&gt;ターゲットグループは、フォワード先として指定する、ターゲットを取りまとめたものです。&lt;/p&gt;
&lt;p&gt;つまり、ロードバランシングする対象群のことです。&lt;/p&gt;
&lt;p&gt;ターゲットに対してどのようにリクエストを振り分けるかというルーティングのアルゴリズムなどが設定可能です。&lt;/p&gt;
&lt;p&gt;また、ターゲットに接続するポートもここで設定できますが、ターゲットごとに上書きすることが可能です。&lt;/p&gt;
&lt;h2 id=&quot;ターゲット&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88&quot; aria-label=&quot;ターゲット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ターゲット&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/AWS_ALB-target.png&quot; alt=&quot;AWS_ALB-target&quot;&gt;&lt;/p&gt;
&lt;p&gt;最終的な接続先がターゲットです。&lt;/p&gt;
&lt;p&gt;接続先は、ターゲットグループでターゲットの種類として設定した、インスタンス・IP・Lambda のどれかに限られます。&lt;/p&gt;
&lt;p&gt;EC2 の AutoScaling グループや ECS のサービスに接続する場合は、AutoScaling グループや ECS のサービス側の設定でターゲットグループと紐付けることになります。&lt;/p&gt;
&lt;p&gt;すると、ターゲットグループ側では、その AutoScaling グループや ECS サービスに紐付くインスタンス・コンテナがターゲットとして指定されるようになります。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;ALB の設定は入口から出口までが非常に遠く、一度設定したことがあっても迷子になりやすいです。&lt;/p&gt;
&lt;p&gt;でも実は&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ロードバランサー&lt;/li&gt;
&lt;li&gt;リスナー&lt;/li&gt;
&lt;li&gt;リスナールール&lt;/li&gt;
&lt;li&gt;アクション&lt;/li&gt;
&lt;li&gt;ターゲットグループ&lt;/li&gt;
&lt;li&gt;ターゲット&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;という流れでリクエストが進んでいくようなイメージを持つことができれば、あとはどこが何の設定だったか確認するだけです。&lt;/p&gt;
&lt;p&gt;この記事が ALB を初めてさわる方の理解の助けになれば幸いです。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/introduction.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;公式ドキュメント&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[「ドメイン駆動設計 (DDD) とは？」を戦略的設計・戦術的設計に分けて理解する]]></title><description><![CDATA[DDD に登場する概念は大きく「戦略的設計」と「戦術的設計」に分かれます。さらに、戦略的設計は「思想」と「システムの分割・結合」の話、戦術的設計は「レイヤー構成」と「ビジネスロジックの実装方法」の話に分かれます。]]></description><link>https://www.kanzennirikaisita.com/posts/domain-driven-design-concepts</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/domain-driven-design-concepts</guid><pubDate>Tue, 07 Jul 2020 12:09:57 GMT</pubDate><content:encoded>&lt;h2 id=&quot;はじめに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;チームで「この開発は DDD でやろう」と言ったとき、「DDD」は同じ意味で使われているでしょうか ?&lt;/p&gt;
&lt;p&gt;人によって「DDD」という言葉の理解は違うと思います。&lt;/p&gt;
&lt;p&gt;この記事には、何が DDD で、何が DDD でないか、自分の考えをまとめました。&lt;/p&gt;
&lt;p&gt;なお、この記事では&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/3eOykZa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;』を「DDD 本」&lt;/li&gt;
&lt;li&gt;『&lt;a href=&quot;https://amzn.to/2ZNetFR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;』を「IDDD 本」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と略すことにします。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B00GRKD6XU/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=c63eca2a3cf81bda728766a0a82d6c07&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B00GRKD6XU&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=B00GRKD6XU&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/479813161X/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=5c660c19de9825dd49c095188defa101&amp;language=ja_JP&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=479813161X&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&amp;language=ja_JP&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;language=ja_JP&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=479813161X&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;ddd-の全体像&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ddd-%E3%81%AE%E5%85%A8%E4%BD%93%E5%83%8F&quot; aria-label=&quot;ddd の全体像 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;DDD の全体像&lt;/h2&gt;
&lt;p&gt;まずはじめに、DDD の世界に登場する概念を分類してみました。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/media/DDD.png&quot; alt=&quot;DDD&quot;&gt;&lt;/p&gt;
&lt;p&gt;図の通りですが、&lt;strong&gt;DDD に登場する概念は大きく「戦略的設計」と「戦術的設計」に分かれます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;さらに、&lt;strong&gt;戦略的設計は「思想」と「システムの分割・結合」の話、戦術的設計は「レイヤー構成」と「ビジネスロジックの実装方法」の話に分かれます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;これらの概要を順に説明していきます。&lt;/p&gt;
&lt;h2 id=&quot;戦略的設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%88%A6%E7%95%A5%E7%9A%84%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;戦略的設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;戦略的設計&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/DDD-strategic-design.png&quot; alt=&quot;DDD-strategic-design&quot;&gt;&lt;/p&gt;
&lt;p&gt;戦略的設計は、具体的な細かいテクニックである戦術的設計よりも大局的な話です。&lt;/p&gt;
&lt;p&gt;※ 図にも書いていますが、システムの分割・結合についての話を「戦略的設計」と呼ぶ場合もあるようです。&lt;/p&gt;
&lt;h3 id=&quot;思想&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%80%9D%E6%83%B3&quot; aria-label=&quot;思想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;思想&lt;/h3&gt;
&lt;p&gt;DDD の思想についてこの記事では詳細に立ち入りませんが、めちゃくちゃざっくり言うと、「&lt;strong&gt;みんなでユビキタス言語を使ってドメインエキスパートと話して、ドメイン知識をそのままソフトウェアで表現しろ&lt;/strong&gt;」みたいな話です。&lt;/p&gt;
&lt;p&gt;私の理解では、&lt;strong&gt;この思想が DDD のコアであり、これが抜けている場合は DDD とは呼べない&lt;/strong&gt;と思います。&lt;/p&gt;
&lt;p&gt;戦術的設計だけを使うことを「軽量 DDD」と呼ぶことが多いですが、思想が抜けている場合も「軽量 DDD」と言ってしまっていいかもしれません。&lt;/p&gt;
&lt;h3 id=&quot;システムの分割・結合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%88%86%E5%89%B2%E3%83%BB%E7%B5%90%E5%90%88&quot; aria-label=&quot;システムの分割・結合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;システムの分割・結合&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;大きなシステムをどこでサブシステム (今風に言うとマイクロサービス) に分割し、どのように結合するか&lt;/strong&gt;という話です。&lt;/p&gt;
&lt;p&gt;システムをどこで分割するかはとても難しい話だと思いますが、IDDD 本には、「ユビキタス言語に注目して、言葉の意味が変わったらそこが境界だ」といったヒントが書かれていたりします。&lt;/p&gt;
&lt;p&gt;また、腐敗防止層や共有カーネルといった、システムの結合方法についての論点もあります。&lt;/p&gt;
&lt;h2 id=&quot;戦術的設計&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E6%88%A6%E8%A1%93%E7%9A%84%E8%A8%AD%E8%A8%88&quot; aria-label=&quot;戦術的設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;戦術的設計&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/media/DDD-tactical-design.png&quot; alt=&quot;DDD-tactical-design&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;戦術的設計は、1 つのアプリケーションを具体的にどう実装するかというテクニックの話&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;DDD の話になったときにまず最初に出てくるのが戦術的設計ですが、&lt;strong&gt;戦術的設計だけを使うのは「軽量 DDD」というアンチパターンとされることが多い&lt;/strong&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;レイヤー構成&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E6%A7%8B%E6%88%90&quot; aria-label=&quot;レイヤー構成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;レイヤー構成&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;コアなロジックを持つドメイン層をいかに隔離するか&lt;/strong&gt;という話です。&lt;/p&gt;
&lt;p&gt;DDD 本では「レイヤードアーキテクチャ」が、IDDD 本では「ヘキサゴナルアーキテクチャ」が紹介されていますが、「オニオンアーキテクチャ」や「クリーンアーキテクチャ 」を採用しても構いません。&lt;/p&gt;
&lt;p&gt;要するに、ドメイン層をどうやって分離するかというパターンがいくつかあって、どれを採用するかという話です。&lt;/p&gt;
&lt;h3 id=&quot;ビジネスロジックの実装方法&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95&quot; aria-label=&quot;ビジネスロジックの実装方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;ビジネスロジックの実装方法&lt;/h3&gt;
&lt;p&gt;Entity、Value Object、Aggregate などを使って、&lt;strong&gt;ビジネスロジックをどう実装するか&lt;/strong&gt;という話です。&lt;/p&gt;
&lt;p&gt;これは、いつでも必ずこう実装しろという話ではありません。&lt;/p&gt;
&lt;p&gt;ビジネスロジックの実装には&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ドメインモデルパターン&lt;/li&gt;
&lt;li&gt;トランザクションスクリプトパターン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;の大きく 2 つがあります。&lt;/p&gt;
&lt;p&gt;DDD の文脈で説明されるのはドメインモデルパターンで具体的にどう実装するかという話ですが、どちらのパターンを採用すべきかは状況次第です。&lt;/p&gt;
&lt;p&gt;DDD であっても、コアドメイン以外はトランザクションスクリプトで構わないということもよく言われます。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;DDD のコアは「みんなでユビキタス言語を使ってドメインエキスパートと話して、ドメイン知識をそのままソフトウェアで表現しろ」みたいな思想にあると思います。&lt;/p&gt;
&lt;p&gt;とはいえ、戦術的設計が身に付かないまま思想の話をされても具体的に実装するか想像できないと思いますし、まずは戦術的設計から挑戦するのも悪くないと思います。&lt;/p&gt;
&lt;p&gt;私は戦術的設計を使ってみただけでも様々な悩みに遭遇し、その悩みを解決するために Aggregate や CQRS といった要素が必要だということに気付いたとき、自分が一歩スキルアップした気持ちになりました。&lt;/p&gt;
&lt;p&gt;私は DDD でやれと主張するつもりは全然ないのですが、思想として面白いですし、設計力を高める上で参考になる要素が非常にたくさんあるので、勉強する価値は非常に高いと思います。&lt;/p&gt;
&lt;h2 id=&quot;参考&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E5%8F%82%E8%80%83&quot; aria-label=&quot;参考 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;参考&lt;/h2&gt;
&lt;p&gt;書籍&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3eOykZa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;エリック・エヴァンスのドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ZNetFR&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;実践ドメイン駆動設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cmseB2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;．ＮＥＴのエンタープライズアプリケーションアーキテクチャ　第２版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/32GGu3p&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「実践ドメイン駆動設計」から学ぶDDDの実装入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/30DYXLI&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Clean Architecture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Web&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://little-hands.hatenablog.com/entry/2017/09/24/005903&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;なぜDDD初心者はググり出してすぐに心がくじけてしまうのか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://little-hands.hatenablog.com/entry/2019/12/02/cqrs&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CQRS実践入門 [ドメイン駆動設計]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[SwiftLint の Run Script は結局どう書くのが適切なのか]]></title><description><![CDATA[SwiftLint をビルド時に Run Script で実行する設定は、様々な記事で紹介されています。
しかし、微妙に間違っていたり、シェルスクリプトをよく書く自分からすると、もっとこう書いた方がいいと思ったりする点があったりします。
この記事では、あまりシェルスクリプトに慣れていない iOS エンジニアの方に向けて、SwiftLint の Run Script を通してシェルスクリプトのコツを解説します。]]></description><link>https://www.kanzennirikaisita.com/posts/how-to-code-swiftlint-run-script</link><guid isPermaLink="false">https://www.kanzennirikaisita.com/posts/how-to-code-swiftlint-run-script</guid><pubDate>Sun, 02 Feb 2020 14:13:00 GMT</pubDate><content:encoded>&lt;p&gt;SwiftLint をビルド時に Run Script で実行する設定は、様々な記事で紹介されています。&lt;/p&gt;
&lt;p&gt;しかし、微妙に間違っていたり、シェルスクリプトをよく書く自分からすると、もっとこう書いた方がいいと思ったりする点があったりします。&lt;/p&gt;
&lt;p&gt;この記事では、あまりシェルスクリプトに慣れていない iOS エンジニアの方に向けて、SwiftLint の Run Script を通してシェルスクリプトのコツを解説します。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E7%B5%90%E8%AB%96&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;最初に SwiftLint の Run Script の書き方の結論を載せます。&lt;/p&gt;
&lt;h3 id=&quot;swiftlint-を-cocoapods-でインストールしている場合&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#swiftlint-%E3%82%92-cocoapods-%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88&quot; aria-label=&quot;swiftlint を cocoapods でインストールしている場合 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SwiftLint を CocoaPods でインストールしている場合&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;SWIFT_LINT=&amp;quot;${PODS_ROOT}/SwiftLint/swiftlint&amp;quot;

if which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null; then
  &amp;quot;${SWIFT_LINT}&amp;quot; autocorrect --format
  &amp;quot;${SWIFT_LINT}&amp;quot;
else
  echo &amp;quot;warning: SwiftLint not installed.&amp;quot;
fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;swiftlint-を-homebrew-などで-mac-にインストールしている場合-非推奨&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#swiftlint-%E3%82%92-homebrew-%E3%81%AA%E3%81%A9%E3%81%A7-mac-%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88-%E9%9D%9E%E6%8E%A8%E5%A5%A8&quot; aria-label=&quot;swiftlint を homebrew などで mac にインストールしている場合 非推奨 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SwiftLint を Homebrew などで Mac にインストールしている場合 (非推奨)&lt;/h3&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;SWIFT_LINT=&amp;quot;swiftlint&amp;quot;

if which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null; then
  &amp;quot;${SWIFT_LINT}&amp;quot; autocorrect --format
  &amp;quot;${SWIFT_LINT}&amp;quot;
else
  echo &amp;quot;warning: SwiftLint not installed.&amp;quot;
fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&quot;解説&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E8%A7%A3%E8%AA%AC&quot; aria-label=&quot;解説 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;解説&lt;/h2&gt;
&lt;p&gt;シェルスクリプトはなかなか癖のある文法をしているので、このコードの意味・意図を解説していきます。&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;SWIFT_LINT=&amp;quot;${PODS_ROOT}/SwiftLint/swiftlint&amp;quot;

if which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null; then
  &amp;quot;${SWIFT_LINT}&amp;quot; autocorrect --format
  &amp;quot;${SWIFT_LINT}&amp;quot;
else
  echo &amp;quot;warning: SwiftLint not installed.&amp;quot;
fi&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id=&quot;swiftlint-の有無による分岐&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#swiftlint-%E3%81%AE%E6%9C%89%E7%84%A1%E3%81%AB%E3%82%88%E3%82%8B%E5%88%86%E5%B2%90&quot; aria-label=&quot;swiftlint の有無による分岐 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SwiftLint の有無による分岐&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;if which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null; then&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;シェルスクリプトに慣れていない方にとって、一番分かりにくいのはこの部分だと思います。
雰囲気的に SwiftLint があるかどうかで分岐していることは分かると思いますが、ここをちゃんと解説してみます。&lt;/p&gt;
&lt;p&gt;まず、この部分は &lt;code class=&quot;language-text&quot;&gt;if&lt;/code&gt; と &lt;code class=&quot;language-text&quot;&gt;which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null&lt;/code&gt; と &lt;code class=&quot;language-text&quot;&gt;;then&lt;/code&gt; に分けて読む必要があります。
単純な話ですが、 &lt;code class=&quot;language-text&quot;&gt;which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null&lt;/code&gt; の部分が &lt;code class=&quot;language-text&quot;&gt;if&lt;/code&gt; で条件分岐するための判定です。&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;which &amp;quot;${SWIFT_LINT}&amp;quot; &amp;gt;/dev/null&lt;/code&gt; は何をしているかと言うと、&lt;code class=&quot;language-text&quot;&gt;which &amp;quot;${SWIFT_LINT}&amp;quot;&lt;/code&gt; コマンドを実行し、その際に画面 (標準出力) に表示される内容を捨てています。
&lt;code class=&quot;language-text&quot;&gt;which &amp;quot;${SWIFT_LINT}&amp;quot;&lt;/code&gt; コマンドは、SwiftLint の有無を調べるコマンドですが、なぜその結果を捨てているのでしょうか ?&lt;/p&gt;
&lt;p&gt;その理由は、シェルスクリプトの if が表示内容ではなく、終了コードを見ていることにあります。&lt;/p&gt;
&lt;p&gt;which コマンドは指定したコマンドが見つかったか場合は終了コード 0 を、見つからなかった場合は終了コード 1 を返します。
if はその値を見て分岐しているのです。&lt;/p&gt;
&lt;h3 id=&quot;swift_lint-変数の定義&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#swift_lint-%E5%A4%89%E6%95%B0%E3%81%AE%E5%AE%9A%E7%BE%A9&quot; aria-label=&quot;swift_lint 変数の定義 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SWIFT_LINT 変数の定義&lt;/h3&gt;
&lt;p&gt;ざっと調べたところ全く見かけなかったのですが、&lt;code class=&quot;language-text&quot;&gt;${PODS_ROOT}/SwiftLint/swiftlint&lt;/code&gt; という部分は上記のように変数に SWIFT_LINT のような変数にまとめた方が良いです。
理由はもちろん、使用する swiftlint コマンドのパスが変わった際に、1 箇所の修正で済むようにするためです。&lt;/p&gt;
&lt;p&gt;これはシェルスクリプトではよく見かけるテクニックです。&lt;/p&gt;
&lt;h3 id=&quot;-の挙動&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#-%E3%81%AE%E6%8C%99%E5%8B%95&quot; aria-label=&quot; の挙動 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;code class=&quot;language-text&quot;&gt;&amp;quot;&amp;quot;&lt;/code&gt; の挙動&lt;/h3&gt;
&lt;p&gt;SWIFT_LINT という変数を使用する際、それを &lt;code class=&quot;language-text&quot;&gt;&amp;quot;&amp;quot;&lt;/code&gt; で括っています。
&lt;code class=&quot;language-text&quot;&gt;&amp;quot;&amp;quot;&lt;/code&gt; で括った部分は、シェルスクリプトでは 1 つの文字列として扱われます。&lt;/p&gt;
&lt;p&gt;なので、もし &lt;code class=&quot;language-text&quot;&gt;&amp;quot;${SWIFT_LINT}&amp;quot; autocorrect --format&lt;/code&gt; の部分を &lt;code class=&quot;language-text&quot;&gt;&amp;quot;${SWIFT_LINT} autocorrect --format&amp;quot;&lt;/code&gt; のように書いてしまうと、&lt;code class=&quot;language-text&quot;&gt;${SWIFT_LINT} autocorrect --format&lt;/code&gt; という空白を含んだコマンドを実行しようとしてしまい、正しい結果が得られません。
&lt;code class=&quot;language-text&quot;&gt;&amp;quot;&amp;quot;&lt;/code&gt; でどこまで括るべきかは注意しましょう。&lt;/p&gt;
&lt;p&gt;ちなみに &lt;code class=&quot;language-text&quot;&gt;${}&lt;/code&gt; で変数を呼び出す箇所を &lt;code class=&quot;language-text&quot;&gt;&amp;quot;&amp;quot;&lt;/code&gt; で括ることは、Google の &lt;a href=&quot;https://google.github.io/styleguide/shell.xml&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Shell Style Guide&lt;/a&gt; で推奨されています。&lt;/p&gt;
&lt;h3 id=&quot;swiftlint-を-homebrew-でインストールすべきでない理由&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#swiftlint-%E3%82%92-homebrew-%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%AA%E3%81%84%E7%90%86%E7%94%B1&quot; aria-label=&quot;swiftlint を homebrew でインストールすべきでない理由 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;SwiftLint を Homebrew でインストールすべきでない理由&lt;/h3&gt;
&lt;p&gt;最後に、SwiftLint を Homebrew でインストールするケースを非推奨としている理由ですが、これは SwiftLint のバージョンが開発者間で統一されなくなってしまうためです。&lt;/p&gt;
&lt;p&gt;インフラ系の仕事をする機会が多い自分にとって環境間のバージョン違いをなくすことは自然なことなのですが、こちらも実施していない記事が多いです。&lt;/p&gt;
&lt;p&gt;このことについては「&lt;a href=&quot;https://shinkufencer.hateblo.jp/entry/2018/08/09/230406&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;iOSアプリを開発する人はもっとRubyとgemの管理に慎重になって、かつ有効に使って欲しいという気持ちの記事を書いた。&lt;/a&gt;」というブログ記事とそのリンク先で、なぜそうすべきか、具体的にどう設定すればいいのか、が解説されています。&lt;/p&gt;
&lt;h2 id=&quot;おわりに&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;先日参加した Swift の勉強会で色々初心者的な質問をさせていただいたので、この記事の内容のように、自分が比較的得意な分野 (シェルスクリプト) で Swift のコミュニティに貢献できればと思います。&lt;/p&gt;
&lt;h2 id=&quot;シェルスクリプトのすすめ&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E3%81%99%E3%81%99%E3%82%81&quot; aria-label=&quot;シェルスクリプトのすすめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;シェルスクリプトのすすめ&lt;/h2&gt;
&lt;p&gt;シェルスクリプトは非常に便利ですし、学ぶ価値は非常に高いです。
興味を持った方が勉強する最初の一冊にはこちらの本がオススメです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3o0FvE3&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;新しいLinuxの教科書&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/4797380942/ref=as_li_ss_il?ie=UTF8&amp;linkCode=li1&amp;tag=oshimayuki0d-22&amp;linkId=983333c04fab081603df17da6c816935&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=4797380942&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=oshimayuki0d-22&quot; &gt;&lt;/a&gt;&lt;img src=&quot;https://ir-jp.amazon-adsystem.com/e/ir?t=oshimayuki0d-22&amp;amp;l=li1&amp;amp;o=9&amp;amp;a=4797380942&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot;&gt;&lt;/p&gt;</content:encoded></item></channel></rss>