*

プログラミングを独学で身につけるための4ステップ(実践編)

公開日: : 最終更新日:2015/09/28 WEB全般, 講義 , ,

前回の記事ではプログラミングを独学で身につけるための心構え的なお話をしました。

今回は、実際にプログラミングを独学で身につけるための実際の学習の流れについてお話しします。

概念的なことはわかってもいざ、プログラミングを身につけるにはどうしたらいいかわからない・・・という方は多いと思います。

ここでは実際に順を追ってプログラミングを身につけるまでのステップをお話しさせていただきます。

一応、PHPでやることを前提にお話しさせてもらいます。

独学でプログラミングを身につけるための4ステップ

環境構築

プログラミングをやろう!とおもったらまず最初にその準備をしないといけないです。

プログラミングって普通のパソコン1台あれば始められますけれども、それなりにいろいろと準備があります。

そしてこの準備が非常に曲者です。プログラミングが嫌になってしまう原因の1つはこの準備である環境構築でしょう。

環境構築とはプログラミングを始めるのに必要なソフトウェアをダウンロードし、インストールして自分のパソコンで使えるようにすることなんですが、これがメンドイ(爆)

実際のエンジニアさんでも新しい現場なんかに行くとこれだけで1日が終わってしまいますし、情報がでてないようなソフトだと経験者でも簡単なコードを1行動かすのに環境構築で一苦労します。

XAMPPインストール

PHPの場合はXAMPPをインストールすることになりますので、本格的にやりたい方はXAMPPをインストールしましょう。

XAMPPがなんなのかということと、インストール手順などは下記の記事にキャプチャ付きでかいてあります。

参考:XAMPPとは何か

参考:XAMPPインストール

カンタンWEBサービス(wandbox)

ただ、独学者にとってはこの環境構築自体が壁になってしまいます。当たり前なんですけどコンピューターなんでスペース1つ、カンマ1つ打ち間違えても動きません。

CやJavaを独学者にお勧めしない原因もここにあります。環境構築がいろいろと面倒で、独学者&初心者には準備段階でつまづいてしまうことが多いんですね。

本の通りにやってもうまくインストールできない・・・なんて経験をした方も多いでしょう。

実際に授業をした時も半分以上の生徒は環境構築ができず、私が代わりにインストールしてました。

そこで実はXAMPPを使わずにWEB上でPHPを実行できるサービスがあります。

wandbox http://melpon.org/wandbox

このツールを使えばメンドクサイ環境構築をせずに済みます。

ここでPHPを選んで簡単な文字表示をしてみましょう。

wandboxのこまかい使い方などはいずれ書こうと思います。

PHP基本編構文&基本ルール編

一番最初にプログラミングを始めた場合は、やはり基本ルールを勉強するのがいいでしょう。

「成果物作成」が一番効率がいいのですが、いきなりなにも知らない初心者にお問い合わせフォームは作れないでしょう。

ここでは、

  • プログラミングの基本ルール
  • プログラミングの基本構文

を勉強する必要があります。

英語の勉強で例えると基本のアルファベットと中学1、2年生ぐらいの基本でしょうか。

さすがにこれぐらいの知識がないと英会話そのものができないように、プログラミングでも最低限のルールをまず覚える必要がでてきます。

最低限のルールってなんなのさ・・・

という方は下記リンクを参考に。(上から順にみていけば必要なことは身につくと思います。)

参考:プログラミングの基本ルール

参考:データを扱ってみよう その1(変数)

参考:データを扱ってみよう その2(配列)

参考:データを扱ってみよう その3(多次元配列)

参考:条件によって処理を分けよう(if)

参考:繰り返しを学ぼう その1(for,foreach)

参考:繰り返しを学ぼう その2(while)

参考:よく使う処理をまとめよう その1(関数)

参考:よく使う処理をまとめよう その2(関数)

参考:基本ルールのまとめ

ちなみに学習サイトなんで自社のコンテンツを使ってますけれども、この基本の部分はドットインストールでも前回紹介した初心者向けの本でもなんでもいいと思います。

書籍を考えている方は本屋さんにいって簡単そうだ!と思えそうな本を買ってきてください。

絵が、アニメ絵だったり、字が大きいなど初心者をターゲットにしていることがあきらかにわかる本がよいです。

そういった点でPHPの初心者向けの本は前回紹介したものに限らず、初心者に配慮したものがおおいですね。

お問い合わせフォームを作ってみよう

※ここからはXAMPPのインストールができてないとススメません。

上記の基本ルールがわかっていたら次に実際の成果物を作ってみるといいと思います。

一番最初の成果物ですが、とりあえず簡単なお問い合わせフォームがいいと思います。

お問い合わせフォームといっても最初は

  • 苗字と名前のデータが入力できる
  • 未入力の時に「~を入力してください」というメッセージを出力
  • エラーがない場合、画面にthanksの文字を出力

ができればOKです。

メールを送ったり、入力したデータをどこかに保存するような機能はつけなくても大丈夫です。

非常に簡単なお問い合わせフォームですが、それでも一番最初に作るのにはみなさん非常に苦労します。

作り方は下記リンクにコンテンツを載せておいたので、実際にお問い合わせフォームを作ってみたい方は参考にしてみてください。

参考:お問い合わせフォームを作ろう! その1(HTML)

参考:お問い合わせフォームを作ろう! その2(PHP)

参考:お問い合わせフォームを作ろう! その3(PHP)

参考:お問い合わせフォームを作ろう! その4(PHP)

成果物発展編

あとはこの成果物をどんどんカスタマイズし、発展させていくことです。

例えばどんなカスタマイズがいいかというと下記のように無限にあります。

項目を増やす

上で説明したものは単なるテキストで2つしかありませんでした。

また、入力チェックも未入力だけという簡単なものでしたが、実際のお問い合わせフォームはもっと多岐にわたります。

例えば

  • 電話番号など規則性のある文字のエラーチェック
  • ラジオボタンで性別の判定
  • プルダウンで生年月日
  • チェックボックスで交通手段
  • テキストエリアでその他、備考

などなど様々なバリデーションが考えられます。

これらを調べつつどんどん追加していきましょう。

外部への保存

一般的なお問い合わせフォームの場合、ユーザーのデータというのをどこかに保存しておきます。

上記のお問い合わせフォームだとユーザーが入力してもどこにも保存されません。

このように何かを保存する場合は外部の保存場所が必要になります。

一般的にはデータベースやテキストファイルといったものが多いですね。このようなものを使うと入力した値を保存しておくことができるのです。

サーバーにアップ

いままでは自分のパソコンの中だけで成果物を完結させていたと思いますが、このままでは当然、自分しかアクセスできません。

例えばできたものを友達に見てもらうことは当然できません。

できたものを友達や世界中の人に見てもらうには世界中からアクセスできるサーバーといわれるPCを用意する必要がでてきます。

そんなものどうやって用意すんの・・・という声が聞こえてきそうですが、

  • 自力で用意する方法
  • 借りる方法

の2つがあります。

自力で用意する場合は使っていない古いパソコンがあればそれをサーバーにします。

ただ、当然世界中からアクセスできるようにする必要がありますので、とっても難しいです。

難しいというか自分一人ではできません。プロバイダに連絡したりしないといけないですし、できないこともあります。セキュリティの知識とかもいろいろいります。

今だと2番目の「借りる」を選択する人が圧倒的でしょう。

金額も安いものですと月数百円のものがたくさんあります。

こういった借りるサーバーのことをレンタルサーバーといいます。

有名どころでは

ロリポップ http://lolipop.jp/

さくら  http://www.sakura.ad.jp/

などでしょうか。

上記2つは過去に私が使ったことがあります。

サービスの違いなどですが、初心者のうちは気にしないようにしましょう。

というか、知識なくて気にできないので、一番安いコースを選べばOKです(笑)

あえていうとユーザー数が多く、画面なんかも初心者向けのロリポップですかね。画面をみてアレルギーがでないのは大事です。

ここで契約してサーバーを借り、作ったPHPのソースを送って自分のパソコンからみれればOKです。

ソースをきれいにする

プログラムも勉強のしはじめは意図通りに動かすことで精いっぱいだと思いますが、慣れてきたらできるだけきれいなソースを書くようにしましょう。

プログラムも絵と同じようにきれい、汚いってあるんです、実は。

あ、決してフォントとかの話ではないです。

んでもってソースがきれい、汚いっていうのは決して、特殊なフェチとかじゃなくて(笑)プログラマなら多かれ少なかれこの感覚を持ってます。

わかんない人からみたら単なる暗号なんですけどね(汗)

実は同じお問い合わせフォームを作るのでも初心者が作るのと達人が作るのではまるで作りが違います。

きれいとか汚いっていう感覚はプログラマの自己満足ではなくて、きれいに書いたほうが実務で役に立ちます。

では一般的にいわれるきれいなプログラムとはどんなことかというと下記の2点だと思います。

修正・追加が楽

まず第1にお客さんから「あそこ直して―」とか「この機能追加してくれない?」って言われたときにすぐに追加できるかどうか。

プログラムってものづくりではあるんですが、家や家電なんかと比べると実体がないだけに修正があることが一般的です。

家でもリフォームなんてあるとは思いますけど、プログラムに比べると構造を根本的に変えたり・・なんてことは少ないと思います。

プログラムの場合は比較的しょっちゅうあるんです、これが(汗)

その時に修正に強いプログラムであればすぐに対応できますけど、そうでないプログラムだと修正時間が大変になります。

だから日頃から修正や追加に備えてきれいなプログラムを書いておく必要があるわけです。

しかも汚いプログラムって直すと別の場所がおかしくなったりとか大変なことが起こります(汗)

これは他人の汚いプログラムを直す仕事をするとすごく実感します・・・

こういった修正のしやすさのことを専門用語で保守性なんていいますね。

一般的に言うときれいなコード=保守性が高いといえます。

他人が読んだ時に読みやすい

もう1つは保守性にもつながりますが、他人が見てわかりやすいかです。

これはプログラミングに限りませんが、仕事って基本的にチームでやるもんですから、他人が自分の作品をさわることを前提に作らないといけません。

書類1つ作るんでも、当然他人がみて何がかいてあるのか、何をしようとしているのかがわかる必要があります。

プログラムも全く同じでして、自分だけではなく、他人がみてわかりやすいプログラムというものが求められます。

これを可読性といい、きれいなコード=可読性が高いと言えます。

上記の要素が多く含んでいるプログラムをきれいなプログラム。少ないものを汚いプログラムと呼びます。

最初はとにかく動かすことで精いっぱいかと思いますが、慣れてきたらなるべくきれいなプログラム、保守性と可読性に注意してみましょう。

ちなみにどういうプログラムが保守性、可読性が高いかというのは下記書籍にわかりやすく書いてあります。

参考:良いコードを書く技術

あまり有名な本ではないですが対話形式だったり、とても読みやすく初心者向け。

参考:リーダブルコード

この分野でバイブル的な本ですが、ちょっとムズイ。かなり力がついてからという気がします。

概念的なことの理解を深める

このように単なるお問い合わせフォームでも拡張させていくと無限に可能性は広がってきます。

そうやってカスタマイズをしているうちに

  • この処理はどうやるのか
  • 似たような処理は動いたのに今回の処理はなぜ動かないのか
  • もっと効率のいい書き方はないのか

といった疑問がでてくると思います。

その段階で言語の概念的なことを覚えておけばOKです。

前回も紹介しましたが、PHPでいうとパーフェクトPHPがおすすめ。

参考:パーフェクトPHP

まとめ

まとめると

  • 環境構築
  • 基本ルール理解
  • 基本的な成果物の作成
  • 成果物自体のレベルアップ

という順番でしょうか。

私はずっとこれでやってきたのと生徒にも基本これで学習をさせました。

独学でやるとどうしてもわからない箇所がでてくるのでその場合はひたすら検索することになりますが、わからなければコメント欄で質問してもらってもOKです。

関連記事

PHPで掲示板を作ろう! 掲示板の作成方法 まとめ

さて4回にわけて、掲示板のプログラムを学習してきました。 見た目は超シンプルで実際に動かしてみ

記事を読む

データを扱ってみよう その1(変数)

こんにちわ、松本です。 前回の記事は読んでいただけたでしょうか。私よりPHPに関して知識のある

記事を読む

お問い合わせフォームを作ろう! その1(HTML)

このサイト、PHPの学習サイトなのに内容から遠ざかっていました(爆) 個人的にはプログラミング

記事を読む

プログラミングが初心者にとって難しい4つの理由

今回は初心者がプログラミングをやるのがなぜ難しいかをしっかり書いていこうかと思います(爆)。

記事を読む

PHPはなぜ簡単といわれるのか?

最近ではブラック企業と同じような意味合いでブラックバイトなんて言葉があるらしいですね。 ただ定

記事を読む

なぜPHPなのか

はじめまして、プログラミングの講師を担当させていただきます、松本と申します。 このたび、株式会

記事を読む

理論と実践のバランス

ネタ不足&開発のほうが忙しく、一か月以上書いておりませんでした。 今回は漠然とスキルアップする

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その4 総まとめ編

前3回の記事でWEBサービスを作ったお話をさせていただきました。 (前回までのお話し)

記事を読む

オブジェクト指向 その2 「設計図」と「部品」

それではオブジェクト指向を具体的に解説していこうと思います。といっても、天才でない限り、初学者でいき

記事を読む

文字化けを回避するには

こんにちは。松本です。 最近は実務ではJavaをやっていることが多いのですが、まだ普及していな

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

→もっと見る

  • follow us in feedly
PAGE TOP ↑