tag:crieit.net,2005:https://crieit.net/tags/%E3%83%8D%E3%82%BF/feed 「ネタ」の記事 - Crieit Crieitでタグ「ネタ」に投稿された最近の記事 2022-07-24T14:06:45+09:00 https://crieit.net/tags/%E3%83%8D%E3%82%BF/feed tag:crieit.net,2005:PublicArticle/18248 2022-07-18T00:06:18+09:00 2022-07-24T14:06:45+09:00 https://crieit.net/posts/Beads-Nested-Number-Notation 数珠玉表記 (Beads Vector Notation) <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👇 プログラム設計書が 入れ子番号になってら……」</p> <pre><code class="plaintext">1. Food 1.1. Fruits 1.1.1. Apple 1.1.2. Banana 2. Vehicle 2.1. Ship 2.2. Train 2.3. Car 2.3.1. Police car </code></pre> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 伝説の BASIC言語 の教えを知らないから 人は連番にする」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 今日の仕事を終え、続きは明日にするぜ」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 次の日だぜ。 今日の業務を開始するぜ」</p> <pre><code class="plaintext">1. House 1.1 Apart 1.2 Mansion 2. Food 2.1. Fruits 2.1.1. Apple 2.1.2. Banana 3. Vehicle 3.1. Ship 3.2. Train 3.3. Car 3.3.1. Police car </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 振り番が変わってる……」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 文書は どんどん成長するのよ。 そのたびに <strong>リナンバリング</strong> するわよ!」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 よっしゃ プログラム設計書の振り番と プログラムのソースコードのファイル名の新旧対応表を作ったろ」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 そんな表を作る工数が無駄なのに……」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👇 こういうクラス名を付けたいが、名前を数字で始めることはできないし、アンダースコアも コード規約的によろしくないぜ」</p> <pre><code class="plaintext">1House 1_1Apart 1_2Mansion 2Food 2_1Fruit 2_1_1Apple 2_1_2Banana 3Vehicle 3_1Ship 3_2Train 3_3Car 3_3_1PoliceCar </code></pre> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 プログラムに連番を振るのは <strong>アンチパターン</strong> よ。<br /> <strong>プログラムの意味</strong> を洗い出せば、その部品に合った名前が自ずと付くのよ」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 設計者は <strong>政治的理由</strong> で 意味を洗い出すことを止めてるんで」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 政治的でない部分だけで プログラムしようぜ?」</p> <pre><code class="plaintext">O1House O1_1Apart O1_2Mansion O2Food O2_1Fruit O2_1_1Apple O2_1_2Banana O3Vehicle O3_1Ship O3_2Train O3_3Car O3_3_1PoliceCar </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 前ゼロに似てるという理由で 大文字の <code>O</code> を頭に付けたろ」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 経営幹部は ソースに興味ないしな」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dccbaa15edf.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 ソースのモデラ―(管理者)がいないの そもそもおかしいのよ」</p> <pre><code class="plaintext">O1House O1o1Apart O1o2Mansion O2Food O2o1Fruit O2o1o1Apple O2o1o2Banana O3Vehicle O3o1Ship O3o2Train O3o3Car O3o3o1PoliceCar </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 アンダースコア <code>_</code> は、数字のゼロに似ている小文字の <code>o</code> に替えたろ。<br /> これで 章番号を クラス名の頭に付ける道具立ては整ったぜ」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dcca56eb0f2.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 驚き最大限の法則わらう」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👇 lowerCamelCase としても使える。変数名にも使えそうだぜ」</p> <pre><code class="plaintext">o1House o1o1Apart o1o2Mansion o2Food o2o1Fruit o2o1o1Apple o2o1o2Banana o3Vehicle o3o1Ship o3o2Train o3o3Car o3o3o1PoliceCar </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dcca0f35df1.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 これを <strong>数珠玉表記</strong> (Beads Vector Notation) と名付けよ」</p> <h1 id="関連する記事"><a href="#%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E8%A8%98%E4%BA%8B">関連する記事</a></h1> <h2 id="辞書順記数法"><a href="#%E8%BE%9E%E6%9B%B8%E9%A0%86%E8%A8%98%E6%95%B0%E6%B3%95">辞書順記数法</a></h2> <p>組み合わせて使える</p> <p>📖 <a href="https://crieit.net/posts/Dictionary-Ordinal-Number-Notation">辞書順記数法 Crieit版</a> - ブログ<br /> 📖 <a target="_blank" rel="nofollow noopener" href="https://qiita.com/muzudho1/items/95852145eceddecd1503">辞書順記数法 Qiita版</a> - 固い記事</p> <h2 id="数珠玉表記"><a href="#%E6%95%B0%E7%8F%A0%E7%8E%89%E8%A1%A8%E8%A8%98">数珠玉表記</a></h2> <p>📖 <strong>数珠玉表記 Crieit版</strong> - この記事<br /> 📖 <a target="_blank" rel="nofollow noopener" href="https://qiita.com/muzudho1/items/7aafcf17fc4bb8fe551b">数珠玉表記 Qiita版</a> - 固い記事</p> <h2 id="電脳向量表記"><a href="#%E9%9B%BB%E8%84%B3%E5%90%91%E9%87%8F%E8%A1%A8%E8%A8%98">電脳向量表記</a></h2> <p>辞書順記数法と 数珠玉表記を組み合わせたもの</p> <p>📖 <a href="https://crieit.net/posts/Cyber-Number">電脳向量表記 Crieit版 ブログ</a> - ブログ<br /> 📖 <a href="https://crieit.net/posts/Cyber-Number-Notation">電脳向量表記 Crieit版 固い記事</a> - 固い記事</p> <h2 id="Pythonコード"><a href="#Python%E3%82%B3%E3%83%BC%E3%83%89">Pythonコード</a></h2> <p>Example: 📖 <a target="_blank" rel="nofollow noopener" href="https://github.com/muzudho/beads-vector-notation">beads-vector-notation</a></p> むずでょ tag:crieit.net,2005:PublicArticle/18247 2022-07-18T00:02:40+09:00 2022-07-24T00:55:00+09:00 https://crieit.net/posts/Dictionary-Ordinal-Number-Notation 辞書順記数法 (Dictionary Ordinal Number Notation) を解説しようぜ(^~^)? <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 どのフォルダーに入ってるんだぜ?」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 4番のフォルダーだぜ」</p> <pre><code class="plaintext">📂 0 📂 1 📂 2 📂 3 📂 4 📂 5 📂 6 📂 7 📂 8 📂 9 📂 10 📂 11 📂 12 📂 13 ... </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 Windows のファイルエクスプローラーは 名前順にソートすると 数字は昇順に並ぶのか。<br /> よっしゃ Visual Studio 2022 Preview で開けたろ」</p> <pre><code class="plaintext">📂 0 📂 1 📂 11 📂 12 📂 13 📂 14 📂 15 📂 16 📂 17 📂 18 📂 19 📂 2 📂 20 📂 21 📂 22 📂 23 📂 24 ... </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 4 のフォルダーはどこだぜ!」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 辞書順に並んでるから 多分 39 の下よ」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 なんで ソートのアルゴリズムが違うんだぜ!」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 嫌なら Windows を捨てて Linux にしろだぜ」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 Windows の名前ソートを調べたろ」</p> <h2 id="Windowsのファイルエクスプローラーの名前順"><a href="#Windows%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%90%8D%E5%89%8D%E9%A0%86">Windowsのファイルエクスプローラーの名前順</a></h2> <pre><code class="plaintext">📂 0A # 0 が無視されるとしても A が数字より上なのが分けがわからん 📂 0 📂 1 📂 -1 # ハイフンは負数とは判定されない 📂 2 📂 3 📂 4 📂 5 📂 6 📂 7 📂 08 # 0 は無視される。数字順と思えば納得 📂 8 📂 9 📂 10 📂 99 📂 100 📂 A </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 ワケ分かんね」</p> <h2 id="Visual Studio 2022 Preview のソリューション エクスプローラーの名前順"><a href="#Visual+Studio+2022+Preview+%E3%81%AE%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%90%8D%E5%89%8D%E9%A0%86">Visual Studio 2022 Preview のソリューション エクスプローラーの名前順</a></h2> <pre><code class="plaintext">📂 0 📂 08 📂 0A 📂 1 📂 -1 # ハイフンは負数とは判定されない 📂 10 📂 100 📂 2 📂 3 📂 4 📂 5 📂 6 📂 7 📂 8 📂 9 📂 99 📂 A </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 納得の辞書順だぜ」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 辞書順の方が基本で、<br /> むしろ Windows ファイルエクスプローラーの方が気を利かせて 数字の部分を並び替えてくれるのよ。<br /> 多分 電話番号とか 想定してんじゃないの?」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 だれが 電話番号なんか想定してフォルダーを並び替えてほしいんだぜ!<br /> 前ゼロを無視したり、負数の符号に対応してないのに 正の整数だけソートしたり、ワケ分からん!」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 分けの分かる部分だけを使えだぜ」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 わたしの手にかかれば 問題は 解決までの手順に変わるぜ」</p> <h1 id="[解決方法] 零,または正の整数は昇順になる"><a href="#%5B%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95%5D+%E9%9B%B6%EF%BC%8C%E3%81%BE%E3%81%9F%E3%81%AF%E6%AD%A3%E3%81%AE%E6%95%B4%E6%95%B0%E3%81%AF%E6%98%87%E9%A0%86%E3%81%AB%E3%81%AA%E3%82%8B">[解決方法] 零,または正の整数は昇順になる</a></h1> <h2 id="例"><a href="#%E4%BE%8B">例</a></h2> <pre><code class="plaintext">📂 1 📂 2 📂 3 📂 4 📂 5 📂 6 📂 7 📂 8 📂 9 📂 A10 </code></pre> <pre><code class="plaintext">📂 A91 📂 A92 📂 A93 📂 A94 📂 A95 📂 A96 📂 A97 📂 A98 📂 A99 📂 AA100 </code></pre> <pre><code class="plaintext">📂 AA991 📂 AA992 📂 AA993 📂 AA994 📂 AA995 📂 AA996 📂 AA997 📂 AA998 📂 AA999 📂 AAA1000 </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 <code>前A</code> を付ければいいんだぜ」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 <code>前A</code> って何よ!」</p> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 <code>前ゼロ</code> の <code>A</code> 版だぜ」</p> <h2 id="手順"><a href="#%E6%89%8B%E9%A0%86">手順</a></h2> <p>👇 零,または正の整数があるとする</p> <pre><code class="plaintext">0 1 21 321 4321 - - -- --- ---- </code></pre> <p>👇 <code>桁数×2-1</code> の横幅があると考えてほしい</p> <pre><code class="plaintext">0 1 21 321 4321 - - --- ----- ------- </code></pre> <p>👇 <code>前A</code> で埋める</p> <pre><code class="plaintext">0 1 A21 AA321 AAA4321 - - --- ----- ------- </code></pre> <p>これで正の数は辞書順に並ぶ</p> <h2 id="備考"><a href="#%E5%82%99%E8%80%83">備考</a></h2> <ul> <li>アスキーコードの順を考えると A(大文字) が好ましいが、 a(小文字) でも構わない</li> </ul> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 負の数は どうすんだぜ?」</p> <h1 id="[解決方法] 負の整数は昇順になる"><a href="#%5B%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95%5D+%E8%B2%A0%E3%81%AE%E6%95%B4%E6%95%B0%E3%81%AF%E6%98%87%E9%A0%86%E3%81%AB%E3%81%AA%E3%82%8B">[解決方法] 負の整数は昇順になる</a></h1> <h2 id="例"><a href="#%E4%BE%8B">例</a></h2> <p>👇 例: Windows ファイルエクスプローラーのファイル名,フォルダー名向け</p> <pre><code class="plaintext">📂 ___900 # -100 📂 __01 # - 99 📂 __09 # - 91 📂 __10 # - 90 📂 __89 # - 11 📂 __90 # - 10 📂 _1 # - 9 📂 _2 # - 8 📂 _7 # - 3 📂 _8 # - 2 📂 _9 # - 1 📂 0 # Zero </code></pre> <p>👇 例: Visual Studio 2022 Preview のメソッド名の並び順向け</p> <pre><code class="plaintext">add___900() # -100 add__01() # - 99 add__90() # - 10 add_1() # - 9 add_8() # - 2 add_9() # - 1 add0() # Zero </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 <code>前_</code> を付けて ひっくり返った数を使えば 負数も昇順に並ぶぜ」</p> <p><a href="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/31f0f35be3a4b6b05ce597c7aab702b762dc10e82743b.png?mw=700" alt="202108__character__12--ohkina-hiyoko-futsu2.png" /></a><br /> 「 <code>前_</code> とか <code>ひっくり返った数</code> って何よ!」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 <code>ひっくり返った数</code> というのは、その数を1桁増やした数の絶対値の最小の数だな」</p> <h2 id="手順"><a href="#%E6%89%8B%E9%A0%86">手順</a></h2> <p>👇 負の整数があるとする</p> <pre><code class="plaintext"> -1 -21 -321 -4321 -- --- ---- ----- </code></pre> <p>👇 負の符号を除去する</p> <pre><code class="plaintext"> 1 21 321 4321 - -- --- ---- </code></pre> <p>👇 <code>桁数×2</code> の横幅があると考えてほしい</p> <pre><code class="plaintext"> 1 21 321 4321 -- ---- ------ -------- </code></pre> <p>👇 <code>その数を1桁増やした数の最小の数</code> を求め、上に置く</p> <pre><code class="plaintext"> 10 100 1000 10000 1 21 321 4321 -- ---- ------ -------- </code></pre> <p>👇 引き算をする</p> <pre><code class="plaintext"> 10 100 1000 10000 - 1 - 21 - 321 - 4321 -- ---- ------ -------- 9 79 679 5679 </code></pre> <p>👇 差の横幅を <code>前_</code> で埋める</p> <pre><code class="plaintext"> -- ---- ------ -------- _9 __79 ___679 ____5679 </code></pre> <p>これが負数の表記だ。辞書順で昇順に並ぶ</p> <h2 id="備考"><a href="#%E5%82%99%E8%80%83">備考</a></h2> <ul> <li>👆 アンダースコア <code>_</code> は使いたくなかった。 <code>0</code> が辞書順なら <code>0</code> にしたかったが、 Windows ファイルエクスプローラーや、 Visual Studio 2022 Preview のメソッドの並び順は <code>0</code> を無視するという 分けの分からない挙動なので仕方なく使用</li> </ul> <h1 id="-13 ~ 13 の例"><a href="#-13+%EF%BD%9E+13+%E3%81%AE%E4%BE%8B">-13 ~ 13 の例</a></h1> <pre><code class="plaintext">📂 __87 # -13 📂 __88 # -12 📂 __89 # -11 📂 __90 # -10 📂 _1 # -9 📂 _2 # -8 📂 _3 # -7 📂 _4 # -6 📂 _5 # -5 📂 _6 # -4 📂 _7 # -3 📂 _8 # -2 📂 _9 # -1 📂 0 📂 1 📂 2 📂 3 📂 4 📂 5 📂 6 📂 7 📂 8 📂 9 📂 A10 📂 A11 📂 A12 📂 A13 </code></pre> <p><a href="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5b53e954894672b36c716412a272826b62dc0fea91b9c.png?mw=700" alt="202101__character__31--ramen-tabero-futsu2.png" /></a><br /> 「 👆 これで楽になったぜ」</p> <p><a href="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e846bc7782a0e037a1665e6b3d51b02462dc100f04369.png?mw=700" alt="202101__character__28--kifuwarabe-futsu.png" /></a><br /> 「 こんな おかしな <strong>バッドノウハウ</strong> が流行る前に GUIのリストのソートアルゴリズムを ユーザーが指定できるようにしてほしいぜ」</p> <h1 id="関連する記事"><a href="#%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E8%A8%98%E4%BA%8B">関連する記事</a></h1> <p>📖 <a target="_blank" rel="nofollow noopener" href="https://qiita.com/muzudho1/items/95852145eceddecd1503">Qiita版 辞書順記数法</a> - 頭が固い説明<br /> 📖 <a href="https://crieit.net/posts/Beads-Nested-Number-Notation">数珠玉記数法</a> - 組み合わせて使える<br /> 📖 <a href="https://crieit.net/posts/Cyber-Number-Notation">電脳記数法</a> - 辞書順記数法と 数珠玉記数法を組み合わせたもの</p> <p>Example: 📖 <a target="_blank" rel="nofollow noopener" href="https://github.com/muzudho/dictionary-ordinal-number-notation">dictionary-ordinal-number-notation</a></p> むずでょ tag:crieit.net,2005:PublicArticle/18246 2022-07-17T23:49:07+09:00 2022-08-04T00:24:28+09:00 https://crieit.net/posts/Cyber-Number-Notation 電脳向量表記 (Cyber Vector Notation) <p>👇 「電脳向量表記」を発案したので Qiita に書こうとしたら「投稿頻度が高すぎます」とかいう わたしの投稿頻度とウマの合わない注意が出てきて 新規記事を投稿できなくなったので Crieit に書く</p> <p><a href="https://crieit.now.sh/upload_images/e50f1f2ca0695f87455d620d10b3df9362e6abafb7461.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e50f1f2ca0695f87455d620d10b3df9362e6abafb7461.png?mw=700" alt="202208__Others__01_0038_qiita.png" /></a></p> <p>一度に説明するのは難しいので、要点を分けて1つずつ説明する</p> <h1 id="O_9o0 序文"><a href="#O_9o0+%E5%BA%8F%E6%96%87">O_9o0 序文</a></h1> <p>BASICの行番号で <code>1</code>, <code>2</code>, <code>3</code> と振り番すると、あとで <code>2</code> と <code>3</code> の間に1行はさみたいときに<br /> 挟めなくて困るから、行番号は <code>10</code>, <code>20</code>, <code>30</code> と振りなさい、と教えられる。<br /> あとで <code>20</code> と <code>30</code> の間に <code>25</code> を挟めるから なるほど! と思ったが、<br /> じゃあ <code>25</code> と <code>26</code> の間に挟みたいときはどうするのか! という長年の疑問から<br /> 後からいくらでも挟めるような振り番が欲しかったので 仕様を発案した。<br /> 数値型ではなく <strong>文字列型の辞書順</strong> を利用する</p> <h1 id="O1o0 格納構造"><a href="#O1o0+%E6%A0%BC%E7%B4%8D%E6%A7%8B%E9%80%A0">O1o0 格納構造</a></h1> <h2 id="O1o1o0 もととなる数"><a href="#O1o1o0+%E3%82%82%E3%81%A8%E3%81%A8%E3%81%AA%E3%82%8B%E6%95%B0">O1o1o0 もととなる数</a></h2> <pre><code class="plain">[1 2 3 4] </code></pre> <p>👆 もととなる数は、要素を整数とするベクトルを想定している</p> <h2 id="O1o2o0 電脳向量"><a href="#O1o2o0+%E9%9B%BB%E8%84%B3%E5%90%91%E9%87%8F">O1o2o0 電脳向量</a></h2> <pre><code class="plain">[1 2 3 4 0] </code></pre> <p>👆 要素を整数とするベクトルで、右端の要素が 0 のものを <strong>電脳向量</strong> (Cyber Vector) と呼ぶことにする</p> <h2 id="O1o3o0 右端に 0 の要素を追加する操作"><a href="#O1o3o0+%E5%8F%B3%E7%AB%AF%E3%81%AB+0+%E3%81%AE%E8%A6%81%E7%B4%A0%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%93%8D%E4%BD%9C">O1o3o0 右端に 0 の要素を追加する操作</a></h2> <pre><code class="plain">[1 2 3 4] │ │ trail_zero ↓ [1 2 3 4 0] </code></pre> <p>👆 右端の要素が 0 でない場合、 1列増やして 0 を入れる。<br /> これを <strong>trail_zeroルール</strong> と呼ぶことにする。 <code>With trailing zero</code> の略</p> <pre><code class="plain">[1 2 3 4 0] │ │ trail_zero ↓ [1 2 3 4 0 0] </code></pre> <p>👆 この操作をもう一度行うと、さらに 1列増やして 0 を入れる</p> <h1 id="O2o0 電脳向量の表記の手順"><a href="#O2o0+%E9%9B%BB%E8%84%B3%E5%90%91%E9%87%8F%E3%81%AE%E8%A1%A8%E8%A8%98%E3%81%AE%E6%89%8B%E9%A0%86">O2o0 電脳向量の表記の手順</a></h1> <h2 id="O2o1o0 Ignore case"><a href="#O2o1o0+Ignore+case">O2o1o0 Ignore case</a></h2> <ul> <li>大文字と小文字は区別しない</li> </ul> <h2 id="O2o2o0 零,または1桁の正の整数を要素にするベクトルの例"><a href="#O2o2o0+%E9%9B%B6%EF%BC%8C%E3%81%BE%E3%81%9F%E3%81%AF1%E6%A1%81%E3%81%AE%E6%AD%A3%E3%81%AE%E6%95%B4%E6%95%B0%E3%82%92%E8%A6%81%E7%B4%A0%E3%81%AB%E3%81%99%E3%82%8B%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%81%AE%E4%BE%8B">O2o2o0 零,または1桁の正の整数を要素にするベクトルの例</a></h2> <p>👇 以下のようなベクトルがあるとする</p> <pre><code class="plain">[1 2 3 4 0] </code></pre> <p>👇 角括弧を外す</p> <pre><code class="plain">1 2 3 4 0 </code></pre> <p>👇 区切りとして <code>o</code> を使う。間隔は空けずに詰める</p> <pre><code class="plain">1o2o3o4o0 </code></pre> <p>👇 左端に <code>O</code> を付ける。間隔は空けずに詰める</p> <pre><code class="plain">O1o2o3o4o0 </code></pre> <p>これが <strong>電脳向量表記</strong> の代表的なケースだ</p> <h2 id="O2o3o0 2桁以上の正の整数を要素にするベクトルの例"><a href="#O2o3o0+2%E6%A1%81%E4%BB%A5%E4%B8%8A%E3%81%AE%E6%AD%A3%E3%81%AE%E6%95%B4%E6%95%B0%E3%82%92%E8%A6%81%E7%B4%A0%E3%81%AB%E3%81%99%E3%82%8B%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%81%AE%E4%BE%8B">O2o3o0 2桁以上の正の整数を要素にするベクトルの例</a></h2> <p>👇 以下のようなベクトルがあるとする</p> <pre><code class="plain">[21 321 4321 0] </code></pre> <p>👇 角括弧を外す</p> <pre><code class="plain">21 321 4321 0 </code></pre> <p>👇 区切りとして <code>o</code> を使う。間隔は空けずに詰める</p> <pre><code class="plain">21o321o4321o0 </code></pre> <p>👇 <code>桁数×2-1</code> の横幅があると考える</p> <pre><code class="plain"> 21o 321o 4321o0 - -- --- </code></pre> <p>👇 <code>前A</code> を詰める</p> <pre><code class="plain">A21oAA321oAAA4321o0 - -- --- </code></pre> <p>👇 左端に <code>O</code> を付ける。間隔は空けずに詰める</p> <pre><code class="plain">OA21oAA321oAAA4321o0 </code></pre> <p>これも <strong>電脳向量表記</strong> だ</p> <h2 id="O2o4o0 負の整数を要素にするベクトルの例"><a href="#O2o4o0+%E8%B2%A0%E3%81%AE%E6%95%B4%E6%95%B0%E3%82%92%E8%A6%81%E7%B4%A0%E3%81%AB%E3%81%99%E3%82%8B%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%81%AE%E4%BE%8B">O2o4o0 負の整数を要素にするベクトルの例</a></h2> <p>👇 以下のようなベクトルがあるとする</p> <pre><code class="plain">[-1 -21 -321 -4321 0] </code></pre> <p>👇 角括弧を外す</p> <pre><code class="plain">-1 -21 -321 -4321 0 </code></pre> <p>👇 区切りとして <code>o</code> を使う。間隔は空けずに詰める</p> <pre><code class="plain">-1o-21o-321o-4321o0 </code></pre> <p>👇 負数の符号 <code>-</code> を外すとともに、 <code>残った桁数×2</code> の横幅があると考えて、 <code>前_</code> を詰める</p> <pre><code class="plain">_1o__21o___321o____4321o0 </code></pre> <p>👇 負数だったその残った数より1桁多い数の中で最小の数を 上に添える</p> <pre><code class="plain">10 100 1000 10000 _1o__21o___321o____4321o0 </code></pre> <p>👇 引く</p> <pre><code class="plain">10 100 1000 10000 _1o__21o___321o____4321o0 -- --- ---- ----- _9o__79o___679o____5679o0 </code></pre> <p>👇 その差の左端に <code>O</code> を付ける。間隔は空けずに詰める</p> <pre><code class="plain">O_9o__79o___679o____5679o0 </code></pre> <p>これも <strong>電脳向量表記</strong> だ</p> <h1 id="O2o5o0 電脳向量表記の結合"><a href="#O2o5o0+%E9%9B%BB%E8%84%B3%E5%90%91%E9%87%8F%E8%A1%A8%E8%A8%98%E3%81%AE%E7%B5%90%E5%90%88">O2o5o0 電脳向量表記の結合</a></h1> <p>👇 以下の2つのベクトルを1つにまとめたいとき</p> <pre><code class="plaintext">[1 0] [2 0] </code></pre> <p>👇 まず それぞれを電脳向量表記にする</p> <pre><code class="plaintext">O1o0 O2o0 </code></pre> <p>👇 <code>g</code> でつなぐ。間隔は詰める。 <code>g</code> の右隣の <code>O</code> は除去する</p> <pre><code class="plaintext">O1o0g2o0 </code></pre> <h1 id="O3o0 テクニック"><a href="#O3o0+%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF">O3o0 テクニック</a></h1> <h1 id="O3o1o0 兄弟の追加"><a href="#O3o1o0+%E5%85%84%E5%BC%9F%E3%81%AE%E8%BF%BD%E5%8A%A0">O3o1o0 兄弟の追加</a></h1> <p>「数がすぐ足りなり要素の数を増やす」ことが頻発することがある。<br /> この増加速度を遅くすることが実用のために推奨となる</p> <p>👇 <code>[2 0]</code> と <code>[3 0]</code> の間に数を挿入するときのテクニック</p> <pre><code class="plaintext"> [2 0] [3 0] </code></pre> <p>👇 (例) <code>[3 0]</code> の方に <code>[0 -9]</code> 増やす</p> <pre><code class="plaintext"> [2 0] 👉 [3 -9 0] [3 0] </code></pre> <p>👇 <code>[3 -1 0]</code> と <code>[3 0]</code> の間に数を挿入するときの推奨のテクニック</p> <pre><code class="plaintext"> [3 -1 0] [3 0] </code></pre> <p>👇 (例) <code>[3 0]</code> の方に <code>[0 0 -99]</code> 増やす</p> <pre><code class="plaintext"> [3 -1 0] 👉 [3 0 -99 0] [3 0] </code></pre> <p>👇 <code>[3 0 -99 0]</code> と <code>[3 0]</code> の間に数を挿入するときの推奨のテクニック</p> <pre><code class="plaintext"> [3 0 -99 0] [3 0] </code></pre> <p>👇 (例) <code>[3 0]</code> の方に <code>[0 0 0 -999]</code> 増やす</p> <pre><code class="plaintext"> [3 0 -99 0] 👉 [3 0 0 -999 0] [3 0] </code></pre> <p>以降、同様に1桁ずつ増えていく</p> <h1 id="OAA100o0 関連する記事"><a href="#OAA100o0+%E9%96%A2%E9%80%A3%E3%81%99%E3%82%8B%E8%A8%98%E4%BA%8B">OAA100o0 関連する記事</a></h1> <h2 id="OAA100o1o0 Pythonコード"><a href="#OAA100o1o0+Python%E3%82%B3%E3%83%BC%E3%83%89">OAA100o1o0 Pythonコード</a></h2> <p>Example: 📖 <a target="_blank" rel="nofollow noopener" href="https://github.com/muzudho/cyber-vector-notation">cyber-vector-notation</a></p> <h2 id="OAA100o2o0 辞書順記数法"><a href="#OAA100o2o0+%E8%BE%9E%E6%9B%B8%E9%A0%86%E8%A8%98%E6%95%B0%E6%B3%95">OAA100o2o0 辞書順記数法</a></h2> <p>📖 <a href="https://crieit.net/posts/Dictionary-Ordinal-Number-Notation">辞書順記数法 Crieit版</a> - ブログ<br /> 📖 <a target="_blank" rel="nofollow noopener" href="https://qiita.com/muzudho1/items/95852145eceddecd1503">辞書順記数法 Qiita版</a> - 固い記事</p> <h2 id="OAA100o3o0 数珠玉表記"><a href="#OAA100o3o0+%E6%95%B0%E7%8F%A0%E7%8E%89%E8%A1%A8%E8%A8%98">OAA100o3o0 数珠玉表記</a></h2> <p>📖 <a href="https://crieit.net/posts/Beads-Nested-Number-Notation">数珠玉表記 Crieit版</a> - ブログ<br /> 📖 <a target="_blank" rel="nofollow noopener" href="https://qiita.com/muzudho1/items/7aafcf17fc4bb8fe551b">数珠玉表記</a> - 固い記事</p> <h2 id="OAA100o4o0 電脳向量表記"><a href="#OAA100o4o0+%E9%9B%BB%E8%84%B3%E5%90%91%E9%87%8F%E8%A1%A8%E8%A8%98">OAA100o4o0 電脳向量表記</a></h2> <p>👇 辞書順記数法と 数珠玉記数法を組み合わせたもの</p> <p>📖 <a href="https://crieit.net/posts/Cyber-Number">電脳向量表記 Crieit版 ブログ</a> - ブログ<br /> 📖 <code>電脳向量表記 Crieit版 固い記事</code> - この記事</p> <p>おわり</p> むずでょ tag:crieit.net,2005:PublicArticle/15365 2019-08-31T10:19:49+09:00 2019-08-31T10:19:49+09:00 https://crieit.net/posts/87377afb0c9ef54fa31c69b33efbf0cb なろう主人公ワイ「ふむ…では、ユーザーが広告を踏むとユーザーに半額収益が入るサービスってのはどうだろう?」 <p>こんちっち!<br /> 流河旱樹です。</p> <p>今朝ぼーっとネットサーフィン(死語か?)をしていたら面白い記事をみつけた。<br /> <a target="_blank" rel="nofollow noopener" href="https://gigazine.net/news/20190830-wikipedia-brave-verified-publisher/">Wikipediaが広告をブロックすることでコンテンツ提供者に収益を分配するブラウザ「Brave」に仲間入り</a></p> <p>真面目に中身を読んでいないが(読めよ)言いたいことが分かる。</p> <p>つまりこうだ。</p> <p>広告を1クリックすると収益が10円入る世界だとする。<br /> その10円ってサイト運営側に全額入るわけだが、10円ってのは分けることができるよねという話。<br /> 「<strong>広告を踏んでくれないとお金にならない;;</strong>」のがサイト運営側で、ユーザー側は「広告うぜえ」と思っている。<br /> でも、広告うぜえ!と思っているユーザーが広告を踏むと一回につき5円入るとしたらどうだろう?<br /> ガンガン広告を踏んでくれるよね!</p> <p>サイト運営側も踏まなきゃ0円なんだから仮にユーザーに半分あげたとしても広告がガンガン踏まれれば収益としては増えるよねという感じ。</p> <p>天才かよ・・・。</p> <p>まあオレはAdblockを使っているし自分が運営している<strong>あの</strong>世界から寂しさを消す神サービス(*1)も今のところは広告を張っていないんですけどねえ。</p> <p>*1 <a target="_blank" rel="nofollow noopener" href="https://chatgacha.com/">神サービスはこちら</a></p> <h1 id="システム化がめんどうか?"><a href="#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%8C%96%E3%81%8C%E3%82%81%E3%82%93%E3%81%A9%E3%81%86%E3%81%8B%EF%BC%9F">システム化がめんどうか?</a></h1> <p>ユーザーにお金を半分あげる!というのは結構面倒そうだがどうだろう。<br /> これだけ電子マネーだのが普及しているし、専用の「ブラウザ」を作ったり(記事の中ではこれだし、ユーザーではなくコンテンツ提供者にあげるらしい)アドオンを作ったりしたらそれほどやばいシステムでもないと思うな。</p> <p>10年ぐらい前だと無理!めんどう!と思っていたことも時代とともに可能になってきているよね</p> <p>そういえばオレは去年ネトゲを一人で作っていたし、ツールの発達、ミドルウェアの発達、回線のはやさ(5Gになるね)とかいろいろ開発者にとってできることが増えてきているなあと思う。</p> <p>問題は新しいアイデアを形にしたときにユーザーがそれを理解し受け入れるかどうかみたいなところかもしれないなあとぼんやり思っている。</p> <p>まあ金がもらえるというのは(電子マネーで)消費税が10%にあがるとか老後に金が必要とかいう話で盛り上がる時代だからこのぐらいのアイデアなら受け入れられる可能性は高いよねえ(゚∀゚)</p> <p>ちな、ツイッターランドのプロモーションはどれも気合が入っているので毎日連打して押してます</p> <p>以上。<br /> ほんじゃまたの!</p> 流河旱樹 tag:crieit.net,2005:PublicArticle/15170 2019-06-26T23:27:43+09:00 2019-06-26T23:27:43+09:00 https://crieit.net/posts/93f83330f40486b5dac68481418798e8 ハッカーな気分 <h2 id="今は昔"><a href="#%E4%BB%8A%E3%81%AF%E6%98%94">今は昔</a></h2> <p>むかーしむかし、僕がまだ、小学生とか中学生とか、とにかく、パソコンとかプログラムとかよくわかっていなかった頃の話だ。<br /> アニメやドラマ、映画を見ていると、たまにハッカーみたいなやつが出てくることがある。それは時にはハッカーだし、時にはクラッカーだったりするのだけれど、今はとりあえず、どちらでも良い。<br /> とにかくだ。彼らはすごいのだ。<br /> 何がすごいって、ダダダダダッってキーボードを淀みなく叩き続けて、画面には理解不能な文字列がバババババッって表示されて、ッターンって仕上げにキーボードを叩くと、何かすげーことが起きる。<br /> 何か、すげーのだ。<br /> 別に憧れたりはしなかったけど。</p> <h2 id="少し昔"><a href="#%E5%B0%91%E3%81%97%E6%98%94">少し昔</a></h2> <p>とか言いながら、僕は新卒でSIerの企業に入った。<br /> 扱ったのは、Windows Server で動くC#製のWebアプリだ。</p> <p>Windows Server ってGUIだから普段のPCの延長みたいなものだし、普段の開発もだいたい手はそんなに動かない。悩んで調べて動かなくて……。<br /> おおよそ手はキーボードの上じゃなくて、マウスの上か頭の上(頭抱えてる)にある。時々キーボードって感じだ。<br /> 昔見たハッカーはやっぱりフィクションなんだなーと、ふと思ったりした。<br /> 別に憧れて入った訳じゃないから、何も問題ないのだけれど。</p> <h2 id="ちょっと前"><a href="#%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E5%89%8D">ちょっと前</a></h2> <p>転職した。その話は今は関係ないので省く。<br /> 扱うものがWindowsからLinuxに変わった。<br /> 最初はCUIがすげー辛かった。ファイルを探そうにもエクスプローラすらないのだもの。<br /> 最初はTab補完すら知らなくて、ファイル探すだけでこんな大変だなんて、どうかしてる、とさえ思ったりした。<br /> そのうち慣れていったけど。</p> <h2 id="ある時"><a href="#%E3%81%82%E3%82%8B%E6%99%82">ある時</a></h2> <p>自分が、ダダダダダッってキーボードを淀みなく叩き続けて、コンソールに文字列をバババババッって表示させているのに気が付いた。</p> <p>あ、ちょっとハッカーっぽい。</p> <p>少し思って、すごく虚しくなった。</p> <p>だって。</p> <p>cdとlsを打ち続けて、ログを見つけてgrepかけただけだもの。<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p> <div class="footnotes" role="doc-endnotes"> <hr /> <ol> <li id="fn:1" role="doc-endnote"> <p>「エクスプローラをポチポチクリックして、サクラエディタのgrep機能でログを検索する」とwindowsに置き換えて書いてみると虚しさが倍増する。 <a href="#fnref:1" class="footnote-backref" role="doc-backlink">↩︎</a></p> </li> </ol> </div> hammhiko tag:crieit.net,2005:PublicArticle/14928 2019-04-15T23:02:46+09:00 2019-04-22T09:43:16+09:00 https://crieit.net/posts/500-WEB-5cb48f061acbb 月500円の不労所得を得るためにWEBサービスを開発した話 〜 もうやめて!とっくに個人開発者のライフはゼロよ! 〜 <p><a href="https://crieit.now.sh/upload_images/b101235b323c1a4eb73698fe3492db7a5cb3248443611.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b101235b323c1a4eb73698fe3492db7a5cb3248443611.png?mw=700" alt="top.png" /></a></p> <p>こんにちわ!ミツダマです。<br /> 毎月WEBサービスを開発して技術とノウハウうっはうは祭りを主催しています。</p> <p>1・2月に続いて3月にもWEBサービスを開発しました。</p> <p>そのときの記事はコチラ<br /> ▼<a href="https://crieit.net/posts/500-WEB">月500円の不労所得を得るためにWEBサービスを開発した話(1)</a></p> <p>3月は<a target="_blank" rel="nofollow noopener" href="https://www.choice-maker.site/">究極の選択メーカー(仮)</a>をつくってます。<br /> おかげで少しずつですが不労所得に近づいてきました。へへ。</p> <p>以下報告記事です!</p> <h1 id="あらすじ 〜成功のノウハウ探し〜"><a href="#%E3%81%82%E3%82%89%E3%81%99%E3%81%98+%E3%80%9C%E6%88%90%E5%8A%9F%E3%81%AE%E3%83%8E%E3%82%A6%E3%83%8F%E3%82%A6%E6%8E%A2%E3%81%97%E3%80%9C">あらすじ 〜成功のノウハウ探し〜</a></h1> <p>花粉症に悩まされ<strong>ひたすらティッシュを浪費する仕事</strong>に勤しんでいたある日のことです。<br /> 空いてる時間を使って「個人開発で成功するためのノウハウ」について調べていました。</p> <p>多くの記事を読み漁った結果、どの記事でも共通して書かれている大原則を見つけたのです。それは</p> <ul> <li>どれだけキレイなコードを書いて</li> <li>どれだけ最先端の技術を使っても</li> <li>見た目(UI)が悪いと</li> <li>触ってすらもらえない</li> </ul> <p>という「人は見た目が9割」ならぬ、「<strong>サービスは見た目が9割</strong>」説です。</p> <p>サービス開発で最も重要なのは見た目と操作感(UI/UX)か・・・<br /> 「<strong>この世は金と知恵と見た目</strong>」ってバクマンでも言ってたもんな・・・</p> <p>と今までの愚行を悔い改め、今度はUIについての記事を漁ります。</p> <p>次に辿り着いたのがこのサイトです。</p> <p>▼<a target="_blank" rel="nofollow noopener" href="https://cantunsee.space/">Can't Unsee</a></p> <p><a href="https://crieit.now.sh/upload_images/8b1b973a78732f8fc02402ca6ae228545cb4826ad8525.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8b1b973a78732f8fc02402ca6ae228545cb4826ad8525.png?mw=700" alt="image.png" /></a></p> <p>UIデザインが2つ表示され、より正しい方を選択する問題がいくつか出てきます(UIについて興味のある方は遊んで見てください)</p> <p>このサイトで少し遊んでみた結果、</p> <p>なんや、おもしれーじゃねえかあんちゃん!</p> <p>とUIそっちのけでゲーム性に惹かれ、</p> <p>面白いサイトを見つける → 自分でもつくりたくなる → パクる</p> <p>という自然な流れからつくることになったのでした。</p> <h1 id="ステップ1.アイデア出し 〜最小限の機能を考える〜"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%971.%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E5%87%BA%E3%81%97+%E3%80%9C%E6%9C%80%E5%B0%8F%E9%99%90%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E8%80%83%E3%81%88%E3%82%8B%E3%80%9C">ステップ1.アイデア出し 〜最小限の機能を考える〜</a></h1> <p>1度インスピレーションを得たらワクワクするアイデアがポンポン出てきます。<br /> が、そのままのテンションで突っ走るとろくなことにならないので最小限にまとめていきます。</p> <p>こんな感じです。</p> <pre><code> 【二者択一メーカー(仮)】 ・質問と解答(二択)を作成できる ・あなたはどっち?的な ```例1) 質問: あなたはどっちがいい? 解A:「性格のいいブサイク」 解B:「性格の悪いイケメン」``` ```例2) 質問: どっちを選びますか? 解A: 月20万円もらえる(一生) 解B: その場で1億円もらえる``` ・「質問されたら回答したくなる」の心理をくすぐり倒す ・作成したらツイートで拡散 ・ネプリーグのトロッコアドベンチャー的な ・問題はバズってもすぐ飽きそうってとこ(アカン) ・滞在時間を伸ばすための仕組み必要←コラボ命 他力本願is正義 </code></pre> <p>ここで思い出しましたが、コラボ命です。<br /> コラボがなければ、他者の力を借りなければこのサービスは成りたたないか弱い存在なのです。</p> <h1 id="ステップ2. 爆速でつくる"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%972.+%E7%88%86%E9%80%9F%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B">ステップ2. 爆速でつくる</a></h1> <p>ここまでのアイデアを出し切ったのが3月19日でした。<br /> 残り10日ちょいしかありません。もう時間がない。爆速で作ります。</p> <p>祝日や休日、ズル休みを利用してひたすら開発と睡眠と漫画を繰り返す日々です。</p> <pre><code>集中して開発 → 詰まったら昼寝 → 起きて開発 → たまに漫画 </code></pre> <p>この流れです。おかげでストレスは全くありません。<strong>ワークライフバランスの極み</strong>。</p> <p>ちなみにこの時期は遊戯王を読み返してました。</p> <p>今でも「味方モンスターが浮遊する城の局部を破壊し落下させて相手全モンスターを潰した結果デュエルに勝つ」<br /> というカードゲームのしなさっぷりには拍手しかありません。</p> <p>それまでの数値のやり取りはどこにいったんやと言いたいです。</p> <p>他にも<br /> ・突然闇に包まれて攻撃が当たらない<br /> ・月を破壊して海水面を低くし海にひそむモンスターを炙り出して焼く<br /> ・濡らして雷</p> <p>などなど。</p> <p>ねぇ!?それどうやってカードゲームにするの!?ねぇ!?</p> <p>と。</p> <p>しかし面白ければいいんです。圧倒的に面白ければ漫画はいいんです。辻褄とか合わなくてもいいんです。</p> <p>この学びはサービス開発でも活かしていこうと心に誓いました。</p> <p>面白ければなんでもあり、要は面白ければ多少意味の分からないところがあっても支持してもらえるんだ、と。</p> <p>その学びを形に変えつつ「究極の選択メーカー」を全力でつくっていきます。</p> <p>ここからはずっとおれのターーーーーン!!</p> <h1 id="ステップ3. 公開"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%973.+%E5%85%AC%E9%96%8B">ステップ3. 公開</a></h1> <p>3月31日夜10時、どうにか完成、長かったこの思い出と共に涙を浮かべます。</p> <hr /> <p>おれはな。<br /> 成功しなくてもいいんや。<br /> 大人になっても全力で努力したこのひと時を過ごせたこと。<br /> その時間が何より大切で宝もんなんや。</p> <hr /> <p>1人感傷に浸りつつもリリース。</p> <p>と思いきや公開後にログイン処理が上手く動いていないという<strong>一番めんどくさそうなバグ</strong>を発見しました。<br /> しかもローカル環境だと発生しないパターンです。ふざけるなと思いました。流した涙は力ではなく冷や汗に変わります。</p> <p><strong>「1ヶ月1サービスリリース」</strong></p> <p>この己との約束を果たすためにも残り2時間でリリースするしかありません。<br /> どうする、どうする・・・と頭をフル回転させた結果</p> <p><strong>ログイン機能をなくす</strong></p> <p>という臭いものにはフタ作戦を思いつきました。<br /> 長年染み付いた隠蔽体質によってことなきを得たのです。(今は直ってます)</p> <p>そして23時半、残り30分を残しリリースツイートをかまします。</p> <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">人生は【選択】の連続だ。逃げるか挑むか。生きるか死ぬか。勝つか負けるか。世界を半分もらうか、もらわないか🌍あなたは何を選ぶ。「究極の選択メーカー」リリースしました!!!🎉🎉🎉究極の選択をつくって人生を問うていきましょう!!<a target="_blank" rel="nofollow noopener" href="https://t.co/ttsLmoKzQO">https://t.co/ttsLmoKzQO</a></p>— ミツダマ@500円プログラマー (@mitudama) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama/status/1112365378573762561?ref_src=twsrc%5Etfw">2019年3月31日</a></blockquote> <p>当時広めてくださった方々ほんとありがとうございました。<br /> このサービスが成功したらあなた方も<strong>東京で消耗しない生活</strong>に変えていく所存ですので今しばらくお付き合いください。</p> <h1 id="サービス開発のこだわりについて"><a href="#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%8B%E7%99%BA%E3%81%AE%E3%81%93%E3%81%A0%E3%82%8F%E3%82%8A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">サービス開発のこだわりについて</a></h1> <p><a href="https://crieit.net/posts/500-WEB">前回の記事</a>にて、開発をするうえでMVPという考え方を重視していますと書きましたがもう一つ重視しているものがあります。</p> <p>それは<strong>TTP</strong>です。</p> <p>TTP つまり <strong>Tettei(徹底) Tekini(的に) Pakuru(パクる)</strong></p> <p>です。皆さんご存知の。</p> <p>ひたすらパクリ元を分析し伝家の宝刀Chromeのデベロッパーツールでパクリ倒します。<br /> もちろん内容はパクってはいけません。</p> <p>見栄えのいいポジションや色使い、コンテンツの見やすい幅・高さ、さらには枠線の薄さなんて細かいものまで研究して自サイトに吸収していきます。</p> <p>「パクってこれか」</p> <p>と思われるのが忍びないので参考元は載せませんが、5・6サイトくらいは常時見比べて真似させてもらいました。</p> <p>おかげでUIの優れたサービスがどのような思想で設計されているか少しだけ分かるようになりました!<br /> これは大きな収穫です。</p> <p>今後もUIの優れたサービスを研究してTTPしていきます。</p> <h1 id="自分の欲しいモノを作るべきかどうかという考察"><a href="#%E8%87%AA%E5%88%86%E3%81%AE%E6%AC%B2%E3%81%97%E3%81%84%E3%83%A2%E3%83%8E%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%A8%E3%81%84%E3%81%86%E8%80%83%E5%AF%9F">自分の欲しいモノを作るべきかどうかという考察</a></h1> <p>あるスターウォーズのキャラもとい有名な個人開発者のジャバ・ザ・ハットリさんが言っていたこと</p> <p><a href="https://crieit.now.sh/upload_images/bafe64078e9759036792f7a24e90b2865cb486e85fc5b.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/bafe64078e9759036792f7a24e90b2865cb486e85fc5b.jpg?mw=700" alt="W9s8t87q_400x400.jpg" /></a><br /> ↑こちらジャバ・ザ・ハットリさん</p> <blockquote> <p>「自分が欲しいものをそのまま作る」のでは甘い。<br />  必ずしも「自分が欲しいモノ」=「世の人々が欲しいモノ」ではない。<br />  スティーブ・ジョブズのような天才的な勘の持ち主でも無い限り、 <br />  自分の思いだけで突き進んでも「世の人々が欲しいモノ」に到達することは無い</p> </blockquote> <p>うーーーん金言ですね。マジで熱いです最高。Awesome!!</p> <p>ちなみにこの記事です(個人開発者はぜひ読むべき!)<br /> ▼<a target="_blank" rel="nofollow noopener" href="https://qiita.com/jabba/items/1a49e860a09a613b09d4">開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する</a></p> <p>なるほど-----!やっぱりそうかーーー!</p> <p>と影響を受けつつも、待てよ、と。この言葉は</p> <p>ジャバ・ザ・ハットリさんの濃密な経験から出た経験則だから何もしないでそのまま信じるのはダメじゃね?と<br /> 偉い人やすごい人が言ってることをさも自分が経験したことのように発言したり真似するのはダメだよなぁ<br /> 1回試してダメなら考えを改め現実を素直に受け入れよう</p> <p>と<strong>ほんの些細な自我</strong>が芽生えたので今回は「自分がつくりたいもの」を好きにつくる道を選んでいます。</p> <h1 id="成功するクリエイターには二つのタイプがいる?"><a href="#%E6%88%90%E5%8A%9F%E3%81%99%E3%82%8B%E3%82%AF%E3%83%AA%E3%82%A8%E3%82%A4%E3%82%BF%E3%83%BC%E3%81%AB%E3%81%AF%E4%BA%8C%E3%81%A4%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%97%E3%81%8C%E3%81%84%E3%82%8B%EF%BC%9F">成功するクリエイターには二つのタイプがいる?</a></h1> <p>また、漫画バクマンでは作中に登場する優秀な編集者が「成功するマンガ家」について以下のように分析するシーンがあります。</p> <blockquote> <p>成功するマンガ家さんは大きく分けると2タイプがいて</p> <p>自分の描きたい事好きな事を思いきり描いてヒットする天才タイプ<br /> 計算しつくしてヒットをだすタイプ</p> <p>大ヒット飛ばせるのは圧倒的に計算じゃない人なんだ</p> </blockquote> <p>(ちなみにこの編集は服部さんというキャラでして、どの世界でもハットリという名を持つ方は優秀すぎますね。ガッデム!)</p> <p>この分析はものづくりをする上で漫画もWEBサービスも同じはず。</p> <p>もしかしたらワイは天才型の人間かもしれんしな!すまんな!<br /> すまんな君たち!<br /> ワイは自分が好きなものを好きなように作ってそれがバカスコ売れる天才なんや!<br /> 和製スティーブや!プログラミング界の新妻エイジや!<br /> お先やで!</p> <p>これが吉と出るか凶と出るかは神と両ハットリ氏のみぞ知ります。</p> <h1 id="リリース後の気になる結果は・・・"><a href="#%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E5%BE%8C%E3%81%AE%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8B%E7%B5%90%E6%9E%9C%E3%81%AF%E3%83%BB%E3%83%BB%E3%83%BB">リリース後の気になる結果は・・・</a></h1> <p>現実は甘くありませんでした。</p> <p>なんとリリースから2週間で1000PVにも行っていません。</p> <p>別に成功しなくても良いとは言ったものの何らかの手応えは欲しいところです。<br /> 誰か僕に改善案をください。</p> <p>流した涙、かいた冷や汗、溢れでる鼻水は報われませんでした。さよなら水分。</p> <p>どうやら僕は特別な人間ではなかったようです。<br /> ただの<strong>和製田中太郎</strong>でした。</p> <h1 id="このリリースで得たもの"><a href="#%E3%81%93%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E5%BE%97%E3%81%9F%E3%82%82%E3%81%AE">このリリースで得たもの</a></h1> <p>今回のリリースでたったひとつだけ得たものがあるとすればそれは</p> <p><strong>サービスはユーザーが欲しがるものをつくるべき</strong></p> <p>という失敗から得た経験則でしょう。<br /> これでようやくハットリさんと同じことが言えそうです。心から。</p> <p>もちろんこれからも自分の好きでつくりたいものをつくります。<br /> ただ、その方針と「ユーザーがほしいもの」をできるだけ絡めてつくります。</p> <p>今回はそこら辺がちょっとうまく絡み合わなかっただけです。<br /> あと「究極の選択メーカー」という<strong>長ったらしい名前</strong>がよくなかっただけです。</p> <p>とにかく、僕は、いえ僕たち個人開発者はこのままでは終われません。(勝手に個人開発者を仲間に加えました)<br /> この失敗を糧に次なるスターロード「毎月500円の不労所得」を目指すべく邁進します。</p> <h1 id="これから"><a href="#%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89">これから</a></h1> <p>とはいえ今回のサービス失敗によりとっくに僕のライフは0になってます。もうやめて!</p> <p>なので4月はサービス開発をお休みしようかなと。</p> <p>その代わり!<br /> ドット絵を勉強してポートフォリオをつくります!いえい!<br /> 待ってろよクロノ・トリガー<br /> グランドリオンよろしく伝説の武器(ポートフォリオ)を作ってやるぜ!</p> <h1 id="サービス名募集!"><a href="#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E5%90%8D%E5%8B%9F%E9%9B%86%EF%BC%81">サービス名募集!</a></h1> <p>現在サービス名を募集してます。</p> <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">「究極の選択メーカー」ってどうなんだろう?長すぎじゃねえか名前。「チョイスメーカー」とかどうだろう?なんだか軽い印象になるしハラハラ感がない。却下。・チョイス!・ドッチ!・Docchi・どっちょいす・二者択一メーカー・ニシャタクダメだ良い案が出ない( ᵒ̴̶̷̥́௰ᵒ̴̶̷̣̥̀ )</p>— ミツダマ@500円プログラマー (@mitudama) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama/status/1115251411275603969?ref_src=twsrc%5Etfw">2019年4月8日</a></blockquote> <p>いまのところ他の開発者から「うんこカレーメーカー」を推薦されてるので最悪それになるかもしれません。助けて</p> <h1 id="おわりに 〜個人開発を始める方へ〜"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB+%E3%80%9C%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B%E6%96%B9%E3%81%B8%E3%80%9C">おわりに 〜個人開発を始める方へ〜</a></h1> <p>最後に、これから個人開発をしようと思っている方へ。</p> <p>僕は個人開発にもステージがあると思ってます。</p> <p>最初から1発大儲けを目指してつくりきれる人なんかほとんどいないです。<br /> 個人開発を始めたばかりの人は、まずは「自分が楽しめるプロダクト」をワクワク開発すればいいのではないでしょうか。</p> <p>そしてつくったら僕に共有してください。絶対に触りに行きます。<strong>ゼッタイ個人開発触るマン</strong>です。</p> <p>そしてあなたが天才型じゃないなら傷を舐め合いましょう。<br /> きっと毎月500円の不労所得くらいなら到達できるはずですよ(ナメナメ)</p> <p>もしあなたが天才型ならおこぼれをもらいに行きますね。月500円でいいです。</p> <p>とにかく一緒に個人開発しましょう!楽しいよ!</p> <p>では、最後まで読んで頂きありがとうございました〜!</p> <p>月500円のサービスを得るまで〜</p> <p>やっていき💪</p> <p>あざっした!!!</p> <p><a href="https://crieit.now.sh/upload_images/faaaa2f8353b322772fde39bc69d4eb35cb491ddf12c1.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/faaaa2f8353b322772fde39bc69d4eb35cb491ddf12c1.jpg?mw=700" alt="3366d3e0-5c65-11e9-8657-614f04772b6d.jpg" /></a></p> <p>Qiitaに今回のサービスで使った技術をまとめてますのでこちらもよかったら!<br /> ▼<a target="_blank" rel="nofollow noopener" href="https://qiita.com/mitsudaman/items/e3b6b67ac284cbd8d8e9">FirebaseでTwitterログインを利用し最速で「いいね」機能をつくる 〜究極の選択をつくるサービスをリリースした話〜</a></p> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama">ツイッター</a>もよろしくです!😆</p> ミツダマ@個人開発プログラマー tag:crieit.net,2005:PublicArticle/14866 2019-03-11T23:00:35+09:00 2019-04-08T22:08:03+09:00 https://crieit.net/posts/500-WEB 月500円の不労所得を得るためにWEBサービスを開発した話(1) <p><a href="https://crieit.now.sh/upload_images/d6be87449cd8f53979942b517bac0fce5c866c6cccad9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d6be87449cd8f53979942b517bac0fce5c866c6cccad9.png?mw=700" alt="top_image.png" /></a></p> <p>こんにちわ!<a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama">ミツダマ</a>です。<br /> 毎月WEBサービスを開発して技術とノウハウうっはうは祭りを主催しています。</p> <p>1月に続いて2月にもWEBサービスを開発したことで、真の狙いである「不労所得を生み出すサービス」作りにも近づいてきました。<br /> ちなみに<a target="_blank" rel="nofollow noopener" href="https://www.haiku-maker.site/">俳句メーカー</a>といいます。</p> <p>以下報告記事です。</p> <h2 id="SNS画像シェア(OGP)系サービスとの出会い"><a href="#SNS%E7%94%BB%E5%83%8F%E3%82%B7%E3%82%A7%E3%82%A2%28OGP%29%E7%B3%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%81%AE%E5%87%BA%E4%BC%9A%E3%81%84">SNS画像シェア(OGP)系サービスとの出会い</a></h2> <p>ことの発端はワタナベさんのこの記事でした。</p> <p>▼<a target="_blank" rel="nofollow noopener" href="https://blog.nabettu.com/entry/disassembly-peing">Webサービス分解 「Peing-質問箱-」の分解</a></p> <p>簡単にいうと、OGPという仕組みを使えば</p> <ul> <li>Twitterに</li> <li>サービスのURLを投稿するだけで</li> <li>画像をシェアできる</li> </ul> <p>らしく、</p> <p>めっっっっっっっっっっっっちゃ面白そうやんけ!</p> <p>とワクワクが止まらなくなってしまったのがきっかけでした。</p> <p>やっぱり「〜したい」という思いは行動に移す上で何よりの原動力になりますね。</p> <p>普段は<strong>働きたくない</strong>と思いながら辞めさせられない程度にダラダラコード書いてるので、自発的に動き出した自分にびっくりです。おのずと死んだ魚のような目も輝きを取り戻してきます。</p> <p>さらに、他の開発者が作ったサービスを使ってみて憧れが加速します。どれくらいテンション上がっているかというとこんな感じです。</p> <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">開発でめっちゃ参考にしている方のアプリ「<a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/%E3%81%8B%E3%81%9E%E3%81%88%E3%81%A3%E3%81%9F%E3%83%BC?src=hash&ref_src=twsrc%5Etfw">#かぞえったー</a>」を使ってみた。操作も直感的でUIやデザインもシンプルで触りやすい。シェアツイート時に画像が表示されているのをみて思わずすごい!かっけぇ・・・!!と言ってしまった。この技術を自分でも使ってみたい!わくわくが止まらねぇぜ!</p>— ミツダマ@500円プログラマー (@mitudama) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama/status/1076678021082464256?ref_src=twsrc%5Etfw">2018年12月23日</a></blockquote> <p>その後幸運なことにこれまた個人開発者で有名なserinuntiusさんがQiitaに「<a target="_blank" rel="nofollow noopener" href="https://qiita.com/serinuntius/items/3017fb6ef51cd47352f6">Vue.jsとFirebaseでOGP画像生成系のサービスを爆速で作ろう</a>」というめちゃくちゃ有益な記事を上げてくれていまして、</p> <p>これならワイでもでけるかも知れへん!</p> <p>  ( ゚д゚) ガタッ<br />   /   ヾ<br /> __L| / ̄ ̄ ̄/_<br />   \/   /</p> <p>と思い立ち、早速つくることになったのでした。</p> <h2 id="ステップ1.アイデアだし"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%971.%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E3%81%A0%E3%81%97">ステップ1.アイデアだし</a></h2> <p>僕は開発をするうえで<strong>MVP</strong>(Minimum Viable Product)という考え方を重視しています。直訳すると「<strong>最小限の実行可能な製品</strong>」といったところでしょうか。</p> <p>メンドくさがりのくせに無駄に完璧主義なところがあるので一度脱線して凝りだすといくら時間があっても足りません。</p> <p>半日かけてつくっても「その機能いる!?」となって結局消すことなんて星の数ほどあります。<strong>無駄 of the 無駄</strong>です。</p> <p>なので脱線しないようにとにかく「最小限の機能を持った製品の開発」を目標にアイデアを出していきました。</p> <p>その時のアイデアがこちらです⬇︎</p> <blockquote> <p><俳ッカー><br /> ---ミニマム---<br /> ・WEB上で俳句を作れるサービス<br /> ・上の句と中の句と下の句で入力場所を分ける<br /> ・OGP画像を作成し、つぶやける<br /> ・入力したら作成ボタンを押して→ ツイッターにアップ</p> <p>---ミドル---<br /> ・集客&回遊率上げるためにランキング機能とか載っけたい<br /> ・タグはひっっっっっっっっっす!必須中の必須!タグis正義<br /> ・IT川柳<br /> ・社畜川柳<br /> ・ブラック企業川柳<br /> など<br /> ・タグをみた人が他の投稿に興味を持って飛んできてくれるの期待</p> <p>---マキシマム---<br /> ・広告入れる<br /> ・何入れればいいか分からないけどとりあえずAdsense<br /> ・優秀賞、最優秀賞とかつけたい<br /> ・コンテンツを充実させるためにどっかのAPIからデータ取得<br /> ・もしくは手動で100くらいデータ取得 (手動バッチ)</p> </blockquote> <p>シンプルの極み。逆にやるべきことが定まっていいです。</p> <ul> <li>ログイン機能</li> <li>バックエンドの開発</li> <li>データベースの設計</li> <li>いけ好かない上司との飲み会</li> </ul> <p>などなどめんどくさい仕様やモチベーションの下がる要因も削りに削っていざ開発に入っていきます。</p> <h2 id="ステップ2. つくる"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%972.+%E3%81%A4%E3%81%8F%E3%82%8B">ステップ2. つくる</a></h2> <p>この段階ではもう時間との戦いです。<br /> <strong>会社で消耗しないように働いて体力を温存</strong>しつつ、帰ってからは爆速で作ります。<br /> ちなみに自分の開発スタイルはこちら↓(かの有名な<a target="_blank" rel="nofollow noopener" href="https://mitsudaman.github.io/TSMaker/">時間割メーカー</a>で作ってます)</p> <p><a href="https://crieit.now.sh/upload_images/477fc97c66995de4e74d77ce4594fafb5c8667828d991.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/477fc97c66995de4e74d77ce4594fafb5c8667828d991.png?mw=700" alt="time_schedule.png" /></a></p> <p>まず、会社から帰ったらひと眠りして1日をリセットします。<br /> 職場のハゲ上司の顔もポンコツオーナーの戯言もここでいったん忘れるのです。無に帰すのです。</p> <p>夕寝から覚めたらご飯を食べてお風呂でアイデアや設計を考えつつ、残りの3時間で一気にやり切る。</p> <p>時間の使い方や環境など、個人開発のスタイルは人によってバラバラですよね。</p> <p>僕も少しずつ自分にあったスタイルを探しているところでして、色々試した結果覚醒スタイルを身につけてしまうこともありました。</p> <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">今まで家でPC触るときは1人でもくもくと作業してたんだけど、腰痛から立って作業するようになり、さらに音楽聴きだしてからめっちゃ足踏みしたりリズム取るようになった。もくもくとはかけ離れた作業風景。1人エンジョイしまくってる姿。たまにサビを熱唱するソロライブ。個人開発最高。</p>— ミツダマ@500円プログラマー (@mitudama) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama/status/1100392380916613123?ref_src=twsrc%5Etfw">2019年2月26日</a></blockquote> <h2 id="ステップ3. 公開"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%973.+%E5%85%AC%E9%96%8B">ステップ3. 公開</a></h2> <p>数日残してミニマムは作り終えたので、ミドル程度まで作り上げていざ公開。</p> <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">【新サービスリリース】・業界のあるあるをみつけたとき・ジェネレーションギャップを感じたとき・ブラック企業に疲れ果てたときその気持ちを17文字にまとめてみませんか?「俳句メーカー」をリリースしました!!🎉🎉🎉<a target="_blank" rel="nofollow noopener" href="https://t.co/xfdJaKbbCx">https://t.co/xfdJaKbbCx</a>俳句を気軽につくってシェアしましょう♪</p>— ミツダマ@500円プログラマー (@mitudama) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama/status/1101120383904669697?ref_src=twsrc%5Etfw">2019年2月28日</a></blockquote> <p>とはいえ特別な作業をするわけでもなく、独自ドメインを設定して「公開しました!」と宣言するだけの<strong>簡単なお仕事</strong>です。<br /> 最初から人が集まるわけもないですし完成度も低いため期待は全くしてなかったのですが、それ以上に「やりきった」ことによる達成感をいっちょまえに感じていました。</p> <h2 id="ステップ4.集客とマネタイズ"><a href="#%E3%82%B9%E3%83%86%E3%83%83%E3%83%974.%E9%9B%86%E5%AE%A2%E3%81%A8%E3%83%9E%E3%83%8D%E3%82%BF%E3%82%A4%E3%82%BA">ステップ4.集客とマネタイズ</a></h2> <p>公開まではなんとか辿り着いたものの、まだまだ作り切っただけの段階でマネタイズはおろか集客も全くできておりません。</p> <p>今後は<br /> * コンテンツを量産(俳句を自分で作る)<br /> * Qiitaに技術記事(今回学んだこと)をアップ<br /> * SEO対策<br /> * Twitterで公式アカウント作成</p> <p>などの施策をもってPVがどの程度増えていくのか効果検証して行きます。</p> <p>その後広告を貼ってどのように値が遷移するか(多分0だと思われます)を見ていき、出てきた課題は次のサービスに活かすつもりです。</p> <p>今のところ、もう少しユーザーが触りやすい環境を整えたいなと思ってますが、攻めあぐねてます。</p> <p>タグを用意したところまではいいのですが、これでは一般のユーザーが触るまでには至らないのかな、と。<br /> ここら辺は次の課題ですね!!!</p> <h2 id="感想"><a href="#%E6%84%9F%E6%83%B3">感想</a></h2> <p>当初の予定通り、2月もどうにか<strong>未知の技術を使って無事に1サービスを公開</strong>できました。<br /> おかげで先月と比べるとWEBサービス開発の知見がかなり貯まったので来月はさらに自由な開発ができそうです。これは嬉しい収穫。</p> <p>また、俳句メーカーを見てOGPのサービスをやりたいと言われてる人も発見しました。ほほえみが止まらなかったです。</p> <p>あとは周りの開発者仲間やツイッタランドのフォロワーの方がおめでとう!と言ってくれたこともとても嬉しかったです。<br /> リアルに涙を浮かべましたw おまいら・・・(´;ω;`)って感じ</p> <p>昔から僕は誰かを応援することしかできない人間でしたが、応援してもらう側に立ってみてこれほどまでにありがたいことなんだな、と。<br /> 見ず知らずの自分を祝福してくれるなんて<strong>周りの人めっちゃいい人ばかりやん</strong>と。</p> <p>しかもフォロワーでもなんでもない個人開発者の方もリツイートしてくれましたからね。<br /> ここら辺人間の温かみに触れて本当にやってよかったなぁと思ってます。<br /> アリガトウ ミンナ トモダチ</p> <p>ほんと支えてださったみなさまにはいつか成功したら恩返しとして<strong>美女二人を脇に抱えて札束のお風呂に入らせてあげたい</strong>なと思ってます。</p> <h2 id="終わりに"><a href="#%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%AB">終わりに</a></h2> <p>1月の時間割メーカー、2月の俳句メーカー、そして3月もまた新しいサービスを生み出すつもりです。<br /> 毎月成長したい分野を攻めていくので3月はUIかtwitterログインについて勉強しながらそれが活かせるサービスを考えていきます。</p> <p>期待せずお待ちいただければ幸いです!</p> <p>では、最後まで読んでいただきありがとうでした。</p> <p>月500円の不労所得を得るまで〜</p> <p>やっていき💪</p> <p>あざっした!!</p> <p><a href="https://crieit.now.sh/upload_images/8b1b973a78732f8fc02402ca6ae228545c8897b6edbe8.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8b1b973a78732f8fc02402ca6ae228545c8897b6edbe8.png?mw=700" alt="image.png" /></a></p> <p>(3/13 追記)<br /> Qiitaに今回使った技術について書いてます〜<br /> ▼<a target="_blank" rel="nofollow noopener" href="https://qiita.com/mitsudaman/items/1956b94dc8faf8fb8c59">Nuxt.js + FirebaseでOGPの仕組みを完全に理解した 〜俳句をSVGで描画するサービスをリリースした話〜</a><br /> こちらもどうぞ!!</p> <p>今後もWEB開発続けるのでよろしければ<a target="_blank" rel="nofollow noopener" href="https://twitter.com/mitudama">twitter</a>フォローしてください😆</p> ミツダマ@個人開発プログラマー