「script」を含む日記 RSS

はてなキーワード: scriptとは

2018-10-22

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

前回はオブジェクト指向プログラミングOOP)で使う様々な仕組みについて学びました。

今回はOOPWebアプリを作ってみよう!

 

今日学ぶこと

 

OOPの使いどころ

OOP文法を学んだ後、OOP長所が発揮される場面をどうやって説明したらいいのか?を考えてみた。

横田意見を参考にして、「フレームワーク」を使って、OOPの使い方を見てみよう。

 

フレームワークとは?

framework →「枠組み」「骨組み」「構造」などという意味英語

システム開発で使われる「フレームワーク」とは、よく使われる機能のパーツを用意して、まとめて1つのパッケージにしたプログラム群のことだ。

 

イメージとしては、いろんなおかずが入ってる豪華な幕の内弁当のようなものだ。

ただし、ご飯のマスだけが空になっていて、プログラマー自分ご飯を用意しないと、弁当としては完成していない形になってる。

普通の白いご飯を作って追加しても良いし、好みや必要に応じて、炊き込みご飯やまぜご飯を作って追加しても良い。

ゼロから豪華な幕の内弁当を作るのは大変だけど、ご飯だけ用意すれば完成するので楽ができる。

 

プログラムの開発でフレームワークを使うと、プログラマー必要最小限のコードを書くだけでアプリを完成させられるので楽ができる。

 

ライブラリーフレームワークの違い

フレームワーク」と似た用語で「ライブラリー」という用語がある。

イメージとしては、ライブラリーは、ばら売りのおかずだ。

弁当を作るときに使いたいおかず(ライブラリー)を自分で考えて探し出し、選ばないといけない。

フレームワーク最初からおかずが全部用意されているので、自分でわざわざ選ばなくてもOK

 

プログラム動作で見た場合フレームワークライブラリーでは決定的な違いがある。

↑このページの「図1●フレームワークにおける制御の反転」という図解を見てみよう。

制御の反転」(Inversion of Control、IoC)といって、自分の書いたコードが主役から脇役になってる点が違う。

 

(主役と脇役という説明は適切ではないかもしれないけど、イメージとしてはそんなかんじ?)

 

MVCフレームワークとは?

フレームワークはいろんな機能全部入りで、こいつを使えば、ちょっとコードを書くだけで、高機能アプリがすぐに作れる。

ここでは「MVCパターン」という仕組みで作られた「MVCフレームワーク」を使ってみよう。

 

MVCは「Model」「View」「Controller」の略で、MとVとCの3つを自分で用意すれば、アプリが作れちゃう仕組みだ。

MVC歴史は古くて、GUI(Graphical User Interfaceグラフィカルユーザインタフェース)を作る方法定番だ。

→「MVC 仕組み」でGoogle画像検索すると、分かりやすい図解がいろいろ出てくる。

 

(参考)

Wikipedia説明は、文章学術的で難しいけど、正確な説明になってると思う。

↑このページの「MVC概要」という図が、MVCの仕組み=動作の流れを分かりやす説明してる。

 

MVCの仲間たち

MVCパターンと似たような仕組みが、他にもいろいろある。

 

こういうプログラム設計に関するノウハウは、「アーキテクチャー・パターン」という分野に蓄積されている。詳細はGoogle検索してみよう。

 

WAF(Web Application Framework

Webアプリを作るときに使われるMVCフレームワークには、いろいろある。

WAFを使うと、Webアプリが手軽に作れる。

 

有名なものとして、

などが挙げられる。

 

PHPOOP学習しているので、ここではPHPのWAFの1つであるCodeIgniter」を使ってみよう。

 

CodeIgniterコードイグナイター)

CodeIgniterは使い方がシンプルで、覚えるルールが少ないので教材に向いているだろう。

それでは、CodeIgniterを使ってみよう。

 

準備

↑このページの「Downloadから「3.1.9.zip」という圧縮ファイルダウンロードする。(2018年10月現在バージョン3.1.9でした)

 

ダウンロードしたファイル解凍して、「CodeIgniter-3.1.9」というフォルダが出てきたら、「waf」という名前に変えよう。(「waf」はWeb Application Frameworkの略。)

今「waf」フォルダの中には、「index.php」というファイルや、「application」「system」などフォルダがあるね?

この「waf」フォルダを以前用意したXAMPPの中にコピーする。(参照:anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備)

=「C:\xampp\htdocs」(Cドライブの中の「xampp」の中の「htdocs」というフォルダ)の中に「waf」をコピーして下さい。

=「C:\xampp\htdocs\waf」という位置コピーできたらOK

 

動作チェック

これで「Welcome to CodeIgniter!」というWebページが表示されたら、CodeIgniter動作確認OKです。

 

CodeIngiterの設定

$config['base_url'] = 'http://localhost/waf/';

 

Webアプリ作成

それでは「Hello, world!」と表示させるシンプルWebアプリを作ってみよう。

 

MVC「C」作成する。

<?php

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

 

class Hello extends CI_Controller {

 public function index()

 {

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

 }

}

ここで注目して欲しいのは、「class Hello extends CI_Controller」という部分です。

フレームワークが用意している「CI_Controller」というクラス継承して、自分で「Hello」というクラスオブジェクト設計図)を作っている、という点です。

ここでOOPの仕組み~継承を使ってるわけですね。

 

MVCの「V」を作成する。

次に、

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

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8">

 <title>Test</title>

</head>

<body>

 <p>Hello, world!</p>

</body>

</html>

 

これでWebアプリができました!

今回は簡単なので、MVC「M」は用意しませんでした。(CとVだけで完成)

 

Webアプリ動作確認

Webブラウザーで「ttp://localhost/waf/index.php/hello」(←「ttp」を「http」に変えて下さい)というURLアクセスして下さい。

画面に「Hello, world!」と表示されたら、Webアプリ作成成功です!

 

Hello, world!」の表示だけではショボ過ぎるけど、Webフレームワークを使えばもっといろいろな機能が作れます

詳細は、CodeIgniterマニュアルを参照して下さい。

↑このページで「ユーザガイド(日本語)」を読んでみて下さい。

 

まとめ

 

次回は、OOP理解を深めるための参考書を紹介してみます

 

Webアプリを作るときデータベースがないと不便なので、次の次ぐらいにSQLを学ぼう。

MySQLデータベース)を使えば、掲示板などのWebアプリも作れるようになります

 


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フレームワークを使ってみよう

2018-10-18

小菅信子さんの件、「内容証明の件ではない」と聞いて

東新佐藤圭ドス黒いなあ。

要するに別の案件と誤認させて精神病者として大手新聞社(周知の通り中日新聞グループ産経新聞より部数が上)の人間が葬るわけでしょ

汚えな

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-10-16

anond:20181016195307

会社ではなく、まずは自宅で練習すればOK

ExcelVBAも良いけど、GoogleドライブGoogle Spreadsheet)+Google Apps ScriptJavaScript)でも、同じようなことができる。

わざわざExcel買わなくても、表計算の達人にはなれると思うよ。

2018-10-08

フェミの「言論の自由」の扱いの方がヤバい件

https://twitter.com/chitaponta/status/1049258662898806784

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

査読論文の内容を検証されたら「言論の自由が脅かされる」って、正気か?

2018-10-02

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-29

anond:20180929194502

まじかよ

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-27

anond:20180927095505

というか、せっかく俺がフェミの実害一覧を見つけてやったんだからちゃんと見ろや。

これを見てまだそんな寝言が言えるのか?

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

anond:20180927095505

この暴言妄言に「いいね」してる人の数が読めますか~

アラビア数字から読めると思うんだけど

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

anond:20180927093435

あ、ごめん最新版こっちだったわ

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

anond:20180927092552

はいフェミの実害一覧。

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-24

エンジニアをなんで Google は許してるんだろう...


ネット情報が世の中で一番正確で質の高い情報」という世界を作るべく、日々奮闘中。

花木 登 (株式会社 Intro 代表取締役) プロフィール - Wantedly


この文章をみた時に本当に愕然とした。そりゃいろんな意見があると思う。evil になるなとは言わない。でも、それを阻害してるの、お前なんじゃないの?なんでそんなにドヤ顔で言えるの?って疑問が、どうしても頭から離れない。なんで Google はこの人たちを許してるの、なんで、なんでなんだろう...

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-19

anond:20180919111636

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-14

みんな批判する前にちゃんと読んだの?

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-09-07

高い授業料払ってもらって SES に持って行ってるなら、相当なビジネスモデルしか当人たちは「世界平和を実現するイノベーター集団」を自称してるって、本当に恐ろしい世界...

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-08-25

anond:20180825124932

こういうの?

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-08-23

"侍エンジニア", "うざい" で検索したら出てきた。

「もちろん、うざくありません」って何だよ。


これ、いくら何でも、やりすぎだろ...

世界平和なんて実現する気、1mm もないだろ...

【侍エンジニア塾】がうざい!?どう、うざい??


&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-08-16

エンジニア邪魔すぎる...

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;


&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;


もし本当に世界平和を願ってるなら、みんなが邪魔だと思ってる記事を削除してほしい。


自分ビジネスを実現するために、質の低い記事SEO検索上位に来ることは構わないけど、それを善意偽装するのが許せない。


この偽装された善意は、プログラミングを始めたばかりの人にはわからない。どうか、この人たちの物語に飲み込まれないでほしい。

2018-08-09

xyzzy 使いに 50 の質問

01. ハンドルネームは?

  増田

02. ご職業、年齢はいくつですか?

  なんでも屋さん、アラサー

03. xyzzyについて何かwebサイトを持っていますか?

  持っていません

04. 現在使用中の xyzzyバージョンは何ですか?

 0.2.2.253

05. xyzzy 使用暦はどれくらいですか?

  15年くらい

06. xyzzy を使うようになったきっかけは何ですか?

  昔のことすぎて忘れましたが、学校UNIX 演習で Emacs を使っていたので、Windows でも使おうと思っていて見つけたんだと思います

07. xyzzy 以外に使っているテキストエディタはありますか?

  Atom, McEditor

08. xyzzy を使う前に Emacs 系のテキストエディタを使ったことはありますか?

  はい

09. xyzzy を主に何に利用していますか?

  プログラムを書いたり設定ファイルをいじったり、テキストに関することならだいたい

10. xyzzy が関連付けされているファイルタイプは何ですか?

  txt, md, log, ini, bat, html, xml, css, less, scss, sass, styl, js, coffee, pl, php, py, rb, java, sqlかにもあるかも

11. xyzzy他人に勧めたことはありますか? また、結果はどうでしたか?

  使い始めた当時同級生が何人か使っていました

12. xyzzyフリーじゃなかったとしたらいくら位の値段になると思いますか?

  今なら3000円くらいなら買う

13. xyzzy を何と呼んでいますか?

  じじー

14. xyzzy の好きな点・嫌いな点はどこですか?

  好きな点:動作をほぼ自在カスタマイズできる点

  嫌いな点:動作カスタマイズするとき不自由なところがある点

15. パソコンを立ち上げている時間の内、xyzzy をどのくらい使っていますか?

  業務ときは3割くらい?

16. キーバインドWindows風ですか? Emacs風ですか? オリジナルですか?

  Emacs

17. .xyzzyに書く派ですか? .siteinitに書く派ですか?

  必要に応じてそれぞれに

18. 拡張Lispバイトコンパイルしますか?

  してます

19. セレクションリージョン、どちらを多く使いますか?

  リージョン

20. xyzzy を使っていて挫折したことはありますか?

  はじめのころ五目並べになかなか勝てなくて挫折しました

21. xyzzy の使い方をどうやって学びましたか?

  実際にさわりながら。LispGoogle 先生さまさま

22. xyzzy を使うにあたって一番苦労したことは何ですか?

  xyzzy 自体Lisp APIマニュアル化されていないところ

23. xyzzy を使って目からウロコだった機能は何ですか?

  Buffer Menu

24. 今の xyzzy に望むことはありますか? またそれは何ですか?

  矩形機能に影響が出そうだけどプロポーショナルフォントへの対応と、絵文字など最近 Unicode に追加された文字への対応

25. Lisp はある程度読み書きできますか?

  xyzzy自分の使いやすいようにできる程度には

26. Lisp のほかに読み書きできるプログラム言語はありますか?

  JavaScript, ES 2016, Coffee Script, Action Script 3, C, C++のごく一部, Objective-C, Rust, Swift, Perl, PHP, Python, Ruby, bash, xyzzy lisp

27. 自分で作った 拡張Lisp を公開していますか?

  GitHubGist にあるので探してください

28. 拡張Lisp で導入しているものは何ですか? (多い方は代表的ものをお答えください)

  clickable-uri, jscript-mode, markdown-mode など

29. これは外せない! という 拡張Lisp はありますか? またそれは何ですか?

  いろいろやるので今ある拡張機能がないと無理

30. NetInstaller を利用していますか?

  はい

31. 拡張DLL を導入していますか? またそれは何ですか?

  popup-dododo のための Cairo とか?

32. ドキュメント(info,reference等) は使っていますか? また、それは何ですか?

  使っていません。自分で改造してキーワードを全部 Web検索するようにしています

33. ネット関係拡張Lisp(www-mode,kamail等)を使っていますか?

  xyttr

34. アウトライン系のLispは使っていますか? またそれは何ですか?

  使っていません

35. メモ系(changelog-memo,howm等)Lispは使っていますか? またそれは何ですか?

  使っていません

36. xyzzy五目並べはやったことがありますか? また、結果はどうでしたか?

  今なら結構勝てます

37. キーボードマクロは使いますか?

  たまに。テキストの整形処理なら正規表現ゴリゴリやるほうが多いです

38. 辞書機能は使いますか?

  使っていません。国語英和・和英、英英辞典iPhoneアプリを使います

39. xyzzy のファイラは使いますか?

  毎日仕事に欠かせません。便利にカスタマイズしすぎてむしろファイラだけのために新しく xyzzy 自体を起動することもあります

40. フレームは使いますか?

  あまり使いません。新しく(Windows における)ウィンドウ

41. セッションは使いますか?

  使っていません

42. メーリングリストには参加していますか? また、メール送信したことはありますか?

  ありません

43. 2chxyzzy 関連スレッド書き込みしたことはありますか? また、その頻度はどのらいですか?

  大昔にどうしてもわからないことがあって書き込んだ記憶があります

44. xyzzywikiに書き込みしたことはありますか? また、その頻度はどのくらいですか?

  拡張機能実装に関してちょろっと書き込んだ記憶があります

45. xyzzyメニューは表示していますか?

  たまにほしくなるので表示しています

46. xyzzyツールバーは表示していますか?

  隠しています

47. xyzzyファンクションバーは表示していますか?

  表示していません

48. xyzzyバッファバーは表示していますか?

  表示していません

49. 色、フォントなどは変更していますか? またそれは何ですか?

  色は暗い背景色ハイライトカラーはできるだけ色相を離したパステルカラーです。

  フォントConsolas に源新ゴシック Regular を組み合わせています

50. 最後に、一言お願いします。

  まだまだ xyzzy は不滅です

2018-08-08

ズッキーニ アナル

約 91,300 件 (0.34 秒)

ズッキーニ ディル

約 13,500 件 (0.33 秒)


&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-08-04

こんな日本のどこが女尊男卑

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

ほんと倒錯してるよな。

単身女性貧困が多いのは、女尊男卑の表れではない。マタハラセクハラセカンドレイプも、女尊男卑のあらわれではない。

だがそれ以外の5つは女尊男卑の表れだ。

男尊女卑だと訴える人たちは、女尊男卑と捉えるべき現象男尊女卑だと捉えているんだ。これじゃあどうしようもない。

2018-07-29

男性地位動物以下であることを示すツイート

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;

2018-07-19

anond:20180719232554

横だけど

&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん