koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

IoT縛りの勉強会! IoTLT vol.18 @ Amazon

IoT縛りの勉強会! IoTLT vol.18 @ Amazon - connpass に参加してきた。

この勉強会は空気が好きで、この春辺りから毎回参加している。 今回はLTする側で参加した。

前回分の記事が上がっていないが、下書きが3行の状態という見るも無残な状態なので、公開の見込みはなさそうだ。 最近ちょっと仕事が忙しくて、休みの日は寝てると終わっている。 休出はしていないので、寝て過ごすのはもったいないなぁ、と思い始めた夏。 しかし暑い。建設的なことは涼しくなってから考えよう。

前回に限らず、感想はTwitterでつぶやいているので、改めて記事に起こすこともないかな、という気がしなくもない。

twitter.com

twitter.com

とはいえ、今回はLTする側で参加したので、多少どういう思いだったのかとか、反省とかを熱いうちに(もう数日経っているけれど)メモしておきたい。

続きを読む

紅白 Milkcocoa 合戦!

【増枠】紅白 Milkcocoa 合戦!【祭り】 - connpass に参加してきた。

様子はTwitterを見るのが良いと思う。

#mlkcca since:2016-07-20 until:2016-07-22 - Twitter検索

前日の IoT縛りの勉強会! IoTLT vol.17 @ ヤフー - connpass にも参加してきたのだけれど、なんでこちらの記事を先に書いているかというと、酒があんまり入っていない&帰宅時間がそれほど遅くないから。

あと、こういうのは参加直後のパッションがないとなかなか筆が進まないというのもある。

IoTLT が割とノンジャンルなのに対して、この企画は Milkcocoa いうテーマがあるので、より具体的な取り組みについてのLTが多かった感があった。

続きを読む

IoT縛りの勉強会! IoTLT vol.16 @ IDCフロンティア

IoT縛りの勉強会! IoTLT vol.16 @ IDCフロンティア - connpass に参加してきた。

何回かこのLT会には参加しているのだけれど、今回もバリエーションに富んだトークがとても楽しかった。

続きを読む

Raspbian でパワーゲームは楽しいと知った

ちょっと Raspberry Pi 上で Open JTalk を使って音声合成したい、という思いが出てきたので Raspbian を入れた。

f:id:koudenpa:20160626233110p:plain

もともと情報としては便利だと知っていたけれど、実際やりたいことをやろうとすると、DIYレベルではとんでもなく便利であるというのが実感だった。

それぞれ Raspberry Pi というキーワードとともに検索すればいくらでも情報が出てくる。

とにかく、シェルからコマンドを叩けば(シェルスクリプトを実行すれば)、溢れるLinuxのソフトウェア資源とマシンパワーで何でもできてしまう。

そりゃぁ、流行るってもんだと思った。

作っているものが形になったら何かしらの形で見せたいと思うけれど、形になるかは不明。

それでもいいのさ。

「作る過程が楽しい」という感覚が半端ではなく、ほんとにいいマシンとOSだと思った。

ただ、なんか低レベルな処理をするのは Python で? 的な文化圏なようで、知らん言語なのは辛い(現在進行形)。

UTCな時刻をDateTimeKind.UnspecifiedなDateTimeにしてしまうとどんどんずれる

.NET での時刻のシリアライズで失敗したという話。

背景

.NET の DateTime 構造体 (System) は、時刻とは別に、その値が現地時刻なのか、世界協定時刻(UTC)なのか、その辺不明(Unspecified)なのかを持っている。

その辺を明示しないでDateTime構造体を構築すると、その辺不明の値になる。

その辺不明のDateTime値は大体において現地時刻相当で扱われる。 特に意識しないで時刻を扱う場合は、今いる場所の時刻だろうから、妥当な扱いだと思う。

で、DateTime構造体には DateTime.ToUniversalTime メソッド (System) という、呼べばUTCを返してくれるいい感じのメソッドがある。

やらかしたこと

  1. UTC(ISOで尻がZ)な時刻文字列を DateTime にする
  2. なんも考えないでシリアライズして永続化する
  3. なんも考えないでデシリアライズして DateTime にする
    • DateTimeKind.UnspecifiedなDateTimeになった
  4. なんも考えないで ToUniversalTime() してUTCにした気になる
    • +09:00 な時刻からUTC変換した感じに -9 時間された
  5. 2 に戻る

教訓

時刻をシリアライズするときにはタイムゾーンに関する情報を持たせるようにしましょう。

続きを読む

Windows 10 IoT Core をどんな時に使うのか?

PCが修理中で暇かつ、なんぼか Raspberry Pi 3 上の Windows 10 IoT Coreを触ったので、今のところの所感をメモしておく。

なお、MS的な答えは提示されている模様。

ビジネス向けの Windows 10 IoT

Windows 10 IoT Core は Windows 10 エディションのファミリで、小型で低コストの産業用デバイス向けに最適化されています。IoT ゲートウェイやマイクロ キオスク端末などのデバイスに対応し、単一の基幹業務アプリが実行できるように設計されています。

ここ。

単一の基幹業務アプリが実行できるように設計されています。

IoT Core は、電源を投入すると指定したアプリが実行され、原則としてアプリの切り替えはできない。 これは、DIY的に遊ぶ分にはデスクトップでいろいろ切り替えたりすることができなくて面白みがないが、業務用の端末としてはむしろ利点だし、この1言の説明は非常に納得がいく。

自分が弄っているのは Raspberry PiDIY向けだし、基幹業務と言われてもピンとこない。 この辺りをDIY向けに翻訳すると、以下のようになるのではないかと思う。

  • アプリは1つでいい
  • GUI出したい
  • C# 大好き

というときに、Raspberry Pi のOSとして IoT Core を選ぼう。

続きを読む