TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」

2,121 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,121
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」

  1. 1. 新⼈人ディレクターシステムスキルアッププログラム第7回「プログラミング⾔言語」T ware 品川
  2. 2. 第七回:プログラミング⾔言語 12/08/08今⽇日の内容›  プログラミング⾔言語とは ›  Ajaxとは ›  概要 ›  概要 ›  Webシステムでのポイント ›  動作 ›  よく使⽤用される⾔言語 ›  ⾔言語選定の留留意事項›  サーバとの連動 ›  PerlとPHP ›  CGI ›  確認が必要な事項 ›  Apacheのモジュール  等 ›  スマートフォンアプリ ›  SDKとはAll Rights Reserved. Copyright (C) 2012, T ware 1
  3. 3. 第七回:プログラミング⾔言語 12/08/08コンピュータのプログラミング›  コンピュータが実⾏行行しているプログラム B ›  機械語で書かれたプログラムを理理解して実⾏行行できる ›  機械語 ›  CPUの最⾼高速で実⾏行行できる ›  CPUによってそれぞれバラバラで互換性はない ›  ⼈人間には理理解困難 ›  例例: 5E 23 56 F3! LD E,(HL)! INC HL! LD D,(HL)! DIAll Rights Reserved. Copyright (C) 2012, T ware 2
  4. 4. 第七回:プログラミング⾔言語 12/08/08プログラミング⾔言語とは›  プログラミング⾔言語 B ›  コンピュータが理理解できる機械語の代わりに、⼈人間が理理解しや すい記述でコンピュータに指⽰示をするために開発された つまり… ›  プログラミング⾔言語で書かれたプログラムは、CPUが直接 理理解できない ›  プログラミング⾔言語を、機械語に翻訳することが必要 ›  PHPの例例 echo Hello World!’;!All Rights Reserved. Copyright (C) 2012, T ware 3
  5. 5. 第七回:プログラミング⾔言語 12/08/08プログラミング⾔言語とは›  プログラミング⾔言語(別の側⾯面) B ›  機械語で記述していないので、CPU毎に違う必要が無い つまり ›  ⼈人間が理理解できる1つの表現で、いろんなCPU(サーバ) に対応したプログラムが書けるようになる ›  機械語への翻訳をするものは、CPUの種類毎に必要All Rights Reserved. Copyright (C) 2012, T ware 4
  6. 6. 第七回:プログラミング⾔言語 12/08/08プログラミング⾔言語とは›  概念念のまとめ B 機械語 (CPU(A)⽤用) ○ CPU 5E 23 56 F3…! (A) × CPU(A)⽤用の機械語は CPU CPU(B)では実⾏行行できない (B) プログラミング⾔言語 翻訳 ○ CPU echo Hello World!’;! (CPU(A)⽤用) 機械語 (A) 翻訳 ○ CPU (CPU(B)⽤用) 機械語 (B)All Rights Reserved. Copyright (C) 2012, T ware 5
  7. 7. 第七回:プログラミング⾔言語 12/08/08プログラミング⾔言語とは›  Webシステムでのポイント B ›  多様なサーバ環境で同じように動作すること ›  同じように動作しないと… ›  サーバやOSの種別毎に開発/確認環境が必要 ›  有償の開発環境を都度度⽤用意する ›  細かいバージョンに適合させる ›  設置が容易易であること ›  設置が困難な例例 ›  サーバやOSの種別毎に設置作業が異異なる場合 ›  設置位置や設定ファイルの要否などが多様 ›  設置のためにサーバの特別な権限が必要 ›  レンタルサーバは利利⽤用できないAll Rights Reserved. Copyright (C) 2012, T ware 6
  8. 8. 第七回:プログラミング⾔言語 12/08/08 プログラミング⾔言語とは ›  プログラミング⾔言語からの翻訳の3つのタイプ B No. タイプ 概  要 1 コンパイラ型 あらかじめ機械語に翻訳しておき、処理理の実⾏行行は機械語で⾏行行う 2 インタプリタ型 処理理の実⾏行行時に逐次翻訳を⾏行行う 特定の機械語ではなく、中間的な⾔言語にあらかじめ翻訳。処理理 3 VM型 の実⾏行行は中間語から機械語に変換して⾏行行う 事前処理理 機械語 設置 処理理実⾏行行 1.  コンパイラ型 翻訳 2.  インタプリタ型 翻訳 中間語プログラミング⾔言語で作成された 3.  VM型 翻訳 翻訳プログラム All Rights Reserved. Copyright (C) 2012, T ware 7
  9. 9. 第七回:プログラミング⾔言語 12/08/08プログラミング⾔言語とは›  Webシステムと翻訳のタイプ B ›  コンパイラ型 ›  サーバ毎に事前翻訳が必要なため、ほとんど使⽤用されない ›  インタプリタ型 ›  サーバに翻訳機能が搭載されていれば、事前の翻訳は不不要 なため広く利利⽤用されている ›  VM型 ›  事前の翻訳機能はサーバに依存せず共通 ›  サーバに実⾏行行時の翻訳機能が搭載されていれば動作するた め、広く利利⽤用されているAll Rights Reserved. Copyright (C) 2012, T ware 8
  10. 10. 第七回:プログラミング⾔言語 12/08/08 Webアプリケーションで使⽤用する⾔言語 ›  よく使⽤用されるプログラミング⾔言語 BNo. 名  称 種  別 特  徴 Webアプリに特化したスクリプト⾔言語。平易易な⽂文法かつ サーバ1 PHP HTMLソースと⼀一体化して記述可能なため、初⼼心者でも利利⽤用し サイド やすい。多くのレンタルサーバで利利⽤用可能。 強⼒力力な⽂文字列列処理理機能を持つスクリプト⾔言語。多彩なライブ2 Perl ↑ ラリが⽤用意されており、Webアプリ開発も効率率率よく⾏行行える。 多くのレンタルサーバで利利⽤用可能。 オブジェクト指向のプログラミング⾔言語。プログラムはJava3 Java ↑ 仮想マシン上で動作する。⼩小型機器から⼤大規模システムまで 広い範囲で利利⽤用されている クライ ウェブブラウザ等のクライアントサイドに実装されたスクリ4 JavaScript アント プト⾔言語。ページの⼀一部を動的に書き換える事によりUIの⾼高 サイド 度度化を図ったり、サーバとの⾮非同期通信による連動ができる All Rights Reserved. Copyright (C) 2012, T ware 9
  11. 11. 第七回:プログラミング⾔言語 12/08/08 Webアプリケーションで使⽤用する⾔言語 ›  各⾔言語の翻訳タイプ B 事前処理理 設置 処理理実⾏行行 機械語 1.  コンパイラ型 翻訳 2.  インタプリタ型 翻訳 PHP,  Perlプログラミ (JavaScript)ング⾔言語で作成された 中間語プログラム 3.  VM型 翻訳 翻訳 Java All Rights Reserved. Copyright (C) 2012, T ware 10
  12. 12. 第七回:プログラミング⾔言語 12/08/08Webサーバとの連動›  CGIとは(ウィキペディアから抜粋) B ›  CGI:Common Gateway Interface ›  サーバプログラムから他のプログラムを呼び出し、その処理理結 果をクライアントに送信するためのサーバプログラムと外部プ ログラムとの連携法の取り決め Web 外部 フォーム、掲⽰示板、 サーバ CGI Blog、カート  等 プログラム (Apache) Perl, PHP, C, Shell… ›  CGIの問題点 B ›  外部プログラムをプロセスとして起動するため、OSに負荷が かかる ›  アクセス集中時に注意が必要All Rights Reserved. Copyright (C) 2012, T ware 11
  13. 13. 第七回:プログラミング⾔言語 12/08/08Webサーバとの連動  ›  Apacheのモジュールとして動作 B ›  外部プログラムとして動作していたものを、Apacheの⼀一部と して動作させる⽅方法 Webサーバ(Apache) プログラム (フォーム、掲⽰示板、 Blog、カート  等) PHP, Perl… ›  起動済のApache内で動作するため、プログラム動作時にOS に負担をかけないAll Rights Reserved. Copyright (C) 2012, T ware 12
  14. 14. 第七回:プログラミング⾔言語 12/08/08Webサーバとの連動  ›  Applicationサーバ利利⽤用 B ›  Webシステムを、Webサーバ、Applicationサーバ、DBサー バに分散させた構造 ›  システムの変更更や更更新、増強などが容易易で、柔軟性が⾼高いシス テム構成 ›  各サーバの分散化による⾼高性能化 ›  サーバのリプレース  等 Web Applicationサーバ DB サーバ サーバ プログラム (フォーム、掲⽰示板、 Blog、カート  等) Java All Rights Reserved. Copyright (C) 2012, T ware 13
  15. 15. 第七回:プログラミング⾔言語 12/08/08Ajax›  Ajaxとは(ウィキペディアより) B ›  Ajax:Asynchronous JavaScript + XML ›  ウェブブラウザ内で⾮非同期通信とインターフェイスの構築など を⾏行行う技術の総称 ›  画⾯面遷移を伴わない動的なWebアプリケーションの製作が実 現可能になる›  Ajax フレームワーク(ウィキペディアより) W ›  Ajaxのもつブラウザ依存性などの問題を軽減 ›  Google Web Toolkit ›  Prototype JavaScript Framework ›  jQuery ›  SpryAll Rights Reserved. Copyright (C) 2012, T ware 14
  16. 16. 第七回:プログラミング⾔言語 12/08/08 Webサーバの動き B クライアント Webサーバ CGIプログラム フォーム画⾯面のURL送信お問合せ フォーム画⾯面   お名前 HTMLと関連ファイル送信 内容 送信 CGIプログラム呼出し 送信ボタンをクリック Wお問合せ お名前 ○○○  ○○○ エラーチェック   内容 ○○○○○○   確認画⾯面出⼒力力 ○○○○○○○○ 戻る 送信 CGIプログラム呼出し 送信ボタンをクリック Wお問合せ データ登録   ありがとうございました。 完了了画⾯面出⼒力力 All  Rights  Reserved.  Copyright  (C)  2012,  T ware 15  
  17. 17. 第七回:プログラミング⾔言語 12/08/08 Webサーバの動き B クライアント Webサーバ CGIプログラム 商品⼀一覧画⾯面のURL送信 商品⼀一覧画⾯面  商品⼀一覧 HTMLと関連ファイル送信 商品名 仕様 価格☑ ○○○○    □□□□□□  ¥ 2,500 CGIプログラム呼出し□ ○○○○    □□□□□□  ¥ 600☑ ○○○○    □□□□□□  ¥ 1,200 商品情報リクエスト□ ○○○○    □□□□□□  ¥ 950 ⾮非同期の通信□ ○○○○    □□□□□□  ¥ 6,300 商品情報出⼒力力 商品⼀一覧表⽰示⽤用HTMLの⽣生成     ・データ表⽰示⽤用   HTMLの動的な⽣生成   ・登録⽤用フォームへ追加 登録 CGIプログラム呼出し 登録ボタンをクリック データ登録   商品を登録しました。 完了了画⾯面出⼒力力 All  Rights  Reserved.  Copyright  (C)  2012,  T ware 16  
  18. 18. 第七回:プログラミング⾔言語 12/08/08⾔言語選定の留留意事項›  PerlとPHP B バージョン間の 追加モジュール レンタルサーバで Webサーバとの連携 互換性 の必要性 の利利⽤用 Perl ○ △ ○ CGIPHP △ △ ○ Module,  CGI ›  Perl ›  ほぼどんなサーバでも利利⽤用可能で、古いコードであっても 動作する可能性が⾼高い ›  PHP ›  多くのレンタルサーバで利利⽤用可能。古いコードを再利利⽤用す る場合、修正または再開発の可能性があるAll Rights Reserved. Copyright (C) 2012, T ware 17
  19. 19. 第七回:プログラミング⾔言語 12/08/08⾔言語選定の留留意事項›  確認項⽬目 B ›  想定される動作環境の情報 ›  想定されるサーバ環境の構成 ›  想定される⾔言語とサーバ類の名称とバージョン情報 ›  Javaの場合 ›  開発者のアサインができるか確認が必要 ›  サーバ環境が複雑な可能性があるため情報⼊入⼿手が必要 ›  アプリケーションサーバなど開発のための環境も必要 ›  既存コードの再利利⽤用可能性と既存コード動作環境の情報 ›  既存のサーバ環境の構成 ›  既存の⾔言語とサーバ類の名称とバージョン情報 ›  前提となるモジュールがあればその情報も ›  パフォーマンスに関してはサーバ環境含めヒヤリングが必要All Rights Reserved. Copyright (C) 2012, T ware 18
  20. 20. 第七回:プログラミング⾔言語 12/08/08スマートフォンアプリ開発›  使⽤用⾔言語 W ›  iPhone:Objective-C ›  Android:Java›  SDKとは B ›  SDK:Software Development Kit ›  iPhone, Androidそれぞれに対応したSDKがある ›  アプリケーションを作成するためにソフトウェア技術者が使⽤用 する開発ツールのセット ›  ソース作成のためのエディタ ›  アプリケーション作成のための翻訳ソフト類 ›  動作確認のためのデバッガ、シミュレータ ›  開発のためのドキュメントAll Rights Reserved. Copyright (C) 2012, T ware 19
  21. 21. 第七回:プログラミング⾔言語 12/08/08これだけは憶えよう›  プログラミング⾔言語とは ›  Ajaxとは ›  コンピュータに指⽰示するた ›  サーバとの間でページ遷移 め、⼈人間に理理解しやすい⾔言 を伴わないで通信すること 葉葉にしたもの ›  表⽰示中のHTMLを動的に変更更 ›  Webシステムでは、多様な することができる サーバで同じように動作す ›  ⾔言語選定の留留意事項 ることと、設置が容易易なこ ›  古いコードを利利⽤用する場合 とが重要 に注意が必要›  サーバとの連動 ›  動作環境を確認してエンジ ›  CGIやモジュールとして動 ニアに伝える 作する⽅方法がある ›  スマートフォンアプリ ›  CGIはOSに負担をかける ›  プラットフォーム毎にSDK と呼ばれる環境があるAll Rights Reserved. Copyright (C) 2012, T ware 20
  22. 22. 第七回:プログラミング⾔言語 12/08/08 ご質問、お問合せお寄せ下さい   toru@tam-­‐tam.co.jp   support@i-­‐tware.com  All  Rights  Reserved.  Copyright  (C)  2012,  T ware 21  

×