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