SQLと結合
前半にSQLの説明の後、後半はSQL実験環境を用いた演習時間とした。 SQLの基礎 前回の講義で、データベースでは、記録されているデータの読み書きは、SQL で行われ、射影・結合・選択を表す処理で構成されることを示した。 […]
x64 Assembly Language
x64 Assembly Language
CTFの問題を追加してみた
CTFの問題を追加してみた。学生さんに興味を持ってもらうために、仕組みが分かればすぐに解けるように作ってある。 なぞのもじ
CTFのためのLinuxメモ
WSL2 のインストール Linux環境を使う場合が多いので、WSL2(Windows Subsystem for Linux)をインストールしておきましょう。 ファイル関連 データ形式 encode / decode […]
2分探索木の処理とデータ追加処理
前回の授業では、当初予定に加え、この後に示すデータの追加処理の説明を行った。その代わり、簡単な2分木の演習が抜けていたので少し演習を追加。 2分木の簡単な処理 int count( struct Tree* p ) { […]
SQLの基本
先週の、関係データベースの導入説明を終えて、実際のSQLの説明。 キー 表形式のテーブルの中の各レコードを一意的に指定できるカラムはキーと呼ばれる。 キーは単独であるとは限らず、成績の評価結果であれば、学生と科目をキーと […]
CTF問題とセキュリティ(4年実験)
この実験では、セキュリティコンテストのCTF問題(Capture The Flag競技)について、インターネットの仕組みを理解し、その問題の解き方を考え、新しく自分自身でCTF問題を作ってもらいます。 CTF競技の問題の […]
2分探索木
配列やリスト構造のデータの中から、目的となるデータを探す場合、配列であれば2分探索法が用いられる。これにより、配列の中からデータを探す処理は、O(log N)となる。(ただし事前にデータが昇順に並んでいる必要あり) // […]
データベースの用語など
データベースの機能 データベースを考える時、利用者の視点で分類すると、(1) データベースの管理者(データベース全体の管理)、(2) 応用プログラマ(SQLなどを使って目的のアプリケーションに合わせた処理を行う)、(3) […]
双方向リスト
リスト構造の利点と欠点 リストを使った集合演算のように、データを連ねたリストは、単純リストとか線形リストと呼ばれる。特徴はデータ数に応じてメモリを確保する点や、途中へのデータの挿入削除が得意な点があげられる。一方で、配列 […]