ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Google Home Mini買った

store.google.com

いわゆるAIスピーカーって言われている製品。伊藤洋一さんに言わせると「スピーカーじゃない」ってことですが、確かに音声認識するってことはスピーカーじゃないですよね。

伊藤洋一のRound Up WORLD NOW! | ラジオNIKKEI

ところで、Google Home Mini何に使ってるの?というところですが、私はGoogle Play Musicに課金していることもあって、音楽を聴くことが多いです。

というわけで自分が良く使ってるコマンドはこんなの。

1.おはよう

うちの奥さんが見つけたやつ。夜に言うと「こんばんは」で返してきますw その後、天気を教えてくれて、続けてニュースを読み上げてくれます。一日の始まりに最適ですよね。

2.(ラジオ局名)を聞かせて

文化放送を聞かせて」とか。radikoと連動しているので、ラジオが聞けるんですね。うちのダイニングキッチンにはテレビがないので、元々朝はラジオを聴く習慣でしたが、スマホ操作不要で音声だけで出来るのは簡単になりました。

news.livedoor.com

3.(曲名)を再生して

Google Play Musicからしゃべった曲名やプレイリストを探してきて再生してくれます。また、再生中に「この曲は何?」とか話しかけると、タイトルとかも教えてくれます。たまに聞き間違いで思ったのと違う曲がかかったりしますが、それもまた面白いということで。

4.今日の天気、明日の天気教えて

天気だけ知りたいときはこれ。設定した地域の天気を教えてくれます。便利。

5.(時間)タイマーセットして

IHクッキングヒーターのタイマーは分単位しか出来ないのですが、こいつは秒単位もいけます。ただ、「たいまーよんぷんはんせっとして」はダメでしたが、「たいまーよんぷんさんじゅうびょうせっとして」はイケました。使う側にも工夫が必要のようです。

6.ダジャレ

大して面白くないけど、音声合成なので許せますw

下記にたくさんまとまってますね。

yuki-no-yabo.com

再発防止策が「チェックリストを作成してチェックする」程度にとどまる

日経コンピュータ 2017.11.9号、連載「現場を元気にするDevOps 2.0」第5回より。 

まさにうちのチームでチェックリスト運用を始めたところで耳が痛いです。。。

 再発防止のためには、

「具体的な行動としてどう実行するのか」を深堀り

 するのだそうです。

この記事では、割り込みのせいで仕事が停滞するっていう話なんですが、システム障害を作りこむとか、予想外にコストがかかるとか、どんな問題にも言える話かと思います。

要は、成果を作るプロセスがあって、その成果をチェックリストでチェックするのもいいけど、そもそも悪い成果が出ないようなプロセスにすべきですよね、という風に理解してます。

システムを作るのは

  1. クリエイティブなもの
  2. マニュアルや手順があれば出来てしまうもの

のどっちなのかという問題があって、2だったら、プロセスをよりかっちりした強固なものにしていけばいいんですが、1だとすると、プロセス自体がかっちり出来ないので、改善もまた難しいのではないかなと思ったりします。

個人のスキルが高ければなーとは思いますが、高くないスキルの人を集めても仕事が出来るのがマネジメントだったりするのかなと思うので、悩みは尽きません。

大手銀、店舗スリム化でコスト減 完全無人化も

www.nikkei.com

とか、

r.nikkei.com

みずほFGは2026年度までに1.9万人の業務量を減らす計画で、

とか、まあ、よく読んだら人を減らすとは書いてないけど、人減らすでしょこれ。株価最高で、いざなぎ超えの景気とか言われてるのに、コンピュータに仕事が奪われる人々。色々終わりの始まり感ありますね。

自分も含めた、いわゆる「金融系SE」とか言われている人たちも一緒に終わるのか、

厳しい経営環境やデジタル技術の進展を背景に、すべての店があらゆるサービスを担う方式から、メリハリを付けた運営に切り替える。

 デジタル技術のあたりにチャンスを見い出すのか、まさに岐路感ありますね。よーくよく考えて、生き残る道を探そう。

第225回 TOEIC L&Rテストの受験票が来ました。

11/19(日)いつもの辻堂の湘南工科大学で試験です。結構駅から歩くので、当日雨降らないといいなあ。

www.iibc-global.org

果たして、ディクテーショントレーニングの成果は出るのでしょうか!?

HerokuにデプロイするSpring Bootアプリでプロファイルを切り替える(VM引数の渡し方)

Heroku環境で、このVM引数の渡し方はイマイチ分からなかったので、

ググったら見つかりました。

devcenter.heroku.com

ルートにProcfileっていうファイルを配置して、そこにコマンド書いとけばよいということらしい。

デフォルトでは、

web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/dictation-0.0.1-SNAPSHOT.jar

となっているところを、

web: java -Dspring.profiles.active=prod -Dserver.port=$PORT $JAVA_OPTS -jar target/dictation-0.0.1-SNAPSHOT.jar

のようにすればOKです。簡単ですね。
(先頭のweb:を付け忘れてハマったのは良い思い出)

Microsoftの音声認識がすごい

きっかけ

次男氏が小学校1年生なんですが、算数の勉強の一環で、単語カードに8+6=14、7+9=16などと、繰上りありの1桁の足し算を延々と練習していて、いやその単語カード作るのめんどくさいでしょってことで思いつきました。

作ったやつ

小学校1年生で習う繰上りありの足し算を延々と音声で解答するC#デスクトップアプリ · GitHub

動作イメージ


小学校1年生で習う繰上りありの足し算を延々と音声で解答するC#デスクトップアプリ

参考

qiita.com

英語ディクテーション学習Webアプリ(8)

taka-2.hatenablog.jp

前回の続き。

プロファイルでの環境差異の吸収

ローカルはオンメモリデーターベース、Heroku上ではPostgreSQLとなり、環境差異を吸収する必要が出てくるので、Spring Bootのプロファイルを調べて導入しないといけません。

 というわけで調べました。

-Dspring.profiles.active=dev

というVM引数を渡すと、プロファイルを切り替えられます。dev環境のプロパティファイルは、application-dev.propertiesに書けば反映されます。Heroku環境で、このVM引数の渡し方はイマイチ分からなかったので、productionをdefaultとして、開発環境では上記のようにdevプロファイルとして起動することで解決しました。

これで、開発環境はh2database、本番環境はPostgreSQLで切り替え可能になりました。ちなみにHeroku上のPostgreSQLは無料で簡単に作れます。しかし、無料枠では1万行までしか扱えないなどの制限があるようです。

f:id:taka_2:20171028235145p:plain

ちなみに、spring bootで設定情報をソースの外に出す方法についてはもっと色々あって、下記を参照すると良いようです。

24. Externalized Configuration

PostgreSQLjdbc URL/username/passwordは、バージョン管理したくないので、環境変数(HerokuのConfig Vars)に設定しています。

データベース差異の吸収

データベースへの初期データ投入は、spring bootの機能で、data.sqlを用意しておくと起動時に実行してくれるという仕組みを利用していますが、h2databaseとPostgreSQLで微妙に文法が違うことが災いして、1つのdata.sqlで対応できないことが判明しました。

ここで役立つのがspring.datasource.platformという設定。これを使って、dev環境は、spring.datasource.platform=h2にして、data-h2.sqlを用意。production環境は、spring.datasource.platform=postgresqlにして、data-postgresql.sqlを用意、という風に分けることが可能です。同じようなSQLをコピペすることにはなりますが、いったん回避できました。