ワーパパエンジニアの学び手帳

ワーパパエンジニアの業務外での学びとかガジェットネタとか

12月TOEICの結果 - 今後の方針

目次

経過

スタディサプリENGLISHパーソナルコーチプラン申込 

過去記事の通り、2018年9月末にスタディサプリENGLISHのパーソナルコーチプランを開始しました。

us-key-tech.hatenablog.com

学習の進捗

 その後、1か月ちょい経った時点で受けた模試では880点を記録。

us-key-tech.hatenablog.com

そんな経過もあったので、コーチには860点目標と言いつつ、 内心では900点を目標にしたいなと思いながら勉強を進めました。

勉強にかけた時間

10月は1日2時間弱のペースをキープしましたが、11月の模試後は1時間半くらいとペースが落ちました。これは完全に模試の結果で油断した結果。模試の時点で880点という得点を見て、これはイケるやん、と少なからず気が緩んでしまいました。

結果

試験後の感覚

試験直後の感覚として、「これは860いってないな…」というのが率直な感覚でした。リスニングはPart2以外はおおよそ迷わず解けた感覚があった一方、リーディングは全体的に時間がかかり、Part7は最後2文ほぼ読めず、焦りでその前の1文もまともに解けてないという惨状。

860行くとすれば、リスニングがもし480くらい取れていれば…という感覚でした(リーディングは400行ってないんじゃないかと)。

スコア

[https://twitter.com/us_key51/status/1078503304244518912:embed##toeic の結果出てた。まだ先だと思って油断していた。結果は825点(L420,R405)。思ったよりL取れてない。。自己ベスト更新すらできなかったので3月リベンジしようか検討中。。

試験後の感覚とのずれ

スコアだけ見ると、リスニングが思ったより悪く、リーディングが思ったよりマシという結果となりました。まあこれはTOEICがあくまで相対評価なので仕方がないところで、全体としてリーディングの出来が悪かったということだと思います。

リスニングは思ったほど取れていない模様。といってもPart3,4は9割近く取れていそうなので、Part2で相当落としていたのだろうと予想します。

反省点

学習ペース

今回に関して言うと、11月の模試後にペースを落としたことが最大の敗因かなと思います。そこで油断しないために900点という新たな目標を自分の中で設定したつもりだったのですが、どこかで緩んでしまったのかなと思います。ベースはある程度できてきたかなと思うので、一定の学習時間はキープしつつ、試験近くにピークを持っていけるようなイメージで進めていくべきと思いました。

学習内容

基本的にパーソナルコーチに任せて学習内容を決めてきたのですが、個人的には本番を想定して2時間通して問題を解くことや、それができないにしてもPart3だけ、Part4だけ、あるいはPart7だけでも通して解くといった、集中力や時間配分を意識した演習量が不足したかなと感じています。まあ3か月というパーソナルコーチプランの期間の中で試験が2か月ちょい経過のタイミングとなったことで、中に詰め込めない内容があった結果なのですが、次受ける時には時間を意識した演習と結果からの課題認識・対応といったやり方に重点を置きたいなと思います。

あと、スタディサプリで解いていた問題より本番の方がだいぶ難しいと感じました。本番前に持っていた不安として、本番形式の問題はスタディサプリの問題集しか解いておらず、公式問題集などを解いていないという点がありました。公式問題集の難易度を把握してませんが、結果として難易度のギャップにやられた部分もあるかなーと。スタディサプリの問題集もテキストをもらったものは全て消化してしまったので、公式問題集を買って本番前に最低1回は解くようにします。

公式 TOEIC Listening & Reading 問題集 4

公式 TOEIC Listening & Reading 問題集 4

 

 もう1点、リスニングの学習はずっとイヤホンでやっていたのですが、当日スピーカーからの音を聞いて、聞き取りづらさを感じました。この点についてもイヤホンで聞くばかりでなくスピーカーから聞くことにも慣れておくべきだなと。細かい点ではありますが。

継続したい点

自己ベストが830点でそこには届かなかったとはいえ、直近の会社で受けたCASECのスコアはTOEIC換算で600点台だったことを考えれば大進歩。ということで、やってきたことは間違いじゃないかなとは思っています。

特に、英文のディクテーション、シャドーイング、音読を徹底的にやったこと。これによってリスニングで今まで雰囲気で聞いていた部分が聞き取れるようになったり、リーディングで読みながら意味を理解するスピードが上がったと感じます。このやり方は今後も徹底していきたいなと思います。

今後

できれば12月のTOEICで860点を取って一旦は英語学習のペースを落として別の勉強をする、というつもりだったのですが、あいにくの結果。ちょっと迷っていたのですが、さすがに結構な額のお金を払って自己ベストすら更新できなかったという結果のまま終わるわけにもいかないので、3月のTOEICでリベンジすることに決めました。

ちなみに、パーソナルコーチプランは修了後に1年間のスタディサプリ(英会話コース、TOEIC対策コース)無料券が付いてきます。英会話コースは通常980円/月、TOEIC対策コースは通常月2,980円/月なので、これで結構元が取れる感あります。

TOEIC対策は世の中に色んな教材がありますが、迷うことなくTOEIC対策をこれに絞って進めていくことができ、不安な点もコーチに相談しながら進めていけるので、TOEIC対策の進め方に迷っている人、迷う時間がもったいないと感じている人に特におすすめしたいです!

 

 

AppleWatchを買いました-合わせて揃えたものなど

新年明けましておめでとうございます。

ってもう1月も中旬に入ろうとしていますが、皆様いかがお過ごしでしょうか。

昨年の振り返りとか新年の抱負とか一切なしですが、今年もゆるゆると更新していこうとおもいますので、引き続きよろしくお願いいたします。

 

さて、わたくし年末年始にボーナスの使い道を悶々と考えておりまして、「正直そんなに欲しいものないしな~何にお金使ったら生活が豊かになるかな~」と思いを巡らしておりました。

そんなわけで、気づいたらAppleWatchをポチっていたわけです(どんなわけだよ、と

目次

 

買った経緯

元々使っていた時計は↓のもので、アクティビティトラッカー機能もあるしアプリの出来もいいのでまあ満足して使っていたのです。

とはいえ慣れたら新しいものが欲しくなるもの、スマホの通知機能も欲しいなーということで、makuakeで↓のスマートウォッチに手を出しました。

ところがこれがかなりいまいちで、bluetooth接続はしょっちゅう切れる、歩数は軽く2倍以上カウントされる、アプリの出来がこれまで見た中で最低、と書いても書いても書ききれないほどの出来で。。。(デザインはよくてそこに惹かれた面もあるのですが、それだけじゃ使えないよ、というわけで。。。

 

そうしてスマートウォッチ選定に疲れた結果、AppleWatchの記事を見てたらどんどん惹かれてしまい、間違いないものを選ぼうということでポチるに至ったわけです。

 

買ったモデル

これ↓

44mmを推す記事が多くて迷ったのですが、自分は腕が細めで小さい時計の方が好きなので40mmにしました。

Amazonの初売りポイントアップキャンペーンの間に買いました。プライム会員&アプリからの購入で計+4%。PayPayのキャンペーンをやっているうちに買っておけば…とほんの少し思いましたが、しゃーなし。

使ってみて

まだまだ使いこなせてないなーとは思うのですが、とりあえず通知がサッと確認できるようになっただけでもめちゃくちゃいいですね。

あとはApplePay。職場のビルにローソンが入っていて、Pontaもポイント自動付与されるしすばらしーです(今まではiPhonePontaを読み取らせて、Edyで支払うという2段階で決済してました

使っているのがiPhoneSEのため手持ちのSuicaiPhone経由でAppleWatchに移せず、Suica定期は次の更新のタイミングで作るかなーという状況です。早くSuicaもAppleWatchに移したい!とりあえずビューカードの申し込みだけしました笑

AppleWatch4から追加されたインフォグラフはこんな感じにしました。情報量の多さすばらしーです。

f:id:us_key:20190108231359p:image

 

合わせて揃えたもの

スタンド

自宅で充電時の定位置。平日帰宅してスタンドに置いて充電、寝る前に100%にしておけば、睡眠中着けっぱなし~出社して退社して帰宅、まで経ても40%は残ります。もっと減ると思ってたので一安心。 

 

予備のケーブル

IQIYI アップルウォッチ iWatch専用磁気ワイヤレス充電ケーブル (MFi認証) 0.3m

IQIYI アップルウォッチ iWatch専用磁気ワイヤレス充電ケーブル (MFi認証) 0.3m

 

とはいえ充電切れを気にするのは精神衛生上よくないので、ケーブルも1本買いました。モバイルバッテリーとセットで持ち歩いています。

それにしても、AppleWatchのケーブルは高い。。iPhoneのように500円といったレベルのケーブルはほぼありません(あったけどレビューがひどかったので選ぶ勇気が出ず

 

レザーバンド

職場はビジネスカジュアルOKですが、さすがにスポーツループだけでは心許ないので購入。値段相応であんまレザー感ないですが、ひとまずはOKかな。

Apple製品はiPhoneのケースもそうですが、様々なメーカーから販売されている点も魅力ですね。

 

まとめ

スマートウォッチは常に身に着けているもの。ガンガン使いこなすというタイプのものではないと思いますが、上手く活用すれば生活がより便利に、豊かになるものだと考えています。

まだまだ使いこなせていないため、色々調べながら模索していきたいなーと思います。

Apple製品自体も買うのは久々なのですが、やはり新しいガジェットを手に入れるとワクワクするものですね♪

電車の遅延情報をSlackに定期的に通知する(heroku scheduler)

前もrubyで似たようなことやってますが、herokuスケジューラを使ってAPIを定期的に叩いて結果をSlackに通知するというやつ。
朝と帰りに電車の遅延情報を通知したいと思い、今回はpythonでバッチを作りました。

前のやつ↓
us-key-tech.hatenablog.com

コードは↓に置いています。
GitHub - us-key/pushTrainInfoSample

目次

やること

  1. herokuのスケジューラでpythonスクリプトを定期実行
  2. pythonスクリプトで電車の運行情報を取得し整形
  3. 整形した内容をslackで通知

動作環境

以下、pythonはインストール済みの前提で進めていきます。
コマンドはWindows環境のものです。maclinuxの場合は読み替えてください。

手順

プロジェクト作成

> mkdir pushTrainInfoSample
> cd pushTrainInfoSample  
> py -m venv env  
> env/Scripts/activate  

(コマンドプロンプトの場合は/ではなく\ )

コーディング

requestsのインストール

(env) > pip install requests

slackwebのインストール

(env) > pip install slackweb

コードの内容

今回は路線情報のAPIを叩いて運行情報を取る部分と、文字列をSlackに投稿する部分に分けて実装しています。

API叩くコード

# app/trainInfo.py  
import requests  
import json  
  
def request(nameArr):  
    url = 'https://rti-giken.jp/fhc/api/train_tetsudo/delay.json'  
    response = requests.get(  
        url,  
    ).json()  
    flg = False  
    print(response)  
    for name in nameArr:  
        for dic in response:  
            if dic['name'] == name:  
                msg = name + 'の遅延情報があります。'  
                flg = True  
    if not flg:  
        msg = '遅延情報はありません'  
    return msg  

slackに通知するコード

# app/postSlack.py
import slackweb  
import trainInfo  
import configparser  
  
# read ini  
inifile = configparser.ConfigParser()  
inifile.read('conf/config.ini', 'UTF-8')  
  
# webhook url  
url=inifile.get('settings','webhookurl')  
print(url)  
# 確認したい路線(list)  
train=inifile.get('train','lines').split(',')  
print(train)  
  
slack = slackweb.Slack(url=url)  
slack.notify(text=trainInfo.request(train))  

configparserについては後述します。

slackのwebhook URL取得

webhook URL取得については、以前書いた記事を参考に。

設定ファイルの利用

上記のslack通知するコードで登場したconfigparserですが、これを使うと設定ファイルから設定値を取得することができます。
使い方は↓の記事を参考にしました。
www.python-izm.com

今回の設定ファイルの内容はこんな感じ。

# conf/config.ini
[settings]
#slackのWebhook URL
webhookurl=https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX

#情報を取得したい路線をカンマ区切りで指定
[train]
lines=AAAA,BBBB,CCCC

webhookurl、linesを書き換えて使います。

ローカルで動作確認

(env) > py app/postSlack.py

slackに通知されればOK!

git管理化

(env) > git init  
(env) > git add .  
(env) > git commit -m "first commit"  

herokuにpush

(env) > heroku create pushtraininfo  
(env) > git push heroku master  

なんかエラー発生

(env) PS C:\Users\yomt0\pythonWorkSpace\pushTrainInfo> git push heroku master  
Counting objects: 1148, done.  
Delta compression using up to 4 threads.  
Compressing objects: 100% (1131/1131), done.  
Writing objects: 100% (1148/1148), 9.20 MiB | 296.00 KiB/s, done.  
Total 1148 (delta 235), reused 0 (delta 0)  
remote: Compressing source files... done.  
remote: Building source:  
remote:  
remote:  !     No default language could be detected for this app.  
remote:                         HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.  
remote:                         See https://devcenter.heroku.com/articles/buildpacks  
remote:  
remote:  !     Push failed  
remote: Verifying deploy...  
remote:  
remote: !       Push rejected to pushtraininfo.  
remote:  
To https://git.heroku.com/pushtraininfo.git  
 ! [remote rejected] master -> master (pre-receive hook declined)  
error: failed to push some refs to 'https://git.heroku.com/pushtraininfo.git'  

herokuへの新規デプロイが久々で今回色々詰まってしまったのですが、ひとまずエラーメッセージにあるURLを参考に、buildpackの設定をします。
Buildpacks | Heroku Dev Center

buildpackの設定

(env) > heroku buildpacks:set heroku/python

再デプロイ

ローカルへのコミットをしたのち、herokuに再度pushします。が、またエラー発生。

(env) PS C:\Users\yomt0\pythonWorkSpace\pushTrainInfo> git push heroku master  
Counting objects: 1148, done.  
Delta compression using up to 4 threads.  
Compressing objects: 100% (1131/1131), done.  
Writing objects: 100% (1148/1148), 9.20 MiB | 316.00 KiB/s, done.  
Total 1148 (delta 235), reused 0 (delta 0)  
remote: Compressing source files... done.  
remote: Building source:  
remote:  
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz  
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure  
remote:  
remote:  !     Push failed  
remote: Verifying deploy...  
remote:  
remote: !       Push rejected to pushtraininfo.  
remote:  
To https://git.heroku.com/pushtraininfo.git  
 ! [remote rejected] master -> master (pre-receive hook declined)  
error: failed to push some refs to 'https://git.heroku.com/pushtraininfo.git'  

requirements.txtを作ってなかったから?

buildpackがpythonに対応してないぜ、的なメッセージが出ているのですが、pythonのやつを設定したばっかだしなぁと思いつつ、調べると以下の記事が。 App not compatible with buildpack - Heroku - Stack Overflow
以下コマンドでrequirements.txtを生成。

(env) > pip freeze > requirements.txt

再度gitにコミットした後、デプロイ

ログを取り忘れましたが、無事デプロイできました。

まとめ

前回記事でも書いた通り、heroku schedulerは簡単に設定できるうえ、スケジューラのみの使用で無料の範囲を超えることは個人利用ならよほどハードな使い方をしない限りないんじゃないかなと思います。
今回書いたコードで私は朝7時と18時の2回slack通知させています。(1日毎のスケジュールを2件作成)
f:id:us_key:20181225232615p:plain スケジュールの組み方は業務で使うようなスケジューラと比べると制約がありますが、個人で使う分には十分じゃないかと。
気軽にスケジュールが組めるのでお試しください!