懋(ぼう)の技術研鑚帳

自分の情報技術の勉強をまとめていくブログ

ドットインストールでCakephp勉強する際の注意点と補足(XAMPP環境)

どうも、懋です。

 

今日は、ちょうどクリスマスということで、ケーキ!

ケーキということでCakephpについて書いていこうと思います。

 

まず、Cakephpとは何ぞや?という話ですが、

CakephpとはPHPの代表的なWebフレームワークのひとつです。

 

また、フレームワークとは何ぞやですが、

色んな言い方がされていますが、簡単にいえば

よく使う共通の機能を同じ形で簡単にコーディングできるように設計されているシステム

くらいのイメージのものかなと思います。

 

Cakephpは、nanapiなど大手のサイトの開発でも扱われていて、日本でも取り扱っている人が多く、勉強資源も多いことがメリットとして挙げられます。

 

さて、そんなCakephpですが、その勉強のために今回もドットインストールさんにお世話になりました。

CakePHP入門 (全32回) - プログラミングならドットインストール

 

今回のエントリーでは、そのドットインストールの講義で勉強していく中で、注意するべき点や補足として知っておいた方がよいなと思ったことをまとめていきたいと思います。

 

セッティングについて(主にXAMPP)

セッティングもXAMPP環境でやっていたので若干違ったり、バージョンもアップしていたのでプラスでセッティングしなければいけませんでした。

 

それを補う上で役に立ったのがこちらのサイトです。

xampp環境にCakePHPをインストール | 大八プレス

 

初期のエラーメッセージはこちらを参考にすると大方消せるかなと思います。

 

あと、データベースの設定はこちら

導入編: CakePHPフレームワークで行こう

 

例えば、自分に関してはloginをroot、password空白で自分はデータベースを設定しましたが、そのような部分も気をつけて設定していけばいいと思います。

 

あと、tmpフォルダの所有者設定についてですが、自分に関しては自分のパソコンでローカル環境でやってたこともあって、特に設定の必要はなさそうな感じでした。

 

MVCモデルについて

次にMVCモデルに入っていくのですが、ここでも流しでやってると疑問が色々思い浮かんでくるので、ここらへんを押さえてやっていけば、もっとスムーズにいくのでは?と思います。

①モデルの単数形とデータベースの複数形が一致するよう設定されている。


②モデルの単数形とコントローラーの複数形が一致するよう設定されている。

 

③Postsのコントローラー(PostsController)を作成したので、Postsのビューがいる。

→ ビュー内にPostsフォルダとコントローラーで設定した関数名に適合したファイル(ここではindex.ctp)作成

 

④URLも複数形(小文字)となる。

※ もしURLを単数形にすると、単数形のコントローラーとビューが必要というエラーが出る

 

以下のサイト2つはMVCの勉強を進めていく上で大変参考になりました。

cakephp2.x - CakePHPのテーブル名「単語の複数形」について - Qiita

cakePHP2.xの命名規約 | CakePHP2.1初心者メモ

 

関数について

やっていく中で関数でつまづいて、悩んだものもいくつかありました。

それらについて、理解を深める上で良かったサイトをいくつか紹介していきます。

 

$this->Html->link

CakePHP htmlヘルパーでリンクを出力する -でじうぃき

 

$this->redirect

CakePHPでリダイレクトの際にパラメーターを設定する | システムサポート技術ブログ

 

配列のコントローラーの省略や引数渡しの部分については上2つは似ている感じなので一緒に参考にするとよいかもしれません。

 

find関数関係

データを取得する — CakePHP Cookbook 2.x ドキュメント

 

その他

HTMLヘルパーでの呼び出しならリクエストにget、Formヘルパーでの呼び出しならリクエストにpostがそれぞれコントローラーに返される?(関連記事見つけれず…)

 

Modelにおいて、そもそもtitleとbodyが空白のデータは追加出来ないように設定しておく(Modelはデータベースと直結) ※ #16

 

アソシエーションが設定されているので、indexの「 $this->set('posts', $this->Post->find('all')); 」「<?php foreach ($posts as $post) : ?>」で$postの配列にCommentの要素も格納されている。※ #28

 

以上が、今回のエントリーのまとめです!

 

もし、Cakephpをドットインストールで勉強する際には是非とも参考にしてください!

 

それでは、今後とも頑張っていきましょう^-^

 

ではでは~!

オブジェクト指向について

どうも、懋です。

今日はオブジェクト指向についてです。

 

とはいえ、文章ではあんまり上手くまとめるのは難しいので、

イメージを紙に書き出してみました。

 

f:id:vermillioncity:20141224225907j:plain

参考にしたのは、以下のようなサイトです。

オブジェクトとは (object): - IT用語辞典バイナリ

関数にしか見えないものが「メソッド」と新たな名前で呼ばれる理由(1) - Programmer’s Log

Javaの道:クラス(10.thisの利用)

 

それと、いつものドットインストールの複数の講座

ドットインストール - 3分動画でマスターする初心者向けプログラミング学習サイト

 

図に補足すると、thisは現在のオブジェクトを表すので、図では注釈としてクラスでのメンバ関数を考えるみたいな書き方をしていますが(詳しくは3つ目のサイトを参考)、クラスもインスタンスもオブジェクトなのでthisを使えますといったような形です。

 

あまり、参考になるかは微妙ですが、もしよければ参考にして頂けたらと思います。

 

今日は超短いですが(図でほとんどの話がついてしまうため^^;)

以上です!

 

引き続き勉強を進めて参りたいと思います。

今後ともよろしくお願いいたします。

 

それでは、失礼します!

javascript基礎勉強法(α版)

どうも、懋です。

今日はjavascriptの勉強法についてです。

 

とはいえ、javascriptについては基礎をやっただけで、まだ実践ではほとんど使ってないので、あくまでα版ということでエントリーを書きます。

 

自分の勉強法としては、元々C言語プログラマであったこともあり、javascriptの処理の書き方(変数や分岐、繰り返し文など)がC言語とほとんど同じであったこともあって、まずは基本的な書き方をしっかり身につける。

その上で、Webページ上でjavascript動かすための基本的な実践を行うという方向性で勉強を行いました。

 

そのステップで使ったのが以下のサイトと本です。

JavaScript入門 (全24回) - プログラミングならドットインストール

よくわかるゼロからはじめるJavaScript (よくわかるトレーニングテキスト)

 

まず、

JavaScript入門 (全24回) - プログラミングならドットインストール

で一通り勉強を行います。

 

このページはどちらかというとjavascriptのプログラミング理論よりなので、Webページ上での実践の話はあまり出てきません(それを補うのが一緒に紹介している本だったりします)

そういうわけで、理論の話が主になってしまいますが、理論が中途半端だと初期はサンプルコードなどで実践が上手くいってもあとから何がなんだかわからなくなるので、こっちもしっかりやっとくべきかと判断しました。

主に基本的な処理の仕方からオブジェクト指向の話までがここでは扱われています。

 

次に

よくわかるゼロからはじめるJavaScript (よくわかるトレーニングテキスト)

で一通り実践します。

 

上記のサイトで最終章で紹介されているDOMの実践から、画像の効果やウィンドウの効果の付け方、日時の設定、フォームの処理までが一通り学習出来て、ちょうど上記サイトの繋ぎとしてもってこいのテキストかと思います。

逆に理論の話は少ないので、ちょうど上記のサイトと弱い部分を埋め合う感じでバランスがいいです。

 

以上が、javascriptの基礎を勉強する上で、今回自分が行ったことです。

 

今回は短めですが、あくまでまだまだ素人なので、作業していくと見えてくることがあるかもしれません。

そのときは、また内容を継ぎ足していこうと思います。

 

引き続き勉強を進めていきます。

今後ともよろしくお願いします。

では!

 

C言語プログラマのためのPHP入門メリットと勉強法

どうも、懋です。

 

今日のエントリーでは、C言語プログラマだった自分が、PHPの勉強をはじめる際にやったステップをまとめて行けたらと思っています。

 

そもそも何故PHPか?

PHPを勉強しようと思った動機としては、

 

単純に勉強してみたかった。

 

まず、これが第一だったりします笑

 

自分が中学生くらいのとき(2000年代半ば)にPHPが流行りだして、当時主流だったPerlからPHPCGIスクリプトがどんどん変遷していっていました。

それまで、Perlが当たり前だったのに、処理スピードや使用性の高さで最新技術のPHPがどんどん過去の技術を凌駕していく。

そんなを目の当たりにして、子供ながらに非常にワクワクして、子供ながらに将来これを勉強してみたいとか考えていました。

 

ただ、メリットとして考えたときに、特にC言語プログラマから見て、以下のようなメリットがあるかなと思います。

 

C言語と処理がそっくり

if文、switch文の条件分岐、for文、while文の繰り返し文、ファイルの入出力処理などの記述方法はC言語とまんま同じです。

変数・配列の定義の方法や細かい部分は当然異なるものの、C言語プログラマにとってかなり勉強しやすいかと感じます。

 

Webプログラミングを勉強する上で一番勉強しやすい(と言われている)

PHPがWebプログラミングに特化した言語ということもあって、数あるWebプログラミングが出来る言語の中でも、勉強資源も豊富で一番勉強しやすいと言われています(C以外の他の言語はまだあまり勉強したことないので細かい部分はよくわからないです)

勉強のために必要なハードとの兼ね合いなどの背景知識も、他の言語と比べて少なく済むみたいな話も聞いています。

また、無料サーバーで実際にWeb上で実践する際にもほとんどのサーバーにあらかじめPHPがセッティングしてあるので、そのことを考えてもかなり勉強しやすいのではと感じます。

 

Webプログラミングの主流はPHP

PHPだけでなく、RubyPythonなどもどんどん存在感を増してきていますが、まだまだ主流はPHP

最近でもこんな記事がありました。

【Javaが恐ろしく強い】転職時に希望するプログラミング言語ランキング - paiza開発日誌

プログラミング言語人気ランキングとその傾向 | Code部

個人での勉強のみならず就職・転職の観点で考えても、やはりまだまだPHPが強いのかなと感じます。

 

PHPの最初の勉強方法

個人的には、以下のような勉強方法を今のところ勧めます。

 

用意するものは、

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

の本と

PHP入門(基本編) (全32回) - プログラミングならドットインストール

PHP入門(応用編) (全12回) - プログラミングならドットインストール

のドットインストールの動画2つです。

 

ドットインストールは無料で色んなプログラミングの講習してくれる、本当に素晴らしいお勧めのサイトです^^

PHP以外の勉強でもドットインストールは本当にオススメです。

 

勉強をはじめる前の前提として、HTMLの知識がないと全然勉強できないと思うので、HTMLの知識のない人はまずはそっちをした方がよいかなと感じます。

 

勉強順序としては、

 

まず

PHP入門(基本編) (全32回) - プログラミングならドットインストール

を流しでやります。

もしC言語プログラマなら、先述の通りC言語とかなり似ているので復習感覚で勉強はかなりやりやすいはず。

 

次に

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

で実践。

XAMPPというPHPを動かすサーバーの構築から、PHPの実践。PHPで動かせるデータベースであるMySQLの実践までを行います。

 

最後に

PHP入門(応用編) (全12回) - プログラミングならドットインストール

MySQLの復習(先にこっちをやるより、一度実践してからこっちで復習した方が流れをイメージしやすく学習できる)やオブジェクト指向の学習を行う。

 

これで、PHP関連の一通りの基礎はマスターできるのではないかと感じます。

 

以上が、今回のエントリーです。

自分もまだまだ勉強不足なので、どんどん勉強を進めていきたいと思います。

 

それでは、失礼します。

WordprssテーマのGushがSEO、デザイン改変にも非常に使いやすい

どうも、懋です。

今日はWordprssのテーマについてです。

 

最近、先日も紹介したxdomainでWordprssのブログ始めたのですが、

 

ブログのデザインテーマをどうするか?

 

これについて大変悩んでおりました。

 

もともとあらかじめ、たくさんのテーマが用意されているWordprssですが、

やはり出来ることならデザインまで自分のイメージ通りのものを作りたい。

 

一方で、

一からテーマ作り行うのもphpやったことないし、そもそもWordprssやったことないしで敷居が高過ぎ…

 

また、

テーマを見つけてくるなら、読むべき人に読んでもらいたいので、SEO対策もしっかりしたものがよい

 

そのように考えたときに、

 

SEO対策しっかりしてて、

シンプルでカスタマイズしやすくて、

ベースのデザインもわかりやすく、

レスポンシブデザインに対応

 

そんな自分の理想をかなえてくれるテーマを探しておりました。

 

そうは言っても、なかなか自分のイメージ通りのものは見つからず、作業は骨が折れました。

いや、こんな理想的なテーマそもそも本当にあるの?って感じでしたが(^_^;)

 

そのとき、

 

Gush

 

これを見つけました。

 

詳しく調べてみても、自分が欲しいものに極めて近い。

 

元々のデザインが超シンプルでわかりやすく、SEO対策・レスポンシブデザインもしっかりなされている

それなのに完全無料

 

「これめっちゃヤバくね?w」とビビッときてすぐさまダウンロードし、Wordprssにインストール。

早速使ってみることにしました。

 

そして、実際にセッティングして、カスタマイズを始めてみたのですが、

ソースコードもシンプルで非常に編集しやすくてびっくりしました…

ユーザーがデザインカスタムしやすいようコメントアウトもしっかり書かれている。

 

最終的にそんな自分の理想に近いページを作ることが出来そうです!

 

いや、本当に素晴らしいです…

目からウロコって本当にこのことです(^_^;)

 

本当に同じような境遇の人がいたら強くGush勧めます!!

 

百聞は一見に如かず!

気になった人は是非ともGushのサイトやGushで作られたページを調べてみてください(^^)

 

一緒にいいものを作っていきましょう♪

 

今日の日記は以上です!

 

Web・IT関係の勉強経過(~2014/09/24)

どうも、懋です。

 

今日は自分のWeb関係の勉強経過についてです。

今日の内容は、シェアというより自分のやってきたことをまとめる日記みたいな感じです。

それと今後の方針をここでしっかり明白にしておきたいというのもあります。

 

赤はだいたいOK、青はあと少しやりたい、緑はこれから、黄色はもう少しあとで色分けしつつまとめていきたいと思います。

 

技術的なこと

HTML(~HTML5

講習会および「HTMLクイックリファレンス」で基礎はだいたいOKだと思います

 

CSS(~CSS3)

講習会および「HTMLクイックリファレンス」で基礎はだいたいOKだと思います

(ただもう少し技術的に何が出来るか勉強したいです)

 

javascript

基礎用の本は買って、これから。

jQueryなど、どんなライブラリがあるか、何が出来るかまで勉強したいです。

 

PHP

こちらも基礎用の本は買って、これから。

PHP単体を抑えたあと、コンテンツ全体からの活用の流れやMySQL、その他データベースの使用法などを押さえることを頑張りたいです。

 

Perl

勉強したいが、出来ることがPHPと近いこともあり、時間的にもう少しあとに回した方が良さそうかと思っています。

 

デザイン的なこと

デザイン基礎

講習やプレゼンデザインを学んだ際に身に付けたこともあり一応青。

ただ、まだまだリサーチ不足やページ作成不足なので勉強、実践共に足りていない感じです。

緑に近い青です。

 

グラフィックデザイン

自分より能力の高い人に任せられる部分でもあるので、後回しで良さそうです。

 

Web製作関係

SEO対策

だいたい基本は押さえれたかとは思っています。

SEO原理原則50選」の50項目とシンプルなチェックリストとして「seoマスタープロフェッショナルの診断項目」が良かったかと思います。

 

あとは、以下のサイトがそれぞれ参考になりました!

基本的なタイトルタグとメタディスクリプションの考え方 

ちゃんと使い分けてる?alt属性とtitle属性の違いについて

SEOに強いnanapiに学ぶ!metaタグの設定方法

 

アクセス解析ツール

どれ使うかという話については、「無料で簡単に使えるアクセス解析 オススメ9選 」が詳しかったので、ここを参考にしました!

そのことから、自分のサイトではGoogle Analyticsを導入しています。

ただ、どれ選ぶかについては理解したものの、Analyticsの使用法の押さえ方がまだまだ不十分かなということから青にしました。

 

Googleツール

ウェブマスターツール(ページチェック)

②Analytics(アクセス解析

Adsense(広告掲載側)⇔ ④Adwords(広告依頼側)

一応、①~③は全部使ってみて、どんなこと出来るかの最低限は押さえれているつもりでいます。

ただ、あくまで最低限なのでこちらももう少し追って勉強が必要でしょう。

 

アフィリエイトツール

Google Adsense = ユーザ心理から適切な広告を表示してくれる

A8.net = 貼りたいリンク広告がたくさんある。登録審査も容易。

Amazon = 商品リンク(主に書籍)を貼りたいとき有効

楽天 = 商品リンクや閲覧商品のリマインド広告

 

現状、最低限この4点ということで理解していますが、まだまだ勉強不足です。

こちらはPR方法含めもっと勉強すべきかと思っています。

 

Web運用

ドメイン関係

中学時代からやっているので一応押さえれているかなとは思っています。

 

サーバー関係(レンタル的な意味)

レンタルするというレベルでは押さえれているかなと思います。

ただ、インフラ関係は全くダメなので、自分での運用と言う意味ではイエローで、現状はその部分に強い人に頼るのがよいのではと思います(自分はまずはコーディングがしっかり出来るよう頑張る)

 

その他

C言語

大学入ってずっとやっている言語ですが、理解が足りていないなと思うこともあり、完璧に理解できるよう再勉強したいと思っています。

優先順位的になかなか先になるでしょうが...

 

JAVA

JAVAが全然使えず足を引っ張っている(オブジェクト指向的な意味でプログラミングの基礎をまだまだ理解出来ていない)ので、早急にやりたいと思います。

 

C++

JAVAと出来ることが似ているので、勉強の負担的に少しあとに回そうかと思っています。

 

Python or Ruby

プログラミングとして、どちらかひとつは身につけてみたいと思っています。

 

Objective C

iPhoneアプリを作ってみたい気持ちもありますが、Webアプリを作りたいという想いが先なのでまずはそちらを優先したいです。

 

応用情報技術者

基本情報は過去のエントリー「基本情報技術者合格の超シンプルな勉強法まとめ 」でも記した形で持ってはいるのですが、応用情報の知識はまだまだです。

優先順位的にも舵取りが難しく感じますが、10月まだまだやること多いことを考えると4月の方が良いかもとか考えています(~_~;)

 

以上がこれまでの経過まとめです!

 

 

技術的にも、HTML・CSSで出来ることもだいたい掴めてきたので、次はjavascriptPHP(+MySQL)に移っていこうと思います!(あとJAVAもですね)

 

一応、今日で自分の中でのコミットメントだったはてなブログの7日連続更新は終えれました!\(^^)/

 

ただ、勉強ペース遅れてるんで、これからは無理に書かず、やることやって書いていけれたらなと思っています^^;

 

今後とも頑張ります!

基本情報技術者合格の超シンプルな勉強法まとめ

どうも、懋です。

今日は、以前合格した基本情報技術者の勉強法についてです。

 

とは言っても、自分の勉強法は至ってシンプルです。

 

やさしい基本情報技術者講座 2014年版 (やさしい講座シリーズ)

 

解説のわかりやすさで定評のあるやさしいCでもおなじみの高橋麻奈さんの著書です。

この本の解説も大変わかりやすかったですし、合格には本はこれ一冊しか使いませんでした。

 

なので、基本情報の勉強法なのですが、

この本のみを頑張って勉強して、過去問を解きまくる。

 

過去問からも同じ問題が多く出されるので、なるべく多くの年数やっとくべきです!

(そう言いながらも自分は当時半端なく忙しくて半年分解くのがやっとでした^^;)

 

確か当時1か月でどんくらい寝れたんだろうとかそんな次元だったくらい忙しい時期だったので、あまり基本情報に時間を割けなかったというのも正直なところです(~_~;)

それでも一発で合格出来たあたり、改めてこの本の凄さを実感してます!

 

余談を挟みましたが、このセオリーが情報を集め、実際に試した実感として一番かなと思っています。

 

過去問に関しては、主催のIPAのサイトに以下のように載っています。

IPA 独立行政法人 情報処理推進機構:試験要綱・シラバス・過去問題 など

 

解答のわからないところもネットで調べて十分でした(半年分しか解いてないのであまり説得力あんまないかもしれませんが苦笑)

 

過去問解説の本もあるのですが、個人的には基本情報の勉強は上記の一冊とネットの情報で十分かなーって感じです。

情報系やるのにネットで調べる能力身につけておくのも大事かなと思いますし、

たくさん本があっても、どれやるべきか迷いが出て逆に効率悪くなりますしね(^_^;)

 

今回は短いですが、以上が今回の記事になります!(記事もシンプルということで)

もし、これから基本情報を受ける予定のある人、是非とも参考にされてください(^-^)/

それでは、失礼しますm(_ _)m