【これだけはやっとけ】Laravel/PHP未経験者が初案件で即戦力になるために（前編）

# 対象
こちらの記事はLaravel/PHPエンジニアとして初めて案件に参画する方に向けて作成しております。

# はじめに
未経験エンジニアの皆さん、
初めての案件...不安ですよね...

（詳しい事情はお察ししますが）
未経験なのに、**なぜか**客先に熟練の即戦力として見込まれ、
案件に参画することになった方々...沢山いると思います。（笑）

そんな自分も未経験から初めて入った案件では、
Laravel/PHPを使った既存システムの保守改修、及び、新卒社員のPHPの教育係でした。（？）

エンジニアとして働いて2年程経った現在、改めて初案件を振り返ってみて、
案件参画までに、最低限これだけは勉強したほうがいい、ということをまとめてみました！
（ほぼ書籍で勉強していたので、書籍紹介が多めです）

ここに書いたことを案件参画までに確りと学習していれば、
恥をかかないどころか、十二分に即戦力として働けると思います！！
是非参考までに挑戦してみてください！

# 前提
「最低限」とは言っていますが少し量があるので、
下記前提の元、学習を進めていっていただければと思います。
・**100％理解する必要はない。**（8割方のなんとなくでOK）
・**構文を諳んじて書けるまでにする必要は一切ない。**
　※「こんな時、確かこんな機能があったような...」
　　→「検索...」
　　→「あ、これこれ」となれば十分です。

# 全体項目
　少し長くなっているので前編・後編と分けて紹介します！
　じっくり学習していきましょう！
 
 ## 【前編】
 | 項番 | タイトル |
|:---:|:-------------|
| 1 | [正規表現](#正規表現) |
| 2 | [git](#git) |
| 3 | [SQL](#sql) |
| 4 | [HTML&CSS](#htmlcss) |
| 5 | [JS](#js) |
| 6 | [JSフレームワーク](#jsフレームワーク) |

 ## 【後編】
 [別の記事](https://qiita.com/Jasco/items/930dc02e557fe7ad650c) にて掲載しております。
 | 項番 | タイトル |
 |:---:|:-------------|
| 7 | PHP |
| 8 | Laravel |
| 9 | Excel |
| 10 | 用語 |

# 正規表現
エンジニアとして仕事する上での基本中の基本です。
（これを知っていないと現場で恥をかく可能性大です）

最初に
「・構文を諳んじて書けるまで覚える必要は一切ない。」
と書いたのですが、
これだけは頑張って
**諳んじで書けるように、且つ、検索・置換がスムーズにできるまでに覚えてください。**
※できないと「え..？」と言われます。（経験談）

下記サイトに綺麗にまとまっているのでこちらで学習していただければと思います。
全部合わせても、1日あれば覚えられるぐらいの量しかないので、
ささっと覚えてしまいましょう！！
[基本的な正規表現](https://troutlurefishing.jp/regex.htm)
※下記だけ覚えれば十分です
（下記以外は必要になったらその時に調べながら覚えていきましょう！）

・基本的な正規表現
・特定の位置関係の正規表現（「^」「$」だけ）
・置換文字列で使える正規表現（「\1 ～ \9」だけ）

＋α
正規表現の先読み・後読みもできるようにしておくと業務でかなり楽になります。
[正規表現の先読み・後読みを極める！](https://abicky.net/2010/05/30/135112/)

補足）PHPではこんな使われ方をします。
[PHPの正規表現 初心者向け基本～ 早見表掲載](https://wepicks.net/phpref-regular_expression/)
[0-9]、[a-z]、[A-Z]、[a-zA-Z0-9]　の正規表現の書き方は頻出するので頭に入れておきましょう！
# git
こちらもエンジニアとして覚えるべきことの基本中の基本です。
※覚えていないで曖昧に操作すると、
　**現場で大事故につながる可能性がある**ので、しっかりと理解してください。

コマンド操作まで覚える必要はないですが、
概念はしっかりと理解し、覚えておけば業務では十分です。
SourceTreeとかGitHubの使い方は概念が分かればすぐに理解できるので業務中に覚えていきましょう！

自分は下記の漫画本で理解できました。
綺麗にまとまっていて、且つ、とても分かりやすいのおすすめです。

[わかばちゃんと学ぶ Git使い方入門](https://www.amazon.co.jp/%E6%94%B9%E8%A8%822%E7%89%88-%E3%82%8F%E3%81%8B%E3%81%B0%E3%81%A1%E3%82%83%E3%82%93%E3%81%A8%E5%AD%A6%E3%81%B6-Git%E4%BD%BF%E3%81%84%E6%96%B9%E5%85%A5%E9%96%80%E3%80%88GitHub%E3%80%81SourceTree%E3%80%81%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E6%93%8D%E4%BD%9C%E5%AF%BE%E5%BF%9C%E3%80%89-%E6%B9%8A%E5%B7%9D-%E3%81%82%E3%81%84/dp/4863543433/ref=pd_sbs_d_sccl_1_1/355-8634655-3837629?pd_rd_w=bFsJV&content-id=amzn1.sym.2e3b388a-4d35-4ac5-b8d6-fcf3da7dd6b4&pf_rd_p=2e3b388a-4d35-4ac5-b8d6-fcf3da7dd6b4&pf_rd_r=GZWRV80MD2WGXZP2JWG0&pd_rd_wg=QEXjA&pd_rd_r=ca64121e-d2ee-4080-aace-814a8717d942&pd_rd_i=4863543433&psc=1
)

# SQL
こちらもDB操作の基本です。
これを使わないで開発する、ということはありえないので、
案件参画前にしっかりと身に着けていきましょう！

**基本的なCRUD（INSERT, SELECT, UPDATE, DELETE)の構文だけ理解して書ければ業務では十分です。**
SELECTはjoinやサブクエリも頻繁に使うので、しっかりと理解し、諳んじて書けるようにしておきましょう！
※基本的なselect文を書くのにまごついていたりすると、
　「あれ…この人本当に経験者なの…？」と疑われます（経験談）

テーブルの定義変更やデータディクショナリの構文は、
滅多に使わない＆かなり慎重に書く必要があるので、都度調べて対応すればOKです。

自分は下記の本で十二分に理解できました。
2日もあれば読める内容なので確りと理解しましょう！
練習サイトも用意されているので非常におすすめです。

※この本では少ししか触れられていませんが、
　「ビュー」と「マテリアルビュー」についての概念はしっかり押さえておきましょう。

 [スッキリわかるSQL入門](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BSQL%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E3%83%89%E3%83%AA%E3%83%AB222%E5%95%8F%E4%BB%98%E3%81%8D-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E4%B8%AD%E5%B1%B1%E6%B8%85%E5%96%AC/dp/4295005096/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1USGMZHW2SQ8G&dib=eyJ2IjoiMSJ9.h53fz4JjQCIk92EybIMclPQdsshq2rQO32lN1E9wAanWNXUaMhMPRA-abGQ171dj5Z9g97WtAnHiKaxxGPz28eSsHK2c0XZGX-8eCXcyY7QIT__SDPgkUvw9820Sw6UvTGLJ3CzQDmjrG_Clg8vj8HQ8qv_BMiKCHjTF5PREfi3FPS116MTr0Cg1K-qgx8D93zUv1KeBfv0egzgKphe_PEAeGhuwLXthdi1hxKSjHsY.DB_o1_xj4NSPp94-OEF-kb5gJ5HisMhnKdaxsqRNpxU&dib_tag=se&keywords=%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E5%88%86%E3%81%8B%E3%82%8Bsql&qid=1713069533&s=books&sprefix=%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8Bsql%2Cstripbooks%2C258&sr=1-5)

 # HTML&CSS
 バックエンドエンジニアなのになんでフロント技術？
と思う方もいるかと思いますが、
基本的にPHPのバックエンドエンジニアとして入る案件では、
**ほぼ当たり前のようにフロント業務も任されます。**
ただ、フロント側で凝った処理をしたいのであれば、フロント専門のエンジニアを雇っているはずなので、
そこまで難しい処理は任されないかと思います。

経験上、progateの下記を一通り受講していれば業務では問題ないかと思います。
※プログラミングスクールで既に学んで何となくわかる方はスキップしても大丈夫です。
[progate](https://prog-8.com/)
・HTML&CSS
・Sass

# JS
おそらくフレームワークとセットで使われていることが多いのですが、
生のJSが分からないのにFWの本を読んでもちんぷんかんぷんになるかと思います。
なんとな～くの理解でよいので、下記の本に一通り目を通しておくことをお勧めします。
※何度も言いますが、
　**関数や構文をすべてそらで覚える必要は一切ないです！**
　必要な時に「確かこんなのあったな～」ぐらいに記憶の片隅にあれば本当に十分です。
 
[独習JavaScript](https://www.amazon.co.jp/%E7%8B%AC%E7%BF%92JavaScript-%E6%96%B0%E7%89%88-CodeMafia-%E5%A4%96%E6%9D%91-%E5%B0%86%E5%A4%A7/dp/479816027X
)

※＋α
現場ではchromeの検証ツール（F12）を使ったデバッグが頻繁に使われるので、
是非できるようにしておいてください
[デバッグ練習用サイト](https://www.codegrid.net/articles/js-debug-1/)

# JSフレームワーク
案件面談の際に、JSは何のフレームワークを使っているかしっかりと聞いておきましょう！
フレームワークによってガラッと書き方が変わるので、
最低限1冊、事前に目を通しておきましょう！

jQuery,vue.js,React　だと下記がおすすめです！

jQuery：
[jQuery最高の教科書](https://www.amazon.co.jp/jQuery%E6%9C%80%E9%AB%98%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%B7%E3%83%95%E3%83%88%E3%83%96%E3%83%AC%E3%82%A4%E3%83%B3/dp/4797372214)

Vue.js：
[Vue.js入門 基礎から実践アプリケーション開発まで](https://www.amazon.co.jp/Vue-js%E5%85%A5%E9%96%80-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E3%81%BE%E3%81%A7-%E5%B7%9D%E5%8F%A3-%E5%92%8C%E4%B9%9F/dp/4297100916)
※Vue.js　Ver.３ の場合
[これからはじめるVue.js 3実践入門](https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8BVue-js-3%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4815613362/ref=pd_lpo_sccl_1/355-8634655-3837629?pd_rd_w=lCOSl&content-id=amzn1.sym.c9d355d3-7242-4c45-8731-d024dd5a0fb6&pf_rd_p=c9d355d3-7242-4c45-8731-d024dd5a0fb6&pf_rd_r=HB3J6D96V8B34EX05XB4&pd_rd_wg=8Zb4q&pd_rd_r=c7d3506a-bbd2-4314-9005-4660a317a5c9&pd_rd_i=4815613362&psc=1
)

React：
[これからはじめるReact実践入門 コンポーネントの基本からNext.jsによるアプリ開発まで](https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8BReact%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89Next-js%E3%81%AB%E3%82%88%E3%82%8B%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%BE%E3%81%A7-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4815619484/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3S04DW5DTM3E9&dib=eyJ2IjoiMSJ9.09ekKRs1wc4GiQGc7fdF2R_6mF_ehx9wxieC5KZUUsn_eIZc3YmkIqviOVH13n1TLMmLtIF2HMY0tiEVd9KXcSc7kYg66gkA9ZTrigU4NjXzoYShOQSh40XqyF5Gjz0f_sDB2J3uJ3WJFukTc2doOSdKpMRRIKTNINWeY2Nccd7fxIJ9RXjEMPQrmuOR_jWaCzRrSGFKMg9acexjcPrXjNUtW2_EcHaoqlAXweDHI0k.PmTx22-wVoq7CejkrUE0v26GfkJyIiUCPHhsD5NujpE&dib_tag=se&keywords=react%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80&qid=1713074856&s=books&sprefix=react+%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80%2Cstripbooks%2C204&sr=1-1)

# 前編　総括
長くなってきたので一旦締めます。

少し量が多いかもしれませんが、
現場で即戦力として求められる以上、全て最低限覚える必要がある知識となります。
引き続き頑張って行きましょう！！

 [後編へ続く](https://qiita.com/Jasco/items/930dc02e557fe7ad650c)