Mehr

Wo kann ich eine JavaScript-App für gemeinsame Tests bereitstellen?

Wo kann ich eine JavaScript-App für gemeinsame Tests bereitstellen?


Ich entwickle eine neue ArcGIS Server-JavaScript-Anwendung und möchte dem Kunden den Fortschritt zeigen, damit er während der Entwicklung Feedback geben kann.

Die Anwendung besteht aus einer Index.html-Datei, einer *.JS-Datei mit meinem Code, einer *.CSS-Datei für die Stile und einer *.JSON-Datei mit der Kartenkonfiguration. Ich habe keinen Zugriff auf einen öffentlich zugänglichen Webserver in meiner Organisation.

Gibt es (vorzugsweise kostenlose) Websites, auf denen ich meine Dateien hochladen kann, damit er die Anwendung ausführen und testen kann?

Ich habe mir github angesehen, aber soweit ich das beurteilen kann, ist es ein Repository, und nicht ein Ort, an dem meine Bewerbung tatsächlich stattfindet Lauf (zB Testen Sie das Identify-Tool und überprüfen Sie, ob es funktioniert) - Bitte lassen Sie es mich wissen, wenn dies nicht korrekt ist.

Vielen Dank


Github hat Github-Seiten, wenn Sie eine kleine Website hosten möchten. Quellcodeverwaltung und Problemverfolgung wären zwei Funktionen, die in Ihrem Fall imho hilfreich sein werden.

Andernfalls können Sie auch JSFiddle verwenden, müssen die JSON-Datei dann jedoch woanders hosten.

Update: Sie können es auch mit Amazon AWS hosten (aber etwas komplizierter einzurichten).


Jede kostenlose Webhosting-Site kann Ihre Javascript-App bereitstellen (ausführen).

http://www.110mb.com/

ArcGIS Javascript-Beispiel

http://mapperz.110mb.com/GMAP/Drive_Time/index.html

Wenn Sie jedoch eine Javascript-Anwendung entwickeln, kann es für Ihr Unternehmen von Vorteil sein, einen öffentlichen Internetzugang für Ihre Kunden zu haben, um sich anzumelden und die Arbeit anzuzeigen, für die sie bezahlen.


Schnelles Ausführen von JavaScript auf WebAssembly

JavaScript im Browser läuft um ein Vielfaches schneller als noch vor zwei Jahrzehnten. Und das geschah, weil die Browser-Hersteller diese Zeit damit verbrachten, an intensiven Leistungsoptimierungen zu arbeiten.

Heute beginnen wir mit der Optimierung der JavaScript-Leistung für ganz andere Umgebungen, in denen andere Regeln gelten. Und dies ist dank WebAssembly möglich.

Wir sollten hier klar sein: Wenn Sie JavaScript im Browser ausführen, ist es immer noch am sinnvollsten, einfach JS bereitzustellen. Die JS-Engines in den Browsern sind hochgradig darauf abgestimmt, das JS auszuführen, das an sie geliefert wird.

Aber was ist, wenn Sie JavaScript in einer serverlosen Funktion ausführen? Oder möchten Sie JavaScript in einer Umgebung ausführen, die keine allgemeine Just-in-Time-Kompilierung zulässt, wie z. B. iOS oder Spielekonsolen?

Für diese Anwendungsfälle sollten Sie auf diese neue Welle der JS-Optimierung achten. Und diese Arbeit kann auch als Modell für andere Laufzeiten dienen – wie Python, Ruby und Lua – die auch in diesen Umgebungen schnell laufen wollen.

Bevor wir jedoch untersuchen, wie dieser Ansatz schnell ausgeführt werden kann, müssen wir uns ansehen, wie er auf grundlegender Ebene funktioniert.


2 Antworten 2

Ich vermute, Sie verwenden Add-SPSolution und Install-SPSolution, um das WSP-Paket hochzuladen und zu installieren. Add-SPSolution verschiebt Ihre Lösung in die SP Admin-Datenbank und Install SP-Solution fügt einen Zeitauftrag zum Erstellen aller Feature-Dateien in die 14/15-Struktur, DLLs in GAC, Web.Config-Änderungen usw. zu den Front-End-Servern hinzu, auf denen Sie " SP-Webanwendungsdienst" ausgeführt wird. Es spielt also keine Rolle, welchen Server Sie zum Bereitstellen Ihres WSP verwenden. Da die Lösungsfunktionalitäten immer auf Ihrem Front-End-Server ausgeführt werden, benötigt Ihr App-Server die WSP-Artefakte nicht.

Es spielt keine Rolle. Sobald eine Lösung bereitgestellt wurde, gibt der Zeitgeberauftrag die Änderungen an alle anderen Server weiter.

Das ist der Grund, alles als Lösung zu verpacken.

Auf der anderen Seite neigen Leute dazu, direkte Änderungen am Server vorzunehmen (durch Bearbeiten von Dateien usw.), diese Änderungen werden nie weitergegeben.

Wichtige Schritte zur Installation der Farmlösung:

  1. Hinzufügen: Ein Lösungspaket wird von einem Farmadministrator zum Lösungsspeicher der Farm hinzugefügt, der sich in der Konfigurationsdatenbank der Farm befindet. Dies geschieht entweder mit der SharePoint-Verwaltungsshell (oder mit dem Objektmodell). Dies ist in der Zentraladministration nicht möglich.
  2. Bereitstellen: Das Lösungspaket wird entpackt und seine Elemente werden an die entsprechenden Stellen kopiert.
  3. Funktionsaktivierung: Funktionen müssen aktiviert werden, bevor sie verwendet werden können. Daher wird die Aktivierung für Lösungen, die Funktionen enthalten, ein dritter Installationsschritt. Funktionen können Inhaltstypen, Steuerelemente, benutzerdefinierte Aktionen, benutzerdefinierte Felder, Dateien, Workflows, Listeninstanzen, Listenvorlagen, Ereignisempfänger und Dokumentkonverter enthalten, obwohl einige davon nicht in bestimmte Bereiche eingeschlossen werden können.

Der Bereitstellungsschritt für eine Farmlösung erstellt einen Zeitgeberauftrag. Dieser Zeitgeberauftrag wird vom Zeitgeberdienst auf jedem Webserver in der Serverfarm verwendet. Der Zeitgeberauftrag verwendet außerdem den Verwaltungswebdienst von SharePoint Foundation, um auf die entsprechenden Berechtigungen zum Bereitstellen von Lösungsdateien auf jedem Computer zuzugreifen. Daher müssen beide Dienste auf allen Servern ausgeführt werden, damit die Bereitstellung erfolgreich ist.

Zunächst wird das Paketmanifest geparst, um Assemblys, Anwendungsseiten, JavaScript und andere Dateien zu finden, die nicht Teil eines Features sind. Diese werden an die im Manifest angegebenen Speicherorte kopiert. Alle in einem Feature enthaltenen Dateien werden in das Feature-Verzeichnis kopiert, ein Unterverzeichnis von %ProgramFiles%Common FilesMicrosoft Sharedweb server extensions14(oder 15)VORLAGEFUNKTIONEN. Nachdem die Lösungsdateien auf die Zielcomputer kopiert wurden, wird für alle Front-End-Webserver ein Zurücksetzen der Konfiguration geplant. Das Zurücksetzen stellt dann die Dateien bereit und startet die Internetinformationsdienste (IIS) neu. Farmadministratoren können festlegen, wann dies auftritt.

Schließlich werden Farmlösungsfeatures registriert und Schema- und Definitionsdateien an den Konfigurationsspeicher übergeben.

Farmadministratoren können eine Lösung nur für einige Webanwendungen in der Farm bereitstellen.


Infrastruktur als Code

Obwohl das Azure-Portal eine hervorragende Übersicht für alle Azure-Dienste darstellt, sollte es nicht direkt zum Bereitstellen von Produktionsanwendungen verwendet werden. Stattdessen sollten wir uns bemühen, die Infrastruktur in Form eines Programms zu beschreiben, das ausgeführt werden kann, um alle erforderlichen Cloud-Ressourcen zu erstellen.

Traditionell könnte dies mit einem Automatisierungsskript erreicht werden, z. B. einem PowerShell-Cmdlet oder einem Bash-Skript, das die Azure CLI aufruft. Dieses Vorgehen ist jedoch mühsam und fehleranfällig. Eine Umgebung aus ihrem aktuellen Zustand in den gewünschten Zustand zu bringen, ist oft nicht trivial. Ein Fehler in der Mitte des Skripts erfordert häufig manuelle Eingriffe zur Reparatur von Umgebungen, was zu Ausfallzeiten führt.

Gewünschte Zustandskonfiguration ist eine andere Art der Infrastrukturdefinition. Ein Benutzer beschreibt deklarativ den gewünschten Endzustand der Infrastruktur, und das Tooling kümmert sich darum, eine Umgebung von ihrem aktuellen Zustand in die Parität mit dem gewünschten Zustand zu bringen. Ein solches Programm ist natürlicher, um sich zu entwickeln und Änderungen zu verfolgen.

Azure Resource Manager-Vorlagen ist das maßgeschneiderte Tool zur Konfiguration des gewünschten Zustands in der Welt von Azure. Der Zustand wird als JSON-Vorlage beschrieben, die alle Ressourcen und Eigenschaften auflistet. Allerdings kann es ziemlich schwierig sein, große JSON-Vorlagen manuell zu schreiben. Sie haben eine hohe Lernkurve und werden schnell groß, komplex, ausführlich und repetitiv. Entwickler vermissen einfache Programmiersprachen wie Iterationen oder benutzerdefinierte Funktionen.

Pulumi löst dieses Problem, indem universelle Programmiersprachen verwendet werden, um den gewünschten Zustand der Cloud-Infrastruktur zu beschreiben. Die Verwendung von JavaScript, TypeScript oder Python reduziert die Menge an Code um ein Vielfaches und bringt Konstrukte wie Funktionen und Komponenten in die DevOps-Toolbox.


Wo kann ich eine JavaScript-App für gemeinsame Tests bereitstellen? - Geografisches Informationssystem

Rostpad ist ein effizient und minimal kollaborativer Open-Source-Texteditor basierend auf dem Operational Transformation Algorithmus. Es ermöglicht Benutzern, in Echtzeit zusammenzuarbeiten, während sie Code in ihrem Browser schreiben. Rustpad ist vollständig selbst gehostet und passt in ein winziges Docker-Image, keine Datenbank erforderlich.

Der Server ist in Rust unter Verwendung des Warp-Webserver-Frameworks und der Operational-Transform-Bibliothek geschrieben. Wir verwenden wasm-bindgen, um Textoperationslogik in WebAssembly-Code zu kompilieren, der im Browser ausgeführt wird. Das Frontend ist in TypeScript mit React geschrieben und hat eine Schnittstelle zu Monaco, dem Texteditor, der VS Code antreibt.

Architektonisch kommuniziert clientseitiger Code über WebSocket mit einem zentralen Server, der speicherinterne Datenstrukturen speichert. Dies macht den Editor sehr schnell, ermöglicht es uns, die Bereitstellung einer Datenbank zu vermeiden und erleichtert das Testen erheblich. Der Kompromiss besteht darin, dass Dokumente vorübergehend sind und zwischen Serverneustarts oder nach 24 Stunden Inaktivität verloren gehen.

Um diese Anwendung auszuführen, müssen Sie Rust, wasm-pack und Node.js installieren. Erstellen Sie dann den WebAssembly-Teil der App:

Wenn dies abgeschlossen ist, können Sie Abhängigkeiten für die Frontend-React-Anwendung installieren:

Kompilieren Sie als Nächstes den Back-End-Webserver und führen Sie ihn aus:

Öffnen Sie während der Ausführung des Backends eine andere Shell und führen Sie den folgenden Befehl aus, um den Frontend-Teil zu starten.

Dieser Befehl öffnet ein Browserfenster zu http://localhost:3000 , mit Hot Reloading bei Änderungen.

Um Integrationstests für den Server auszuführen, verwenden Sie den Standardbefehl cargo test. Für die WebAssembly-Komponente können Sie Tests in einem Headless-Browser ausführen mit

Rustpad wird als einzelnes 12-MB-Docker-Image verteilt, das automatisch aus dem Dockerfile in diesem Repository erstellt wird. Sie können die neueste Version dieses Images von Docker Hub abrufen.

(Sie können dieses Image auch manuell mit docker build -t rustpad . im Projektstammverzeichnis erstellen.) Um lokal auszuführen, führen Sie den folgenden Befehl aus und öffnen Sie dann http://localhost:3030 in Ihrem Browser.

Wir stellen eine öffentliche Instanz dieses Images mit der DigitalOcean App Platform bereit.


Der gesamte Code ist unter der MIT-Lizenz lizenziert.


1. So stellen Sie eine React-App auf Heroku . bereit

Laden Sie die Heroku-CLI für Ihre Plattform herunter oder verwenden Sie die Befehlszeile mit npm install -g heroku .

Öffnen Sie nach dem Download ein neues Terminal und konfigurieren Sie die Heroku-CLI, indem Sie heroku login in das Terminal eingeben.

Unsere Heroku-Bereitstellung erfordert ein Node-Back-End, um unseren API-Aufruf abzuschließen.

Daher werden wir unsere Projektstruktur neu anordnen und ein Node.js-Backend hinzufügen.

Nachdem Sie die obigen Forking-Anweisungen befolgt haben, öffnen Sie das Projekt mit Ihrem Texteditor.

1. Node.js-Server einrichten

Erstellen Sie im Stammverzeichnis des Projekts einen Ordner namens client . Verschieben Sie alle sichtbaren Dateien in diesen Ordner.

Als nächstes erstellen Sie im Projektstamm die Dateien

Fügen Sie dann den folgenden Code in die entsprechende Datei ein.

Navigieren Sie schließlich mit dem Terminal in Ihren Serverordner. Führen Sie im Serververzeichnis die Befehle aus,

Nach der Installation der Pakete muss nur noch eine Änderung am Projekt vorgenommen werden. Öffnen Sie client/src/App.js und ändern Sie die URL in Zeile 18 der Datei in /weather .

Gute Arbeit, unsere API-Funktion befindet sich jetzt auf unserem Backend-Server. Lassen Sie uns Heroku bereitstellen!

2. Bereitstellen auf Heroku

Fügen Sie in server/package.json unter Skripts ein Startskript und ein Post-Build-Skript hinzu.

Erstellen Sie als Nächstes eine Datei namens Procfile im Projektstamm und fügen Sie diese Zeile hinzu.

Übertragen Sie die Änderungen, die wir gerade vorgenommen haben, in Ihr Git-Repository.

Jetzt sind wir bereit, die Heroku-App zu erstellen!

Stellen Sie sicher, dass sich Ihr Terminal im Projektstamm befindet und führen Sie den Befehl heroku create aus.

Dieser Befehl gibt den App-Namen (d. h. “ Floating-Coast-11273″), die URL und die Git-Remote-URL zurück.

Da wir nun den App-Namen haben, können wir unsere RapidAPI-key-Umgebungsvariable hinzufügen.

Suchen Sie Ihren API-Schlüssel auf RapidAPI. Führen Sie dann den Befehl aus und fügen Sie Ihren RapidAPI-Schlüssel ein.

heroku config:set RAPIDAPI_KEY=yourkey

Schließlich können wir die Änderungen in das Heroku-Remote-Git-Repository übertragen und unsere App wird erstellt.

Die App erstellt erneut die URL für die neue Anwendung und gibt sie aus.

Gute Arbeit! Ich hoffe das war einfach!

Denken Sie daran, dass Ihre App jetzt öffentlich ist. Sie können sich bei Heroku anmelden und Ihre Anwendung löschen oder deaktivieren, wenn Sie nicht möchten, dass andere Ihre API-Anfrage verwenden.


  • Ein Azure-Abonnement. , dem Node.js-Paketmanager. , danach sollte der Befehl git --version eine Versionsnummer anzeigen.

Verwenden Sie Azure Cloud Shell mithilfe der Bash-Umgebung.

Wenn Sie es vorziehen, installieren Sie die Azure CLI, um CLI-Referenzbefehle auszuführen.

  • Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Befehl az login bei der Azure CLI an. Um den Authentifizierungsprozess abzuschließen, befolgen Sie die in Ihrem Terminal angezeigten Schritte. Weitere Anmeldeoptionen finden Sie unter Anmelden mit Azure CLI.
  • Wenn Sie dazu aufgefordert werden, installieren Sie Azure CLI-Erweiterungen bei der ersten Verwendung. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit Azure CLI.
  • Führen Sie az version aus, um die installierte Version und abhängige Bibliotheken zu finden. Führen Sie az upgrade aus, um auf die neueste Version zu aktualisieren.

Azure-Abonnement

Wenn Sie kein Azure-Abonnement haben, registrieren Sie sich jetzt für ein kostenloses Konto mit 200 USD an Azure-Guthaben, um eine beliebige Kombination von Diensten auszuprobieren.

Anmelden bei Azure mit Azure CLI

Wenn die CLI Ihren Standardbrowser öffnen kann, tut sie dies und lädt eine Azure-Anmeldeseite.


Erstellen Sie eine Java-App

Wechseln Sie in das Verzeichnis zum abgeschlossenen Projekt.

Führen Sie den folgenden Maven-Befehl in der Cloud Shell-Eingabeaufforderung aus, um eine neue App namens helloworld zu erstellen:

Wechseln Sie dann Ihr Arbeitsverzeichnis in den Projektordner:

JBoss EAP ist nur in der Linux-Version von App Service verfügbar. Bitte wählen Sie die Linux Schaltfläche oben in diesem Artikel, um die Schnellstartanleitung für JBoss EAP anzuzeigen.

Klonen Sie die Pet Store-Demoanwendung.

Ändern Sie das Verzeichnis zum geklonten Projekt.


Haben Sie versucht, einen "POST" zu erstellen, der von der Gruppe bearbeitet werden kann? Klingt so, als ob es das Problem in Slack löst.

Verfassen Sie einen Beitrag
Manchmal braucht es mehr als nur eine Nachricht, um detaillierte Informationen mit Ihrem Team zu teilen. Posts sind eine Möglichkeit, lange Inhalte – wie Projektpläne oder Dokumentation – direkt in Slack zu teilen und gemeinsam daran zu arbeiten.
https://get.slack.help/hc/en-us/articles/203950418-Composing-a-post

Ich verwende /todo für kanalbezogene Listen sowie die benutzerdefinierten Slackbot-Antworten auf Listen-URLs für Dokumente oder andere beliebte HTTP-basierte lokale Netzwerkverbindungen. Leider tut es file:// (noch) nicht

Ein Beispiel für den Befehl/Antwort von Slackbot (Bearbeiten, um Konflikte mit Markdown zu korrigieren. Es sollte drei "Backticks" geben - das andere Zeichen auf der Tilde-Taste - um vorformatierten Text zu kennzeichnen. Dies ist es, was die Slackbot-Antwort dazu bringt, mehrere Zeilen auszugeben und nicht eine der Zeilen in der Antwort)

Schlüsselwort-Antwort "doclist" ```hier ist die doclist ``` ```einige docs - http://someplace/somefolder```


4 Antworten 4

Unternehmenszertifikate und andere Zertifikate müssen unter iOS 9 manuell vertrauenswürdig sein, während dies unter iOS 8 und früher nicht erforderlich war.

  • Öffne das Einstellungen App
  • Offen Allgemein
  • Offen Profile(Sie sehen dies erst, nachdem das erste Profil auf einem iOS-Gerät installiert wurde)
  • Wählen Sie das betroffene Profil aus und vertrauen Sie ihm

Wenn "Profiles & Device Management" nicht angezeigt wird, muss Ihr Gerät die App neu installieren oder das entsprechende Profil von MDM/anderer Registrierung abrufen. Auch wenn Ihr Netzwerk oder System ausgehenden Datenverkehr zu Apple-Servern für Zeitsynchronisierung, OCSP/CRL- oder Beglaubigungsprüfungen blockiert, werden Fehler angezeigt oder möglicherweise andere Herausforderungen beim Ausführen von Apps auftreten.