4月を終え、ちょっと孤独を感じている新入生のみなさまへ

新入生にとっての最初の難関ゴールデンウィークがいよいよ始まります。入学してから1ヶ月の間に友達ができて、一緒にご飯でも食べにいけるようになったのであればともかく、一人暮らしを始めた方は実家に帰らない限り4日間という時間を一人で過ごすことになります。にぎやかだったご家庭でお育ちの方はさぞかし寂しい思いをすることでしょう。

ゴールデンウィークを超えると、あれほど活発だった新入生勧誘活動も一段落し、教科書などの販売も終わり、「入学おめでとう」という雰囲気が大学から徐々に消えていき、通常の大学生活が期末テストまで続いていきます。ふっと、周りを見渡せば、いくつかグループができて始めており、いつも座る席、休み時間にたまる場所、昼休みの過ごし方などが固定化される兆しが見えてくると思います。

ここまで読んで、軽く憂鬱になったり、あせったり、心に風が吹いた方。ご安心を。まだまだ、十分リカバリー可能です。新入生たる貴方は気がつかないかも知れませんが、新入部員が固まるクライマックスはなんといっても期末テスト期間と夏休みです。ゴールデンウィーク明けならまだまだ大丈夫です。ぜひ、積極的にサークルや部活の部室に足を運び、どこかのサークルや部活に入ってみましょう。経済状況がちょっときつくて、サークルや部活はちょっとという方は、できれば、人と接する機会が多いバイトを探してみましょう。

サークルや部活動に入ったとしてもコミュニケーションに自信がないのでちょっと・・・。という方、お勧めしたい裏技があります。まったく裏じゃないですが。

コミュニケーションをとる上で難しいのは、他人と共通の話題・言語を持たない点にある。コミュニケーションが得意という人は、短時間で他人との共通点や話題を見つけ出すことができる。コミュニケーションが不得意な人は自分と他人の共通点を見つけるのが下手である。

では、どうすれば良いか?明らかに共通点や話題が一致するような環境に自分の身をおけば、探さなくても共通点と話題はおのずと分かる。そんな環境はどこにあるか?それが、運動部である。

運動部は、分かりやすい構造を持っていて

  • 部活の究極的な目標は「勝利すること」
  • 個々人の立ち位置は大まかに「上級生」「下級生」というように学年で決まる(あくまでも大雑把な話)
  • 同じ体験を多くの時間共有することが多い。練習、ミーティングなどなど。
  • 二種類のコミュニケーションがある「グランドの中(練習場の中)」と「グラウンドの外(練習場の外)」の二つ。

こういう構造を持っているので、どんなに口下手な奴でも練習さえまじめに取り組んでいれば部活の中で何らかのポジションを得ることができる(非常にネガティブに考えての話。普通はもっと楽しく仲間を作れる)。大雑把な立ち位置は決まっているのでそれを足がかりに人間関係を構築しやすい。話題と共通点に事欠かない。練習で失敗しても、練習外のコミュニケーションでリカバーできる(とっつきにくいけど良い選手や、良い選手じゃないけど良い奴とかいたでしょ。)

他人と意思の疎通を図る最も簡単な方法は礼儀正しくすること。礼儀というのは、ある文化や慣習における他者との意思疎通のやり方についての取り決め、すなわち通信プロトコルなのでこれにしたがっている人をいきなり攻撃してくるやつはほとんどいない(そういう奴は無法者、無礼者と言われてその文化や慣習の外にけりだされる)。なので、その国や地方の礼儀をとりあえず習得しておけば、無難に対処できる。

挨拶も他人に対して友好の意思(攻撃しない意思)を伝える方法なので、これを習慣にしてしまえば他人との意思の疎通がやりやすくなる。挨拶なんて、心がこもっているかどうかは関係なく、重要なのは頻度だけ。「知っている人がいた」→「挨拶する」→「別れる」という一連の動作を機械的に行なえばよい。非常に簡単。笑顔つきなら、なおよし。

礼儀正しくて挨拶もできる人は、たとえ面白くない人だとしても、人間として嫌われることはない。興味をもたれないだけ。マイナスの印象がなければ、いつか面白くおしゃべりできたり、何かを一緒に作り上げたりしたときに興味を持ってもらえるわけだから、とりあえずのコミュニケーション能力としてはOK。

また、ゴールデンウィークが終わると俗にいう五月病という症状が発症することがあります。この症状が発祥すると多くの新入生は「自主休講」「自主停学」なんて技をなぜか覚えて、大学のキャンパスに足を踏み入れなくなることもあります。もし、授業出るのがイヤになっても、ぜひ、お昼ご飯を食べに大学にきましょう。家の外に出る習慣がある限りいくらでもリカバー可能です。

もし、どうしてもつらくて、何か自然と涙がでちゃうような精神状態になったら、無理することありません。別にあなたが弱いせいじゃなくて、たまたま、精神的に冷え込んで心に風邪をひいてしまっただけです。石にけっつまづくのと同じ。自分で抱え込まないで、大学が用意しているカウンセリングサービスを受けましょう。多くの場合、カウンセリングは予約が必要ですから、大学のWebページからカウンセリング予約問い合わせのための電話番号を探して、電話で予約しましょう。

めでたく五月病が発症しない、あるいは、五月病が完治した場合には授業を受けるのに一工夫しましょう。同じ時間を過ごすなら、先生によくアピールしましょう。

ちょっとした工夫で単位取得確率を上げることができるのではないかと思いメモ。

主たるアイデアは、先生に名前を覚えてもらい個人として認識してもらうという点。「学生」と十把一絡げに認識されている場合は、ボーダーラインぎりぎりの点数で落第にされる可能性があるけれども、「個人」として認識して貰い、かつ、まじめに取り組んでいるイメージを先生に与えることができれば、そのボーダーを数点分動かしてもらえる可能性がある。10点もボーダーからはなられているとむずかしいけど。

ゴールデンウィークを気持ちの切り替えとして、素晴らしい大学生活を過ごせることをお祈りいたします。

組織の危機管理を考える好材料

大学のように属人性が高い組織において、構成員の反社会的な発言に対してどのように対処するべきかを考えるのにとても良い材料。時間がある時に吟味してみたい。

今のところの私の意見は以下のとおり、
「組織は、原則として組織の正式な発表方法にしたがわずにその組織の構成員が行ったいかなる発言においても無関係であることを明言し、その発言に対しては、組織外の人間が行った発言と同様な対応を行う。ただし、組織が直接的、間接的にその組織の構成員に発言を強制した場合は上記原則の例外とする」

追記(2008/05/01)

apjさんの主張がわかりやすくまとめられたエントリー。

HTTP_ACCEPT_LANGUAGEで表示ページを変える

利用者の使用言語に応じて表示ページを変えようと思ったのだけれども、簡単、かつ、うまい方法が見つからない。

広告は、お客様が選択したターゲットとする言語と地域のオプション (詳細は次のトピックを参照) に基づいて、特定のユーザーに表示されます。 このオプションを利用して、AdWords では、お客様がご希望とされるユーザーに対して表示することができます。
ユーザーが GoogleGoogle ネットワークのサイトで検索を行うと、Google ではユーザーの次の情報を基にして掲載する広告を決定します。

  • Google ドメイン
  • 入力されたクエリ (クエリ分析 と呼ばれます)
  • インターネット プロトコル (Internet Protocol、IP) のアドレス
  • 言語設定

Google Adwordsの方法では、クエリ分析とIPアドレスから言語と地域を割り出すしかないが、それは簡単とは思えない。そこで、次善の策としてブラウザのHTTP_ACCEPT_LANGUAGEで表示ページを変えることにする。具体的には、HTTP_ACCEPT_LANGUAGEの優先順位がもっとも高い言語のページにリダイレクトで飛ばす。

HTTP_ACCEPT_LANGUAGEについて以下のページを参考とした。

ざっとみたかぎりでは、HTTP_ACCEPT_LANGUAGEの構造は、擬似BNF記法で書くと以下のとおり。(参考:wikipeida.ja

<HTTP_ACCEPT_LANGUAGE> ::= <ELEMENT>{,<ELEMENT>}
<ELEMENT> ::= <LANGUAGE>[-<COUNTRY>][;q=<PRIORITY>]

という構成になっている様子。LANGUAGEはISO 639(参考:wikipedia.ja)で定義されている国略称にしたがっている様子。COUNTRYはどういうルールなのかわからない。PRIORITYは0から1の数字になっているのではないかと予想。

あと、言語に応じたページにLocationを用いてリダイレクトするのは筋の悪いやり方みたい。

たぶん、きれいなソースではないけれども、一応ご参考まで。Internet Exploler 7, Firefox 2.0, MacSafariでは、ちゃんと日本語のページへリダイレクトされた。%urlにURLがかかれている言語は、そのURLへ飛ばす。そうでなければ、英語のページへ飛ばす。%urlのキーはISO 639で定義されている2文字の国略称を用いること。

#!/usr/local/bin/perl
use strict;
use CGI; # デバッグ用、なくても良い
use CGI::Carp qw(fatalsToBrowser); # デバッグ用、なくても良い

my %url = {};
my %lang = {};

$url{'ja'} = 'http://hogehoge/jpn/';
$url{'en'} = 'http://hogehoge/eng/';

my @acceptLanguage = split(/,/,$ENV{'HTTP_ACCEPT_LANGUAGE'});
foreach my $value (@acceptLanguage){

    if($value =~ /^([a-z]*)-([a-zA-Z]*);q=(.*)/){
        $lang{$1} = $3 if($lang{$1} < $3);
    }
    elsif($value =~ /^([a-z]*);q=(.*)/){
        $lang{$1} = $2 if($lang{$1} < $2);
    }

    elsif($value =~ /^([a-z]*)-([a-zA-Z]*)/){
        $lang{$1} = 1;
    }
    elsif($value =~ /^([a-z]*)/){
        $lang{$1} = 1;
    }
    else{
        $lang{'en'} = 1;
    }

}

foreach my $name (sort {$lang{$b} cmp $lang{$a}} keys %lang){
    if($name =~ /[a-z]{2,3}/){
        unless($url{$name} eq ''){
            my $site = $url{$name};
            print "Location: $site\n\n";
        }
        else{
            my $site = $url{'en'};
            print "Location: $site\n\n";
        }
    }
    else{
        print "Content-type: text/html\n\n";
        print "<html><head></head><body>Unexpected Symbol \"$name\"</body></html>";

    }
    last;
}

exit;