x-ion als Sponsor und Besucher der RubyUnconf 2019

Die RubyUnconf 2019 fand am letzten Mai-Wochenende wieder auf dem Gelände der Hochschule für Angewandte Wissenschaften Hamburg (HAW Hamburg) statt. Als Silver-Sponsor waren wir dieses Mal mit unserem Ruby-Entwicklungsteam und einem kleinen Stand vor Ort. Unser Senior Software Architect Bente hielt einen Vortrag, in dem er einen Einblick in Kubernetes gab.

Der erste Tag begann spannend

In der Keynote von Terence Lee zeigte er in einem Rückblick von Rails 2.3 bis heute auf, dass die Ruby-Community wiederholt bedeutende Ideen entwickelt hat, die weit über die eigene Community hinaus Wellen schlagen. Beispielsweise wurde im Ruby-Projekt “bundler“ zum ersten Mal das Konzept von Lockfiles zur Verwaltung von Abhängigkeiten erdacht, das nun in verschiedensten Sprachen Verwendung findet.

Das „Ein-Mann-Projekt” RubyX verfolgt das Ziel, Ruby zu kompilieren. Wegen der Größe des Vorhabens ist Torsten Rüger immer auf der Suche nach Unterstützung.

Dann könnte Ruby nicht nur eine schöne, lebendige und flexible Sprache sein, sondern auch schnell werden.

RubyUnconf 2019 in Hamburg in der HAW Finkenau

basemate.io hat das von ihnen entwickelte Projekt Matestack vorgestellt: Mit reinem Ruby können nahezu alle Vorzüge einer single-page app erreicht werden — ganz ohne JavaScript direkt zu implementieren. Bislang wurde Performance bei Matestack etwas vernachlässigt, aber der Code wirkt deutlich sauberer als bei anderen JavaScript-basierten Frameworks. Wir sind gespannt, wie es bei diesem Projekt weitergeht!

Robuste API-Abhängigkeiten sind herausfordernd, besonders bei schlechter Dokumentation. Der Vortragende von eBaymag hat demonstriert, welche Probleme auftreten können, wenn API-Responses nicht konsistent sind. Mit viel Arbeit und Refactoring haben sie ein abstraktes Interface geschaffen, das die Kommunikation mit APIs von DHL und UPS stabilisiert.

Iulia Costea betonte in “Why Soft Skills Matter in Software Development”, dass Soft Skills für Entwickler weiterhin unterschätzt werden. Hervorgehoben wurden diese vier teilweise erlernbaren Fertigkeiten:

  • Adaptability — “Be stubborn about your goals but flexible on your means”
  • Empathy — sowohl den Kollegen als auch den Kunden gegenüber.
  • Teamwork — “95 % of projects fail because of lack of effective teamwork.” und
  • Inspirierendes Führen.

Ruby 2.6 wird langsam functional programming ready.

Funktionale Programmierung kann Kontrolle von Seiteneffekten, größere Thread-Sicherheit, das schnelle Testen von reinen Funktionen und Lesbarkeit durch Pattern Matching verbessern. Seit Ruby 2.6 existiert Currying als Funktion. Pattern Matching ist in einem experimentellen Status. Es wurde eingewendet, dass Ruby von seiner Konzeption her nicht zu 100% funktional eingesetzt werden kann.

Auch am Sonntag ging es interessant weiter:

Rust wurde in “Rust for Rubyists (and Rubyists for Rust)!” vorgestellt: Die Sprache hat das ehrgeizige Ziel, nach Jahrzehnten der Dominanz von C und C++ diese beiden Sprachen allmählich als System- und Highperformance-Sprachen zu ersetzen. Rust sei sowohl effizient als auch memory-safe — und zwar ohne Garbage Collector. Auch Thread-Safety sei ein Design-Ziel: Rust ist so entworfen, dass Data Races unmöglich seien. Derzeit gibt es noch erheblich weniger Libraries als in Ruby und die Sprache befindet sich noch im Reifungsprozess. Wir werden allerdings gespannt verfolgen, wie es mit “Rust” weitergeht.

In dem Vortrag “Attacking own APIs to find security bugs” hat ein Python-Entwickler vorgestellt, wie er Traffic auf seiner Website simuliert und mit verschiedenen Listen problematische und gefährliche Strings als Eingaben testet.

           Family Photo – Foto mit freundlicher Genehmigung der RubyUnconf 

Bei “Rails Slim, An Introduction” wurden Wege verglichen, HTML mit Ruby anzureichern: ERB, Haml und Slim. Die Rednerin warb für Slim, denn Slim ist schneller als Haml, und Slim ist wegen des fehlenden „%“ vor allem flüssiger zu tippen und zu lesen.

Ein Entwickler von Redhead hat einen Remote Desktop als Web App entwickelt — mittels vnc-Protokoll, wobei insgesamt fünf Protokolle unterstützt werden. Er zeigte in seinem Vortrag “How to hijack, proxy and smuggle sockets with Rack/Ruby”, wie man mit seinem Gem namens “purr” Traffic mittels Websockets über port 80/443 routen kann.

Es wurde ein Ansatz vorgestellt, eine Rails app zu modularisieren: Man organisiert seine Controller logisch in Namespaces, um sie dann pro Namespace jeweils in eine eigene Engine mit eigenen Routes auszulagern.

Der zweite Tag schloss mit tollen “Lightning Talks”. Wie schon im letzten Jahr besteht die Möglichkeit, die Vorträge später auf der Internetseite der RubyUnconf noch einmal anzuschauen. Unser Entwicklungsteam empfiehlt besonders den Keynote-Vortrag und “How to hijack, proxy and smuggle sockets with Rack/Ruby”.

Wir bedanken uns für die tolle Veranstaltung, die wir gerne als Sponsor unterstützt haben, und sind stolz, einen kleinen Teil an die Ruby-Community damit zurückgeben zu können. Bis zum nächsten Jahr, auf der RubyUnconf 2020 —  Wir freuen uns drauf!

  • Messen & Events
  • Neuigkeiten von x-ion
  • Partnerschaften

Consent Management Platform von Real Cookie Banner