2015.09.07(月) SLP夏の合宿

SLPでは学部1年生向けに、普段の授業よりも程度の高い技術の習得を目的とする合宿を、
毎年行っています。今年の合宿は9月7日から11日の5日間にわたって行われました。

1日目

PC組み立て

上級生の指導のもと、PCの組み立てを行いました。
あらかじめ組み立てられていたPCを手作業で分解し、もう一度組み立てなおしました。
途中、BIOSが正常に立ち上がらないなどのトラブルも発生しましたが、
PC組み立ては無事成功しました。

LT大会

学部3年生がWebサーバに関するLTを行いました。
Webサーバとは、クライアントからの要求を受けてサービスを提供するサーバの事です。
Webサーバにはいくつかの種類があり、その中でApacheやNginxなどが紹介されました。
LT後の質問では、Webサーバとサーバの違いなどの質問がありました。

2日目

Linuxコマンドの操作

上級生の指導のもと、Tera term を用いて、Linux Serverにアクセスしました。
そこでLinuxコマンドを操作しながらCUIでのCプログラミングを行いました。
Linuxコマンドの中でも多く使われるlsやcdなどの説明も受けました。
また、様々なコマンドを同時に実行できるようにするパイプ(|)を活用し、
serverへのエラーアクセスログを集計しました。

HTMLの書き方

上級生の指導のもと、HTMLを書きました。
各自のホームディレクトリにpublic_htmlというディレクトリを作成し、
その中にHTMLファイルを置くことでそのページがWeb上に公開されました。

3日目

配列の解説

上級生の指導のもと、配列を使用したCプログラムを記述し、配列の特性や利点を理解しました。
配列とは任意の個数のデータを一度に確保するためのもので、テストの点数の集計や、
連続したデータを扱う際に重宝します。
配列を使用する際は要素の数と添え字が1ずれているので、コードを記述する際には注意が必要です。
例えば、int arr[4]; と宣言した場合、要素の数は4つですが、添え字は 0, 1, 2, 3 となります。

HTML、CGIの書き方

上級生の指導のもと、HTML及びCGIを書きました。
ホームディレクトリ内に作成したpublic_htmlの中に新たに
form.html、index.cgi、login.cgi を追加し、Webページでよく使われるログインフォームを作成しました。
この段階ではユーザー名とパスワードがともにソースから丸見えなので、脆弱性の塊です。

4日目

CGI入門

上級生の指導のもと、前日に続いてHTML及びCGIの勉強としてRubyを用いて一言掲示板を作成しました。
一言掲示板とは、投稿時刻付きで投稿内容を履歴とともに表示するものです。
post.cgiと言うCGIファイルを作成し、Rubyのファイル操作を用いて読み書きをしました。
次に、ファイル操作の追加書き込み形式でpost.txtに追記することで、履歴も表示できるように仕様を変更しました。

5日目

掲示板のログイン機能追加

上級生の指導のもと、前回作成した一言掲示板にRubyでログイン機能を実装しました。
まずはhiddenフィールドを利用してログイン機能を実装しました。
しかしこの機能ではユーザー名を簡単に偽装できてしまうので脆弱性が高く、実装には向いていませんでした。
なのでより安全な方法として、セッション機能を利用することにしました。
実装には時間がかかりましたが、全員完成させることが出来ました。