スライド 1

応用情報処理V(2002)
もっとプログラミングをしたい人のため
に
新居雅行
2002/1/20
教科書で学んだこと




Java言語の基本
JBuilderの使い方
ユーザーインタフェース作成の基本
イベント処理
学んでいないこと



Javaに関する知識(Java)
ソフトウエア工学に関する知識(Soft)
OS/Networkに関する知識(Net)
(Java)ファイル処理


データをファイルに残したり、あるいはデー
タをファイルから取り込んだりする。
それほど難しいプログラミングではないが、
現実問題として細かいことがある
• 文字コードのこと
• サイズは一定しない、など

メモリ利用効率や、あるいはコード処理の
自動化部分を理解するときちんと使える
(Java)さらなるユーザインタフェース構築




メニュー(Javaではちょっと面倒)
紹介していないさまざまなコントロール(タブ
やテーブルなど)
たくさんのイベントがあるが、考え方はアク
ションイベントとほぼ同じ
「レイアウト」と「イベント」でこの部分のハー
ドルは越えたも同然。あとは、API仕様書を
読めるようになればOK
(Java)データの扱いについて



国際化
•
•
言語に応じた日付や通貨の表示
言語に応じて画面メッセージを切り替える
コレクションAPI
•
•
複数のデータを効率的に管理するメカニズムがある
この機能を理解するのは必須!
数値処理
•
Javaはそれほど強力ではないが、どこにあるのかを知っ
ておかないとわけがわからない
(Java)マルチスレッド



並列に実行するプログラム
単に並列に動かすだけなら至極簡単(テキ
ストの第9週目を参照)
ただし、現実的には複雑な問題がからむ
• ある1つのデータを複数のプログラムが同時に使
•
•
おうとしたら?
ある処理は同時にはできない。
では待ちに入るとしたら?双方が待ちに入ると?
(Java)ネットワーク等



通信を含むプログラムを作成する機能が充
実している
他のコンピュータにあるプログラムを呼び出
すということもできる
セキュリティ(暗号化、認証)
(Java)コンポーネント化


JavaBeansという枠組みがある
ソフトウエアの再利用を効率的に行う手法
(Java)サーバ向けアプリケーション



Servlet
•
Webサーバで動かすCGIのようなメカニズムで、Javaのプ
ログラムを動かす
Java Server Pages(JSP)
•
JavaScript等のように、HTMLにJavaのプログラムを混ぜ
るような形式でプログラムを作成できる
データベース
•
•
こうしたアプリケーションはデータベースとの連動が多い。
JDBC、Enterprise JavaBeans(EJB)
(Java)携帯電話向けアプリケーション


iアプリ、Java2 MEなど
パソコンと違って制約された環境で稼動す
る
• 少ないメモリ、遅い通信環境
• ユーザインタフェース機能は弱い


エミュレータを使っての開発が一般的
ボタンなど携帯電話独特の機能を使いこな
す
(Soft)UML




Unified Modeling Language
一定の規則に従った作図を行うことで、シス
テムの分析や設計を行うための手法
流れ図的な手順を示すものや、データ間の
関連を示すもの、配置を示すものなどいくつ
かの種類がある
作成や解読が比較的容易であることが特
徴
(Soft)パターン

ソフトウエアで構築する機能を分類したもの

一般にはUMLで記述されている
それをもとに、プログラムを書いて実装する

• 「パターン」という日本語の響きとは微妙に違う
• 「形」とか「スタイル」に近いニュアンス
(Soft)正規表現



テキスト処理を効率的に記述する表現方法
任意の文字列とか、数字、大文字アルファ
ベットといった文字クラスの扱いが可能
検索や置換での利用
(Soft)XML



構造を持ったデータを、テキストで記述でき
る
メリットはあるのだが、説明は難しい
すでに、データ交換のスタンダードとなりつ
つある
• Webを利用した処理のリクエストとレスポンスを
•
行うSOAP
Webページでデータとレイアウトを分離できる
XSTL
(Soft)フレームワーク





開発のベースになる機能
言語よりもこちらが大切
Javaはフレームワークを包含んしている
WindowsアプリケーションはMFC
(Microsoft Foundation Class)
最近では.NETも注目されている
(Net)TCP/IPとサービス



インターネットの基本的な仕組み
それがOSでどのように実装されているのか
どんなサービスがあるのか
(Net)UNIX



管理作業をコマンドを使ってできるようにな
りたいところ
サーバを立てる
お金がかからないことでもあるので、取り組
んでもらいたい
(Net)Windows


Windowsを単に使うのではなく、システム
管理、あるいはネットワークの中核として利
用するような知識
個人でやるには費用がかかるだろうけど、
興味があるなら、雑誌などで知識を集めれ
ばよい
(Net)スクリプト言語



OSを使いこなすにはスクリプト系言語の知
識は不可欠
Perl、シェルスクリプトが有名だが、さまざま
なものがある
ニーズにあった処理を自動化することで効
率化する
(Net)セキュリティ




アカウント、パスワードに対する理解
ウイルスに対する理解
ネットワークアタックに対する理解
不正利用に関する理解
エンジニアリングの世界




いろいろな仕事があります
理科系でなければできないわけではありま
せん
プログラムなどの能力も必要ですが、業界
が求めているのは、協調性
ほかの人の話を聞き、理解をして必要な行
動が取れる人