<?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>corn flakes diary</title>
	<atom:link href="http://blog.ak2ie.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ak2ie.net</link>
	<description>プログラムを書きたい日々</description>
	<lastBuildDate>Wed, 13 Sep 2017 14:25:18 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7.20</generator>
	<item>
		<title>「ビットコインとブロックチェーン入門」勉強会に行ってきた</title>
		<link>http://blog.ak2ie.net/2017/%e3%80%8c%e3%83%93%e3%83%83%e3%83%88%e3%82%b3%e3%82%a4%e3%83%b3%e3%81%a8%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%83%81%e3%82%a7%e3%83%bc%e3%83%b3%e5%85%a5%e9%96%80%e3%80%8d%e5%8b%89%e5%bc%b7%e4%bc%9a/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Wed, 13 Sep 2017 14:25:18 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1609</guid>

					<description><![CDATA[昨日、ビットコイン関連の勉強会に行ってきたので、聞 ]]></description>
										<content:encoded><![CDATA[<p>昨日、ビットコイン関連の勉強会に行ってきたので、聞いてきたことなどを書いてみます。</p>
<h2>ビットコインとブロックチェーン入門</h2>
<ul>
<li>2017/09/12 @渋谷スクエアA<br />
<span id="more-1609"></span></li>
</ul>
<h2>講師</h2>
<ul>
<li>小島慶介 氏</li>
<li>株式会社ハヴァナイスデイ</li>
<li>エンジニア</li>
</ul>
<h2>内容</h2>
<h3>ブロックチェーンとは</h3>
<p>ひと言で言うと、不正が難しい取引台帳</p>
<h3>データ構造</h3>
<table>
<thead>
<tr>
<th align="left">銀行</th>
<th align="left">ブロックチェーン</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">個人の取引</td>
<td align="left">全員分の取引</td>
</tr>
<tr>
<td align="left">中央集権型</td>
<td align="left">分散型</td>
</tr>
</tbody>
</table>
<h3>用語</h3>
<ul>
<li>ブロック：一定時間に発生した取引の集合</li>
</ul>
<h3>改ざんを防ぐ仕組み</h3>
<ul>
<li>Proof of Work：問題を解くとブロックを追加できる。</li>
<li>Proof of Stake：一番通貨を持っている人がブロックを追加できる</li>
</ul>
<h3>送金はなぜP2Pがよいか？</h3>
<p>通常の送金では、送金先が外国で、送金元と異なる銀行のとき、手続きが面倒。（間に手続きを代行する銀行が入るため）</p>
<p>ブロックチェーンだと瞬時に完了するため、メリットがある。</p>
<h2>ビットコイン</h2>
<ul>
<li>2009年に誕生</li>
<li>国際通貨</li>
<li>海外に直接送金が可能</li>
<li>採掘者に報酬（12.5BTC）　→　5年で半減</li>
</ul>
<h2>暗号通貨に価値があるのはなぜ</h2>
<p>信用が価値の源泉</p>
<h3>通貨の条件</h3>
<ul>
<li>交換の手段</li>
<li>支払い</li>
<li>蓄財</li>
<li>価値の尺度</li>
<li>有限であること　→　2100万BTC</li>
</ul>
<h3>採掘方法</h3>
<p>原価 = 採掘にかかる電気代、設備代など</p>
<p>マイナー：7割が中国</p>
<h3>スケーラビリティ問題</h3>
<p>ブロックに追加されるまで時間がかかる</p>
<h3>解決策</h3>
<ul>
<li>ブロックサイズを大きくする</li>
<li>データを圧縮して登録　→　採用</li>
</ul>
<h3>暗号通貨の種類</h3>
<h4>暗号通貨</h4>
<ul>
<li>BTC</li>
<li>イーサリアム</li>
</ul>
<h4>寄付</h4>
<ul>
<li>XRP</li>
<li>Kin</li>
<li>Zaifトークン</li>
</ul>
<h3>その他</h3>
<ul>
<li>マイニングプール</li>
<li>ICO</li>
<li>BTCのソースは公開されている</li>
</ul>
<h3>API</h3>
<ul>
<li><a href="https://coincheck.com/ja/documents/exchange/api">CoinCheck API</a></li>
</ul>
<h2>感想</h2>
<p>ビットコインとブロックチェーンについて、キーワードを知ることができたのはよかったと思う。浅く広く知識を吸収できたので、これから各キーワードについて調べていこうかな。</p>
<p>特に興味深かったのは、ビットコインのアルゴリズムが公開されていること。<br />
アルゴリズムが分かっていても、それを解くのに時間がかかるのは、暗号そのものだったりするのか？</p>
<p>また、この勉強会は基本20代に限定されてるので、懇親会も話しやすかった。場所も最近引越したらしく、きれいな場所で適度な広さで主催の方の取りまとめ方もよかった。</p>
<p>毎日（なのかな？）、様々なテーマで勉強会をやっているそうなので、興味のある方はぜひ！</p>
<ul>
<li><a href="https://supporterzcolab.com/series/2/">サポーターズ勉強会一覧</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>GitHubに公開するC#アプリでパスワードを安全に保存する方法に悩む</title>
		<link>http://blog.ak2ie.net/2017/github_passwd_ignore/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Thu, 07 Sep 2017 15:51:14 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1606</guid>

					<description><![CDATA[今、OAuth認証を使うC#デスクトップアプリを作 ]]></description>
										<content:encoded><![CDATA[<p>今、OAuth認証を使うC#デスクトップアプリを作っています。しかし、そのアプリでシークレットキーを安全に持ちながら、GitHubに公開する方法にすこし悩んでいます。<br />
<span id="more-1606"></span></p>
<p>ソースにそのまま書くわけにはいかないので、とりあえず思い浮かんだのはリソースファイルに書く方法でした。<br />
リソースファイルにシークレットキーを書いて、.gitignoreにリソースファイルを指定しておくとGitHubにはシークレットキーが公開されないので安心かなと思っています。</p>
<pre class="lang:addlightplain"># .gitignore

# リソースファイルのファイル名は「MyResource」とします。"ファイル名.Designer.cs"も除外するのを忘れずに
MyResource.resx
MyResource.Designer.cs</pre>
<p>ただ、<a href="https://msdn.microsoft.com/ja-jp/library/gg418542(v=vs.110).aspx">MSDN</a>には<strong>パスワード、セキュリティの配慮が必要な情報、プライベートなデータなどの格納には、リソース ファイルを使用しないでください。</strong>と書かれているので、使わない方がいいのかなと悩んでます。</p>
<p>とりあえず他の方法が思い浮かばないので、リソースファイルを使う方法でやっていきます。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Oracle DBでパーティションテーブルの統計情報の取得状況を確認する方法</title>
		<link>http://blog.ak2ie.net/2017/oracle_analyze/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Sun, 03 Sep 2017 15:05:10 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1602</guid>

					<description><![CDATA[Oracle DBにおいてパーティションで分割され ]]></description>
										<content:encoded><![CDATA[<p>Oracle DBにおいてパーティションで分割されたテーブルの統計情報の取得情報を確認する方法を調べてみました。</p>
<h2>環境</h2>
<ul>
<li>Oracle DB 11g Enterprise Edition</li>
</ul>
<h2>確認方法</h2>
<p>各パーティションの統計情報取得日時は下記のSQLから取得できます。</p>
<pre class="lang:sql">-- PARTITION_NAME：パーティション名、LAST_ANALYZED：統計情報を取得した日時（取得していなければNULL）
SELECT TABLE_NAME, PARTITION_NAME, LAST_ANALYZED
FROM ALL_TAB_PARTITIONS
WHERE TABLE_NAME = '&lt;確認したいテーブル名&gt;';</pre>
<p>なお、パーティション分割されたテーブルの統計情報収集の方法は2つあり、上記はパーティションレベルで統計情報を収集した際の確認方法になります。</p>
<p>（もう1つは、表レベルで統計情報を収集する方法があります。）</p>
<p>これらの違いは&#8221;GLOBAL_STATS&#8221;カラムの値で確認することができます。</p>
<pre class="lang:sql">-- GLOBAL_STATSが"YES"ならパーティション単位で統計情報が収集されている
SELECT TABLE_NAME, PARTITION_NAME, GLOBAL_STATS
FROM ALL_TAB_PARTITIONS
WHERE TABLE_NAME = '&lt;確認したいテーブル名&gt;';

-- GLOBAL_STATSがYESなら表レベルで統計情報が収集されている。
SELECT TABLE_NAME, GLOBAL_STATS
FROM ALL_TABLES
WHERE TABLE_NAME = '&lt;確認したいテーブル名&gt;';</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TECH PLAY CONFERENCE 2017 【 クラウド最先端技術 】に行ってきた</title>
		<link>http://blog.ak2ie.net/2017/tech-play-conference-2017/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Sun, 20 Aug 2017 15:51:03 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1596</guid>

					<description><![CDATA[TECH PLAY CONFERENCE 2017 ]]></description>
										<content:encoded><![CDATA[<h3>TECH PLAY CONFERENCE 2017 【 クラウド最先端技術 】</h3>
<p>TECH PLAY CONFERENCE 2017のうち、8/20（日）に開催された「AWSクラウド技術と導入事例」を聞きに行ってきました。<br />
内容としては、クラウドサービス（GCP、AWS、Azure）の提供元と各サービスを利用している企業の担当者がその事例を紹介して頂けるというものでした。</p>
<h3>AI/IoTなどのサービスを支えるAWSのマネージドサービス・サーバレスサービス</h3>
<p>まずは、アマゾンウェブサービスジャパンの亀田氏からAWSの機械学習関連サービスの説明がありました。<br />
Polly、Rekognition、Lexの紹介があり、そのうちPollyはテキストを音声に変換できるサービスらしく、実例としてFM和歌山が挙げられていました。<br />
FM和歌山では、災害発生時などにアナウンサーが局内にいない場合などを想定し、ニュース原稿をPollyに入れて音声配信を行うところまでをAWSで実現しているそうです。<br />
人間の声の代わりをするだけなら初音ミクなどがありますが、テキストから音声配信までをAWSで実現しているところが先進的だと言うことでした。</p>
<h3>Rekognition：はいチーズ！</h3>
<p>Rekognitionは画像認識サービスですが、例としては「<a href="https://8122.jp/" target="_blank">はいチーズ！</a>」が挙げられていました。<br />
保育園や小学校で、運動会などで写真店のおじさんが写真をとってくれて、後日、廊下などにたくさんの写真が並べられて、そこから欲しいものを選んでお金を入れて買うということをやったことがあるかと思いますが、これはそれをウェブサービス化したものということでした。</p>
<p>自分も「あ～、あったなー」と思いながら聞いていましたが、あれをウェブサービスにしてしまうのは、目の付けどころが違うなと思いました。<br />
実例としては、多くの写真の中から我が子が写った写真を探すための機能につかっているそうです。</p>
<p>Rekognitionを採用するために社内説明用のデモアプリを見せてもらいましたが、精度はけっこう高く、横からとか口を開けてたりしても、本人と認識されていました。</p>
<p>今後の課題としては、この機能を使うためには一度我が子の写真をアップロードする必要があるそうなんですが、そこに抵抗がある方もおられるそうで、この機能をより使ってもらえるようにすることが必要ということでした。<br />
</p>
<h3>IoT：enebular</h3>
<p>最後は、IoTの実例として「<a href="https://enebular.com/" target="_blank">enebular</a>」が紹介されていました。</p>
<p>正直、IoTのことがはよく知らないのですが、市場の伸びはとても大きいということでした。</p>
<p>で、このenebularは、GUIでデータフローを記述でき、エッジのソフトウェア更新も行える点がAWS Greengrassよりも優れているということでした。<br />
</p>
<h3>TECH PLAY SHIBUYA</h3>
<p>このイベントが開催された「<a href="https://techplay.jp/space" target="_blank">TECH PLAY SHIBUYA</a>」には初めて行きましたが、とてもきれいな場所でした。<br />
渋谷駅からはスクランブル交差点を渡って、公園通りを直進し緑の木々で覆われたMODIの建物が見えたら、交差点を渡らずに手前の建物の8Fです。エレベーターは建物入って自動ドアの奥、少し入りくんだところにあります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Neural Network Console</title>
		<link>http://blog.ak2ie.net/2017/neural-network-console/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Thu, 17 Aug 2017 14:46:05 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1593</guid>

					<description><![CDATA[今日（08/17）、ソニーが公開したDeep Le ]]></description>
										<content:encoded><![CDATA[<p>今日（08/17）、ソニーが公開したDeep LearningのGUIツール「Neural Network Console」をつかってみました。</p>
<h3>ダウンロード</h3>
<p>ツールは公式サイトからダウンロードします。<br />
メールアドレスを入力すると、ダウンロードページへのリンクが送られてきます。</p>
<p>なお、ファイルは約1GBの圧縮ファイルで、私は解凍に1時間ほどかかったので気長に待ちましょう。<br />
</p>
<h3>チュートリアルを試す</h3>
<p>解凍したフォルダの直下には、&#8221;manual_ja.pdf&#8221;という日本語のマニュアルがあります。<br />
日本語のマニュアルがあるのはうれしいですね。</p>
<p>チュートリアルをやってみた結果、こんな感じになりました。<br />
<a href="http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole.png"><img loading="lazy" width="300" height="162" src="http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole-300x162.png" alt="" class="aligncenter size-medium wp-image-1594" srcset="http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole-300x162.png 300w, http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole-150x81.png 150w, http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole-768x414.png 768w, http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole-1024x551.png 1024w, http://blog.ak2ie.net/wp-content/uploads/2017/08/NeuralNetworkConsole.png 1922w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>チュートリアルをやってみて動きはしたんですが、そもそも知識がなさ過ぎて何をやってるのか全然理解できてません。<br />
何か本でも買って勉強しようかな。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LINEのAIスピーカー「WAVE」</title>
		<link>http://blog.ak2ie.net/2017/line%e3%81%aeai%e3%82%b9%e3%83%94%e3%83%bc%e3%82%ab%e3%83%bc%e3%80%8cwave%e3%80%8d/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Wed, 16 Aug 2017 14:08:42 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1591</guid>

					<description><![CDATA[概要 LINEが今秋発売予定のAIスピーカー「WA ]]></description>
										<content:encoded><![CDATA[<h3>概要</h3>
<p>LINEが今秋発売予定のAIスピーカー「WAVE」。その先行版のレビューが載っていた。</p>
<p>先行版は、音楽再生、アラームのセット、天気予報に機能が限定されているそうだ。<br />
音声認識に問題はないそうで、地名も正しく認識しているらしい。ただ、的外れな回答をすることもあるとのことだったので、改善の余地はありそうだ。</p>
<p><iframe loading="lazy" title="LINEが事業説明会で公開したAIスピーカー「LINE clova」" width="1200" height="675" src="https://www.youtube.com/embed/eTaPZnh1-Qo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br />
</p>
<ul>
<li><a href="http://www.itmedia.co.jp/news/articles/1708/16/news040.html" target="_blank">LINEのAIスピーカー「WAVE」を使ってみた　そのスゴさと課題 (1/3)</a></li>
</ul>
<p>自分は音声認識端末は持ってないけど、AndroidのOK Googleはタイマーのセットでつかってる。<br />
WindowsのCortanaは、認識の精度がそこまで高くなかったので使わなくなってしまった。使い道があんまり思い浮かばないけど、どう使うのかな。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>テストは人工知能にまかせろ</title>
		<link>http://blog.ak2ie.net/2017/test_ai/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Mon, 14 Aug 2017 15:31:20 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1585</guid>

					<description><![CDATA[概要 スマホアプリのE2Eテストを自動化する「Ma ]]></description>
										<content:encoded><![CDATA[<h3>概要</h3>
<p>スマホアプリのE2Eテストを自動化する「Magic Pod」というサービスが紹介されていた。</p>
<p>このサービスは、アプリの画面キャプチャをAIで識別し、ボタンや入力エリア、また単なる入力エリアというだけでなく、「ID入力エリア」といったことまで判断できるそうだ。<br />
その精度は98%にも上ると言うから驚いた。<br />
また、テストケースもプログラムで書くのではなく、日本語の文章で書くことができ使いやすそうだった。<br />
<span id="more-1585"></span><br />
</p>
<p><iframe loading="lazy" title="MagicPodコンセプト動画" width="1200" height="675" src="https://www.youtube.com/embed/f6SO9pZANas?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br />
</p>
<ul>
<li><a href="http://itpro.nikkeibp.co.jp/atcl/column/14/346926/080701084/" target="_blank">テストは人工知能に任せろ（ITpro）</a></li>
</ul>
<p>
自分は今、Windows用ソフトウェアを趣味で作ってるけど、テストは全部C#で書いている。<br />
これも日本語で書ければ少し楽になる面はあるのかな。</p>
<p>でもビジネスロジックの部分はコードで書かないと無理そうな気がするし、適材適所でつかっていくんだろうな。</p>
<h3>リンク</h3>
<ul>
<li><a href="https://magic-pod.com/" target="_blank">Magic Pod公式サイト</a></li>
<li><a href="http://blog.trident-qa.com/2016/10/introduce_magic_pot/" target="_blank">ディープラーニングで簡単に自動テストスクリプトが作れる「Magic Pod」（開発元ブログ）</a>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nunit で配列、リストを比較する方法</title>
		<link>http://blog.ak2ie.net/2017/nunit_assert_list/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Fri, 28 Jul 2017 15:13:33 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1581</guid>

					<description><![CDATA[Nunitで配列やリストを比較する必要があったので ]]></description>
										<content:encoded><![CDATA[<p>Nunitで配列やリストを比較する必要があったので、やり方を調べてみました。</p>
<h3>環境</h3>
<ul>
<li>Visual Studio 2015</li>
<li>C#</li>
<li>NUnit 3.5（Nugetでインストール）</li>
</ul>
<h3>一致するかを確認する</h3>
<p>配列やリストの要素について、その値、順番まで一致することを確認するには<b>Is.EqualTo</b>を使えばOKです。</p>
<pre class="lang:clike">
using NUnit.Framework;

    class Program
    {
        [Test]
        public void 配列の一致確認()
        {
            string[] sarray = new string[] { "a", "b", "c" };
            Assert.That(new string[] { "a", "b", "c" }, Is.EqualTo(sarray));
        }
    }
</pre>
<h3>要素がそろっていることを確認する</h3>
<p>順番は気にせず、一方のリストや配列の要素が不足なくもう一方にそろっていることを確認するには、<b>Is.EquivalentTo</b>を使います。</p>
<pre class="lang:clike">[Test]
        public void リスト不一致()
        {
            int[] iarray = new int[] { 1, 2, 3 };
            Assert.That(new int[] { 3, 1, 2 }, Is.EquivalentTo(iarray));
        }</pre>
<p>リストや配列の比較を行う際は、<a href="https://github.com/nunit/docs/wiki/Constraints#constraints-by-category" target="_blank">NUnitの公式ドキュメント</a>もご覧ください。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WPFで画像が表示されないときの解決方法</title>
		<link>http://blog.ak2ie.net/2017/wpf_image/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Mon, 24 Jul 2017 15:27:53 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1572</guid>

					<description><![CDATA[WPFで画像を表示しようと思って、 &#60;Ima ]]></description>
										<content:encoded><![CDATA[<p>WPFで画像を表示しようと思って、</p>
<pre class="lang:addlightplain">&lt;Image Source="{StaticResource OpenFolder}" Width="20" Height="20" /&gt;</pre>
<p>などと書いても、画面に画像が表示されないことがあります。</p>
<p>例えば、Visual Studioの画面プレビューには表示されるのに、実際にソフトウェアを起動すると表示されないといったこともあります。</p>
<p>そんなときは、まず「ソリューションエクスプローラー」で表示したい画像ファイルを選択し、プロパティで「ビルドアクション」が「Resource」になっていることを確認しましょう。</p>
<p>そして、「ビルド」メニューから「ソリューションのリビルド」をクリックし、リビルドを行います。</p>
<p>こうすると、ソフトウェアを起動したときにも、きちんと画像が表示されているはずです。</p>
<p><a href="http://blog.ak2ie.net/wp-content/uploads/2017/07/WPF_Resource_Image-1.png"><img loading="lazy" width="132" height="300" src="http://blog.ak2ie.net/wp-content/uploads/2017/07/WPF_Resource_Image-1-132x300.png" alt="" class="aligncenter size-medium wp-image-1576" srcset="http://blog.ak2ie.net/wp-content/uploads/2017/07/WPF_Resource_Image-1-132x300.png 132w, http://blog.ak2ie.net/wp-content/uploads/2017/07/WPF_Resource_Image-1-66x150.png 66w, http://blog.ak2ie.net/wp-content/uploads/2017/07/WPF_Resource_Image-1.png 420w" sizes="(max-width: 132px) 100vw, 132px" /></a></p>
<p><a href="http://blog.ak2ie.net/wp-content/uploads/2017/07/VisualStudioRebuild.png"><img loading="lazy" width="300" height="147" src="http://blog.ak2ie.net/wp-content/uploads/2017/07/VisualStudioRebuild-300x147.png" alt="" class="aligncenter size-medium wp-image-1579" srcset="http://blog.ak2ie.net/wp-content/uploads/2017/07/VisualStudioRebuild-300x147.png 300w, http://blog.ak2ie.net/wp-content/uploads/2017/07/VisualStudioRebuild-150x73.png 150w, http://blog.ak2ie.net/wp-content/uploads/2017/07/VisualStudioRebuild.png 705w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h3>Tips</h3>
<p>表示された画像が粗い or きれいではない といった場合は、明示的にサイズ（With, Height）を指定するとよいかもしれません。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP7で動くWordPress開発環境をDockerでつくる</title>
		<link>http://blog.ak2ie.net/2017/docker_windows_volume/</link>
		
		<dc:creator><![CDATA[blog]]></dc:creator>
		<pubDate>Fri, 05 May 2017 13:57:32 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">http://blog.ak2ie.net/?p=1557</guid>

					<description><![CDATA[このGWのあいだはずっとプログラムをかいてました。 ]]></description>
										<content:encoded><![CDATA[<p>このGWのあいだはずっとプログラムをかいてました。<br />
少し前から作りたかった、<a href="https://annict.com/" target="_blank" rel="noopener noreferrer">Annict</a>というアニメ記録サイトのAPIをつかったものや、自社の勤怠関連のアプリをC#でかいたりしてました。</p>
<p>その中で、何年も放置していたこのブログもこれからはいろいろとアウトプットの場にしていきたいなという思いが強くなり、<br />
テーマを変えてみることにしました。<br />
その際、WordPressの開発環境をDockerでつくり、PHP7で動くようにしたので、その方法をかいておきます。<br />
<span id="more-1557"></span></p>
<h3>なにができるか</h3>
<ul>
<li>コマンド１発で開発環境を起動</li>
<li>特別な操作をせずにコンテナを終了しても、データが保存される</li>
<li>WordPress関連のファイルをWindows上のエディタから編集でき、変更内容が即座に反映される</li>
<li>エクスプローラー上からGUIでファイルの追加、削除を行える</li>
</ul>
<h3>前提</h3>
<p>下記の環境、ソフトウェアがそろっているものとします。</p>
<ul>
<li>Windows 10</li>
<li>Docker Version 17.03.1-ce-win5 (10743)</li>
</ul>
<p>やることは単純で、Docker Hubからイメージを落としてきて、セットアップするだけです。<br />
イメージを落とすときに、PHP7が動くものを指定するように注意します。</p>
<h3>Dockerイメージを取得</h3>
<p>次のコマンドで、Dockerイメージを取得します。</p>
<pre class="lang:addlightplain"># PHP7で動くWordPress開発用　Dockerイメージを取得
docker pull wordpress:4.7.4-php7.0-apache

# DB用 Dockerイメージを取得
docker pull mysql</pre>
<h3>docker-compose用ファイルを作成</h3>
<p>dockerコマンドを直接入力する方法もありますが、面倒なので、docker-composeを使うことにします。</p>
<pre class="lang:addlightplain gutter:true start:1">version: '2'
services:
  mysite_db_php7:
    image: mysql:5.7
    volumes:
      - "./db:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: password
  mysite_php7:
    image: wordpress:4.7.4-php7.0-apache
    environment:
        WORDPRESS_DB_PASSWORD: password
        WORDPRESS_DB_USER: root
        WORDPRESS_DB_HOST: mysite_db_php7:3306
        WORDPRESS_DB_NAME: mysite_db_php7
    ports:
      - "8000:80"
    links:
      - mysite_db_php7
    volumes:
      - "./www:/var/www/html"</pre>
<p>データ永続化、テーマ編集のため、DB、WordPressのデータは、上記のファイルを置いたフォルダ直下の次のフォルダ内に出力されます。</p>
<ul>
<li>db : DBのデータ</li>
<li>www: WordPressのファイル</li>
</ul>
<h3></h3>
<h3></h3>
<h3>起動</h3>
<p>準備は整ったので、次のコマンドを実行してDockerのコンテナを起動します。</p>
<pre class="lang:addlightplain gutter:true start:1">docker-compose up -d</pre>
<h3></h3>
<h3>起動の確認とWordPressの初期設定</h3>
<p>コンテナが正常に起動したら、次のURLにアクセスしてWordPressの初期設定ページが開くことを確認します。</p>
<pre class="lang:addlightplain gutter:true start:1">http://localhost:8000/</pre>
<p>ページが正常に表示されたら、環境構築は完了です。</p>
<p>&nbsp;</p>
<h3>起動しない場合は？</h3>
<p>&#8220;Shared Drives&#8221;が設定済かどうか、または画面に表示されたエラーメッセージを確認してみてください。</p>
<ul>
<li><a href="Docker for Windows をあと 10 分位使ってみた（Shared Drives を触る）">Docker for Windows をあと 10 分位使ってみた（Shared Drives を触る）</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
