Sunday, June 2, 2019

npmでgdらないための心がけ

React x Gatsby でウェブサイトを作った

公開は控えるけど、ひょんなことからウェブサイト作ってという話になり、じゃあLAMPとかRailsとか今までのコンフォートゾーンじゃないやつがいいよね、ということで、React.jsを使ってみた。

AWSの EC2で Ubuntuサーバを使った(18.x)。


以下、主にnpmあたりでグダる(Macで動いたのにリナックスでエラーになる、とか)ときに問題を解決できる心がけ

- node / npm  のバージョンチェック(だいたいバージョンが違うことがトラブルの根本なこと多い)
- 権限周りで落ちる (おもに /usr/lib/node_modules あたりとかの権限が rootじゃないと届かないので、 chownで変えてやる) 
- npm -g でグローバルにしないといけないところは -gで。

この3点さえ押さえていればそこまではまることなく問題を解決できる
古いバージョンでやるメリットはないので基本新しいやつで。

あとsurgeはめっちゃ便利


もう一歩、開発で無駄な苦しみをせずにどんな問題でもだいたい解決できるための心がけ


1.  必ず公式ドキュメントに当たる
2. 読み飛ばさない
3. 問題は狭いスコープに限定しながら明らかにしていく 
4. スタックトレースを丁寧にみる
5. サードパーティのライブラリのソースもきちんと読む
6. 決めつけない


1.  ネットの断片的な情報を当たる、というのを初心者はやりがちだけど、これは迂回になることが多い。どのようなものも、まず公式ドキュメントを調べること。Unix(-like)ならmanページとか必ずきちんと読む。基礎的なようで、結構これができているかいないかが大きな違いになる。

2. 読み飛ばさない。ドキュメントや記事をみるさいにインデックスから必要なものを特定し、それ以外を捨象することは必要だが、それでも読むべき必要な箇所を読み飛ばさない。2、3行読んですぐに読み飛ばさない。理解できなければ理解できるまで読み返す。
これができないと仕事はできない(これは還暦超えてもできない人がいる)

3. 問題を狭いスコープに限定しながら解いていく。デバッグとか、なにか問題を解決する際に複合的なものを全部載っけた状態で問題を解決しようとするのは初心者によくあること。必要な箇所以外全部コメントアウトして、一つずつ解除しながら問題を解く。それ以上に、ステートフルな構文を書かない。コードは抽象度高く綺麗に。オブジェクト指向もさることながら、代数みたいにかけるならそうやってかくのもありで、とにかく負債を作らないように心がける。

4. スタックトレースを丁寧に読む。スタックトレースを飛ばすというのはありえない。問題にぶつかったら、必ずスタックトレースを読む。

5. サードパーティのライブラリもきちんとよむ。gethを使っていたら gethのコードは公開しているから読む。grepとかで必要なものをしらべる。ctagsもある。これは、現アマゾンで働いている元Omiseのデベロッパーから学んだ心がけなので、信ぴょう性は高い

6. 決めつけない。何事も決めつけてしまうと問題を解決するのに時間がかかるか、まったく解決できない。



以上、ちょっと脱線したけど開発者としての心がけ
当たり前のように聞こえるが、この当たり前を当たり前のようにやることが大きな違いになる

若いうちに必要な心がけをしていれば、必ず将来困らない

No comments:

Post a Comment