/home/by-natures/dev*

データ界隈で働くエンジニアとしての技術的なメモと、たまに普通の日記。

2018/11/06 日付処理

週末に TOEIC の S&W(Speaking and Writing)を受けてきました。2回目か3回目なのですが数年ぶりだったのと、対策する時間があまりなかったのでスピーキングがしどろもどろに。L&R は日々の勉強でよい点数が取れたのですが、スピーキングはやはり試験対策しないとダメそうです。ちょっと試験料が高いのでまたしばらく時間を空けて受けようと思います。

スピーキングは DMM 英会話で少しずつ勉強しています。この前やっと8000分を超えました。130時間ちょっとですかね。仕事中にあまり口を動かす職業ではないので、30分自分だけが主に喋る時間って楽しいですし精神的にも良いです。レッスンが終わるといつもすっきりした気分です。外国の先生なのでプライベートな相談をしても安心だし、世界各国の色々な話も聞けるのもよいです。語彙を増やすためにあえて普段興味を持たないトピックを選んだりして、知識の幅も広がっていると思います。

昔、言語を学ぶのって明確な目標がないといけないと思っていて、大学で3年フランス語を勉強したのですが途中でやめてしまいました。理系大学で3年も第二外国語をやる学生なんてほとんどおらず、周りはフランス語圏に留学したい人しか残っていなかったので、最初は楽しかったのにだんだんと肩身が狭くなってしまいました。でも就職してからは自分なりの方法を考えながら勉強できるので楽しいです。

話は変わりますが、TOEIC 900点並の翻訳機なんて話題が今日出てましたね:

www.asahi.com

翻訳機が便利なのは間違いないんですが、スマートフォンで Google が翻訳してくれるものでも十分便利だし、教師データを考えても Google には敵わない気もするので政府が予算を使ってまですることかというと疑問です。オリンピックについて言及されているので、日本国内での特定用途特化したデバイスを目指しているんでしょうか。

Go言語での時刻処理

stackoverflow.com

time パッケージがとても便利なのですが、オブジェクトに「分」を表す int フィールドがあって、その Duration オブジェクトを作りたいときに少し手間取りました。 intValue * time.Minute だと int Duration の間に乗算が定義されていないのでエラーになってしまうので、 time.Duration(intValue) * time.Minute として DurationDuration の乗算にすることで解決できました。

3 * time.Minute のような数字がリテラルの場合は変数型が決まっていない状態なのでコンパイルできるのですが、一度変数に入れてしまうと型が定まってしまうので、暗黙的な型変換になれていると戸惑います。