Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Crash Fast & Furious

849 vues

Publié le

L'app Square Register Android ne crashe pas. Enfin... presque pas!

La recette magique? Combiner une approche aggressive avec la remontée de métadonnées et un monitoring précis. Venez découvrir les outils et techniques qui nous permettent de développer une app gérant des paiements sans mourir de trouille!

http://www.mix-it.fr/session/3532/

Publié dans : Ingénierie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Crash Fast & Furious

  1. 1. Crash Fast & Furious Pierre-Yves Ricau, Square
  2. 2. Source: https://t.co/uH1EqxqAow
  3. 3. 1 2
  4. 4. 1 2 3
  5. 5. 1 2 3 4
  6. 6. 1 2
  7. 7. public void uncaughtException(Thread t, Throwable e) {
 bugsnagClient.notify(e, Severity.ERROR);
 originalHandler.uncaughtException(t, e);
 }
  8. 8. private void notify(Throwable exception, Severity severity) { final Error error = new Error(config, exception); error.setSeverity(severity);
 captureState(error);
 Async.run(new Runnable() {
 @Override
 public void run() {
 deliver(error);
 }
 });
 }
  9. 9. Crashs natifs 1 2
  10. 10. Reproduire
  11. 11. 1 2 3 4
  12. 12. Infos statiques
  13. 13. 1 2 3
  14. 14. Rolling log 1 2
  15. 15. squ.re/leakcanary
  16. 16. Defensive programming
  17. 17. Offensive programming Crash Fast 2 1
  18. 18. Exception Grouping
  19. 19. 1 2
  20. 20. @Test public void submitTipSuccess() {
 withRobot(SalesHistoryScreenRobot.class) //
 .selectFirstBillAwaitingTipWithAmount(500_00L) //
 .enterCustomTip("100") //
 .clickSettleCustomTip() //
 .checkSettleTipButtonConfirmAmount("$501.00") //
 .clickSettleCustomTip();
 }
  21. 21. Dogfood / Beta
  22. 22. Staged Rollout
  23. 23. • Process process process • Repro repro repro • Crash Fast & Furious
  24. 24. @Piwai

×