CTF実験とobjdumpの使い方
CTF実験で、objdump を使う問題の解説。 元の問題は、https://tsaitoh.net/~t-saitoh/ctf/ の 問題6.1 use-the-strings 参照 機械語の知識が必要なCTF問題 u […]
B木とデータベース
2分探索木の考え方を拡張したもので、B木がある。 B木の構造 2分木では、データの増減で木の組換えの発生頻度が高い。そこで、1つのノード内に複数のデータを一定数覚える方法をとる。B木では、位数=Nに対し、最大2N個のデー […]
データベースの設計とER図
データベースの設計 リレーショナル・データベースでは、データは表形式であればなんでも良い訳ではない。 例えば、学生の成績データが以下のような構造であった場合、 ID | name | grade | subject | […]
演算子と2分木による式の表現
2分木の応用として式の表現の説明を行うけど、その前に計算式の一般論の説明を行う。 逆ポーランド記法 一般的に 1*2 + 3*4 と記載すると、数学的には演算子の優先順位を考慮して、(1*2)+(3*4) のように乗算を […]
GROUP BY HAVINGとビューテーブル
GROUP BY HAVING GROUP BY-HAVING では、指定されたカラムについて同じ値を持つレコードがグループ化される。SELECT 文に指定される集約関数は、グループごとに適用される。HAVING は、あ […]
コンパイラの技術と関数電卓プログラム(2)
前半では、1文字の数字と簡単な演算子で表現される計算式を再帰下降パーサで計算する処理で、演習を行った。 後半は、さらに実際のコンパイラに近いものとして、 C言語で広く使われている、字句解析ツール(lexical anal […]
意思決定木と構文解析
前回までの授業で2分探索木の説明をしてきたが、このデータ構造は他のデータを扱う際にも用いられる。ここで、意思決定木と構文木を紹介する。 意思決定木 意思決定木の説明ということで、yes/noクイズの例を示しながら、2分木 […]
コンパイラの技術と関数電卓プログラム(1)
コンパイラを作るための技術の基礎を学んでもらうために、 簡単な関数電卓プログラム作成を課題とする。 基本は、printf( “%d” , eval( “1+2*3”) ) […]
副問合せと相関副問合せと集約関数
SQLの副問い合せ 前節の結合処理は時として効率が悪い。このような場合は、副問い合わせを用いる場合も多い。 SELECT S.業者名, S.所在 FROM S WHERE S.業者番号 IN ( SELECT SG.業者 […]
オブジェクト指向プログラミング2020全講義録
専攻科2年オブジェクト指向プログラミングの2020年度の講義録の一覧 オブジェクト指向/2020/ガイダンス 値渡しとポインタ渡し 構造体からオブジェクト指向プログラミング 複素数クラスによる演習 派生と継承 派生と継承 […]