Ruby on Rails

ActionCable & WebSockets

Echtzeit-Funktionen, Channels, Subscriptions, Broadcasting, cable.yml-Konfiguration, Redis-Adapter

18 Interview-Fragen·
Mid-Level
1

Was ist ActionCable in Ruby on Rails?

Antwort

ActionCable ist ein in Rails integriertes Framework, das Echtzeit-Funktionen über WebSockets ermöglicht. Es stellt eine serverseitige Abstraktion in Ruby und eine clientseitige Abstraktion in JavaScript bereit, um persistente bidirektionale Verbindungen zwischen Browser und Server herzustellen. ActionCable integriert sich nahtlos in den Rest der Rails-Anwendung und ermöglicht den Zugriff auf Models und andere Komponenten.

2

Welche Konfigurationsdatei definiert den von ActionCable für Pub/Sub verwendeten Adapter?

Antwort

Die Datei cable.yml in config/ definiert den von ActionCable verwendeten Pub/Sub-Adapter. Diese Datei legt je nach Umgebung unterschiedliche Adapter fest: async für die Entwicklung (im Arbeitsspeicher, Einzelprozess), redis oder postgresql für die Produktion (ermöglicht die Kommunikation zwischen mehreren Prozessen/Servern). Die Konfiguration umfasst in der Regel die URL des Redis-Servers und den zu verwendenden Kanal.

3

In welchem Verzeichnis werden serverseitige ActionCable-Channels üblicherweise abgelegt?

Antwort

Serverseitige ActionCable-Channels werden in app/channels/ abgelegt. Dieses Verzeichnis enthält ApplicationCable::Connection (Verbindungsverwaltung und Authentifizierung) und ApplicationCable::Channel (Basisklasse für alle Channels). Benutzerdefinierte Channels erben von ApplicationCable::Channel und definieren die Geschäftslogik für jede Art der Echtzeitkommunikation.

4

Welche Methode sollte in einem Channel verwendet werden, um einen durch einen String identifizierten Nachrichtenstream zu abonnieren?

5

Was ist der Unterschied zwischen stream_from und stream_for in ActionCable?

+15 Interview-Fragen

Meistere Ruby on Rails für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten