Lightning-Talks: moderne Frontend Entwicklung

Lightning WEB @night im Würzburger Office

Am 24. April fand in unserem Würzburger Office das erste Event aus unserer neuen Vortragsreihe statt. In deren Rahmen gibt es jeweils an einem Abend vier Kurzvorträge – so genannte Lighning-Talks – zu einem gemeinsamen Thema. Am 24.04. war das die „moderne Frontend-Entwicklung“, die in den vier folgenden Lightning-Talks behandelt wurde:

Weiterlesen

Gaming the game: Using Selenium to automate playing

An online acquaintance described it like this:

„You build your tool to reduce grinding. After a while, building the tool becomes a game in itself. One where you make the rules“

Multiplayer online games nowadays heavily rely on small repetitive tasks to regulate the pace in which you proceed in your competition with other players. Duel a player once and win to earn a point. You have enough energy to duel 10 times. Then you have to wait to regain your energy. If the designer did a good job, it’s fun at first. After a while it gets boring, but you have to do it to compete.
Weiterlesen

Laravel 4 – Static or not static. That is the question.

Als ich das erste Mal das noch zu unbekannte Framework Laravel vor der Nase hatte, sind mir sehr schnell die statischen Zugriffe der API aufgefallen. Wo sich viele qualitätsbewusste Entwickler heutzutage die „und wie soll man das testen“ Frage stellen, stand ich hier vor verschlossenen Türen.

THE PHP FRAMEWORK FOR WEB ARTISANS.

Hier scheint sich Laravel 4 eines uns sehr gut bekannten Design Patterns zu bedienen. Die Rede ist von einer Facade. Jede Klasse welche scheinbar statische Methoden bereitstellt, erbt von einer „Facade“-Klasse. Wenn wir also „Config::get(‚database‘)“ aufrufen, wird eine fast leere Facade benutzt. Diese kennt lediglich ihren Accessor (facadeAccessor = ‚config‘) und erweitert entsprechend die Laravel Facade. Die eigentliche Implementierung der genutzten Methode ist dort also gar nicht enthalten.

Das führt uns zu zwei Fragen:

  • Welche Klasse wird bei dem Genannten nun wirklich aufgerufen?
  • Und woher kennt die Facade augenscheinlich diese Klasse?

Nun dann schauen wir mal genauer hin.

Weiterlesen

Mayday, mayday! We are blinking!

Logo-v2

For some time now, we at Mayflower can have slack time on every second friday. All colleagues who do not have urgent projects for our customers can choose to improve their knowledge, do some opensource development or just try out something cool and nerdy.

The Idea

blinkenpi-spot

First, we ordered some Raspberry Pis to test out their capabilities. Since we developed the new Steinigke webshop, we have a good source at hand for light and sound equipment. So we settled for some DMX experiments together with our customer.

Weiterlesen

Beyond Tellerrand 2013

On Monday and Tuesday I was attending the „Beyond Tellerrand“ conference in Düsseldorf – a curated conference targeting frontend development, design and creativity. Or to sum it up: about shaping the experience for users on the web.

the conference mug

the conference mug

After having visited the really inspiring „sister“-conference „Play! Beyond Tellerrand“ (which is more code-focused) a year ago I was very glad and excited that I could go to Düsseldorf this year (thanks Mayflower!). When I arrived at Capitol Theater and checked in I was surprised by the adorable location: a lot of open space, people were chatting everywhere, everything was branded with this year’s artwork, the staff was so friendly, there were artists and sponsors giving small exhibitions, … Weiterlesen

Consistent Hashing – intelligentes Sharding

Stellen Sie sich folgendes Szenario vor: Sie betreiben eine Webapplikation, die noch relativ jung ist, aber die Userzahlen explodieren und vor allem die Datenbank hinter der Anwendung ächzt schon unter der Last – vor allem der vieler Lesezugriffe. Die Lösung für dieses Problem ist allgemein bekannt: Caching.

Doch damit die Caching-Architektur horizontal skalieren kann, müssen gleich mehrere Server die Last übernehmen. Damit besteht ein neues Problem darin, wie man am besten die Daten speichert, so dass sie sich auf beide Nodes gleichmäßig verteilt speichern lassen. Eine clevere Lösung möchte ich Ihnen hier mit auf den Weg geben. Weiterlesen

Buchvorstellung: Titanium-Mobile – Multi Platform Apps mit JavaScript

Titanium Mobile eBook - Multi Platform Apps mit JavaScriptDank der Webtechnologien stehen Ihnen viele Möglichkeiten bereit, auf dem mobilen Markt präsent zu sein. Da sind unter anderem W3C Widgets, mobile Webseiten, Webapplikationen und als native App verpackte Webapplikationen. Eine weitere Möglichkeit stellt das Titanium-Mobile-SDK dar. Das besondere: Mit Titanium erstellte Apps sind nativ. Aus nur einer Codebasis können Sie eine native Anwendung für iOS, Android, BlackBerry und Tizen generieren, sowie eine Webapplikation. Nativ bedeutet, die Apps werden nicht nur sehr schnell ausgeführt, sondern es stehen Ihnen für eine optimale Usability auch native UI Widgets zur Verfügung. Interessant ist das SDK daher nicht nur für Webentwickler, sondern auch für Entwickler, die ihre Apps bisher aufwändig individuell nativ entwickelt haben. Mit Titanium benötigen Sie lediglich JavaScript-Kenntnisse. Weiterlesen

DomniklStatsdBundle: Monitoring mit statsd in Symfony2-Projekten

Während mit klassischen Monitoringlösungen wie Nagios Systemdaten überwacht werden können, eignet sich die Kombination aus statsd und Graphite hervorragend für effektives Monitoring von Businessprozessen in Webanwendungen. Auch für Symfony2-Projekte wäre so eine Lösung praktisch – eine Variante stellt der Artikel vor. Weiterlesen

Webstatistik mit Piwik: Fragen und Antworten aus der Praxis

Während des Webinars „Webstatistik mit Piwik“ (die Aufzeichnung stellen wir in Kürze zur Verfügung!) wurden einige Fragen gestellt, die ich an dieser Stelle noch einmal zusammenfassen möchte. Dabei dürften einige der Fragen auch für diejenigen interessant sein, die nicht am Webinar haben teilnehmen können, aber doch planen, Piwik künftig in eigenen Projekten zu verwenden – oder dies bereits tun. Unter anderem gehe ich auf Fragen nach dem Segmentierungs-Feature ein und zeige, wie man seine Piwik-Installation auf etwaige Lastspitzen vorbereiten kann. Weiterlesen

Using GPIO on Raspberry Pi

Recently we started our first experiments with Raspberry Pi using GPIO. Inspired by the existing access libraries and extensions for GPIO functions, we wanted to write our own implementation for security reasons. This article will give you an insight on why we pursued our own implementation and how we finally realised it.
Weiterlesen