potatotips#28 (iOS/Android開発Tips共有会) Androidまとめ

第28回potatotipsは株式会社エウレカでの開催でした。
potatotips #28 (iOS/Android開発Tips共有会) - connpass

かなり良いオフィスでした。会場提供ありがとうございます。
今日は#29が開催される日(というかあと10分で開場...)なのですが、#28の内容について書きます。

API仕様書をいい感じに管理する(yuyaka)

API仕様書どうしてる?

  • Apiary
  • Swagger

などを利用することで、WikiやSperadsheetでは辛いAPI仕様書管理を良い感じにできそうです。


Apiary使ってみる

Watchしていた方々にとっては周知と思われますが、2016/01/08にWe’ve got Swagger—Apiary BlogというBlogが公開されており、ApiryでSwaggerが利用できるようになっています。

1. https://apiary.io/にアクセスしてSign Upします

2. APIの名前を入力します

f:id:nafu003:20160525174847p:plain

3. 青字のAPI BlueprintをクリックするとSwaggerを選択できます

f:id:nafu003:20160525175425p:plain

4. Swaggerのテンプレートが作成されます

f:id:nafu003:20160525175312p:plain

5. まだβということもあり、一部機能は対応していないようです

f:id:nafu003:20160525175320p:plain

6. すぐにサンプルを実行できて良い感じです

f:id:nafu003:20160525175325p:plain

まとめ

利用したことなかったですが、Apiry良さそうなので今後活用していきたいと思います。
私と同様に利用したことのない方は一度利用してみてはどうでしょうか。

potatotips#27 (iOS/Android開発Tips共有会) Androidまとめ

第27回potatotipsはグリーでの開催でした。
potatotips #27 (iOS/Android開発Tips共有会) - connpass

こちらが会場の様子です。

人数に対して会場が広かったこともあり


のようなtweetも見受けられました。BGMはあった方が良いですね。

以下Androidの発表をまとめました。

GoMobileでModuleを作った話 (@kmizutani0222)

遅れて来たこともあり、聞きそびれてしまいました。すみません。

別の方ですがDroid Kaigi 2016で発表された内容もためになります。

Networkの切り替え感知について (ヤマグチケイスケ)

Androidが利用しているネットワーク切り替えを検知する方法について説明されています。
Android5.0以上ではNetworkRequest.Builderやれば簡単です。
addCapabilityやaddTransportTypeを利用することでNetworkCapabilitiesのNET_CAPABILITY_*やTRANSPORT_*を追加可能です。

Apk size diet (@konifar)

大事。とても大事。
スクストの容量が小さすぎて感動したことを思い出しました。(スクールガールストライカーズの
内製クライアントエンジン

Proguardの簡単な設定だけでも対応しておくと良いです!

Automated translation on CI (@kobakei)

CI環境で翻訳、良いと思いました。
GengoではAPIで利用すると翻訳済みのものはエラーを返してくれるそうで、お値段的にも無駄がなくなるそうです。

Android Wear (nankiti)

Android Wearについての発表。Wearable系はこれからもっと面白くなっていくと思うので、早め早めに触っておくと良さげ。

ORMの選び方(Android編)(@__gfx__)

  • AA
  • Orma
  • DBFlow
  • Realm

が比較されていてためになりました。

Rx{Java,RxAndroid}Plugins with unittesting (@izumin5210)

Rxは良いですね。皆さんテストもバンバン書いていきましょう!

複数ファイルを一度にunlockする方法

動機

現在Diskの容量がフルなため、ディスクの整理を行っています。
いつlockかけたか記憶にないですが、ゴミ箱を空にするために大量のファイルをunlockする必要がありました。

解決策

以下のコマンドで複数ファイルを一度にunlockできます。
DIRECTORY_NAMEはunlockしたいファイルが含まれているフォルダを表しています。

chflags -R nouchg DIRECTORY_NAME

Nexusに特定のOSをインストールする方法

Nexusに特定のOSを焼く手順

1. Android SDKをインストール
2. PATHを設定

export ANDROID_HOME=~/android-sdk-macosx
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

3. 焼きたいOSのシステムイメージをダウンロードしてzipを解凍
4. USBデバッグを有効にする(設定 > 端末情報 > ビルド番号を7回連続タップ)
5. USBでPCに接続
6. Nexusをfastboot modeで起動する

adb reboot bootloader

7. 必要であれば、デバイスのbootloaderをアンロック

fastboot oem unlock

8. ターミナルからzip解凍したフォルダに移動
9. flash-all scriptを実行

./flash-all.sh

10. Nexusを再度fastboot modeで起動する
11. bootloaderをロックする

fastboot oem lock

Factory Images for Nexus Devices  |  Nexus Files for Developers  |  Google Developers

【全15巻合本版】角川インターネット講座 [Kindle版]が21,600→ 2,700円(87%OFF+ポイント20%還元)

角川インターネット講座は、インターネットについて15巻にわたってさまざまな視点から解説するシリーズです。
日本のインターネットの父・村井純さん、楽天三木谷浩史さん、ニコニコ動画川上量生さんをはじめ、業界トップの方々が監修されています。
全部で61229ページもありますが、専門的なテーマが分かりやすく解説されていますので一読あれ。
もちろん、Matzさんの「ネットを支えるオープンソース」も含まれています!
キャンペーン期間中に入手してみてはどうでしょうか。

インターネットを支える膨大なソフトウェア群。利用者の視点では見えにくい開発現場の思想を、世界的プログラマーまつもとゆきひろが、「オープンソース」をキーワードにやさしく解説する。

From http://kci-salon.jp/books/02/

レビューもとても参考になりますw

5つ星のうち 5.0 大変に不愉快である 2016/1/23
投稿者 tomatoh

まず本講座集の著者と編集者に対して無礼である。日本のインターネットの最前線の成果を惜しげも無く書かれた作品群を【87%OFF+ポイント20%還元】販売してしまうなんて、知に対する挑戦としか思えない。
何より本講座集に収録された数冊を事前に定価で購入しまった僕に対して無礼である。今回の販売価格より既に多く支払っているではないか。

でも、向学心あふれる初学者や大学生に対してはすばらしい。なんとも悩ましい。

結論的には、即ポチすべき商品です。

Gitで日本語ファイルの文字化けを防ぐ方法

動機

日本人ですので、やむを得ない事情がありファイル名を日本語にしなければならない時がありますよね〜

そんな時、Gitがいつもの設定のままだと次のようになってしまいます。

% git status -s
M "\343\203\227\343\203\254\343\202\274\343\203\263/Presentation.pptx"
?? Guide1217.pdf
?? "\343\203\227\343\203\254\343\202\274\343\203\263/Presentation-Slides.pdf"
?? "\343\203\227\343\203\254\343\202\274\343\203\263/Presentation.pdf"
?? "\343\203\227\343\203\254\343\202\274\343\203\263/\343\202\271\343\203\251\343\202\244\343\203\211\351\226\242\344\277\202\345\233\263/"
?? "\343\203\227\343\203\254\343\202\274\343\203\263/\344\270\213\351\241\216\347\256\241\343\203\206\343\203\255\343\203\203\343\203\227\345\205\245\343\202\212.mp4"
?? "\343\203\227\343\203\254\343\202\274\343\203\263/\350\253\226\346\226\207\351\233\206/"
?? "\343\203\227\343\203\254\343\202\274\343\203\263/\357\276\200\357\276\214\357\276\236\357\276\232\357\275\257\357\276\204\357\276\213\357\276\236\357\275\255\357\275\260\357\275\2612013July.wmv"

( •́ω•̀)ん?

何がなんだか分かりませんね。

解決法

バージョン管理しているプロジェクトに対して以下のコマンドを実行すれば、あっという間に解決です。試してみてくださいねー☺

% git config --local core.quotepath false

全体に適応したい人は--globalオプションで実行すればOKです!

% git config --global core.quotepath false

git difftoolでvimdiffを使う

1. 設定方法

% git config --global diff.tool vimdiff
% git config --global difftool.prompt false
% git config --global merge.tool vimdiff
% git config --global mergetool.prompt false

2. 使用方法

% git difftool

vimdiffの使い方は参考リンクを見て下さい。
[Vim]vimdiffで差分を表示・マージして元ファイルとの差分を確認する | DevAchieve