ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2017年7月16日日曜日

VSCodeでArduinoのコードを書く

Visual studio codeのArudino拡張がOSS化したというニュースを見た。
OSS化も何も、そんなものあったのか、と思って試してみた。
結論から言うと、結構使いやすいです。使う。

ここ最近は、デフォルトで使ってもそれなりに使いやすいことから、もっぱらVSCodeを使っている。仕事なんかだと、結構あっちやこっちでとりあえずコード書ける状態を作って作業するみたいなことがあるので、ライセンスを気にせずデフォルトでも書きやすいと嬉しい。それから、VSCodeに問題があってもGithubのイシューへの対応も早かったりする。これはよいことです。
で、コード書く環境ってあんまりあれこれ変えたくない。特にArduinoの標準の開発環境は使いやすいとは言いづらい。学習用途だからわざとだったりすんのかもしれないけど、たまにしか書かない言語でインテリセンスとかないと現代っ子はダルい訳です。
そういうことからArduino拡張を使ってみる。

1. 使わなくともArduino IDE入れておく必要があります。

2. インストールは拡張のライブラリから調べるだけなのでアレしてください。

インストールしたらコマンドパレットからArduino initializeとかしたら現在開いているフォルダ下に設定ファイル作ったりメインルーチンのファイル作ってくれたりします。シリアルポート設定したりボードの種別設定してArduino uploadでスケッチをアップロードできます。そしてお前はクソほど文字化けしてる出力を見ることになるんだ!



Arduino IDE自体の設定で言語設定をEnglishにしておけば英語出力になるので、ひとまずの精神の安定は保たれます。だいたいエラーメッセージなんて日本語である必要ないでしょう。MSDNの日本語訳とか英語原文より分かりにくいこと多いだろアレ…。

文字化けしてる原因はVSCodeの出力(ターミナルじゃなくて)がUTF-8じゃないせいだとかどうとかいうイシューがあったけど未対応っぽいので、詳しい人はアレ投げてアレしてもらったら良いんでないですかね。

2017年7月2日日曜日

AWS Cognito user pools使ってみた

JavaScriptのライブラリがJAVAっぽいのと、個人的な印象ではAWSのSDKってたいがいあんまり使いやすい感じなくてこれもそう。使ってる感じだと、同じような認証システムだとFirebaseとかのが使い。とはいえ、現状でAPI Gatewayの認証付きエンドポイントにリクエスト投げるみたいな役割で使いたいのでFirebase使うわけにもいかない。
cloud functionsがベータじゃなくなればGoocle cloud endpoints + cloud functionsとかで代用したほうが色々幸せになれるかもしれない(あまりよく知らない)。
あとそんな感じの用途で使うとIAMの設定が毎回辛い。私はIAMの設定を雰囲気でやっているしARNも雰囲気で把握している。このあたりAWSの制作チームは採用まで含めて完全に機能ごとに独立してるって聞いたのでそのせいなのかなと思うけど、毎度ARNが書いている位置が違ったり、そもそも書いてなくてnameとかから推測したり(多い)、不便極まりない。リソースごとにARN必ず表示するとか表示位置固定するとかやってくれないかなと切に思う。

とか色々文句ばっかり書いているけど、アプリでユーザー登録+パスワード変更とAPI Gatewayのエンドポイント認証させて叩くくらいまでなら一日で出来たので、すげー簡単と言えばすげー簡単かなという気もする。もし今自分が情報システムみたいなものがあまり無い中小企業に転職して、金かけずに一人でユーザー認証とか社内アプリとか作ってくれって言われたら、こんな感じのものを適当に組み合わせて作ると思う。
なんせCognito user poolsなんて普通に社内システムとして使うなら、よほど社員数の多い会社じゃない限りは無料枠で収まる。