Geekstammtisch

Mehr oder weniger regelmäßiger Stammtisch rund um Geektum, (Web)development und was immer unsere Gäste an interessanten Dingen zu erzählen haben

https://geekstammtisch.de/

subscribe
share






GST020 - Wenn die Codebase groß genug ist...


Synopsis: Auf dem RailsCamp sprachen wir mit Christoph @TheDeadSerious Olszowka. Es ging um das Rails Ökosystem und um zwei etwas bekanntere Projekte von Christoph: The Ruby Toolbox und simplecov.

Unser Gast (00:00:00)
  • Wir sitzen im "Hackerzelt" !1!11!
  • Christoph @TheDeadSerious Olszowka aus Hamburg
  • The Ruby Toolbox: https://www.ruby-toolbox.com
  • SimpleCov: https://github.com/colszowka/simplecov
  • Studiert Informatik und macht Rails in einer Agentur
Rails Camp 2013 (00:02:40)
  • Fishbowl Talk: http://de.wikipedia.org/wiki/Fishbowl
  • Themen:
    • Wäre Kennedy Python oder Ruby Programmierer gewesen?
    • Rails, omakase
    • PRISM
Das Rails Ökosystem (00:04:00)
  • Turbolinks: https://github.com/rails/turbolinks
  • Rails API: https://github.com/rails-api/rails-api
  • Neuerdings: Neue Features erst als Gems bereitgestellt, dann in den Core übernommen
  • Strong Parameters: https://github.com/rails/strong_parameters
  • Rails is Omakase
    • Blogpost von DHH: http://david.heinemeierhansson.com/2012/rails-is-omakase.html
    • A Dramatic Reading: http://www.youtube.com/watch?v=E99FnoYqoII
  • Seit Rails 3.0 ist vieles modularer geworden, einzelne Komponenten werden als Gems bereitgestellt
  • GitHub ist immer noch auf einer auf Rails 2.3 basierenden Version
  • Dirk und Basti kennen den Schmerz eine Rails 2.3 App maintainen zu müssen
  • GitHub Fork von Rails 2.3: https://github.com/github/rails
  • GitHub's Zwischenfall mit E-Mails verschicken: https://github.com/blog/1440-today-s-email-incident
  • Rails 2.3 LTS: https://railslts.com
  • Umstellung von Rails 3.0 auf 3.1 sehr schmerzhaft wegen der Asset Pipeline: http://guides.rubyonrails.org/asset_pipeline.html
  • Rails 4.0 gibt sehr detaillierte Fehlermeldungen, bei der Migration
  • Maintenance Policy for Ruby on Rails: http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails
Ruby Toolbox (00:18:45)
  • Projekt seit 2009
  • Kategorisierter Katalog von Gems und anderen Open Source Projekten
  • Sortierung nach Beliebtheit, viele Metadaten wie Aktualität, letzter Commit auf GitHub
  • Als eingeloggter User kann man Kategorien hinzufügen, das Repo updaten, etc.
  • Viele Änderungen müssen von Christoph noch manuell reviewt werden
  • Basti nutzt die Toolbox regelmäßig, wusste aber nicht, dass man auch mitarbeiten kann
  • Sortierung nach Rubygems Downloads, GitHub Stars/Watcher und Forks.
  • Man kann sich den Score eines Projektes anzeigen lassen. Beispiel: thor https://www.ruby-toolbox.com/projects/thor/popularity
  • Dirk schlägt vor den letzten Commit auch mit einzubeziehen
  • Wenn ein Gem bei RailsCasts (http://railscasts.com), etc erwähnt wird, dann beeinflusst das die Watcher Zahlen, aber die Download Zahlen ändert sich nicht zwangsläufig
  • Für Basti ist es wichtig, dass ein Projekt aktiv ist (neue GitHub Commits), um zu sehen welches Tool er benutzt
  • Gemcutter/Rubygems (http://www.rubygems.org) und Bundler (http://bundler.io/) haben das Ökosystem positiv beeinflusst
  • Ein gem zu Erstellen, zu Open Sourcen und es zu maintainen ist ein echtes Commitment!
  • Überprüfen ob Gems mit Rails 4 funktionieren: http://www.ready4rails4.net
  • "View the full dependency tree for any ruby gem": https://www.gemlou.pe
  • "Bei großen Projekten landet man oft in der Dependency-Hell"
  • Angabe von Ruby Version (http://docs.rubygems.org/read/chapter/20#required_ruby_version) und Plattform (http://docs.rubygems.org/read/chapter/20#platform) im gemspec möglich
  • Leider die Dependency-Angaben oft sehr eng oder schlichtweg falsch: z.B. MRI verlangt, aber jruby funktioniert auch
SimpleCov (00:31:50)
  • SimpleCov basiert auf der Coverage API (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html), die mittlerweile von JRuby (http://jruby.org) und Rubinius (http://rubini.us) auch unterstützt werden
  • die Testsuite für SimpleCov dauert unter jruby >45min :-/
  • Basti ist zufrieden mit SimpleCov und hat keine Feature Requests
  • Christoph will JavaScript Coverage mit einbauen
  • Die Coverage API gibt Daten in einheitlichem Format raus, das könnte man für JavaScript Testsuites nachbauen
  • SimpleCov kann die Coverage Daten aus mehreren Test-Suites zusammenfügen
  • Wenn jemand mitarbeiten will, Christoph freut sich über Pull-Requests
  • Weitere Idee: SimpleCov in Produktion einzusetzen ("Welcher Code wird überhaupt wie oft verwendet"), das wird aber von der Coverage API nicht unterstützt
  • Dirk wirft in den Raum, dass das mit DTrace (http://de.wikipedia.org/wiki/DTrace) möglich sein könnte
  • Dirk: "Man sollte sich öfter fragen, ob Code überhaupt noch benutzt wird"; +1
RailsCamp (00:38:50)
  • In den letzten 2 Tagen war es verdammt heiß, heute ist es eher bewölkt aber angenehm kühl
  • Abenteuer Hallen Kalk: http://ahk.abenteuerhallenkalk.de
  • Viele Aktivitäten: Klettern, Basketball, Laufen, Kicker, BMX…
  • Basti: "Das Wasser und die Mate, die man sich hier reinkippt, schwitzt man sofort wieder aus"
  • Internet per Richtfunkstrecke und WLAN vom CCC
  • Wi-Fi Access Points: Ubuquity UniFi http://www.ubnt.com/unifi
  • Viprinet (http://www.viprinet.com/de/home)
    • Backup Uplink von Vodafone & T-Mobile
  • Man läuft rum, hört Sessions mit und unterhält sich mit den Leuten
  • Weitere Aktivitäten: BMX mit einigen Verletzungen, AR Drone 2 (http://ardrone2.parrot.com)
  • geiles Essen, lecker Kaffee
  • Übernachtung in der Skate Halle in zwischen und neben den Half Pipes (Christoph hat's getestet)


fyyd: Podcast Search Engine
share








 July 29, 2013  47m