この2日間でCakePHPのチュートリアルを終わらせようと、公式サイトを見ながらプログラミングをやっていたのですが、まだまだ先は遠いですね。
終わる気配がないのと、なかなかエラーが出た時の対処に時間が取られます。
そんな中で、少しCakePHPというものもイメージがつかめてきました。
といっても全然な域でもありますが。
今回は少し文系だった僕のこれまでのプログラミング遍歴についても書いてみたいと思います。
もくじ
最初からハードルが高かったiOS開発
僕のプログラミングの始まりは、実はiOSの開発からでした。
今では何も知識として定着はしてませんけど。
プログラミング未経験の人間がいきなりiOSのObjective-Cを覚えるというのはなかなかハードルが高かったんじゃないかなと今になっては思います。
そもそも、今でもそうですが、システムの基本の知識があまりにもなさすぎましたね。
そんな中でも色んな本を買っては写経して、また本を買って写経しての繰り返しでした。
2年くらい時間が許す限りやってましたけど、コードエラーとの戦いに敗れ、すっかり触らなくなりましたね。
一度だけアプリをリリースした事もあります。
今はiOSの開発者登録をAppleに申請していないので、公開もされなくなりましたが。
新しい仕事についてからは、iOSの開発環境であるXCodeも全く起動させなくなりました。
中途半端になっしまったりフロントエンドのインプット
今年でこそ、本気を出して色々と触りながら覚えてきていますが、その前までは本当に何もしてないに近い状態でしたね。
サーバーを借りたのも今年からですし。
WordPressを使ってプログを公開するというのもやってませんでした。
その前段階で、一通りのHTMLとCSSのチュートリアルと本一冊の勉強もしたり。
振り返ると、今年に入ってからの自分の独学力に驚きますね。
その前は、スクールに通ってたりしてたのですが、全然モチベーションが上がらず、途中で離脱してしまいました。
結局はモチベーションの問題だったのでしょうか?
PHPとMySQLの基本コーディングのおさらい
PHPの基本的なプログラミングについては、一昨年と去年と、何度も挫折しながらもやっていたりしていました。
きちんとした理屈は今でもわかりませんが。
ですが、この部分できっとこういう事をしているんだなというのはなんとなく見ればわかる程度ではあります。
ま、これを自分で書くとなると話は別なんですけどね。
合わせて、MySQLもネットで調べながら、自分のローカル開発環境でデータベースを作るくらいはやれる感じになってきます。
細かいことは知りませんよ、もちろん。
CakePHPは全く違う概念だった
PHPの応用としてCakePHPのことをイメージしていたのですが、触ってみると全く考え方が違いますね。
これがフレームワークというやつか…って、正直思いました。
もっと前から理解しようとしておけば良かったとも思いますが、恐らく一昨年・昨年の僕が手をつけても、きっと何もわからないまま無駄な時間を過ごしただけだったかも知れませんね。
僕なりのCakePHPというフレームワークをおさらいしておきます。
フレームワークというものは、アプリケーションとしての機能を持ったまま自由に開発が出来るものです。
そして、その機能と開発の保守性を担保するためにも、命名規則などのルールというのが中心で、どこにどういうふうに書かないとダメというのが決まっているということですね。
そのルールをつかむのに、今は苦労しながら毎晩CakePHPを触っているという感じです。
MVCモデルという概念を理解するために
理屈から入ろうと思うと、やっぱりMVC、つまり、
- Model
- View
- Controller
というものがそれぞれどういう働きになっていて、どういう構造でどんな記述をするかというようなことを理解していかないといけないのでしょうね。
僕の場合はそれをしているとイメージでの理解がまず出来ないので、何度かサンプルのチュートリアルをやってから理論を空いた時間で整理していこうという戦法を取ろうと思ってます。
ですが、この辺りの概念は、オプジェクト指向言語でもありますから、ここでイメージと理論を定着させて起きたいと思ってます。
そして、何年も前に挫折をしてしまったiOSの開発を今年中にに何とか再開したいなと考えてます。
まずはWEBのシステム開発がスキルとしてみにつくように
さまざまな技術がこれまでも、そしてこれからも台頭していくことになると思ってます。
そして、自分の技術のベースをどこに置くかと考えた時に、僕はやはりWEBベースで行ったほうが色々と知らない事を知れるのではないかなと思っています。
XCodeただ、時間もかかるかもしれませんね。
そして、予想に反せず範囲が広大すぎるので手に負えないかとも思っていますが。
ただ、
- フロントエンド
- バックエンド
- ネイティブアプリ
など、それぞれやっぱり全く異なりますから、様々な範囲へ行き来が出来るようになれるといいなと思ってます。
作りたいものの作り方がわかる状態に早くなりたいものです。
プログラミング初心者の方向けに、未経験からプログラミングスキルを学ぶ方法【職種別の記事まとめ】という記事をまとめていますので、ぜひ参考にしてみてください。
今回はこの辺で。