Artikel mit dem Tag »rails«

Erlesenes III

erlesenes frontend css

Höchste Zeit, mal wieder die Browser-Tabs und Bookmarks abzuarbeiten!

Es gibt frische Handbücher und Checklisten! Wie die »Front-End Performance Checklist 2019«: »Let’s make 2019… fast! An annual front-end performance checklist (PDF/Apple Pages/MS Word), with everything you need to know to create fast experiences today. Updated since 2016.«

Und das »Front-end Developer Handbook 2019«. Soso, das soll man also alles wissen. ;-)

Ein Beitrag, der ausgesprochen »opiniated« ist: »7 web development practices challenged«. Zitat:

»There are many myths in the software business that have led to wrong best practices. In this post I will address 7 of these best practices and explain on which wrong assumptions they are based.«

Eine Handvoll Rezepte für die Arbeit mit Flexbox präsentiert Ahmad Shadeed: »CSS Flexbox: 5 Real World Use Cases«

Lazy-Loader-JS für bildlastige Sites könnte bald der Vergangenheit angehören: »Native image lazy-loading for the web!«. Im Moment macht es aber erst einmal mehr Arbeit…

console.log() kennen alle, aber Console API hat noch mehr zu bieten: »Getting creative with the Console API!«. console.table z.B…

Ein paar Links aus der Vue-Welt (einige gefunden bei F-LOG-GE, Linkfutter):

Apropos »Meta-Betrachtungen« und dem Meta-Thema dieses Blogs, »Old-School-Development«:

Bridget Stewart schaute sich ein Einführungsvideo zu Vue an und geriet darob ins Philosophieren über das Frontend und die Idee, die Business-Logic einer Web-Anwendung ins Frontend zu packen: »Stuffing the Front End«

Ein in dem Zusammenhang typischer Text: »Why I miss Rails«. Ein Developer, der in der »Business-Logik-mit-JavaScript-ins-Frontend«-Hölle steckt und die Entwicklung mit Ruby On Rails vermisst:

»Now, I know Rails isn’t universally beloved by developers, and I’m not suggesting that we give up React and es7 and go back to writing server-templated web-apps like it’s 2012 again.«

So, warum nicht? Manchmal ist genau das die Lösung, auch wenn »man« das angeblich 2019 nicht mehr macht…

Und wenn es trotz all dieser Dinge mal langweilig ist? Dann schreibt man ein Web-Framework in bash

Erlesenes II

erlesenes javascript vuejs

Es ist mal wieder Zeit, den Bookmark-Folder für Development-Links zu leeren!

Auch wir »Old-School-Programmierer« wollen ja stets Neues lernen. Z.B. modernes JavaScript, damit sich die »jungen Leute« nicht über unseren Code kaputtlachen. »Modern JavaScript Explained For Dinosaurs« reitet einen schnellen Galopp durch die JavaScript-Moderne und ihre die Festplatten mit Abhängigkeiten füllenden Tools…

Ein Weg, sich Neues anzueignen, ist der Vergleich mit gut abgehangenen alten Tools. »Vue.js vs jQuery: Use Cases and Comparison with Examples« erläutert Lösungen in Vue.js anhand typischer Anwendungsfälle für jQuery. Alternativ: »Vue for jQuery Developers« (via F-LOG-GE).

Neu (nun ja, relativ neu) ist auch die Verwendung von CSS Grids anstelle des guten alten float-Gefrickels. »How You Can Get Started with CSS Grid« bietet eine schöne Einführung in diese Methode.

Unsere Lieblingstätigkeit bei der Entwicklung ist aber natürlich das Kopieren fertiger Lösungen. »8 useful CSS tricks: Parallax images, sticky footers and more« hat ein paar davon auf Lager…

Mit Rails baut man auch gerne REST-APIs. »A minimalistic foundation for a Rails REST API« zeigt eine dabei sinnvolle Vorgehensweise auf.

Wer häufiger auf fremden Servern per ssh arbeitet, wird schon einmal von tmux gehört haben. Ein etwas älterer Artikel mit der Überschrift »Benefits of using tmux - lessons from streamlining a development environment« führt einige sinnvolle Anwendungsfälle zum Einstieg vor.

Und dann wäre da noch Thanos JS. Es verspricht: »Reduce the file size of your project down to 50%, by randomly deleting half of the files.« Endlich eine sinnvolle Hilfe gegen den »Bloat« moderner Web-Projekte…

Projektbezogene irb-Historie für Rails

ruby rails irb

Problem: Wenn man mit rails c in der Console mit irb (interactive Ruby) arbeitet, hat man nur eine globale History. Diese liegt im home-Verzeichnis des Users unter .irb_history (aber .irb-history wenn man RVM benutzt). Das ist unschön, denn wenn man an einem Projekt arbeitet, möchte man auch nur den dafür relevanten Teil der History sehen.

Abhilfe schafft eine auf Github gefundene Konfigurationsdatei .irbrc im Homeverzeichnis. Diese speichert die Kommando-Historie fortan im Rails-Projektverzeichnis, »normale« Ruby-Arbeit aber weiterhin in der globalen Historie im home-Verzeichnis:

  # ~/.irbrc
  require 'irb/completion'
  require 'irb/ext/save-history'
  IRB.conf[:SAVE_HISTORY] = 1000
  if defined?(::Rails)
    IRB.conf[:HISTORY_FILE] = File.join(ENV['PWD'], '.irb-history')
  else
    IRB.conf[:HISTORY_FILE] = File.join(ENV['HOME'], '.irb-history')
  end

Fortan liegt eine .irb-history im Rails-Projektverzeichnis. Man sollte diese dann in die .gitignore aufnehmen.

Bonustipp: Wenn man in der Rails-Console mit Objekten arbeitet, kann die ständige Ausgabe der im Hintergrund ablaufenden SQl-Kommandos stören. Mit dem folgenden Befehl wird diese für die aktuelle irb-Session abgeschaltet:

  ActiveRecord::Base.logger = nil

Eine populäre Alternative zu irb ist pry. pry hat viele Features, fast schon zu viele, weshalb ich irb bevorzuge.

Erlesenes I

erlesenes ruby rails

Ihr kennt das. Wenn man durch Twitter und den RSS-Reader klickt, sammeln sich immer Links an, die man garantiert später noch einmal gründlich lesen wird (vielleicht)…

Diese werden hier in nil? ab sofort von Zeit zu Zeit in der Rubrik »Erlesenes« gesammelt und rausgehauen.

Rails 6 steht vor der Tür: »Rails 6.0.0 beta2 released«. Eine der interessantesten Neuerungen ist das Ersetzen der alten mit Sprockets realisierten JavaScript-Asset-Pipeline durch eine neue Lösung mit webpack. Ein etwas unnötig »übercool« verfasster aber nichtsdestotrotz informativer Artikel von »blackninja dojo« erklärt den Umgang damit: »Webpack, Webpacker and Modules, Oh My! How to Add Javascript to Ruby on Rails«.

Auch sehr nützlich in Rails 6: Der Vergleich von Date-, DateTime- und Time-Objekten wird einfacher durch zwei neue Methoden namens before? und after?: »Rails 6 adds before? and after? methods to Date, DateTime, Time, and TimeWithZone.«.

Apropos Ruby, ein Artikel bei »AppSignal« geht sehr detailliert auf die Funktionsweise und Unterschiede von dup und clone ein: »Diving into Ruby's #dup and #clone«.

Noch ein lesenswerter Blogbeitrag von »AppSignal«: »An instrumental intro to GraphQL with Ruby«. GraphQL benutzen die coolen Dev-Girls und -Boys aus der JavaScript-Szene als Alternative zu REST zum Abfragen von APIs, z.B. in Gatsby. Der Artikel erläutert anhand einer Beispielapplikation, wie auch wir uncoolen Ruby-Devs GraphQL implementieren können…

Vielleicht mag man Ruby, aber möchte nicht unbedingt Rails benutzen. Evtl. findet man dann hier eine Alternative: »8 Ruby frameworks that aren’t Rails«. Darin finden sich alte Bekannte wie Sinatra oder Hanami, aber auch (mir zumindest) unbekannte Newcomer wie Ramaze und NYNY…

Oder man wechselt gleich die Sprache und taucht ein in die Abgründe Funktionaler Programmierung. Populär ist aktuell Elixir. Ein Artikel von MLSDev gibt Hilfe bei der Entscheidung: »Elixir Programming: Facts to Know for Better App Development«.

Ein hübsches Spielzeug: Grid Divisions. Auf reddit wird erklärt, wofür das gut sein soll…

jQuery soll ja angeblich tot sein, aber so ganz wohl doch nicht: »15 Best jQuery Image Galleries«.

Und wenn die Langeweile plagt, warum nicht einfach mal einen Texteditor in C programmieren? »Build Your Own Text Editor«