ウェブログラム

実践しながらじっくり学ぶ、Webプログラム習得サイトです。自作サービスの公開までWeb開発を実践していきましょう!

Webrogram

自分のオリジナルサービスを作って運営しよう!

PC本体で開発せず、ローカル開発環境を使うメリット

f:id:iku8:20180512022443j:plain 初心者がまずつまずいてしまう、開発環境作りについてお話します。

初心者のうちは、WindowsMacのPCに直にプログラミング言語PHPPythonRuby)などを入れ、 勉強や開発を行う事が多いかなと思います。

ですが、ネットのサイトを参考にしていると、開発環境やローカル開発環境といったワードが出てきて、

「なんだそれ!」

ってなってしまいます。(僕もそうでした...)

「なんか難しいことをしてるけど、普通に自分のPCにそのまま、プログラミング言語インストールするだけじゃダメなの?」 と思われる方が多いかなと思います。

そこで、なぜローカル開発環境というものをわざわざ用意し、プログラミングしているのかを噛み砕いて説明します。

目次

  • 「ごちゃごちゃ」にならないために
  • チームで開発するために
  • 開発環境と本番環境という考え
  • ざっくりまとめ

「ごちゃごちゃ」にならないために

例えば、あなたがPHPでプログラム書くぞっとなった場合まず初めにすることと言えば、

PHPをインストールする。そしてガリガリコードを書きますよね。

このくらいですよね。 ではこの後、あなたは何かを解析したくなって、Pythonも入れたくなりました。

するとあなたのPCにはPHPPythonも入っています。こんな調子で、Rubyを入れたり、WebサーバのApacheを入れたり、データベースのMySQLを入れたりしはじめます。

月日が立つに連れて、あなたのPCはいろいろな言語やミドルウェアApacheMySQL等)がどんどん増えていきます。

一見すると、なんでも揃っていて、非常に便利なPCです。

ですが、なんでも出来る環境が「良い環境」と言えるでしょうか?

部屋に例えて言うと、布団とベッドがあったり座椅子やソファーがあったり、和風のもの洋風のもの部屋の中はごちゃごちゃになっています。 気分によって自分の好きなように出来るのは良いことですが、ごちゃごちゃな部屋で生活はあまりしたくありませんよね。

開発環境も同じで、PHPで開発している時は、PythonRubyは必要ありません。必要でないものは極力排除していくというのが、良い考えだと思います。 「必要な時に必要な環境」で開発するというのが良い開発スタイルです。

部屋の例をとると、洋風の家具があれば、それらは一つの部屋に集約します。 なので、「なんか今日は洋風な気分だ(どんな気分かは置いといて...)」となれば、洋風の部屋に行けばよいのです。

このように部屋をある一定のまとまりで、ポコポコと作ってい行くことによって、整理整頓されていきます。

開発環境も用途(開発するサービス)によって作成し、必要な言語やミドルウェアをインストールするのがセオリーです。セロリではありません。

プログラミングをしていく上で、何事も「ごちゃごちゃ」にさせないと言うのは非常に重要な考え方です。

チームで開発するために

この記事を読んでいる人は、一人で開発をしているでしょうか? 複数人でチームを組んで、開発することはありませんか?今はなくともプログラマーであればチームでの開発はいずれ訪れます。

チームで何かを開発するのは、とても楽しいことです。

しかし、開発環境がチーム内でバラバラだと、「辛い思い」をします。 僕も辛い過去が....。

何が辛いかというと、

のようにまずOSが違ってくると、インストールするべきものが変わってきます。WindowsでインストールするものがMacではいらなかったり、その逆もしかりです。何がどのバージョンで必要なのか洗い出さないといけません。 こんなめんどくさい事できません!!というか誰もしたくありません。

また、OSのバージョンによっても左右されたり、ミドルウェアのバージョンによっても、不具合がおきたりします。

同じように構築したけど、Macで動いて、Windowsでは動かない!なんてことが往々にして起きます。

やはりこんな時、全てのOSで動くローカル開発環境を作っておけば、ローカル開発環境にインストールしていくものは、全て同じでよいです。 誰か一人が構築(インストールや設定)した手順を、何も考えず実行すれば良いだけです(本当は考えてほしいところですが)。

開発中に新しく、インストールするものが増えた!となった場合には、誰か一人がお試しでインストールして、うまく動いたら、同じことをみんなでしていけば良いだけです。

非常に楽で、確実だと思いますよね!これだけで気分が晴れます。

開発環境と本番環境という考え

最後に2つの環境について説明します。

何かサービスを作っていく上では、まず開発を初めに行います。 この時は、自分のPCのローカル開発環境内でしかサービスです。

これを全世界の人に使ってもらうためには、「公開」というステップを踏む必要があります。 サーバを借りて、作ったコードをコピーして、公開する。

この時、公開用のサーバを、本番環境やプロダクト環境と呼んだりします。 この本番環境は、開発環境と全く同じように構築しないといけません。

本番環境だけ、「言語の最新バージョンが出てたから、最新使おう!」なんてことをすると、公開した時に、本当にサービスが動くかどうかなんて分かりません。自分の意図しないところで、必要な機能が消えてたりします。

開発環境と本番環境の設定が違うがために、「動かなくなる」なんて事は絶対にあってはいけません。 なので、必ず開発環境と「同じOS」、「同じミドルウェア」、「同じミドルウェア」で本番環境は構築しなければなりません。

そうすれば開発環境で動くものは「動く」、動かないものは「動かない」ということが分かります。

ここが最上級に重要な考え方です。

ざっくりまとめ

  • いっぱい部屋を作って、部屋ごとにまとまりを作ってごちゃごちゃを解消する。
  • チーム開発のときは、個々が思い思いの環境を作ると、チームが崩壊していく。
  • 開発環境と本番環境の設定を揃えないと、公開した時に事故る。

ざっくりまとめてみましたが、今回の内容はとても、とても重要なことなので、 環境には気をつけ、楽で楽しい、プログラミングライフを送って行きましょう!