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フィールドを利用してログイン機能を実装しました。

しかしこの機能ではユーザー名を簡単に偽装できてしまうので脆弱性が高く、実装には向いていませんでした。

なのでより安全な方法として、セッション機能を利用することにしました。

実装には時間がかかりましたが、全員完成させることが出来ました。