LoginSignup
0
1

More than 1 year has passed since last update.

初学者が仮想環境を理解する

Posted at

今回は雑談的なゆるい内容で書いていく。

ちょうど一年前の今頃、Javascriptの基礎を終え次に何をやろうか考えてた頃。
仕事を得るのにポートフォリオは必須だろうと思いwebアプリの制作に取り掛かった。

早速ドットインストールでPHPの基礎からお勉強。そこで推奨されたのがdockerを使った環境構築。

Javascriptはブラウザですぐ使えるし、pythonは(色々やり方はあるけど)公式からインストールして即利用可能。でもPHPってそんなに準備が必要なのって感じた。

この頃はまだ環境構築という概念すら分かってなかった私にはdockerなど理解できるはずもなく・・

色々理由があるが2ヶ月で挫折。その後しばらくプログラミングから離れてました。

(後にpythonで復活するのだが、あまりの使いやすさに感動)

もちろんdockerだけが挫折の理由ではないが、ここを理解できなかったのはデカかったと思う。

以下、私がどのように仮想環境と向き合い、どうやってこんな記事👇を書けるくらいに成長したのかをメモしていきたいと思う。

まず理解できなかった理由を探る。
このモヤモヤした気持ちを深掘りするとまず最初に感じること。

仮想環境、実態がねぇ!

これに尽きる。
パソコンの中にもう一つのパソコン?マトリョーシカかよ

スクリーンショット 2022-12-07 10.49.04.png

しかも設定をするのにコマンド操作ってのも地味にくる・・

私「コマンド入力(キーボードカタカタ)エンターぽち」
パソコン「仮想環境が作成されました」
私「アクティベートぽち」
パソコン「仮想環境が実行されました」
私「はぁ・・」

で?

って感じでした。去年の今頃。

私の想像力ではこのマトリョーシカは理解できません。でもねパソコンさん、物質世界にどっぷり浸かって生きてるこの愚民にはヴァーチャルってのはSFのおとぎ話なのよ。

さらにこのモヤモヤした気持ちを擁護するかのように感じたこと。

仮想環境無くても動くじゃん・・

必要性がいまいち感じられなかった要因。
結局初学者はここにハマるんですよね。(それか私だけ?汗)

今思えばとんでもない罠だったんですが、この時の自分は後のエラー祭りの惨状を知る由もなかった。

しかしその後どうやって私が仮想環境を理解し使いこなすようになったかを振り返ってみる。

エラーは偉大な先生。

PHPのあとpythonに乗り換えたが充実したフレームワークに感動。何よりStreamlitなどで簡単にアプリが作れる。
(Laravelがあるじゃんと言われるがよく知らん)
なのでまたアプリ制作に向き合おうと思ってみた。

しかし案の定、何かしらエラーは発生する。
本当にこれと向き合う時間って辛いんです。

解決するのに色々調べたり試したり、その繰り返し。具体的な内容は前の記事にも書いたけど大体はデータベースとデプロイの時。

しかし試行錯誤の末、解決できた時の喜びって何事にも変え難い。

その助けとなってくれたのがanacondaとvirtualenv。

その瞬間に全てのエラーの原因と結果と対処法が知識となり私の頭に定着する。

腑に落ちる

この言葉を本当の意味で理解しました。

実態がないから手に取る感覚がない。実際にそうなんですが、苦悩しもがいた挙句に勝ち取る成功体験って強烈に脳に作用するというか・・

エラーの後には実際に手を動かし1からちゃんと仮想環境を立ち上げてみる。
今は調べればいろんな教材が無料で見れるので助かる。

こちらのサイト👇が非常にわかりやすかった。

いつもお世話になってます。はたやす先生の動画。
こちらはtodoアプリの動画ですがvirtualennvの立ち上げ方も解説してます。実際この動画のやり方で難なくFlaskの基本は学べた。

結局dockerではなくanacondaを使ってるが、別にこの選択肢でも良かったと思う。
多分今ならdockerも導入できると思うがanacondaに謎の愛着も湧いてるしvirtualenvもなんだかんだ使いやすい。

自分なりに、自分が納得できればよしとする。

かなり時間はかかったがこの一年で仮想環境を理解しアプリを公開したのは大きな進歩だと感じる。

自分から動かないと現実は変わらないよ。昔は受動的だったから挫折したのかな、と振り返ってみる。

この調子で着実に進み、目標にさらに一歩近づきたいと思う。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1