fastlaneのコミッターになりました

この広告は、90日以上更新していないブログに表示しています。

と表示されるぐらいには更新していなかったので、近況報告です。

3月初旬にfastlaneのコミット権を付与してもらい、core contributorとして活動しています。 (fastlaneでは外部のコミッターをcore contributorと呼んでいます。)

fastlaneiOS/Androidのためのビルド自動化ツールで、GitHub上で開発されているOSSです。 GitHubのスター数はもうすぐ18,000を越えようとしていて、国内でも数多くの会社で導入されています。

きっかけは@jpmartha_jpさんが株式会社ookami主催で開催したfastlane Meetup Japanでした。

f:id:nafu003:20170909215647p:plain

f:id:nafu003:20170909214900p:plain

fastlane Meetup Japan後、同時期に@giginetさんと共にcore contributorとなりました。

5月に公式Twitterでアナウンスされて、現在は30 commitsしています。 Contribute内容としては、主に今開発しているPlayer!で利用していて見つけたバグや困った所を修正しています。 また、Issue整理、ユーザーサポート、日本でしか利用されていないactionなどを@giginetさんと一緒に修正したりもしています。

f:id:nafu003:20170909214141p:plain

fastlaneのcore teamは本当に素晴らしく、これからも期待できるOSSです。 これからも、もっと貢献できるように頑張っていきます。

何か困ったことや聞きたいことがあれば気軽にメンション下さい。

atrun - 指定時間にjobを実行する

Macで指定時間にjobを実行するようにしたかったので、その時のメモを残しておきます。

スケジューリングの設定

1. まず、atrunを有効化します。(デフォルトでは無効になっている)

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

2. 次にスケジュールを登録します。

3分後にopen.shを実行したい場合には次のコマンドとなります。 

at -t `date -v+3M +"%Y%m%d%H%M"` -f open.sh

atコマンドについて

  • atqでqueueを見ることができます
  • atrm job_idでqueueから削除できます

参考

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

第37回potatotipsはヤフーさんでの開催でした。
potatotips #37 (iOS/Android開発Tips共有会) - connpass

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

LODGEというヤフーが提供しているコワーキングスペースですが、とても快適でした。

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

greenDAO2ObjectBox (@kaelaela)

greenDAOからObjectBoxへ移行してみようというプレゼン。


Android Transition (@takahirom)

Transitionについて分かりやすい説明でした。Custom Transitionについての詳しい説明はDroidKaigiのトークで聞くことができるようです。まだ登録していない方はぜひ登録を ->
DroidKaigi 2017


Crashlyticsの Non-Fatalに救われた話 (@fgfgtkm)

CrashlyticsはFabricツール群の一つとして提供されており、最近Googleに買収されましたことは記憶に新しいですね。
Twitterが開発者プラットフォームFabricをGoogleに売却、事業のスリム化を図る | TechCrunch Japan
CrashlyticsにはCrashだけでなくExceptionも送信することができるので、問題解決に役立ちます。


Lottie for You (@wasabeef_jp)

LottieとはAfter EffectsファイルをiOS, Android, React Nativeで実行することができるようにするライブラリ。
Airbnbが出しているOSSです。AEファイルを作成すれば、難しいアニメーションも簡単に描画可能になります。

例としては、以下のようなアニメーションが実行できます。

f:id:nafu003:20170215203246g:plain

プレゼン資料はこちらです。


Android Custom lintを初めて作った (kengoScal)

UnusedResourcesだけでは検知できない、利用していないコンポーネントなども自動で検知してくれるものを作成したというプレゼンです。

GitHubに公開されていますので、確認してみて下さい。

github.com

コードで
事前条件を表明する (@duane0728)

事前条件を表明するメリットは多いので、コードで示していきましょうというプレゼン。

  • メソッドが仕様の代わりになる
  • デバッグが容易になる
  • メソッドの責任領域を明確にできる


参考図書

2016年度版Heroku複数アカウント使い分け

以前はddollar/heroku-accountsで管理する方法だったのですが、最近ではherokuのpluginを利用する方法に変更になりました。

herokuのリポジトリで管理されているheroku-accountsを利用します。
GitHub - heroku/heroku-accounts: Helps use multiple accounts on Heroku.

インストール

とても簡単です、heroku pluginsコマンドを利用します。

$ heroku plugins:install heroku-accounts

アカウント追加

personalはアカウントの識別子です

$ heroku accounts:add personal

アカウント一覧

$ heroku accounts

アカウント切り替え

personalはアカウントの識別子です

$ heroku accounts:set personal

アカウント削除

personalはアカウントの識別子です

$ heroku accounts:remove personal

Callbacks一覧を見る

u = User.first
# Save callbacksの一覧
u.send('_save_callbacks')
# Update callbacksの一覧
u.send('_update_callbacks')
# Create callbacksの一覧
u.send('_create_callbacks')
# Destroy callbacksの一覧
u.send('_destroy_callbacks')

class User
  # include ActiveSupport::Callbacks は実行済みを想定
  def self.callback_list(name)
    get_callbacks(name)
  end
end
User.callback_list('save')
User.callback_list('update')
User.callback_list('create')
User.callback_list('destroy')

のような感じでcallback一覧が見れます。 before_after_などは基本使わないほうが良い(個人の見解)ですが、ライブラリなどで利用されていることも多いので、一覧を確認する際に重宝します。

S3からディレクトリ毎ダウンロードする方法

ブラウザからS3にアクセスするとファイル単位でしかダウンロードできないため、s3cmdを用います。

まずは、s3cmdをインストール

$ brew install s3cmd

s3cmdの設定を行ないます

$ s3cmd --configure

s3cmdの設定が終われば、--recursive付きでgetコマンドを実行すればディレクトリを取得できます。

$ s3cmd get --recursive s3://my-bucket/dir-you-want-to-download local-dir
関連記事

qiita.com

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良さそうなので今後活用していきたいと思います。
私と同様に利用したことのない方は一度利用してみてはどうでしょうか。