Library Discovery - Stop reinventing the wheel

1e3f36cacc64d0a924cdbb3fdc59e8af?s=47 move:elevator
September 24, 2016

Library Discovery - Stop reinventing the wheel

1e3f36cacc64d0a924cdbb3fdc59e8af?s=128

move:elevator

September 24, 2016
Tweet

Transcript

  1. GROUP

  2. Library Discovery Stop reinventing the wheel

  3. None
  4. Agenda Warum Library-Discovery betreiben Warum (nicht immer) das Rad neu

    erfinden Kleine Library-Discovery Zusammenfassung und Fazit Wo und wie Libraries finden
  5. Team-Lead Business Solutions seit April 2010 bei move:elevator https://tommy-muehle.io https://twitter.com/tommy_muehle

    Gründungsmitglied PHPUG Dresden https://github.com/tommy-muehle
  6. Warum 
 Library Discovery betreiben?

  7. Quelle: Grafik, http://mirekcerny.com/book

  8. Warum nicht immer das Rad neu erfinden?

  9. Library-Discovery Eigene Anforderungen und Kontext: Sichtweise oft nur aus seinem

    Projektkontext und Anforderungen heraus. Warum nicht immer selbst implementieren? Vernachlässigung techn. Gegebenheiten: Implementierung
 oft nur für ausgewählte Systeme und Gegebenheiten. Wissensstand und Erfahrung: Entwicklung auf Basis des eigenen Wissenstandes oder den des Teams.
  10. Library-Discovery Gesicherte Qualität: Oft haben viel genutzte Libraries eine hohe

    Testabdeckung. Warum externe Libraries verwenden? Robust: Durch den Einsatz vieler User und entsprechendes Feedback gereift und robust. Lerneffekt: Regelmäßiges Nutzen von externen Code hilft einen beim Verständnis für Architektur und Herangehensweisen.
  11. Warum nicht immer das Rad neu erfinden?

  12. Library-Discovery Abhängigkeiten vermeiden: Zusätzliche Abhängigkeiten durch
 externe Libraries. Warum selbst

    implementieren? Beispiel
  13. Library-Discovery Grafiken, https://github.com/clue/graph-composer

  14. Library-Discovery Abhängigkeiten vermeiden: Zusätzliche Abhängigkeiten durch
 externe Libraries. Warum selbst

    implementieren? Schlechte Qualität: Externe Library weißt ungünstige 
 Struktur oder mangelhafte Code-Qualität auf. Neuland: Keine bereits vorhandene Implementierung.
  15. Library-Discovery Stand der Entwicklung: Prüft die techn. Anforderungen und schaut

    ob noch aktiv daran gearbeitet wird. Was gilt es zu beachten? Lizenz prüfen: Nicht jede Lizenz lässt den Einsatz im eigenen Projekt zu.
  16. Aber wo und wie finden?

  17. Quelle: Logo, https://packagist.org

  18. Packagist https://packagist.org

  19. Quelle: Logo, https://www.reddit.com

  20. reddit https://www.reddit.com/r/php

  21. reddit https://www.reddit.com/r/php

  22. Quelle: Logo, https://www.sitepoint.com

  23. sitepoint - Sourcehunt https://www.sitepoint.com/tag/sourcehunt

  24. Quelle: Logo, https://github.com

  25. Github - Explore

  26. Github - Awesome lists

  27. Github - Awesome lists . . .

  28. Quelle: Logo, http://stackoverflow.com

  29. stackoverflow - Room 11

  30. None
  31. Let’ start
 discovery

  32. Security

  33. sensiolabs/security-checker https://github.com/sensiolabs/security-checker

  34. Discovery - Security

  35. psecio/iniscan https://github.com/psecio/iniscan

  36. Discovery - Security

  37. Datum und Uhrzeit

  38. briannesbitt/Carbon https://github.com/briannesbitt/Carbon

  39. Discovery - Datum + Uhrzeit

  40. azuyalabs/yasumi https://github.com/azuyalabs/yasumi

  41. Discovery - Datum + Uhrzeit

  42. Geld und 
 Währungsberechnung

  43. moneyphp/money https://github.com/moneyphp/money

  44. Discovery - Geld und Währung

  45. Bildbearbeitung

  46. kosinix/grafika https://github.com/kosinix/grafika

  47. Discovery - Bildbearbeitung

  48. Sonstiges

  49. brandonsavage/Upload https://github.com/brandonsavage/Upload

  50. Discovery - Sonstiges

  51. spatie/regex https://github.com/spatie/regex

  52. Discovery - Sonstiges

  53. Testen

  54. fzaninotto/Faker https://github.com/fzaninotto/Faker

  55. Discovery - Testen

  56. php-mock/php-mock https://github.com/php-mock/php-mock

  57. Discovery - Testen

  58. Zusammengefasst

  59. Zusammengefasst Meine Empfehlungen Prüft jede Anforderung: Sichtet die vorgestellten Kanäle/Quellen

    nach möglichen Lösungen. Merkt euch Libraries: Sichert euch nützliche Libraries für bestimmte Anwendungsfälle. Abwegen: Vergleich von Eigenimplementierung und externer Library 
 vs. Lizenz und technischen Stand.
  60. Das war’s.

  61. Vielen Dank für eure
 Aufmerksamkeit!

  62. Bitte bewerten
 https://joind.in/talk/8f55a

  63. Fragen? Ja Nein Vielleicht

  64. Quellen Bilder / Fotos