応用情報処理V(2001) もっとプログラミングをしたい人のために 新居雅行 2001/1/21
教科書で学んだこと Java言語の基本 JBuilderの使い方 ユーザーインタフェース作成の基本 イベント処理
学んでいないこと Javaに関する知識(Java) ソフトウエア工学に関する知識(Soft) OS/Networkに関する知識(Net)
(Java)ファイル処理 データをファイルに残したり、あるいはデータをファイルから取り込んだりする。 それほど難しいプログラミングではないが、現実問題として細かいことがある 文字コードのこと サイズは一定しない、など メモリ利用効率や、あるいはコード処理の自動化部分を理解するときちんと使える
(Java)さらなるユーザインタフェース構築 紹介していないさまざまなコントロール(タブやテーブルなど) たくさんのイベントがあるが、考え方はアクションイベントとほぼ同じ 「レイアウト」と「イベント」でこの部分のハードルは越えたも同然。あとは、API仕様書を読めるようになればOK
(Java)データの扱いについて 国際化 コレクションAPI 数値処理 言語に応じた日付や通貨の表示 言語に応じて画面メッセージを切り替える 複数のデータを効率的に管理するメカニズムがある この機能を理解するのは必須! 数値処理 Javaはそれほど強力ではないが、どこにあるのかを知っておかないとわけがわからない
(Java)マルチスレッド 並列に実行するプログラム 単に並列に動かすだけなら至極簡単(テキストの第9週目を参照) ただし、現実的には複雑な問題がからむ ある1つのデータを複数のプログラムが同時に使おうとしたら? ある処理は同時にはできない。 では待ちに入るとしたら?双方が待ちに入ると?
(Java)ネットワーク等 通信を含むプログラムを作成する機能が充実している 他のコンピュータにあるプログラムを呼び出すということもできる セキュリティ(暗号化、認証)
(Java)コンポーネント化 JavaBeansという枠組みがある ソフトウエアの再利用を効率的に行う手法
(Java)サーバ向けアプリケーション Servlet Java Server Pages(JSP) データベース 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で記述されている それをもとに、プログラムを書いて実装する 「パターン」という日本語の響きとは微妙に違う 「形」とか「スタイル」に近いニュアンス 一般には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)セキュリティ アカウント、パスワードに対する理解 ウイルスに対する理解 ネットワークアタックに対する理解 不正利用に関する理解
エンジニアリングの世界 いろいろな仕事があります 理科系でなければできないわけではありません プログラムなどの能力も必要ですが、業界が求めているのは、協調性 ほかの人の話を聞き、理解をして必要な行動が取れる人