Project Rider EAP で Xamarin がサポートされました (あと .NET Core RTM も)

f:id:iseebi:20160508090917p:plain

先日 Project Rider EAP で Xamarin を書けるか とかいう記事を書いたわけですが、ついに公式に Xamarin がサポートされました。

公式にはどちらかというと、.NET Core RTM やデバッグサポートのほうが先に来てたのですが、かなり待ってただけに当初 Xamarin Support の字しか目に入りませんでした!(ぁ)

とりあえず軽く触ってみた感想を書いてみます。

  • Xamarin.iOS / Xamarin.Android 共に開ける。
  • かなり大きなプロジェクトを開いても全然快適だった。(きちんと見たわけではないけど)
  • 実行するのは Unhandled Exception になって無理だった。
  • Storyboard などのリソースものは開けなかった。
  • IdeaVim がちゃんと動く! Vi モードなくなってアドインになった Xamarin Studio より圧倒的に快適。

というわけで、コード書く分には ReSharper 相当の支援機能や Android Studio 同様のアドインが使えるのでかなり快適です。Xamarin Studio と Rider の両方で開きながら、リソース編集や実行を Xamarin Studio でやれば今のところはいけるのだろうか。しばらく使ってみようと思います。

Xamarin Studio 6.0 から Vi モードがなくなって死活問題になってる方へ

f:id:iseebi:20160609020828p:plain

Xamarin の Cycle 7 アップデートが Stable になり、Xamarin Studio 6.0 が Stable に降ってきました。

Cycle 7 全体については、Stable Release: Cycle 7 | Xamarin Releases からリンクをたどれますが、Xamarin Studio 6.0 のリリースノート の Text Editor のところを見たら、Alpha のときから消えなかった "This release does not include the VI mode." という一文があります。Stable になるときに消えるかなーと思ってたのですが、ついになくなってしまったようです。

Vimmer は多少実装が残念だったとしても、hjkl でカーソルが動かないとコード書くことができません。これでは仕事にならない…と途方に暮れてしまっていたのですが、id:atsushieno さんにコミュニティアドインがあることを教えていただきました。

続きを読む

グランフロントで働くのやめました

f:id:iseebi:20160514162110j:plain

このたび転勤で本日6月1日から東京配属となりました。*1釣りっぽいタイトルつけてみたかったんです、会社はやめてないです、ごめんなさい。

今の会社に転職してきてそろそろ 5 年、前の会社を辞めたのもだいたい 5 年だったので、時期としてもちょうどいいタイミングだったと思っています。

*1:実際は de:code 2016 に参加するのにあわせて移動していました。

続きを読む

Project Rider EAP で Xamarin を書けるか。

Project Rider といえば、JetBrains が開発中のIDEです。内部にはReSharperが入っているということもあり、大きく期待されています。

f:id:iseebi:20160508090917p:plain

まだ EAP (Early Access Preview) なので、いろいろ動かない部分があるのですが、我々 Xamarin ユーザーとしては Xamarin の開発に使えるかどうかが最大の興味でしょう。

Xamarin のプロジェクトをロードしたときのエラーメッセージから、なんとなくいける気がしたので試してみました。

続きを読む

AWS SES+Lambda で作る、ドメインまるっとメール転送

僕は各種サービスに登録するメールアドレスを基本的に Gmail(旧 Google Apps) のエイリアスですべて変えているのですが、困ったことにエイリアスマッピング指定に使う + がはじかれるサービスがとにかく多くて困っています。

f:id:iseebi:20160505123607p:plain
▲正しく入力しているのに「正しく入力してください」と出て、そのたびにイライラしてしまいます。

また、登録上は通るけど、実際に使おうとすると不具合が起こるサービスもあります。*1

いままでは、その度に Google Apps の管理コンソールに行ってエイリアスを登録してきたのですが、アカウントに登録できるエイリアスの上限に行ってしまい、グループを作ってそこにエイリアスを追加していく羽目にもなっています。

スマートフォン上で登録したいタイミングも結構出てきたりして、そろそろ実用上耐えられないなと思っていたところ、AWS の SES が送信だけでなく受信もでき、Lambda でメールを処理させることができるということを最近知りました。

今回やりたかったのは、アカウント名を無視して、サブドメイン部分をアカウントとして転送する、つまりこういう形にしたかったのです。

any@hoge.mail.example.com → hoge@example.com

AWS Lambda SES Email Forwarder というものもあり、簡単に設定できそうだったので試してみました。

設定方法

今回は、us-west-2 (オレゴン) リージョンに設定してみました。

*1:FM802 RADIPASS などは、アカウントの登録は + が通るが、実際のアンケートフォームが + を通さないのでいちいち変更しないといけない。

続きを読む

Xamarin 用の Injection フレームワーク Saitama を使ってみた

NuGet のフィードを眺めていたら、Saitama.Android というフレームワークが更新されたという情報が流れてきました。

どういう経緯でこの名前がついたのかわかりませんが、日本人的にはすぐにこの AA を思い浮かべるでしょう。*1

f:id:iseebi:20160406064936g:plain

名前はともかく、紹介記事を読んでみると、MvvmCross がつらいけど MvvmCross のインジェクションっぽいのが欲しくて作ったみたいなことが書いてあって気になったので試してみました。

*1:その後 @atsushieno さんに指摘いただいたのですが、ワンパンマンのほうじゃないかとのこと。そういえばあっちもサイタマだった…。

続きを読む

3Dプリンタを買いました

f:id:iseebi:20160305204729j:plain

思い立って3Dプリンタを買いました。

自転車マウンタとか、ベッド用タブレットアームとか色々買ってきたのですが、せっかくこれ引っ掛けるところがあるんだったら色々ドッキングしたいなーと思っていて、DMM.makeの出力サービスとかでいい感じにできるかなと思ったのですが、トライアンドエラーで何度もやり直しができないので、自信がない。

やはり手元にあったほうがいいと思って3Dプリンタ欲しいと思ってはいたのですが、10万オーバーの世界だよなあと思いつつも調べたら、6万くらいで買えて、使いやすそうなダヴィンチという製品群があることを知りました。いろいろ検討して、ダヴィンチ1.0A という機種を買うことにしました。

ダヴィンチ 1.0A

ダヴィンチはXYZプリンティングという会社の製品群で、熱溶解フィラメント製法という、材料を細い線にしてリールにしたフィラメントというものを溶かして積み重ねてモデルを作ります。

1.0Aはこの会社の中の製品としてはエントリーユーザー向けの機種にあたります。最大で 20cm 四方のモデルを出力できます。

3Dプリンター ダヴィンチ 1.0 A

3Dプリンター ダヴィンチ 1.0 A

エントリーユーザー向けとしてはダヴィンチJr.という機種もありますが、こちらは安い代わりに出力できるサイズが 15cm 四方となります。

3Dプリンター ダヴィンチ Jr. 1.0

3Dプリンター ダヴィンチ Jr. 1.0

もう少しコンパクトだと思ってたら結構大きい箱で届いてびっくりしました。玄関塞いじゃって、独り身の1K部屋に入れるためには一度家具を動かす必要がありました。

f:id:iseebi:20160305094800j:plain

付属品はこんな感じ。モデルをステージからはがすためのへら、プリントヘッド掃除用のブラシなどがついています。あと出力する上で大事なスティックのりがついています。あとなぜかプラスチックの板がついてて何に使うんだろう…と思ったら、持ち上げる時に使うハンドルの穴を塞ぐためのパーツでした。

f:id:iseebi:20160305201728j:plain

モデルの作成

f:id:iseebi:20160320210724p:plain

学校は機械系と情報系を組み合わせた感じの学科だったこともあり、CAD を中心に勉強してたので、簡単な使い方は知っていました。いまでも IT エンジニアには Illustrator よりもわかりやすいんじゃないかな、と思います。

学生当時は 2D は AutoCAD、3D は Rhinoceros や Pro/ENGINEER を使っていましたが、いまは 123D Design という非商用無料の 3D CAD ソフトがありましたので、これを使うことにしました。2D 系の操作にショートカットがあまり定義されていなくて操作性の部分は微妙だなと思ったのですが、そこそこ直感的に使えてこれから始める人にはいいと思います。

また、僕はジョイントを持っているものに対して違うものをひっつけたかったので、測定用にノギスも買い、これで測りながら 123D に落としていきました。

作成したモデルは STL という形式に出力すれば、ダヴィンチの出力アプリである XYZware に読み込ませることができます。

モデルの出力

f:id:iseebi:20160320211548p:plain

XYZware で STL ファイルをロードするとモデルが現れるので、ステージのどの部分に出力するかを指定することができます。

プリントボタンを押すと、パラメータの設定画面が出て、ここでモデルの出力時の調整ができます。

プリントボタンを押すと、所要時間とフィラメントの消費量の見積もりが表示されるので、それでよければプリントを開始します。

プリント前にモデルが出力される箇所にスティックのりを塗ります。これをしておかないと、モデルを出したときにステージにフィラメントが固定されず出力が失敗します。また、モデルが出る部分だけではなく、向かってステージ右手前側にテストプリントが行われるため、ここにも塗っておく必要があります。

f:id:iseebi:20160320211921j:plain

プリントが始まるとエクストルーダー(プリントヘッド)は 210 度、ステージは 90 度に熱せられます。ステージの余熱に時間がかかり、実際に出力が始まるまでは 5 分程度かかります。

モデル出力後は冷却され、ステージが終わって完了となります。モデルをはがした後は、濡らした布でスティックのりを拭き取って、乾拭きして終わり、という感じになります。

作ったもの

この 2 週ほどで作ったものです。

モバイルバッテリーマウンター

最近 iPhone 6 Plus のバッテリーがもたなくなっていて、3時間で20%とかになってしまうのですが、バッテリー交換するにも画面左下欠けてておそらくここも直さないと交換してもらえないと思うし、今年買い替えることを考えると無駄な出費だと思っていました。

サンワダイレクトの 800-BYPDA2BK という自転車マウントはiPhone側に専用のケースをつけるタイプとなっています。

http://www.amazon.co.jp/dp/B00SUY7T1Qwww.amazon.co.jp

ここの固定部分にダンボーバッテリーを固定するプレートを作りました。しっかりケース固定にしてもいいかなと思ったんですが、めんどくさいと思ったので輪ゴム固定。

タブレットアームのiPhoneジョイント

先ほどの自転車マウントケースのジョイントパーツを使って、iPad を接続するアームに iPhone をマウントできるようにするジョイントを作りました。

http://www.amazon.co.jp/dp/B00NHKW9UYwww.amazon.co.jp

Venue 8 Pro 用のスタンド

ThingverseXYZプリンティング公式サイトのギャラリーなど、3D モデル共有のサイトから無料でダウンロードできるモデルがたくさんあり、そのまま出力したり独自の拡張を加えることができます。これはこちらのモデルをそのまま出力しただけですが、とってもぴったりでよかったです。