<?xml version="1.0" encoding="UTF-8"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="ja"
	xml:base="/wp-atom.php"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>
	<title type="text">愛知工業大学 システム工学研究会</title>
	<subtitle type="text">愛知工業大学 システム工学研究会公式サイト</subtitle>

	<updated>2022-03-09T21:49:06Z</updated>

	<link rel="alternate" type="text/html" href="" />
	<id>/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="/feed/atom/" />

	<generator uri="https://wordpress.org/" version="5.8.6">WordPress</generator>
<icon>/wp-content/uploads/2016/07/set_icon-75x75.jpg</icon>
	<entry>
		<author>
			<name>松井 礼人</name>
					</author>

		<title type="html"><![CDATA[歌えば作曲完了]]></title>
		<link rel="alternate" type="text/html" href="/1604/" />

		<id>/?p=1604</id>
		<updated>2022-03-09T21:49:06Z</updated>
		<published>2022-03-09T12:44:53Z</published>
		<category scheme="" term="未分類" />
		<summary type="html"><![CDATA[こんにちは。今回が初めての投稿になります。松井です。 まず、今回の話をする前にですが、今回の話はかなり長くなってしまったため、暇な時間に読んでいただければ幸いです。 導入 皆さんはDTMをご存知でしょうか。 DTMとは、 [&#8230;]]]></summary>

					<content type="html" xml:base="/1604/"><![CDATA[<p>こんにちは。今回が初めての投稿になります。松井です。<br />
まず、今回の話をする前にですが、今回の話はかなり長くなってしまったため、暇な時間に読んでいただければ幸いです。</p>
<h2>導入</h2>
<p>皆さんは<strong>DTM</strong>をご存知でしょうか。<br />
DTMとは、<strong>Desktop Music</strong>。CubaseやProTools等のDAWソフトを使用して、コンピュータで作曲を行うことを言います。<br />
最近はボカロPやシンガーソングライターが認知されてますよね。<br />
僕はCakewalk by bundlabというWindowsでしか使えない無料のDAWを使用して曲を書いているのですが、率直に言って、もういい加減マウスをポチポチしてピアノロールに打ち込みする作業に萎えてしまったため、何かもう少し楽チンに作曲できる手段は無いのかと考えました。<br />
そこで、カラオケの採点システムみたく、歌をその場で音階へと変換して、それをMIDIの状態にしてしまえば、そのデータをトラックに入れてあげるだけで曲が完成してしまうことに気づきました。<br />
このシステムから受けられる恩恵として、音感0でも、コード理論を何も勉強してなくても、どこか適当な場所で歌って録音してしまえば作曲完了ってわけです。<br />
今回は、そのメカニズムについて紹介していきたいと思います。ただ、そのアルゴリズムの紹介の前に、まずはMIDIについて軽く紹介しておきます。</p>
<h2>MIDIとは</h2>
<p>MIDIとは音符のデータを記録するファイル規格の一種です。SMF(Standard MIDI File)と言ったりもします。<br />
よく皆さんも画像は.jpgや.png等の規格を使いますよね？ 音声だと.wavや.mp3だったり。そんな感じで、作曲のデータは.midに書き込むことができるのです。<br />
MIDIは確か初期バージョンから38年間くらいシステムが更新されてなかったんですけど、何か一昨年の2月にいきなりバージョン2.0が更新されてましたね。その更新分がちゃんと各ソフトに反映されてるのかは不明ですが、一応仕様書はこの公式に載ってありますので、気になる方のために、ここにソースを掲載しておきます。<br />
<a href="http://amei.or.jp/midistandardcommittee/MIDI2.0/MIDIspcj2.html">http://amei.or.jp/midistandardcommittee/MIDI2.0/MIDIspcj2.html</a></p>
<h2>実装法</h2>
<p>では、アルゴリズムについて紹介していきます。<br />
結論を言いますと、<strong>Chroma-CQT</strong>というアルゴリズムを使えば一発です。Pythonでは<strong>librosa</strong>というライブラリがあって、その中の<strong>librosa.cqt</strong>というメソッドに波形データとその他パラメータを入力してあげれば、各音階ごとの音圧の強さが時間軸上に表示される二元配列データとして出てきますので、その中から時間系列ごとに最大値のインデックス(一番音圧の強い音階)を拾って一元配列に並べてあげれば完成という仕組みを構想できます。<br />
<a href="http://librosa.org/doc/main/generated/librosa.cqt.html">http://librosa.org/doc/main/generated/librosa.cqt.html</a><br />
ちなみに、大抵の実装例では、librosa.cqtではなく、librosa.feature.chroma_cqtが使われがちなのですが、こちらの方はn_chromaというパラメータが出力結果の見方をややこしくさせてしまうため、前者を選びました。<br />
<a href="http://librosa.org/doc/main/generated/librosa.feature.chroma_cqt.html">http://librosa.org/doc/main/generated/librosa.feature.chroma_cqt.html</a><br />
ただ、このメソッドに音声ファイルの波形データをぶち込んで終了！ってのも流石に味気ないと思いますので、ちゃんと中の仕組みも解説していきます。<br />
この仕組みを紐解く鍵は、音階律、フーリエ変換、窓関数です。</p>
<h2>音階律</h2>
<p>僕たちは何かしらの音源(Instruments)を使って作曲するにあたって、当たり前のように和音を組み合わせてコード進行を展開したり転調したりしてますが、本当はあのロジックも、そもそも音階が複音のメロディの組み合わせに対応できるように数列規則が並んでいる必要があります。<br />
そこで現代の僕らが使ってる音階律は<strong>十二平均律</strong>と言って、どの音階を基準点に持ってきても、その1オクターブ上の音は基音の2倍の周波数である仕組みになっているんです。つまり、オクターブシフトしていくごとに音階の周波数は倍々されていきます。また、こういう風な倍音規則は偶数倍音と呼ばれたりもします。<br />
さらに、1オクターブの中には12個の音階が並んでますので、これを漸化式として一般解を紐解くなら、<br />
F(n+i)=F(n)×(2^(i/12))<br />
ということになりますよね。つまり、普遍的に指数関数が成り立つんです。<br />
そして、実は単にこのロジックだけだったら別に1オクターブが12音階である必要もありません。どの音階の数でも対応させることができます。それが何で1オクターブが12音階になったのかと言いますと、<br />
12個の要素の中央にいるのは何番ですか？　6番と7番ですよね。では、その内の7をiに代入してみてください。<br />
2^(7/12)=1.498…≒1.5<br />
なんです。つまり、なんとこの12音階によって奇跡的に<strong>完全五度</strong>という音が登場しますので、奇数倍音の組み合わせが非常に容易になり、これによってコード理論が成り立つんです。<br />
やっぱ12って奇跡の数なんですかね。時計でも何でも、やたら12という数は美しいというイメージがあります。</p>
<h2>フーリエ変換</h2>
<p>次に。フーリエ変換です。まぁ軽く概要を説明していきますと、<br />
まず、音とは簡単に一定周期で振動する波ですよね。で、440Hz,　554Hz,　659Hzの音を合成する。これも簡単なんです。ただ、その合成された波はぐちゃぐちゃな形をしてて、ぱっと見こいつがどの高さの音をどんくらいの音圧でそれぞれ混ぜていったのかとか分かりませんよね。そいつを分解して、各周波数ごとの音圧を見れるようにするよ？　という風に変換してくれる魔法の数式がフーリエ変換なんです。で、それを作ってしまったのが、フーリエさんやガウスさん、クーリーさん、テューキーさん等です。</p>
<p>どの楽器に当てはめても良いのですが、基本的に音階の周波数が決まってるからって、どの楽器でもその音しか鳴らないというわけではありません。打楽器や笛その他諸々でハーモニーは違いますよね。これは基本周波数以外の倍音やノイズ等の音が良い具合に複雑に混ざり合ってるからなんです。勿論それは物理的な性質がそうしてるものですし、440Hzの純粋な音しか無かったらただのビープ音になります。<br />
また、こいつの式の証明には、オイラーの等式だの級数展開だのバタフライ演算だの非常に面倒くさい課程を踏まなきゃいけないんですけど、別にこの式の原理を理解する必要はなくて、要はこの数式に波形のデータさえぶち込んでしまえば、合成波を単純波成分に分解できるってことさえ分かれば良いんです。</p>
<p>実際にDTMでは、これをスペクトラムアナライザーにかけて分析し、フィルターやイコライザーの力で低周波の音(ゴーゴーする音)や高周波の音(キンキンする音)を取り除いたり、300~500Hz帯をブーストして深みのある音を作ったり、1~1.2kHz帯をブーストしてブライトな音を作ったりして、ミキシング(音を加工)することができます。</p>
<p>ただ、音声データって要はデジタルですよね。<br />
連続する波でできてるんじゃなくて、符号化や量子化を使って、点々と波の位相を記録していく形になっています。この離散の状態からフーリエ変換するにはどうしたらいいのかというと、その音のサンプルたる集合を、例えば1ブロック1024個という風に分割分割していって、まぁその単体のブロックを本当はフレームと呼ぶのですが、フレームごとに周波数分布を確かめる形でパラパラ漫画式に求めていく形になります。こういったフーリエ変換は、短時間フーリエ変換(STFT)と呼ばれます。今回は波形データをMIDIファイルに出力することが目的ですから、この1フレームを16分音符ってことにすれば良いですよね。また、曲にはテンポってものがあります。曲の流れる速さです。それに応じて1フレームに抜き取るサンプル数を調整していきます。</p>
<p>また、本当はこのSTFTの状態だと、Chroma-CQTではなくChroma-STFTという状態になってしまいます。これを解消するためには定Q変換をする必要があるんですが、これの説明は割愛させていただきます。ただ、これによって、Chroma-STFTとChroma-CQTでは後者の方が変換性能は上がると評価されています。これは実際に僕が試してみてもそうでした。</p>
<h2>窓関数</h2>
<p>確かに、この音階律とフーリエ変換という2つの法則を組み合わせれば、何となくいけそうだという雰囲気は掴めて貰えたと思います。<br />
ここで、例えば、1フレームの音階推定はA4…つまりラの音(440Hz)だったとします。他のどの音階の音圧成分よりもA4の音圧量に長けていたとします。それをどのような形にして調べれば良いのでしょうか。本当はこのモデルを自力で考察するだけでもかなり奥深いと思います、そこで使われるやり方は窓関数になります。<br />
この仕組みが一番理解しやすい文献は、恐らく<strong>scipy</strong>という数値計算ライブラリのリファレンスです。実はlibrosaも、このscipyというライブラリをラッピングしています。<br />
<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.windows.hann.html">https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.windows.hann.html</a><br />
これは窓関数の中でもハン窓という関数で、窓関数の中でも最も基本的なモデルです。これ以外にもモデルは色々あります。<br />
<a href="https://docs.scipy.org/doc/scipy/reference/signal.windows.html#module-scipy.signal.windows">https://docs.scipy.org/doc/scipy/reference/signal.windows.html#module-scipy.signal.windows</a><br />
要はこれを使って、440Hz近辺の音だけに周波数の候補を区切って、その音階の強さというのを割り出せば良いんですね。それを各音階ごとに調べていき、最大音圧帯がその音階だと割り出せば良いのです。<br />
勿論、440Hzの音と439Hzの音では、440Hzが一番価値のある音と見られるはずですから、440Hzから離れる音ほど価値の薄いものとしてフィルタリングをかける必要があります。だから窓関数はこういう見た目になってます。<br />
今回僕はハミング窓を使いましたが、別にこのモデルは正直何でも良くて、ガウス窓でもブラックマン窓でも特に音階推定においてそこまで致命的な支障は出ないです。librosa.cqtだとデフォルトがハン窓になってて、Chroma-CQTの活用例では割と三角窓が紹介されてることが多いです。<br />
また、先ほどの音階律を思い出してほしいのですが、音階律って線形関数ではなく指数関数でしたよね。つまり、<br />
220Hz,　440Hz,　880Hz,　1760Hz…と、音階が上がってくごとにその音の陣取る領域って何となく広くなっていくことがイメージされますよね。<br />
そこで、<strong>重み付き窓関数</strong>というのを利用して、その一つの音が陣取る音域が広くなるほど高さを縮める戦術で上手いことバランスを取る作戦に出てるんです。これに関する最も分かりやすいソースはこちらになります。<br />
<a href="https://www.wizard-notes.com/entry/music-analysis/pitch-and-chroma">Python (LibROSA) で音高 ・クロマ特徴を算出する方法</a></p>
<p>そんな感じでChroma-CQTアルゴリズムの説明は以上になります。それでは、早速作っていきましょう。</p>
<h2>実践</h2>
<p>僕のGitHubソースコードです。今回はPythonでコードを書いたのですが、折角ですのでPythonのGUIライブラリであるKivyを使用してアプリ開発しました。<br />
<a href="https://github.com/AyatoMatsui/sysken01">https://github.com/AyatoMatsui/sysken01</a><br />
パッケージのインストールについてはGitHubに軽く説明を記載しましたが、何か環境構築でエラーが起きた等の話がありましたら相談を受け付けます。Kivyの扱い方については、残念ながら、この場では説明を割愛させていただきます。</p>
<p>アプリの見た目はこんな感じになっております。<br />
<img src="/wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-1614" srcset="/wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-300x188.png 300w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-1024x640.png 1024w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-1536x960.png 1536w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-2048x1280.png 2048w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-530x331.png 530w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-565x353.png 565w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-710x444.png 710w, /wp-content/uploads/2022/03/スクリーンショット-2022-03-09-22.38.44-725x453.png 725w" sizes="(max-width: 300px) 100vw, 300px" /><br />
本当はモバイル版にデプロイしようと思ったのですが、KivyではAPK出力にBuildozerというツールを要します。そこでパーミッション(storage)の設定をするのが非常に面倒であったため、僕はそこで諦めてしまいました。よって、デスクトップアプリとしてそのまま遊んで貰えたらなと思います。</p>
<p>画面設計の説明としては、まず画面上半分の部分で音声ファイルを選択し、playボタンを押すと、音声が再生されます。テンポ周波数が曲の速さ。±で速さを弄ることができます。そして、隣のクロックボタンを押すと、メトロノームが鳴ります。ただ、これはkivyの仕様のせいでもあるのでしょうか、何故かしらこのメトロノームはテンポがぎこちないですので、正直あまり参考にはならないです。改善点が見つかればプログラムを直しておきます。<br />
最後に、WAV2MIDIというボタンを押せば、MIDI変換は終了です。<br />
残念ながら、MIDI再生機能は用意しておりません。そこも実装できればアップデートしておきたいと思います。</p>
<p>次に、ソースコードの解説をします。<br />
まずはFileChooserIconViewから読み取られた音声ファイル情報をlibrosa.loadで読み込んでいきます。WAV2MIDI変換というボタンは、onClickConvertButtonというメソッドの中で動きます。そこでChroma-CQTをして、そこから最も音圧が大きい音を抽出し、一元配列上に並べていきます。<br />
また、「さしすせそ」や「ちつ」という音は歯擦音と言って、「s」の発音は高周波数帯の音が多く出てしまい、それが音階推定を妨害する羽目になりますので、高い音圧帯は10dB下がるようにカッティングしています。<br />
そのようにして、例えば…<br />
30,30,30,31,31,32<br />
という風に要素が並べば、<br />
[30,3],[31,2],[32,1]<br />
という風に音符の長さを出していきます。<br />
ここまで調理したら、あとはmidoという優秀なPythonのMIDI出力ライブラリがありますので、そこでノートを開いて、順繰りに書き出ししてやって、音声ファイルを選んだディレクトリにそのまま.midを出力してあげれば、念願の歌えば作曲完了システムのできあがりです。</p>
<p>そして、これが音声のサンプルファイルです。Green Sleevesという曲を歌ってます。<br />
<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->
<audio class="wp-audio-shortcode" id="audio-1604-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3?_=1" /><a href="/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3">/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3</a></audio></p>
<p>…なんか歌う途中で燃え尽きてますが、まぁご容赦を。<br />
これを127.12のテンポで合わせてWAV2MIDI変換を押せば、MIDIファイルが出力されます。<br />
こちらの変換後の.midデータはダウンロード形式になっています。<br />
<a href="/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3.mid">Record (online-voice-recorder.com).mp3.mid</a></p>
<p>あとは、これをDAWソフトに向けてドラッグ＆ドロップするだけです。それを実際に演奏させてみた結果がこちらになります。<br />
<div style="width: 1920px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-1604-1" width="1920" height="1000" preload="metadata" controls="controls"><source type="video/mp4" src="/wp-content/uploads/2022/03/Cakewalk-test.cwp_-2022-03-10-00-21-16.mp4?_=1" /><a href="/wp-content/uploads/2022/03/Cakewalk-test.cwp_-2022-03-10-00-21-16.mp4">/wp-content/uploads/2022/03/Cakewalk-test.cwp_-2022-03-10-00-21-16.mp4</a></video></div></p>
<p>…何というか、残念な感じになってしまいましたが、まぁこれはテンポの調整とか人間の歌の上手い下手にもよると思いますので、微調整はDAWの中で行いましょう。<br />
というわけで、本当にお疲れ様でした。</p>
<h2>感想その他</h2>
<p>最後に感想と、この記事を書くに至った経緯の話をしたいなと思います。すいません。<br />
今回の制作はとても楽しかったです。テストする方法が、実際に僕が歌ってみるという原始的なやり方だったりしたのも楽しかった点だと思います。<br />
もう今後は作曲も、必死に音感を身に着けたり一生懸命理論を学んだ人たちより、のど自慢の奴や単純にインスピレーションに長けた人たちの方が勝てるって風潮になるのかなという社会現象も気になるところではあります。まぁ最近はボカロPになりたいと言っている子ども達も多いですし、もっとDTMも色んな意味で学習コストが下がってくれると嬉しいですね。</p>
<p>で、ここから先は僕の意見みたいな話になってしまうのですが、すいません。僕がこの記事を書こうと思った理由の話をしていきたいなと思います。<br />
皆さんがこの記事を読んで思ったことは何でしょうか。恐らく、こんな話を聞いても…技術としての応用幅がこれ以外に無いと言いますか、プログラムに関する紹介が薄いと言いますか、まぁ総合的にあまり実用的な話ではなかったように思われた方もいるだろうと思います。今回はそういった方々に向けた話を、少しだけしたいなと思います。<br />
先に簡単な結論を言いますと、今回の記事を書いた趣旨としては、皆さんにアプリ開発の技術を広めるためといった直接的に役に立つ内容ではなく、皆さんに数学の楽しさを教えるためを思って、その事例の一つとしてこれを広めることを考えました。その意図は非常に発展的な話です。<br />
まずアプリ開発において大事なのは、UnityやVue.js等といったツールを使いこなすこと。それは僕もそう思います。<br />
ただ、それで実際に何を作るかというコンセプトを聞かれた時にやるべきことって、フレームワークやその中のデザインツールの使い方やらインフラやらを学ぶことではないと思っていて、そういったアイデアのヒントの一つとして、数学やアルゴリズムがあると思ってます。(勿論、数学に限定されなくとも結構です。)<br />
その比較的身近な例としては、Photoshopの投げ縄ツールとか、Blenderのミラーモディファイアとか。モバイルアプリで使われるAR技術でも、スマホを動かすとちゃんとそのオブジェクトがその定位置に合うよう角度や位置が連動してくれるじゃないですか。あれってどうなってるんだろうとか、実はそういった物事の裏で動作してるものとして、実は案外思ってもない面白い数学が転がってます。<br />
ただ、そういった面白い数学という中でも、今回のChroma-CQTは若干意表を突いた内容だったと思います。その原因としては、そもそも数学に関心のある対象がゲームプログラミングやその他CG系といった視野に限定されているからだと思います。(勿論、そっち系でも面白いアルゴリズムは色々ありますけど。)<br />
その点、今回の音響数理工学は、お世辞にもメジャーとは言えない内容です。しかし、それもよくよく考えてみれば、ITには重要なパーツの一つに組み込めます。そういった視野の拡張こそがアイデアを得る方法の一つだと僕は考えており、実は僕はこれ以外にも何個かそういう系のネタを隠し持ってます。それらを知るアイデアの元となったのは、アプリ開発系のプログラミングとはおおよそ関係のないところですし、何なら数学という論理性からヒントを辿って得たものでもありません。しかし、数学というもの自体には興味を持ってないと、それに辿り着くことは恐らく不可能です。それこそが、応用数学の魅力と言ってもいいところかもしれません。<br />
それに、大学という場所は、勿論製品開発も大事ではあるのですが、どちらかと言えば研究をすることを良しとします。その研究にあたっても、残念ながら、プログラムの書かれてない論文を読むことを求められる場面もしばしばありますので、そういった意味でも、数学に価値を見出すことは何かしらの保険にもなると思います。<br />
まぁそんなわけでダラダラと話してしまいましたが、この文面で何となく数学の重要性が伝わっていただけたでしょうか。<br />
また良ければ何か一つ面白いものでも作って、ここにアイデアを広めたいなと思います。ここまでの記事を読んでくださり、誠にありがとうございました。それでは。</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1604%2F&amp;linkname=%E6%AD%8C%E3%81%88%E3%81%B0%E4%BD%9C%E6%9B%B2%E5%AE%8C%E4%BA%86" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1604%2F&amp;linkname=%E6%AD%8C%E3%81%88%E3%81%B0%E4%BD%9C%E6%9B%B2%E5%AE%8C%E4%BA%86" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1604%2F&amp;linkname=%E6%AD%8C%E3%81%88%E3%81%B0%E4%BD%9C%E6%9B%B2%E5%AE%8C%E4%BA%86" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1604%2F&#038;title=%E6%AD%8C%E3%81%88%E3%81%B0%E4%BD%9C%E6%9B%B2%E5%AE%8C%E4%BA%86" data-a2a-url="/1604/" data-a2a-title="歌えば作曲完了"></a></p>]]></content>
		
		<link href="/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3" rel="enclosure" length="0" type="" />
<link href="/wp-content/uploads/2022/03/Record-online-voice-recorder.com_.mp3.mid" rel="enclosure" length="0" type="" />
<link href="/wp-content/uploads/2022/03/Cakewalk-test.cwp_-2022-03-10-00-21-16.mp4" rel="enclosure" length="0" type="" />
			<link rel="replies" type="text/html" href="/1604/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1604/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>tsuttsun</name>
					</author>

		<title type="html"><![CDATA[自宅でお手軽マイニング]]></title>
		<link rel="alternate" type="text/html" href="/1478/" />

		<id>/?p=1478</id>
		<updated>2021-11-10T13:53:21Z</updated>
		<published>2021-11-10T10:51:11Z</published>
		<category scheme="" term="未分類" />
		<summary type="html"><![CDATA[はじめに 初めまして、KK専攻2年の筒井です。この記事が初になります。どうぞよろしくお願いします。 今回は、自宅で手軽にマイニングをする方法を紹介していきます。 必要なもの RTX2、3000シリーズ(LHR版については [&#8230;]]]></summary>

					<content type="html" xml:base="/1478/"><![CDATA[<h2>はじめに</h2>
<p>初めまして、KK専攻2年の筒井です。この記事が初になります。どうぞよろしくお願いします。<br />
今回は、自宅で手軽にマイニングをする方法を紹介していきます。</p>
<h2>必要なもの</h2>
<ul>
<li>RTX2、3000シリーズ(LHR版については後述)か、Radeon RX5、6000シリーズのグラフィックボード</li>
<li>(CPUマイニングするのであれば)Intel Core iシリーズかAMD RyzenシリーズのCPU</li>
</ul>
<h2>LHR版について</h2>
<p>LHR版、通称Lite Hash Rate版のグラフィックボードは、マイニング性能に制限が掛かります。最近出回っているRTX3000シリーズのグラフィックボードには、ほとんどLHRが適用されています。なお、RadeonのグラフィックボードにはLHRが適用されていません。<del>でもドライバーがクs&#8230;</del><br />
(適用後でもそこそこ掘れるという報告があるので、気にする必要はないと思いますが&#8230;)</p>
<h2>準備</h2>
<p><font color="red">※ Nvidia製GPUのみで使用できるNiceHashQMもありますが、今回はAMD製GPUをしている方にも説明したいので、NiceHashQMについては割愛します。</font></p>
<ul>
<li><a href="https://www.nicehash.com/">NiceHash</a>にアクセスし、ページの真ん中あたりにある「マイニングを始める」をクリックして、登録するメールアドレスとパスワードを入力します。</li>
</ul>
<p><img src="/wp-content/uploads/2021/11/スクリーンショット-42.png" alt="" width="1920" height="1080" class="alignnone size-full wp-image-1529" srcset="/wp-content/uploads/2021/11/スクリーンショット-42.png 1920w, /wp-content/uploads/2021/11/スクリーンショット-42-300x169.png 300w, /wp-content/uploads/2021/11/スクリーンショット-42-1024x576.png 1024w, /wp-content/uploads/2021/11/スクリーンショット-42-1536x864.png 1536w, /wp-content/uploads/2021/11/スクリーンショット-42-320x180.png 320w, /wp-content/uploads/2021/11/スクリーンショット-42-530x298.png 530w, /wp-content/uploads/2021/11/スクリーンショット-42-565x318.png 565w, /wp-content/uploads/2021/11/スクリーンショット-42-710x399.png 710w, /wp-content/uploads/2021/11/スクリーンショット-42-725x408.png 725w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<ul>
<li>すると、上図の様に認証コードが要求されるので、登録するメールアドレスの受信箱から認証コードを確認し、入力します。</li>
</ul>
<p><img src="/wp-content/uploads/2021/11/mail.png" alt="" width="1920" height="1080" class="alignnone size-full wp-image-1528" srcset="/wp-content/uploads/2021/11/mail.png 1920w, /wp-content/uploads/2021/11/mail-300x169.png 300w, /wp-content/uploads/2021/11/mail-1024x576.png 1024w, /wp-content/uploads/2021/11/mail-1536x864.png 1536w, /wp-content/uploads/2021/11/mail-320x180.png 320w, /wp-content/uploads/2021/11/mail-530x298.png 530w, /wp-content/uploads/2021/11/mail-565x318.png 565w, /wp-content/uploads/2021/11/mail-710x399.png 710w, /wp-content/uploads/2021/11/mail-725x408.png 725w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<ul>
<li>認証コードの入力が承認されると、マイニングのポータル画面に飛ばされます。上部のタブの、マイニングをクリックして、右上の新しいリグの追加をクリックします。<br />
ダウンロードするプログラムを選択する画面が現れるので、NiceHash Miner -&gt; リグにアンチウイルスの除外設定&#8230;にチェックを入れ、GitHubのページに飛んでください。</li>
</ul>
<p><img src="/wp-content/uploads/2021/11/download-1.png" alt="" width="1920" height="1080" class="alignnone size-full wp-image-1532" /></p>
<p><img src="/wp-content/uploads/2021/11/hub.png" alt="" width="1920" height="1080" class="alignnone size-full wp-image-1534" srcset="/wp-content/uploads/2021/11/hub.png 1920w, /wp-content/uploads/2021/11/hub-300x169.png 300w, /wp-content/uploads/2021/11/hub-1024x576.png 1024w, /wp-content/uploads/2021/11/hub-1536x864.png 1536w, /wp-content/uploads/2021/11/hub-320x180.png 320w, /wp-content/uploads/2021/11/hub-530x298.png 530w, /wp-content/uploads/2021/11/hub-565x318.png 565w, /wp-content/uploads/2021/11/hub-710x399.png 710w, /wp-content/uploads/2021/11/hub-725x408.png 725w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<ul>
<li>nhm_windows(バージョン名).exeをクリックして、インストーラーをダウンロードします。インストーラーを実行し、画面の指示に従ってください。</li>
</ul>
<p><font color="red">※NiceHashのプログラムを起動する前に、必ずNiceHashをインストールしたPath(C:\Users&#040;ユーザ名)\AppData\Local\Programs\NiceHash Miner)に、セキュリティソフトのリアルタイム・スキャン検知除外設定を行ってください。詳しい設定方法については、お使いのセキュリティソフトのヘルプを参照してください。</font></p>
<h2>マイニングしよう</h2>
<ul>
<li>起動して、登録したアカウントでログインすると、以下のようなサードパーティソフトの承諾の画面が現れます。CPUマイニングが不要なら、XMRigはDeclineしてしまって構いません。NBMinerやlolMinerは、GPUマイニングの中でも比較的高いハッシュレートが期待できるので、基本的にAcceptで承諾してください。<br />
<img src="/wp-content/uploads/2021/11/tp.png" alt="" width="780" height="585" class="alignnone size-full wp-image-1540" srcset="/wp-content/uploads/2021/11/tp.png 780w, /wp-content/uploads/2021/11/tp-300x225.png 300w, /wp-content/uploads/2021/11/tp-530x398.png 530w, /wp-content/uploads/2021/11/tp-565x424.png 565w, /wp-content/uploads/2021/11/tp-710x533.png 710w, /wp-content/uploads/2021/11/tp-725x544.png 725w" sizes="(max-width: 780px) 100vw, 780px" /></p>
</li>
<li>
<p>すると、ホーム画面が現れるので、真ん中の&#8221;Start Mining&#8221;をクリックします。すると、使っているGPUに最適なマイニングソフトを見つけるためのベンチマークが始まります。<br />
<img src="/wp-content/uploads/2021/11/main.png" alt="" width="1114" height="554" class="alignnone size-full wp-image-1545" srcset="/wp-content/uploads/2021/11/main.png 1114w, /wp-content/uploads/2021/11/main-300x149.png 300w, /wp-content/uploads/2021/11/main-1024x509.png 1024w, /wp-content/uploads/2021/11/main-530x264.png 530w, /wp-content/uploads/2021/11/main-565x281.png 565w, /wp-content/uploads/2021/11/main-710x353.png 710w, /wp-content/uploads/2021/11/main-725x361.png 725w" sizes="(max-width: 1114px) 100vw, 1114px" /></p>
</li>
<li>
<p>ベンチマークが完了すると、以下のように最適なマイニングソフトが起動します。(画面左がCPUマイニング、右がGPUマイニング)<br />
<img src="/wp-content/uploads/2021/11/lolminer.png" alt="" width="1920" height="1080" class="alignnone size-full wp-image-1548" srcset="/wp-content/uploads/2021/11/lolminer.png 1920w, /wp-content/uploads/2021/11/lolminer-300x169.png 300w, /wp-content/uploads/2021/11/lolminer-1024x576.png 1024w, /wp-content/uploads/2021/11/lolminer-1536x864.png 1536w, /wp-content/uploads/2021/11/lolminer-320x180.png 320w, /wp-content/uploads/2021/11/lolminer-530x298.png 530w, /wp-content/uploads/2021/11/lolminer-565x318.png 565w, /wp-content/uploads/2021/11/lolminer-710x399.png 710w, /wp-content/uploads/2021/11/lolminer-725x408.png 725w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
</li>
</ul>
<p>これでマイニングができるようになりました。良いマイニングLifeを！</p>
<h2>おまけ</h2>
<p>上のように、NiceHashの導入方法を説明しましたが、自分がこれを導入しようとした時には、思いもよらないトラブルが起きました&#8230;</p>
<p>自分の環境で、マイニングを実行しようとしても実行されなくて、ふと右下にポップアップが表示されたので見てみると&#8230;</p>
<p><strong>ノートンがSystem Infected: Miner.Bitcoinminer Activity※※ で攻撃を遮断しました。</strong></p>
<p>ここに来て、ついにノートンが<del>ジャマ</del>警告をしてきました。<br />
一つだけ切っても別のActivityで警告を出してくるので、マイニングやマイニングソフトのダウンロードに関係する侵入シグネチャの設定をオフにしました。</p>
<p><img src="/wp-content/uploads/2021/11/firewall.png" alt="" width="791" height="523" class="alignnone size-full wp-image-1559" srcset="/wp-content/uploads/2021/11/firewall.png 791w, /wp-content/uploads/2021/11/firewall-300x198.png 300w, /wp-content/uploads/2021/11/firewall-530x350.png 530w, /wp-content/uploads/2021/11/firewall-565x374.png 565w, /wp-content/uploads/2021/11/firewall-710x469.png 710w, /wp-content/uploads/2021/11/firewall-725x479.png 725w" sizes="(max-width: 791px) 100vw, 791px" /></p>
<p>これで解決&#8230;と思いきやまだマイニングソフトが起動してくれません。<br />
再びノートンがポップアップを出してきたので見てみると、</p>
<p><strong>NiceHash Minerは遮断されネットワークリソースにアクセスできなくなりました</strong><br />
<strong>(マイニングソフト)は遮断されネットワークリソースにアクセスできなくなりました</strong></p>
<p><img src="/wp-content/uploads/2021/11/program_rule.png" alt="" width="780" height="520" class="alignnone size-full wp-image-1568" srcset="/wp-content/uploads/2021/11/program_rule.png 780w, /wp-content/uploads/2021/11/program_rule-300x200.png 300w, /wp-content/uploads/2021/11/program_rule-530x353.png 530w, /wp-content/uploads/2021/11/program_rule-565x377.png 565w, /wp-content/uploads/2021/11/program_rule-710x473.png 710w, /wp-content/uploads/2021/11/program_rule-725x483.png 725w" sizes="(max-width: 780px) 100vw, 780px" /></p>
<p><del>おいノートンいい加減に(</del>と、ノートンに当たってもよくないので、プログラムルールから該当するソフトにインターネットの接続を許可しました。</p>
<p>この後警告は出なくなり、無事にマイニングができるようになりました、これのために30分ぐらい時間がかかってしまいました&#8230;</p>
<p>セキュリティソフト選びには気をつけようね！</p>
<h2>おわりに</h2>
<p>今回はマイニングのやり方についてを紹介しました。あやふやな説明になってしまいましたが、これからマイニングをする方が参考になれば幸いです。</p>
<p>最近(2021年11月10日時点)、ビットコインの価格が上がってきているのでマイニング需要が更に高まりそうですね！</p>
<p>ここまで読んでいただきありがとうございました。</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1478%2F&amp;linkname=%E8%87%AA%E5%AE%85%E3%81%A7%E3%81%8A%E6%89%8B%E8%BB%BD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1478%2F&amp;linkname=%E8%87%AA%E5%AE%85%E3%81%A7%E3%81%8A%E6%89%8B%E8%BB%BD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1478%2F&amp;linkname=%E8%87%AA%E5%AE%85%E3%81%A7%E3%81%8A%E6%89%8B%E8%BB%BD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1478%2F&#038;title=%E8%87%AA%E5%AE%85%E3%81%A7%E3%81%8A%E6%89%8B%E8%BB%BD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0" data-a2a-url="/1478/" data-a2a-title="自宅でお手軽マイニング"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1478/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1478/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>阪口穂香</name>
					</author>

		<title type="html"><![CDATA[勢いだけで情報科学科に入ってしまったので、とりあえずホームページの書き方を勉強してみた。]]></title>
		<link rel="alternate" type="text/html" href="/1419/" />

		<id>/?p=1419</id>
		<updated>2021-10-05T06:25:36Z</updated>
		<published>2021-10-08T03:00:16Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[はじめに この記事はアドベントカレンダー６日目の記事です。 タイトルの通りパソコン初心者の1年生です！ 夏休みにフロントエンドについて勉強したので、アウトプット用に記事を書きました。 温かい目で見ていただけると嬉しいです [&#8230;]]]></summary>

					<content type="html" xml:base="/1419/"><![CDATA[<h2>はじめに</h2>
<p>この記事はアドベントカレンダー６日目の記事です。<br />
タイトルの通りパソコン初心者の1年生です！<br />
夏休みにフロントエンドについて勉強したので、アウトプット用に記事を書きました。<br />
温かい目で見ていただけると嬉しいです！</p>
<h2>今回勉強したこと</h2>
<p>*HTML<br />
*CSS<br />
*(JavaScript)</p>
<h2>HTML</h2>
<p>まず最初に書いてみたのがHTMLです。<br />
プロゲートという勉強サイトのスライドを見ながらホームページの内容を書きました。<br />
今までC言語しか触ったことがなかったためhead,body,footerの概念が理解できませんでしたが、実際に言語を書いてみて理解することができました！</p>
<h2>CSS</h2>
<p>いよいよCSSでデザインを付け加える！というところまで来て次に詰まったのがHTMLにCSSが反映されないということです。<br />
先輩に教えていただいて<br />
&#8220;&#8221;<br />
これの存在を知り感動したのはいい思い出です。<br />
外部ファイルを繋げるというのもこの夏休みに初めて知りました！<br />
そして地味につまづいたのがクラスネームについてです、推し声優さんの写真をサイトに貼ろうとしたのですが、この時の私はクラスネームをどうやって使うのかよくわかっていなかったため、画像のサイズが全て一緒になってしまいました…</p>
<h2>JavaScript</h2>
<p>後期の授業で勉強する言語ということでほんの少しだけ触ってみました！<br />
とりあえず基本的な文法だけ勉強して、あとはネットのコードを参考にしてホームページ制作に組み込んでみました！<br />
HTMLやCSSのように自力である程度書けるとまではいきませんが、なんとなく使うことができました！</p>
<h2>今回作ったホームページ</h2>
<p>初めて作る勉強用のホームページということで自分が作っていて楽しいと思えるものを作りました。<br />
オタク仲間の推しを語っているだけのホームページです！<br />
<img src="https://i.imgur.com/Yz39U9F.png" alt="" /></p>
<p>これがホームページを開くと最初に出てくる画面です。<br />
JavaScriptを使いページの切り替えができるようにしてあります。<br />
宣伝は基本なので公式サイトに飛べるようにリンクを貼ってみました！<br />
<img src="https://i.imgur.com/KgDr50V.png" alt="" /></p>
<p>推しを紹介するページはこのような感じです。<br />
ここではCSSを使って枠を作ってみました！</p>
<h2>おわりに</h2>
<p>今回HTML&amp;CSSについて完璧に理解できたわけではなく、<br />
*ボーダー<br />
*レイアウト<br />
に関してはまだしっかりと触れていないのでこれからこのホームページに付け加えて勉強していきます。<br />
JavaScriptに関しては基礎の基礎しかわからない状態ですがなんとなく難しそうな気がしているので、後期の講義は心して受けようと思います…<br />
本当に初心者なのでまだまだ技術的にも記事の内容的にも濃い内容はかけませんでしたが、いいアウトプットができました！自分がつまづいたことやこれから勉強していくべきことが理解できたかなと思います！<br />
読んでいただきありがとうございました！</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1419%2F&amp;linkname=%E5%8B%A2%E3%81%84%E3%81%A0%E3%81%91%E3%81%A7%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E7%A7%91%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E3%83%9B%E3%83%BC%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%82%92%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1419%2F&amp;linkname=%E5%8B%A2%E3%81%84%E3%81%A0%E3%81%91%E3%81%A7%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E7%A7%91%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E3%83%9B%E3%83%BC%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%82%92%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1419%2F&amp;linkname=%E5%8B%A2%E3%81%84%E3%81%A0%E3%81%91%E3%81%A7%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E7%A7%91%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E3%83%9B%E3%83%BC%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%82%92%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1419%2F&#038;title=%E5%8B%A2%E3%81%84%E3%81%A0%E3%81%91%E3%81%A7%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E7%A7%91%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E3%83%9B%E3%83%BC%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%82%92%E5%8B%89%E5%BC%B7%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82" data-a2a-url="/1419/" data-a2a-title="勢いだけで情報科学科に入ってしまったので、とりあえずホームページの書き方を勉強してみた。"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1419/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1419/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>kobayashi</name>
					</author>

		<title type="html"><![CDATA[【アドベントカレンダー】 Raspberry pi + Webカメラで自宅警備]]></title>
		<link rel="alternate" type="text/html" href="/1390/" />

		<id>/?p=1390</id>
		<updated>2021-10-07T13:18:41Z</updated>
		<published>2021-10-07T00:00:42Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[はじめに 　１０月アドベントカレンダーの５日目に記事を書くことになりました。小林です。 前回のアドベントカレンダーの記事で書いた Raspberry pi[Ubuntu]でファイル鯖[Samba]を構築 と関連したものに [&#8230;]]]></summary>

					<content type="html" xml:base="/1390/"><![CDATA[<h2>はじめに</h2>
<p>　１０月アドベントカレンダーの５日目に記事を書くことになりました。小林です。<br />
前回のアドベントカレンダーの記事で書いた <a href="/?p=1274">Raspberry pi[Ubuntu]でファイル鯖[Samba]を構築</a> と関連したものになります。<br />
本記事だけでも実際に運用する分には特に問題はありませんが、他のサービスと連携することでより一層の便利なものになります。<br />
ぜひとも、前回の記事を一読していただいてから本記事を読むことを推奨します。</p>
<h2>目次</h2>
<ul>
<li>はじめに</li>
<li>対象者</li>
<li>構成</li>
<li>構築</li>
<li>Samba と連携</li>
<li>さいごに</li>
<li>参照</li>
</ul>
<h2>対象者</h2>
<ul>
<li>お手軽に自宅警備をしたい</li>
<li>Samba で共有するファイルがなくて困ってる</li>
</ul>
<h2>構成</h2>
<ul>
<li>Raspberry pi 3 B+ (Ubuntu 20.01)</li>
<li><a href="https://www.amazon.co.jp/-/en/Samsung-MicroSDXC-Nintendo-Operation-Confirmed/dp/B06XSV23T1/ref=sr_1_5?dchild=1&amp;keywords=SD%E3%82%AB%E3%83%BC%E3%83%89&amp;qid=1632638782&amp;sr=8-5&amp;th=1">SDカード (32GB)</a></li>
<li><a href="https://www.amazon.co.jp/-/en/Logitech-C270n-Webcam-Streaming-Simple/dp/B07QMKND9M/ref=sr_1_6?dchild=1&amp;keywords=USB%E3%82%AB%E3%83%A1%E3%83%A9&amp;qid=1632638726&amp;sr=8-6">USBカメラ</a></li>
</ul>
<h2>構築</h2>
<p>必要なパッケージのインストール</p>
<pre><code>&gt; apt install autoconf automake autopoint build-essential pkgconf libtool libzip-dev libjpeg-dev git libavformat-dev \
  libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev libwebp-dev gettext libmicrohttpd-dev
</code></pre>
<p>ユーザ追加</p>
<pre><code>&gt; useradd -m motion-user
</code></pre>
<p>パッケージのダウンロード</p>
<pre><code>&gt; cd motion-user
&gt; git clone https://github.com/Motion-Project/motion.git
</code></pre>
<p>インストール</p>
<pre><code>&gt; cd motion
&gt; autoreconf -fiv
&gt; ./configure
&gt; make &amp;&amp; make install
</code></pre>
<p>バージョン確認</p>
<pre><code>&gt; motion -h
motion Version 4.3.1+git20210818-d670829, Copyright 2000-2021 Jeroen Vreeken/Folkert van Heusden/Kenneth Lavrsen/Motion-Project maintainers
</code></pre>
<p>設定ファイル編集<br />
　今回インストールしたバージョンで用意されている motion-dist.conf は、設定項目の大半が省略されているため使用しません。<br />
motion.conf を作成し、以下のデフォルト設定を張り付けます。</p>
<pre><code># /usr/local/etc/motion/motion.conf
#
# This config file was generated by motion 4.3.1+git20210818-d670829
# at 2021-09-23T18:11:28


############################################################
# System control configuration parameters
############################################################

# Start in daemon (background) mode and release terminal.
daemon off

# Start in Setup-Mode, daemon disabled.
setup_mode off

# File to store the process ID.
; pid_file value

# File to write logs messages into.  If not defined stderr and syslog is used.
; log_file value

# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL).
log_level 6

# Filter to log messages by type (COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL).
log_type ALL

# Do not sound beeps when detecting motion
quiet on

# Native language support.
native_language on

# Watchdog timeout.
watchdog_tmo 30

# Watchdog kill.
watchdog_kill 10

# User defined name for the camera.
; camera_name value

# Numeric identifier for the camera.
camera_id 0

# Target directory for pictures, snapshots and movies
target_dir .

# Video device (e.g. /dev/video0) to be used for capturing.
video_device /dev/video0

# Parameters to control video device.  See motion_guide.html
; video_params value

# The Motion method to use to change the brightness/exposure on video device.
auto_brightness 0

# Device name (e.g. /dev/tuner0) to be used for capturing when using tuner as source
; tuner_device value

# Number of frames to capture in each roundrobin step
roundrobin_frames 1

# Number of frames to skip before each roundrobin step
roundrobin_skip 1

# Try to filter out noise generated by roundrobin
roundrobin_switchfilter off

# The full URL of the network camera stream.
; netcam_url value

# The parameters for the network camera.
; netcam_params value

# Optional high resolution URL for rtsp/rtmp cameras only.
; netcam_high_url value

# The parameters for the high resolution network camera.
; netcam_high_params value

# Username and password for network camera. Syntax username:password
; netcam_userpass value

# Name of mmal camera (e.g. vc.ril.camera for pi camera).
; mmalcam_name value

# Camera control parameters (see raspivid/raspistill tool documentation)
; mmalcam_params value

############################################################
# Image Processing configuration parameters
############################################################

# Image width in pixels.
width 640

# Image height in pixels.
height 480

# Maximum number of frames to be captured per second.
framerate 15

# Minimum time in seconds between capturing picture frames from the camera.
minimum_frame_time 0

# Number of degrees to rotate image.
rotate 0

# Flip image over a given axis
flip_axis none

# Draw a locate box around the moving object.
locate_motion_mode off

# Set the look and style of the locate box.
locate_motion_style box

# Text to be overlayed in the lower left corner of images
text_left CAMERA1

# Text to be overlayed in the lower right corner of images.
text_right %Y-%m-%d\n%T-%q

# Overlay number of changed pixels in upper right corner of images.
text_changes off

# Scale factor for text overlayed on images.
text_scale 1

# The special event conversion specifier %C
text_event %Y%m%d%H%M%S

############################################################
# Motion detection configuration parameters
############################################################

# Always save pictures and movies even if there was no motion.
emulate_motion off

# pause motion detection.
pause off

# Threshold for number of changed pixels that triggers motion.
threshold 1500

# The maximum threshold for number of changed pixels that triggers motion.
threshold_maximum 0

# Enable tuning of the threshold down if possible.
threshold_tune off

# Noise threshold for the motion detection.
noise_level 32

# Automatically tune the noise threshold
noise_tune on

# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel.
despeckle_filter EedDl

# Area number used to trigger the on_area_detected script.
; area_detect value

# Full path and file name for motion detection mask PGM file.
; mask_file value

# Full path and file name for privacy mask PGM file.
; mask_privacy value

# The value defining how slow or fast the smart motion mask created and used.
smart_mask_speed 0

# Percentage of image that triggers a lightswitch detected.
lightswitch_percent 0

# When lightswitch is detected, ignore this many frames
lightswitch_frames 5

# Number of images that must contain motion to trigger an event.
minimum_motion_frames 1

# Gap in seconds of no motion detected that triggers the end of an event.
event_gap 60

# The number of pre-captured (buffered) pictures from before motion.
pre_capture 3

# Number of frames to capture after motion is no longer detected.
post_capture 0

############################################################
# Script execution configuration parameters
############################################################

# Command to be executed when an event starts.
; on_event_start value

# Command to be executed when an event ends.
; on_event_end value

# Command to be executed when a picture is saved.
; on_picture_save value

# Command to be executed when motion in a predefined area is detected
; on_area_detected value

# Command to be executed when motion is detected
; on_motion_detected value

# Command to be executed when a movie file is created.
; on_movie_start value

# Command to be executed when a movie file is closed.
; on_movie_end value

# Command to be executed when a camera can't be opened or if it is lost
; on_camera_lost value

# Command to be executed when a camera that was lost has been found.
; on_camera_found value

############################################################
# Picture output configuration parameters
############################################################

# Output pictures when motion is detected
picture_output off

# Output pictures with only the pixels moving object (ghost images)
picture_output_motion off

# Format for the output pictures.
picture_type jpeg

# The quality (in percent) to be used in the picture compression
picture_quality 75

# Text to include in a JPEG EXIF comment
; picture_exif value

# File name(without extension) for pictures relative to target directory
picture_filename %Y%m%d%H%M%S-%q

############################################################
# Snapshot output configuration parameters
############################################################

# Make automated snapshot every N seconds
snapshot_interval 0

# File name(without extension) for snapshots relative to target directory
snapshot_filename %v-%Y%m%d%H%M%S-snapshot

############################################################
# Movie output configuration parameters
############################################################

# Create movies of motion events.
movie_output on

# Create movies of moving pixels of motion events.
movie_output_motion off

# Maximum length of movie in seconds.
movie_max_time 60

# The fixed bitrate to be used by the movie encoder. Ignore quality setting
movie_bps 400000

# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best)
movie_quality 45

# Container/Codec to used for the movie. See motion_guide.html
movie_codec mkv

# Duplicate frames to achieve "framerate" fps.
movie_duplicate_frames off

# Pass through from the camera to the movie without decode/encoding.
movie_passthrough off

# File name(without extension) for movies relative to target directory
movie_filename %t-%v-%Y%m%d%H%M%S

# Use pipe and external encoder for creating movies.
movie_extpipe_use off

# Full path and options for external encoder of movies from raw images
; movie_extpipe value

############################################################
# Timelapse output configuration parameters
############################################################

# Interval in seconds between timelapse captures.
timelapse_interval 0

# Timelapse file rollover mode. See motion_guide.html for options and uses.
timelapse_mode daily

# Frame rate for timelapse playback
timelapse_fps 30

# Container/Codec for timelapse movie.
timelapse_codec mpg

# File name(without extension) for timelapse movies relative to target directory
timelapse_filename %Y%m%d-timelapse

############################################################
# Loopback pipe configuration parameters
############################################################

# v4l2 loopback device to receive normal images
; video_pipe value

# v4l2 loopback device to receive motion images
; video_pipe_motion value

############################################################
# Webcontrol configuration parameters
############################################################

# Port number used for the webcontrol.
webcontrol_port 8080

# Enable IPv6 addresses.
webcontrol_ipv6 off

# Restrict webcontrol connections to the localhost.
webcontrol_localhost on

# Type of configuration options to allow via the webcontrol.
webcontrol_parms 0

# Method that webcontrol should use for interface with user.
webcontrol_interface 0

# The authentication method for the webcontrol
webcontrol_auth_method 0

# Authentication string for the webcontrol. Syntax username:password
; webcontrol_authentication value

# Use ssl / tls for the webcontrol
webcontrol_tls off

# Full path and file name of the certificate file for tls
; webcontrol_cert value

# Full path and file name of the key file for tls
; webcontrol_key value

# The header parameters for webcontrol
; webcontrol_header_params value

# The number of minutes to lock out a IP for failed authentication attempts
webcontrol_lock_minutes 5

# The number failed authentication attempts before locking out a IP address
webcontrol_lock_attempts 5

# The maximum number of IPs to track at once for locking out.
webcontrol_lock_max_ips 25

############################################################
# Live stream configuration parameters
############################################################

# The port number for the live stream.
stream_port 8081

# Restrict stream connections to the localhost.
stream_localhost on

# Authentication method for live stream.
stream_auth_method 0

# The authentication string for the stream. Syntax username:password
; stream_authentication value

# Use ssl / tls for stream.
stream_tls off

# The header parameters for the stream
; stream_header_params value

# Percentage to scale the stream image on the webcontrol.
stream_preview_scale 25

# Have the stream image start on a new line of the webcontrol
stream_preview_newline off

# Method for showing stream on webcontrol.
stream_preview_method 0

# Quality of the jpeg images produced for stream.
stream_quality 50

# Provide the stream images in black and white
stream_grey off

# Output frames at 1 fps when no motion is detected.
stream_motion off

# Maximum framerate of images provided for stream
stream_maxrate 1

# Limit the number of images per connection
stream_limit 0

############################################################
# Database and SQL Configuration parameters
############################################################

# The type of database being used if any.
; database_type value

# Database name to use. For sqlite3, the full path and name.
; database_dbname value

# The host on which the database is located
database_host localhost

# Port used by the database.
database_port 0

# User account name for database.
; database_user value

# User password for database.
; database_password value

# Database wait for unlock time
database_busy_timeout 0

# Log to the database when creating motion triggered image file
sql_log_picture off

# Log to the database when creating a snapshot image file
sql_log_snapshot off

# Log to the database when creating motion triggered movie file
sql_log_movie off

# Log to the database when creating timelapse movie file
sql_log_timelapse off

# SQL query at event start.  See motion_guide.html
; sql_query_start value

# SQL query at event stop.  See motion_guide.html
; sql_query_stop value

# SQL query string that is sent to the database.  See motion_guide.html
; sql_query value

############################################################
# Tracking configuration parameters
############################################################

# Method used by tracking camera. See motion_guide.html
track_type 0

# Enable auto tracking
track_auto off

# Serial port of motor
; track_port value

# Motor number for x-axis
track_motorx 0

# Set motorx reverse
track_motorx_reverse off

# Motor number for y-axis
track_motory 0

# Set motory reverse
track_motory_reverse off

# Maximum value on x-axis
track_maxx 0

# Minimum value on x-axis
track_minx 0

# Maximum value on y-axis
track_maxy 0

# Minimum value on y-axis
track_miny 0

# Center value on x-axis
track_homex 128

# Center value on y-axis
track_homey 128

# ID of an iomojo camera if used
track_iomojo_id 0

# Angle in degrees the camera moves per step on the X-axis with auto-track
track_step_angle_x 10

# Angle in degrees the camera moves per step on the Y-axis with auto-track.
track_step_angle_y 10

# Delay to wait for after tracking movement as number of picture frames.
track_move_wait 10

# Speed to set the motor to (stepper motor option)
track_speed 255

# Number of steps to make (stepper motor option)
track_stepsize 40

# Command to execute to move a camera in generic tracking mode
; track_generic_move value

##############################################################
# Camera config files - One for each camera.
##############################################################
; camera /usr/local/etc/motion/camera1.conf
##############################################################
# Directory to read '.conf' files for cameras.
##############################################################
; camera_dir /usr/local/etc/motion/conf.d
</code></pre>
<p>今回の設定変更項目以外は省略します。設定項目を削除するというわけではありません。<br />
(/usr/local/etc/motion/motion.conf)</p>
<pre><code># /usr/local/etc/motion/motion.conf
#
# This config file was generated by motion 4.3.1+git20210818-d670829
# at 2021-09-23T18:11:28


############################################################
# System control configuration parameters
############################################################

### バックグラウンドで起動することを許可する設定
# Start in daemon (background) mode and release terminal.
daemon on

### 動作を検知した際に保存するデータのディレクトリパスを設定
# Target directory for pictures, snapshots and movies
; target_dir .

############################################################
# Picture output configuration parameters
############################################################

### 動作を検知した際に画像を保存する設定
# Output pictures when motion is detected
picture_output on

############################################################
# Movie output configuration parameters
############################################################

### 動作を検知した際に動画を保存する設定
# Create movies of motion events.
movie_output off

############################################################
# Live stream configuration parameters
############################################################

### ライブ映像を外部から閲覧する許可の設定
# Restrict stream connections to the localhost.
stream_localhost off

</code></pre>
<p>Samba と連携</p>
<p>　以前の記事で書いた Raspberry pi[Ubuntu]でファイル鯖[Samba]を構築 の内容が完了できていることが前提になります。<br />
motion で保存したデータを Samba でファイル共有することで外部から確認するために、データを保存するディレクトリパスを変更します。<br />
今回は例として /home/share01 の直下に保存していますが、実際の運用ではディレクトリを分割するのが好ましいです。<br />
(/usr/local/etc/motion/motion.conf)</p>
<pre><code># /usr/local/etc/motion/motion.conf 
# 
# This config file was generated by motion 4.3.1+git20210818-d670829 
# at 2021-09-23T18:11:28


############################################################ 
# System control configuration parameters 
############################################################

### 動作を検知した際に保存するデータのディレクトリパスを設定 
# Target directory for pictures, snapshots and movies 
target_dir /home/share01

</code></pre>
<h2>さいごに</h2>
<p>　今回は、自宅の監視をするために motion を使用して画像を保存し、Samba で外部から確認できるようにしました。<br />
しかし、保存されるデータはサービスが起動している間は蓄積を続けるため容量がいつか限界を迎えます。<br />
そのため各自で保存したデータを管理する工夫が必要になります。かと言って、手で毎回消去したりするのは面倒です。そんな時は、スクリプトで容量管理することが最も綺麗で簡単です。スクリプトを書くことが必要になるので、少し難しいかもしれませんが、頑張ってみてください。<br />
それでは、次のアドベントカレンダーでお会いしましょう！</p>
<h2>参照</h2>
<ol>
<li><a href="https://motion-project.github.io/index.html">Installing with apt/debs and building from source &#8211; Motion</a></li>
<li><a href="https://github.com/Motion-Project/motion">Motion-Project &#8211; GitHub</a></li>
</ol>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1390%2F&amp;linkname=%E3%80%90%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%80%91%20Raspberry%20pi%20%2B%20Web%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A7%E8%87%AA%E5%AE%85%E8%AD%A6%E5%82%99" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1390%2F&amp;linkname=%E3%80%90%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%80%91%20Raspberry%20pi%20%2B%20Web%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A7%E8%87%AA%E5%AE%85%E8%AD%A6%E5%82%99" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1390%2F&amp;linkname=%E3%80%90%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%80%91%20Raspberry%20pi%20%2B%20Web%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A7%E8%87%AA%E5%AE%85%E8%AD%A6%E5%82%99" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1390%2F&#038;title=%E3%80%90%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%80%91%20Raspberry%20pi%20%2B%20Web%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A7%E8%87%AA%E5%AE%85%E8%AD%A6%E5%82%99" data-a2a-url="/1390/" data-a2a-title="【アドベントカレンダー】 Raspberry pi + Webカメラで自宅警備"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1390/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1390/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>みかみか</name>
					</author>

		<title type="html"><![CDATA[サービスを利用して独自ドメインをメール運用する]]></title>
		<link rel="alternate" type="text/html" href="/1458/" />

		<id>/?p=1458</id>
		<updated>2021-10-05T13:41:22Z</updated>
		<published>2021-10-05T15:00:42Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[目次 1.はじめに 　1.1 対象者 　1.2 目標 　1.3 Yandex.Mailとは 2.利用手順 　2.1 アカウント作成 　2.2 ドメインの認証 　2.3 その他のDNSレコードの設定 3 メールの送受信 　 [&#8230;]]]></summary>

					<content type="html" xml:base="/1458/"><![CDATA[<h2>目次</h2>
<p>1.はじめに<br />
　1.1 対象者<br />
　1.2 目標<br />
　1.3 Yandex.Mailとは<br />
2.利用手順<br />
　2.1 アカウント作成<br />
　2.2 ドメインの認証<br />
　2.3 その他のDNSレコードの設定<br />
3 メールの送受信<br />
　3.1 メール用アカウントの作成<br />
　3.2 メールアカウントのログイン<br />
4 おわりに<br />
5 参考資料</p>
<h2>1.はじめに</h2>
<p>アドベントカレンダー4日目の記事です。</p>
<p>こんにちは。今回は表題の通り、<strong>サービスを利用して独自ドメインをメール運用する</strong>記事となっております。</p>
<h3>1.1 対象者</h3>
<p>今回は下記の項目に当てはまる方を対象としています。</p>
<ul>
<li>自宅鯖でメール鯖運用などは信用出来ないから常用したくないが、有料メールホスティングサービスにお金を使いたくはない方</li>
<li>独自ドメインを利用してメールのやり取りをしたいという方</li>
<li>ちょっとドメインについて触れておきたい方</li>
</ul>
<p>注1:ドメインの取得方法について解説はしません。</p>
<p>注2:事前に独自ドメインの取得していることが前提です。</p>
<h3>1.2 目標</h3>
<p>Yandex 360 for Businessを利用して、独自ドメインで作るメールで送受信を可能にする。</p>
<h3>1.3 Yandex.Mailとは</h3>
<p>Yandex.Mail(ヤンデックスメール)とは、ロシアのYandexが開発した無料メールサービスです。Yahoo! Japanに近い印象です。</p>
<h2>2.利用手順</h2>
<h3>2.1 アカウント作成</h3>
<p><img src="https://i.gyazo.com/35cffcba603897406ccc6cdcc9b03843.png" alt="" /></p>
<p>まずはYandexのアカウント作成をします。</p>
<p><img src="https://i.gyazo.com/d5c2a9a52f3c0ae2cd7d52f087603ced.png" alt="" /></p>
<p>上から順に苗字、名前、ログインID、パスワード、携帯電話番号です。</p>
<p>日本の電話番号を利用する場合、+81の後に先頭の0を消した番号を入力します。</p>
<h3>2.2 ドメインの認証</h3>
<p><img src="https://i.imgur.com/EKJa9Q7.png" alt="" /></p>
<p>アカウントを作成したら、次に<a href="https://360.yandex.com/business/tariff">Yandex 360 for Business pricing</a>のページに行き、Mail for Domain ₽0を選択します。</p>
<p><img src="https://i.imgur.com/npmGA30.png" alt="" /></p>
<p>そうするとこの様な画面が出るので、Set up emailをクリックします。</p>
<p><img src="https://i.imgur.com/thEQc5C.png" alt="" /></p>
<p>利用したい独自ドメインのメールを入力し、Add domainをクリックします。</p>
<p><img src="https://i.imgur.com/1ScebmN.png" alt="" /></p>
<p>クリックした後、ドメイン認証をする必要があります。今回は、DNSレコードでの認証をします。</p>
<p>各自取得したドメインのレジストラのDNSレコード設定画面へ行き、</p>
<table>
<thead>
<tr>
<th>TTL</th>
<th>TYPE</th>
<th>ホスト名</th>
<th>VALUE</th>
</tr>
</thead>
<tbody>
<tr>
<td>21600</td>
<td>TXT</td>
<td>@</td>
<td>yandex-verification:表示されている英数字</td>
</tr>
</tbody>
</table>
<p>の設定を適用します。(必要に応じてTTLを21600にしてください。)</p>
<p>適用にしたのち、Verify domainをクリックします。</p>
<p><img src="https://i.imgur.com/hRrg3Gk.png" alt="" /></p>
<p>正常に設定した場合は、このような画面が出力されます。</p>
<h3>2.3 その他のDNSレコードの設定</h3>
<p>MXレコード、SPFレコード、DKIM署名、CNAMEレコードの設定をする必要があります。</p>
<table>
<thead>
<tr>
<th>TYPE</th>
<th>ホスト名</th>
<th>VALUE</th>
<th>優先順位</th>
</tr>
</thead>
<tbody>
<tr>
<td>MX</td>
<td>@</td>
<td>mx.yandex.net</td>
<td>10</td>
</tr>
<tr>
<td>TXT</td>
<td>@</td>
<td>v=spf1 redirect=_spf.yandex.net</td>
<td></td>
</tr>
<tr>
<td>TXT</td>
<td>mail._domainkey</td>
<td>v=DKIM1&#8230;から始まるDKIMをコピーします。</td>
<td></td>
</tr>
<tr>
<td>CNAME</td>
<td>mail</td>
<td>domain.mail.yandex.net</td>
<td></td>
</tr>
</tbody>
</table>
<p><img src="https://i.imgur.com/fiFjxVA.png" alt="" /></p>
<p>設定が終わると上のようになります。(反映されるのに最大で72時間かかります。)</p>
<h2>3 メールの送受信</h2>
<h3>3.1 メール用アカウントの作成</h3>
<p>右の欄からUsersをクリックし、その次に+Addをクリックします。</p>
<p><img src="https://i.imgur.com/hljX902.png" alt="" /></p>
<p>そうするとアカウント作成の画面が出てくるので適当に設定します。<br />
Usernameに該当する部分がメールアドレスになります。</p>
<h3>3.2 メールアカウントのログイン</h3>
<p><img src="https://i.imgur.com/PVHuDt9.png" alt="" /></p>
<p><a href="https://mail.yandex.ru/">https://mail.yandex.ru/</a> にアクセスし、右上のプロフィール画像ボタンからAdd accountをクリックします。</p>
<p><img src="https://i.imgur.com/aKAc79F.png" alt="" /></p>
<p>先ほど作成したメールとパスワードを入力します。</p>
<p><img src="https://i.imgur.com/2BObjgE.png" alt="" /></p>
<p>入力してログインしたのちに、上のような画面が出てきたら完了です。　お疲れ様でした。</p>
<h2>4 おわりに</h2>
<p>Ubuntuにメール鯖を構築する記事を書いてもよかったのですが、サーバーがダウンするとメールが受信できなくなるなどの不便さがあるので、こちらを書きました。</p>
<p>これを機にドメイン取得して、自分のドメインでメールのやり取りとかしてみてはいかがでしょうか。</p>
<h2>5 参考資料</h2>
<p>https://yandex.com/support/business/quick-start.html</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1458%2F&amp;linkname=%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E3%83%A1%E3%83%BC%E3%83%AB%E9%81%8B%E7%94%A8%E3%81%99%E3%82%8B" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1458%2F&amp;linkname=%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E3%83%A1%E3%83%BC%E3%83%AB%E9%81%8B%E7%94%A8%E3%81%99%E3%82%8B" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1458%2F&amp;linkname=%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E3%83%A1%E3%83%BC%E3%83%AB%E9%81%8B%E7%94%A8%E3%81%99%E3%82%8B" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1458%2F&#038;title=%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E3%83%A1%E3%83%BC%E3%83%AB%E9%81%8B%E7%94%A8%E3%81%99%E3%82%8B" data-a2a-url="/1458/" data-a2a-title="サービスを利用して独自ドメインをメール運用する"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1458/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1458/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>松田雄飛</name>
					</author>

		<title type="html"><![CDATA[初めて自作PCを作った話]]></title>
		<link rel="alternate" type="text/html" href="/1438/" />

		<id>/?p=1438</id>
		<updated>2021-10-05T09:36:50Z</updated>
		<published>2021-10-04T15:01:42Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[初めて自作PCを作った話 はじめに こんにちは,大学２年生の松田雄飛です. 2回目の記事投稿になります. 今回の記事は夏休み中に自作PCを作ったことについて書いていこうと思います. パーツ選択 自作PCを作成するにおいて [&#8230;]]]></summary>

					<content type="html" xml:base="/1438/"><![CDATA[<h1>初めて自作PCを作った話</h1>
<h2>はじめに</h2>
<p>こんにちは,大学２年生の松田雄飛です.<br />
2回目の記事投稿になります.<br />
今回の記事は夏休み中に自作PCを作ったことについて書いていこうと思います.</p>
<h2>パーツ選択</h2>
<p>自作PCを作成するにおいて一番重要になってくるといっても過言ではないのがパーツ選択である.<br />
選ばれしパーツとパーツの役割を紹介していく</p>
<p>### グラフィックボード</p>
<p>　<a href="https://www.amazon.co.jp/%E3%82%A8%E3%83%AB%E3%82%B6-GeForce-%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%83%9C%E3%83%BC%E3%83%89-GD3060-12GERSH-VD7791/dp/B099DTC3YR/ref=sr_1_3?adgrpid=121639714520&amp;dchild=1&amp;hvadid=536043865170&amp;hvdev=c&amp;hvqmt=e&amp;hvtargid=kwd-1184651773134&amp;hydadcr=10051_13442710&amp;jp-ad-ap=0&amp;keywords=rtx+3060&amp;qid=1632479703&amp;sr=8-3"><img src="https://i.imgur.com/QJ9zwsS.jpg" alt="" /></a><br />
  <font color="gray">エルザ GeForce RTX 3060 グラフィックスボード S.A.C/L GD3060-12GERSH VD7791</font><br />
 &#8211; グラフィックボードはディスプレイに映像を出力するための機械.<br />
 &#8211; これの性能が良いと映像の美しさを堪能することができる.</p>
<h3>PCケース</h3>
<p><a href="https://www.amazon.co.jp/Cooler-Master-MasterBox-%E3%83%9F%E3%83%8B%E3%82%BF%E3%83%AF%E3%83%BCPC%E3%82%B1%E3%83%BC%E3%82%B9-MCB-B400L-KG5N-S00/dp/B08GLBRCVJ/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;dchild=1&amp;keywords=%E3%82%AF%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC+COOLER+MASTER+MasterBox+MB400L+MCB-B400L-KG5N-S00&amp;qid=1632483073&amp;sr=8-1"><img src="https://i.imgur.com/mHuryDG.jpg" alt="" /></a><br />
<font color="gray">クーラーマスター COOLER MASTER MasterBox MB400L MCB-B400L-KG5N-S00</font><br />
&#8211; PCケースは,CPU,マザーボードなどのパソコンの各種パーツを格納するためのケースです.</p>
<h3>メモリ</h3>
<p><a href="https://www.amazon.co.jp/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97PC%E7%94%A8%E3%83%A1%E3%83%A2%E3%83%AA-PC4-25600-DDR4-3200-8GB%C3%972%E6%9E%9A-W4U3200PS-8G/dp/B07ZVV27GC/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;dchild=1&amp;keywords=cfd+w4u3200ps-8g+DDR4+SDRAM&amp;qid=1632484523&amp;sr=8-3"><img src="https://i.imgur.com/8L8PZ69.jpg" alt="" /></a><br />
<font color="gray">CFD販売 デスクトップPC用メモリ PC4-25600(DDR4-3200) 8GB×2枚 無期限保証 W4U3200PS-8G</font></p>
<ul>
<li>メモリは,CPUが情報を処理するためのデータを一時的に保存しておくためパーツです.メモリの容量が多ければ多いほど処理速度が向上し、アプリケーションの動作は快適なものとなります.</li>
</ul>
<h3>CPUクーラー</h3>
<p><a href="https://www.amazon.co.jp/%E3%82%B5%E3%82%A4%E3%82%BA-%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%ABCPU%E3%82%AF%E3%83%BC%E3%83%A9%E3%83%BC-%E8%99%8E%E5%BE%B9-Mark-II/dp/B072PWL5YF/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;dchild=1&amp;keywords=scythe+%E3%82%B5%E3%82%A4%E3%82%BA+%E8%99%8E%E5%BE%B9+Markll+SCKTT-2000&amp;qid=1632485386&amp;sr=8-1"><img src="https://i.imgur.com/xEErThL.jpg" alt="" /></a><br />
<font color="gray"> サイズ オリジナルCPUクーラー 虎徹 Mark II </font><br />
&#8211; CPUクーラーとは,コンピュータの筐体内部に取り付けられた CPU （MPU/マイクロプロセッサ）を冷却し,熱による破損や誤作動を防止する装置.</p>
<h3>SSD</h3>
<p><a href="https://www.amazon.co.jp/%E3%80%90%E5%9B%BD%E5%86%85%E6%AD%A3%E8%A6%8F%E4%BB%A3%E7%90%86%E5%BA%97%E5%93%81%E3%80%91Western-Digital-2-5%E3%82%A4%E3%83%B3%E3%83%81-PS4%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D%E6%B8%88-WDS100T2B0A-EC/dp/B07SPVR762/ref=sr_1_2?adgrpid=115435736283&amp;dchild=1&amp;hvadid=492577074362&amp;hvdev=c&amp;hvqmt=b&amp;hvtargid=kwd-809274490954&amp;hydadcr=15076_11194288&amp;jp-ad-ap=0&amp;keywords=wds100t2b0a-ec&amp;qid=1632486602&amp;sr=8-2"><img src="https://i.imgur.com/wAAU1XR.jpg" alt="" /></a></p>
<p><font color="gray">Western Digital ウエスタンデジタル 内蔵SSD 1TB WD Blue PC PS4 換装 2.5インチ WDS100T2B0A-EC 【国内正規代理店品】</font></p>
<ul>
<li>SSD(ソリッドステートドライブ)は半導体メモリをディスクドライブのように扱える補助記憶装置の一種.<br />
<a href="https://www.buffalo.jp/topics/select/detail/ssdhdd.html">詳しくはこちら</a></li>
</ul>
<h3>OS</h3>
<p><a href="https://www.amazon.co.jp/%E3%80%90%E6%96%B0%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%80%91Windows-Home-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88-Update%E9%81%A9%E7%94%A8-%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E7%89%88/dp/B07WGM2Y61/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;dchild=1&amp;keywords=windows10+home+HAJ-00065&amp;qid=1632487189&amp;sr=8-1"><img src="https://i.imgur.com/5xDAt8V.jpg" alt="" /></a><br />
<font color="gray">Windows 10 Home 日本語版<br />
</font><br />
&#8211; OS（オペレーティングシステム）とは,コンピュータ全体を制御してユーザーが使いやすくするためのシステム.</p>
<h3>マザーボード</h3>
<p><a href="https://www.amazon.co.jp/gp/product/B08VH7Y1F8/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&amp;psc=1"><img src="https://i.imgur.com/xItRQtY.jpg" alt="" /></a><br />
<font color="gray"> ASRock マザーボード B560 M Pro4 Intel 10世代 ・ 11世代 CPU ( LGA1200 ) 対応 B560 Micro ATX マザーボード 【国内正規代理店品】</font><br />
&#8211; マザーボードとはパソコンの中心となるプリント基板.メインボードともいい,MB,M/Bと略されることもある.CPU,メインメモリー,各種ボード拡張用のスロットや,マウス,キーボード,USB,LAN,RS-232Cなどの外部コネクター類,パーツ間のデータの流れを制御するチップセットなどが搭載されている.パソコンの主要部品で,マザーボードの構成によって利用できるCPUやメモリー,ドライブ類などが決まる.</p>
<h3>電源ユニット</h3>
<p><a href="https://www.amazon.co.jp/gp/product/B01DJ30HQG/ref=ppx_yo_dt_b_asin_title_o03_s01?ie=UTF8&amp;psc=1"><img src="https://i.imgur.com/rh9ss95.jpg" alt="" /></a><br />
<font color="gray"> Corsair CX650M 80PLUS BRONZE認定 PC電源ユニット PS628 CP-9020103-JP</font><br />
&#8211; パソコンなどの電力供給装置.特に,デスクトップパソコン本体の中にあって,電源コードを接続して外から電力を取り込み,内部の各パーツに電力を供給する装置.</p>
<h3>CPU</h3>
<p><a href="https://www.amazon.co.jp/gp/product/B08X6QHYDL/ref=ppx_od_dt_b_asin_title_s01?ie=UTF8&amp;psc=1"><img src="https://i.imgur.com/ZxlfBik.jpg" alt="" /></a><br />
<font color="gray"> インテル CPU BX8070811700 シール付き Corei7-11700 8コア 2.50 GHz LGA1200 5xxChipset【日本正規流通品】</font><br />
&#8211; CPUとは,コンピュータの主要な構成要素の一つで,他の装置・回路の制御やデータの演算などを行う装置.</p>
<h2>注文</h2>
<p>選び抜かれたパーツたちをいざ注文していく.<br />
<img src="https://i.imgur.com/Ygnqco3.jpg" alt="" /><br />
届いた！なんか届いたときってワクワクする.<br />
勇者が新しい装備を手に入れた時のような感覚.<br />
注文には毎回恒例のAmazonさんとツクモのオンラインショッピングで購入をしました.</p>
<h2>組み立て</h2>
<p>まずはマザーボードを入れたりなんやかんやとする作業<br />
<img src="https://i.imgur.com/9tvlPhh.jpg" alt="" /><br />
CPUをつける作業.パカッと開いてスチャッと装着<br />
<img src="https://i.imgur.com/Fb0XjQw.jpg" alt="" /><br />
色々と調べながらやったのもあって,3時間~4時間程かかりました.<br />
ケースとグラボの間の配線の挿入が一番難しかった.隙間が全然なく手が入っていかず長い間格闘してました.<br />
なんやかんやですべてのパーツの装着が完了.<br />
早速起動していこうとワクワク.<br />
あれ&#8230;ファンが回らん&#8230;</p>
<h2>初期不良とマッチング</h2>
<p>初めての自作PCだったので自分がどこかでミスをしたのかなと思いマザーボードの初期不良だとは思いもしませんでした.<br />
<a href="https://nyanswer.com/custom-pc-startup/">「自作PC　ファンが回らない」</a>で検索してみると,どうやらケーブルかメモリがちゃんと装着されているか確認すればいいらしい.<br />
ぶつぶついいながらしっかり確認して再度起動!!<br />
あれ&#8230;ファンが回らん&#8230;<br />
<a href="#マザーボード">さすがに初期不良だと思い同じメーカのものを再度購入</a>.<br />
数日後&#8230;届いたマザーボードで再び組み立てる.<br />
起動するとしっかりファンが動いた!!<br />
モニターにも出力されることを確認して満面の笑み.<br />
<img src="https://i.imgur.com/PM9AELq.jpg" alt="" /><br />
あとは初期不良だったコイツを返品して自作PCの組み立ては終了.</p>
<h2>おわりに</h2>
<p>記事を最後まで閲覧して頂きありがとうございます.<br />
後で聞いた話では初期不良ってなかなか当たらないものらしいです（それはそう）</p>
<p>実際に組んでみると姿勢が固定されるので体が痛くとても疲れました.疲れた反面この部品はこの役割のためのものなんだととても勉強になり買ってよかったと思える結果となりました.</p>
<p>このPCには「初期不良マザボを引いたPC」という名誉ある名前をつけてこれから相棒として活躍していってもらいたいと思います.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1438%2F&amp;linkname=%E5%88%9D%E3%82%81%E3%81%A6%E8%87%AA%E4%BD%9CPC%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E8%A9%B1" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1438%2F&amp;linkname=%E5%88%9D%E3%82%81%E3%81%A6%E8%87%AA%E4%BD%9CPC%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E8%A9%B1" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1438%2F&amp;linkname=%E5%88%9D%E3%82%81%E3%81%A6%E8%87%AA%E4%BD%9CPC%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E8%A9%B1" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1438%2F&#038;title=%E5%88%9D%E3%82%81%E3%81%A6%E8%87%AA%E4%BD%9CPC%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E8%A9%B1" data-a2a-url="/1438/" data-a2a-title="初めて自作PCを作った話"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1438/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1438/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>西澤悠貴</name>
					</author>

		<title type="html"><![CDATA[Swiftをもっと広めたい]]></title>
		<link rel="alternate" type="text/html" href="/1412/" />

		<id>/?p=1412</id>
		<updated>2021-10-01T15:02:21Z</updated>
		<published>2021-10-04T03:00:35Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[Swiftについて はじめに Swiftとはなんぞや HelloWorld おわりに はじめに どうも、2021年アベントカレンダー二日目の西澤です。 今回の記事は前回のKotlinに引き続き、スマホアプリ開発に関連する [&#8230;]]]></summary>

					<content type="html" xml:base="/1412/"><![CDATA[<h1>Swiftについて</h1>
<ul>
<li>はじめに</li>
<li>Swiftとはなんぞや</li>
<li>HelloWorld</li>
<li>おわりに</li>
</ul>
<h2>はじめに</h2>
<p>どうも、2021年アベントカレンダー二日目の西澤です。<br />
今回の記事は前回のKotlinに引き続き、スマホアプリ開発に関連するプログラミング言語である<strong>Swift</strong>を紹介していきます。<br />
こんなコードでこんな感じのすごそうなプログラミング、を紹介するわけではなく、「<strong>Swiftなにそれおいしいの？</strong>」という人に向けた内容になっています。なので物足りない人もいるかと思いますがご容赦ください。</p>
<h2>Swiftとはなんぞや</h2>
<p>SwiftというのはAppleが発表したオープンソースのプログラミング言語です。発表されたのが2014年と、かなり新しい言語となっています。<br />
Appleが開発しただけあり、<strong>iOSやMacのソフト開発</strong>と相性よく作られていて簡単なものならかなり手軽に作れてしまいます。<br />
何よりも特徴的なのはその動作の速さです。これまでのiOSやMacの開発に使われてきた言語、Object-Cの最大2.6倍もの高速処理が可能です。</p>
<h2>HelloWorld</h2>
<p>Swiftについてほんのりとわかったところで、みんな大好きHelloWorldでSwiftのコードがどんな感じか実際に見てみましょう。</p>
<pre><code>1    var text = "HelloWorld"
2    print(sayello)
</code></pre>
<p>はい、これだけです。<strong>クラス</strong>や<strong>関数</strong>を作る必要もありません。Pythonやjavascriptのように最初から処理を書いて動かせます。<br />
とはいえこれだけでは説明することがなさすぎるので、関数も入れて冗長的に書いてみます。</p>
<pre><code>1    func getText() -&gt;String{
2        var text = "HelloWorld"
3        return text
4   }
5    print(getText())
</code></pre>
<p>それでもかなり<strong>簡潔</strong>ですね。<br />
それではそれぞれの処理を説明していきます。</p>
<h3>関数の扱い</h3>
<p>まずは関数からです。</p>
<pre><code>1    func getText() -&gt;String{
:
4    }
</code></pre>
<p><strong>-&gt;String</strong>が特徴的ですね。関数の構成は以下のようになっています。</p>
<pre><code>func 関数名（引数名:　型名）　-&gt;戻り値の型{return 戻り値}
</code></pre>
<p>これを先程のコードに当てはめてみると、関数名がgetText、引数がなし、戻り値の型がString、text変数が戻り値、そしてfuncは関数の宣言ということがわかります。前回紹介したKotlinと-&gt;以外がかなり似ていますね。</p>
<h3>変数、定数の扱い。</h3>
<p>次は変数（関数）についてです。</p>
<pre><code>2    var text = "HelloWorld"
</code></pre>
<p>ここで引っ掛かるのはvarだけですね。とはいえJavaScriptを触ったことのある人なら馴染みがあると思います。<br />
varというのは値を再代入<strong>可能</strong>な変数を宣言する時に使います。一方で、値を再代入<strong>不可能</strong>な変数（定数）を宣言をする時にはletを使います。<br />
今回の場合はどちらで書いても問題はありません。しかし、実際にSwiftでコードを書く時にはvarとletをうまく使い分けるようにしましょう。<br />
そして、ここまで聞いて勘のいい人は「型が入ってないやん！」と気づいたのではないでしょうか？そうですSwiftにも<strong>型推論</strong>が搭載されています。型推論がわからない人に向けて説明をすると、変数に代入された値から変数の型を推測し、<strong>自動で型を定義してくれる</strong>ため、型を明示する必要がないというものです。<br />
これにより、コードを簡潔に書けるという訳です。もし型を明示したい場合は次のようになります。</p>
<pre><code>2    var text :String = "HelloWorld"
</code></pre>
<p>Swiftは<strong>型に厳格</strong>です。そのため、double型の変数にint型の変数を代入する、ということができません。型の宣言や値の代入には気をつけましょう。</p>
<h3>文字列出力</h3>
<p>そしてHelloWorldの出力です。</p>
<pre><code>5    print(getText())
</code></pre>
<p>ここは簡単ですね。getText関数の戻り値であるtext変数の値をprintで出力しています。<br />
とはいえこれだけだと寂しすぎるのでSwiftで文字列を扱う時のいいところを紹介します。<br />
例えば、Javaで文字列と変数を同時に出力したい場合、以下のようにコードを書く必要があります。</p>
<pre><code>Java

    System.out.println("私は"+age+"歳です");
</code></pre>
<p>このぐらいならいいですが、何度も+や””を入力することになったらかなり面倒です。<br />
Swiftでも同様の書き方ができますが、Swiftでは+と””を使わずに、文字列の中に変数を差し込むことができます。それが次の書き方です。</p>
<pre><code>Swift

    print("私は\(age)歳です")
</code></pre>
<p>&#92;(変数)という書き方をするだけで文字列の中に<strong>直接埋め込む</strong>ことができます。見やすい上にしょうもないミスが減りそうで良きですね。<br />
さらにもう一つ,便利な記述の仕方があります。<br />
それが次です。</p>
<pre><code>Swift

var text = """
           今日は
               いい天気
                   です
           """
print(text)

出力:
今日は
    いい天気
        ですね
</code></pre>
<p>このように&#8221;を三つにすると文字列が<strong>入力とまったく同じ</strong>ように出力することができます。</p>
<h2>おわりに</h2>
<p>以上でSwiftに関する説明は以上です。あまり細かいところには触れられませんでしたが、この記事でSwiftへ興味を持ってもらえたなら幸いです。<br />
SwiftはiOSやMacのアプリ開発だけではなく、Androidアプリ、さらにはWebアプリにWebサーバーも開発することができます。<br />
Swift自身もいまだにアップデートされ続けているので、これからまだまだできることが増えていくと思います。<br />
Appleの公式サイトではSwiftについて細かい仕様や特徴が説明されているので気になったら、s是非みてみてください。<br />
SwiftApple:<a href="https://">https://www.apple.com/jp/swift/</a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1412%2F&amp;linkname=Swift%E3%82%92%E3%82%82%E3%81%A3%E3%81%A8%E5%BA%83%E3%82%81%E3%81%9F%E3%81%84" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1412%2F&amp;linkname=Swift%E3%82%92%E3%82%82%E3%81%A3%E3%81%A8%E5%BA%83%E3%82%81%E3%81%9F%E3%81%84" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1412%2F&amp;linkname=Swift%E3%82%92%E3%82%82%E3%81%A3%E3%81%A8%E5%BA%83%E3%82%81%E3%81%9F%E3%81%84" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1412%2F&#038;title=Swift%E3%82%92%E3%82%82%E3%81%A3%E3%81%A8%E5%BA%83%E3%82%81%E3%81%9F%E3%81%84" data-a2a-url="/1412/" data-a2a-title="Swiftをもっと広めたい"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1412/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1412/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>鈴木健介</name>
					</author>

		<title type="html"><![CDATA[Hatena REMOTE INTERNSHIP 2021に参加してきました！]]></title>
		<link rel="alternate" type="text/html" href="/1405/" />

		<id>/?p=1405</id>
		<updated>2021-10-02T04:20:54Z</updated>
		<published>2021-09-30T01:44:16Z</published>
		<category scheme="" term="アドベントカレンダー" /><category scheme="" term="インターン" /><category scheme="" term="秋の技術記事収穫祭" />
		<summary type="html"><![CDATA[この記事はシス研Advent Calendar 2021の秋の技術記事収穫祭1日目の記事です。 詳細はこのURLをクリックすると、閲覧可能です。 https://sken11.hatenablog.com/entry/2 [&#8230;]]]></summary>

					<content type="html" xml:base="/1405/"><![CDATA[<p><img src="/wp-content/uploads/2021/09/share-banner-300x137.jpg" alt="" width="300" height="137" class="alignnone size-medium wp-image-1422" srcset="/wp-content/uploads/2021/09/share-banner-300x137.jpg 300w, /wp-content/uploads/2021/09/share-banner-1024x468.jpg 1024w, /wp-content/uploads/2021/09/share-banner-530x242.jpg 530w, /wp-content/uploads/2021/09/share-banner-565x258.jpg 565w, /wp-content/uploads/2021/09/share-banner-710x324.jpg 710w, /wp-content/uploads/2021/09/share-banner-725x331.jpg 725w, /wp-content/uploads/2021/09/share-banner.jpg 1401w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>この記事はシス研Advent Calendar 2021の秋の技術記事収穫祭1日目の記事です。</p>
<p>詳細はこのURLをクリックすると、閲覧可能です。<br />
<a href="https://sken11.hatenablog.com/entry/2021/10/01/234616">https://sken11.hatenablog.com/entry/2021/10/01/234616</a></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1405%2F&amp;linkname=Hatena%20REMOTE%20INTERNSHIP%202021%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1405%2F&amp;linkname=Hatena%20REMOTE%20INTERNSHIP%202021%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1405%2F&amp;linkname=Hatena%20REMOTE%20INTERNSHIP%202021%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1405%2F&#038;title=Hatena%20REMOTE%20INTERNSHIP%202021%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" data-a2a-url="/1405/" data-a2a-title="Hatena REMOTE INTERNSHIP 2021に参加してきました！"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1405/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1405/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>鈴木健介</name>
					</author>

		<title type="html"><![CDATA[LT会開催しました！]]></title>
		<link rel="alternate" type="text/html" href="/1380/" />

		<id>/?p=1380</id>
		<updated>2021-05-09T09:39:47Z</updated>
		<published>2021-05-09T10:00:10Z</published>
		<category scheme="" term="LT会" />
		<summary type="html"><![CDATA[こんにちは、学部3年　インフラ班のリーダーの鈴木健介です。 5月8日（土）にシス研LT会を開催しました！ もちろんコロナ渦なのでオンラインの開催です。 今回は、Youtube Liveを使用して学外の人も参加できる形をと [&#8230;]]]></summary>

					<content type="html" xml:base="/1380/"><![CDATA[<p>こんにちは、学部3年　インフラ班のリーダーの鈴木健介です。</p>
<p>5月8日（土）にシス研LT会を開催しました！<br />
もちろんコロナ渦なのでオンラインの開催です。<br />
今回は、Youtube Liveを使用して学外の人も参加できる形をとりました。<br />
アーカイブが残っているので参加できなかった人もあとから見ることができます。（下にリンクがあります）</p>
<p>初めての開催で至らない点が多かったと思いますが、外部の人も含め約30人ほどの人が視聴してくれました。<br />
本当にありがとうございました!<br />
正直、身内だけの開催になると思ってました（笑）</p>
<p>ちなみに、Twitter <code>#シス研LT会</code> で当時の反応が見れます。</p>
<h2>アーカイブ</h2>
<p><a href="https://www.youtube.com/watch?v=cSL21f0DHPw&amp;t=2908s&amp;ab_channel=%E3%82%B7%E3%82%B9%E7%A0%94%E5%A4%AA%E9%83%8E">第1回シス研LT会</a></p>
<h2>登壇情報</h2>
<table>
<thead>
<tr>
<th>発表順</th>
<th>学年</th>
<th>登壇者</th>
<th>内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>学部3年</td>
<td>鈴木健介</td>
<td>インターンについて</td>
</tr>
<tr>
<td>2</td>
<td>学部4年</td>
<td>秦健心　　</td>
<td>シス研ってどんなサークル？</td>
</tr>
<tr>
<td>3</td>
<td>卒業生</td>
<td>小林弘幸</td>
<td>自己紹介</td>
</tr>
<tr>
<td>4</td>
<td>修士2年</td>
<td>吉川大貴</td>
<td>インターンについて、就活について</td>
</tr>
<tr>
<td>5</td>
<td>卒業生</td>
<td>上田陽明</td>
<td>新卒1ヶ月の社畜になったのでA知K業大学の日々を振り返る</td>
</tr>
<tr>
<td>6</td>
<td>学部3年</td>
<td>福田遥生</td>
<td>スライドの作り方(自己流)</td>
</tr>
<tr>
<td>7</td>
<td>学部2年</td>
<td>松田雄飛</td>
<td>調べる力,質問する力の身につけ方</td>
</tr>
</tbody>
</table>
<h2>内容</h2>
<p>今回のLT会は、本当に様々な人（卒業生、院生、学部生）が登壇してくれました。<br />
初めは登壇者も集まらず、なかったことになるのかと不安になることもありましたが、徐々に登壇してくれる人が増え無事開催することができました。</p>
<p>インターンや社会に出る前に必要な知識、マインドを知ることができ、シス研の活用法、大学で何をやっていけば良いのかわかる素晴らしいLT会でした。（1年生の時に参加したかった涙）</p>
<p>登壇者の立場でもありましたが、ほかの登壇者の内容を聞いているとシス研愛に満ち溢れていることが伝わり胸がいっぱいになりました。</p>
<p>このようなイベントを今後も開催していくのでその時はぜひ参加してください！</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1380%2F&amp;linkname=LT%E4%BC%9A%E9%96%8B%E5%82%AC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1380%2F&amp;linkname=LT%E4%BC%9A%E9%96%8B%E5%82%AC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1380%2F&amp;linkname=LT%E4%BC%9A%E9%96%8B%E5%82%AC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1380%2F&#038;title=LT%E4%BC%9A%E9%96%8B%E5%82%AC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81" data-a2a-url="/1380/" data-a2a-title="LT会開催しました！"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1380/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1380/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>toyama</name>
					</author>

		<title type="html"><![CDATA[Awsを使ってサービスを構築しよう Webサーバー構築まで]]></title>
		<link rel="alternate" type="text/html" href="/1375/" />

		<id>/?p=1375</id>
		<updated>2021-04-21T07:37:36Z</updated>
		<published>2021-04-21T07:37:36Z</published>
		<category scheme="" term="アドベントカレンダー" />
		<summary type="html"><![CDATA[Awsを使ってサービスを構築しよう Webサーバー構築まで 初めに この記事はアドベントカレンダー10日目の記事です。 ネットワークの基礎知識をつけたくて書きました。 対象者 AWSのアカウント登録が終わってる人 AWS [&#8230;]]]></summary>

					<content type="html" xml:base="/1375/"><![CDATA[<h1>Awsを使ってサービスを構築しよう Webサーバー構築まで</h1>
<h2>初めに</h2>
<p>この記事はアドベントカレンダー10日目の記事です。<br />
ネットワークの基礎知識をつけたくて書きました。</p>
<h2>対象者</h2>
<p>AWSのアカウント登録が終わってる人<br />
AWSでサーバー立てたいけどよくわからない人</p>
<h2>構築するもの</h2>
<p>ブラウザ上でIPアドレスを入力してApacheのページの表示が表示されるまで</p>
<h2>環境</h2>
<p>macOS Big Sur バージョン11.0.1</p>
<h2>主な用語一覧</h2>
<ul>
<li>vpc（Virtul Private Cloud)<br />
aws上に仮想ネットワークを作成できるサービス</li>
<li>サブネット<br />
vpcの中で区切られたネットワーク(publicとprivateに別れる)</li>
<li>EC2<br />
Aws上の仮想サーバー</li>
<li>AMI<br />
OSのイメージ。サーバーのテンプレ</li>
<li>インスタンス<br />
EC2サーバーのスペックを定義したもの</li>
<li>ストレージ<br />
サーバーのデータの保存場所</li>
<li>SSH<br />
離れた場所にあるサーバーに安全にログインする仕組み</li>
<li>IPアドレス<br />
インターネット上の住所を表す。IPアドレスはネットワーク部とホスト部に分かれている。</li>
<li>ルーティング<br />
宛先IPアドレスのコンピュータまでパケットを届けるためのルール</li>
</ul>
<h2>サーバー構築大まかな手順</h2>
<ol>
<li>VPCの作成</li>
<li>サブネットの作成(今回はpublicのみ)</li>
<li>ルーティングの設定</li>
<li>作成したVPC(仮想ネットワーク)の中にEC2(仮想サーバーの作成)の作成</li>
<li>SSHでサーバにアクセス</li>
<li>サーバーにApacheをインストール</li>
<li>httpアクセスできるようにポート番号80番を開放<br />
以下で詳しく説明</li>
</ol>
<h3>VPCの作成</h3>
<p><img src="https://i.imgur.com/NS38Dch.png" alt="" /><br />
アカウント名の右にあるリージョンを東京または大阪にします。この記事は大阪でやってます。<br />
ページ上部にある検索欄にVPCと入力し検索すると以下の画面になるのでVPCをクリック<br />
&thinsp;&nbsp;<br />
<img src="https://i.imgur.com/qe7kvM3.png" alt="" /><br />
&thinsp;&nbsp;<br />
次のページに飛んだら右上にあるVPCの作成をクリックします<br />
&thinsp;&nbsp;<br />
<img src="https://i.imgur.com/XWPgg9a.png" alt="" /><br />
&thinsp;&nbsp;<br />
ここではVPCの設定を行います。名前タグの所は自由に入れて大丈夫です。入力したらVPCを作成をクリックします。<br />
* IPv4 CIDRブロック　VPC全体のIPアドレスの範囲を指定する場所。/16これは先頭から16ビットまでがネットワーク部なのを表しています。10.0.0.0なのでネットワーク部が10.0ホスト部が0.0となっています。<br />
* IPv6 CIDEブロック　amazonが用意しているIPv6用を紐づけるためのもの(今回は使用しない)<br />
&thinsp;&nbsp;<br />
<img src="https://i.imgur.com/SGP8dec.png" alt="" /><br />
&thinsp;&nbsp;<br />
下記のようになってれば大丈夫です。<br />
<img src="https://i.imgur.com/9vsY5x4.png" alt="" /></p>
<h3>サブネットの作成</h3>
<p>検索欄でサブネットと入力するとこのようなページに飛ぶので右上のサブネットを作成をクリックします。<br />
<img src="https://i.imgur.com/m1nvYpu.png" alt="" /><br />
下記のように入力してサブネットを作成します。<br />
<img src="https://i.imgur.com/SacpqKq.png" alt="" /></p>
<h3>ルーティングの設定</h3>
<ul>
<li>ルーティングとは<br />
IPアドレスがどこにあるのか教える作業。具体的に言えば目的のIPアドレスがVPCの中にあるのかVPCの外にあるのかを識別させる。</p>
</li>
<li>
<p>インターネットゲートウェイとは<br />
プライベートIPアドレスとグローバルIPアドレスを1対１変換する機能(NAT)を持つもの</p>
</li>
<li>ルートテーブルとは<br />
ルーティングするための情報が記載されたテーブル</li>
</ul>
<hr />
<p><img src="https://i.imgur.com/qBOuJFC.png" alt="" /></p>
<ol>
<li>インターネットゲートウェイの作成<br />
インターネットゲートウェイの作成をクリックします。<br />
<img src="https://i.imgur.com/INLZRId.png" alt="" /><br />
下記のように設定しインターネットゲートウェイを作成します。<br />
<img src="https://i.imgur.com/CQNjBXD.png" alt="" /><br />
現在状態がDetachedなので作成したインターネットゲートウェイにチェックマークを入れ選択した後アクションからVPCにアタッチを選択します。<br />
<img src="https://i.imgur.com/739nsJs.png" alt="" /><br />
先ほど作ったHello-aws-vpcにアタッチします。<br />
<img src="https://i.imgur.com/voFsu5M.png" alt="" /><br />
上手くいけばこんな感じになります。<br />
<img src="https://i.imgur.com/Uuv0wjW.png" alt="" /></p>
</li>
<li>
<p>ルートテーブルの作成<br />
左上のルートテーブルの作成をクリックします<br />
<img src="https://i.imgur.com/c7r3gst.png" alt="" /><br />
Hello-aws-vpcを選択し作成します<br />
<img src="https://i.imgur.com/DPMdc7i.png" alt="" /><br />
画像左下にあるサブネットに関連付けの編集をクリック<br />
<img src="https://i.imgur.com/Knj4HiM.png" alt="" /><br />
publicサブネットを選び保存します<br />
<img src="https://i.imgur.com/Y8iDFR2.png" alt="" /><br />
ルートの編集をクリックします<br />
<img src="https://i.imgur.com/iWMceY6.png" alt="" /><br />
目的のIPアドレスが0.0.0.0/0(10.0.0.0/16の範囲に含まれない場合)インターネットゲートウェイに向かうようにしてルートの保存を選<br />
<img src="https://i.imgur.com/pwQ2Jtu.png" alt="" /></p>
</li>
</ol>
<h3>仮想サーバーの設置</h3>
<p>publicサブネットの中に仮想サーバーを設置します。<br />
インスタンスの起動をクリック<br />
<img src="https://i.imgur.com/VrPuMKb.png" alt="" /><br />
Amazon Linux 2 AMIを選択<br />
<img src="https://i.imgur.com/1KPcJkX.png" alt="" /><br />
インスタンスタイプの選択はそのままで次のステップへ行くとインスタンスの設定になるので以下の項目だけ入力して後はデフォルトで次に行く、ストレージの追加もデフォルト設定のままでタグの追加へ<br />
<img src="https://i.imgur.com/YiI4rre.png" alt="" /><br />
<img src="https://i.imgur.com/Jo1W3yv.png" alt="" /><br />
以下のように入力して画像右下の確認と作成をクリック、入力内容に間違いがなければ起動ボタンをクリックします。<br />
<img src="https://i.imgur.com/d2njzge.png" alt="" /><br />
すると以下のような画面になるので画像のように入力しキーペアのダウンロードをクリック。このキーペアはサーバーにSSHでログインする際に使用します。ダウンロードできたらインスタンスの作成をクリック<br />
<img src="https://i.imgur.com/xw0qQDH.png" alt="" /><br />
↓数分するとインスタンスが実行される<br />
<img src="https://i.imgur.com/zd8qB2f.png" alt="" /></p>
<h3>SSHで仮想サーバーにログイン</h3>
<p>作成したインスタンスの画面に行きパブリックIPv4アドレスの部分をコピー。画像の場合だと13.208.181.98<br />
<img src="https://i.imgur.com/0KRo6dw.png" alt="" /></p>
<hr />
<p>インスタンス作成時にダウンロードした秘密鍵の読み書き権限を厳しくするためにターミナルを開いて以下のコマンドで打ちます<br />
<code>chmod 600 Downloads/Hello-aws-sshkey.pem</code></p>
<p>SSHでログインします。@から後ろには各自のパブリックIPv4アドレスを入力<br />
 <code>ssh -i Downloads/Hello-aws-sshkey.pem ec2-user@13.208.181.98</code><br />
以下のようになれば成功</p>
<pre><code>ssh -i Downloads/Hello-aws-sshkey.pem ec2-user@13.208.181.98
The authenticity of host '13.208.181.98 (13.208.181.98)' can't be established.
ECDSA key fingerprint is SHA256:zcVM2KoNVAjGjQ4LfWB+gaCnp6SCmUb8ptcVeZpRn3E.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '13.208.181.98' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
No packages needed for security; 2 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-10-10 ~]$
</code></pre>
<h2>Apacheのインストール</h2>
<p>仮想サーバーにログインできたら以下のことを行います<br />
yumのアップデート<br />
<code>sudo yum update -y</code><br />
Apacheのインストール<br />
<code>sudo yum -y install httpd</code><br />
Apache起動<br />
<code>sudo systemctl start httpd.service</code><br />
サーバー再起動時に自動的にApacheを起動させる<br />
<code>sudo systemctl enable httpd.service</code></p>
<h2>ファイアウォールの設定</h2>
<ul>
<li>ファイアウォールとは？<br />
許可された通信だけ通しそれ以外を通さないようにする機能<br />
サーバーに対してSSHでログインできたのはデフォルトでポート番号22が解放されていたため。現状ブラウザにパブリックIPv4アドレスを入力しても下の画像のようにページは表示されない。これはhttp通信に必要なポート番号80番が解放されていないためである。ポート番号80の開放を行います。<br />
<img src="https://i.imgur.com/5CRz6cn.png" alt="" /></li>
</ul>
<hr />
<p>インスタンスを選択しセキュリティからセキュリティグループをクリック<br />
<img src="https://i.imgur.com/7U1vzss.png" alt="" /><br />
インバウンドルールの編集をします<br />
<img src="https://i.imgur.com/jfy1fIa.png" alt="" /><br />
下のように設定しルールを保存します。これでポート番号80が解放されました。<br />
<img src="https://i.imgur.com/EB4s3Gm.png" alt="" /></p>
<hr />
<p><img src="https://i.imgur.com/65CQweX.png" alt="" /></p>
<p>ブラウザ上に先程のIPv4アドレスを入力してApacheのページがでれば成功です。目標達成できました。AWSの無料枠を使い切っている場合EC2インスタンスは微量のお金(0.03$くらい）がかかるので必要なければ停止しておきましょう。</p>
<h2>感想</h2>
<p>座学で勉強した際に眠くて頭に入ってこなかったネットワーク用語がすんなりと理解できたので満足です。DNSの登録とPrivateサブネットのDBサーバーの構築まではやっているので時間があったら続きを書きたいです。</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=%2F1375%2F&amp;linkname=Aws%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%82%88%E3%81%86%20Web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89%E3%81%BE%E3%81%A7" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=%2F1375%2F&amp;linkname=Aws%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%82%88%E3%81%86%20Web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89%E3%81%BE%E3%81%A7" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_line" href="https://www.addtoany.com/add_to/line?linkurl=%2F1375%2F&amp;linkname=Aws%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%82%88%E3%81%86%20Web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89%E3%81%BE%E3%81%A7" title="Line" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=%2F1375%2F&#038;title=Aws%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%82%88%E3%81%86%20Web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89%E3%81%BE%E3%81%A7" data-a2a-url="/1375/" data-a2a-title="Awsを使ってサービスを構築しよう Webサーバー構築まで"></a></p>]]></content>
		
					<link rel="replies" type="text/html" href="/1375/?#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="/1375/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
	</feed>
