概要
自作のWebアプリケーションに来た写真データをブラウザで自動印刷できないので
監視ソフトをWindowsで作ってデータの自動印刷が行えるようにしました。
いろいろ調べながら二日くらいかかりましたね・・・
リクエストの送信方法とJsonのパース部分で結構時間がとられました。
ソースをアップするので、同じようなことがしたい方の参考になれば。
GitHub/WindowsAutoPrint
GitHubのReadmeにも書いてますが
・WebClient によるGetリクエスト送信
・DynamicJsonによるパース
・設定オブジェクトのシリアライズ・デシリアライズ
・WEBサーバに配置された画像を読み込み印刷する
ってのが今回作った部分です。
ついでにGitHubに
GitHubに公開したことがなかったので、テストとしてアップロードしてみました。
アカウントは作ってたんですけどね!実に作ってから2年くらい?
業務以外でプログラム触る時間がないので、仕事時間で作ったものは公開できないですからね・・・・
もっと勉強しないと。
アップロード
このサイトを見ながらアップロードしました。(2015/08/12時点)
2014年版Githubの使い方!Windowsで初心者でも簡単アップロード
http://kawaidesu.hatenablog.com/entry/2014/06/28/092347
publishがSyncボタンに代わってるところぐらいですかね、ちょっとん?ってなったのは。
README.md
GitHubのサイトで編集するとレスポンスがひどいので、Qiitaで書いてからコピペしました。
改行も指定しないといけないみたいで半角スペース×2が必要みたいです。
IDEの使い勝手
ここ一か月でXcode、AndroidStudio、今回のVisualStudio、Colud9(クラウドIDE)を使って開発してるので、IDEの使い勝手所感です。
個人的な感想です。全IDEすげーなーと思いながら使ってますよ!
・Xcode
iPhoneアプリの開発で使ってます。
Swiftで作ってますが、言語としてはすごく使いやすいですね。オプショナルもなんか自分の書いたソースがバグってそうな不安が残りますが、使い勝手がいいです。
ほかの言語みたいにnullを参照型で許容しないのは、バグを生みにくくなるだろうし、正しい在り方なのかなって気がします。
IDEはいい感じです。
リファクタリングが使えないのが面倒ですが、コーディングは快適ですね。
画面をStoryBoardで作るのがなかなか難しい。
重かったりクラッシュしたりしますが、許容範囲の頻度なのでいいかな。
・AndroidStudio
そもそもAndroidのプロジェクト構成事態がファイルがたくさん必要で面倒。
画面を作って、画面を立て固定にするためにその都度マニュフェストファイルを開いて、リソースフォルダの画面レイアウトをいじって、ソースコードをいじって、いろいろ忙しいです。
別ファイルにリソースを定義するとまたファイルも増えるし。
ログの表示もおかしくなったり、遅延が発生したり、端末のいらない情報でログがスクロールしたりと微妙。
画面デザインは使いづらいので、複雑な画面ならXMLを直接いじったほうが早いですね。
XMLをいじればすぐ画面が変更できるのは、Xcodeと比べていいです。
時々StoryBoardの中身を直接いじりたいって思います。
動作はXcodeよりは早いと思います。僕は別にXcodeでも問題ないと感じるので、全然問題ないです。
真面目に使って一か月ぐらいですが、クラッシュしたことはないかな、たしか。
・VisualStudio
もともとこればっかりだったんですが、久々に触ると使いづらかったですねー。
そもそもOSのショートカットを間違えまくってイライラしました。これはどうにもならないです。
デバッグはダントツでやりやすいと思います。
インターフェースは一番しっくりくるんですよね。一番長く使ってるから当たり前だろうけど。
イベントの作り方とかすごく簡単ですよ。
エラーの内容も分かりやすいものが多いと思います。
動作はAndroidStudioと同じくらいかちょっと遅いくらいかなと思います。
・Cloud9
Railsプロジェクト用
【Ruby On Rails】クラウドIDEのCloud9が素晴らしい
ブラウザだけどレスポンスも問題ないし、ファイルのアップロードも簡単です。
ちょっと履歴を見たいときもさかのぼって見れます。
インターフェースもすごい好きです。
デメリットとしてはプロジェクト全体のダウンロードが遅いですね。
あとは無課金なのでメモリが足りなくてよくWebサーバが落ちます。
一回だけつながらなくなったこともあり、やはりつながらないと危機感を覚えますね!