Sebastians Blog Neues aus den Softwareminen…

Archiv der Kategorie: Software- und Web-Entwicklung

Methoden für Active-Record-Relationen definieren

Ein Scope in Active Record ist nichts anderes als syntaktischer Zucker für das Definieren einer Klassenmethode. Die folgenden User-Models führen zum selben Ergebnis: class User < ActiveRecord::Base scope :admins, -> { where(role: “admin”) } end class User < ActiveRecord::Base def self.admins … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar
Pakyow

Pakyows Ansatz für Views in Web-Applikationen

Auch wenn die Vertreter der Client-Seite den Kampf um die Frage, wo Views künftiger Web-Applikationen gerendert werden, schon lange gewonnen haben, so bleiben doch einige Diskussionspunkte offen. Was wird aus Suchmaschinen, Javascript-Verweigerern und den Nutzern von schwacher Hardware oder alter … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Ruby: Testvollständigkeit testen

Eine Wissenschaft für sich im Test-Driven Development ist die Frage, wie jede einzelne Funktion getestet werden muss: Sind die Tests vollständig, hat man jeden Spezialfall bedacht? Hat man es zu gut gemeint und eine schwer überschaubare, redundante Testsuite geschaffen? Einen recht … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Klassen- und Klassenhierarchievariablen in Ruby

Sucht man nach einem Klassenvariablenkonzept für Ruby trifft man über kurz oder lang auf das @@-Konzept. Wer sich darauf einlässt kann schnell Probleme bekommen. Der Grund ist relativ einfach: @@-Variablen sind keine Klassenvariablen. Einfache „Klassenvariablen“ class Cat @@size = :small … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , | Hinterlasse einen Kommentar
unittesting

Was beim Unit-Testing getestet werden sollte

Die zentrale Idee des Unit-Testings ist Isolation. Man testet einzelne Komponenten, Abhängigkeiten werden als gegeben und korrekt angesehen und ggf. gemockt. Dies macht das  Testen der einzelnen Komponente übersichtlicher, da nur ihre Pfade betrachtet werden müssen. In der Regel wird … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

YAML-Manipulation mit Python

Ich mache es zwanzig mal am Tag: t(‘admin.users.show.name’), die YAML-Datei öffnen, in denen sich die Übersetzungen befinden, den Pfad absuchen und ggf. fehlende Teile einfügen und zuletzt die Übersetzung hineinschreiben und speichern. Wirklich kreativ ist dabei nur das Formulieren, den … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Guard erkennt keine Sublime-3-Änderungen

Sublime Text 3 hat das Speichern von Dateien umgestellt, so dass Guard dieses nicht mehr als Änderung registriert. Abhilfe schafft hier eine Rückkehr zum alten Ansatz. Hierfür unter „Preferences“ > „Settings — User“ die folgende Option setzen: { … “atomic_save”: … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Rails 4 schützt Nutzer vor Regex-Schwachstellen

Rails 4 warnt seine Nutzer vor einer weit verbreiteten Sicherheitslücke, die durch falsche Anwendung von regulären Ausdrücken auftritt. So sind Validatoren wie der folgende nicht mehr erlaubt: validates :phone, format: { with: /^[0-9]+$/ } Dies wirft einen Argument-Error wie diesen: … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

“Rake aborted!” durch abweichende Version

Stimmt die aktuell installierte Rake-Version nicht mit der im Gemfile.lock hinterlegten Version überein, bricht Rake mit einer Fehlermeldung ab: rake routes rake aborted! You have already activated rake 10.1.1, but your Gemfile requires rake 10.1.0. Using bundle exec may solve … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar