tag:crieit.net,2005:https://crieit.net/tags/%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8A/feed 「振り返り」の記事 - Crieit Crieitでタグ「振り返り」に投稿された最近の記事 2022-12-05T10:40:53+09:00 https://crieit.net/tags/%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8A/feed tag:crieit.net,2005:PublicArticle/18330 2022-12-05T05:35:35+09:00 2022-12-05T10:40:53+09:00 https://crieit.net/posts/SaaS-12-1 初のSaaSが12月で1周年なので振り返ってみた <p><a href="https://crieit.now.sh/upload_images/17513f79bbd637dff441e7cab57d2ace638d03de62032.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/17513f79bbd637dff441e7cab57d2ace638d03de62032.png?mw=700" alt="OGP_お知らせ (1).png" /></a></p> <p>※これは<a target="_blank" rel="nofollow noopener" href="https://qiita.com/advent-calendar/2022/individual-developers">個人開発 Advent Calendar 2022</a>のカレンダー2/5日目の記事です。</p> <p>個人開発でいろいろ作ってきたけど、<br /> 去年の12月にはじめてSaaSをリリースしました。</p> <p>ちょうど1年経ったので、少し振り返ってみる。<br /> 12月はいろんな記事が出てくるので、少し触発されました(<em>´ω`</em>)</p> <p>GoogleスプレッドシートのJSON API化サービス</p> <p><a target="_blank" rel="nofollow noopener" href="https://sssapi.app/">https://sssapi.app/</a></p> <h2 id="どんなサービス?"><a href="#%E3%81%A9%E3%82%93%E3%81%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%EF%BC%9F">どんなサービス?</a></h2> <p>スプレッドシートのJSON APIをつくれるごくごくシンプルなサービス。</p> <p>スプレッドシートのURLを登録すると、<br /> 中身をJSONで受け取れるAPIを作れます。</p> <p>検索・絞り込み・ページングなどAPIでよくつかう機能や、<br /> ネストオブジェクトへの変換などいくつか変換機能、<br /> 外部API呼び出しやGitHub Actionsとの連携機能などなども用意。</p> <h2 id="どうして作ったの?"><a href="#%E3%81%A9%E3%81%86%E3%81%97%E3%81%A6%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%EF%BC%9F">どうして作ったの?</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/kira_puka/articles/f9496a6a847799">β版リリース時の記事</a>でもいろいろ書いたけど、<br /> スプレッドシートをJSON化する方法はいくつか既存のサービスでは少し使いにくいな。。と思うことがあった。</p> <h3 id="既存のサービスでの課題"><a href="#%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A7%E3%81%AE%E8%AA%B2%E9%A1%8C">既存のサービスでの課題</a></h3> <p>ちょっとしたJSON APIを作る方法はいくつかあるけど、<br /> 実際のサービスで利用しようとした場合、すこし気になることが。。</p> <ul> <li>GAS <ul> <li>レスポンスが遅い/同時実行数などの制限がある</li> <li>シートごとに準備が必要/どこで使ってるかわからなくなる</li> <li>リッチな検索の実装がめんどくさい</li> </ul></li> <li>ヘッドレスCMS <ul> <li>個人・小規模・開発初期では手を出しにくい価格</li> <li>機能がリッチだけど、初期ではなくていいものも多い</li> </ul></li> <li>スプレッドシートDB関連サービス <ul> <li>必要な権限が多い</li> <li>プライベートなAPIは作れない</li> </ul></li> </ul> <p>資金が潤沢であればヘッドレスCMSがよい選択だけど、<br /> 試作段階で、いきなり手を出すのはなかなか厳しいお値段。。</p> <p>GASやスプレッドシートDB関連サービスは、<br /> 個人利用なサービスや学習用ではよいけど、<br /> 実サービスではなかなか厳しい制約。。</p> <p>もう少しお手軽で実サービスでも利用できるものがほしいと思い、<br /> このサービスを作りはじめることに。</p> <h3 id="スプレッドシートをDBにするときの懸念"><a href="#%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92DB%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E6%87%B8%E5%BF%B5">スプレッドシートをDBにするときの懸念</a></h3> <p>多くの競合サービスは直接スプレッドシートに接続しているけど、<br /> 実際にスプレッドシートをDBにすることを考えたときに、<br /> いくつか気になる点が。。</p> <ul> <li>トランザクションがない -> データ壊れる可能性</li> <li>編集中のリクエストも受け付ける -> 不正なJSONを返すの可能性</li> <li>Sheets APIが必要 -> 実サービスだとつらい遅さ</li> </ul> <p>作ったサービスが(万が一でも)大ヒットしたときに、<br /> データが壊れたり、意図しないレスポンスになるのは、<br /> かなりつらい。。</p> <p>そのため、任意のタイミングのスプレッドシートでAPIを更新でき、<br /> 読み込み専用のAPIのみとする、いまの方針になりました。</p> <h2 id="1年やってみてどうだった?"><a href="#1%E5%B9%B4%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%A9%E3%81%86%E3%81%A0%E3%81%A3%E3%81%9F%EF%BC%9F">1年やってみてどうだった?</a></h2> <ul> <li>予想以上に利用されてた!!</li> <li>エンジニア以外の人の利用が多い!!</li> <li>企業での利用が多い!!</li> </ul> <p>自分と同じような個人開発者をイメージしていたので、<br /> かなりびっくり。。うれしい悲鳴。。(*´ω`*)<br /> 年プランの購入もあり、黒字で運営できてる。ありがたい。。(*´ω`*)</p> <p>CloudFlareの障害のときは気が気じゃなかった。。</p> <h3 id="マッチするユーザ"><a href="#%E3%83%9E%E3%83%83%E3%83%81%E3%81%99%E3%82%8B%E3%83%A6%E3%83%BC%E3%82%B6">マッチするユーザ</a></h3> <p>アンケートやインタビュー、利用データを見ていると、こんな感じに(*´ω`*)</p> <ul> <li>スプレッドシートを介したコラボレーション <ul> <li>エンジニア以外がデータを操作しやすい</li> </ul></li> <li>お知らせなどを極小のコンテンツをあとづけしたい <ul> <li>単純なものを素早く作れる</li> </ul></li> <li>スキーマが決まってない開発初期 <ul> <li>データからスキーマが作成できる</li> </ul></li> </ul> <p>特に、スプレッドシートは多くの人が見慣れているので、<br /> データを作る人に管理画面の操作方法を説明しなくてもよく、<br /> 共有も共同編集も簡単にできるというのが強みのよう。</p> <p>また、スキーマをあらかじめ用意しなくてよく、<br /> 列を追加すると自由に変更できるのでプロトも素早くできる。</p> <h3 id="マッチしないユーザ"><a href="#%E3%83%9E%E3%83%83%E3%83%81%E3%81%97%E3%81%AA%E3%81%84%E3%83%A6%E3%83%BC%E3%82%B6">マッチしないユーザ</a></h3> <p>逆にマッチしないユーザとしては、<br /> スプレッドシートをDBとして使いたいエンジニア。</p> <p>やはり、書き込みができない、すぐに反映されないのは、<br /> かなりネックなため、刺さらない感じだった。。</p> <p>とはいえ、DBとして使う懸念があるので、<br /> 妙案が出るまで少し難しいことを思っている。。</p> <h2 id="振り返り(というなの後悔&反省)"><a href="#%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8A%28%E3%81%A8%E3%81%84%E3%81%86%E3%81%AA%E3%81%AE%E5%BE%8C%E6%82%94%EF%BC%86%E5%8F%8D%E7%9C%81%29">振り返り(というなの後悔&反省)</a></h2> <p>うれしかったことも多かったけど、<br /> 「こうしとけばよかった。。」の日々(´・ω・`)</p> <h3 id="ユーザとのコミュニケーション"><a href="#%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%A8%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">ユーザとのコミュニケーション</a></h3> <p>機能の開発はずっとやってきたけど、<br /> マーケティングは考えていなかった。。</p> <p>リリースしたはいいものの、フィードバックを受けたり、<br /> 何かを個別に伝えたりというのが難しい状態に。。</p> <p>以下のようなものが必要だと感じた。<br /> さらにサイト上とメールなどのサイト外でやり取りできるとよい。</p> <ul> <li>運営 -> 全体 <ul> <li>サイト内: お知らせ・更新履歴のページ</li> <li>サイト外: メーリングリスト</li> </ul></li> <li>運営 <ul> <li>サイド内: フィードバックフォーム</li> <li>サイト外: お問い合わせフォーム/メール</li> </ul></li> <li>運営 -> 個別 <ul> <li>サイト内: (現状なし。例:個別のお知らせ)</li> <li>サイト外: メール</li> </ul></li> <li>運営 個別 <ul> <li>サイト内: (現状なし。例:チャット)</li> <li>サイト外: メール</li> </ul></li> </ul> <p>当たり前のことだけど、機能の開発が優先になってしまっていた。。<br /> 機能は最低限でもいいけど、<br /> ユーザとやり取りできる部分はあらかじめ用意できていると良かった。。</p> <h3 id="統計データの収集"><a href="#%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%8F%8E%E9%9B%86">統計データの収集</a></h3> <p>これもマーケティング関連。</p> <p>リリースして終わりではなく、なにを改善すべきかを把握する必要があるが、<br /> こんなに利用される想定ではなかったので、かなり後回しに。。</p> <p>最低限でも仕込んでおけば、かなり改善を早く回せた気がする。</p> <p>特に、Twitterでのコメントと、実際の利用データとはかなりの乖離があるので、<br /> もっとはやく実データを見て判断できる基盤を用意しておけばよかった。。</p> <h3 id="個人利用の想定"><a href="#%E5%80%8B%E4%BA%BA%E5%88%A9%E7%94%A8%E3%81%AE%E6%83%B3%E5%AE%9A">個人利用の想定</a></h3> <p>想定ユーザが自分自身であったので、<br /> 複数人でがっつり利用されるのを想定しなかった。。</p> <p>フタを開けてみると、企業での利用や、<br /> エンジニア/非エンジニアとのコラボレーションが多い。</p> <p>そういった場合、プロジェクトやワークスペースみたいな、<br /> 複数人で共同編集できる構成が必要。</p> <p>そうしておくことで、メンバーを招待したりもできるので、<br /> バイラル効果も期待できる。</p> <p>特にSaaSの場合はマルチテナントな構成で組んでおけばよかった。。<br /> (新機能として実装中...)</p> <h3 id="料金プラン設計"><a href="#%E6%96%99%E9%87%91%E3%83%97%E3%83%A9%E3%83%B3%E8%A8%AD%E8%A8%88">料金プラン設計</a></h3> <p>個人利用の想定も絡んでいるけど、<br /> アカウント単位のシンプルな3プランだけにしていた。<br /> (しかもかなり手を出しやすい価格...)</p> <p>この設計の場合、なかなか収益を増やすのが難しい。。<br /> ランニングコストがかかるリッチな機能も開発しにくい。</p> <p>また、APIがたくさん作りたい人と行数をたくさん増やしたい人がいて、<br /> ニーズにあうプランがないことも多い。</p> <p>今回のサービスの場合は、ある程度、好きなプランにできるよう、<br /> ユーザがカスタマイズできる構成で組んでおけばよかったと思う。</p> <p>とはいえ、ユーザが無駄に費用をかけなくていいように、<br /> 無料で試せて、小さくはじめて、大きく伸ばせる、<br /> みたいな仕組みにしておくと個人的にはとっつきやすい。</p> <h3 id="その他もろもろ"><a href="#%E3%81%9D%E3%81%AE%E4%BB%96%E3%82%82%E3%82%8D%E3%82%82%E3%82%8D">その他もろもろ</a></h3> <p>書きはじめるときりがないけど、ほかにもいろいろと。。</p> <ul> <li>より積極的なインタビュー/事例収集</li> <li>大きな更新よりも小さくても定期的な更新&お知らせ</li> <li>UIフレームワークは利用を控える/移行つらい</li> <li>広告は少額だと微妙かも/ある程度の金額なら効果的</li> <li>記事募集やクーポン配布は効果薄いかも</li> </ul> <p>はやく小さくリリースするのも大事だけど、<br /> こういったサービスの場合には、<br /> マーケティング関連や共同利用の想定ももっと想定しておけばよかった。。</p> <h2 id="今後は?"><a href="#%E4%BB%8A%E5%BE%8C%E3%81%AF%EF%BC%9F">今後は?</a></h2> <p>まずは後悔している部分の対応と使い勝手を向上していく。</p> <p>あとはNuxt3がリリースされたので、Buetfyを剥がしつつ、<br /> すこしずつ移行している感じ。</p> <p>シンプルさを保ちつつ、よりサクッと便利なサービスになるよう、<br /> 少しずつでも長く運営できるようがんばります(*´ω`*)!!</p> <p>ご興味がある方も無い方も一度はぜひぜひ〜(*´ω`*)</p> <p><a href="https://crieit.now.sh/upload_images/f4d68ff5b3ff8494cd994b7c45ad4257638d046a36eb3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f4d68ff5b3ff8494cd994b7c45ad4257638d046a36eb3.png?mw=700" alt="ogp_1syuunen_2.png" /></a></p> <p>GoogleスプレッドシートのJSON API化サービス<br /> <a target="_blank" rel="nofollow noopener" href="https://sssapi.app/">https://sssapi.app/</a></p> <h2 id="参考になった本"><a href="#%E5%8F%82%E8%80%83%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E6%9C%AC">参考になった本</a></h2> <p>マーケティングの本が多め。どう理解してもらい、どう広めていくかの学びが多い。。</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4799327844/tsundoku-hm-22">PLG プロダクト・レッド・グロース「セールスがプロダクトを売る時代」から「プロダクトでプロダクトを売る時代」へ</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/479815816X/tsundoku-hm-22">THE MODEL(MarkeZine BOOKS) マーケティング・インサイドセールス・営業・カスタマーサクセスの共業プロセス</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/462108786X/tsundoku-hm-22">Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4408650056/tsundoku-hm-22">スモールビジネスの教科書</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4320023684/tsundoku-hm-22">ライト,ついてますか: 問題発見の人間学</a></li> </ul> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/16553 2021-01-07T12:21:17+09:00 2021-01-07T12:22:06+09:00 https://crieit.net/posts/YWT 振り返り方 YWT(やったこと、分かったこと、次やること) <h1 id="YWT(やったこと、分かったこと、次やること)とは?"><a href="#YWT%EF%BC%88%E3%82%84%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%80%81%E5%88%86%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%80%81%E6%AC%A1%E3%82%84%E3%82%8B%E3%81%93%E3%81%A8%EF%BC%89%E3%81%A8%E3%81%AF%EF%BC%9F">YWT(やったこと、分かったこと、次やること)とは?</a></h1> <p>ふりかえりでは、「過去の行動」「学び」「次の行動」の3つを考えますそのためには、YWT(やったこと、わかったこと、つぎやること)というフレームワークをつかいましょう</p> <hr /> <h3 id="YWTの使い方はとてもシンプル!"><a href="#%EF%BC%B9%EF%BC%B7%EF%BC%B4%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%E3%81%AF%E3%81%A8%E3%81%A6%E3%82%82%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%EF%BC%81">YWTの使い方はとてもシンプル!</a></h3> <p><strong>Y(やったこと)</strong> として、1日に起こった出来事や、自分自身で意識的に取り組んだことなど、どんな些細なものでもよいので書き起こす!<br /> Y(やったこと)から、なにを感じたか、どんな学びがあったか、どんな教訓を得たかという<strong>W(わかったこと)</strong> を書き出しW(わかったこと)から <strong>T(つぎやること)</strong> としてその学びをどう活かすかを考え、書き出そう!</p> Ususuke tag:crieit.net,2005:PublicArticle/16455 2020-12-31T23:54:24+09:00 2021-01-29T17:43:58+09:00 https://crieit.net/posts/review2020-20201231 2020年の振り返り <p>今年は去年よりも余裕がなく。</p> <h2 id="ツール・技術"><a href="#%E3%83%84%E3%83%BC%E3%83%AB%E3%83%BB%E6%8A%80%E8%A1%93">ツール・技術</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/mercari/dietcube">DietCube</a> (1月~) <ul> <li>MVC の PHPフレームワーク を漸く使えた感じ。 DI も概ね理解できたと思います。今年はバックエンドはこれをメインに構築していました</li> <li>phpmig, FaaPz/PDO, Guzzle</li> </ul></li> <li><code>wp-env</code> (3月、9月) <ul> <li>wp-envを試すなど: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/03/08/wp-env-json-test/">`.wp-env.json`を試す</a> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/09/07/wp-env-customized-error-3/">(完) `wp-env` で英語以外のコアを指定して `wp-env start` するとエラーが出力される</a></li> </ul></li> <li>最初は日本語版 WordPress を指定すると npm scripts と連動が上手くできませんでしたが、後に解消</li> </ul></li> <li>XAMPP <ul> <li>PHPのアップデートを実施(2月): <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/02/24/xampp-php-update/">XAMPPのPHPのバージョンをアップグレードする ( 7.1.7 → 7.4.3 )</a></li> </ul></li> <li>CentOS8 (2月) <ul> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/02/23/centos8-lamp-install-note/">CentOS8 をインストールして遊んでみる</a> (2月) <ul> <li>ただし、 CentOS が方針転換したので今後使用するかは微妙ですね…… <ul> <li>参考: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/12/16/centos_life_cycle/">CentOSの開発方針変更メモ、他</a></li> </ul></li> </ul></li> </ul></li> <li>React Static (6月) <ul> <li>少しだけ: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/06/14/react-static-test/">React Staticを試してみる</a></li> </ul></li> <li>React (6月~) <ul> <li>こちらも少しだけ。ただ、以前 Vue.js をやっていたおかげで考え方を流用してさっと押さえられたのは良かったと思います: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/07/02/react-scripts-cross-env-react-easy/">react-scripts + cross-env で簡単に React をサブディレクトリにデプロイする</a></li> </ul></li> <li>validatorjs, Valitron (8月) <ul> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/08/16/make_custom_rules_validatorjs_and_valitron/">`validatorjs` と `Valitron` のカスタムルールを作成する</a></li> </ul></li> <li>chokidar (8月) <ul> <li><code>gulp-watch</code> と <code>gulp.watch</code> を見ていくうちに chokidar について勉強できたのは良い経験でした: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/08/01/gulp-watch-ignore-behavior-note/">`gulp-watch` の第二引数 `options` の `ignore` の挙動について (不完全メモ)</a></li> </ul></li> <li>phpMyAdmin (11月) <ul> <li>今更ではありますが: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/02/phpmyadmin_verification/">phpMyAdmin のインストールと動作検証</a></li> </ul></li> <li>Dart Sass (11月~) <ul> <li>LibSass から Dart Sass への乗り換えを実施。 Ususama も乗り換えました: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/09/scss_transfer_libsass_dartsass/">LibSass から Dart Sass への乗り換え</a></li> </ul></li> <li>Webpack (11月~) <ul> <li>こちらも Ususama を <code>gulp-uglify-es</code> から <code>webpack-stream</code> に乗り換えました: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/24/gulp4-webpack5-terser-webpack-plugin-error-resolutions/">続・ Gulp 4 + Webpack 5 を試す (resolutions 使用)</a></li> </ul></li> <li>Jest (11月) <ul> <li>少しだけ。来年は使いこなしたいですね: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/21/jest_test/">Jest を触ってみる</a></li> </ul></li> <li>BackstopJS (11月~12月) <ul> <li>ビジュアルリグレッションテストツールとして検討。ただしメインビジュアルを <code>vh</code> 指定していたり、縦長ページだったり、スクロールによって表示する要素があったりすると上手く動かず挫折 <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/test_backstop_randa_back_stopper_2">test_backstop_randa_back_stopper_2</a> <ul> <li>基本的に決め打ちテンプレートの JSON ファイルと、逐次プロジェクトごとに設定を変更する部分を担当する YAML ファイルで設定を切替しやすくして、それらを <code>config.js</code> でパラメータとして渡しつつ動作させる、という仕組み自体はそこそこできていただけに残念……</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/12/16/backstop_trial_and_error/">BackstopJS で背景画像の高さを `vh` 単位で指定したページで画像やスクリーンショットが引き伸ばされる現象についてメモ (未解決)</a></li> </ul></li> </ul></li> </ul> <h2 id="環境・サービス"><a href="#%E7%92%B0%E5%A2%83%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9">環境・サービス</a></h2> <ul> <li>Twitter API <ul> <li>API申請したり(2月)。<a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/02/16/request-twitter-api/">Twitter APIの申請(2020/2/11現在)</a></li> </ul></li> <li><a href="https://crieit.net/users/arm-band">Crieit</a> (11月~) <ul> <li>10月に Qrunch がサービス終了してしまったので引っ越しを。</li> </ul></li> </ul> <h2 id="自作"><a href="#%E8%87%AA%E4%BD%9C">自作</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/dietcube-kyokotsu">arm-band/dietcube-kyokotsu</a> <ul> <li>スケルトンプロジェクトをフォークしてボイラープレート化</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="http://scrunchy56.starfree.jp/chigaeshi/">Chigaeshi</a> <ul> <li>とあるURLのリスト。 React で作成。<a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/04/08/chigaeshi-react/">React.js+Material UI+axiosでJSONデータを読み込んで表示させるペライチなページを作る</a></li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/07/12/twitter-favorite-manager-with-oauth/">Twitter のいいねを解除するアプリを作る</a> <ul> <li>Twitter API を利用して。 user context について理解を深めることができました</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/giffard_preflight">giffard_preflight</a> (10月) <ul> <li>CORS と preflight request の検証のための実験ツール。 React と DietCube で作成: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/10/13/cors_preflight_request_verification/">CORS の挙動の観察と preflight request の検証</a></li> </ul></li> <li>Ansible系 (10月~) <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/philotic_moby_test">philotic_moby_test</a> (10月) <ul> <li>Ansibleコントロールノード を Dockerコンテナ として構築するテスト。サーバにインストールされているパッケージ一覧を取得: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/10/22/build_docker_container_as_ansible_controller/">Ansibleコントロールノード を Dockerコンテナ でビルドし、リモートサーバに公開鍵認証でSSH接続してインストール済みのパッケージの一覧を取得するまで</a></li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/philotic_moby_apache_vsftpd">philotic_moby_apache_vsftpd</a> (12月) <ul> <li>Linuxユーザを作成してFTPユーザとし、 Apache の仮想サイトを作成する Ansibleプレイブック等。 Docker 使用: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/12/04/ansible_settings_vsftpd_and_apache/">Ansible を使って FTPユーザの作成と Apache の仮想サイトの設定をする</a></li> </ul></li> </ul></li> <li><code>wp-env</code> (9月) <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/wp_geidon">wp_geidon</a> <ul> <li><code>wp-env</code> を使用した最小限の開発環境</li> </ul></li> </ul></li> <li>WordPress プラグイン <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/wp_plugin_screaming_head">wp_plugin_screaming_head</a> (11月) <ul> <li>WordPress の <code>head</code> タグの中を整理するプラグイン(※設定画面付き): <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/19/wordpress_plugin_clean_head/">WordPress の head タグの中を整理するプラグイン (設定画面付き) の自作</a></li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/arm-band/wp_plugin_furusoma">wp_plugin_furusoma</a> (11月) <ul> <li>管理者画面(記事編集画面、投稿一覧ページでの簡易編集画面)でカテゴリーのチェックボックスを非表示にする簡易なプラグイン: <a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/20/wordpress_plugin_hidden_category_only_adminpage/">WordPress の管理画面内のみ特定の投稿のカテゴリを非表示にするプラグイン</a></li> </ul></li> </ul></li> </ul> <p>この他新技術を試すためのサンプルページやブラウザの挙動の検証のためのサンプルページを多数。</p> <ul> <li>css counter: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/counter_reasons/">Abstract - Reasons</a></li> <li>Firefox の <code>table</code> タグの検証: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/table-on-firefox/">Table at Firefox</a></li> <li>テキストの文字色と枠線の色が同色の場合の縁取りのテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/text-facing-ghasty-dream/">Home - Ghastly Dream</a></li> <li>React で虹と青色のページを: <a target="_blank" rel="nofollow noopener" href="http://scrunchy56.starfree.jp/rs_rainbow/">Everything is gonna be okay / MAKE IT BLUE</a></li> <li>ステップ(パンくず、フローチャート)関係のサンプルページ: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/twelve-step-suite/">Home - Twelve</a></li> <li>チェックボックスのカウントテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/okitsuhiko_checkbox_test/">Kamado - Okitsuhiko</a></li> <li>Bootstrap 4 のスイッチを大きくするテス: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/switchon_airget-lamh_test/">Home - Switch-on Airget-lamh</a></li> <li>スクロールしたときにアイキャッチ画像が一瞬引き伸ばされる現象の検証: <a target="_blank" rel="nofollow noopener" href="http://scrunchy56.starfree.jp/inspect_vampire_stretch/">Home - Vampire Stretch</a></li> <li>スクロールバーのカスタマイズのサンプルです。Chrome系(webkit)のみ。: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/test_sucrose_bar/">Sucrose Bar - 棒砂糖</a></li> <li>Dart Sass で Bootstrap4 の変数を上書きできるかテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/test_bootstrap_blackout/">Black in me - Black! - Blackout</a></li> <li>マウスストーカーのテスト: <a target="_blank" rel="nofollow noopener" href="http://scrunchy56.starfree.jp/vampire_stoker_last/">Home - Vampire Stoker</a></li> <li>Slick のテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/test_slick/">Home - Slick Test</a></li> <li>タブとアンカーリンクのテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/test_tab_tabloid/">Home - Tab-loid</a></li> <li>Intersection Observer API のテスト: <a target="_blank" rel="nofollow noopener" href="https://arm-band.github.io/test_santa_cross/">Graharaja Santa Cross</a></li> </ul> <p>単純に作った数で言うと結構な数になる気がします。</p> <h2 id="イベント"><a href="#%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88">イベント</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/09/07/wordcamp-ogijima-2020-online/">WordCamp Ogijima 2020 Online 参加レポート</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://labor.ewigleere.net/2020/11/28/gunma-wordpress-meetup-5/">第5回 群馬 WordPress Meetup オンライン参加レポート</a></li> </ul> <p>今年は新型コロナウイルスの影響でイベントが総崩れしたので仕方なし。第5回 群馬 WordPress Meetup で発表した内容も3月のものでしたし。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>いつも以上にフロント、バック、インフラと上から下まで手を出している範囲が広い一年だった気がします。</p> <p>フロントで言えば去年は Vue.js だったのですが、今年は React系 に手を出したのが大きなハイライトでしょうか。あと、じっくり腰を据えて取り組んだのが CORS, preflight request と chokidar の学習。</p> <p>つい最近ですが、 Sass を Dart Sass に切り替えたのも大きなハイライトですね。まあ、公式で LibSass が deprecated と言われてしまったのでやむなしですね。</p> <p>Ususama の処理も Dart Sass に切り替えました。また、 JS 側は Webpack に切り替えました。これも何気に大きな変化ですね。</p> <p>バックエンドは DietCube をベースにあれこれ作りました。 DI の理解が大きなハイライトだったかと。</p> <p>インフラで言うと Docker をそこそこ使い始めていて、 <code>wp-env</code> でもそうですが、 Ansibleコントローラ として使ったりと起用が目立ちました。</p> <p>Ansible 自体は 2017年くらいに一度触ったことがあったのですが、自分で設定したい内容のプレイブックを作成したのは今年が初めてで、実際に何度か動かして作業の効率化を図ることができました。</p> <p>他、ブラウザの不具合っぽいものや新しい技術を試すためのテスト・サンプルページを多数。</p> <p>OSS でいうと、些細なところですがいくつか Issues やプルリクを送ったのも一応活動にはなったかと。</p> <hr /> <p>イマイチまとめきれてない気もしますが、時間も無くなってきたのでこんなところで。</p> arm-band tag:crieit.net,2005:PublicArticle/16452 2020-12-31T17:34:56+09:00 2021-01-03T02:22:37+09:00 https://crieit.net/posts/summarize-2020 📔 2020年の振り返り <h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1> <p>今年は結果的にプライベートと仕事の両面で充実した年にできました。来年の自分が今を振り返れるように、今年始めからの記憶を引っ張り出しながら総括しました。</p> <p>今年問わず作ったものは <a target="_blank" rel="nofollow noopener" href="/tech/">Tech</a> ページに、技術記事については <a target="_blank" rel="nofollow noopener" href="/rss_feeds/">RSS Feeds</a> にまとめてあります。</p> <h1 id="出来事"><a href="#%E5%87%BA%E6%9D%A5%E4%BA%8B">出来事</a></h1> <h2 id="1月"><a href="#1%E6%9C%88">1月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://note.com/nikaera/n/n859dac693e73">Death Stranding のプラチナ獲得</a></li> <li>弊社に面接にいらっしゃったベテラン開発者の方に何でうちに応募してくださったのか聞いたら、僕の Twitter や Qiita アカウントを見てくださり技術力がありそうと判断してくれたからと聞いて爆嬉しかった</li> <li><a target="_blank" rel="nofollow noopener" href="https://twitter.com/n1kaera/status/1227047114166820870?s=20">ambr オフ会参加 (オフィシャルなオフ会に初参加)</a></li> <li>Quest 用アプリケーションの初リリース体験実績解除 <ul> <li>申請時の知見の一部については <a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/4adaa276e6115c7aa95b">Qiita 記事</a> として投下</li> </ul></li> <li>Android で AR アプリケーションの開発及び、マルチプレイを可能にするバックエンド開発を担当した</li> </ul> <h2 id="2月"><a href="#2%E6%9C%88">2月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/30e1c7981aecbdc07e9e">Docker で各種モバイル VR 向けの Unity ビルドが出来るようにした</a></li> <li>フルリモートでアジャイルな開発チームにジョインする (WebView/ReactNative/iOS/Android) <ul> <li>主は ReactNative の iOS/Android のネイティブプラグイン開発</li> <li>コア機能の実装にのみ注力しパフォーマンスチューニング等々を行っていたためポジション的にはひたすら地味だった</li> </ul></li> </ul> <h2 id="3月"><a href="#3%E6%9C%88">3月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://note.com/nikaera">note</a> デビューした <ul> <li>初投稿は <a target="_blank" rel="nofollow noopener" href="https://note.com/nikaera/n/na290d203aa5a">精神衛生を保つため Chrome で Twitter を閲覧している時にフォロワー数を非表示にする</a> っていうやつ</li> </ul></li> <li>お題が「Home」の <a href="https://crieit.net/boards/web1week-202003">web1week</a> に参加した <ul> <li>参加した時に投稿した記事は<a href="https://crieit.net/boards/web1week-202003/661fc53a1809d108713c0ebcb2e0ab17">こちら</a></li> </ul></li> </ul> <h2 id="4月"><a href="#4%E6%9C%88">4月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://medium.com/kadinche-engineering">会社の Medium ブログ開設</a> したのと、いくつか記事を寄稿した <ul> <li><a target="_blank" rel="nofollow noopener" href="https://medium.com/kadinche-engineering/azure-kinect-dk-%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%8B%E3%82%89-kinectfusion-%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7-cd7d550994fe">Azure Kinect DK の開発環境構築から KinectFusion のサンプルを動かすまで</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://medium.com/kadinche-engineering/%E6%9C%80%E7%9F%AD%E3%81%A7-magic-leap-1-%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B-f1cf41864dde?source=collection_home---6------6-----------------------">最短で Magic Leap 1 の開発環境を構築する</a></li> </ul></li> <li>色々工夫して iPhone TrueDepth を WebRTC でブラウザに転送して、Three.js で表示する仕組みを実現した <ul> <li><a target="_blank" rel="nofollow noopener" href="https://twitter.com/n1kaera/status/1248933812530118656?s=20">Twitter でシェア</a> してみたら、予想だにしないことに一方的に尊敬していたエンジニアの方々からいいねを貰えてモチベが爆上がりした</li> </ul></li> <li>CloudFormation と和解。IaC の利便性を完全に理解し始める</li> <li>今更 SEKIRO にハマりまくる & <a target="_blank" rel="nofollow noopener" href="https://twitter.com/n1kaera/status/1255211139371134976?s=20">プラチナトロフィー獲得</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://note.com/nikaera/n/n859dac693e73">デス・ストランディングから学んだこと</a> が現在の自分の考え方の基礎として根付き始める <ul> <li><strong>全ての考え方を 0 or 1 ではなく、グラデーションにハメ込むことが出来るようになった</strong></li> </ul></li> </ul> <h2 id="5月"><a href="#5%E6%9C%88">5月</a></h2> <ul> <li>再びお題が「Like」の <a href="https://crieit.net/boards/web1week-202005">web1week</a> に参加した <ul> <li>参加した時に投稿した記事は<a href="https://crieit.net/boards/web1week-202003/30DaysSongChallenge-30">こちら</a> (あとから確認したら投稿先を間違えていた...)</li> </ul></li> <li>Medium に目次が無いことに不満をいただき <a target="_blank" rel="nofollow noopener" href="https://chrome.google.com/webstore/detail/toc-of-medium/jcpcpidaogolhkcapgdiblaeglijmhaa?hl=ja">Chrome プラグイン</a>を作成する <ul> <li><a target="_blank" rel="nofollow noopener" href="https://medium.com/@nikaera/chrome-extension-for-creating-a-toc-for-medium-8c8d344313fe">プラグインの紹介記事</a> まで書いてたけど全くインストール数伸びなかった、、けど今みたら 12人ほど使ってくれている人いるぽくて嬉しい</li> </ul></li> <li>お題が「密」の unity1week に <a target="_blank" rel="nofollow noopener" href="https://unityroom.com/games/seimitsu">参戦した</a></li> </ul> <h2 id="6月"><a href="#6%E6%9C%88">6月</a></h2> <ul> <li>S3 + EventBridge + CloudWatch + CloudFront + MediaLive + MediaPackage + AppSync + Amplify + DynamoDB + Cognito + Lambda + API Gateway + SSM という AWS ガッツリなインフラ構築から、バックエンド開発及び iOS アプリ開発までをおもむろに始めた <ul> <li>まず <a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/c4a4c2f5eb74b5732294">DynamoDB の仕様にハマる</a> (自分のリサーチ & 勉強不足によるせい...)</li> <li>つぎに <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/nikaera/articles/cloudfront-for-mediapackage">MediaPackage + CloudFront の構築</a> に苦戦する</li> <li>そしてデバッグが辛くなり <a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/27c1ba5f8fd2e61425c4">Serverless Framework でエラーを検知して Webhook で Slack に通知を飛ばす方法</a> を実践し始めたりしていた</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://third.shenmue.com/">シェンムー3</a> のプレイを開始。<a target="_blank" rel="nofollow noopener" href="https://twitter.com/n1kaera/status/1298642734912163842?s=20">ワクワクするし美しすぎる町並み</a>に興奮し、しばらくの間深夜までプレイする日々が続く</li> <li>映画の <a target="_blank" rel="nofollow noopener" href="https://hello-world-movie.com/">HELLO WORLD</a> を見て、劇中 3回号泣する <ul> <li>元々は <a target="_blank" rel="nofollow noopener" href="https://jp.gamesindustry.biz/article/1909/19093002/">Unity で作られたシーンがあるという記事</a> を見て興味を持ち見ようと思い立った感じだった</li> </ul></li> </ul> <h2 id="7月"><a href="#7%E6%9C%88">7月</a></h2> <ul> <li>ひたすらトラブルバスターしてた (一番忙しかった気がする)</li> </ul> <h2 id="8月"><a href="#8%E6%9C%88">8月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.playstation.com/ja-jp/games/ghost-of-tsushima/">Ghost of Tsushima</a> にハマりまくる & <a target="_blank" rel="nofollow noopener" href="https://twitter.com/n1kaera/status/1290268995912794117?s=20">プラチナトロフィー獲得</a></li> <li>DDD 開発の際、DI コンテナ入れたいよねっていう話から TypeScript 環境で利用可能なライブラリを調査して <a target="_blank" rel="nofollow noopener" href="https://github.com/inversify/InversifyJS">InversifyJS</a> と <a target="_blank" rel="nofollow noopener" href="https://github.com/microsoft/tsyringe">tsyringe</a> を見つける <ul> <li>最初 InversifyJS を発見してそれで開発をしていたものの、microsoft 製の tsyringe を発見し、「メンテナが大手だしコンストラクタインジェクションだけしか使わないし、こっちのが良くね?」という話になり InversifyJS から tsyringe へのリライト作業を行う...w</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#example_S3_CopyObject_shared00">AWS SDK for Go</a> で関数の引数と返り値を Type で定義するっていう考え方は非常に参考になった <ul> <li>引数が <code>*Input</code> という定義で、返り値が <code>*Output</code> という定義で分かりやすく読みやすい</li> </ul></li> <li>自作 iOS ライブラリの CocoaPods 対応について C++ 周りの linker error に対する解決のためのアドバイスを急ぎ求められたので、<strong>共有された情報から自分がハマった経験に照らし合わせてソレっぽい対策案を共有したらガチッとハマって解決でき、経験が生きた感がめっちゃあって、めちゃくちゃ嬉しかった</strong></li> </ul> <h2 id="9月"><a href="#9%E6%9C%88">9月</a></h2> <ul> <li>フライパンでコーヒーの焙煎を始める <ul> <li>チャフの飛散に苦しめられるが、風呂場で作業することで諸々ストレスフリーになる</li> <li>このときはまだ、後ほど焙煎機を購入することになるとは夢にも思わなかったのである...</li> </ul></li> <li>Azure を用いた開発に本格的に携わり始める <ul> <li>その際得た知見は Zenn で <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/nikaera/books/nestjs-azure-dev">本としてまとめた</a>。本来は記事として書くつもりだったが、分量が増えすぎたため記事内容を分割して、本としてまとめた</li> <li>PlayFab CloudFunctions のための関数実装のために Azure でシステム構築していたため、PlayFab にもそれなりに詳しくなる</li> </ul></li> <li>とある案件から別案件に移る際に、 <strong>「えー、〇〇 に行っちゃうんですか。nikaera さんは今後も 〇〇 を一緒にやっていって欲しいのに」</strong> って結構強めに言われたことが未だにめちゃくちゃ嬉しい</li> <li><strong>シンガポール現地のフリーランスの方と仕事を共同で進めることになる。技術に関する事柄やプライベートに関する事柄のやり取り等々、全て英語でコミュニケーションを行わざるを得なくなり、そのおかげで英語でコミュニケーションを取ることに一切抵抗が無くなる</strong></li> </ul> <h2 id="10月"><a href="#10%E6%9C%88">10月</a></h2> <ul> <li><strong>約 10 年ぶりに私用携帯を HTC EVO から iPhone 12 mini に機種変する</strong> <ul> <li>開発用途でなく普段生活で使うことのみを考慮するということであれば iPhone 12 mini は最強にオススメできるスマホです</li> <li>会社支給のスマホで 7年近くを賄っていたため、特に不便がなかったため...</li> </ul></li> <li>AWS Amplify への <a target="_blank" rel="nofollow noopener" href="https://github.com/aws-amplify/amplify-cli/pull/5608">PR</a> がマージされる <ul> <li>もとは <a target="_blank" rel="nofollow noopener" href="(https://github.com/bboure/serverless-appsync-simulator/issues/51#issuecomment-709808350)">serverless-amplify-simulator の Issue</a> で議論していたのだが、改修すべき内容は <code>amplify-cli</code> にあったのでそちらで PR を提出した</li> <li><strong>細かくづまづいた点を進捗共有兼ねて Issue で一人投稿しまくっておくと、他の開発者の役にも立てるし自然とその問題に詳しくなっていくし、OSS 活動への取っ掛かりとしては最高なんじゃないかと勝手に思い始める</strong></li> </ul></li> <li>NPM に初自作ライブラリを公開する <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.npmjs.com/package/serverless-amplify-auth">serverless-amplify-auth</a> という Amplify 開発を行う際は必ず行うであろう IAM Policy の制限を Serverless で行うことが出来るようにするやつ</li> </ul></li> </ul> <h2 id="11月"><a href="#11%E6%9C%88">11月</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://gohugo.io/">Hugo</a> で自分のブログ(<a target="_blank" rel="nofollow noopener" href="https://nikaera.com/">nikaera.com</a>)を <a target="_blank" rel="nofollow noopener" href="https://docs.github.com/ja/free-pro-team@latest/github/working-with-github-pages/about-github-pages">GitHub Pages</a> 上に構築する</li> <li>カジュアル面談した人に <a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/508b88a060c8a7b68ec2">Qiita のネタ記事</a> 見ましたって言われて嬉しいよりも恥ずかしいが上回った</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.etsy.com/">Etsy</a> でアクセサリ販売している方に日本のフリマ事情を詳細にお伝えしたらおまけのプレゼントを送付してくださった <ul> <li>ちなみに購入物は Death Stranding の <a target="_blank" rel="nofollow noopener" href="https://www.etsy.com/listing/834901460/inspired-by-death-stranding-sam-bridges?ref=yr_purchases">ドリームキャッチャー</a></li> </ul></li> <li>Moonlander が自宅に届きテンション上がって<a target="_blank" rel="nofollow noopener" href="https://nikaera.com/archives/introduction-to-moonlander/">紹介記事を書く</a></li> </ul> <h2 id="12月"><a href="#12%E6%9C%88">12月</a></h2> <ul> <li>今年学んだ重要なことを <a target="_blank" rel="nofollow noopener" href="https://nikaera.com/archives/birthday-2020/">記事</a> として残しといた (これもある意味総括な気がする)</li> <li>GitHub Profile を充実させる <ul> <li>こんな感じ -> <a target="_blank" rel="nofollow noopener" href="https://github.com/nikaera">https://github.com/nikaera</a></li> <li>更に GitHub Profile を充実させるために <a target="_blank" rel="nofollow noopener" href="https://zenn-badge.vercel.app/">Zenn のバッジを作成するサービス</a> を作った</li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://lapras.com/public/JPCBXDB">Lapras</a> の技術力スコアが <strong>3.36</strong> になってた <ul> <li>基準とか良く分からないけど純粋に上位 13% に入ったと言われてるのは嬉しかった</li> </ul></li> <li>いくつか空いてたアドベントカレンダーに参戦した <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/b866fd6adca12a88f0ed">MediaPackage 用の CloudFront ディストリビューションを AWS SDK で作成する</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/nikaera/items/825165be91ad5cdb6b56">Serverless のプラグインを TypeScript で作成する方法</a></li> </ul></li> <li><strong>AWS Lambda を用いた他社製品との連携システムが好評で、去年から今年末まで特に目立った不具合等も起きずに運用できたため、次期開発に繋がりそうとの連絡があり開発者として爆喜ぶ</strong></li> </ul> <h1 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h1> <p>今年は後半からすごい勢いでギアが入ってきた感があり、諸々活動するための足がかりを作れた気がします。身も心も進化したなと思えて成長できたなという充足感は割と高めな 1年だったので、この勢いのまま 2021 年もマイペースに色んなことにチャレンジしていければなーと思っております。</p> <p>この記事を書いている人物のプロフィールは <a target="_blank" rel="nofollow noopener" href="/profile/">Profile</a> からご確認いただけます。何かございましたら <a target="_blank" rel="nofollow noopener" href="/contact/">Contact</a> からお気軽にご連絡くださいませ。</p> <p>それではみなさま良いお年を!!😆</p> nikaera tag:crieit.net,2005:PublicArticle/16356 2020-12-14T07:00:10+09:00 2020-12-14T07:00:10+09:00 https://crieit.net/posts/2020-5fd68eea88ed6 2020年に作ったものと神の宿る場所 <p>この記事は<a href="https://crieit.net/advent-calendars/2020/crieit">なんでも Advent Calendar 2020</a>の14日目の記事になります。</p> <p>今年の振り返りポエムをどこに書こうかなと思ってCrieitさんにお世話になることにしました。<br /> 醤油瓶(<a target="_blank" rel="nofollow noopener" href="https://twitter.com/seuyu_bin">@seuyu_bin</a>)というアカウント名で活動しています。</p> <h1 id="2020年"><a href="#2020%E5%B9%B4">2020年</a></h1> <p>今年は世界的に大きく変わりましたが、私としてもRailsエンジニアとして駆け出した変化の大きい年となりました。</p> <p>去年の末にSIerから転職して実務未経験からRailsを触り始め、なんとかクビにならずに仕事こなせるようになりました。</p> <p>2020年、特に目標を持っていたわけではないですが「何か新しいこと」というのは根底にあって、今までで最もいろんなものを「作った」年になったなと思います。</p> <p>時系列順に作ったものを列挙して振り返りたいと思います。</p> <h1 id="4月ショートショートに手を出す"><a href="#4%E6%9C%88%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%81%AB%E6%89%8B%E3%82%92%E5%87%BA%E3%81%99">4月ショートショートに手を出す</a></h1> <p>初手から開発の話じゃないです。小説の話です。</p> <p>ショートショートとは数百から数千文字程度の超短編小説のことです。著名なショートショート作家である田丸雅智さんの情熱大陸か何かのテレビをみて、自分も書いてみようと思い立って書いてみました。</p> <p>自分が書いていたのはショートショートの中でも、超ショートショートと呼ばれる2000文字くらいのお話です。</p> <p>書いたショートショートはnoteに公開しています。→<a target="_blank" rel="nofollow noopener" href="https://note.com/seuyu_ss">セウユ</a></p> <p>4月末から5月くらいにかけて13個ほど作りました。</p> <p>今読んでも我ながら面白いやつもあれば、「ちょっと何言ってるかわからない」というのもあります。</p> <p>個人的ベストは、ちょっと頭おかしい系の「<a target="_blank" rel="nofollow noopener" href="https://note.com/seuyu_ss/n/n7b10687bb61b">クリップ</a>」という作品です。</p> <h2 id="小説を書いてみて"><a href="#%E5%B0%8F%E8%AA%AC%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%81%A6">小説を書いてみて</a></h2> <p>ショートショートを書いてみて思ったのは、2000文字というレベルでさえ作るのに苦労するのに、長編小説をかける人の頭の中は一体どうなっているのだろうということ。</p> <p>普段さっと読んでしまうなろう系のラノベだったり、著名な小説家だったり、ショートショートを書いてみた後に触れた小説という小説の全てがすごいと思えるようになって、「どうやってプロットを整理したんだろう」とか、「この言い回しってどうやって生きてきたら思いつくのだろう」と小説に対してただ楽しむだけでなく、1段踏み込んだ考えをするようになりました。</p> <p>これは実際に作ってみて本当によかったことで、字を書くということに対する解像度が一つ上がったかなと思います。</p> <p>ショートショートを書くというのは、ネタが浮かんだら数時間で完成まで持っていけるので割とフットワークの軽い趣味になります。今後も定期的にゆるく続けていきたいです。</p> <h1 id="5月ボカロに手を出す"><a href="#5%E6%9C%88%E3%83%9C%E3%82%AB%E3%83%AD%E3%81%AB%E6%89%8B%E3%82%92%E5%87%BA%E3%81%99">5月ボカロに手を出す</a></h1> <p>ショートショートのネタが割と尽きたタイミングで手を出したのが、作曲です。</p> <p>楽器を習っていたわけでもなく、何か知識があったわけでもなく、とにかくゼロから作曲して、結果としてボカロ曲を2つYoutubeに公開しました。</p> <p>ここで紹介するのはやめておきます笑 ショートショート公開するより恥ずかしい笑</p> <h2 id="作曲する"><a href="#%E4%BD%9C%E6%9B%B2%E3%81%99%E3%82%8B">作曲する</a></h2> <p>「コード進行って何?」みたいなところかスタートしたわけですが、Youtubeで誰かがやさしく解説してくれている時代ですので、入門するのに特にハードルはありませんでした。</p> <p>王道小室進行とか、カノン進行とか、「ああ、聞いたことあるな」というコードの流れがなぜ心地よいのか、スケールの話から、トニック、ドミナントといったコードの機能まで、基本的な知識は全てYoutubeで教えてくれます。</p> <p>作りたい曲のイメージは最初からあって、コード進行がひたすらループする系の曲を作ろうと決めていました。</p> <p>Aviciiが大好きで、最初の曲はAviciiの「wake me up」という曲のコード進行を真似して作りました。コード進行ループ系の曲は初心者としても考えることが少ないので結構とっつきやすいところだったと思います。</p> <p>コードが破綻しないように主旋律を打ち込んでいって「あーでもない、こーでもない」と考えながらメロディを作っていきました。</p> <p>大体1週間、20時間くらいで一応曲としては作れたと思います。</p> <h2 id="作詞する"><a href="#%E4%BD%9C%E8%A9%9E%E3%81%99%E3%82%8B">作詞する</a></h2> <p>割と時間がかかったのが作詞の部分、売れているアーティストって何か伝えたいことを詞にしていると思うのですが、残念ながらあんまり伝えたいことが浮かばず、ありがちなストーリー、ありがちなセリフしか浮かんできませんでした。</p> <p>最終的に出来たものも特に面白みもなく、ありがちなものになってしまったので、悔いが残っている部分です。</p> <p>作曲は楽しく夢中でやった感がありましたが、作詞はひたすら苦しみました。</p> <h2 id="作曲してみて"><a href="#%E4%BD%9C%E6%9B%B2%E3%81%97%E3%81%A6%E3%81%BF%E3%81%A6">作曲してみて</a></h2> <p>ここでも解像度の話ですが、実際にコード理論を勉強したり作ってみたりしたことで、音楽を聴くことに対する解像度が上がったと思います。良い曲というのは、ドラムのハイハットの入れ方一つ、ベースの音一つ一つに工夫があって、好きだなと思う曲をよくよく聴いてみると音作りから詞の一単語に至るまで、細部まで計算されていたり、工夫が凝らしてあります。</p> <p>まだまだ初心者なので知ったかレベルですが、やればやるほど奥の見えない世界の一端を覗けた気分になりました。</p> <p>2曲目は、ちょっとだけレベルアップしたものを作れましたが、1曲目、2曲目合わせても合計100再生に満たずYoutubeの海に沈んでいきました。</p> <p>2021年は一つネタが浮かんでいるので、創意工夫をふんだんに入れてゆっくり時間をかけて作ってみたいと思っています。</p> <h1 id="8月フラットアイコン制作に手を出す"><a href="#8%E6%9C%88%E3%83%95%E3%83%A9%E3%83%83%E3%83%88%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E5%88%B6%E4%BD%9C%E3%81%AB%E6%89%8B%E3%82%92%E5%87%BA%E3%81%99">8月フラットアイコン制作に手を出す</a></h1> <p>絵なんてほとんど書いたことなかったですが、アイコン制作をしてみようと思ってフラットデザインのアイコンを制作し始めました。理由はあんまり覚えてないですが、Youtubeのフラットデザインのイラスト制作のチュートリアル動画を見て「楽しそう」と思ったからだと思います。</p> <p>これがなかなか楽しくて、毎日コツコツ作りました。<br /> Affinity Designerというイラストツールを使っていますが、だんだん慣れてくるとショートカットも手に馴染んで、四角と三角と丸でなんでも作れるようになってきました。</p> <p>普通のイラストを描くのと異なる点は、ペンを使わず、マウスとトラックパッド操作だけで図形をベースに作るので、どうやっても整った形にしかならない点がとっつきやすいと思います。</p> <h2 id="フリー素材サイトを作り出す"><a href="#%E3%83%95%E3%83%AA%E3%83%BC%E7%B4%A0%E6%9D%90%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E4%BD%9C%E3%82%8A%E5%87%BA%E3%81%99">フリー素材サイトを作り出す</a></h2> <p>はい、やっと開発の話です。出来たアイコンをベースに素材サイトを作ろうと思いました。</p> <p>そろそろエンジニアとして最新のフロント技術を勉強せねばと思っていたので、Nuxt.jsとGatsby.jsを試してみて、結局ReactのGatsbyで作ってみました。</p> <p>出来上がったサイトがこちら「<a target="_blank" rel="nofollow noopener" href="https://flat-svg-designs.net/">FLAT SVG DESIGNS</a>」です。</p> <p>詳細についてはZennで記事を書いています。<br /> 「<a target="_blank" rel="nofollow noopener" href="https://zenn.dev/seuyu_bin/articles/709ad8e90be73f9d9a3c">Gatsby.js, TailwindCSS, Netlifyでフリー素材サイト作ってみた</a>」</p> <p>この開発でReactとVueの雰囲気をつかめましたし、javascriptをガッツリ書いたのも初めてでした。</p> <p>i18n対応したのでHacker Newsに投下してみたら、割と高評価を貰えて、その後誰かがRedditのWeb Designカテゴリの掲示板にリンクを貼ってくれて、リリースしてから1週間ほどは毎日数千人が全世界から流入してくるなど、世界をまたにかけたサイトとなりました笑(なおフィーバー後は1日数十人程度に落ち着きましたorz)</p> <p>また、残念ながらフィーバー中はAdsense審査待ちで、フィーバー後に審査が通ったので全く恩恵預かれず。</p> <p>次に出すアプリはどんなに待ち遠しくてもAdsenseが通ってからと心に決めました。</p> <h2 id="Tailwind CSSに出会う"><a href="#Tailwind+CSS%E3%81%AB%E5%87%BA%E4%BC%9A%E3%81%86">Tailwind CSSに出会う</a></h2> <p>あと、このサービスを初めてよかったのがTailwindCSSというフレームワークに出会ったこと。<br /> NuxtJSのデフォルトCSSフレームワークの一つとして入っていて、「これなんだろう?」とたまたま導入してみたことが出会いでした。</p> <p>普段仕事でRailsを触っている中で、スパゲッティ化したCSSを修正したりしている状況で、このフレームワークの思想は衝撃的でした。「これが完全なる自分の中の答え」と崇め、崇拝しています。</p> <h1 id="フロントを触り出す"><a href="#%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%92%E8%A7%A6%E3%82%8A%E5%87%BA%E3%81%99">フロントを触り出す</a></h1> <p>GatsbyJSで調子に乗り始め、「やっぱりシステム開発が一番楽しいかな」と再認識したのでフロントをもっと触ろうということでNext.jsとTypeScriptに入門しました。</p> <p>今は機能を絞ったTwitter連動系のミニアプリを製作中です。</p> <p>実はもうリリースできる状態ではありますが、Adsense承認待ちです笑。</p> <p>昨日審査落ちてたので、年内のリリースは出来ないと思います。。</p> <p>Adsense通るまで絶対にリリースしません笑</p> <h1 id="神は細部に宿る"><a href="#%E7%A5%9E%E3%81%AF%E7%B4%B0%E9%83%A8%E3%81%AB%E5%AE%BF%E3%82%8B">神は細部に宿る</a></h1> <p>そんな感じで小説執筆、作曲、アイコンイラスト制作、Webアプリ開発と散らかりすぎですが、「モノを作る」という点で共通点があり、得られた教訓も同じです。</p> <p>それは、「神は細部に宿る」ということ。タイトル回収。</p> <p>誰も気がつかないかもしれない細部にどこまで拘れるか、どこまで考えて工夫を盛り込めるか。</p> <p>これがどれだけ最終成果物に影響するか、というのをひたすら感じました。</p> <p>そして、どんなジャンルでも良い作品というのは創意工夫が詰め込まれ、考えに考えて作られたものだということ。初心者レベルの知識がついたことによって創意工夫を発見できる視点が強化されたと思います。</p> <p>繰り返しの言葉ですが、解像度が上がりました。</p> <h1 id="2021年は"><a href="#2021%E5%B9%B4%E3%81%AF">2021年は</a></h1> <p>自分のダメなところははっきり分かっているつもりです。</p> <p>「継続できないこと」「限界まで諦めずに工夫し続けられないこと」</p> <p>その代わりジャンル問わずフットワーク軽くなんでも手を出せるという能力は気に入っています。</p> <p>でもそれだとただの器用貧乏で終わってしまい、結局何もできない人です。</p> <p>2021年はそこに手を入れなきゃなという思いです。継続、そして突き詰めて考えること。</p> <p>これをモットーに来年はやっていこうと思います。運営者ギルドというコミュニティに混ぜてもらったのでその中で頑張ってる人を見て奮起していこうと思います。</p> <p>なんか4000文字もポエムを吐いてしまいましたが、最後まで読んでいただきありがとうございました。</p> <p>P.S.<br /> フラットアイコン作り始める前に、漆喰と珪藻土を使ったアートパネルを5作品くらい作ったりもしてましたが、それはもう書くの面倒なので割愛しました。</p> 醤油瓶🍘@TypeScript入門中 tag:crieit.net,2005:PublicArticle/16256 2020-12-04T07:00:09+09:00 2020-12-04T07:00:09+09:00 https://crieit.net/posts/2020-5fc95fe99fa00 2020年の個人開発を振り返ってみた <p>どうも<a target="_blank" rel="nofollow noopener" href="https://twitter.com/kira_puka">きらぷか</a>です。<br /> この記事は、<a href="https://crieit.net">Crieit</a>のアドベントカレンダー、<a href="https://crieit.net/advent-calendars/2020/crieit">なんでも</a>の4日目の記事です。</p> <p>今年はなんかいろいろ作ったなぁ〜と思い、振り返ってみた。<br /> 切りが悪いので、2019年12月からの1年分を見てみる。</p> <h3 id="新作を6つも作ってた"><a href="#%E6%96%B0%E4%BD%9C%E3%82%926%E3%81%A4%E3%82%82%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%9F">新作を6つも作ってた</a></h3> <ul> <li>1月: <a target="_blank" rel="nofollow noopener" href="http://hen-ai.net/">へんあいマップ</a></li> <li>5月: <a target="_blank" rel="nofollow noopener" href="https://air-money.netlify.app/">エア銭</a> / <a target="_blank" rel="nofollow noopener" href="https://kabu-reco.app/">カブれこ</a></li> <li>9月: <a target="_blank" rel="nofollow noopener" href="https://find-two.vercel.app/">FIND TWO</a> / <a target="_blank" rel="nofollow noopener" href="https://nakama-count.vercel.app/">仲間カウント</a> / <a target="_blank" rel="nofollow noopener" href="http://zutsuu.memory-lovers.com/">頭痛仲間</a></li> </ul> <p>エア銭、FIND TWOは<a href="https://crieit.net/boards/web1week-202009">#web1week</a>のなので毛色が違うけど、<br /> 新作作りたい意欲が刺激されて新作作ってるのがよくわかる(<em>´ω`</em>)</p> <p>思いつくのがCGM系のアイデアが多く、いろいろ作ってみてるけど、<br /> やっぱり難しい。。でも思いついたから作りたい。。を繰り返してる感じ。</p> <p>この中だと、ツール系のカブれこが一番がんばっているのがおもしろい。<br /> もうすこし稼働をかけてもいいかもしれない。</p> <h3 id="積読ハウマッチは31回アップデート"><a href="#%E7%A9%8D%E8%AA%AD%E3%83%8F%E3%82%A6%E3%83%9E%E3%83%83%E3%83%81%E3%81%AF31%E5%9B%9E%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88">積読ハウマッチは31回アップデート</a></h3> <div class="table-responsive"><table> <thead> <tr> <th align="right"></th> <th align="right">更新回数</th> <th align="right">新作</th> </tr> </thead> <tbody> <tr> <td align="right">12月</td> <td align="right">2</td> <td align="right">1</td> </tr> <tr> <td align="right">1月</td> <td align="right">4</td> <td align="right"></td> </tr> <tr> <td align="right">2月</td> <td align="right">4</td> <td align="right"></td> </tr> <tr> <td align="right">3月</td> <td align="right">8</td> <td align="right"></td> </tr> <tr> <td align="right">4月</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">5月</td> <td align="right">3</td> <td align="right">2</td> </tr> <tr> <td align="right">6月</td> <td align="right">3</td> <td align="right"></td> </tr> <tr> <td align="right">7月</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">8月</td> <td align="right">1</td> <td align="right"></td> </tr> <tr> <td align="right">9月</td> <td align="right">0</td> <td align="right">3</td> </tr> <tr> <td align="right">10月</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">11月</td> <td align="right">0</td> <td align="right"></td> </tr> </tbody> </table></div> <p>更新内容の大小はあれど、前半はがんばってたっぽい。<br /> 4月頃から新作とか本業とかで稼働が少なくなってるのが顕著に。</p> <p>とはいえ、結構継続的に開発できているのでよい。</p> <h3 id="積読ハウマッチの数字を見てみる"><a href="#%E7%A9%8D%E8%AA%AD%E3%83%8F%E3%82%A6%E3%83%9E%E3%83%83%E3%83%81%E3%81%AE%E6%95%B0%E5%AD%97%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B">積読ハウマッチの数字を見てみる</a></h3> <p>今までためてた数字をまとめてみた。<br /> 上下はあるけど、横ばい or ちょっと成長という感じ。</p> <div class="table-responsive"><table> <thead> <tr> <th align="right"></th> <th align="right">MAU</th> <th align="right">PV</th> <th align="right">ユーザ数</th> <th align="right">書籍数</th> <th align="right">収支</th> <th align="right">更新回数</th> <th align="right">新作</th> </tr> </thead> <tbody> <tr> <td align="right">12月</td> <td align="right">1,244</td> <td align="right">7,526</td> <td align="right">91</td> <td align="right">2,779</td> <td align="right">1,087</td> <td align="right">2</td> <td align="right">1</td> </tr> <tr> <td align="right">1月</td> <td align="right">1,348</td> <td align="right">11,081</td> <td align="right">92</td> <td align="right">2,375</td> <td align="right">1,568</td> <td align="right">4</td> <td align="right"></td> </tr> <tr> <td align="right">2月</td> <td align="right">1,393</td> <td align="right">10,125</td> <td align="right">102</td> <td align="right">2,820</td> <td align="right">2,653</td> <td align="right">4</td> <td align="right"></td> </tr> <tr> <td align="right">3月</td> <td align="right">1,655</td> <td align="right">12,385</td> <td align="right">90</td> <td align="right">3,190</td> <td align="right">437</td> <td align="right">8</td> <td align="right"></td> </tr> <tr> <td align="right">4月</td> <td align="right">1,422</td> <td align="right">11,780</td> <td align="right">92</td> <td align="right">2,645</td> <td align="right">371</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">5月</td> <td align="right">1,389</td> <td align="right">10,770</td> <td align="right">70</td> <td align="right">1,947</td> <td align="right">847</td> <td align="right">3</td> <td align="right">2</td> </tr> <tr> <td align="right">6月</td> <td align="right">1,888</td> <td align="right">13,486</td> <td align="right">137</td> <td align="right">3,399</td> <td align="right">323</td> <td align="right">3</td> <td align="right"></td> </tr> <tr> <td align="right">7月</td> <td align="right">1,778</td> <td align="right">18,104</td> <td align="right">104</td> <td align="right">9,367</td> <td align="right">567</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">8月</td> <td align="right">1,667</td> <td align="right">14,304</td> <td align="right">85</td> <td align="right">3,919</td> <td align="right">2,278</td> <td align="right">1</td> <td align="right"></td> </tr> <tr> <td align="right">9月</td> <td align="right">1,886</td> <td align="right">18,827</td> <td align="right">104</td> <td align="right">10,769</td> <td align="right">1,601</td> <td align="right">0</td> <td align="right">3</td> </tr> <tr> <td align="right">10月</td> <td align="right">1,432</td> <td align="right">15,569</td> <td align="right">70</td> <td align="right">10,152</td> <td align="right">2,873</td> <td align="right">2</td> <td align="right"></td> </tr> <tr> <td align="right">11月</td> <td align="right">1,086</td> <td align="right">10,845</td> <td align="right">57</td> <td align="right">2,111</td> <td align="right">1,215</td> <td align="right">0</td> <td align="right"></td> </tr> </tbody> </table></div> <h4 id="PVと更新回数"><a href="#PV%E3%81%A8%E6%9B%B4%E6%96%B0%E5%9B%9E%E6%95%B0">PVと更新回数</a></h4> <p>ここからPVといろんな数字を比較してみる。</p> <p>更新が少ないので、PVも少ないのかなと思ったら、そんなことなかった。</p> <p><a href="https://crieit.now.sh/upload_images/4aa4de18c0e570b74253c2caee51ecd55fc83a65d2a91.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4aa4de18c0e570b74253c2caee51ecd55fc83a65d2a91.png?mw=700" alt="スクリーンショット 2020-12-03 10.07.07.png" /></a></p> <p>7月は新機能を追加したりプレスリリースを出したりしてPVが上がってるのと、<br /> 9月はバズったツイートで宣伝してもらえたり、Vtuberの方に遊んでもらったりで上がってる感じ。</p> <p>知ってくれた人が増えたので、全体的に少しずつPVが上がってる状態。</p> <h4 id="PVと書籍増加数"><a href="#PV%E3%81%A8%E6%9B%B8%E7%B1%8D%E5%A2%97%E5%8A%A0%E6%95%B0">PVと書籍増加数</a></h4> <p><a href="https://crieit.now.sh/upload_images/1b3882590306543fcd69f0422433fda65fc83a6e6c929.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1b3882590306543fcd69f0422433fda65fc83a6e6c929.png?mw=700" alt="スクリーンショット 2020-12-03 10.07.14.png" /></a></p> <p>そのまんま比例している感じ。登録するからPV増えるので予想通り。</p> <h4 id="PVと収支"><a href="#PV%E3%81%A8%E5%8F%8E%E6%94%AF">PVと収支</a></h4> <p><a href="https://crieit.now.sh/upload_images/8a5f17fb86f8a96c6b0ffe7353567eac5fc83a77e7123.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8a5f17fb86f8a96c6b0ffe7353567eac5fc83a77e7123.png?mw=700" alt="スクリーンショット 2020-12-03 10.07.24.png" /></a></p> <p>更新回数と同じで、あまり関係なかった。<br /> アフィリエイト型なので、Amazonで買わないと売上にならないので、たしかに。</p> <p>買うまでの動線をなんとかしないといけないなと思いつつ、まだあまり整備できてない。。</p> <h3 id="作ったアプリの技術要素の移り変わり"><a href="#%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E6%8A%80%E8%A1%93%E8%A6%81%E7%B4%A0%E3%81%AE%E7%A7%BB%E3%82%8A%E5%A4%89%E3%82%8F%E3%82%8A">作ったアプリの技術要素の移り変わり</a></h3> <p>なにをつくるかも変わってきたけど、どう作るかも結構変わった気がする。</p> <p>Nuxt+TypeScript+Firebaseの基本セットは確定だけど、<br /> どこにデプロイするかは試行錯誤中。</p> <p>作ってきたWebアプリのデプロイ先はこんな感じ。上から新しい順。</p> <div class="table-responsive"><table> <thead> <tr> <th>アプリ名</th> <th align="center">Cloud Run</th> <th align="center">GAE</th> <th align="center">Vercel</th> <th align="center">Netlify</th> <th align="center">Heroku</th> <th align="center">Firebase</th> </tr> </thead> <tbody> <tr> <td>積読ハウマッチ(新)</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>頭痛仲間</td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>仲間カウント</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>FIND TWO</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>カブれこ</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>エア銭</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>へんあいマップ</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> </tr> <tr> <td>積読ハウマッチ(旧)</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>便利サイト</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>トランスノート</td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> </tr> </tbody> </table></div> <p>2年前くらいはFirebase Hostingを使っていたけど、<br /> Netlify→Vercel→GAE or Cloud Runという感じで移り変わってる。</p> <p>というより、今までSPAだったけどSSRしたい、というのが主な理由。<br /> それぞれの構成はこんな感じ。</p> <div class="table-responsive"><table> <thead> <tr> <th>アプリ名</th> <th>デプロイ先</th> <th align="center">SSR</th> <th align="center">SSG</th> <th align="center">SPA</th> </tr> </thead> <tbody> <tr> <td>積読ハウマッチ(新)</td> <td>Cloud Run</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>頭痛仲間</td> <td>GAE</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>仲間カウント</td> <td>Vercel</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>FIND TWO</td> <td>Vercel</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>カブれこ</td> <td>Netlify</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> </tr> <tr> <td>エア銭</td> <td>Netlify</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> </tr> <tr> <td>へんあいマップ</td> <td>Heroku</td> <td align="center">○</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td>積読ハウマッチ(旧)</td> <td>Netlify</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> </tr> <tr> <td>便利サイト</td> <td>Vercel</td> <td align="center"></td> <td align="center">○</td> <td align="center"></td> </tr> <tr> <td>トランスノート</td> <td>Firebase</td> <td align="center"></td> <td align="center"></td> <td align="center">○</td> </tr> </tbody> </table></div> <ul> <li>Netlify最高だけど、SPAの初期ロードがやっぱりおそい。。</li> <li>Vercelが簡単にSSRできるようになってよくなってきた <ul> <li>デプロイしたらメールで通知してくれるので楽</li> <li>でも東京リージョンじゃないし、リクエストごとに起動なので遅い</li> <li>規模が大きくなると、ファイルサイズの制限でデプロイできない</li> </ul></li> <li>Cloud RunやGAEだと、ファイル制限やリージョンの設定もできる <ul> <li>デプロイ時のメール通知やSlack通知も自分で設定可能</li> </ul></li> </ul> <p>という経緯を経て、今はCloud RunやGAEかなという気持ち。<br /> いろんなWebサービスを触ってみて、初期表示の速さをなんとかしたい感が強まってる。</p> <h3 id="いろいろ作ってみて"><a href="#%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6">いろいろ作ってみて</a></h3> <p>今年は割といろいろ作ってみたけど、至らなさを痛感する。</p> <p>雛形のプロジェクトを作ったことで立ち上げ早くなったけど、<br /> 「最低限の機能を作って出す」というところ考え直すのがよいと感じがしてる。</p> <p>たとえ、最低限の機能がある動くものがあっても、<br />  遅い / バグが多い / さわり心地が悪い<br /> など、残念な部分が目立つと一瞬来てくるけど、継続しない。</p> <p>また、お知らせや通知などの部分も初期では外しがちだけど、<br /> 継続に繋がる部分なので、『最低限の機能』に含めるべきだったと思う。</p> <p>リリース時やアップデート時は、最初のピークなので、<br /> 来てもらった人にまた来てもらえる部分は最初に掴んでおけばよかったなと思う。</p> <p>一発ネタならいいけど、そうじゃないのはちゃんと抑えておきたいところ。</p> <h3 id="来年はどうしようか"><a href="#%E6%9D%A5%E5%B9%B4%E3%81%AF%E3%81%A9%E3%81%86%E3%81%97%E3%82%88%E3%81%86%E3%81%8B">来年はどうしようか</a></h3> <p>積読ハウマッチは引き続き、がんばるとして、<br /> たくさん作りすぎて、よくわからなくなるので、<br /> 開発や管理を楽にするのを作りたいなぁとか思ってる。</p> <p>なんだかんだ昔作ったAndroidアプリは着実に伸びてるので、<br /> PUSH通知もできるFlutterにも手を出していきたい。</p> <p>振り返ってみて、いろいろ思うところはあるけれど、<br /> やっぱり、作りたい欲が高まるとなにか作っちゃうよね(<em>´ω`</em>)</p> <p>来年もゆるゆるがんばろう(<em>´ω`</em>)</p> きらぷか@積読ハウマッチ/SSSAPIなど