図書系職員のための アプリケーション開発講習会

Slides:



Advertisements
Similar presentations
情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
Advertisements

コーパス言語学実践 2006 年度 2 学期 第 9 回. 2 本日の内容 これまでと同様の作業 – プログラムで処理するケースの紹介.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
シーケンス図の生成のための実行履歴圧縮手法
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プログラムのパタン演習 解説.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
電子書籍を さがす どんな書籍があるの? Maruzen eBook Libraryは、学術機関向け和書の電子書籍提供サービスです。
JavaScript プログラミング入門 2006/11/10 神津.
プログラミング基礎I(再) 山元進.
プログラミングができるようになるには…. 一週間に1回では無理! 自分の力でできるだけがんばる
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
数値計算及び実習 第3回 プログラミングの基礎(1).
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
C言語 配列 2016年 吉田研究室.
Ruby勉強会(第1回) 2006/06/29 竹内豪.
ファイルシステムとコマンド.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
第6章 2重ループ&配列 2重ループと配列をやります.
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
変数のスコープの設計判断能力 を育成するプログラミング教育
プログラムはなぜ動くのか.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
スクリプト言語を用いたPHITSの連続実行
「OPACに買い物カゴを」 ~東京大学OPACバスケット~
Javaによる Webアプリケーション入門 第5回
(Wed) Edited by KON IT講習会 一太郎編.
第8章 Web技術とセキュリティ   岡本 好未.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
図書館職員のための アプリケーション開発講習会
Cプログラミング演習 第7回 メモリ内でのデータの配置.
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
平成19年10月19日 図書系のための アプリケーション開発講習会
情報アプリケーション1 2006年 10月 19日 第四回資料 担当 重定 如彦 .
予測に用いる数学 2004/05/07 ide.
Maruzen eBook Libraryは、学術機関向け和書の電子書籍提供サービスです。 rev 電子書籍を さがす
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
Maruzen eBook Libraryは、学術機関向け和書の電子書籍提供サービスです。 rev 電子書籍を さがす
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
XMLゼミ 3.5 DTD M2 正木 裕一.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
プログラムの基本構造と 構造化チャート(PAD)
コンパイラ 2011年10月20日
B演習(言語処理系演習)第2回 田浦.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
統計ソフトウエアRの基礎.
アルゴリズムとプログラミング (Algorithms and Programming)
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
サブゼミ第7回 実装編① オブジェクト型とキャスト.
JSPの基本 J2EE I (データベース論) 第8回 /
標準入出力、変数、演算子、エスケープシーケンス
データ構造とアルゴリズム論 第9章 連結リスト
コンパイラ 2012年10月11日
タイトル、著者がわかる場合は そのまま入力 吾輩は猫である 夏目漱石 本を探すにはタイトル、著者名、出版者というような情報が必要です。
目的とするユーザーコードを 作成するために
情報処理Ⅱ 第2回 2004年10月12日(火).
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
JSFによるWebアプリケーション開発 第7回
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
Presentation transcript:

図書系職員のための アプリケーション開発講習会 本日の演目 図書系職員のための アプリケーション開発講習会

本日の演目 本日の狂言 絵合わせによるプログラムの見切り(プログラムにおけるスモールワールド) 本日の見栄きり XMLチャレンジ 本日の大喜利 題目に答えて、バーチャル座布団をGET

絵合わせによる プログラムの見切り プログラムのある機能を修正したいが、どこを直せばよいかわからない 本日の狂言 絵合わせによる プログラムの見切り プログラムのある機能を修正したいが、どこを直せばよいかわからない プログラムを一部修正したときの影響範囲を知りたい このようなときに、使えるのが「絵合わせ」 前田命名)によるプログラムの解析法です。

いっけん、複雑な関係でも「また呼び」の数は システムにおけるスモールワールド データ ベースA モジュール A サブルー チンC サブルー チンA ファイルA サブルー チンB いっけん、複雑な関係でも「また呼び」の数は そう多くない(はず)

処理の規定元を 「絵合わせ」で調べる プログラム中の名称(シンボル)からあたりをつける ファイル名 コメントの記述 サブルーチン名 変数名 同じシンボル(変数名など)を探す(同じシンボルでプログラム間の関連付けを行うことがある) サブルーチン呼び出しをチェックする 呼び出し先の仕様を変数の順序をチェック 呼び出し元の変数名を上記の順番を元に確認 以下、必要なだけ繰り返す 時間をかければ解ける絵合わせパズルになっていることが多い (できない場合は、プログラムを書いた人のセンスに疑問が…)

XMLチャレンジ XMLを扱うといったときには、1)XMLの生成、2)XMLの解析の2つがあります。 本日の見栄きり XMLを扱うといったときには、1)XMLの生成、2)XMLの解析の2つがあります。 ここでは、XMLの解析に絞ってチャレンジをしてみましょう。

XMLの解析に使うプログラム言語として今回は次の2つを例に用意しました。 Perl XML::Simple ほか、XML解析モジュール多数 JavaScript

XMLの枝狩り ここで切ると配列 ここで切ると ハッシュ ここで切ると普通の変数(スカラー)

単純なハッシュで表現可能なことろがポイント 複雑なデータを作らない方法 繰り返を有限回にする 単純なハッシュで表現可能なことろがポイント

Perl (XML::SimpleとData::Dumper) XMLチャレンジ ~XMLの構造解析~ Perl (XML::SimpleとData::Dumper) use XML::Simple; use Data::Dumper; $ref = XMLin('./xxx.xml'); print Dumper($ref); JavaScript DOMインスペクタ(FireFoxのカスタムインストールで使用可能に)を使うと、JavaScript形式でXMLデータを表示 XMLをDOMというモデルで解析します

XMLチャレンジ ~DOMモデルと複雑なデータ~ 目録データなども、フィールドの繰り返しなど、かなり複雑なデータ構造を持っています。たとえば、「注記」(Note)を考えてみましょう。 書誌データを Perlのハッシュ%data に入れたとします。タイトルは $data{“title”}との表記が可能ですが、注記を$data{“Note”}としたときに配列データを得られなければ困りますよね? そういうときには、先頭に @ をつけて配列として強引に認識させるのです。@{ $data{‘Note’} } といった形です。 XMLを解析すると木構造になりますが、その各分岐(枝)においても、ある要素が配列かハッシュか、状況によって異なります。その際は、うまく見極めて解析プログラムを組む必要があります。

XMLチャレンジ ~DOMモデル中の要素を指定~ Perl (XML::Simpleを使用) use XML::Simple; $ref = XMLin('./xxx.xml'); Print $ref->{'ResultData'}{'InfoRec'}[0]{'Source'}, "\n"; JavaScript (ikl-parsexml.js を使用) <script type="text/javascript" src="jkl-parsexml.js"></script> <script><!-- var url = "list2.xml"; var http = new JKL.ParseXML( url ); var data = http.parse(); document.write( data["SearchCore"]["ResultData"]["InfoRec"][0]["Source"] ); // --></script> 指定方式がさして変わらないことに注目!

題目に答えてバーチャル座布団をGET(1) 正解は1です。常に変数の頭につく記号に 着目しましょう 本日の大喜切 題目に答えてバーチャル座布団をGET(1) 以下の変数のうち、%aがPerlのハッシュとして扱われるものは、どれでしょう %a = %{ $ref->{‘aa’} }; %a = ${ $ref->{‘bb’} }[“test”]; %a = $ref->{‘cc’};

題目に答えてバーチャル座布団をGET(2) print $line;の後の } がありません。よくあるトラブルなので、 落ち着いてエラーメッセージを読みましょう! 題目に答えてバーチャル座布団をGET(2) 次のプログラムを実行したら、エラーが発生しました。原因がわかりますか while ($line = <>) { if ($line =~ /test/) { print $line; } Missing right curly or square bracket at try2.pl line 4, at end of line syntax error at try2.pl line 4, at EOF Execution of try2.pl aborted due to compilation errors.

題目に答えてバーチャル座布団をGET(3) じつは、”print”の前に全角スペースが入って いました。画面に見えない文字には、要注意です 題目に答えてバーチャル座布団をGET(3) 次のプログラムを実行したら、エラーが発生しました。原因がわかりますか  print “こんにちは”; Unrecognized character \x81 at try2.pl line 1.