2018-11-04

増田プログラマー養成講座 その17 Webアプリの骨組み

前回は、Webアプリの完成見本を先に見てみました。

今回は、Webアプリを作る途中の過程を見て、作る雰囲気を一緒に味わってみましょう。

 

フレームワーク使用ルール=「設定より規約」=手抜きをする仕組み

最近フレームワークは、「設定より規約」(CoC、convention over configuration)という発想で作られている。

フレームワーク規約使用ルール)に従うと、プログラマー作業量が減って、楽ができる。

 

設定より規約(convention over configuration)とは、開発者の決定すべきことを減少させ、単純にするが柔軟性は失わせないというソフトウェア設計パラダイム

使用しているツール実装した規約開発者の望む動作と一致していれば、設定ファイルを書く必要もない。実装規約と望みの動作が違っている場合必要動作を設定しなければならない。

 

最近フレームワークは「設定より規約アプローチ採用しているものが多い。

例えば、Ruby on Rails、Kohana、Grails、GrokZend FrameworkCakePHPSymfony などがある。

 

CodeIgniter使用ルール

CodeIgniter使用ルールは、マニュアルチュートリアル確認できる。

↑このページの「アプリケーションフローチャート」を見てみよう。

 

  1. 一番左の「index.php」が、Webアプリ入口になっている。(エントリーポイントフロントコントローラーパターン等ともいう)
  2. から2番目の上段「Routing」で、URLに応じて、仕事の振り分け先を決定する。(ディスパッチ、マッピングルーティング等ともいう)
  3. から4番目の「Application Controller」で、具体的な処理の指示を出す。
    1. Application Controllerは、「Model」に必要データを用意させる。
    2. Application Controllerは、「View」に表示用の画面を作らせる。
    3. Application Controllerが、index.phpに表示用の画面を渡す。
  4. 表示用の画面(最終的な処理の結果)を受け取った「index.php」は、ユーザーブラウザー)に画面を渡す。

 

 


 

それでは、CodeIgniterプログラマーが用意する部分のM(Model)とV(View)とC(Application Controller)を、骨組みから作ってみよう。

事前準備として、前々回と前回のWebアプリ完成見本を用意するところまでやっておこう。

 

スケルトンとは?

スケルトン(skeleton, 骨格)とは動物人間の骨格。

コンピュータプログラムコードの骨格部分。プログラムコード作成では、初期段階でスケルトン作成し、その後で詳細部分を肉付けしていく。

 

 

 

Application Controllerの骨組み

まずは、MVCのCの骨組みを作ろう。

Controllerは、ユーザーからリクエストを受け付けて、ModelViewに指示を出す監督です。

 

上記フォルダの中に「Welcome.php」というファイルを作る。(デフォルトであるはずなので、それを使ってOK

 

CodeIgniterルールで、Application Controllerを置く場所は「application/controllers」というフォルダになっている。

CodeIgniterルールで、一番最初に呼び出されるApplication Controllerは「Welcome.php」というファイルになっている。

→これは「C:\xampp\htdocs\waf\application\config\routes.php」という設定ファイルで決められている。

$route['default_controller'] = 'welcome'; // 別の名前にすれば変えられる。

 

「Welcome.php」の中身を以下にように変更する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 // 初期画面

 public function index()

 {

  echo "Here is index()";

 }

 // 更新画面

 public function update()

 {

  echo "Here is update()";

 }

 // 削除画面

 public function delete()

 {

  echo "Here is delete()";

 }

}

これがチャットApplication Controllerとして動作する最小限の内容=骨格だ。

 

継承

class Welcome extends CI_Controller

という行に注目してみよう。

CodeIgniterで用意されてる「CI_Controller」クラス継承して、プログラマーが「Welcome」クラスを作ってる。

継承によって、フレームワークが用意してる様々な機能をWelcomeクラス内で使えるようになる。

 

URLリクエスト)とControllerの対応マッピング)のルール

「Welcome」クラスの中に、「index()」「update()」「delete()」という3つのメソッドを用意した。

CodeIgniterURLは、Action Controllerのクラス名やメソッド名とひもづけられている。

今回作るWebアプリだと、

「http://localhost/waf/クラス名/メソッド名」

という対応関係になっている。

(例)

http://localhost/waf/        →Welcomeクラスindex()メソッドが呼び出される。

http://localhost/waf/welcome/index  →Welcomeクラスindex()メソッドが呼び出される。

http://localhost/waf/welcome/update →Welcomeクラスのupdate()メソッドが呼び出される。

http://localhost/waf/welcome/delete →Welcomeクラスdelete()メソッドが呼び出される。

 

 

 

Viewの骨組み

次にMVCのVの骨組みを作ろう。

ビューは、表示する画面の部分です。HTMLWebページの構造を書きます

 

 

welcome_index.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>新規投稿</h2>

 </body>

</html>

 

chat_update.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>編集</h2>

 </body>

</html>

 

chat_delete.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>削除</h2>

 </body>

</html>

 

Viewファイルの追加に合わせて、Controllerも一部変更します。

 

Welcome.php編集

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->helper('url');

 }

 

 // 初期画面

 public function index()

 {

  $this->load->view('welcome_index');

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

(変更点の説明

コンストラクターの追加

コンストラクター「__construct()」は、クラスからインスタンスが作られるとき自動的に実行されるメソッドだ。コンストラクターは、初期化最初にやっておくべき下準備を書いておく。

$this->load->helper('url');

CodeIgniterには、リンクの表示を補助する「URLヘルパー」という機能が用意されている。

上記のように書くとURLヘルパーを呼び出して、使えるようになる。

Viewファイルの以下の行でURLヘルパーを使っている。=「base_url()」という関数URLヘルパーの1つ。

<base href="<?php echo base_url(); ?>">

 

ビュー読み込みメソッドの追加

$this->load->view('welcome_index');

というメソッドによって、Viewファイルの「welcome_index.php」を呼び出し、画面を出力します。

 

これでMVCのCとVの骨組みができた。

今の段階でWebブラウザーで各ページを表示させると、各Viewファイルの中身が表示される。

 

 

 

Modelの骨組み

次にMVCのMの骨組みを作ろう。

モデルは、具体的な処理内容(ロジック)を書いて、データを読み書きする部分です。

データベースを操作するSQL文もモデルに書きます

 

上記フォルダの中に「Chat_model.php」というファイルを作り、以下の内容にして保存する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Chat_model extends CI_Model

{

 public function __construct()

 {

  parent::__construct();

  $this->load->database();

 }

}

 

CodeIgniterで用意されてる「CI_Modelクラス継承して、プログラマーが「Chat_modelクラスを作ってる。

「Chat_modelクラスコンストラクターには、以下のように書いている。

$this->load->database();

これは、データベースを使用する準備だ。

 

Modelの追加に合わせて、さらにControllerも一部変更します。

 

Welcome.php編集

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->model('chat_model');

  $this->load->helper('url');

 }

 

 // 初期画面

 public function index()

 {

  $this->load->view('welcome_index');

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

コンストラクター

$this->load->model('chat_model');

と書いて、「Chat_model」というモデルを読み込むようにした。

これで、モデルに用意するいろんな機能コントローラーで使えるようになる。

 

 

 

以上で、MVCの骨組み(スケルトン)だけを作成するプロセスを見ていきました。

まだ中身はスカスカで、何も機能がついてませんね。

次回は、データベースのCRUD操作を行なって、チャットメッセージを追加/取得/変更/削除する機能実装してみましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベースの参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み ←★今ここ★

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

記事への反応 -
  • 増田式プログラマー養成講座 コンテンツ一覧

    コンテンツが増えてきたので、一覧ページを用意します。   anond:20181016015826 増田式プログラマー養成講座 その1 パソコンの用意 anond:20181016164341 増田式プログラマー養成講座 そ...

    • 増田式プログラマー養成講座 その1 パソコンの用意

      自宅と会社のプログラミングの環境(機材、ソフトなど)を教えて?   (例) 自宅:パソコンを持ってない。スマホ(iPhone7)のみ。 会社:パソコンのスペック(OS、CPU、メモリ、HDDの...

    • 増田式プログラマー養成講座 その2 プログラム=データ+処理

      プログラムとは何か? プログラムは、コンピューター(電子計算機)に与える指示書のこと。 人間がプログラム(コード)を書いてコンピューターに与えると、コンピューターはプロ...

    • 増田式プログラマー養成講座 その3 構造化=順次、反復、分岐

      それではさっそく、一番簡単な手続型プログラミング言語の使い方を学んでみよう。   今回学ぶこと 手続型のキーワードは、「順次」「反復」「分岐」の3つ。(この3つの動作は人...

    • 増田式プログラマー養成講座 その4 子ども向け教材「Scratch」

      今回は、子ども向けプログラミング学習教材「Scratch」(スクラッチ)を使って、一番簡単な構造化プログラミングの手法を学んでみよう。   Scratchとは何か? Scratch (プログラミング言...

      • anond:20181016193144

        おお、4歳児にプログラム教えたいんで ちょうどスクラッチのこと知りたかった ありがとう

    • 増田式プログラマー養成講座 その5 オブジェクトとは何か?

      今回は、手続型プログラミングの後半となる「オブジェクト指向プログラミング」(OOP)について学ぼう。 OOPは内容が多いので数回に分けて説明してみます。(説明が下手だったらフォ...

    • 増田式プログラマー養成講座 その6 OOPの種類、PHPの準備

      前回は、オブジェクトの説明をした。 今回は、オブジェクトの使い方=オブジェクト指向プログラミング(OOP)を学ぼう。   OOPの種類 オブジェクト指向プログラミングには、 クラス...

      • 増田の致命的な欠陥!?

        増田でプログラミングの記事を書こうと思ったら、コードが貼り付けられなかった。 スクリプトの記述はエスケープされてしまい、はてな記法も使えなかった。 仕方ないので、コード無...

        • anond:20181017192611

          Qiitaでやれよ

          • anond:20181017192644

            Qiitaって評判悪いね?   Qiitaは潰れて欲しいのに・・・ https://anond.hatelabo.jp/20181017203823 Qiitaで何があったのか https://anond.hatelabo.jp/20150127003906

            • anond:20181018075427

              殺人犯出してる増田の評判にはかなわない

              • anond:20181018142423

                増田の殺人犯T氏はQiita評判低下の原因のK氏を熱心に擁護してたから、Qiitaは実質増田

        • anond:20181017192611

          ブログでやれ

        • anond:20181017192611

          スーパーpre記法(シンタックス・ハイライト)だめなん?

      • プログラムの実行環境の用意

        PHPの実行環境として、XAMPPを用意してもらったけど、これは後でデータベースの練習をすることも考えてチョイスしました。 =MySQLを使って「SQL」(問合型言語)の練習をするため。 だ...

    • 増田式プログラマー養成講座 その7 OOPの仕組み(前半)

      前回は「オブジェクトとは何か?」を説明した。 今回はオブジェクトの使い方=オブジェクト指向プログラミング(OOP)で用意されている仕組みを見てみよう。 とりあえずPHPで仕組みを...

      • 不等号の増田記法 &#60; &#62;

        文字実体参照一覧 http://rinrin.saiin.net/~aor/hms/cer 数値文字参照を使えば、増田で半角文字の不等号が書ける。 不等号 小なり &lt; (<) &lt; (&lt;) &#60; (&60;) 不等号 ...

      • anond:20181019181549

        しっかり書き続けてくれていて嬉しい

    • 増田式プログラマー養成講座 その8 OOPの仕組み(後半)

      前回に続いて、今回もオブジェクト指向プログラミング(OOP)の基本的な仕組みを見ていこう。   教材は、ドットインストールのPHP入門です。 PHP入門 (全30回) - プログラミングならド...

      • anond:20181020230044

        誰も読んでねえしつまんねえしセンス無いから止めた方がいいぞ

        • anond:20181020230633

          あー、別に全然構わないけど? これはある意味、かつての自分に向けて書いている手紙なんだ。 自分が初心者だったときに、聞きたかった説明を勝手に増田に書いている。 自己満足で...

          • anond:20181020231617

            受け取り手のことを考えずに 誰にも求められてないことをベラベラ話すのがまさにキモオタの特徴 こういう奴がいるからエンジニアの印象が悪くなる

            • anond:20181020232302

              テレパシーがないのに、見えない相手のプロファイリングができるわけないじゃんね?w 対面で話すなら、相手に合わせられるけどねw

              • anond:20181020233005

                物書きは見えない読者を想定して文章を作る 技術者のドキュメントも同じ これができない奴はどんな仕事やらせても駄目だろうな 言われたものを作るだけで責任の無い末端技術者で終...

                • anond:20181020233446

                  ペルソナは想定してるに決まってるじゃんw →初心者

                • anond:20181020233446

                  まあ、おまえには説明できないことは、自明ですが? いるよねー、口先だけ達者な奴。 他人に騙されないためには「言ってることじゃなく、実際にやってること」を見る必要がある。(...

        • anond:20181020232302

          ならおまえが説明してみろや? 添削してやってもいいぜ? おまえは口先だけの能無しだから、書けるわけねえけどなw(確信)     …と煽れば、もしかしたら顔を真っ赤にしたスー...

        • anond:20181020230633

          新人の部下に教育ができない無能な上司? 上司がアホだと部下は苦労するよね?

    • 増田式プログラマー養成講座 その9 MVCフレームワーク

      前回はオブジェクト指向プログラミング(OOP)で使う様々な仕組みについて学びました。 今回はOOPでWebアプリを作ってみよう!   今日学ぶこと MVCフレームワークとは? PHPのMVCフレ...

      • anond:20181022232327

        PHPのスクリプトを増田に投稿するとき、「&#60;」や「&#62;」をエスケープしないで記事を書いてたら、IPアドレスでアクセス制限がかけられてしまった。 =はてなの他のサービスのWebペー...

        • anond:20181022233535

          今見たら、増田にアクセスできるようになってた。 アクセス制限されても、数時間経ったら自動的に制限が解除されるのかも? Thank you! → はてなの中の人

      • anond:20181022232327

        悪いことは言わない Laravel使っとけ

    • 増田式プログラマー養成講座 その10 OOPの参考書

      前回はオブジェクト指向プログラミング(OOP)の使いどころを学ぶために、MVCフレームワークを使ってみました。(ほんの触りだけ) 今回はOOPの理解を助けるための参考書を探してみま...

      • anond:20181023184616

        データベース、SQLの使い方をどうやって説明するか?検討してみた。 RDBはMySQLを使用=XAMPPのMySQL+phpMyAdminですぐに練習できるから。   RDBの仕組み RDBの歴史 RDBの概要 SQL誕生の背景...

        • anond:20181024000744

          IT企業のプログラミング研修資料 はてなの研修資料が公開されている。 はてな研修用教科書 https://github.com/hatena/Hatena-Textbook LLはPerl、関数型はScalaで勉強してるんですね?(他には、Jav...

          • anond:20181024003352

            「IT 企業 研修 資料 まとめ」でググったら、一覧を作ってくれてる人がいた。 IT 企業 研修 資料 まとめ - Google 検索 https://www.google.co.jp/search?q=IT+%E4%BC%81%E6%A5%AD+%E7%A0%94%E4%BF%AE+%E8%B3%87%E6%96%99...

            • anond:20181024124651

              各社のIT研修資料をざっと見てみた。 IPA はてな ドワンゴ の資料が、体系的にまとめられているような気がした。   しかし、これは講師が授業で使うかんじのまとめ方をされている...

        • anond:20181024000744

          そもそもだけど、勉強は、 興味 教材 時間 という3つの条件さえ整えれば、誰でもできるようになる。 それはちょうど植物を育てるようなもので、種・土壌・水や空気、日光や温度...

        • anond:20181024000744

          昔の自分を振り返ると、とてもせっかちで「先に結論を言って!」というかんじだった。 (インスタントに慣れ過ぎていて、時間のかかるものはじれったくて待てない。)   昔の自分...

    • 増田式プログラマー養成講座 その11 データベースを使ってみよう

      前回まで手続型言語の基本(構造化プログラミング、オブジェクト指向プログラミング)を見てきた。 今回から問合型言語のSQLを学び、データベース(DB)を使ってみよう。   データベ...

    • anond:20181024214737

      ブクマありがとうございます。ちょっとバズってたみたいでビックリしました! 増田式プログラマー養成講座 コンテンツ一覧 http://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20181024214737   アク...

    • anond:20181024214737

      臨時のJava入門講座 この講座を書くきっかけとなった増田(未経験からのプログラマーなんだが全然分からない 2018-10-15)を改めて読んでみると、 10月からプログラミングを始めた。 ...

    • 増田式プログラマー養成講座 その12 データベースの参考書

      前回は、MySQLとphpMyAdminを使って、リレーショナル・データベース(RDB)を少し触ってみた。 今回は、RDBの使い方や仕組みについて理解を深めるための資料を探してみよう。   本 本は、...

    • 増田式プログラマー養成講座 その13 SQLの文法

      前回は、データベースの参考書を見た。 今回は、DBで使うプログラム言語「SQL」の文法を見てみよう。   リレーショナル・データベース(Relational Database、RDB)とは? WikipediaでRDBの説明...

    • 増田式プログラマー養成講座 その14 Webアプリの試作品を作成

      前回は、SQLの文法を学びました。 今回は、データベースを使ったWebアプリの制作を通じて、SQLの使い方を確認してみましょう。   Webアプリとは? Webブラウザー(Google Chromeなど)で動...

    • 増田式プログラマー養成講座 その15 Webアプリの完成見本

      前回は、Webアプリのモックアップ(ハリボテ)を作るところまでやりました。 今回は、Webアプリの機能を実装してみましょう!   学習の狙い データベースを使ったWebアプリを作って、...

    • 関数型プログラミングの教材は何を使ってますか?

      プログラマーの増田は、新人(初心者)に関数型プログラミングを教えるとき、教材(言語、書籍、ツールなど)には何を使ってますか? まずは「Lisp」か「Scheme」を使ってみる。Scheme...

      • anond:20181101234844

        C#、Javaなど、実際に業務に使う言語でラムダ式使わせとけば十分だろ

        • anond:20181101235458

          そうだな。 新人にはラムダ式の書式でも教えておけば十分だな? (関数型と論理型の説明は有料コンテンツでやろうw)

          • anond:20181102002040

            ワイ関数オタク、Calculus of Inductive Constructionsの勉強をしようとするも英語が苦手で挫折 日本語の資料ないんか・・・?有料でいいから・・・

    • anond:20181024214737

      始点が初心者なのはツリーの応答とかで分かったけれど、終点はどこなんだろう?

  • 増田式プログラマー養成講座 その16 Webアプリの完成見本(続き)

    「anond:20181101225335 増田式プログラマー養成講座 その15 Webアプリの完成見本」の続きです。   index.phpの編集 Webサーバーの時間設定がズレていると、メッセージを作成したときに、作...

  • 増田式プログラマー養成講座 その18 SQLでデータの追加と取得

    前回は、Webアプリの骨組み(スケルトン)までを作って、製作の過程を見てみました。 今回は、データベースのCRUD操作を行なって、チャットのメッセージを追加/取得/変更/削除する...

    • anond:20181104233013

      #GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOST#GOODPOS...

  • 増田式プログラマー養成講座 その19 SQLでデータの更新

    前回は、Webアプリの骨組み(スケルトン)に、SQLでデータの追加と取得をやりました。 今回は、SQLでデータの更新をやりましょう。   メッセージの更新 SQLの「UPDATE」を使えば、デー...

    • anond:20181110120715

      あのさ、こういうプログラムって3分ぐらい頑張ればなんでもできるようにならないの?

      • anond:20181110121013

        ならないね。でも外野から見て何でそんなめんどくさいこと悩まないといけないのかわかりにくいのも事実。

        • anond:20181110121318

          プログラミングは、数学と同じで扱うアルゴリズム(解法)次第で難易度が変わる。 それ以外は「難しいんじゃなくて面倒なだけ」 イメージとしては、単純な足し算や掛け算を100回...

      • anond:20181110121013

        ドットインストールの説明動画は3分程度で区切られてるね。 余計なことを省いて、本質だけ=1回に1項目だけに絞れば、3分を1単位にして説明できると思う。 ありがとう。参考に...

  • 増田式プログラマー養成講座 その20 SQLでデータの削除

    前回は、SQLでデータの更新をやりましょう。 今回は、SQLでデータの削除をやりましょう。   メッセージの削除 データの更新はSQLの「UPDATE」を使いました。 データの削除はSQLの「DELET...

    • anond:20181110182445

      正直、SQLの説明は失敗だった。ごめんねw SQLの説明じゃなくて、MVCフレームワークの使い方の説明の方が長くなって、自分でも見にくいと思った。   やり直すなら、まずはフレームワ...

      • 分かりやすい教材で選ぶならJavaScriptもあり?

        増田のアドバイスで、初心者には「JavaScript」が推奨されてた。 https://jgthms.com/javascript-in-14-minutes/ JavaScriptはプロトタイプの説明を後回しにすれば分かりやすいかも?

        • anond:20181110192400

          プロトタイプが肝だろ、と思うが、下手に難しく書くよりは、初心者は素直にダラダラ書いた方がまだ読める というか、自分でも頭が未だに混乱することがある Schemeからやってきたくせ...

  • 増田式プログラマー養成講座 その21 データベース設計 (1)要件定義

    前回まで、データベースを使ったWebアプリを作成して、SQLの使い方を学びました。 今回から、データベースの設計について学んでみよう。   参考書 anond:20181026145516 増田式プログラ...

  • 増田式プログラマー養成講座 その22 データベース設計 概念→物理

    前回は、DB設計の(1)要件定義を学びました。 今回は、DB設計の(2)概念設計、(3)論理設計、(4)物理設計を見てみましょう。   DB設計の流れ 要件定義 概念設計 論理設計 物理設計   ...

    • 1ヶ月でJavaをマスターする学習カリキュラム

      どうやったらプログラミング未経験者を1ヶ月で一人前のJavaプログラマーにできるだろうか?   基礎 JavaでOOP デザインパターン テスト IDE(IntelliJ IDEA等) ツール(Maven、Gradle等) ...

      • 学習用のプログラミング言語の選定基準

        型について考えてみる 個人的には、 最初に、動的型付けの言語を使ってみる。 次に、静的型付けの言語を使ってみる。 最後に、型推論が強力な言語を使ってみる。 という順番がい...

  • 増田式プログラマー養成講座 その23 SQLを巡る物語

    前回は、データベース設計について学びました。 今回は、その他のデータベースの話題について見てみましょう。     リレーショナル・データベースの理論 問合型言語のSQLは、「関...

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん