量を多く作れの実例を見つけて感動した話
沢山のプロダクトを実装できる方法になってるのが
なにか役に立つプログラムを100行ぐらいで書いてるのがいいなと
多分必要な機能だけ実装してる
あと冗長な書き方をしてないから短いと予想
逆に冗長な書き方ってなんだろう
TA等でプログラミング苦手な人が書くコードを見ていると冗長だなーってことがまあ多い
思いついたまま書いて直してない
一つ思いついたのは、frameworkが自動生成した
ボイラープレートコードがたくさんあるやつ
例えばReactなら、reactのfaviconや空っぽの単体テストコード、 src
などのdirectory構造が自動生成される
Railsはボイラープレートがすごく大量に出てくるw
自分がDenoで書いているコードはテンプレが存在しないので、確かに必要なコードしかないかも
もともとDenoはURLさえあればなんでも実行できるやつで、1ファイルだけで動かせるのが強み。
必然的に設定ファイルやらお決まりのdirectory構造やらが不要になる
それが悪いという訳では無いが‥‥いや、どれが必要な要素なのかわからなくなるから、自分は好きじゃないな
(自分で使いたい|コミュニティメンバーが使いたい) 物を実装するから
ドッグフーディングで PDCA が勝手に回る
数が多いのでポートフォリオとして GitHub を見せた時に「すご👀」となる
ただ数が多いのではなく役に立つプログラムが多いので細かく見て行っても「すご👀」のまま
数はあるけどstarは全然ないのですごくはなさそう()
拡散系SNSで宣伝とかしてないので当然
システムのほうで情報を拡散させる・いいねをもらいやすい方向に調整が働くSNS, twitterとか、のことを拡散系SNSと呼んでみた
対局はscrapboxなどのいいね機能や共有システムが皆無なサービス
タイトル見たら〇〇に使えそうだなって思えるから凄みは十分あると思ふ
そう言えば GitHub では star とか見てないな
の中での開発のハードルがぐっと下がった
は以前何か作っても、アレもこれも気になって「こんなものダメだ」となって全部消すを繰り返してた
ので手元には何もない。コレはダメな例
アレもこれも気になって「こんなものダメだ」を繰り返すのでやる気が無くなる
実際なにか作ろうと思いついた後でこんなものダメだとなる未来が見えてしまってしんどくなるのでずっと何も作っていない
開発力がつかないので本当にダメになっていく (思い込みが現実になる)
UIも(機能と関係ないなら)なくていいし、コードも100行ぐらいでいいし、とにかく動いてなにかの役に立てばいいんだ
小さいものを沢山作れみたいな文は読んだことあるけど具体的なイメージができてなかった
今、具体的なイメージができた
大きいものをつくるのは最初に考えるよりも遥かに難しいことが多い(例えばScrapboxを自分で作るのは相当難しいはず)
プログラミングに限った話ではない
コレは痛みを持って知ってた
逆にこっちしか知らなくて鬱屈としていた(過去形)
絵を描いたことがない人が「ありふれている」絵をかけなくていやんなっちゃったり、デザインをしたことがない人が「よくあるし別にかっこいいと思えない」デザインすらできなくていやんなっちゃったりするのとにてる
これだわ
基本的にcross platformで動くものを作ろうとしているから、必然だったかも
UIやファイルシステムを使おうとすると、どうしてもその処理系依存になってしまう
機能系はどの環境でも動くものを作りたい
計算したり描画したりするだけなのにNode依存とかやめろ~!それ削ればbrowserでも動くじゃんか~!という気持ち
なんで計算するだけなのにterminalが必要なんだよ~!
web browserに計算させられるだろ~!
ここは色々ありそう
なんでブラウザが必要なんだ、って人も多そう
前はそう考えてた
何でインストールさせてくれんのん?
何で毎回検索しなあかんのん?
何でネット繋がってないとあかんのん?
今でも割りとコレはある
これはよくない
UIやファイルシステム・ネットワーク操作など処理系依存なコードを排除したものを作ると、単体テストしやすいという理由もある
最初から分離しづらいこともある。とりあえず雑に作って、あとから必要になったときに切り出して単体テストすればいい
多分 100 行すらいらなくて、
既存の使う時にハードルがあるプログラムを Web 上から動作させられるようにしました!
みたいなのでもいいと思う
既存の使う時にハードルがあるプログラム
1. git clone して
2. 要求される環境を構築して
動かなかったらドキュメントもほぼ無い中環境を修正して
3. CLI を叩いたら動くところまで落とし込む
具体例: 誰かが研究で作ったプログラム
これは普段 CLI で叩いているコマンドを .sh
に書き起こして web API としてラッピングすればいい
この場合は index.html
にのせるUIが欲しくなる
適当に UI ライブラリ探してそれを使う。変なこだわりを持たない。
↑は良いものを売る人と似ている
良いものを作る人は別にいるんだけど、良いものを売る人がなんか凄そうに見える話
凄そうに見えたほうがモチベが湧くので良いものを売るような感じの物も作っていけばいいと思った
補足(?)
は以前、良いものを作ることに価値があって、売ることにあまり価値を見出していなかった
プログラムも新しいものを作ることに価値を見出して、ラップだけしたみたいなものには価値を見出していなかった
ライブラリを組み合わせて使うのはセーフ(何が?)
何処かで良い物を売る人も、その人が良いものを拡散するという価値があるみたいな話を読んだ
ラッパーにも同じような理屈で価値を見出した
価値を見出したのでラッパーみたいなのを作るモチベが湧くようになった
あと凄そうに見える物を取り揃えておけば、人に見せられるというモチベ
凄そうに見えないものを作ってる時は定期的に「でもこれポートフォリオに載らんよなぁ」みたいな萎えが来る
ここは自分とモチベが違いそう
自分が作る理由はこのくらい
ほしかったから
必要だったから
気になって他のことができなかったから
なんとなく触ったら作るのをやめられなくなったから
なので、誰かに推薦するために作ることは……あー井戸端の即席コードだとあるな
ココ分かる
作り始める時のモチベは挙がってるやつと一致する
途中で要らん事考えて萎えてやめるを繰り返してた
ここでも称賛される
さんすこ
雑に作ることを見せて相手のハードルを下げた事例があったので切り出しておいた
こういうのは相互にリンクした方が良さそうなので助かった
Stream のアイコン草
どういう状態なんだこれw
入れ子