<?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>みずかず式！</title>
	<atom:link href="https://mizukazu.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://mizukazu.com</link>
	<description>プログラミングと趣味と日常の雑記ブログ</description>
	<lastBuildDate>Sun, 29 Mar 2026 12:43:11 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://mizukazu.com/wp-content/uploads/2020/12/cropped-favicon-32x32.png</url>
	<title>みずかず式！</title>
	<link>https://mizukazu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>2026年2月20日バチ抜け釣行記(東京)</title>
		<link>https://mizukazu.com/2026-02-20-tokyo-bachinuke-seabass/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 12:42:17 +0000</pubDate>
				<category><![CDATA[シーバス]]></category>
		<category><![CDATA[趣味]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1429</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>どうも。みずかず(@mizukazu_1)です。 今回は趣味の一つである釣りの釣行記です。今後はこういった趣味関連の記事も書いていこうかなと思っています。 2月の潮周りのよいタイミングで何回かバチ抜け釣行に行ってきました ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p>どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。</p>



<p>今回は趣味の一つである釣りの釣行記です。<br>今後はこういった趣味関連の記事も書いていこうかなと思っています。</p>



<p>2月の潮周りのよいタイミングで何回かバチ抜け釣行に行ってきました。<br>計4,5回くらい行ったかな？<br>バチが結構抜けてる日も多かったのですが残念ながら釣れたのは2月20日の一日だけでした。</p>



<p>この記事を書いてるのが3月下旬でして、3月も2回くらいバチ抜け釣行に行ってるのですが自分は全然ダメです。<br>ハクが多く入ってきてる日もあってバチが抜けても食わないっていうこともありました。</p>



<p>2月20日から約1ヵ月ほど経っていて、なおかつ当日の状況をメモしていないので思い出しながら書いていきます、、、！</p>



<h2 class="wp-block-heading" id="i-0">当日の状況</h2>



<p>この日は大潮後の中潮2日目でした。<br>タイドグラフを遡れなくて分からないのですが満潮時刻がだいたい18:30～19:00だったと思います。</p>



<p>釣り場に着いたのが満潮と同時くらいでその時はあまり流れが効いておらず、釣りを始めて少ししてから流れ出してそのタイミングでバチも抜け始めてポツポツライズが出るっていう状況でした。</p>



<h3 class="wp-block-heading" id="i-1">バチの量</h3>



<p>バチの量は程よい感じでした。<br>バチソーメンを恐れていたのですが後中2日目で川幅も広いこともあり釣りにならない！っていうレベルで抜けることはありませんでした。</p>



<h3 class="wp-block-heading" id="i-2">時合いがくる</h3>



<p>釣りを始めて約1時間くらいしてバチも流れ始めてきてライズが出るようになります。<br>このタイミングで釣ることが出来ました。<br>3キャッチ、1匹目が82cmのランカーでした。</p>



<p>人生初ランカーを釣ることができたのでめちゃくちゃテンション上がりました！！</p>



<h2 class="wp-block-heading" id="i-3">使用したルアー</h2>



<p>ノガレ160F 銀粉チャートブラックベリー<br>ヒソカ120F オレンジパールギーゴ</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="768" height="1024" src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-768x1024.jpg" alt="" class="wp-image-1436" srcset="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-768x1024.jpg 768w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-225x300.jpg 225w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-1152x1536.jpg 1152w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-1536x2048.jpg 1536w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5058-940x1253.jpg 940w" sizes="(max-width: 768px) 100vw, 768px"></figure>



<p><br>ノガレは引き波系のルアーで巻き抵抗はほぼないので若干苦手意識がありましたが今回の釣行で間違いなくバチ抜けシーズンの1軍ルアーへと昇格されました、、、！！</p>



<p>ヒソカは今回の釣行で初めて使ったのですがバチ抜けだけじゃなくて他のシーズンでも使えそうだなっていう印象を受けました。<br>なによりオレンジパールギーゴのカラーがすごくいい。めっちゃ好き。</p>



<h2 class="wp-block-heading" id="i-4">ヒットしたシチュエーション</h2>



<p>ノガレもヒソカも投げてほとんど放置してる間に釣れました。<br>流れが結構あったので投げて糸ふけだけ回収するようなイメージでリールを巻いていても勝手に流れて勝手に水を掴んで勝手にアクションしてくれるっていう感じです。</p>



<p>もう少し詳しく書いておきます。</p>



<p>1匹目ですがノガレをクロスに投げてそのまま放置してました。<br>糸ふけだけ回収する感じです。</p>



<p>バチ抜けてるかな～と思い足元をライトで照らして見てたんですがその時にルアーがダウンに入ったくらいのあたりでライズ音。<br>自分のルアーかもしれないと思って一応合わせたらロッドがグッとしなりヒット。</p>



<p>82cmのパワフルなランカーシーバスでした。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="768" src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-1024x768.jpg" alt="" class="wp-image-1437" srcset="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-1024x768.jpg 1024w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-300x225.jpg 300w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-768x576.jpg 768w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-1536x1152.jpg 1536w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-2048x1536.jpg 2048w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5052-940x705.jpg 940w" sizes="(max-width: 1024px) 100vw, 1024px"></figure>



<p>2匹目はヒソカを投げてゆっくり巻きつつ基本放置。<br>ダウンに入ったまま放置してさっきと同じように足元のバチを見てたらルアーの方向からライズ音。<br>合わせを入れてヒット。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="768" height="1024" src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-768x1024.jpg" alt="" class="wp-image-1438" srcset="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-768x1024.jpg 768w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-225x300.jpg 225w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-1152x1536.jpg 1152w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-1536x2048.jpg 1536w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5054-940x1253.jpg 940w" sizes="(max-width: 768px) 100vw, 768px"></figure>



<p>3匹目はヒソカをアップにキャスト。<br>着水してすぐにライズ。<br>合わせを入れてヒット。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" src="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-768x1024.jpg" alt="" class="wp-image-1440" srcset="https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-768x1024.jpg 768w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-225x300.jpg 225w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-1152x1536.jpg 1152w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-1536x2048.jpg 1536w, https://mizukazu.com/wp-content/uploads/2026/03/IMG_5055-940x1253.jpg 940w" sizes="auto, (max-width: 768px) 100vw, 768px"></figure>



<p>こんな感じの使い方をしてました。<br>最近思ったことなんですが、想像してるより全然巻かない方が魚は釣れるなっていう。<br>シンペンとかバイブレーションとかも巻き抵抗を受けないくらいで巻いてる方が反応が良かったりします。(個人の意見です)<br></p>



<h2 class="wp-block-heading" id="i-5">使用タックル</h2>



<p>ロッド：シマノ ディアルーナ86ML<br>リール：シマノ 24ヴァンフォードC3000XG<br>PEライン：ピットブル 8+ 0.8号<br>リーダー：FLUORO SHOCK LEADER 16lb</p>



<h2 class="wp-block-heading" id="i-6">最後に</h2>



<p>今回のバチ抜け釣行は3本キャッチ内ランカー1匹ゲットできたので最高に楽しかったです。</p>



<p>ノガレ、ヒソカは巻かずとも釣れるということが分かり、これはおそらくこの2つのルアーに限ったことではなくてバチ抜けルアー全般に当てはまるんじゃないかと。とても学びの多い釣行でした。</p>



<p>今年の川バチは終了しましたが今年は港湾でのくるくるバチ、ハクパターンもしっかりやろうかなと考えてます！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LION BLOGを使用中に重大なエラーが発生！PHP8.1に対応してないことが原因</title>
		<link>https://mizukazu.com/lionblog-error/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Fri, 13 Sep 2024 09:28:23 +0000</pubDate>
				<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1410</guid>

					<description><![CDATA[5年くらい前に「LION BLOG」を使用してあるブログを作ったんですね。最近そのブログから重大なエラーが発生してるよってメールが届いたので内容確認したところPHP8.1へのバージョンアップに伴うエラーでした。 ブログ自 ... ]]></description>
										<content:encoded><![CDATA[
<p>5年くらい前に「<a href="https://lionblog.fit-jp.com/" target="_blank" rel="noreferrer noopener">LION BLOG</a>」を使用してあるブログを作ったんですね。<br>最近そのブログから重大なエラーが発生してるよってメールが届いたので内容確認したところPHP8.1へのバージョンアップに伴うエラーでした。</p>



<p>ブログ自体は全然更新してないしアクセス数もないのでいいんですが何となく気になったのでエラー対応してみました。</p>



<p>今回の方法はLION BLOG公式が出してるものではないのでもし同じようにやってみる人がいる場合は<span class="keiko_red">自己責任</span>でお願いします。</p>



<h2 class="wp-block-heading" id="i-0">どんなエラーが出てたか</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="495" src="https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-1024x495.png" alt="" class="wp-image-1411" srcset="https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-1024x495.png 1024w, https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-300x145.png 300w, https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-768x371.png 768w, https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-1536x742.png 1536w, https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14-940x454.png 940w, https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-13-13.56.14.png 1764w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>エラーはこんな感じです。</p>



<pre class="wp-block-code"><code>Fatal error: Uncaught Error: Call to undefined function create_function()</code></pre>



<p><span class="haiiro">create_function()</span>という関数がないよーって言われてますね。</p>



<p>調べてみるとこのcreate_function()という関数がPHP8.1では削除されたみたいです。</p>



<p><a href="https://www.php.net/manual/ja/function.create-function.php" target="_blank" rel="noreferrer noopener">https://www.php.net/manual/ja/function.create-function.php</a></p>



<p>なのでテーマの中で使用されている<span class="haiiro">create_function()</span>を代わりのものに置き換える必要があります。</p>



<h2 class="wp-block-heading" id="i-1">create_function()は2箇所で使用されている</h2>



<p>LION BLOGのテーマのコードを検索するとcreate_function()が使われているところが2箇所あります。</p>



<p>functions.phpの4514行目と4611行目です。</p>



<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>PHP functions.php 4514行目</span><pre><code>add_action( 'widgets_init', create_function( '', 'return register_widget( "AdWidgetItemClass" );' ) );</code></pre></div>



<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>PHP functions.php 4611行目</span><pre><code>add_action( 'widgets_init', create_function( '', 'return register_widget( "Popular_Posts" );' ) );</code></pre></div>



<h2 class="wp-block-heading" id="i-2">解決方法</h2>



<h3 class="wp-block-heading" id="i-3">create_function()を無名関数に置き換える</h3>



<p>create_function()は動的に関数を作成する関数です。</p>



<p>PHP8.1では無名関数が使えるので以下のようにadd_actionの第二引数に直接関数を渡します。</p>



<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>PHP functions.php 4514行目</span><pre><code>add_action( 'widgets_init', function() { return register_widget( "AdWidgetItemClass" ); } );</code></pre></div>



<div class="wp-block-sgb-codebox pre_tag"><span><i class="fa fa-code"></i>PHP functions.php 4611行目</span><pre><code>add_action( 'widgets_init', function() { return register_widget( "Popular_Posts" ); } );</code></pre></div>



<p>これでエラーが出なくなりブログが正常に動作しました。</p>



<h2 class="wp-block-heading" id="i-4">最後に</h2>



<p>今回の対応は公式がサポートしているやり方ではないのでもし同じ対応をする場合には<span class="keiko_red">自己責任</span>でお願いします。<br>サイトを復旧させたい場合などの応急処置には良さそうですが実運用するには望ましくないと思われます、、、</p>



<p>今後も同じようなエラーが出てくると思いますので早めに他のテーマに変更するのがおすすめです。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vike(旧vite-plugin-ssr) + ReactでSSGしてみる</title>
		<link>https://mizukazu.com/vike-ssg/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Thu, 12 Sep 2024 07:26:33 +0000</pubDate>
				<category><![CDATA[React]]></category>
		<category><![CDATA[Vite]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1396</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-12-15.49.10-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>「Vike」って知ってますか？Viteで開発するアプリケーションをもう一段階強化できるものでViteを使用してSSRやSSGなど好きなレンダリングをすることができるようになります。 元々はViteで使用するプラグイン v ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2024/09/スクリーンショット-2024-09-12-15.49.10-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p>「Vike」って知ってますか？<br>Viteで開発するアプリケーションをもう一段階強化できるものでViteを使用してSSRやSSGなど好きなレンダリングをすることができるようになります。</p>



<p>元々はViteで使用するプラグイン <span class="haiiro">vite-plugin-ssr</span> というものだったらしいのですが名称変更をしたみたいです。</p>



<p>Vite × ReactでSSGを使いたいなと思って探してたところ見つけたのですが動的ルートに対してのSSGに少しだけハマったのでこちらに記しておこうと思います。</p>



<p>今回はVikeを使用してSSGをする方法を書くのでVikeの紹介や詳しい使い方などは割愛します。<br></p>



<p>公式ドキュメント<br><a href="https://vike.dev/" target="_blank" rel="noreferrer noopener"><strong><span class="sobig"><span class="keiko_blue">Vike</span></span></strong></a></p>



<h2 class="wp-block-heading" id="i-0">SSGさせるために設定を変更する</h2>



<p>まずSSGさせるためにはVikeの設定をSSG用に変える必要があります。</p>



<p>vite.config.jsのvikeプラグインの引数をprerender: trueに設定。</p>



<pre class="wp-block-code"><code>// vite.config.js
 
import vike from 'vike/plugin'
 
export default {
  plugins: [
    vike({ prerender: true })
  ]
}</code></pre>



<p>これでビルドするとpages配下に対応したhtmlファイルが生成されます。</p>



<p>ただこれだけだと <span class="haiiro">/category/@id</span> のような動的ルートに対してのhtmlファイルは作成されません。</p>



<p>参考<br><a href="https://vike.dev/pre-rendering#how-to-pre-render">https://vike.dev/pre-rendering#how-to-pre-render</a></p>



<h2 class="wp-block-heading" id="i-1">動的ルートをSSGさせる</h2>



<p>動的ルートをSSGするにはビルドプロセスの中でvike側に動的ページのパスのリストを渡してあげる必要があります。</p>



<p><span class="haiiro">onBeforePrerenderStart()</span> というフックが用意されているのでこれを使います。<br>名前的にはプリレンダリングつまりhtmlを生成する処理の前に差し込む処理のことだと思います。</p>



<pre class="wp-block-code"><code>// /pages/movie/+route.js
// Environment: Node.js
 
export default '/movie/@movieId'</code></pre>



<pre class="wp-block-code"><code>// /pages/movie/+onBeforePrerenderStart.js
// Environment: Node.js
 
export { onBeforePrerenderStart }
 
async function onBeforePrerenderStart() {
  const movies = await Movie.findAll()
  const moviePageURLs = movies.map(movie =&gt; '/movie/' + movie.id)
  return moviePageURLs
}</code></pre>



<p>ドキュメントのコードをそのまま持ってきました。<br>パスを配列に詰めてreturnしてるだけですね。</p>



<h3 class="wp-block-heading" id="i-2">実際のコードに当てはめてみた</h3>



<p>今回作成していたサイトには <span class="haiiro">/category/@slug</span> という動的ルートがありましたのでドキュメントの通りに以下のようにファイルを作成しました。</p>



<pre class="wp-block-code"><code>// /pages/category/+route.js
 
export default '/category/@slug'</code></pre>



<pre class="wp-block-code"><code>// /pages/category/+onBeforePrerenderStart.js
 
export { onBeforePrerenderStart }

import { categories } from '../../../constants';
 
async function onBeforePrerenderStart() {
  const categoryPageURLs = categories.map(category =&gt; `/category/${category.slug}`)
  return categoryPageURLs
}</code></pre>



<h3 class="wp-block-heading" id="i-3">エラーが発生する</h3>



<p>ここで少しハマりました。<br>ドキュメントの通りにファイルを作成したのですが以下のようなエラーが出ました。</p>



<pre class="wp-block-code"><code>Error: [vike][Wrong Usage] URL /category/work provided twice by the onBeforePrerenderStart() hook (/pages/category/+onBeforePrerenderStart.ts). Make sure to provide the URL only once instead.</code></pre>



<p>同じURLが複数出てるから1回だけにしろ的な感じですかね？<br>うーん、ちょっとよく分からん。</p>



<p>ってことでvikeの公式リポジトリの中に例がいくつかあるので解決策のヒントがないか探しに行きました。</p>



<p>ここです↓</p>



<p><a href="https://github.com/vikejs/vike/tree/main/examples">https://github.com/vikejs/vike/tree/main/examples</a></p>



<h3 class="wp-block-heading" id="i-4">解決方法</h3>



<pre class="wp-block-code"><code>+route.js
+onBeforePrerenderStart.js</code></pre>



<p>この2つのファイルの配置場所を変えることで解決しました。</p>



<pre class="wp-block-code"><code>/category/+route.js
/category/+onBeforePrerenderStart.js

↓

/category/index/+route.js
/category/index/+onBeforePrerenderStart.js</code></pre>



<p>このように<span class="haiiro">index</span>というディレクトリを作ってその中に入れることで解決しました。</p>



<p><a href="https://github.com/vikejs/vike/tree/main/examples/react-full/pages/star-wars/index">https://github.com/vikejs/vike/tree/main/examples/react-full/pages/star-wars/index</a></p>



<p>解決した理由がよく分からないのですが↑のディレクトリ構造を見て真似してみたら解決した！って感じです。</p>



<p>この辺りが調べても出てこないしissueもなかったのでハマりました、、、</p>



<p>けどこれで動的ルートに関しても無事にSSGさせることができました。</p>



<h2 class="wp-block-heading" id="i-5">最後に</h2>



<p>今回はvike × ReactでSSGさせる方法を書きました。</p>



<p>React要素全然出てこなかったな、、、<br>SSGさせる方法というよりどっちかっていうとエラー解決記事になってる気がする。</p>



<p>次回はもう少し詳しい説明とか機能とか書きたい。(触り始めたばかりだけど)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【Docker】なるべく小さいPHPの実行環境を作成する</title>
		<link>https://mizukazu.com/docker-php-minimum/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Mon, 19 Feb 2024 09:41:27 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1380</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2024/02/whale-container2-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>自分が今まで作成した成果物の見直しをしようかと思ってまず手始めにブックマーク管理ツールから手を付けたんですけどエラーが出まくっていてまともに動作していないことに気づいたんですね。 約4年くらい前にPHPで作った↓のツール ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2024/02/whale-container2-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p>自分が今まで作成した成果物の見直しをしようかと思ってまず手始めにブックマーク管理ツールから手を付けたんですけどエラーが出まくっていてまともに動作していないことに気づいたんですね。</p>



<p>約4年くらい前にPHPで作った↓のツールです。<br>PHP覚えたてくらいの時にスクラッチで作ってみたものです。<br><a href="https://mizukazu.com/bookmark-management/" target="_blank" rel="noreferrer noopener">ブックマーク管理ツール</a></p>



<p>ちなみにその時に書いた記事がこちらです。</p>


<p>			</p><div class="c_linkto_wrap">
			<a class="c_linkto" href="https://mizukazu.com/%e3%80%90php%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%83%9e%e3%83%bc%e3%82%af%e7%ae%a1%e7%90%86%e3%83%84%e3%83%bc%e3%83%ab%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/">
				<span class="c_linkto_img_wrap"><img loading="lazy" decoding="async" width="520" height="300" src="https://mizukazu.com/wp-content/uploads/2019/12/bookmark-management-520x300.png" class="attachment-thumb-520 size-thumb-520 wp-post-image" alt="" srcset="https://mizukazu.com/wp-content/uploads/2019/12/bookmark-management-520x300.png 520w, https://mizukazu.com/wp-content/uploads/2019/12/bookmark-management-300x172.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px"></span>
				<div class="c_linkto_text">
				【PHP】ブックマーク管理ツールを作ってみた												</div>
			</a>
							</div>
				



<p></p>



<p>XSERVERでホスティングしているので多分PHPのバージョンが上がったことで動作しなくなったのだと思います。</p>



<p>そこでエラーを修正しようとしたんですけど今のPCにPHPの実行環境がなくPHPを動かせない、、、</p>



<p>ちょうど数日前にLaravelの実行環境を作ろうと思ってDockerを触ってたのでそのノリでPHPが動作する環境も作っちゃえ！ってことでDockerで作成しました。</p>



<p>前に友人に借りた本をざっくり一周したのと何個かコンテナ作ったりしたレベルかつ<br>フロントエンドがメインで業務でもDockerを使っていないので全然知識がないです、、、</p>



<p>なので今回の手順を備忘録がてらここに書き記しておこうと思います！<br>ここ2年くらいブログも書いていなかったのでリハビリも兼ねて！</p>



<h2 class="wp-block-heading" id="i-0">docker-compose.ymlを作る</h2>



<p>こちらが今回作成したdocker-compose.ymlです。<br>めちゃくちゃシンプルです。</p>



<pre class="wp-block-code"><code>version: "3"

services:
  php:
    image: php:latest
    volumes:
      - ./src:/var/www/html
    ports:
      - "8080:8080"
    command: php -S 0.0.0.0:8080 -t /var/www/html</code></pre>



<p>上から順番に説明していきます。</p>



<h3 class="wp-block-heading" id="i-1">version</h3>



<p>これはdocker-compose.ymlのバージョンです。<br>composeファイルと呼ばれバージョン毎の書き方があるみたいです。<br>今回は一番最新の使用の3を使用しました。</p>



<h3 class="wp-block-heading" id="i-2">service</h3>



<p>作成するコンテナを書きます。<br>ここではphpという名前のコンテナを作成しています。</p>



<h4 class="wp-block-heading" id="i-3">image</h4>



<p>php:latest つまりphpの最新バージョンのimageを取得してきます。<br>ローカルに該当のimageがあればローカルから、なければ<a href="https://hub.docker.com/" target="_blank" rel="noreferrer noopener">DockerHub</a>から取得します。</p>



<h4 class="wp-block-heading" id="i-4">volumes</h4>



<p>マウントするディレクトリを指定します。<br>コンテナ上のディレクトリとローカルのディレクトリを同期させます。<br>ここではdocker-compose.ymlと同階層のsrcディレクトリにコンテナ上の/var/www/htmlディレクトリをマウントしています。</p>



<h4 class="wp-block-heading" id="i-5">ports</h4>



<p>ポートフォワーディングの指定をします。<br>ローカルの8080ポートをコンテナの8080ポートに同期させます。<br>これでローカルの8080ポートにアクセスするとコンテナの8080ポートにアクセスできるようになります。</p>



<h4 class="wp-block-heading" id="i-6">command</h4>



<p>コンテナが起動した時に実行するコマンドを指定します。<br>phpのビルトインサーバーを立ち上げています。</p>



<h2 class="wp-block-heading" id="i-7">最後に</h2>



<p>今回はDockerでPHPのなるべく小さい実行環境を作りました。<br>webサーバーを使わなくてもPHPだけで簡易的なwebサーバーを立ち上げて実行できるからすごい楽でした。</p>



<p>Dockerは普段全然使わないから覚えても少し経つとすぐに忘れてしまうんですよね、、、<br>今年は個人開発でバックエンドも実装していく予定なので積極的にDockerを使ってインフラの構築やバックエンドの構築を行っていきたいです。</p>



<p>今ならChatGPT先生もいるから自分の管轄外の分野にチャレンジするハードルもだいぶ下がりましたよね。</p>



<p>ブログももう少し書いていきたい、、、</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【XSERVER】ディレクトリ リスト表示の取り出しに失敗しましたと表示されFTPでサーバーに接続できない時の解決法！</title>
		<link>https://mizukazu.com/xserver-ftp-error/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Tue, 25 Jan 2022 13:33:20 +0000</pubDate>
				<category><![CDATA[XSERVER]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1313</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2022/01/ディレクトリ-リスト表示の取り出しに失敗しましたと表示されFTPでサーバーに接続できない時の解決法！-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>XSERVERでFTP接続をした際に「ディレクトリリスト表示の取り出しに失敗しました」というエラーが表示されるという事象が起きました。 原因は難しいことではなかったので備忘録がてら残しておきます。 どんなエラーが出たか  ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2022/01/ディレクトリ-リスト表示の取り出しに失敗しましたと表示されFTPでサーバーに接続できない時の解決法！-520x300.jpg" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>XSERVERでFTP接続をした際に「ディレクトリリスト表示の取り出しに失敗しました」というエラーが表示されるという事象が起きました。</p>



<p>原因は難しいことではなかったので備忘録がてら残しておきます。</p>



<h2 class="wp-block-heading" id="i-0">どんなエラーが出たか</h2>



<p>FileZillaを使用してFTPでXSERVERに接続した際に以下のようなエラーが発生しました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="74" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39-1024x74.png" alt="" class="wp-image-1315" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39-1024x74.png 1024w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39-300x22.png 300w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39-768x56.png 768w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39-940x68.png 940w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h15_39.png 1336w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>パスワードも通っているのになぜかディレクトリの一覧が表示されない、、、</p>



<h2 class="wp-block-heading" id="i-1">原因</h2>



<p>原因は引っ越しをしたためIPアドレスが変わったことでした。</p>



<p>いつ設定したのか分からないのですが、XSERVER上でFTP制限設定というものが設定されていました。<br>FTPで接続出来るIPアドレスを指定する設定で、今まで使用していたIPアドレスがそこに設定されていたおかげでFTP接続出来ていたようです。</p>



<p>今回は引っ越しをしてIPアドレスが変わったので接続が出来なくなったみたいです。</p>



<p>なので、新しいIPアドレスを設定してあげれば接続できるようになります。</p>



<h2 class="wp-block-heading" id="i-2">FTP制限設定の仕方</h2>



<p>まずXSERVERのサーバーパネルにログインします。<br>そこにFTP制限設定の項目があるのでクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="760" height="832" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h22_30.png" alt="" class="wp-image-1318" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h22_30.png 760w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h22_30-274x300.png 274w" sizes="auto, (max-width: 760px) 100vw, 760px"></figure>



<p>次にドメインを選択します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="759" height="441" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h23_07.png" alt="" class="wp-image-1319" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h23_07.png 759w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h23_07-300x174.png 300w" sizes="auto, (max-width: 759px) 100vw, 759px"></figure>



<p>次にFTP接続許可IPアドレス追加をクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="745" height="218" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h25_02.png" alt="" class="wp-image-1321" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h25_02.png 745w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h25_02-300x88.png 300w" sizes="auto, (max-width: 745px) 100vw, 745px"></figure>



<p>現在のIPアドレスを追加するを選択して確認画面へ進むボタンをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="744" height="471" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h28_01.png" alt="" class="wp-image-1325" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h28_01.png 744w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h28_01-300x190.png 300w" sizes="auto, (max-width: 744px) 100vw, 744px"></figure>



<p>追加するボタンをクリックして設定完了です。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="754" height="296" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h27_12.png" alt="" class="wp-image-1324" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h27_12.png 754w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-25_22h27_12-300x118.png 300w" sizes="auto, (max-width: 754px) 100vw, 754px"></figure>



<p>これで無事にFTP接続出来るようになります。</p>



<h2 class="wp-block-heading" id="i-3">最後に</h2>



<p>接続出来なくて一瞬焦りましたが、そんなに難しいことじゃなくて良かったです。</p>



<p>ただFTP制限設定ってXSERVER側で勝手にやってくれてるんですかね、、、<br>知らないうちに設定されていたのでその辺も調べてみようと思います。</p>



<div class="wp-block-sgb-say sgb-block-say sgb-block-say--left"><div class="sgb-block-say-avatar"><img decoding="async" src="https://mizukazu.com/wp-content/uploads/2018/08/IMG_0477.jpg" alt="みずかず" style="border-color:#eaedf2"><div class="sgb-block-say-avatar__name">みずかず</div></div><div class="sgb-block-say-text"><div class="sgb-block-say-text__content" style="color:#333;border-color:#d5d5d5;background-color:#FFF">
<p>めでたしめでたし</p>
<span class="sgb-block-say-text__before" style="border-right-color:#d5d5d5"></span><span class="sgb-block-say-text__after" style="border-right-color:#FFF"></span></div></div></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【Firebase】v8とv9の書き方の違い</title>
		<link>https://mizukazu.com/firebase-v8-v9/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Mon, 20 Dec 2021 03:53:00 +0000</pubDate>
				<category><![CDATA[Firebase]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1274</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/12/v8とv9の書き方の違い-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>少し前に新規でFirebaseプロジェクトを作成したらJavaScriptSDKのバージョンが8から9に変わっていてそれに伴って書き方も変わったので困惑するということがありました。 今はFirebaseを使っておらず今後 ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/12/v8とv9の書き方の違い-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>少し前に新規でFirebaseプロジェクトを作成したらJavaScriptSDKのバージョンが8から9に変わっていて<br>それに伴って書き方も変わったので困惑するということがありました。</p>



<p>今はFirebaseを使っておらず今後ももうしばらく触る予定が無いので忘れないようにざっくりまとめておこうと思います。</p>



<h2 class="wp-block-heading" id="v8での書き方">v8での書き方</h2>



<p>認証機能を実装できるFirebase Authを例にしてみます。</p>



<p>v8では以下のような書き方でした。</p>



<pre class="wp-block-code"><code>import firebase from 'firebase/app';
import 'firebase/auth';

const firebaseApp = firebase.initializeApp({});
const auth = firebaseApp.auth();
auth.onAuthStateChanged(user =&gt; {});</code></pre>



<p>Authの部分を丸々importしています。<br>これだと使わないものまでimportすることになるので若干無駄です。</p>



<h2 class="wp-block-heading" id="v9での書き方">v9での書き方</h2>



<p>v9では以下のような書き方をします。</p>



<pre class="wp-block-code"><code>import { initializeApp } from 'firebase/app';
import { getAuth, onAuthStateChanged } from 'firebase/auth';

const firebaseApp = initializeApp({});
const auth = getAuth();
onAuthStateChanged(auth, user =&gt; {});</code></pre>



<p>firebase/authからimportするのはv8と一緒なのですが、v9では使いたいものだけをimportします。<br>ここでいうとinitializeApp 、getAuth、onAuthStateChanged の3つですね。</p>



<p>この書き方はauthだけでなくfirestoreやstorage等の他のサービスでも同じです。<br>get&lt;サービス名&gt;になるだけなので覚えやすいかと思います。</p>



<h2 class="wp-block-heading" id="2つバージョンの違いを簡単にまとめる">2つバージョンの違いを簡単にまとめる</h2>



<p>上で書いたことと少し被りますが、v8は全部まとめてimportをします。<br>逆にv9では使いたいメソッド等を個別にimportします。</p>



<p>効率の面でいってもv9の方式の方がなんとなく良さそうだなと思いますよね。</p>



<p>実際にファイルサイズで言ってもv8よりv9の方が断然小さいみたいです。</p>



<h2 class="wp-block-heading" id="注意点">注意点</h2>



<p>厄介な点がありましてv8とv9には互換性がありません。</p>



<p>なので元々v8で開発していたものをv9にバージョンアップするとあちこちでエラーが発生します。</p>



<p>くれぐれもいきなりv8からv9へのアップデートはやめておいた方が良いです、、、</p>



<p>また、npm installするとデフォルトでインストールされるのはv9のようです。</p>



<h2 class="wp-block-heading" id="compatライブラリについて">Compatライブラリについて</h2>



<p>一応救済措置としてcompatという公式が出している互換用ライブラリがあります。</p>



<p>これを使用する事でv9でv8の書き方が出来ます。</p>



<p>例を以下に書いておきます。</p>



<pre class="wp-block-code"><code>import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import { onAuthStateChanged } from 'firebase/auth';

const firebaseApp = firebase.initializeApp({});
const auth = firebaseApp.auth();
onAuthStateChanged(auth, user =&gt; {});</code></pre>



<p>この部分に注目です。</p>



<pre class="wp-block-code"><code>import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';</code></pre>



<p>firebaseとapp、authの間にcompatを入れます。</p>



<p>こうすることでv8の書き方が使えるようになります。</p>



<div class="wp-block-sgb-message"><div class="memo sng-shadow-0" style="border-radius:0px;background-color:#fff9e6;color:#f88080"><div class="memo_ttl dfont"><span class="sng-box-msg__icon" style="background:#f88080"><i class="fas fa-pencil-alt"></i></span><div class="sng-box-msg__title">注意点</div></div><div class="sng-box-msg__contents">
<p>このCompatライブラリは一時的なものなので将来削除されることが決まっています。(v10、v11等で)<br>なので使用は一時的に留めてなるべく早くv9に完全移行することをおすすめします。</p>
</div></div></div>



<h2 class="wp-block-heading" id="最後に">最後に</h2>



<p>やっぱり破壊的なアップデートは少し戸惑いますね、、、</p>



<p>事前に情報を集めていて知っていた場合ならいいんですがいきなりだとびっくりします。</p>



<p>今回はとりあえずざーっと走り書きしてしまったので説明が足りない点等があると思うので<br>今後少しずつ追記していこうと思います。</p>



<p></p>



<h2 class="wp-block-heading" id="参考にしたサイト">参考にしたサイト</h2>



<p><a rel="noreferrer noopener" href="https://zenn.dev/hiro__dev/articles/605161cd5a7875" target="_blank">これからFirebaseでプロジェクトを始めようとする全ての人が知っておくべきこと v8→v9リリース</a><br><a href="https://qiita.com/kurab/items/e1f78008cc87cdafebf4">React+Typescript+Firebase v9</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【WordPress】Gutenbergのカスタム投稿編集画面でカテゴリが表示されない場合の解決方法</title>
		<link>https://mizukazu.com/gutenberg-custom_post-category/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Wed, 03 Nov 2021 01:46:00 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1349</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/11/Gutenbergのカスタム投稿編集画面でカテゴリが表示されない場合の解決方法-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>テーマの修正をしていた際にカスタム投稿の編集画面でカテゴリーが表示されないということがありました。こんな感じです。 解決方法もすごく単純なことだったので忘れないように書き残しておきます。 カスタム投稿、カスタムタクソノミ ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/11/Gutenbergのカスタム投稿編集画面でカテゴリが表示されない場合の解決方法-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>テーマの修正をしていた際にカスタム投稿の編集画面でカテゴリーが表示されないということがありました。<br>こんな感じです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="372" height="303" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_10h48_24.png" alt="" class="wp-image-1351" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_10h48_24.png 372w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_10h48_24-300x244.png 300w" sizes="auto, (max-width: 372px) 100vw, 372px"></figure>



<p>解決方法もすごく単純なことだったので忘れないように書き残しておきます。</p>



<h2 class="wp-block-heading" id="カスタム投稿-カスタムタクソノミーの設定をしているのになぜか表示されない">カスタム投稿、カスタムタクソノミーの設定をしているのになぜか表示されない</h2>



<p>カスタム投稿の設定、カスタムタクソノミーの設定はしているのですが、なぜか編集画面にカテゴリーが表示されませんでした。</p>



<p>カスタム投稿</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="478" height="345" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_13.png" alt="" class="wp-image-1352" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_13.png 478w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_13-300x217.png 300w" sizes="auto, (max-width: 478px) 100vw, 478px"></figure>



<p>カスタムタクソノミー</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="417" height="486" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_56-1.png" alt="" class="wp-image-1354" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_56-1.png 417w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h01_56-1-257x300.png 257w" sizes="auto, (max-width: 417px) 100vw, 417px"></figure>



<h2 class="wp-block-heading" id="解決方法">解決方法</h2>



<p>原因としてはカスタムタクソノミーの設定にshow_in_restの設定をしていなかったことでした。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="409" height="503" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h09_56.png" alt="" class="wp-image-1355" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h09_56.png 409w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-30_11h09_56-244x300.png 244w" sizes="auto, (max-width: 409px) 100vw, 409px"></figure>



<p>クラシックエディタならどうかな～と思ってGutenbergを一旦OFFにしたらカテゴリーが表示されたので、調べてみたらどうやらカスタムタクソノミーの設定にもshow_in_restの設定をしなければいけないということが分かりました。</p>



<p>teratailのこちらの質問を参考にしました。</p>



<p><a href="https://teratail.com/questions/173030" target="_blank" rel="noreferrer noopener">「カテゴリ」「タグ」が表示させたい。</a></p>



<h2 class="wp-block-heading" id="まとめ">まとめ</h2>



<p>Gutenbergのカスタム投稿編集画面でカテゴリーが表示されない場合にはカスタムタクソノミーの設定にshow_in_restを追加すること。</p>



<p>解決してから考えるとなんだこんなことかと思うんですけど悩んでる最中はどこが原因なのか見当がつかなくて辛いです。</p>



<p>意外と見落としがちなところなので忘れ内容にしようと思います。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【node.js】nvmでnode.jsのバージョンを切り替える</title>
		<link>https://mizukazu.com/nvm-version-change/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Thu, 08 Jul 2021 09:00:00 +0000</pubDate>
				<category><![CDATA[node.js]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1278</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/07/【node.js】nvmでnode.jsのバージョンを切り替える-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>今回はnode.jsの管理ツールであるnvm(node version manager)でバージョンを切り替える方法を書いていきます。nodebrewというツールもあるんですがnvmの方が人気みたいですね。 今更感のある ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/07/【node.js】nvmでnode.jsのバージョンを切り替える-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>今回はnode.jsの管理ツールであるnvm(node version manager)でバージョンを切り替える方法を書いていきます。<br>nodebrewというツールもあるんですがnvmの方が人気みたいですね。</p>



<p>今更感のある記事になるとは思いますが、自分の備忘録がてら残しておきます。</p>



<h2 class="wp-block-heading" id="i-0">nvmのインストール</h2>



<p>Windowsを使用しているのでから<a rel="noreferrer noopener" href="https://github.com/coreybutler/nvm-windows/releases/" target="_blank">https://github.com/coreybutler/nvm-windows/releases/</a>からsetup.zipをダウンロードしてインストールを進めていきます。<br>(ここでインストールするものはWindows用に最適化されているらしく厳密にはnvmとは同一ではないらしいです。)</p>



<p>ページの下の方にダウンロードリンクがあります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="552" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50-1024x552.png" alt="" class="wp-image-1285" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50-1024x552.png 1024w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50-300x162.png 300w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50-768x414.png 768w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50-940x507.png 940w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h10_50.png 1050w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>ダウンロードが出来たらzipファイルを解凍して中の実行ファイルを叩いてインストールしていきます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h17_36.png" alt="" class="wp-image-1289" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h17_36.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h17_36-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>I acccept the agreementにチェックを入れてNextボタンをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h16_44.png" alt="" class="wp-image-1288" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h16_44.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h16_44-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>インストールするフォルダを選択してNextボタンをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h18_32.png" alt="" class="wp-image-1290" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h18_32.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h18_32-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>シンボリックリンクの指定は特に変更せずNextボタンをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_25.png" alt="" class="wp-image-1291" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_25.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_25-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>Installボタンをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_52.png" alt="" class="wp-image-1292" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_52.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h19_52-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>node.jsをすでにインストールしている場合にはダイアログが表示されます。<br>管理対象に含めるかどうか聞かれるのではいをクリック。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="499" height="392" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h21_01.png" alt="" class="wp-image-1293" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h21_01.png 499w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h21_01-300x236.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px"></figure>



<p>インストールが完了したらFinishボタンをクリックして終了です。</p>



<h3 class="wp-block-heading" id="i-1">インストールされているかの確認</h3>



<p>コマンドプロンプトを起動して「nvm」と入力します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="979" height="512" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h22_44.png" alt="" class="wp-image-1294" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h22_44.png 979w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h22_44-300x157.png 300w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h22_44-768x402.png 768w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h22_44-940x492.png 940w" sizes="auto, (max-width: 979px) 100vw, 979px"></figure>



<p>バージョンが表示されていれば正しくインストールされています。</p>



<h2 class="wp-block-heading" id="i-2">nvmで管理しているnode.jsの確認方法</h2>



<p>nvm listで現在管理しているnodeを確認する事が出来ます。</p>



<pre class="wp-block-code"><code>nvm list</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="408" height="72" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h26_35.png" alt="" class="wp-image-1296" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h26_35.png 408w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h26_35-300x53.png 300w" sizes="auto, (max-width: 408px) 100vw, 408px"></figure>



<h2 class="wp-block-heading" id="i-3">最新のnode.jsをインストールしてみる</h2>



<p>nvm install latestで最新のnode.jsをインストールすることが出来ます。</p>



<pre class="wp-block-code"><code>nvm install latest</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="492" height="159" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h38_42.png" alt="" class="wp-image-1299" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h38_42.png 492w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h38_42-300x97.png 300w" sizes="auto, (max-width: 492px) 100vw, 492px"></figure>



<p>これで最新のnode.jsがインストールされました。<br>今回だと17.4.0ですね。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="387" height="78" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h42_03.png" alt="" class="wp-image-1300" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h42_03.png 387w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_12h42_03-300x60.png 300w" sizes="auto, (max-width: 387px) 100vw, 387px"></figure>



<p>nvm listで確認してもバージョンが1つ増えてることが確認できます。<br>ちなみに＊が付いているものが現在使用しているバージョンになります。</p>



<h2 class="wp-block-heading" id="i-4">バージョンの切り替えを行う</h2>



<p>nvm use バージョンで切り替えることが出来ます。</p>



<pre class="wp-block-code"><code>nvm use 17.4.0</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="319" height="46" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h12_44.png" alt="" class="wp-image-1302" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h12_44.png 319w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h12_44-300x43.png 300w" sizes="auto, (max-width: 319px) 100vw, 319px"></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="251" height="40" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h14_35.png" alt="" class="wp-image-1303"></figure>



<p>無事に切り替えが出来てますね。</p>



<h2 class="wp-block-heading" id="i-5">nvm use 〇〇〇をした際にエラーが出る場合</h2>



<p>exit status 1: (文字化け)のようなエラーが出ることがあります。<br>インストール先のフォルダパスにスペースが含まれているとこのようなエラーが出るようです。</p>



<p>ただ、パスにスペースが含まれていなくても出る場合があり、その時は管理者権限でコマンドプロンプトを立ち上げて操作すると問題なく切り替えが出来ました。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="661" height="57" src="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h18_08.png" alt="" class="wp-image-1305" srcset="https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h18_08.png 661w, https://mizukazu.com/wp-content/uploads/2022/01/2022-01-22_15h18_08-300x26.png 300w" sizes="auto, (max-width: 661px) 100vw, 661px"></figure>



<h2 class="wp-block-heading" id="i-6">最後に</h2>



<p>nvm等の周辺技術は使う時には忘れてることが多いのでこうやって残しておくのが吉ですね。</p>



<ol class="wp-block-list"><li>Windowsはzipファイルから、Linuxはcurl等でnvmをインストール</li><li>nvm useを使用して対象のバージョンに切り替える</li><li>必要があればnvm installを使用して好きなバージョンをインストール</li></ol>



<p>最低でもこれくらいを覚えておけば良いかなと思います。</p>



<p>結構忘れがちなので定期的にこの記事を見直そうと思います。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【Vue】Vue製のWikiもどきのサイトを作ってみた</title>
		<link>https://mizukazu.com/vue-wiki-modoki/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Fri, 11 Jun 2021 09:50:18 +0000</pubDate>
				<category><![CDATA[Vue.js]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1238</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/06/vue-wiki-modoki-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>ブログでは紹介していないのですが以前、Vueで自作ブログなるものを作りました。 こんな感じのブログです。Vueだけで作っていて記事のデータ等はローカルで保存しています。 改良点はたくさんあるのですが一応ブログとしては成り ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/06/vue-wiki-modoki-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>ブログでは紹介していないのですが以前、Vueで自作ブログなるものを作りました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-1024x500.jpg" alt="" class="wp-image-1241" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-1024x500.jpg 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-300x146.jpg 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-768x375.jpg 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-1536x750.jpg 1536w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07-940x459.jpg 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h06_07.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-sango-raised"><a class="wp-block-button__link has-sango-silver-color has-sango-main-background-color has-text-color has-background" href="https://hardcore-noether-b6eab0.netlify.app/" target="_blank" rel="noreferrer noopener">Vueで自作ブログ</a></div>
</div>



<p>こんな感じのブログです。<br>Vueだけで作っていて記事のデータ等はローカルで保存しています。</p>



<p>改良点はたくさんあるのですが一応ブログとしては成り立っています。</p>



<p>今回はこの自作ブログを少し改良してWikiもどきのサイトを作成しました。</p>



<p>どういった使い方をしていくか、どんな風に動いているかなどを紹介していこうと思います。</p>



<h2 class="wp-block-heading" id="i-0">作成したもの</h2>



<p>UIに関しては自作ブログを踏襲して作成しています。<br>UIフレームワークはVuetifyを使っているのでデフォルトでマテリアルデザインになっています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-1024x500.png" alt="" class="wp-image-1243" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-1024x500.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-300x146.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-768x375.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-1536x750.png 1536w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23-940x459.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h10_23.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-sango-raised"><a class="wp-block-button__link has-sango-silver-color has-sango-main-background-color has-text-color has-background" href="https://silly-ritchie-622979.netlify.app/" target="_blank" rel="noreferrer noopener">Vue製Wikiもどきサイト</a></div>
</div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-1024x500.png" alt="" class="wp-image-1246" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-1024x500.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-300x146.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-768x375.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-1536x750.png 1536w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27-940x459.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h13_27.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>左のカテゴリーから記事をクリックすると右側に記事の本文が表示されます。<br>まあ良くあるWikiみたいな感じですね。</p>



<p>記事自体はMarkdownで書いて、表示する際にHTMLに変換しています。<br>なのでサクサク記事を書けるのがとても良いです。</p>



<h2 class="wp-block-heading" id="i-1">どんな仕組みで動いているか</h2>



<p>ホスティングはNetlifyを使っています。Githubと連携させているのでリモートにプッシュするだけで自動でデプロイしてくれます。<br>Vueのビルドの際に記事の情報を保持するpost.jsonとナビゲーションバーを作成しているnavigation.jsonを作成するスクリプトを仕込んでいます。</p>



<p>仕組みに関してざっくり説明すると、ローカルで記事を書く→Githubにプッシュ→Vueのビルド&amp;jsonを作るスクリプトが走る→デプロイ完了</p>



<p>みたいな感じです。</p>



<p>jsonを作成する際にファイルの操作(読み込みや書き込み)をする必要があり、Vueだとファイル操作が出来ないのでスクリプトを仕込む事で一旦node.jsにその辺りを任せています。</p>



<h3 class="wp-block-heading" id="i-2">記事の書き方</h3>



<p>VSCodeを開いてローカルの.mdファイルを修正していきます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="401" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-1024x401.png" alt="" class="wp-image-1247" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-1024x401.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-300x117.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-768x301.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-1536x601.png 1536w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25-940x368.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h18_25.png 1806w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>こんな感じですね。<br>プロジェクト内に記事を保存しておくフォルダを作成してその中に記事を置いています。</p>



<p>記事が書けたらリモートにプッシュするだけです。</p>



<p>プッシュするとスクリプトが走り以下の2つのjsonが作られます。</p>



<p>記事の情報を保持するpost.json</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="251" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08-1024x251.png" alt="" class="wp-image-1248" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08-1024x251.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08-300x74.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08-768x189.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08-940x231.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_08.png 1438w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>ナビゲーションを作成するnavigation.json</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="424" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21-1024x424.png" alt="" class="wp-image-1249" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21-1024x424.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21-300x124.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21-768x318.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21-940x389.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h27_21.png 1428w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>記事を増やしたり減らしたりするとnavigation.jsonのpostsが動的に変わるのでサイドバーのリンクも動的に変わる仕組みになっています。</p>



<h3 class="wp-block-heading" id="i-3">スクリプトについて</h3>



<p>Vueのビルド時にスクリプトが走ると言いましたが実際にはこんな感じです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="635" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51-1024x635.png" alt="" class="wp-image-1250" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51-1024x635.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51-300x186.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51-768x476.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51-940x583.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h30_51.png 1173w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>画像の処理は一部分なのですが、Markdownファイルを読み込んで上で紹介した2つのjsonファイルを作成します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="544" height="135" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h32_25.png" alt="" class="wp-image-1251" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h32_25.png 544w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-11_18h32_25-300x74.png 300w" sizes="auto, (max-width: 544px) 100vw, 544px"></figure>



<p>このスクリプトをpackage.jsonに登録しておいて、npm run buildする時に一緒に動かしています。</p>



<p>分かりづらい部分もあると思いますがざっくりこんな感じで動いています。</p>



<h2 class="wp-block-heading" id="i-4">このサイトの使い道について</h2>



<p>このサイトは個人の技術知見メモみたいな感じで使おうと思っています。</p>



<p>覚えたことや気になることをメモ代わりに書いていってある程度溜まってきたらブログの記事にしようかと。</p>



<p>もっと機能を付けたり改良していけばさらに使いやすくなると思うのでその辺りのアップデートも頑張っていこうと思います！<br>とか言っていつもやらずに新しいもの作ってたりするんですよね、、、</p>



<h2 class="wp-block-heading" id="i-5">最後に</h2>



<p>今回作成したVue製のWikiもどきのサイトですがソースに関してはGithubで公開しています。</p>



<p><a rel="noreferrer noopener" href="https://github.com/mizukazu/vue-my-wiki" target="_blank">ソースはこちら</a></p>



<p>ソースを公開している理由としてはVueに興味があるけどみんなどんな感じで作っているんだろう？という疑問を少なからず持っている人がいると思ったからです。</p>



<p>実際に僕自身もVueを触りたての時は思いました。</p>



<p>自分で何かを作ってみたいけど先に他の人がどんな感じで作っているのか見てみたいと。</p>



<p>でも案外個人で作成している物のソースって無かったりします、、、</p>



<p>なのでソースを公開してそういった疑問を持っている人がいた時に役に立てばいいな～～と思っています。<br>大したコードは書いていないので偉そうなことは言えませんが、、、笑</p>



<p>あと最後になぜWikiもどきなのかというとWikiにしては機能が少なすぎるからです！！！<br>Wikiと言えば色々な人が編集できるのですがこのサイトは自分だけです。</p>



<p>Wikiと名乗るには少し機能不足なのでしばらくはWikiもどきと名乗ります。</p>



<div class="wp-block-sgb-say sgb-block-say sgb-block-say--left"><div class="sgb-block-say-avatar"><img decoding="async" src="https://mizukazu.com/wp-content/uploads/2018/08/IMG_0477.jpg" alt="みずかず" style="border-color:#eaedf2"><div class="sgb-block-say-avatar__name">みずかず</div></div><div class="sgb-block-say-text"><div class="sgb-block-say-text__content" style="color:#333;border-color:#d5d5d5;background-color:#FFF">
<p>いつか機能が充実してWikiを名乗れる日が来ることを祈っています。</p>
<span class="sgb-block-say-text__before" style="border-right-color:#d5d5d5"></span><span class="sgb-block-say-text__after" style="border-right-color:#FFF"></span></div></div></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vueで作ったアプリをFirebaseへデプロイしてみる</title>
		<link>https://mizukazu.com/vue-firebase-deploy/</link>
		
		<dc:creator><![CDATA[mizukazu]]></dc:creator>
		<pubDate>Mon, 10 May 2021 14:38:00 +0000</pubDate>
				<category><![CDATA[Vue.js]]></category>
		<guid isPermaLink="false">https://mizukazu.com/?p=1206</guid>

					<description><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/05/vue-firebase-deploy-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>今回はVueで作ったアプリをFirebase上にデプロイする方法を書いていきます。 今更なんですけど最近Firebaseを触り始めて、Vueプロジェクト作成→Firebaseへのデプロイがとても簡単だったんですよね。簡単 ... ]]></description>
										<content:encoded><![CDATA[<p><img src="https://mizukazu.com/wp-content/uploads/2021/05/vue-firebase-deploy-520x300.png" class="webfeedsFeaturedVisual" width="520" height="300" /></p>
<p> どうも。みずかず(<a href="https://twitter.com/mizukazu_1">@mizukazu_1</a>)です。 </p>



<p>今回はVueで作ったアプリをFirebase上にデプロイする方法を書いていきます。</p>



<p>今更なんですけど最近Firebaseを触り始めて、Vueプロジェクト作成→Firebaseへのデプロイがとても簡単だったんですよね。簡単とはいえどこかに書き留めておかないと忘れてしまうので備忘録がてらここに残していきます。</p>



<h2 class="wp-block-heading" id="i-0">まずはVueプロジェクトを作成</h2>



<p>VueCLIはインストールしている前提で書いていきます。</p>



<p>いつものコマンドでVueプロジェクトを作成していきます。</p>



<pre class="wp-block-code"><code>vue create firebase-test</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="763" height="82" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h34_48.png" alt="" class="wp-image-1207" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h34_48.png 763w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h34_48-300x32.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px"></figure>



<p>こんな感じで聞かれるので特に設定するものが無いとか、テスト的に動かしてみたい方はdefaultを選択します。</p>



<p>僕はいつも使うものをテンプレートで登録しています。<br>Sassとbabelとvue-routerですね。</p>



<p>個人開発の時はlint系ははうざいので入れていません、、、笑</p>



<h2 class="wp-block-heading" id="i-1">一旦プロジェクトのビルド</h2>



<p>プロジェクトが出来たら一旦ビルドしてホスティング用のファイルを作成します。</p>



<pre class="wp-block-code"><code>npm run build</code></pre>



<p>これでルート直下にdistというフォルダが出来ます。</p>



<h2 class="wp-block-heading" id="i-2">Firebaseでプロジェクトの作成</h2>



<p>FirebaseはGoogleのアカウントがあればプロジェクトの作成をすることが出来ます。</p>



<p>新しくアカウントを作成してもいいですし、今あるアカウントを使用しても良いと思います。</p>



<p>ログインするとこんな画面になります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="448" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54-1024x448.png" alt="" class="wp-image-1209" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54-1024x448.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54-300x131.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54-768x336.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54-940x412.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h43_54.png 1256w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>プロジェクトを作成を押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54-1024x705.png" alt="" class="wp-image-1211" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h45_54.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>プロジェクト名を決めて規約に同意にチェックを入れ、続行ボタンを押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00-1024x705.png" alt="" class="wp-image-1213" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h49_00.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>今回はテストで作成するので「このプロジェクトでGoogleアナリティクスを有効にする」のチェック外します。</p>



<p>アナリティクスを有効にすると次の画面でどのアカウントを使うか聞かれるので選択します。</p>



<p>このままプロジェクトを作成を押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50-1024x705.png" alt="" class="wp-image-1214" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h50_50.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>ローディングの画面が走って</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23-1024x705.png" alt="" class="wp-image-1215" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h51_23.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>プロジェクトが作成されます。</p>



<p>続行を押して次へ進みます。</p>



<h2 class="wp-block-heading" id="i-3">VueアプリとFirebaseを連携させる</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="482" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08-1024x482.png" alt="" class="wp-image-1217" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08-1024x482.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08-300x141.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08-768x362.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08-940x443.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h54_08.png 1261w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>コンソールのトップ画面になるのでVueアプリ(ウェブサイト)の場合は赤枠のコードのアイコンを押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44-1024x705.png" alt="" class="wp-image-1218" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h56_44.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>アプリのニックネームには分かりやすいようにVueのプロジェクト名を登録します。</p>



<p>デプロイをするにはFirebase Hostingを使うので「このアプリのFirebase Hostingも設定します」にチェックを入れます。<br>下のドロップダウンはサイトのURLになります。デフォルトのままで大丈夫です。</p>



<p>アプリを登録を押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19-1024x705.png" alt="" class="wp-image-1219" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_22h59_19.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>赤枠のスクリプトをVueアプリのheadタグに埋め込みます。<br>/public/index.htmlのheadタグでOKです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19-1024x705.png" alt="" class="wp-image-1220" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_19.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>次へを押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52-1024x705.png" alt="" class="wp-image-1221" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h02_52.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<pre class="wp-block-code"><code>npm install -g firebase-tools</code></pre>



<p>上記のコマンドでFirebase CLIをインストールします。<br>インストールが出来たら次へを押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58-1024x705.png" alt="" class="wp-image-1222" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h05_58.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>プロジェクトのルートでfirebase loginコマンドを打ってください。<br>ブラウザが開いてどのGoogleアカウントを使用するか聞かれるので先ほどプロジェクトを作成したアカウントを選択します。</p>



<p>次にfirebase initを行うのですが、対話形式で色々聞かれるのでその辺りを書いていきます。</p>



<h2 class="wp-block-heading" id="i-4">firebase initで初期化を行う</h2>



<pre class="wp-block-code"><code>firebase init</code></pre>



<p>プロジェクトのルートで上記のコマンドを打ちます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="165" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36-1024x165.png" alt="" class="wp-image-1223" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36-1024x165.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36-300x48.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36-768x124.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36-940x152.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h09_36.png 1275w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<p>Are you ready to proceed?に対してはYesで大丈夫です。<br>単に進める準備OKですか？と聞かれているだけなので。</p>



<p>今回はデプロイをするためにFirebase Hostingが必要なのでHostingの欄にチェックを付けます。</p>



<p>矢印で移動してスペースでチェックを付ける事が出来ます。</p>



<p>エンターを押して次へ進みます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="604" height="108" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h13_05.png" alt="" class="wp-image-1224" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h13_05.png 604w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h13_05-300x54.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px"></figure>



<p>Please select an optionに対しては一番上の「Use an existing project」を選択します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="663" height="42" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h19_04.png" alt="" class="wp-image-1226" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h19_04.png 663w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h19_04-300x19.png 300w" sizes="auto, (max-width: 663px) 100vw, 663px"></figure>



<p>先ほど作成したプロジェクトが表示されるのでそのままエンターを押します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="34" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h20_07.png" alt="" class="wp-image-1227" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h20_07.png 539w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h20_07-300x19.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h20_07-520x34.png 520w" sizes="auto, (max-width: 539px) 100vw, 539px"></figure>



<p>どのフォルダをデプロイするのか聞かれるのでdistと打ち直します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="653" height="100" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h25_03.png" alt="" class="wp-image-1228" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h25_03.png 653w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h25_03-300x46.png 300w" sizes="auto, (max-width: 653px) 100vw, 653px"></figure>



<p>残りの質問にはとりあえず全てNoで答えています。<br>デプロイ自体には特に問題はありません。</p>



<h2 class="wp-block-heading" id="i-5">デプロイしてみる</h2>



<pre class="wp-block-code"><code>firebase deploy</code></pre>



<p>これでFirebaseにデプロイされます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="651" height="235" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h29_03.png" alt="" class="wp-image-1229" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h29_03.png 651w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h29_03-300x108.png 300w" sizes="auto, (max-width: 651px) 100vw, 651px"></figure>



<p>こんな感じでDeploy complete！の文字が表示されれば無事にデプロイされています。</p>



<p>FirebaseコンソールのHostingからサイトのURLにアクセスしてVueのウェルカムページが表示されればOKです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40-1024x705.png" alt="" class="wp-image-1230" srcset="https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40-1024x705.png 1024w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40-300x206.png 300w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40-768x529.png 768w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40-940x647.png 940w, https://mizukazu.com/wp-content/uploads/2021/06/2021-06-10_23h30_40.png 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px"></figure>



<h2 class="wp-block-heading" id="i-6">まとめ</h2>



<div class="wp-block-sgb-timeline sgb-tl">
<div class="wp-block-sgb-timeline-item sgb-tl-item"><div class="sgb-tl-item__label--default"></div><div class="sgb-tl-item__title">Vueのプロジェクトを作成する</div><div class="sgb-tl-item__main">
<p>一旦ビルドをしてdistフォルダを作成するのを忘れずに！</p>
</div><div class="sgb-tl-item__marker main-bdr main-bc"></div></div>



<div class="wp-block-sgb-timeline-item sgb-tl-item"><div class="sgb-tl-item__label--default"></div><div class="sgb-tl-item__title">Firebaseのプロジェクトを作成する</div><div class="sgb-tl-item__main">
<p>GoogleアカウントがあればOK</p>



<p>FirebaseSDKのタグをVueアプリのheadタグに埋め込むのを忘れない</p>
</div><div class="sgb-tl-item__marker main-bdr main-bc"></div></div>



<div class="wp-block-sgb-timeline-item sgb-tl-item"><div class="sgb-tl-item__label--default"></div><div class="sgb-tl-item__title">VueとFirebaseを連携させる</div><div class="sgb-tl-item__main">
<p>基本的にはFirebaseCLIから対話形式で設定していくだけ！</p>
</div><div class="sgb-tl-item__marker main-bdr main-bc"></div></div>
</div>



<p>大まかにこんな感じの3つのステップでデプロイまで持っていけます。<br>正直、レンタルサーバー借りてデプロイするよりお手軽だと思います！</p>



<p>今回はFirebaseのホスティングの機能しか触れませんでしたが他にもストレージやDBなどいくつかの機能があるのでそちらの記事も書いていこうと思います。</p>



<p>どれも便利なので個人開発にはオススメです！</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
