みんからきりまで

きりみんです。

Swift/Kotlin合同勉強会#2でLTした

Swift/Kotlin合同勉強会 #2に参加して5分LTしてきました。

oi-study.connpass.com

「Swift or Kotlinをまだ知らない人」にオススメしたいTipsを紹介してください :)

という会だったので、Kotlin初心者向けにざっくりKotlinの型とJavaについて話した。

speakerdeck.com

Kotlinエンジニアの皆さんはお気づきかと思いますがKotlin in Actionからの引用です。
(KotlinConfで聞いたネタでもあります)

LT中にジャヴァのアップデートポップアップが出てジャヴァのお気持ちを感じた。

オイシックスさんの会場、美味しいごはんが食べれてとにかく最高だった。

Google Home Mini + IFTTT + Nature Remo + リモコン家電で低コストでスマートホームが実現された

先日、Google Home Miniを買った。

store.google.com

ぼくはGoogle Play Musicに全ての音楽データを集約してプレイリストなどを管理しているので、Google Home単体でも音楽プレイヤーとして十分に便利なのだけど、せっかくなのでもっと活用したいと思い、色々やってみた。

IFTTTと連携させる

IFTTTレシピではインプットとしてGoogle Assistantに対応しているので、Google Homeへの呼びかけをトリガーに様々なアクションを行う事が出来る。

一番最初に試したのはTwitter連携だ。
これは非常にシンプルで、Google Homeに「ツイート、 $tweet」と話しかけるとTwitterに$tweetを投稿してくれるようになった。

しかしこの程度では面白くないので、Nature Remoという製品を買った。

nature.global

スマートエアコンという体の商品になっているが、別にエアコンである必要はなく、赤外線リモコンの信号を記憶させ、スマホアプリからリモコンと同じ操作を出来るようにするというガジェットだ。
更にこのRemoがIFTTTのアウトプットとして対応しているため、何かのトリガーでRemoに学習させたリモコンを操作させるというレシピを作ることが出来る。

このGoogle Home + IFTTT + Nature Remoという組み合わせが非常に便利で、特にコーディングなどをする事もなく高給なスマート家電を買う必要もなくあらゆるリモコン家電を音声で操作出来るようになる。

更にせっかくなのでリモコン付きシーリングライトを購入し部屋に取り付けた。

現状、Google Homeを使用して、
・エアコン
・扇風機
・部屋の電気
を自由に操作出来るようになった。
これは明らかにリモコンを探し操作するよりも便利なため、かなり生活水準が上がった気がする。

費用

Google Home Mini:6000円
Nature Remo:13000円
シーリングライト:5500円
リモコン対応扇風機:元々持ってた(4300円)

余談

カーテン開閉も自動化したくてMornin'も購入したが、まさかの非対応規格でお蔵入りした。

Kotlin in Action読んだ。Kotlin入門の一歩先へ進めるKotlinエンジニア必読の一冊になると思う

Kotlin in Action読んだ。
なんとたいへん有り難いことに献本を頂いてしまった。
元々発売日に買う気マンマンだったけど嬉しかった。ありがとうございます。

ちょっと遅れてしまったけど読み終えたので感想を書きます。
ベタ褒めしていますが献本とか関係なく素直な感想です。

Kotlinイン・アクション

Kotlinイン・アクション

どんな内容か

基本的には言語仕様について解説しているタイプの本です。
ただし、プログラミング入門的なレベルではなく、主にJavaエンジニアとしてJavaの仕様を理解している人向けに書かれている。
なので、Javaや一般的なプログラミング言語とほとんど仕様が変わらない部分にはあまりページが割かされていない。

この手の言語仕様を網羅している分厚い本は内容が単調かつ情報量が多すぎて挫折してしまう事も多いと思うんだけど、Kotlin in Actionはかなり読みやすく、簡潔かつ興味を引く文章でテンポよく進む。

各章では、単に言語仕様を説明するだけではなく、どんな背景や思想があってKotlinがそのような仕様を選んだかといった説明をしつつ、そのサンプルコードではかなり実用的な、Effective Javaのようなその言語仕様を使ったテクニックが用いられており、今まであまり知見がない状態で試行錯誤でKotlinのコードを書いていた僕のような人間でも「なるほど」と関心するような内容になっている。
(実際、そのような例が載っているページにたくさん折り目を付けてしまった)

どのような人に特にオススメか

・(もちろん)Kotlinで開発をしているエンジニア全般。よほどスーパーKotlinマニアというわけでなければ経験者が読んでもたくさんの学びが得られるはず。

・バリバリのJavaエンジニア。Javaの言語仕様をよく理解している人であればこの本の内容はスッと入ってくると思うし、Javaとの違いやモダンな言語仕様がJavaベースでどのように実装されているかといった事が知れて楽しいのでは。

・新しい言語、モダンな言語仕様に触れたい人。RubyやJSなど他の言語のエンジニアはKotlinの言語仕様や思想を楽しく読めるのではと思う。そして多分、Kotlinのファンになってしまうかもしれない。

どのような人にはあまりオススメしないか

・とりあえずKotlinを書いてみたい人。人にもよると思うけど、結構分厚い本なので、まだKotlinを書いたことがないのであれば、無理してこの本を最初に読むよりも、まずは軽い入門記事などを読みながらKotlinを書いてみた方がいいかもしれない。

Javaの知識がない人。この本は基本的にある程度Javaの知識がある前提で、Javaとの違いや互換性などを解説しているので、Javaの知識が全くない人にはちょっとハードルが高いかもしれない。ただし、察し力の高い人であればその限りではない。

読んだ感想

まだまだ自分がKotlin初心者であることを感じさせられた。とても学びがある内容だった。
たぶん、今後この本がKotlin界でのいわゆる鉄板本というやつになるんだろうなと思った。

海外カンファレンスに参加するために英会話学習ちょっと頑張った知見(DMM英会話とか)

サンフランシスコで開催されたKotlinConfというカンファレンスに行ってきました。

KotlinConfの詳細とかは会社ブログの方に書いたのでそちらをご覧ください。(業務時間で日記書けて最高)

medium.com

こっちのエントリでは単身で初めてのアメリカへ行くためにやった英会話学習の事とか雑に書いていきます。

ぼくは今年の始めにパスポートを取得して、春に台湾、夏に中国へ行っていて、今回は3回目の海外旅行でした。英語ネイティブ圏へ行くのは初めてだったので、2ヶ月くらいぼちぼちと英会話学習をやっていました。

前提としてぼくの英語力は以下のエントリで書いたとおり。
当時からそこまで大きくは変わってない。

kirimin.hatenablog.com

なんかインタビュー記事とかもあるみたいです。(すっとぼけ)

eikaiwa.dmm.com

やったこと

DMM英会話

学習の中心は最近流行りのDMM英会話でやった。

eikaiwa.dmm.com

頻度としては毎日1回を目標にしてたんだけど、元々英語とか関係なく知らない人と会話するのが苦手なぼくはなかなか厳しく、結局週に2,3回くらいのペースを2ヶ月ほど続けた感じだった。

最初は教材を使ったレッスンのイメージがよく分からず、毎回フリートークを選んでいたんだけど、フリートークだとどうしてもディスカッション的な話題になってしまい全然何も喋れずにトラウマになるみたいな事が何回かあって辛かった。

途中から教材を使ったレッスンに切り替えて、デイリーニュースとかトラベル/カルチャーを中心にやるようにした。
予約画面で教材を選択すれば後は教材のフローにしたがって講師がエスコートしてくれるので簡単だった。

とはいえ教材にも最後にディスカッションセクションがあって、予め決められた質問に対して自分の意見を言うみたいな事をするんだけど、これがなかなか難しくて、例えば入国審査の練習教材だと質問内容が
・「出入国審査場でトラブルを経験したことはあるか。」
・「空港の入国管理デスクでは通常どのようなことを尋ねられるか。」
・「入国管理局の職員は自分たちの務めをしっかりと果たしていると思うか。なぜそう思うか。そうは思わないか。」
・「入国管理の目的は何だと思うか。」
・「空港での入国管理の手続きに関して変えたいところがあるか。なぜか。」
…と、そんなん日本語でも初対面の人相手に即興でスラスラ答えられないわ!という感じのラインナップになっているので、結構つらい。

そこで、ぼくは予め教材を予習して質問の回答を作文するようにした。これがなかなか良くて、英作文は単純に英会話の練習になるし、予め関連ボキャブラリーを調べられるのでレッスンでちょっとした雑談を振られても上手く答えやすくなって英会話に対して自信が付く。

その他DMM英会話知見

結構多くの講師がProfileにアニメが好きと書いているが、ぼくの経験だとその9割がナルトやワンピースなどのジャンプ系作品ファンだった。
僕はジャンプ作品にほとんど触れないため、下手に自己紹介で「アニメが好きです」とか言うと会話が噛み合わなくて辛くなる事が多い。
萌え系作品が好きな講師には出会えた事がないが、「シュタインズゲート」とか言うと分かってもらえる事も何度かあった。うっかりフリートークで好きなアニメや漫画を言うと「知らないな。じゃあそのアニメのシナリオを一から詳しく説明してみてくれ」とか日本語でも辛い無茶振りをされたりするので注意した方がいい。

ビデオゲームも好きな講師は結構多くて、こちらはアニメよりは雑談のハードルが低い。「Civilization」や「SimCity」が好きだと言うと理系の講師は分かってくれる事が多く、雑談が弾む事もある。

あと、意外とプログラミングをやってる理系学生の講師がいたりするので、雑談に自信があれば探してみてプログラミングトークをしてみるのも面白いかもしれない。
ただし大抵好きな言語を聞くとLispとか言われる。

瞬間英作文

瞬間英作文という本、というか本付属のCDをかなり活用した。

どんどん話すための瞬間英作文トレーニング (CD BOOK)

どんどん話すための瞬間英作文トレーニング (CD BOOK)

音源をPlay Musicに入れて通勤中などに聴き心の中でシャドーイングするようにした。
このとっさの一言というのは普通の英語力とはまた違った筋力というか慣れが必要なので、やっておくと役に立つ。

発音

発音の練習を全くしていなかったので、以下の本を買って練習した。

オドロキモモノキ英語発音 子音がキマればうまくいく

オドロキモモノキ英語発音 子音がキマればうまくいく

LとRの違いとか全く分からなかったのがちゃんと言い分けられるようになったのでよかった。
練習は少しやっただけだけど、そんなに発音で困る事は今のところない。

ディスカッション

英会話のディスカッションでいい感じの答えが言いたくて以下の本を買った。

CD3枚付 英語で話す力。141のサンプル・スピーチで鍛える!

CD3枚付 英語で話す力。141のサンプル・スピーチで鍛える!

これはディスカッション用のボキャブラリーと例文がひたすら載っている本なんだけど、これを何度も音読したりしてパターンを覚えた。

成果

主にやった英会話学習は上記の通りだけど、では実際サンフランシスコに行ってどうだったのか。

正直、DMM英会話で鍛えたようなややこしい質問をされるような機会はほぼなかった。(そりゃそうだ)

ただ、それなりに英語で会話することに慣れる事が出来ていたので、あまり緊張せずナチュラルに英語を使って必要なやりとりをする事が出来たし、耐性が付いていたので入国審査や買い物でスムーズに喋れなくてもパニックになったり過度に落ち込んだりせずに雑な英語で乗り切れる度胸が身についていた。

あと、会話の中で「yeah」「Okey」「sorry」などの反応を自然なタイミングに返す事をレッスンで学べたので、なんか雰囲気でいい感じに会話を受け流したり出来た。
正直旅行英語は「yeah」が上手に言えるようになったら入門編は終了だなって思った。

あとはLyftで運転手と軽く雑談したり、カンファレンスで少しだけ人に話しかけたり、あまり英語で苦しむ事なく無事行って帰ってこれた。

独学の英語でいきなり単身でアメリカへ行って辛い思いを特にせず帰ってくれたのだから、なかなかの成果なんじゃないかなと思った。

次に英語圏へ行く時には知らない人と雑談が盛り上がるくらい英語が上達できてるといいなぁ。

Android Test Night #1よかった

Android Test Night #1に参加してきた。

testnight.connpass.com

当日になっても補欠から繰り上がりそうになかったので諦めていたんだけど、ブログ枠が空いていると聞いて滑り込んだ。
何書けばいいか分からなくて困ったらどうしようと不安だったけど、全然そんなことはなくてたいへん面白い話がたくさん聞けてよかった。

続きを読む