<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ソフトウェア &#8211; エンジニア見習い</title>
	<atom:link href="https://otonan-syusyoku.work/archives/tag/%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2/feed" rel="self" type="application/rss+xml" />
	<link>https://otonan-syusyoku.work</link>
	<description>三流プログラマー</description>
	<lastBuildDate>Tue, 15 Oct 2024 13:17:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://otonan-syusyoku.work/wp-content/uploads/2023/10/cropped-名称未設定のデザイン-16-32x32.png</url>
	<title>ソフトウェア &#8211; エンジニア見習い</title>
	<link>https://otonan-syusyoku.work</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スループットとレイテンシーとIOPS</title>
		<link>https://otonan-syusyoku.work/archives/1949</link>
					<comments>https://otonan-syusyoku.work/archives/1949#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Tue, 15 Oct 2024 13:17:25 +0000</pubDate>
				<category><![CDATA[絶対に必要なIT基礎知識]]></category>
		<category><![CDATA[インフラ]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[三流プログラマー]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1949</guid>

					<description><![CDATA[部屋とYシャツと私のような記事タイトルですみません。。。 今回は、ネットワークの基礎となる スループット レイテンシー IOPS を紹介したいと思います。 &#160; インフラ構築をしているとよく出てくるキーワードです [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>部屋とYシャツと私</strong>のような記事タイトルですみません。。。</p>
<p>今回は、ネットワークの基礎となる</p>
<ul>
<li>スループット</li>
<li>レイテンシー</li>
<li>IOPS</li>
</ul>
<p>を紹介したいと思います。</p>
<p>&nbsp;</p>
<p>インフラ構築をしているとよく出てくるキーワードですが、度々こんがらがってしまうため改めて学び直します。</p>
<p>&nbsp;</p>
<h2>お前ら何やねん</h2>
<h3>スループットとは</h3>
<p><span class="sc_marker blue"><strong>特定の時間にネットワークを実際に通過できるデータの平均量を指します。</strong></span></p>
<p>つまり通信速度です。</p>
<pre class="line-numbers"><code class="language-other">5Gbps=5×1,000,000,000ビット/秒=5,000,000,000ビット/秒</code></pre>
<p>1秒間に10億ビット通過できるんだ-と思いますが、ネットワーク内には様々なリソースがあるので、提供されるスペック通りの値が通過できるとは限りません。あくまで平均ね。</p>
<h3>レイテンシーとは</h3>
<p><span class="sc_marker blue"><strong>リクエストを送信してから応答が返ってくるまでの遅延時間</strong></span>を指します。</p>
<p>ちょうわかりやすく言うと、「データの処理や通信がどれだけ迅速に行われるか」の指標のことです。</p>
<h3>IOPSとは</h3>
<p><span class="sc_marker blue"><strong>ストレージやデータベースが1秒間に処理できる入出力操作の回数</strong></span>を指します。</p>
<p>IOPSはスループットとある程度、比例関係にあります。</p>
<ul>
<li><strong>小さいブロックサイズ</strong>の場合、1回のIO操作で処理されるデータ量が少ないため、<strong>操作回数が多くなり、IOPSが増加する</strong></li>
<li><strong>大きなブロックサイズ</strong>の場合、1回のIO操作で大量のデータを処理するため、<strong>IO操作回数が少なくなり、IOPSは減少</strong>しますが、スループットは向上する</li>
</ul>
<h2>3つの違いのまとめ</h2>
<h3><strong>レイテンシー</strong></h3>
<ul>
<li><strong>嬉しい状態</strong>:<span class="sc_marker blue"><strong>低いほうが嬉しい</strong></span></li>
<li><strong>理由</strong>:<br />
レイテンシーが低い（つまり遅延時間が短い）ほど、システムがより速く応答し、ユーザーが操作を行った際の待ち時間が少なくなります。<br />
たとえば、Webページが速く表示されたり、データベースのクエリが迅速に実行されたりすることで、ユーザー体験が向上します。</li>
<li>例: ネットワークレイテンシーが低いと、Webサイトの応答が速くなります。</li>
</ul>
<h3><strong>スループット</strong></h3>
<ul>
<li><strong>嬉しい状態</strong>: <span class="sc_marker blue"><strong>高いほうが嬉しい</strong></span></li>
<li><strong>理由</strong>:<br />
スループットが高いほど、システムが短時間で多くのデータやリクエストを処理できることを意味します。<br />
特に、大量のデータを処理する場合や多くのユーザーが同時にアクセスするシステムにおいて、高いスループットはシステムの効率や全体のパフォーマンスを向上させます。</li>
<li>例: スループットが高いネットワークでは、1秒間に多くのデータを送受信でき、ダウンロードやストリーミングがスムーズに行えます。</li>
</ul>
<h3><strong>IOPS </strong></h3>
<ul>
<li><strong>嬉しい状態</strong>: <span class="sc_marker blue"><strong>高いほうが嬉しい</strong></span></li>
<li><strong>理由</strong>:<br />
IOPSが高いほど、ストレージデバイスが1秒間に処理できる入出力操作の回数が多くなります。<br />
これは、特にデータベースやファイルシステムなど、頻繁にデータの読み書きが発生するシステムにとって重要です。<br />
高いIOPSは、より多くの入出力操作を短時間で処理できるため、パフォーマンスが向上します。</li>
<li>例: IOPSが高いSSDは、ディスクアクセスが多いアプリケーション（例えばデータベースクエリやログ書き込み）の性能を大幅に改善します。</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1949/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>世界一流エンジニアの思考法を自分の中に落とし込む</title>
		<link>https://otonan-syusyoku.work/archives/1762</link>
					<comments>https://otonan-syusyoku.work/archives/1762#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sun, 12 May 2024 06:04:47 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[インフラ]]></category>
		<category><![CDATA[コーディング]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[三流プログラマー]]></category>
		<category><![CDATA[脱3流プログラマー]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1762</guid>

					<description><![CDATA[世のエンジニアの皆様。日々業務の取り組みお疲れ様です。 都内で三流プログラマーとして働いているやんやんです。 世界一流エンジニアの思考法 を自分の中に落とし込む記事を書いています。 本書の紹介 世界一流エンジニアの思考法 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>世のエンジニアの皆様。日々業務の取り組みお疲れ様です。</p>
<p>都内で三流プログラマーとして働いているやんやんです。</p>
<p><strong>世界一流エンジニアの思考法 </strong>を自分の中に落とし込む記事を書いています。</p>
<h2>本書の紹介</h2>
<p style="text-align: center;"><a href="//af.moshimo.com/af/c/click?a_id=2019667&amp;p_id=170&amp;pc_id=185&amp;pl_id=4062&amp;url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0CKSZV5DQ" rel="nofollow" referrerpolicy="no-referrer-when-downgrade"><img decoding="async" src="https://images-fe.ssl-images-amazon.com/images/I/41PjuwcEzYL._SL500_.jpg" alt="" style="border: none;" /><br />
世界一流エンジニアの思考法 (文春e-book)</a><img decoding="async" src="//i.moshimo.com/af/i/impression?a_id=2019667&amp;p_id=170&amp;pc_id=185&amp;pl_id=4062" alt="" width="1" height="1" style="border: none;" /></p>
<h2>一流との違い</h2>
<h3>試行錯誤は悪</h3>
<p><strong>分かるようになるまで自分でどうにかする </strong>もしくは <strong>質問できるレベルになるまで自分で調べる </strong>という形で取り組んできた自分からするとかなり衝撃的だった。</p>
<p>本書では、<span class="sc_marker blue"><strong>その試行錯誤の時間は正解を探しているだけで何も新しい知識を学んでいない</strong></span>となかなかのパンチラインを残している。</p>
<p>何も学んでいない = 次の問題がやってきたときに対処ができないということになるのだろう。</p>
<p>確かにその通りだ。</p>
<p>ログから手当たり次第に試すのではなく、この<span class="sc_marker blue"><strong>ログがどこでどのように吐かれたのか、依存関係や背景を基に何が原因か考えることができるようになりたい。</strong></span> ← 凄く難しくないか？</p>
<h3>理解に時間をかける</h3>
<p>これは日々痛感しているのだが、仕事のできる上司はかなり理解力が高く、コミュニケーションを取ることに対して引け目を感じていた。</p>
<p>本書では、どんなに能力が高い人でも理解に時間がかかることを説明していた。</p>
<p>僕の上司も「今までに〇〇をXXしてきたから」「これはあの時に苦しんだから」と時間なり、それ相応の苦労をしてきたと言っていた。</p>
<p>本書ではビッグテックの現場で出ている体験を基にしているので、世界レベルのエンジニアでも理解することに対して時間がかかるのだろう。</p>
<p>これまでの積み重ねで皆頑張っているんだと何故か共感できた。</p>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title">理解するために今後やりたいこと</div>
<div class="sc_frame">
<ul>
<li>program の基礎をしっかり学ぶ
<ul>
<li><a href="https://exercism.org/">exercism</a> を解く</li>
</ul>
</li>
<li>インフラ周りの知識ちゃんと学ぶ
<ul>
<li>ネットワークってなんでつながるの</li>
</ul>
</li>
<li>僕ごときのそこら辺にいる若造なんて時間がかかって当たり前なので、気後れせずに頑張りたい所存</li>
</ul>
</div>
</div>
<h3>小さなドキュメントをコードの前に書く</h3>
<p>これは技術レベルに関係なく、すぐ実践できることなので今日から実践していきたい。</p>
<p><strong>今から何を作るのか理解するために小さなドキュメントを書いていく。</strong></p>
<ul>
<li>Scope</li>
<li>Background</li>
<li>Problem</li>
<li>Solution</li>
</ul>
<p>確か、岡田斗司夫も同じようなことを言っていた。</p>
<p><iframe title="【効果は僕が保証します】賢い人は既に始めている「書く習慣」何故今こそ「紙」に書くべきなのか【岡田斗司夫切り抜き/切り取り/としおを追う/スマートノート/ジャーナル/禁欲/オナ禁】" width="640" height="360" src="https://www.youtube.com/embed/8hqYqhoH-cU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h2>マインドセット</h2>
<h3>BeLazy</h3>
<p>BeLazy = 怠惰 という意味になるが、そのままの意味ではなく、<strong>「少ない時間で価値を最大化しなさい」</strong>という教えがあった。（プログラマの三大美徳の怠惰と同様の考え方。</p>
<p>これを達成するためが以下のことだと考える。</p>
<ul>
<li>やるべきことを絞る</li>
<li>それ以外はやらない</li>
</ul>
<p>やるべきことを達成したら、またやるべきことを絞り、、、というサイクルを回して価値を最大化していく。</p>
<p>ビジネスマンである限り、ここで言われていることは目指すべきではあるがそう簡単ではないというのが現実である。</p>
<p>それでも言っていることは正しいと思うので近づけるよう努力したい。</p>
<h3>リスクや間違いを受け入れる</h3>
<p>これは下記記事の時にいた上層部に届いてほしい。</p>
<p>この当時の会社では案件を頓挫させてしまったが最後、席を追い出される形で最終的に退職することになった。</p>
<p>[getpost id=&#8221;1204&#8243; target=&#8221;_blank&#8221; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<p>&nbsp;</p>
<p>話を戻す。</p>
<p>成功へ早く近づくために、失敗を受け入れるマインドを持つ必要がある。</p>
<ul>
<li>早く失敗する</li>
<li>失敗から学ぶ</li>
</ul>
<p><span class="sc_marker blue"><strong>まずはやってみて、そこから学んで次へ進んでいくようにしたい。</strong></span></p>
<p>&nbsp;</p>
<h2></h2>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1762/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【HTTPとHTTPS】Webの基盤となるプロトコルをちゃんと理解しましょう</title>
		<link>https://otonan-syusyoku.work/archives/1670</link>
					<comments>https://otonan-syusyoku.work/archives/1670#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Fri, 12 Apr 2024 15:01:48 +0000</pubDate>
				<category><![CDATA[生涯独学]]></category>
		<category><![CDATA[絶対に必要なIT基礎知識]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1670</guid>

					<description><![CDATA[こんにちは。三流プログラマーとして都内で勤務しているやんやんです。 先日インターン生からこんな質問を受けました。 インターン生 HTTPってなんですか？ 私自身、しっかりと理解できていないためか上手な説明ができなかったの [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="flex flex-grow flex-col max-w-full">
<div data-message-author-role="assistant" data-message-id="b5a51399-596c-435a-b3f3-3096850b8a5b" class="text-message flex flex-col items-start gap-3 whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 overflow-x-auto">
<div class="markdown prose w-full break-words dark:prose-invert dark">
<p>こんにちは。三流プログラマーとして都内で勤務しているやんやんです。</p>
<p>先日インターン生からこんな質問を受けました。</p>
<div class="voice left">
<div class="icon">
<p><img decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2021/04/名称未設定のデザイン-4-1.png" /></p>
<div class="name">インターン生</div>
</div>
<div class="text sc-inner-content sc_balloon left blue">
<p>HTTPってなんですか？</p>
</div>
</div>
</div>
<p>私自身、しっかりと理解できていないためか上手な説明ができなかったので改めて勉強しようと思った今日この頃です。</p>
</div>
<p>&nbsp;</p>
<p>この記事では、これらのプロトコルの基本、特にメソッド、ステータスコード、ヘッダー、クッキーという要素に焦点を当て、それらがどのようにWebの基盤となっているかを掘り下げます。</p>
<p>さらに、HTTPSがHTTPにセキュリティ層を追加する方法と、その重要性についても触れていこうと思いまっす</p>
<div data-message-author-role="assistant" data-message-id="b5a51399-596c-435a-b3f3-3096850b8a5b" class="text-message flex flex-col items-start gap-3 whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 overflow-x-auto">
<div class="markdown prose w-full break-words dark:prose-invert dark">
<h2>HTTPとは</h2>
<p><img fetchpriority="high" decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2024/02/DMARCを設定しなくちゃ-1.png" alt="What&#96;s up" width="1000" height="500" class="aligncenter size-full wp-image-1665" srcset="https://otonan-syusyoku.work/wp-content/uploads/2024/02/DMARCを設定しなくちゃ-1.png 1000w, https://otonan-syusyoku.work/wp-content/uploads/2024/02/DMARCを設定しなくちゃ-1-300x150.png 300w, https://otonan-syusyoku.work/wp-content/uploads/2024/02/DMARCを設定しなくちゃ-1-768x384.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>HTTPは、WebブラウザとWebサーバー間の通信を可能にするプロトコルです。</p>
<p>太古の昔(1990年代)にWebの成長とともに進化してきました。</p>
<p>HTTPはステートレスなプロトコルであり、つまり、過去のリクエストやレスポンスの状態を保持しないという特徴があります。これにより、プロトコルのシンプルさと拡張性が保たれています。</p>
<div class="sc_toggle_box">
<div class="sc_toggle_title active">あわせて読みたい関連記事</div>
<div class="sc_toggle_content">
<p>[getpost id=&#8221;1569&#8243; target=&#8221;_blank&#8221; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
</div>
</div>
<h2>HTTPSとその重要性</h2>
<p><img decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2024/02/Lets-GO.png" alt="Let&#96;s GO" width="1000" height="500" class="aligncenter size-full wp-image-1680" srcset="https://otonan-syusyoku.work/wp-content/uploads/2024/02/Lets-GO.png 1000w, https://otonan-syusyoku.work/wp-content/uploads/2024/02/Lets-GO-300x150.png 300w, https://otonan-syusyoku.work/wp-content/uploads/2024/02/Lets-GO-768x384.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>HTTPSは、HTTPにセキュリティ層を加えたものです。</p>
<p>具体的には、SSL（Secure Sockets Layer）またはTLS（Transport Layer Security）を使用して、クライアントとサーバー間の通信を暗号化します。</p>
<p>この暗号化により、データの盗聴や改ざん、なりすましを防ぐことが可能になります。特に、Eコマースやオンラインバンキングなど、機密性が求められる情報を扱うWebサイトではHTTPSが必須となっています。</p>
<p>SSLを知らないとWEB業界では大恥をかくので、皆さんご注意を。</p>
<div class="sc_toggle_box">
<div class="sc_toggle_title active">あわせて読みたい関連記事</div>
<div class="sc_toggle_content">
<p>[getpost id=&#8221;1170&#8243; cat_name=&#8221;1&#8243; date=&#8221;0&#8243;]</p>
<p>&nbsp;</p>
</div>
</div>
<h2>HTTPメソッド</h2>
<p>HTTPメソッドは、クライアントがサーバーに対して何をしたいのかを指示するための手段です。<br />
最も一般的なメソッドは以下の通りです。</p>
<ul>
<li><strong>GET<br />
</strong>リソースを取得するために使用します。</li>
<li><strong>POST<br />
</strong> リソースを作成するために使用します。</li>
<li><strong>PUT<br />
</strong>リソースを更新するために使用します。</li>
<li><strong>DELETE<br />
</strong>リソースを削除するために使用します。</li>
</ul>
<p>これらのメソッドは、RESTful APIの設計において重要な役割を果たします。</p>
<h2>ステータスコード</h2>
<p>HTTPステータスコードは、サーバーがクライアントのリクエストをどのように処理したかを示します。以下は、よく使われるステータスコードの例です。</p>
<ul>
<li><strong>200 OK</strong>: リクエストが成功したことを示します。</li>
<li><strong>404 Not Found</strong>: リクエストされたリソースが見つからなかったことを示します。</li>
<li><strong>500 Internal Server Error</strong>: サーバー側で問題が発生したことを示します。</li>
</ul>
<p>これらのコードは、デバッグやエラー処理において極めて有用です。</p>
<h2>ヘッダーとクッキー</h2>
<p>HTTPヘッダーは、リクエストやレスポンスのメタデータを提供します。例えば、<code>Content-Type</code>ヘッダーはリソースのタイプを示し、<code>Set-Cookie</code>ヘッダーはクライアントにクッキーを設定するよう指示します。</p>
<p>クッキーは、サーバーがクライアントのブラウザにデータを保存するために使用される小さなデータ片です。これにより、セッション管理、パーソナライゼーション、トラッキングなどが可能になります。</p>
<h2>まとめ</h2>
<p>HTTPとHTTPSは、Web上での情報交換の基盤を成すプロトコルです。HTTPSによる暗号化は、オンラインでの安全性を大幅に向上させています。HTTPメソッド、ステータスコード、ヘッダー、クッキーといった要素の理解は、Web技術において深い知識を持つために不可欠です。これらの基本を押さえることで、よりセキュアで効率的なWebアプリケーションの開発が可能となります。</p>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1670/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
