imperish
@imperish

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

初心者エンジニア 環境構築が分からなさ過ぎて怖い

環境構築が分からなさ過ぎて怖い

例えばこういった記事を読んで作業を進めているとき
https://qiita.com/koki_73/items/60b327a586129d157f38
railsで作ったアプリを初めてデプロイしようとrender.comなるものを使ってそれを試みていたのですが。
正直、何やっているか分かりません。
railsの環境構築の時もそうでした。
configとかbinとか触るとき、何してるか分からなくていつも怖いです。
こういった設定の部分がいつも分からなさ過ぎて怖いです。

みなさんはどうやってこれが理解できるようになったのか

皆さんと言えど、最初は分からなかったはずです。
皆さんがどのようにこれを理解できるようになったのか、
その経緯など、お伺いしたいです。

思い当たることとしては

・片っ端から調べていく
やはりこれしかないのでしょうか。
長い道のりになると思うのですが、やはり、この手段しかないのでしょうか。
何か、近道みたいな、道しるべを下さい...
ここの分野を勉強すれば分かるようになるよとか、そういうことはないでしょうか。
シェル、シェルスクリプトとか、でしょうか...

でももうバグが出るたびに何が原因か分からないということで苦しみたくない...

見苦しい質問内容ですみません。
なんとなく、やることは分かってはいるのですが、
周りにエンジニアの人とかいないもので、
そういったことからも、エンジニアの方のお話が聞いてみたいです。

よろしくお願いします。

0

4Answer

熟達者ではありませんが、1エンジニアとして
僭越ながら回答いたします。(長文失礼します)

結論から言うと、

何か、近道みたいな
でももうバグが出るたびに何が原因か分からないということで苦しみたくない...

近道は無いですし、
エラーやバグに直面した際に悩まずに解決できることはありません。

ただ、色々なものに触れたり
何回か繰り返すことで知見を増やし、
「ある程度のアタリ」をつける力を養うことはできます。

configとかbinとか触るとき、何してるか分からなくていつも怖いです。

例えば上記の場合、質問者の方が参照している記事だと
Render.comというPaaSを利用していますが、
他のサービスを利用したりオンプレミスで環境構築する場合は
当然、別の設定が必要になります。

その時に、rails configだとかrails binで調べて
どういうものなのかざっくりでもいいので理解し、
その後Render.com(若しくは他サービス)の公式ドキュメントを読み、
分からないところは解説してある記事を読む、
といったように少しずつ「分からない」部分を狭めていきます。

そうしておけば、エラーが出た際に
「記事通りにやったのになぜ???」で手が止まらず、
「公式ドキュメントに何か記載があった気がする」など
思い当たる他の方法を試すことができるようになります。
(進研ゼミでやったところだ!みたいな感じです)

そうして1つ2つと頑張っていくと
「調べる力」「以前やった時に見た」など
「知っている」領域が増えていくので
問題解決に至るまでの間隔は短くなります。

まとめると、
「ドキュメントを読み」「実際に手を動かして」
「何かにぶつかったら調べる」「知見を増やす」という
サイクルを繰り返すことで徐々にできることが増えます。

上記が「どうしても苦痛だ」という場合は
お金を支払ってスクールで教わる、という手もありますが
いつか必ず「自分でなんとかしないといけない」場面は訪れると思うので
ちょっとずつ力をつける方が良いかと思います。

ここの分野を勉強すれば分かるようになるよとか、そういうことはないでしょうか。

強いて言えば、Linuxについての知識は
あって損はないのでLPICの教本を読んでみることをオススメします。

3Like

Comments

  1. @imperish

    Questioner

    コメントありがとうございます。
    マジで勇気もらいました。
    LPICっていう資格があるんですね。
    ちょっと見てみようと思います。

どうやってこれが理解できるようになったのか

最初はやはりわからないことが多いので、技術書やチュートリアルの流れに沿ってやってみる、という感じですね。わからないけど、とりあえずそのとおりにやってみる、という感じです。

その中で詰まったり興味があるところを深掘りしたり、流れを外れてみたりして、徐々に広げていくイメージでしょうか。

片っ端から調べていくときりがないので、必要になったとか興味があるところを調べていきます。

技術の習得は理解は後からついてくることが多いので、思い切って飛び込むしかないところもあります。
個人的な学習レベルでは失敗しても大きな損害がでるようなことは無いので、比較的挑戦しやすい分野ではないかと思っています。(低レイヤー扱っているとパソコンが壊れるくらい?)

何か、近道みたいな、道しるべを下さい...

残念ながら、楽な道は無いですね・・・
近道というなら、結局はどんどん挑戦して失敗して経験を積み重ねていくことになるでしょうか。

railsということはWebアプリケーションについて学習されていると思うので、webについての基本的な知識は必要になります。
ツールなどの枝葉の技術(railsなど)と根っこにあたる技術(rubyやwebなど)を行き来するのが良いと思います。

あとは「二兎は追わない」でしょうか。2つ以上のものを扱うと、何が問題なのか分からなくなることが多いので、うまく切り分けていくことが重要になります。
最近はrailsのようなフレームワークからスタートするケースが多いように見えますが、フレームワークはいろいろな技術の詰め合わせなので、そうした状況に陥りやすいと感じています。
もちろんrailsを使った学習そのものを否定するつもりはなく、例えばrubyそのものを扱った学習も検討されると良いのではないかもしれません。

1Like

Comments

  1. @imperish

    Questioner

    blue32aさん、コメントありがとうございます。
    なるほどです。一歩一歩進んでいこうと思います。
    プログラミングで制作物を作るのはとても楽しいのですが、
    時間がかかりますね...
    このインプットも面白いと思って取り組めたら楽なんでしょうけど...

    ありがとうございました。

まずは「手順通りにやるとできた」という実感を得るところから始めて、
できた後で、意味がわからない手順は「じゃあこの手順はどういう意味なんだろう」とか「飛ばしたら何故だめなのか」を調べるようにしてますね。
あえて1つだけ手順を飛ばしたり、外したりして試してみることで、ここで読み込みが止まるからダメとか、このファイルやこの記述が必要とか、見えてくるものもあります。

怖いと思ってる(よくわからない)部分があって、意味を理解したくて、キーワードも明確なら、自分ならそのキーワードで何度もネット検索していろんな記事を調べますね。
「rails bin 意味」「rails config」とかで調べます。

公式リファレンスも出てくるのでそれも読みますし、誰かの書いた記事も参考になりそうなものを読みます。

1Like

Comments

  1. @imperish

    Questioner

    yama-tさんコメントありがとうございます。
    実はその手順通り進めるっていうことができていないことも過去に多々ありました...
    分からなかったところを1つ1つ明らかにしていくってことですよね。
    なるほどです。少しずつ、落ち着いて取り組んでいこうと思います。

    ありがとうございました。

 書籍を読んで、インストール、セットアップ、チューニングでしょうか?

webサイトの解説は歯抜けで痛い目にあいます。

最近はコンテナを5つ用意して、並行インストールしています。

Alpine,AlmaLinux,fedora,debian,ubuntuです。(openSuseは度外視しました)
 
そうすると、リポジトリの癖、最低限installすべきパッケージが感覚的に理解できます。

mariadb, postgreSQL, mongodb, casandora

ruby:rails
php:laravel, CakePHP
python:Django, flask
java:tomcat

この6個の開発フレームで最も優れているのはtomcatと思います。

jar,warを単純に実行する考えはクラウド時代こそ優れた運用設計です。

答えは無いに等しいですが、インストールしまくることで、恐怖を乗り越えられます。何も、5個中、5個のディストリビューターで成功する必要はありません。

1Like

Comments

  1. @imperish

    Questioner

    HalHaradaさんコメントありがとうございます。
    確かに環境構築も慣れれば分かってきそうですね。
    dockerってやつを使ったりするのかな?
    難しそうですけど、理解できるような可能性を感じることができました。
    とにかく数こなして慣れるってわけですね!
    頑張ります。

    ありがとうございました。
  2. 私はdockerを卒業してlxd,lxcです。

Your answer might help someone💌