Kemal-Routing, das einen Teilbaum umleitet

Dieses Codeschnipsel zeigt Ihnen, wie Sie einen gesamten Teilbaum umleiten und den ersten Teil des Teilbaums entfernen können. Dies kann zum Beispiel nützlich sein, wenn Sie externe Links haben, die auf verschiedene Sprachen (z.B. /de /fr /it) und Inhaltspfade verweisen, und Sie alles von denselben Endpunkten aus bedienen wollen. Crystal Lang...

Weiterlesen

Umgang mit NIL in JSON::Any in Crystal Lang

Eine der Herausforderungen bei der Entwicklung mit Crystal ist, dass es nicht so nachsichtig mit Datentypen umgeht wie z.B. Python oder Ruby. nil wird Sie beschäftigen. Die folgende Fehlermeldung: cast from Nil to String failed, at /usr/share/crystal/src/json/any.cr:220:5:220 kann wie folgt gelöst werden: # cast to string, DANN prüfen, ob es nil ist, wenn...

Weiterlesen

mongo_orm benutzerdefinierter Name für die Sammlung

mongo_orm bestimmt automatisch den Namen für Ihre Sammlung, indem es den Modul- und Klassennamen verwendet und ein "s" anhängt. In Fällen, in denen Sie Ihre Sammlung benennen möchten, können Sie einfach Folgendes tun: class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "Ich möchte...

Weiterlesen

Anleitung zum Hinzufügen eines Benutzers zu einer Mongo-Datenbank für mongo_orm

Sie möchten nicht, dass Ihre Webanwendung über Ihren Datenbankadministrator auf die Datenbank zugreift. Außerdem wollen Sie, dass sie nur auf eine bestimmte Datenbank zugreift - vielleicht haben Sie noch weitere Datenbanken in Ihrer Mongo-Instanz laufen. Voraussetzungen: mongo_orm erwartet die Datenbankkonfiguration als Umgebungsvariablen oder als Datei config/database.yml in Ihrem Projekt. Die config/database.yml...

Weiterlesen

Verwendung von Modulen in crystal

Wenn Ihre Anwendung wächst, möchten Sie Ihren Code von einer großen .cr-Datei in kleinere Dateien aufteilen. Sie können require aus Ihrer Haupt-.cr-Datei verwenden, um Code aus anderen Dateien hinzuzufügen: require "./tools/*" Diese Anweisung fügt Code aus dem Tools-Verzeichnis hinzu, relativ zu Ihrer Haupt-.cr-Datei. Dies wird...

Weiterlesen

Der Anwendungsbereich von ecr in crystal: oder wie übergebe ich Variablen und Objekte in ECR-Vorlagen?

Als Anfänger in der Crystal-Sprache kämpfe ich immer noch damit, einige der darin enthaltenen Konzepte zu verstehen und ein Gefühl für die Codierung in Crystal zu entwickeln. Wenn ich auf schwierige Probleme stoße, die ich löse oder zu verstehen beginne, blogge ich darüber, damit auch andere davon profitieren können - denn der Mangel an Dokumentation...

Weiterlesen

Crystal auf Docker installieren: So fügen Sie das Crystal-Repository in der Dockerdatei zu Docker hinzu

Dockerfile (Auszug) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software-properties-common \ build-essential \ libevent-dev \ libssl-dev \ libxml2-dev \ libyaml-dev \ libgmp-dev \ libreadline-dev \ apt-transport-https \ iputils-ping \ git \ aptitude \ nano \ openssh-server \ && apt-key adv -keyserver keys.gnupg.net -recv-keys 09617FD37CC06B54 \ && add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal...

Weiterlesen

Crystal und Alpine auf dem Raspberry Pi

Zusammenführung von zwei interessanten Technologien: Alpine Linux - eine kleine und sicherheitsorientierte Linux-Distribution Crystal - eine kompilierte Sprache mit einer schönen Syntax (ähnlich Ruby) auf dem Raspberry Pi (armhf / ARMv6, die auch den Pi Zero W unterstützen würde) ist derzeit nicht möglich, Stand 21.12.2018. Es gibt keine (zumindest keine...

Weiterlesen