Mehr

Können wir eine Drehmomentschicht ausblenden/einblenden und/oder SQL festlegen?

Können wir eine Drehmomentschicht ausblenden/einblenden und/oder SQL festlegen?


Ist es möglich, einen Drehmoment-Layer auszuwählen, der Teil einer Visualisierung ist?

Ich verwende CreateVis und erstelle eine Schaltfläche und einen Layer-Selektor, damit der Benutzer auswählen kann, was auf der Karte angezeigt wird. Die Drehmomentebene verhält sich jedoch nicht wie die anderen Unterebenen und ich kann sie nicht auswählen.

Gibt es eine Möglichkeit, SQL so einzustellen, dass nur ein Teil der Daten angezeigt wird, wenn auf eine Schaltfläche für eine Drehmomentebene geklickt wird, während andere "normale" Ebenen auf der Karte vorhanden sind?


Sie können sich bewerbenTorqueLayer.hide()undDrehmomentLayer.show()Methoden, um die Anzeige Ihres Drehmoment-Layers zu steuern. Es gibt auch dieTorqueLayer.setSQL('… ')Möglichkeit. Bei all diesen müssen Sie sicherstellen, dass Ihre Daten nicht auf privat gesetzt sind, da diese nicht mit benannten Maps funktionieren, es sei denn, Sie fügen der Konfigurationsdatei einige zusätzliche Parameter hinzu.

Eine wichtige Sache, die Sie bei Torque-Schichten beachten sollten: Sie sind ihre eigene Schicht im Gegensatz zu den statischen Schichten, die aus Unterschichten bestehen, die zu einer einzigen Schicht gebündelt sind. Die Struktur vonLagenwelches als Callback-Objekt von createVis zurückgegeben wird:schichten[0]ist der Grundkarten-Layer,Schichten[1]sind die statischen Schichten, undSchichten[2]ist die Drehmomentschicht.

Ich habe hier ein funktionierendes Beispiel mit einigen der neuen Heatmaps erstellt! Während dieses Beispiel nicht verwendetTorqueLayer.setSQL('… ')Sie können es einfach hinzufügen und nach Ihren Wünschen anpassen.


MySQL-Ansichten - Wann verwenden und wann nicht?

Der MySQL-Zertifizierungsleitfaden schlägt vor, dass Ansichten verwendet werden können für:

  • Erstellen einer Zusammenfassung, die Berechnungen beinhalten kann
  • Wählen Sie eine Reihe von Zeilen mit einer WHERE-Klausel aus, blenden Sie irrelevante Informationen aus
  • Ergebnis eines Beitritts oder einer Vereinigung
  • Änderungen an der Basistabelle über eine Ansicht zulassen, die das Schema der ursprünglichen Tabelle beibehält, um andere Anwendungen zu berücksichtigen

Und vielleicht haben Sie Recht, dass es nicht funktioniert, da mysql-Ansichten mit der Indizierung nicht gut befreundet sind. Aber dennoch. Gibt es etwas zu suchen in der Shops-Tabelle?

Ich lerne, dass Ansichten nicht gut mit der Indizierung funktionieren, also wird es ein großer Leistungseinbußen sein, für die Bequemlichkeit, die es bieten kann?


Sichtbarkeit: Hidden blendet das Element aus, nimmt aber dennoch Platz im Layout ein.

display: none entfernt das Element vollständig aus dem Dokument, es nimmt keinen Platz ein.

Seit der Veröffentlichung von HTML5 kann man jetzt einfach tun:

Notiz: Dies wird von einigen alten Browsern nicht unterstützt, insbesondere von IE < 11.

Versteckt Attributdokumentation (MDN,W3C)

Verwenden Sie style="display: none" . Außerdem benötigen Sie wahrscheinlich kein DIV, sondern legen nur den anzuzeigenden Stil fest: Keines im Kontrollkästchen würde wahrscheinlich ausreichen.

Da Sie sich in CSS auf Benutzerfreundlichkeit und Allgemeingültigkeiten konzentrieren sollten, anstatt eine ID zu verwenden, um auf ein bestimmtes Layoutelement zu verweisen (was zu riesigen oder mehreren CSS-Dateien führt), sollten Sie wahrscheinlich stattdessen eine echte Klasse in Ihrer verknüpften CSS-Datei verwenden:

Jetzt können Sie es einfach anwenden über:

Zusätzlich zur CMS-Antwort können Sie den Stil in ein externes Stylesheet einfügen und den Stil der ID wie folgt zuweisen:

Erwägen Sie die Verwendung von <span>, um kleine Markup-Segmente zu isolieren, die formatiert werden sollen, ohne das Layout zu unterbrechen. Dies scheint idiomatischer zu sein, als zu versuchen, ein <div> dazu zu bringen, sich selbst nicht anzuzeigen - wenn das Kontrollkästchen selbst nicht so gestaltet werden kann, wie Sie es möchten.

Um zu verhindern, dass das Kontrollkästchen Platz einnimmt ohne Entfernen Sie es aus dem DOM, verwenden Sie hidden .

Um zu verhindern, dass das Kontrollkästchen Platz einnimmt und Auch Entfernen Sie es aus dem DOM, verwenden Sie display: none .


Geh zur Quelle! Grady Booch sagt (in Objektorientierte Analyse und Design, Seite 49, zweite Auflage):

Abstraktion und Kapselung sind komplementäre Konzepte: Abstraktion konzentriert sich auf das beobachtbare Verhalten eines Objekts. Die Kapselung konzentriert sich auf die Implementierung, die zu diesem Verhalten führt. Kapselung wird am häufigsten durch Information Hiding erreicht, das heißt, alle Geheimnisse des Objekts zu verbergen, die nicht zu seinen wesentlichen Eigenschaften beitragen.

Mit anderen Worten: Abstraktion = das Objekt extern Kapselung (erreicht durch Information Hiding) = das Objekt intern,

Beispiel: In .NET Framework stellt die System.Text.StringBuilder-Klasse eine Abstraktion über einen Zeichenfolgenpuffer bereit. Diese Pufferabstraktion ermöglicht es Ihnen, mit dem Puffer ohne Rücksicht auf seine Implementierung zu arbeiten. Auf diese Weise können Sie Strings an den Puffer anhängen, ohne darauf zu achten, wie der StringBuilder intern Dinge wie den Zeiger auf den Puffer und die Verwaltung des Speichers verfolgt, wenn der Puffer voll ist (was bei der Kapselung durch Verbergen von Informationen der Fall ist).

Das OP aktualisierte seine Frage mit mehreren Zitaten, die er gefunden hatte, und zwar in einem Artikel von Edward V. Berard mit dem Titel "Abstraction, Encapsulation, and Information Hiding". Ich poste eine leicht erweiterte und neu formatierte Version des OP-Updates erneut, da es eine eigenständige Antwort sein sollte.

(Alle Zitate sind dem oben genannten Artikel entnommen.)

Abstraktion:

"Ein Punkt der Verwirrung in Bezug auf Abstraktion ist ihre Verwendung sowohl als Prozess als auch als Entität. Abstraktion als Prozess bezeichnet das Extrahieren der wesentlichen Details über ein Element oder eine Gruppe von Elementen, während die unwesentlichen Details ignoriert werden. Abstraktion bezeichnet als Entität ein Modell, eine Ansicht oder eine andere fokussierte Darstellung eines tatsächlichen Gegenstands."

Ausblenden von Informationen:

"Seine Schnittstelle oder Definition wurde gewählt, um so wenig wie möglich über das Innenleben preiszugeben." — [Parnas, 1972b]

„Abstraktion kann […] als Technik verwendet werden, um zu erkennen, welche Informationen versteckt werden sollten.“

"Verwirrung kann auftreten, wenn Menschen nicht zwischen dem Verbergen von Informationen und einer Technik (z. B. Abstraktion) unterscheiden, die verwendet wird, um zu erkennen, welche Informationen versteckt werden sollen."

Verkapselung:

„Es […] bezieht sich auf den Bau einer Kapsel, im Fall einer konzeptionellen Barriere, um eine Ansammlung von Dingen.“ — [Wirfs-Brock et al, 1990]

„Verkapselung bedeutet als Prozess das Einschließen eines oder mehrerer Elemente in einen […] Behälter. Kapselung als Entität bezieht sich auf ein Paket oder eine Beilage, die einen oder mehrere Artikel enthält (enthält, umschließt)."

„Wenn Kapselung ‚das Gleiche wäre wie das Verbergen von Informationen‘, dann könnte man argumentieren, ‚alles, was gekapselt war, war auch versteckt‘. Das ist offensichtlich nicht wahr."

„Abstraktion, Information Hiding und Encapsulation sind sehr unterschiedliche, aber stark verwandte Konzepte. Man könnte argumentieren, dass Abstraktion eine Technik ist, die uns hilft zu erkennen, welche spezifischen Informationen sichtbar und welche versteckt werden sollten. Kapselung ist dann die Technik, um die Informationen so zu verpacken, dass verborgen wird, was verborgen werden soll, und sichtbar macht, was sichtbar sein soll."


Ausführen Wille ein Recordset zurückgeben. Es kann natürlich keine Zeilen haben, aber ein Ergebnis erhalten

Sie können Zeilen, aber nicht die Ergebnismenge mit SET FMTONLY . unterdrücken

Hatte persönlich aber nie eine Verwendung dafür.

Bearbeiten 2018. Wie bereits erwähnt, finden Sie heutzutage in der Antwort von @deroby eine bessere Lösung

Ich bin überrascht, dass niemand auf die Antwort kam: schalte die Option "Abfrageergebnisse nach Ausführung verwerfen" ein l Ich bin mir ziemlich sicher, dass der Interviewer darauf aus war. SET FMT ONLY ist IMHO eine ganz andere Sache.

  • öffne eine neue Abfrage
  • im Menü Wählen Sie Abfrage / Abfrageoptionen
  • Wählen Sie den Ergebnisbereich
  • Überprüfen Sie das "Ergebnis nach Ausführung verwerfen"

Der Grund, warum Sie dies möglicherweise tun möchten, ist, dass Sie nicht warten und Ressourcen verschwenden müssen, bis die Ergebnisse in das Grid geladen werden, aber dennoch z.B. den tatsächlichen Ausführungsplan.

Klingt für mich nach einer dubiosen Interviewfrage. Ich habe es getan, ich musste es tun, aber Sie müssten es nur unter ziemlich unklaren Umständen tun. Unverständlich, aber manchmal sehr wichtig.

Wie @gbn sagt, ist ein programmatischer Weg mit SET FMTONLY (danke, jetzt muss ich es nicht mehr aus meinen alten Skriptdateien ausgraben). Einige Programme und Dienstprogramme tun dies, wenn sie SQL abfragen. Zuerst senden sie eine Abfrage mit FMTONLY ON, um das Layout der resultierenden Tabellenstruktur zu bestimmen, und dann, wenn sie die Ausführung mit FMTONLY OFF vorbereitet haben, um die tatsächlichen Daten zu erhalten. (Das habe ich herausgefunden, als die Prozedur eine zweite Prozedur aufrief, die zweite Prozedur den Datensatz zurückgab und aus obskuren Gründen das ganze Kartenhaus zusammenbrach.)

Dies kann auch in SSMS erfolgen. Aktivieren Sie für alle Abfragefenster unter Extras/Optionen, Abfrageergebnisse/SQL Server/Ergebnisse bis XX das Kontrollkästchen „Ergebnisse nach Ausführung der Abfrage verwerfen“ nur für das aktuelle Fenster, unter Abfrage-/Abfrageoptionen, Ergebnisse/XX, dasselbe Kontrollkästchen. Der Vorteil hierbei ist, dass die Abfrage auf dem Datenbankserver läuft, aber die Daten Ergebnisse werden nicht zurückgegeben. Dies kann von unschätzbarem Wert sein, wenn Sie den Abfrageplan überprüfen, aber die resultierenden 10 GB an Daten (über das Netzwerk auf Ihren Laptop) nicht erhalten möchten oder wenn Sie ernsthafte Testschleifen durchführen, da SSMS nur akzeptieren kann so viele Resultsets aus einem bestimmten "Lauf", bevor die Abfrage mit der Meldung "zu viele Resultsets" beendet wird. [Hmm, überprüfe mich noch einmal bei diesem "Nur Abfrageplan"-Bit - ich denke, es tut dies, aber es ist lange her.]


Vergleichen Sie Azure SQL-Datenbank mit Azure SQL Data Warehouse: Definitionen, Unterschiede und Verwendungszweck

Azure SQL-Datenbank ist einer der am häufigsten verwendeten Dienste in Microsoft Azure, und ich verwende ihn häufig in meinen Projekten. Es ist im Grunde SQL Server in der Cloud, aber vollständig verwaltet und intelligenter. Es gibt einen anderen Dienst in Azure, der ähnlich ist, aber nicht ganz: Azure SQL Data Warehouse. Azure SQL Data Warehouse verwendet viel Azure SQL-Technologie, ist aber auf einige tiefe Weisen anders.

In diesem Artikel gehen wir auf diese Unterschiede ein. Du wirst es lernen:

  • Was sind Azure SQL-Datenbank und Azure SQL Data Warehouse
  • Was sind die Unterschiede zwischen Azure SQL-Datenbank und Azure SQL Data Warehouse
  • Wann sollten Sie es verwenden? Azure SQL-Datenbank statt Azure SQL Data Warehouse

Was ist Azure SQL-Datenbank?

Azure SQL-Datenbank ist SQL Server in der Cloud. Und da es in der Cloud ausgeführt wird, müssen Sie sich nicht um die Wartung der Infrastruktur, das Optimieren von Datenbankdateien oder das Patchen von Betriebssystemen kümmern. Sie müssen sich auch keine Sorgen um SQL Server-Lizenzen machen, das ist alles in den Azure SQL-Preisen enthalten. Sie drehen es einfach auf und verwenden es. Diese Vorteile sind einige der Gründe, warum die Ausführung Ihrer App in der Cloud unglaublich vorteilhaft ist.

Azure SQL kann es fast tun alles, was lokaler SQL Server tun kann, mit wenigen Ausnahmen. Azure SQL hat beispielsweise keinen ausgeführten SQL-Agent, da es andere Dienste in Azure gibt, die Sie dafür verwenden können, wie Azure Data Factory. Es gibt auch einige Unterschiede bei den unterstützten T-SQL-Anweisungen. Als Beispiel können Sie nicht verwenden ALS LOGIN AUSFÜHREN in Azure SQL. Sie können verwenden ALS BENUTZER AUSFÜHREN stattdessen. Trotz dieser Unterschiede entscheide ich mich nach Möglichkeit immer für Azure SQL anstelle von lokalem SQL Server, da Azure SQL vollständig verwaltet und leicht skalierbar ist.

Darüber hinaus bietet Azure SQL-Datenbank viele intelligente Funktionen. Hier sind einige davon:

Dynamische Datenmaskierung. Auf diese Weise können Sie sensible Daten wie Kreditkartennummern für bestimmte Benutzer im Handumdrehen maskieren. Die Daten selbst ändern sich nicht, werden jedoch verschleiert, wenn sie von Benutzern abgerufen werden, die sie nicht sehen dürfen. Dies ist eine großartige Funktion, um Produktionsdaten in Ihrer Test- oder sogar Entwicklungsumgebung zu verwenden.

Geo-Replikation. Auf diese Weise können Sie Ihre komplette Datenbank in eine Datenbank in einer anderen geografischen Region replizieren. Diese Replikation erfolgt live und hat eine maximale Verzögerung von 5 Minuten, ist aber in der Praxis viel schneller. Sie können beliebig viele Geo-Replikate erstellen, haben jedoch immer nur eine Datenbank, in die Sie schreiben können. Die anderen Datenbanken sind schreibgeschützt. Sie können dies verwenden, um sicherzustellen, dass Ihre Anwendung weiterhin ausgeführt wird, wenn eine Region ausfällt, und um Ihre Anwendung in allen geografischen Regionen leistungsfähiger zu machen.

Automatische Abstimmung. Dadurch werden die von Azure SQL-Datenbank ausgeführten Abfragen analysiert und festgestellt, ob etwas zur Leistungssteigerung erforderlich ist. Es kann für Sie skalieren, die Indizes in Ihrer Datenbank optimieren und Verlaufsprotokolle optimieren. Es überprüft sogar, ob die von ihm ausgeführte Aktion geholfen hat, und wenn nicht, wird es rückgängig gemacht. Dies ist viel effektiver als die manuelle Leistungsoptimierung in SQL Server.

Azure SQL bietet viele weitere Funktionen wie die Erkennung von SQL-Bedrohungen, die Verschlüsselung von Daten im Ruhezustand und die Azure AD-Integration. Es ist ein wirklich ausgereifter und fortschrittlicher Service.

Was ist Azure SQL Data Warehouse?

Sie wissen jetzt, was Azure SQL-Datenbank ist. Was ist also Azure SQL Data Warehouse? Nun, es ist die SQL Server Data Warehouse-Funktion in der Cloud. SQL Server Data Warehouse ist als Feature von SQL Server lokal vorhanden. In Azure handelt es sich um einen dedizierten Dienst, mit dem Sie ein Data Warehouse erstellen können, das riesige Datenmengen speichern, nach oben und unten skalieren und vollständig verwaltet werden kann. Wie bei Azure SQL-Datenbank ist Azure SQL Data Warehouse etwas, das Sie einfach starten. Sie müssen sich nicht um Infrastruktur oder Lizenzen kümmern.

Azure SQL Data Warehouse ist oft als traditionelle Data Warehouse-Lösung verwendet. Dies bedeutet, dass Sie riesige Datenmengen unter Verwendung eines von Ihnen entworfenen Datenschemas aus Tabellen und Spalten eingeben würden. Datenvisualisierungstools wie PowerBI können sich dann mit dem Data Warehouse verbinden, um die Daten abzufragen und Geschäftsfragen in Berichten und Grafiken zu beantworten.

Azure SQL Data Warehouse verfügt über Funktionen, die für die Arbeit mit Big Data und deren Bereitstellung für weitere Analysen und Visualisierungen entwickelt wurden. Einige dieser Features sind auch für Azure SQL-Datenbank verfügbar. Hier sind einige davon:

Polybase T-SQL-Abfragen. Diese ermöglichen es Ihnen, Daten aus externen Quellen wie Hadoop oder Azure Blob Storage mithilfe von regulären T-SQL-Abfragen abzurufen. Sie müssen die Details des abzufragenden Systems nicht kennen, da Polybase sich darum kümmert.

Massive Parallelverarbeitung (MPP). Azure SQL Data Warehouse wurde für die Datenanalyseleistung bei der Arbeit mit riesigen Datenmengen entwickelt. Dies ist aufgrund seiner MPP-Architektur möglich. Dies bedeutet, dass eine Anfrage von einem dedizierten Knoten verarbeitet wird, der über eine eigene CPU und einen eigenen Speicher verfügt.

Die Möglichkeit, den Dienst anzuhalten und fortzusetzen. Im Gegensatz zur lokalen Ausführung eines Data Warehouse können Sie Azure SQL Data Warehouse tatsächlich anhalten, wenn Sie es nicht benötigen. Dabei zahlen Sie nicht die Kosten für das Data Warehouse, aber dennoch die Kosten für die darin enthaltenen Daten (zum Preis von Azure Storage Premium). Wenn Sie es wieder verwenden möchten, können Sie den Dienst einfach wieder aufnehmen.

Darüber hinaus verfügt Azure SQL Data Warehouse über ähnliche Funktionen wie Azure SQL-Datenbank, wie z. B. ruhende Datenverschlüsselung und Azure AD-Integration.

Azure SQL-Datenbank und Azure SQL Data Warehouse im Vergleich

Sie können also sowohl Azure SQL-Datenbank als auch Azure SQL Data Warehouse zum Speichern von Daten verwenden. Warum nicht Azure SQL-Datenbank als Data Warehouse verwenden? Nun, das könnte man machen, aber es ist nicht dafür optimiert.

Azure SQL-Datenbank ist optimiert für CRUD-Operationens (Erstellen, Lesen, Aktualisieren und Löschen), die Sie normalerweise in einer Anwendung ausführen. Dies wird auch als OLTP (Online Transaction Processing) bezeichnet. Dies spiegelt sich in der angebotenen Funktionalität wider, die normalerweise beim Erstellen von Anwendungen verwendet wird. Azure SQL-Datenbank skaliert auch für OLTP, da verschiedene Preisstufen in der Regel skalieren, um Ihnen einen höheren Abfragedurchsatz und weniger Daten zu ermöglichen (das aktuelle Maximum beträgt 1 TB und in einigen Regionen 4 TB).

Azure SQL Data Warehouse ist optimiert für die Durchführung von Datenanalyseaufgaben, und das Arbeiten mit großen Datenmengen. Dies wird auch OLAP (Online Analytical Processing) genannt. Data Warehouse ist für OLAP optimiert, da es auf der MPP-Architektur (Massive Parallel Processing) aufbaut und riesige Datenmengen speichern kann (derzeit liegt das Maximum bei etwa 1 PB) – viel mehr als Azure SQL-Datenbank speichern kann in einem Augenblick.

Davon abgesehen, manchmal Sie können Azure SQL-Datenbank als Data Warehouse verwenden, da es viel Leistung bieten kann, wenn Sie viele Benutzer mit einem relativ kleinen Dataset haben. Tabelle 1 zeigt einige der Merkmale, die die Auswahl des einen gegenüber dem anderen erleichtern könnten:

Azure SQL-DatenbankAzure SQL Data Warehouse
Datentyprelationalrelational
Aktive GeoreplikationJawohlNein
Dynamische DatenmaskierungJawohlNein
Datenverschlüsselung im RuhezustandJawohlJawohl
Polybase T-SQL-AbfragenJawohlJawohl
Automatische SendersucheJawohlNein
Massive Parallelverarbeitung (MPP)NeinJawohl
Möglichkeit zum Pausieren und FortsetzenNeinJawohl
Maximale Datenmenge pro Datenbank4 TB1PB
Max. gleichzeitige offene Sitzungen300001024
Max. gleichzeitige Abfragen640032

Tabelle 1: Funktionen und Beschränkungen von Azure SQL-Datenbank im Vergleich zu Azure SQL Data Warehouse

Was wann verwenden?

Es scheint klar zu sein, was wann zu verwenden ist, aber ist es das wirklich? Sie können in einem bestimmten Szenario auch Azure SQL-Datenbank als Data Warehouse verwenden. Tabelle 2 zeigt, was Sie meiner Meinung nach verwenden sollten, wenn:

Azure SQL-DatenbankAzure SQL Data Warehouse
Für Anwendungsdatenbank verwendenx
Einsatz für Data Warehouse mit großen Datenmengen und kleinen Benutzermengen x
Verwendung für Data Warehouse mit Daten von max. 4 TB und einer großen Anzahl von Benutzernx

Tabelle 2: Wann Sie Azure SQL-Datenbank und wann Azure SQL Data Warehouse verwenden sollten

Ich hoffe, dieser Artikel hat Ihnen geholfen, die Unterschiede zwischen Azure SQL-Datenbank und Azure SQL Data Warehouse zu verstehen und zu verstehen, was Sie wann verwenden sollten. Wenn Sie mehr Datenspeicher in Azure miteinander vergleichen möchten, lesen Sie „Wo speichern Sie Ihre Daten in Azure? Informationen zu Azure Data Storage Options” im Stackify-Blog.

Verbessern Sie mit APM, Serverzustandsmetriken und Fehlerprotokollintegration Ihre Anwendungsleistung mit Stackify Retrace. Testen Sie noch heute Ihre kostenlose zweiwöchige Testversion


Unser bewährter Datenschutzansatz basiert auf unserer Verpflichtung, Ihnen die Kontrolle über die Daten zu geben, die Sie in die Cloud stellen. Mit anderen Worten, Sie kontrollieren Ihre Daten. Microsoft garantiert dies mit den vertraglichen Verpflichtungen, die wir Ihnen gegenüber eingehen.

Ihre Daten gehören Ihnen

Ihre Daten sind Ihr Geschäft und Sie können jederzeit darauf zugreifen, sie ändern oder löschen. Microsoft verwendet Ihre Daten nicht ohne Ihre Zustimmung, und wenn wir Ihre Zustimmung haben, verwenden wir Ihre Daten nur, um die von Ihnen ausgewählten Dienste bereitzustellen.

Ihre Kontrolle über Ihre Daten

Ihre Kontrolle über Ihre Daten wird durch die Einhaltung allgemein anwendbarer Datenschutzgesetze wie der DSGVO und Datenschutzstandards wie dem weltweit ersten internationalen Verhaltenskodex für den Datenschutz in der Cloud, ISO/IEC 27018, verstärkt.

Unabhängige Auditberichte

Sie haben Zugang zu unabhängigen Auditberichten über unsere Einhaltung von Datenschutzstandards, die wiederum Unterstützung bei der Erfüllung Ihrer eigenen Datenschutzverpflichtungen bieten.

Datenverarbeitung nur mit Einwilligung

Wir verarbeiten Ihre Daten nur auf Grundlage Ihrer Zustimmung und in Übereinstimmung mit den strengen Richtlinien und Verfahren, denen wir vertraglich zugestimmt haben. Wir geben Ihre Daten nicht an von Werbetreibenden unterstützte Dienste weiter und sammeln sie auch nicht für Zwecke wie Marktforschung oder Werbung.

Datenbeschränkungen für Subunternehmer

Wenn wir Subunternehmer oder Unterauftragsverarbeiter einsetzen, um Arbeiten auszuführen, die den Zugriff auf Ihre Daten erfordern, können diese nur die Funktionen ausführen, mit denen Microsoft sie beauftragt hat, und sie sind an dieselben vertraglichen Datenschutzverpflichtungen gebunden, die Microsoft Ihnen gegenüber eingegangen ist. Die Liste der Unterauftragsverarbeiter von Microsoft Online Services identifiziert autorisierte Unterauftragsverarbeiter, die im Voraus auf strenge Sicherheits- und Datenschutzanforderungen geprüft wurden.


MVC geschichtete Projektstruktur

Wir starten ein neues Webprojekt mit C# / MVC4 und Entity Framework 5 für den Datenzugriff. Ich habe mich für einen n-schichtigen Ansatz für die Struktur des Projekts entschieden und hätte gerne Feedback zu meinen Designentscheidungen.

So ist die Lösung aufgebaut:

  • Project.Model (Klassenbibliothek): Enthält EF .edmx, Entitätsmodelle und Ansichtsmodelle
  • Project.DAL (Klassenbibliothek): Enthält EF DbContext- und Repository-Klassen
  • Project.BLL (Klassenbibliothek): Enthält Geschäftslogikklassen
  • Projekt (MVC-Projekt)

Die Datenzugriffsschicht befasst sich nur mit einfachen CRUD-ähnlichen Operationen. Ich habe mich für einen Repository-Ansatz entschieden. Hier sind die Repository-Schnittstellen:

Nach einigen Recherchen zur Verwendung von Entity Framework in Webprojekten ist der allgemeine Konsens, dass es nur einen DbContext / ObjectContext pro Anforderung geben sollte. Um den einzelnen Kontext für jede Anforderung zu erstellen und zu verwerfen, habe ich ein HttpModule geschrieben, das den DbContext in den HttpContext einfügt.

Als nächstes kommt die Repository-Basisklasse. Beachten Sie, dass der Konstruktor den eingefügten DbContext aus dem obigen HttpModule verwendet.

Und ein einfaches Beispiel für eine Implementierung:

Die Geschäftslogikschicht kapselt die gesamte Geschäftslogik. Um Einschränkungen beizubehalten, habe ich die Basisklasse Logic wie folgt geschrieben:

Der Konstruktor erstellt automatisch die erforderliche Repository-Klasse, sodass in untergeordneten Klassen kein zusätzlicher Code erforderlich ist, um das Repository zu instanziieren. Hier ein einfaches Beispiel für eine Implementierung:

Dieses Beispiel ist eher ein Pass-Through für das DAL-Repository, aber das Hinzufügen einer Geschäftslogikschicht ist kein Problem. Ich entscheide mich dafür, IQueryable<T> aus der BLL zurückzugeben, da wir einige Tools von Drittanbietern verwenden, die ein IQueryable<T> für die verzögerte Ausführung erfordern.

Projekt (MVC-Projekt)

Schließlich sieht eine einfache Controller-Aktion so aus:

Alles funktioniert wie erwartet und Tests zeigen, dass der EF-Kontext ordnungsgemäß entsorgt wird und die Gesamtgeschwindigkeit gut ist.


Was ist neu bei Szenen-Layern (ArcGIS Pro 2.5)

Das Scene Layers Team hat hart daran gearbeitet, neue Funktionen in der ArcGIS Pro 2.5-Version hinzuzufügen. Schauen wir uns an, was hinzugefügt wurde!

I3S-Version 1.7

Das Team für Szenenebenen unterstützt weiterhin I3S Version 1.7 für zusätzliche Szenenebenentypen. In dieser Version schreiben wir jetzt zusätzlich zu den 3D-Objektszenenebenen der letzten Version Version 1.7 für das Erstellen und integrierte Mesh-Szenenebenen heraus. 1.7-Erweiterungen führen zu Skalierbarkeits- und Leistungsverbesserungen in allen Clients der ArcGIS-Plattform.

Integrierte Mesh-Verbesserungen

In dieser Version haben wir das Werkzeug "Integriertes Netzszenen-Layer-Paket erstellen" erheblich verbessert. Auf UI-Ebene haben wir zwei zusätzliche Parameter hinzugefügt. Wir haben die . verlängert Ankerpunkt -Parameter, damit Sie zusätzlich zu einem Feature-Layer eine Ankerpunktdatei auswählen können. Das Tool erkennt nun automatisch Metadatendateien, aber als Fallback können Sie die Datei jederzeit manuell im Tool auswählen. Zu den unterstützten Dateien gehören Metadaten.xml-, World- und .3mx-Dateien. OSGB-Daten enthalten keine Koordinatensysteminformationen, daher ist es wichtig, den Ankerpunktparameter richtig zu verwenden, um sicherzustellen, dass das Modell georeferenziert ist.

Eine neue Ausgabe-Koordinatensystem Parameter wurde hinzugefügt, damit Sie das geeignete Koordinatensystem auswählen können. Dies beinhaltet die Unterstützung für die geografischen Koordinatensysteme WGS84, CGCS 2000 sowie alle projizierten und benutzerdefinierten Koordinatensysteme.

Wir haben auch erhebliche Verbesserungen bei der Konvertierung von OSGB-Daten vorgenommen. Das Tool schreibt jetzt DXT-Texturen in das Szenenebenenpaket. DXT-Texturen werden komprimiert und führen in Webclients wie dem Scene Viewer zu einer besseren Leistung. Bitte beachten Sie, dass diese Änderung zu größeren Slpks führt.

Die vorherige Implementierung konnte nur OSGB-Daten aus Context Capture unterstützen. Wir sind jetzt in der Lage, mehr Varianten von OSGB-Daten aus einer Vielzahl von Drittanbieter-Software zu verarbeiten. Wir haben auch das Tool-Messaging verbessert. Das Tool meldet beispielsweise falsche Dateiverweise in den OSGB-Dateien.

Unterstützung für benutzerdefinierte Koordinatensysteme

Alle Werkzeuge zum Erstellen von Szenen-Layer-Paketen unterstützen jetzt benutzerdefinierte Koordinatensysteme. Im Parameter Ausgabekoordinatensystem können Sie nun eine Projektionsdatei mit einem benutzerdefinierten Koordinatensystem auswählen. Der bekannte Text (WKT) wird in das Szenen-Layer-Paket geschrieben und Clients, die benutzerdefinierte Koordinatensysteme unterstützen (derzeit nur ArcGIS Pro), können diese Szenen-Layer verwenden. Eine Liste der unterstützten Lineareinheiten finden Sie in der I3S-Spezifikation.

Verbesserungen des Szenenebenenwerkzeugs vornehmen

Das Werkzeug Szenen-Layer erstellen unterstützt jetzt das Erstellen und Punktwolken-Szenen-Layer-Pakete und -Dienste. Das Werkzeug Szenen-Layer erstellen kann für die Verwendung in Python- und Modelbuilder-Workflows genutzt werden.

Unterstützung für bathymetrische attributierte Rasterdateien als Höhenquellen

ArcGIS Pro unterstützt jetzt das Hinzufügen von Bathymetric Attributed Grid (BAG)-Dateien als Höhenquellen. Das BAG-Format ist eine nicht-proprietäre gerasterte, mehrdimensionale bathymetrische Datendatei, die von der Open Navigation Surface Working Group entwickelt und von der NOAA häufig zur Kartierung des Meeresbodens und der Flussböden verwendet wird.

Unterstützung für Arcade-Ausdrücke

Szenen-Layer unterstützen jetzt Arcade-Ausdrücke in Symbologie und Beschriftung. Wenn der Szenen-Layer in ArcGIS Pro verwendet wird, können die Ausdrücke angezeigt, aber nicht geändert werden, da er mit dem Szenen-Layer zwischengespeichert wird.

Bei Fragen oder Problemen posten Sie bitte auf Geonet oder wenden Sie sich an unseren technischen Support. Wir freuen uns auf noch mehr Funktionen in der nächsten Version, also sehen Sie sich diesen Bereich an!


Abschluss

Die WordPress-Sicherheit umfasst eine Lernkurve, eine anfängliche Einrichtung, bei der Sie eine sichere Website konfigurieren, und dann laufende Wartungsaktivitäten, während Sie eine sichere Website pflegen. Wir hoffen, dass dieser Leitfaden Ihnen eine hervorragende Grundlage für Ihr WordPress-Sicherheitswissen liefert und Ihnen spezifische Anleitungen zur Konfiguration einer neuen sicheren WordPress-Website und zur Wartung dieser Website gegeben hat.

Wir überlassen Ihnen die drei grundlegenden Sicherheitsprinzipien:

  • Verfügbarkeit – Sie müssen sicherstellen, dass Ihre Website jederzeit verfügbar ist. Das bedeutet, dass Sie sicherstellen müssen, dass es leistungsfähig bleibt und Denial-of-Service-Angriffe abwehren kann.
  • Integrität – Sie müssen sicherstellen, dass Ihre Datenbank nicht beschädigt ist. Nur Ihre Publisher können Ihrer Website Inhalte hinzufügen und Ihre Websitedateien sind nicht beschädigt und enthalten keine Malware.
  • Vertraulichkeit – Sie müssen sicherstellen, dass Ihre privaten Daten, Ihr Quellcode sowie Ihre Benutzernamen und Passwörter vertraulich bleiben und für Hacker oder andere Personen, die keinen Zugriff haben sollten, zugänglich sind.

Die AIC-Triade (Verfügbarkeit, Integrität und Vertraulichkeit) ist eine großartige Möglichkeit, Ihre Sicherheitslage zu bewerten und Sie an Ihre Ziele zu erinnern. Viel Glück und bleiben Sie sicher!