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フィールドを利用してログイン機能を実装しました。
しかしこの機能ではユーザー名を簡単に偽装できてしまうので脆弱性が高く、実装には向いていませんでした。
なのでより安全な方法として、セッション機能を利用することにしました。
実装には時間がかかりましたが、全員完成させることが出来ました。