弊社はQiitaアドベントカレンダーに協賛する機会を頂いており、身の回りの困りごとを楽しく解決!【PR】Works Human Intelligenceなるプレゼントカレンダーを準備する機会に与っています。
「身の回りの困りごとを楽しく解決」したいですね。とてもしたい。
ついでに周りの似たようなことで困っている人の困りごともなんとかしたい、そういう日もあると思います。
そう思った日が日曜プログラミングの始めどきなので始めましょう。
日曜プログラミングのメリット
たのしい
小さい頃レゴブロックやプラレールで街を作りましたよね。あの楽しみをまたやれます。
ないし、お菓子の空き箱を用いて人形の家を作ったりしましたよね。あれです。
色々試行錯誤した結果なにかできあがってくるのを見ているとニマニマしてきます。
礼を言われることがある
作ったものを公開しておくと誰かの役に立ったりします。
実際、年に3~4つ何かを作って私は公開していますが、しばしばお礼を言われたりします。
作ったものが Qiita で紹介されていたときは少し嬉しかったです。
日曜プログラミングのきっかけ
「普段繰り返しやっていること」とか
「なんやかんやでうまくいってないこと」とか
「割とよくやる面倒な作業」とかをターゲットに置くのが良いでしょう。
私生活、とりわけ趣味
マイナーなアナログゲームを趣味にしているけどプレイヤー人口が増えない、と悩んでいる皆様に朗報です。
「ルールがわからない」「◯◯が複雑だ」に対してツールを作って提供しましょう。
プレイヤー人口を伸ばす障害をこれで1つ除くことができます!
ただ、二次創作ガイドラインなどに照らし合わせて問題無い範疇でやりましょう。
最近のアナログゲームはそういうものを公式が出してくれているものも増えてきました。
仕事でよくあるシチュエーション
2つの名簿から差分を抽出したいとか、多数の行から重複する行を削除したいとか。
そういった作業をよくする方もいらっしゃるかと思います。
そういった作業をするアプリは既存でしょうけれども、自分用の用途に特化させたものが欲しくなることありますよね。
そういうことをする時に私が割とよくやる作り方
ブラウザ上で動くアプリにしておくことをオススメしています。環境で動き方が大きく変わりにくいのが旨味です。
HTML + JavaScript
OS や端末の種類をあまり問わずに動いてくれます。インストールしたり設定したりする必要も基本的にはありません。
なので、ツールを配布したい時の大本命です。ただし、ブラウザの互換性とかの問題でたまに泣く羽目になります。
ブックマークレット
ブラウザのお気に入りに JavaScript を仕込んで動かす、というアプローチです。
既存のウェブサイト上で何かをしたい場合にはおすすめですが、先の方法に比較するとちょっとハードルが高いです。
BAT ファイル
少々暴論ですがだいたいの人が使っているパソコンは Windows ですよね。
なので、だいたいの人の環境では BAT ファイルが動いてくれます。
殆どの人のローカル PC で何か動かさないと解決できない場合にしばしば BAT ファイルで何かを作っています。
でも、書くのがかなり大変なのであまりしたくありません……
その他
お金がかけられるならサーバサイドを用意したり、AWS とかの機能を使って色々作るのもいいです。
AWS なり GCP なりには無料で使える分なるステキなものもあるので使ってみるのも良いでしょう。
ただ、最初はちょっと敷居が高いんじゃないかなとは思います。手元とサーバーサイドで単純に倍になりますから。
これから始めるという人は「サーバサイドがないとダメ」かつ「手元の PC で動かすだけじゃダメ」
……などと感じてから着手でいいのではないでしょうか。
配布方法
HTML + JavaScript ならば無料のレンタルサーバに配置すればすぐに配布できます。
ただ、Git でソースコードを管理することを考えるとGitHub Pagesを勧めます。
ブックマークレットであればBookmarkifyやHatena::Letといった配布用のウェブサービスがあります。
BAT ファイルも適当なレンタルサーバで配布できます。
そのためだけに借りるのが嫌ならば Google Drive での配布も良いでしょう。