TOEIC L&R 213th

JR水道橋駅から徒歩数分の日本大学経済学部で受験してきた。
TOEICテスト|TOEIC Listening & Reading Testについて

きっかけは、シゴトで受講した「とある製品」のオンラインハンズオン(終始英語で配信)がそこそこ聞き取れた、ような気がしたこと。勢いで申し込んでしまえ。

昔の受験記録

  • 2002/09/29 : L=290, R=280, T=570
  • 2006/05/28 : L=280, R=275, T=555
  • 2016/09/25 : L=???, R=???, T=??? (today)

買った本とか1

新TOEIC TEST 出る単特急 金のフレーズ

新TOEIC TEST 出る単特急 金のフレーズ

まずは単語力を付けるべく評判の良いコレを買った。1周はできたけど全部覚えられたかというとそうでもない。半分も覚えてない気がする。

1駅1題  新TOEIC TEST文法特急

1駅1題 新TOEIC TEST文法特急

文法力が気になったので評判の良いコレを買った。1周はした。2周目も同じようなところを誤答することはある。

新TOEICテスト 文法問題 でる1000問

新TOEICテスト 文法問題 でる1000問

文法問題に不安があったことと、TEX加藤氏を信じてこれを買った。1周はした。誤答したところに限って解き直してみたが、全体の数パーセント程度にあたる難しい問題はいまだにうまくいかない。

個人的には、少なくとも「金のフレーズ」と「文法問題でる1000問」だけを仕上げることで、相当いいところまでいけそうな気がしている。

買った本とか2

ここからは不安にさいなまれてどんどん買い足していった群である。形式に慣れるという点では良かった気がする。

1駅1題  新TOEIC TEST読解特急

1駅1題 新TOEIC TEST読解特急

ReadingのPart 7に慣れるために買った。1周したあとで、たまに適当に選んで何問かやり直したりした。

新TOEIC TEST パート1・2 特急難化対策ドリル

新TOEIC TEST パート1・2 特急難化対策ドリル

ListeningのPart 1, Part 2に慣れるために買った。1周した。

新TOEIC TEST パート3・4 特急実力養成ドリル

新TOEIC TEST パート3・4 特急実力養成ドリル

ListeningのPart 3, Part 4に慣れるために買った。1周した。

【CD付】TOEICテスト予想模試 新形式問題対応

【CD付】TOEICテスト予想模試 新形式問題対応

2016年5月の試験から出題割合が少し変わるというアナウンスに対応した予想模擬試験1回分。ここまでの書籍群をそれぞれ1周以上した状態でやってみたら、Reading75分のうち70分で完走できた。このときはスピードもそこそこいいペースまで来ていた感がある。

600とかサバ読み過ぎていて苦笑いしかない

結局リスニングがイマイチ

「新TOEIC TESTパート1・2特急難化対策ドリル」で著者の森田鉄也氏は以下のように述べている。

 英語の講師をしていると「リスニングができないんですけど、どうしたらいいですか?」とよく尋ねられます。僕はいつも「語彙力を上げてください」と答えます。非常に単純なことなのですが、どうも「知らない単語や表現は聞こえない」という事実に直面しようとしない学習者がたくさんいるようです。英語のニュースや歌を聞き流しさえすれば勝手に身につくと思っている人が多いんです。
 そんなことは絶対ありません。
 意味を知らなければいつまでたっても聞こえるようにはなりません。

(p.4 リスニングは語彙力 より)

これは耳が痛い。正鵠を射ている。目で見たらなんとなく分かる文だとしても、聞いてその文にすぐたどり着けるかという自信がまだない。リスニングパートの文章なんて見たら分かるのに、聞いたら分からないものが多いのは、そのマッチングがうまくいっていないからだ。これは訓練するしかない。

目標は

カイシャで資格取得一時金がでる700前半で。そこから上は取れてから考えよう。

追記(2016-10-27)

L390 R430 T820 でした。ありがとうございました。

先週の帰省にともなう鉄ネタ

先週帰省してきたのですが、北海道新幹線が開業してから始めての盛岡以北ということでちょっと楽しみ

f:id:lmtak:20160910204151j:plain
大宮の次は「新潟まで止まりません」という潔さな。高崎や長岡すら通過するという剛胆さもな。
f:id:lmtak:20160910204152j:plain
新青森止まりの「はやぶさ」は濃いめの緑、新函館北斗まで向かう「はやぶさ」は薄めの緑。地味に違うというのは話に聞いていたけど、見てみたら確かに感はある。
よく考えたら東京でも見られるのではないか。わざわざ盛岡で見て感動していたという間抜けな話である。
f:id:lmtak:20160910204153j:plain
「快速リアス」が上米内駅止まりなのは、2015年12月11日に発生した土砂崩れ(発生区間は松草~平津戸)であり、上米内駅の次の停車駅が陸中川井駅であるために、区間運休という形で上米内駅止まりにしているのだろう。盛岡~上米内は各駅に止まっているため、快速とは名ばかりなのだが、区間運休なら仕方がない。この時点では、岩手県北バスの106急行も運休になっていたから、振替輸送も行われなかったという。
ところで「リアス」(rias)って「リア」(ria)の複数形だから、「Rapid RIASU」ってのはちょっと気になる表記だよね。
rias - Wiktionary

f:id:lmtak:20160910204154j:plain
東北新幹線のホームにある「LED式乗車口案内表示板」。新函館北斗がローマ字表記だと3行になってて苦心の跡を感じる。漢字だと2行になってた。

f:id:lmtak:20160910204155j:plain
新青森駅の在来線乗り換え改札口。「弘前・青森・■■方面」と一部隠されてるのは、おそらく(スーパー)白鳥号が運行されていた頃の名残で「函館」方面とでも書かれていたのだろう。
おそらく2016年3月のダイヤ改正で登場した青森~津軽新城奥羽本線区間運転に対応するために、用意されたゴシックのフォントがなくて明朝体風になってる「津軽新城」を見ると切ない。

f:id:lmtak:20160910204159j:plain
新青森駅の新幹線ホームにある車両位置案内ステッカー。新幹線新青森駅開業時はまだ東北新幹線系統にMax(E4系)が運行されていた名残だけど、上越新幹線系統に移ってからはもう来ないのだろうなあと思われて切ない。

f:id:lmtak:20160910204200j:plain
出発反応標識が「札幌」と書かれているのがステキ。車基は「新幹線車両基地『盛岡新幹線車両センター青森派出』」のことだろう。

f:id:lmtak:20160910204158j:plainf:id:lmtak:20160910204157j:plainf:id:lmtak:20160910204156j:plain
青森駅跨線橋に掲げられていたパネル。ロール式の案内板や、L特急はつかりの表記など、興味深い。

高山稲荷神社(青森県つがる市)

先週帰省してきました。
行きたいところがあったので、車を借りてドライブ。

JR青森駅から浪館通り、県総合運動公園を過ぎて国道7号バイパスから東北自動車道で青森IC~浪岡IC。そこから津軽自動車道(無料供用・自動車専用道路)に乗り換えて、五所川原北ICで国道339号線五所川原バイパス)に乗り、その後は中里広域農道(こめ米ロード)をひたすらまっすぐ進み、途中くねくね行ったら到着。

高山稲荷神社

高山稲荷神社|青森県観光情報サイト アプティネット

高山稲荷神社は、五穀豊穣、海上安全、商売繁盛の神様として青森県第一の霊験あらたかな神社です。ここの信仰には農業・商業・工業・漁業・家内安全・病気平癒・道中守護・憑物落とし等多様多彩のものがあり、地元を始め遠方の人々の力もあって神社は支えられてきました。またここでしか見ることのできない千本鳥居はとてもインパクトがあり、一見の価値があります。

f:id:lmtak:20160910223322j:plain
千本鳥居といえば、京都の伏見稲荷神社が筆頭ですが、津軽の千本鳥居はどんなもんだと来てみたわけですよ。
f:id:lmtak:20160910223324j:plain
f:id:lmtak:20160910223329j:plain
奥まで進むと、たくさんの「おきつねさま」がおわします。
f:id:lmtak:20160910223325j:plain
f:id:lmtak:20160910223326j:plain
f:id:lmtak:20160910223327j:plain
f:id:lmtak:20160910223328j:plain
あらステキ。
気温が30℃になりそうな残暑が同行者の体調を悪くしそうだったので、後ろ髪引かれつつも撤収と相成りました。

夏休みの自由研究 - uniana_comparator

KONAMI社のBEMANIシリーズを韓国で稼働させるための提携先にUNIANA社があり、それは下記サイトに詳しい。
韓国の音ゲー事情
そして、ローカライズや運営しているサイトのなかに稼働店舗一覧のページがあるようで、


というツイートを見かけた。
そもそもハングル文字読めないので、どこから稼働店舗一覧のページに遷移できるかを探すのに苦労した。マウスを動かしてリンクを表示させて、というのをひたすらやるしかない。
http://beat.uniana.com/store/store_list.php
ようやく見つけたので、しばらく動かしてみて、HTMLソースも眺めてみたりして、

<tr>
	<td>21세기 게임랜드</td>
	<td><span>서울시 관악구 신림9동 1538-1&nbsp;</span><a href="http://map.naver.com/?level=2&lat=37.4810215&lng=126.9516009&query=7ISc7Jq47Yq567OE7IucIOq0gOyVheq1rCDsi6Drprw564%2BZIDE1MzgtMQ%3D%3D&menu=location&stab=ADDRESS%3B1&queryRank=1&mapMode=0&enc=b64" target="_blank"><img src="http://webimage.uniana.com/beatmania2015/common/btn_store.jpg" alt="위치보기" /></a></td>	
</tr>
<tr class="detail_view" style="text-align:center;">
	<td colspan="2"><img src="http://webimage.uniana.com/uniana/store/jubeat/seoul06.png" alt="게임장 사진" /></td>
</tr>
<tr>
	<td>건대 해피 게임천국</td>
	<td><span>서울시 광진구 화양동 9-43&nbsp;</span><a href="http://map.naver.com/?dlevel=11&lat=37.5420939&lng=127.0687863&searchCoord=127.069268%3B37.5404038&query=7ISc7Jq47IucIOq0keynhOq1rCDtmZTslpHrj5kgOS00Mw%3D%3D&menu=location&tab=1&mapMode=0&enc=b64" target="_blank"><img src="http://webimage.uniana.com/beatmania2015/common/btn_store.jpg" alt="위치보기" /></a></td>	
</tr>
<tr class="detail_view" style="text-align:center;">
	<td colspan="2"><img src="http://webimage.uniana.com/uniana/store/beat/seoul/seoul_6.png" alt="게임장 사진" /></td>
</tr>

この時点で25時だし夜も遅いし明日も仕事だし、


とヒントだけ書いておいた。

数日経って時間に余裕も出来たので、ちょっと試しにつくって見ます。

0. 結論

以下のURLで試験運用中。いまのところ差分ないけど。
uniana.com shop comer/gone detector

1. クロール

先ほどのサイトでは、Flashで地域を選ぶとその地域内の店舗をページング表示する作りになっており、以下のようなURL構成になっている。

http://beat.uniana.com/store/store_list.php?p=1&area=1

パラメータ「p」はページで、1-originで指定できる。パラメータ「area」は地域を表し、1~16まで指定できる。
店舗が無かったり、ページ指定が誤り(全2ページなのに3ページ目を指定するなど)だったりすると、

<tr><td colspan='2'>매장이 없습니다.</td></tr>

のようになるので、これを検知すればいいかな。

10wget.sh

指定のゲームに対して、全ページを取得する。
引数に、ゲームの種別、今日の年月日を(yyyyMMdd)書式で指定する。

#!/bin/sh
GAME=$1
TODAY=$2

# 地域は1~16まで
for (( area=1; area<=16; area++ ))
do
  # ページ番号は1から
  page=1
  continueflag=1
  while [ ${continueflag} -gt 0 ]
  do
    url="http://${GAME}.uniana.com/store/store_list.php?p=${page}&area=${area}"
    zpage=`echo 000${page} | sed -e 's/.*\(..\)$/\1/'`
    zarea=`echo 000${area} | sed -e 's/.*\(..\)$/\1/'`
    # 保存するファイルは、beat/20160827a01p01.html のように保存。(地域=01、ページ=01)
    wgetfile=${GAME}/${TODAY}a${zarea}p${page}.html

    # HTMLを取得する処理は別ファイルに記述
    ./11wget.sh "${url}" "${wgetfile}"
    # 処理結果を取得。0なら成功(次ページを取得)、それ以外なら次の地域へ
    result=$?
    if [ ${result} -ne 0 ] ; then
      continueflag=0
    fi
    # 無限ループにならないよう、3ページ取得したら次の地域へ
    if [ ${page} -ge 3 ] ; then
      continueflag=0
    fi

    # ページ番号をインクリメント
    page=$(($page + 1))
  done
done
11wget.sh

実際にwgetでHTML文書を取得する。
引数には、アクセスするURLと、保存するファイル名を指定。
戻り値が0だと成功。それ以外だと何らかの失敗。そのエリアではこれ以上HTML取得しない、と判断する。

#!/bin/sh
WGETURL=$1
OUTFILE=$2
TMPFILE=${OUTFILE}.tmp
# パラメータチェック
if [ "${WGETURL}" = "" ] ; then
  exit 11
fi
if [ "${OUTFILE}" = "" ] ; then
  exit 12
fi

# ユーザーエージェント偽装
useragent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"
# wgetコマンドでHTML取得
wget -v --append-output=wget.log \
--output-document="${TMPFILE}" \
--user-agent="${useragent}" ${WGETURL}
# 文字コードをShift_JISからUTF-8に置換
nkf -w "${TMPFILE}" > "${OUTFILE}"
rm -rf "${TMPFILE}"
# 店舗情報がこれ以上ないかどうか、<td colspan='2'> の有無で検知
COUNT=`grep "<td colspan='2'>" ${OUTFILE} | wc -l`
if [ ${COUNT} -ge 1 ] ; then
  # 店舗情報がない場合は、いま取得したファイルは削除
  rm ${OUTFILE}
fi

exit ${COUNT}

2. 店舗名と住所の抽出

10wget.shで保存したHTMLファイルから、店舗名を取得して1ファイルにまとめて保存。同様に、住所を取得する。
引数に、ゲームの種別、今日の年月日を(yyyyMMdd)書式で指定する。

30sed.sh
#!/bin/sh
GAME=$1
TODAY=$2

NAMEFILE=${GAME}/m_name${TODAY}.txt # 1行1店舗名
ADDRFILE=${GAME}/m_addr${TODAY}.txt # 1行1店舗住所
MERGFILE=${GAME}/m_list${TODAY}.txt # 1行に店舗名称と店舗住所をまとめる

rm -f ${NAMEFILE}
rm -f ${ADDRFILE}

# 保存したHTMLファイルのうち今日の年月日を含むファイルについて順次実施
for TARGET in `ls -1 ${GAME}/${TODAY}*`
do
# 店舗名をgrepで抽出し、sedで整形して保存
  cat ${TARGET} \
  | grep -e "<td>[^<]\+</td>" \
  | sed -e "s:^.\+<td>\([^<]\+\)</td>.\+$:\1:g" \
  >> ${NAMEFILE}
# 住所をgrepで抽出し、sedで整形して保存
  cat ${TARGET} \
  | grep -e "<td><span>[^&]\+&nbsp;</span>" \
  | sed -e "s:^.\+<td><span>\([^&]\+\)&.\+$:\1:g" \
  >> ${ADDRFILE}
done

# 店舗名だけのファイルと、住所だけのファイルをひとまとめにする
php -f ./31merge.php ${NAMEFILE} ${ADDRFILE} ${MERGFILE}
31merge.php

引数に、店舗名だけのファイル名、住所だけのファイル名、出力用ファイル名を指定

<?php
// $argc, $argv : 予約語
if ($argc < 4) {
  echo "$argv[0] in-shopname-file in-shopaddr-file out-merge-file\n";
  exit(1);
}

$fpName = fopen($argv[1], "r");
$fpAddr = fopen($argv[2], "r");
$fpMerg = fopen($argv[3], "w");

while (!feof($fpName) && !feof($fpAddr)) {
  // read each files by line
  // and delete CR/LF
  $shopname = trim( fgets($fpName) );
  $shopaddr = trim( fgets($fpAddr) );

  // write line
  if (!empty($shopname) && !empty($shopaddr)) {
    fwrite($fpMerg, "<tr><td>${shopname}</td><td>${shopaddr}</td></tr>\n");
  }
}

fclose($fpMerg);
fclose($fpAddr);
fclose($fpName);
?>

3.昨日との比較

31merge.phpで保存した m_listYYYYMMDD.txt を、昨日のものと今日のものとで比較することで、昨日なくて今日ある店舗と、昨日あって今日ない店舗を抽出する。

50diff.sh

引数に、ゲームの種別、今日の年月日(yyyyMMdd)書式、昨日の年月日(yyyyMMdd)書式、を指定する。

#!/bin/sh
GAME=$1
TODAY=$2
YESTERDAY=$3

TFILE=${GAME}/m_list${TODAY}.txt
YFILE=${GAME}/m_list${YESTERDAY}.txt
RHTML=${GAME}/result${TODAY}.html

rm -f ${RHTML}
touch ${RHTML}

# HEADER
cat html1.html >> ${RHTML}

# TITLE
echo "<h1>${GAME} - ${TODAY}</h1>" >> ${RHTML}

# NEW COMER
echo "<h2>NEW COMER</h2>" >> ${RHTML}
echo "<table>" >> ${RHTML}
echo "<tr><th>ShopName</th><th>ShopAddress</th></tr>" >> ${RHTML}

diff ${YFILE} ${TFILE} | grep -e "^> " | sed -e "s/^> //g" >> ${RHTML}

echo "</table>" >> ${RHTML}
# GONE
echo "<h2>GONE</h2>" >> ${RHTML}
echo "<table>" >> ${RHTML}
echo "<tr><th>ShopName</th><th>ShopAddress</th></tr>" >> ${RHTML}

diff ${YFILE} ${TFILE} | grep -e "^< " | sed -e "s/^< //g" >> ${RHTML}

echo "</table>" >> ${RHTML}

# LINK

echo "<hr>" >> ${RHTML}
echo "&gt;&gt; <a href=\"result${YESTERDAY}.html\">result${YESTERDAY}.html</a>" >> ${RHTML}

# FOOTER
cat html2.html >> ${RHTML}

4. Webサーバ

50diff.shで作成したHTMLファイルを、Webサーバのドキュメントディレクトリへコピー。
index.htmlのエイリアスとして最新の日付のファイルをシンボリックリンク設定する。

60html.sh
#!/bin/sh
GAME=$1
TODAY=$2

RFILE=result${TODAY}.html
RPATH=${GAME}/${RFILE}
WWWPATH=/var/www/html/pub/uniana
DESTPATH=${WWWPATH}/${GAME}/index.html
REALPATH=${WWWPATH}/${GAME}/${RFILE}

cp -p ${RPATH} ${REALPATH}
ln -s -f ${RFILE} ${DESTPATH}

5. 定時実行

上記のシェルスクリプトをシーケンシャルに実行する

00all.sh
#!/bin/sh
cd /usr/local/uniana

TODAY=`date +%Y%m%d`
YESTERDAY=`date --date '1 days ago' +%Y%m%d`
for GAME in beat
do
  ./10wget.sh ${GAME} ${TODAY}
  ./30sed.sh  ${GAME} ${TODAY}
  ./50diff.sh ${GAME} ${TODAY} ${YESTERDAY}
  ./60html.sh ${GAME} ${TODAY}
done
crontab
## uniana wget
59 7 * * * /usr/local/uniana/00all.sh

C90-3rd(8/14(Sun.))

昔は6:00入りしてたもんだ。もう体力はないぜ。購入欲は抑えてる。カタログ買ってサークルチェックすれば欲しい物が増える一方なので、買ってもほとんど読まないんだぜ。

11:30 東京臨海高速鉄道国際展示場駅到着

買ったもの


AFEEのやつ。認識し始めたのがここ数ヶ月の出来事なので、まずは読むことから始めていきたい


新刊を。国鉄から第三セクターなどに移管された本州と四国の特定地方交通線についてまとめられた本。1982年や1986年当時のスジも簡易ながら描かれていて見ていて楽しい


世界樹の迷宮でミキサーなどやられているquad氏の新譜を。


新譜を。買ったらスーパーブラックシリカちゃんシールをもらい、塩飴つかみどりサービスがあり、そしてカード引き(プリキュアプリキュア、なんかの特撮?、万能文化猫娘)の4択なら万猫えらぶしかないじゃろ そしてやっぱりこの4択なら万猫が人気だったんだとか 客層の年齢層の高さよ


新譜を。かつての勝手なイメージと違って顔がスリムになられたような片岡氏。


新刊を。SQLiteの話だけして「壁おめでとうございます!」っていうの忘れた……

お疲れさまでした。