Pagy-Gem für Paginierung

Seit Jahren verwende ich privat wie beruflich will_paginate. Da es stets gute Dienste leistete habe ich dies auch nie hinterfragt und bin nur durch die mangelnde Weiterentwicklung und Limitation-Warnung auf pagy gestoßen. Dieses punktet nicht mit Bescheidenheit, sondern mit den folgenden Aussagen: ~ 40x Faster!~ 36x Lighter!~ 35x Simpler!~ 1,410x More Efficient! Der Ansatz ist… Pagy-Gem für Paginierung weiterlesen

Programm-Verknüpfung erstellen und ändern

Um in Gnome und Co. .desktop-Dateien für Programme und Skripte anzulegen, die beispielsweise im Home-Verzeichnis liegen, kann man auch heute noch alacarte nutzen. Mir ist als hätten wir damit das Hauptmenü in Gnome 2 konfiguriert, aber es erfüllt auch heute noch seinen Zweck, ohne dass man sich jedes mal mit der Syntax von .desktop-Dateien rumschlagen… Programm-Verknüpfung erstellen und ändern weiterlesen

Code-Zeile in VSCode duplizieren

Bei der Umstellung von Sublime auf Virtual Studio Code hatte ich lange Probleme mit dem duplizieren der aktuellen Zeile, vor allem weil einige offizielle Shortcuts mit Gnome kollidieren. Während ich geneigt war Sublimes Strg+Shift+d zu konfigurieren, fiel mir ein interessantes Feature beim Standard-Copy-and-Paste auf: Ist der Cursor ohne Markierung in der Zeile, wird eben diese… Code-Zeile in VSCode duplizieren weiterlesen

Vue-Code-Formatierung in VSCode

Mit .vue-Dateien und Visiual Studio Code hatte ich oft Probleme, nun aber endlich eine Konfiguration gefunden, die sowohl Javascript- wie auch HTML-Segmente automatisch überprüft und formatiert. Als Plugins kommen dabei ESLint und Vetur zum Einsatz, meine settings.json sieht folgendermaßen aus: Problem ist nun, dass das HTML nicht eingerückt wird, wenn ich die Vue-Standardeinstellungen verwende. Um… Vue-Code-Formatierung in VSCode weiterlesen

Youtube-dl mit PIP aktuell halten

Das nette Download-Tool youtube-dl muss sich schnell den aktuellen Gegebenheiten von Google und Co. anpassen. Die Variante aus den Paketquellen ist daher nicht zu empfehlen. Glücklicherweise steht das Tool über PIP zur Verfügung: Kommt es später wieder zu einem Fehler, aktualisiert folgender Befehl das Programm:

Vollständige Dependent-Einstellungen in Rails-Models testen

Ein selten, aber leider regelmäßig wiederkehrendes Problem sind Fremdschlüsselbeziehungen beim Löschen. In Rails muss auf Seite des Schlüsselziels definiert werden, ob ein Fremdschlüssel auf null gesetzt werden darf oder ob das ganze Model gelöscht werden muss. Vergisst man diese Konfiguration wirft die Datenbank beim Löschen einen Fehler. Um dies zu vermeiden möchte ich alle Fremdschlüssel,… Vollständige Dependent-Einstellungen in Rails-Models testen weiterlesen

Vue 2.6 mit neuer Syntax für Scope-Context

Die bisherige Syntax für Daten aus der Kindkomponente wirkte immer etwas gedoppelt, wenn der Scope einen Namen hatte: Mit Version 2.6 kann dies nun in einem Attribut vereint werden: Dank den neuen Dynamic Directive Arguments ist es auch kein Problem, wenn der Slot-Name dynamisch bestimmt werden muss:

Datenbeschaffung in Vue-Router-Views vereinfachen

created und watch Ein typisches Vue-Router-Szenario: Daten müssen initialisiert und bei Routen-Updates zurückgesetzt und geladen werden, da die Komponente nicht neu erzeugt sondern nur intern aktualisiert wird. Watchers und immediate: true Die Dopplung in created und watch kann durch einen Watcher mit der Eigenschaft immediate eliminiert werden: Neuladen statt Updaten Zudem kann man ein Neu-Rendern… Datenbeschaffung in Vue-Router-Views vereinfachen weiterlesen

Verwischte Font-Awesome-Icons in Phantom JS

Wir reichern unsere auf Capybara und Phantom JS basierenden Feature-Tests gerne mit Screenshots an. Hierbei kam es regelmäßig zu einem Problem mit Font Awesome, wodurch der automatische Abgleich fehl schlug. Bei einzelnen Specs tritt das Problem nicht auf, erst wenn mehrere Tests mit unterschiedlichen Seiten abgelichtet werden zeigte sich folgendes Phänomen: Alle Icons, wie hier das Such-Icon rechts,… Verwischte Font-Awesome-Icons in Phantom JS weiterlesen