最近流行りのアレについて(エンジニア初心者向け)

こんにちは。

昨日発表された大物カップルの結婚で男女問わずたくさんの方がロスってる感じにお見受けいたしますが、皆さまいかがお過ごしでしょうか?

いや…おふたり合わせて足何メートルあるんだって感じですよね… 僭越ながらわたくしとおんなじ人間であることがもはや宇宙の謎でございます。

まあ…足だけ長くたって普通はこうなりますよね。普通は。

 

さて、今回は少し真面目に技術的なお話。(弊社はいちおうIT屋さんです)

みなさまGitってご存知でしょうか?

エンジニアの方ならもはや定番となっているこのプロジェクトツールですが、わたくし名前は存じ上げていても触ったことがございませんで。

弊社にはよく未経験の技術志望の方が採用面接に来られますので、そのときにお勧めする学習セットがだいたいタダで手に入るJava、Eclipse、MySQL、もうすこし突っ込んでできるようならTomcat、SVN、デザインパターンあたりのお話をさせていただくことが多いです。(というのも、関西ではいまだに業務系Javaのお仕事が幅を利かせていて、入門者がやっておくとお仕事に入りやすくなるからなのです。関東は知らぬ。)

 

前にお話ししたコチラ。

社内システムを1からつくる。

社内システムを作ろうというお話。

このシステム、だいたいはほぼ完成しているのですが、K君の本業のお仕事が増えてきたので、まあ工数の見積がてら不肖わたくしがチョイチョイ見てみようかな~(ブログのネタにもなるし!!!!)という気分になったので、手が空いているときにちょっとずつ調べております。

このシステムPHP、Laravelで作成されていて、開発ファイルはGitLabで管理しています。

PHPはブログラム言語ですが、あとの二つはなんぞや?と思われる方多いんじゃないでしょうか。

Laravelは下の図の赤いところです。

(出典:https://laraweb.net/surrounding/922/)

はい、イミフですね。

まあ端的に言うと、開発者がWEBサービスを簡単に運用できるようにサポートしてくれる便利屋みたいなもんです。

(こういうのをWebアプリケーションフレームワークといいます)

コレの何がいいかって、一つずつあれやこれや自分でやらなくてもドーン!と導入するだけである程度はお手軽にWEBサービスを開発することができるところ。

あと、これが間違いなく言えるのが、

_人人人人人人人_
> タダ!!! <
 ̄Y^Y^Y^Y^Y^Y^Y^ ̄

大事なことなのでもう一回言います。

_人人人人人人人_
> タダ!!! <
 ̄Y^Y^Y^Y^Y^Y^Y^ ̄

インターネット環境さえあれば、コマンド一つで導入することができちゃいます。便利ですよね~。

 

あともうひとつのGitLab。(昔お取引先に〇〇ジット、という会社があったせいで、わたくしついジットと呼んでしまうんですが、正しくは【ギット】と発音します)

これはリポジトリマネージャーといって、プロジェクトのプログラムソース管理ツールです(よく使われるところではSVNとか、わたくしは使ったことないですがNEXUSとかです)。

たくさんの人が携わる大きなシステムのプロジェクトになると、「俺このプログラムいじる」「私このプログラム改造する」と、いろいろな人がこねくり回した挙句、せっかく作り上げたプログラムをあとから来た人が上書きしてなかったことにしてしまう…などということが往々にして発生します。

大事なプログラムを粗忽者が踏み抜いてしまわないように、だいたいのプロジェクトにおいてはこのようなソース管理ツールを使用しています。

 

このGitLabの何がすごいかというと、普通のリポジトリマネージャーはほとんどソースの更新を管理するだけなんですが、GitLabはその更新を責任者が見て承認するかしないかを制御することができます。つまりAさんが更新したい!と思ってプログラムを勝手に更新したとしても、承認者が「いいよ!」と言わなければシステムに反映されない仕組みになっているんですね!これは本当に便利!!

さらにさらに、このGitでソース管理するともれなくGitPodと呼ばれる統合開発環境も使えます。

普通にコードを書くくらいならメモ帳でも事足りるんですが、テキストベースでばらばらに管理するのは非効率です(中にはもうシステム体系が頭に入ってるし、そんな開発環境重くてイラネって猛者もいらっしゃいますが、一般的には必要です!!)

そういうわけで、だいたいこんな感じで統合開発環境を使って管理します。

(出典:https://code.visualstudio.com/docs/getstarted/userinterface)

これはVisual Studio Codeという開発環境ですが、似たようなもだとEclipseとかIntelliJ IDEAとかたくさんあります。

あーあのクラスなんだっけ…ほらHogehogeなんちゃらクラス…って名前を忘れたときも、補完機能を使えば候補を呼び出してくれたりとかなり楽ができます。(ただ、楽をしすぎていざメモ帳しかないよ!ってときにはマンモスに石斧で戦う原始人のような気持になります)

で、このような統合開発環境であるGitPodですが、GitPodのサービスはなんとWeb上にあるので、URLにGitLabのプロジェクトの認識コードを引っ付けてたたくだけで使うことができるんです!

呼び出し準備画面(Chromeブラウザ上の画面です)

小さいけどGitPodでの開発画面です。

 

いや~、こんな環境がタダで手に入るなんて、いい世の中になりましたなあ!

 

そういうわけで、これからPHPを学びたい方、MVCモデルを積極的に学習したい方はいかがでしょうか?

Javaとか他の枯れた言語※に比べると圧倒的にWeb上の情報が少ないので、初心者さんはそれだけで結構苦労するかもしれませんよ!

※ちなみにIT用語で”枯れた”というのは、デデーン\(^o^)/と世に出てから時間がたっていろんな人がしがんだ結果、変なバグなんかが潰されて開発環境的に成熟した状態のことを言います。

 

そういうわけで今回はPHP/Laravel/GitLabの開発環境のお話を備忘録がてら書いてみました(*´ω`*)久々に頭を使ってすっきりです。

 

今日はよく眠れるぞ~!!(^o^)丿

 

 

 

Pocket