はじめに
実務で PHP, Laravel を使用することになり、最低限の理解(土台つくる)をする上でやったこと・意識したことをまとめました。実務未経験の方や転職して間もないという方向けの記事になっております。
もちろん実務に入ってまだ約1ヶ月半なのでまだまだわからないことばかりですが、今まで学習してきた Ruby, Rails と違うけど大丈夫かなという不安はなくなってきましたので記事にまとめさせていただきました。
これから転職を考えている人もいるかと思います。個人の見解ですが、そのときに言語を特定のものに絞らなくても良いんじゃないかなあと思いましたので、迷われている方や実務で別の言語を触れるのか不安と思っている方の参考になったら幸いです。
実務にはいって
最初は今まで学習してきたものとの違いがあり、自分にできるかなあと思うこともありました。ただそれは振り返ってみれば、これからやっていけるかなあとか不安などから視野が狭くなっていたのが原因なのかなと思います。細かく具体的に見ていくとどの言語も別のものになってしまうと思いますが、少し抽象度を上げて考えるとこの部分は似ているなとか少し違うけどこれぐらいの差か、となったりします。
要はプログラミングをするということなのであまり大差はないはずです。(今までRuby, PHP, Pythonを扱っただけなので他の言語で全然違う意見があったらすみません。。)
「誰のどんな悩みを解決」するのか考え「成し遂げたいこと」、**「実装したいこと」がありそれを「どのように実現」**していくか、それを 言語化 して実装していくというフローは一緒です。
とはいえ全く一緒ということはないので抵抗は少しありましたし、それを埋めるためにググる時間があるかもしれませんが、それも慣れなのかなと思います。簡単な例を出すと PHP だと変数名の前に $
をつけますが、 Ruby だと付けないみたいな感じです。まだ癖が抜けなくて $
を抜かしてしまうことがありますが、そのときはエラーが吐かれるのでデバッグをすれば解決です。
大事だと思ったこと
- ブログ記事はたくさんありますが、補助程度に使用すること
- チュートリアルに沿って要点を抑える
- とにかく実践あるのみ、わからないことがあればとことん調べる
- 公式ドキュメントを読む、英語から逃げない
チュートリアル
丁寧にインストールするところからサンプルコードから体系的に学習することができます。開発の流れだったりメインの機能だったりが書かれているのでとても取り組みやすいです。
公式ドキュメント
公式ドキュメントの大切さは実務に入り身にしみて実感しました。今までも大切だということは理解していたのですが、記事をメインに公式ドキュメントを補助という使い方になっていた気がします。公式ドキュメントにしっかり書いてあるのに、色々な記事を彷徨ってしまう、、これ本当に時間の無駄ですよね。
ドキュメントをしっかり読むのには時間がかかります。だったらブログ記事を読んでサクッとデバッグしてけばいいじゃん!って思うかもしれません。それで解決できるならまだ良いですが、解決できなかったりブログに書いてあることが間違いだった場合にまた違う挙動が起きたりしてしまうなんてことになるかもしれません。
はじめは時間をかけてしまうかもしれませんが、しっかりと着実に理解していくほうが後々効いてくると思います。どこに重要なことが書いてあるんだろうとかそういったことも数をこなして慣れていったり、基本英語で書いてあることが多いけどわからないことは翻訳しながら読むようにしています。(少しずつ英語から読み取れるようになった気がします。)
いろいろ書きましたが言いたいことは、公式ドキュメントを読むことでエラー解決のスピードや実装のスピードが格段に上がったと思います。
エラーが起きたときにググり偶然同じエラーが起きた人がたまたまブログ記事などでまとめてくれていればラッキーですが、同じようなエラーが起きていないときはすぐに解決することができなくなってしまいます。
ブログ記事などは本当にわかりやすくまとめてくれていますが、あくまで補助的にしようするほうが良いと思います。とはいえ、公式ドキュメントやマニュアルでわからなかったり難しい表現を使ったりしていることも少なくないのでそういったところはブログ記事を参考にさせていただいております。
ディレクトリ構造や役割を知る、慣れる
どのファイルで何をしているのか、どのような役割をもっているのか知ることは重要だと思います。エラーの原因なども特定しやすいですし、何より流れが追えてくるのでプログラミングの楽しさも増してきます。
わかりやすく全体像をまとめてくださっている記事がありましたのでこちらに載せておきます。
Ruby、Railsとの違い・共通点を考える
新しい言語だからと 「1から学ぶ」 と時間をものすごく浪費してしまう気がします。今まで学習してきたものがあるのであればそれと照らし合わせてこの言語だったらこういうふうにするんだよなあとか考えながらやると定着が早まると思います。また、このような学習の仕方をしていれば今後別の言語を扱ったときも同じようにスムーズに扱うことができるのではと思いました。
まとめ
- 言語で選ぶのではなく「プログラミングとは」と少し抽象度を上げることによって見え方が変わる
- チュートリアルは体系的にまとまっていて初学者でも取り組みやすい
- 公式ドキュメントを読むことは実力をつけるプログラミングをしていく上では必須となる
- ブログ記事はたくさんありわかりやすくまとめてくれているが、最終的にはその情報があっているのか判断できるように一時ソースを読む
おわりに
少し駆け足になってしまいましたが、実務未経験から転職して間もないという方向けに記事を書かせていただきました。ただ経験をいくら積んでも大事な点というのは変わらないと思います。より良い考え方や方法をアップデートなどしていけたらしていきます(別記事で違う視点からまとめる可能性も)。