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

<channel>
	<title>個人開発 &#8211; エンジニア見習い</title>
	<atom:link href="https://otonan-syusyoku.work/archives/tag/%e5%80%8b%e4%ba%ba%e9%96%8b%e7%99%ba/feed" rel="self" type="application/rss+xml" />
	<link>https://otonan-syusyoku.work</link>
	<description>三流プログラマー</description>
	<lastBuildDate>Tue, 06 Jan 2026 07:22:32 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://otonan-syusyoku.work/wp-content/uploads/2023/10/cropped-名称未設定のデザイン-16-32x32.png</url>
	<title>個人開発 &#8211; エンジニア見習い</title>
	<link>https://otonan-syusyoku.work</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>自分で作ったサービスで売上を上げるのめちゃくちゃ難しいやんけ</title>
		<link>https://otonan-syusyoku.work/archives/1613</link>
					<comments>https://otonan-syusyoku.work/archives/1613#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sat, 27 Jan 2024 01:55:46 +0000</pubDate>
				<category><![CDATA[仕事の独り言]]></category>
		<category><![CDATA[日々の独り言]]></category>
		<category><![CDATA[生涯独学]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[個人開発]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1613</guid>

					<description><![CDATA[こんにちは。都内でPHPerとして勤務している三流プログラマーです。 本業とは別に取り組んでいた個人開発でマネタイズができず、サービスを終了させてしまったのでここで供養させてください。 RIP My Service&#8 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>こんにちは。都内でPHPerとして勤務している三流プログラマーです。</p>
<p>本業とは別に取り組んでいた個人開発でマネタイズができず、サービスを終了させてしまったのでここで供養させてください。</p>
<p>RIP My Service&#8230;</p>
<h2>作ったもの</h2>
<p>HP 兼 予約サイト 兼 ECサイトなるシステムを開発しました。</p>
<p>僕が沖縄県出身ということもあり、沖縄の個人経営を営んでいる小さな企業さんを相手に営業の肩代わりをすることを目的にシステムを開発しました。</p>
<p>というのも沖縄県は観光地として有名でありながらもHPすら持たず、地元の口コミのみで経営を行っているお店が多々ある状態でした。</p>
<p>せっかくの観光地でありながらお客様を呼び込めないのはかなりもったいないという思いから作った次第でございます。</p>
<h2>技術構成</h2>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">デザイン</td>
<td style="width: 50%;">Tailwind + DaisyUI</td>
</tr>
<tr>
<td style="width: 50%;">フロントエンド</td>
<td style="width: 50%;">React</td>
</tr>
<tr>
<td style="width: 50%;">バックエンド</td>
<td style="width: 50%;">Laravel10</td>
</tr>
<tr>
<td style="width: 50%;">DB</td>
<td style="width: 50%;">RDS(MySQL8.x)</td>
</tr>
<tr>
<td style="width: 50%;">決済</td>
<td style="width: 50%;">Stripe</td>
</tr>
<tr>
<td style="width: 50%;">インフラ</td>
<td style="width: 50%;">サーバー：EC2<br />
DB：RDS<br />
ファイルサーバー：S3</td>
</tr>
<tr>
<td style="width: 50%;">その他</td>
<td style="width: 50%;">Docker</td>
</tr>
</tbody>
</table>
<h2>マネタイズポイント</h2>
<h3>物販購入</h3>
<p>沖縄ならではの商品が展開されるEC機能を開発しました。</p>
<p>1商品当たり個別に x％ の手数料をいただく契約になります。</p>
<h3>予約</h3>
<p>美容院やレジャー施設の予約を受け付ける機能を開発しました。</p>
<p>こちらもEC同様に1予約あたり、x円の手数料 or オプション契約 のどちらかを契約する想定でした。</p>
<h2>売り方</h2>
<p>沖縄出身ではあるものの都内で勤務しているということもあり現地での営業活動ができないという状況でした。<br />
そのため、現地で営業活動を行ってもらうために地元の友だちに「俺はこれから月100万円稼ぐシステムを開発するから営業をしてくれ」と<strong>大きく誇張した言い分</strong>を持って営業活動をしてもらいました。</p>
<p>その友人は面白そうだからという理由で快く引き受けてくれ、以下のマーケティング手法で営業を行ってもらいました。</p>
<ul>
<li>SNS
<ul>
<li>Instagram</li>
<li>Twitter</li>
</ul>
</li>
<li>ブログ</li>
</ul>
<p>先に結論から入るのですが、期間としては6ヶ月間行ってもらい、皆さんの想像通り契約は1件も入らなかったです。</p>
<h2>なぜ売れなかったのか</h2>
<h3>知名度</h3>
<p>これは誰しもが考えることだと思うのですが <span class="sc_marker blue"><strong>認知されていないサービスにお金を払う</strong></span> ことは避けたいはずです。</p>
<p>尚更、登記もしていない<span class="sc_marker blue"><strong>個人が開発したシステムに対して自分の命であるお金を注ぐことはあり得ない</strong></span>です。</p>
<p>考えられる手法としては以下の手法が取れるはずです。</p>
<ul>
<li>正しい営業をする</li>
<li>受託等で知名度を得る</li>
<li>その他のサービスで知名度を得る（知名度が無いことによる無限ループが発生する…）</li>
</ul>
<p>お客様が安心してこのサービスにはお金を投資できると胸を張って言えるようなシステムを構築するのは難しいですね。。。</p>
<h3>効果を得られるか不安</h3>
<p>知名度がないという理由にも近しいですが、当システムを使用することで利益を得られることに対する不安を拭い去る事はできませんでした。</p>
<p>なぜなら<span class="sc_marker blue"><strong>契約が1件もないということは実績が無いということですからお客様からすると不安しかありません</strong></span>。</p>
<p>世の中のスタートアップはどうやって利益を得ているんですか？？</p>
<h3>県民性</h3>
<p>こちらは確固たるデータがある訳ではないんですが、ハードに仕事をしないという県民性を見誤っていた可能性がある事を感じています。</p>
<p>沖縄は「のんかーな性格（のんきな性格）」と呼ばれる人が多い印象です。</p>
<p>事実として僕の知っている<span class="sc_marker blue"><strong>沖縄の経営者では食べていける分を稼げて楽しい毎日を送ることが大切</strong></span>という人が多いです。（4人だけしか知りませんが…）</p>
<p>そういった考えを持っている人に対して業務を効率化して売上を伸ばしましょうなんて言っても「忙しくなるなら現状のままで」といった答えが返ってくるに決まっています。</p>
<p>そのあたりをしっかりと調査する or ターゲットを先に見つける事が大切かなぁという印象です。</p>
<h2>反省</h2>
<p>僕はゴミを作ってしましました。</p>
<p>誰にも使われないシステムなんてゴミです。ただのゴミクズです。</p>
<p>今回は僕一人と頭の悪い友人の時間だけが溶けただけで済んで本当に良かったです。（実際には5万ほど運用費としてお金を使いました。）</p>
<p>仮に起業という形でサービスを開発していた場合は廃業に大きく近づいていたので、個人開発の一環でここまでの勉強ができたのは僕の才能かもしれません。笑</p>
<p>まだまだ作りたいものはあるので引き続き頑張っていきたいですねぇ〜</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1613/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【vscode】Docker環境にてPHPが参照できない問題を解消</title>
		<link>https://otonan-syusyoku.work/archives/1562</link>
					<comments>https://otonan-syusyoku.work/archives/1562#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Wed, 03 Jan 2024 13:31:32 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[vscode]]></category>
		<category><![CDATA[個人開発]]></category>
		<category><![CDATA[脱3流プログラマー]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1562</guid>

					<description><![CDATA[VisualStudioCode にてPHPのエラー ある日、突然 vscode が動かなくなるという恐ろしい症状に出くわしました。（業務では PHPStorm を使用しているので、vscode の勝手があまりわからない [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>VisualStudioCode にてPHPのエラー</h2>
<p>ある日、突然 vscode が動かなくなるという恐ろしい症状に出くわしました。（業務では PHPStorm を使用しているので、vscode の勝手があまりわからない。。。）</p>
<pre class="line-numbers"><code class="language-other">PHP executable not found. Install PHP and add it to your PATH or set the php.debug.executablePath setting</code></pre>
<p>「PHPの実行ファイルがねーぞ！」というエラー文言、 Docker にて環境構築をしている事が原因あろうと想像つきます。</p>
<div class="sc_frame_wrap inline orange">
<div class="sc_frame_title"><span class="sc_frame_icon"><i class="fa fa-exclamation-triangle" aria-hidden="true"><span>fa-exclamation-triangle</span></i></span>注意</div>
<div class="sc_frame shadow">
<p>後から知ったんですけど、Dockerにて環境構築を行っていたとしても<br />
ローカルにPHPがインストールされている &amp;&amp; vscode にパスが通っている場合はエラーは出ないっぽいです。<br />
今動けば良いという人はローカルにインストールとパスを通せば動くと思います！</p>
</div>
</div>
<h2>PHPコンテナへのパスを追加する</h2>
<p>仕事のできる先輩へ相談したところ、すぐに返事をもらえました。</p>
<div class="voice left">
<div class="icon">
<p><img decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2020/10/名称未設定のデザイン-69.png" /></p>
<div class="name">先輩</div>
</div>
<div class="text sc-inner-content sc_balloon left blue">
<p>コンテナへのパスを定義するだけで解決すんでー</p>
</div>
</div>
<p>&nbsp;</p>
<p>それだけで解決するわけ無いだろ！って思ったんですけど大人しく従ってみることにしました。</p>
<p>&nbsp;</p>
<h3>手順1：プロジェクト固有の設定ファイルを定義する準備</h3>
<p>vscode にはプロジェクト単位で設定ファイルを作成することができます（知らんかった…</p>
<p>プロジェクトの第一階層に .vscode というディレクトリを切りましょう。</p>
<div class="sc_frame_wrap inline blue">
<div class="sc_frame_title"><span class="sc_frame_icon"><i class="fa fa-exclamation-triangle" aria-hidden="true"><span>fa-exclamation-triangle</span></i></span>Tips</div>
<div class="sc_frame shadow">
<p>まじで知らなかったんですけど、 vscode のドキュメントはかなり充実しています。<br />
時間ある人は読んでみると良いかもです。<br />
<a href="https://code.visualstudio.com/docs">ドキュメント</a></p>
</div>
</div>
<h3>手順2：コンテナへのパスを定義しよう</h3>
<p>プロジェクト固有のディレクトリの中にPHPが動作しているコンテナへのパスを書いたshellファイルを定義しましょう。</p>
<p>こんな感じ↓</p>
<pre class="line-numbers"><code class="language-other">docker exec -it `コンテナ名` php $@</code></pre>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;"><strong><code>docker exec</code></strong></td>
<td style="width: 50%;"><code>docker exec</code> コマンドは、実行中のDockerコンテナ内でコマンドを実行するために使用されます。</td>
</tr>
<tr>
<td style="width: 50%;"><strong><code>-it</code></strong></td>
<td style="width: 50%;"><code>-it</code> は二つのオプションの組み合わせです。</p>
<ul>
<li><code>-i</code> (<code>--interactive</code>) はコンテナの標準入力を開いた状態に保つ</li>
<li><code>-t</code> (<code>--tty</code>) は仮想ターミナルインターフェイスを割り当てます。</li>
</ul>
</td>
</tr>
<tr>
<td style="width: 50%;"><strong><code>$@</code></strong></td>
<td style="width: 50%;"><code>$@</code>はシェルスクリプトにおける特別な変数で、すべての位置パラメータを表します。スクリプトに渡されたすべての引数を<code>php</code>コマンドに渡します。</td>
</tr>
</tbody>
</table>
<h3>手順3：vscode の設定ファイルを定義しよう</h3>
<p>プロジェクト固有のディレクトリの中に settings.json というファイルを定義しましょう。</p>
<p>vscode 本体に設定することも可能なんですけど、一つのプロジェクトしか触らないというエンジニアは居ないと思うので、プロジェクト固有の設定を記述していきましょう。</p>
<p>設定ファイルの中身はこんな感じ↓</p>
<pre class="line-numbers"><code class="language-php">{
    // 手順2で作成したシェルファイルを定義
    "php.debug.executablePath": "./container-php.sh"
}</code></pre>
<p>ちなみにファイル名が「setting.json」だとvscodeが認識してくれません！<br />
「settings.json」というファイル名してくださいね！</p>
<p>&nbsp;</p>
<h2>先輩に感謝</h2>
<p>先輩にコーヒーとタバコをおごりました。</p>
<p>感謝致します。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1562/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Laravelプロジェクト】react-image-galleryを導入</title>
		<link>https://otonan-syusyoku.work/archives/1396</link>
					<comments>https://otonan-syusyoku.work/archives/1396#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Sat, 26 Aug 2023 09:02:54 +0000</pubDate>
				<category><![CDATA[好きではないJS]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[個人開発]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1396</guid>

					<description><![CDATA[技術構成 Laravel Laravel Framework 10.15.0 React react-dom@18.2.0 DaisyUi daisyui@3.5.0 tailwind @tailwindcss/form [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>技術構成</h2>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">Laravel</td>
<td style="width: 50%;">Laravel Framework 10.15.0</td>
</tr>
<tr>
<td style="width: 50%;">React</td>
<td style="width: 50%;">react-dom@18.2.0</td>
</tr>
<tr>
<td style="width: 50%;">DaisyUi</td>
<td style="width: 50%;">daisyui@3.5.0</td>
</tr>
<tr>
<td style="width: 50%;">tailwind</td>
<td style="width: 50%;">@tailwindcss/forms@0.5.4</td>
</tr>
</tbody>
</table>
<h2>いい感じなフォトギャラリーないのか</h2>
<p>HP作成を行っているとスライダーの要望が度々出てくるはずです。</p>
<p>かくいう僕も今回、そういった要望があってスライダーを導入しなければいけない状態でした。</p>
<p>&nbsp;</p>
<p>一度、jQueryで生実装したことがあるのですが、なんやかんや面倒くさい思いをした苦い経験があったので、今回は生実装を避けたいという思いからReact でいい感じなライブラリないのか調べたところ「<strong>react-image-gallery</strong>」に出会いました。</p>
<p>&nbsp;</p>
<p>天下のReact 様は流石だなと言う感じです。</p>
<p>react-image-gallery以外の選択肢としては以下のようなものが挙げられます。</p>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 36.9214%;" rowspan="2">react-image-gallery</td>
<td style="width: 63.0786%;">https://github.com/xiaolin/react-image-gallery</td>
</tr>
<tr>
<td style="width: 63.0786%;">画像のスライドショーを作成するための高機能なライブラリ</td>
</tr>
<tr>
<td style="width: 36.9214%;" rowspan="2">react-images</td>
<td style="width: 63.0786%;">https://github.com/jossmac/react-images</td>
</tr>
<tr>
<td style="width: 63.0786%;">シンプルなカスタマイズ可能なグリッドスタイルのイメージギャラリーを作成するためのライブラリ</td>
</tr>
<tr>
<td style="width: 36.9214%;" rowspan="2">react-awesome-lightbox</td>
<td style="width: 63.0786%;">https://github.com/photostory/react-awesome-lightbox</td>
</tr>
<tr>
<td style="width: 63.0786%;">モーダルウィンドウ内で画像を表示するためのライブラリ</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>実際に導入</h2>
<p>npm でインストール。</p>
<pre class="line-numbers"><code class="language-js">npm install react-image-gallery</code></pre>
<p>&nbsp;</p>
<p>インポート</p>
<pre class="line-numbers"><code class="language-js">import ImageGallery from 'react-image-gallery';
import 'react-image-gallery/styles/css/image-gallery.css';</code></pre>
<p><span class="sc_marker blue"><strong>※2行目のcss もインポートしてください。</strong></span><br />
<span class="sc_marker blue"><strong>　css もインポートすることで梱包されているスタイルを当てることが可能です。</strong></span></p>
<p>&nbsp;</p>
<p>上記の設定で使う準備が完了です。</p>
<p>あとは自由に設定していくだけです。</p>
<p>&nbsp;</p>
<p>今回はLaravel からデータを渡すため、コントローラーから配列を渡します。（本当はModel でデータ定義して渡すべきですが、）</p>
<pre class="line-numbers"><code class="language-php">$images = [
            [
                "original" =&gt; "/img/AsItFlows/asit_team.jpg",
                "thumbnail" =&gt; "/img/AsItFlows/asit_team.jpg",
                "originalAlt" =&gt; "チーム",
                "thumbnailAlt" =&gt; "チーム",
                "onErrorImageURL" =&gt; "/img/AsItFlows/logo.jpg",
            ],
            [
                "original" =&gt; "/img/AsItFlows/sunset.jpg",
                "thumbnail" =&gt; "/img/AsItFlows/sunset.jpg",
                "originalAlt" =&gt; "サンセット",
                "thumbnailAlt" =&gt; "サンセット",
                "onErrorImageURL" =&gt; "/img/AsItFlows/logo.jpg",
            ],
            [
                "original" =&gt; "/img/AsItFlows/surf_member.jpg",
                "thumbnail" =&gt; "/img/AsItFlows/surf_member.jpg",
                "originalAlt" =&gt; "メンバー",
                "thumbnailAlt" =&gt; "メンバー",
                "onErrorImageURL" =&gt; "/img/AsItFlows/logo.jpg",
            ],
            ...
        ];
        shuffle($images);
        return Inertia::render('Public/AsItFlows/Top', [
            'items' =&gt; $images
        ]);</code></pre>
<p>&nbsp;</p>
<p>最後にjsx 側でいい感じに使用します。</p>
<pre class="line-numbers"><code class="language-js">&lt;ImageGallery items={items}
  showNav={true}
  autoPlay={true}
  showFullscreenButton={false}
  useBrowserFullscreen={false}
  showPlayButton={false}
/&gt;</code></pre>
<p>&nbsp;</p>
<p><img fetchpriority="high" decoding="async" src="https://otonan-syusyoku.work/wp-content/uploads/2023/08/スクリーンショット-2023-08-26-18.01.40.jpg" alt="" width="640" height="688" class="aligncenter size-full wp-image-1401" srcset="https://otonan-syusyoku.work/wp-content/uploads/2023/08/スクリーンショット-2023-08-26-18.01.40.jpg 640w, https://otonan-syusyoku.work/wp-content/uploads/2023/08/スクリーンショット-2023-08-26-18.01.40-279x300.jpg 279w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>&nbsp;</p>
<p>んー。素敵。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1396/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
