応用情報処理V(2001) もっとプログラミングをしたい人のた めに 新居雅行 2001/1/21 教科書で学んだこと • 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)セキュリティ • アカウント、パスワードに対する理解 • ウイルスに対する理解 • ネットワークアタックに対する理解 • 不正利用に関する理解 エンジニアリングの世界 • いろいろな仕事があります • 理科系でなければできないわけではありませ ん • プログラムなどの能力も必要ですが、業界が 求めているのは、協調性 • ほかの人の話を聞き、理解をして必要な行動 が取れる人
© Copyright 2025 ExpyDoc