Mit seiner eigenen Sprache und Fachsprache kann die Programmierung für einen Neuling völlig überwältigend und verwirrend erscheinen. Nun, Programmierer haben nicht nur ihre eigene Sprache, sie verwenden auch mehrere Sprachen, jede mit ihrem eigenen Vokabular und ihrer eigenen Grammatik. Die grundlegendste Definition einer Programmiersprache ist eine formale Sprache mit eigener Syntax und Semantik, mit der Anweisungen an eine Maschine (in diesem Fall einen Computer) übermittelt werden. Zu den beliebtesten Sprachen, mit denen Programmierer kommunizieren, gehören sowohl ältere Sprachen wie C als auch neuere Sprachen wie Ruby. Hier finden Sie eine allgemeine Übersicht über einige der am häufigsten verwendeten Sprachen:

Software-Sprachen

C.

Ursprünglich in den frühen 70er Jahren entwickelt, ist die Programmiersprache C eine beliebte Allzwecksprache, die Listen mit Anweisungen erstellt, denen ein Computer folgen kann. Viele spätere Sprachen wie C ++ und Java wurden von C ausgeliehen. C wurde als Umschreibung der B-Sprache erstellt und war an das Betriebssystem des UNIX-Computers gebunden. Heute ist es ein wesentlicher Bestandteil des Dialekts eines jeden Programmierers.

C ++

C ++ ist eine weiterentwickelte Version der Programmiersprache C. Sie sind sowohl generische als auch imperative Sprachen. Ursprünglich vom Entwickler Bjarne Stroustrup C mit Klassen genannt, fügt C ++ C objektorientierte Funktionen hinzu. Es ist eine der am häufigsten verwendeten Programmiersprachen aller Zeiten, und seine Kenntnisse werden häufig von Software- und IT-Fachleuten gefordert. Diese Sprache ist von der Internationalen Organisation für Normung (ISO) standardisiert.

C #

Eine weitere C-bezogene Sprache ist das allseits beliebte C # (ausgesprochen scharf). Von Microsoft entwickelt, ist dies bei weitem eine der häufigsten Sprachen, die von Softwareentwicklern gelernt werden. Es ist auch eine der neuesten Hybridsprachen, die von C inspiriert wurden. Es wird am häufigsten zur Entwicklung von Webanwendungen verwendet und weist einige Ähnlichkeiten mit Java auf.

Visual Basic

Visual Basic bezieht sich auf eine ursprünglich von Microsoft entwickelte Programmiersprache, die häufig mit einer entsprechenden grafischen Programmierumgebung verwendet wurde. Diese etwas unkonventionelle Sprache wurde 1990 eingeführt, ebnete jedoch den Weg für eine visuellere Verwendung von Programmiersprachen. Visual Basic wurde erstellt, um die Programmierung für alle zu vereinfachen.

Java

Java ist eine Programmiersprache, die in der Tradition von C und C ++ entwickelt wurde, aber mit einer anderen Hoffnung im Sinn: „Einmal schreiben, überall ausführen.“ Es ist eine plattformunabhängige Sprache, sodass Programme auf vielen verschiedenen Computertypen ausgeführt werden können. Ein weiteres Merkmal, das Java auszeichnet, ist die API, eine Bibliothek mit Tausenden von Klassen. Die Sprache von Java ist eine vereinfachte Version von C ++, aber die enorme API erschwert manchmal das Erlernen der Sprache. Trotzdem ist es eine bekannte Sprache für Softwareentwickler und IT-Profis.

Python

Python ist eine auf hoher Ebene interpretierte Sprache, die im Hinblick auf Einfachheit und Lesbarkeit erstellt wurde. Die Syntax soll leicht zu erlernen und zu verstehen sein, damit Unternehmen die Produktivität steigern können. Es ähnelt stark der englischen Sprache, mit gebräuchlichen Wörtern wie „nicht“, „Liste“ oder „wenn“. Hier ist eine lustige Tatsache: Es wurde nach der erfolgreichen Fernsehsendung Monty Python benannt.

Rubin

Ruby ist eine der jüngeren Programmiersprachen (obwohl immer noch über 20 Jahre alt) und eine dynamische Programmiersprache, die ursprünglich in Japan entwickelt wurde. Wie Python wurde Ruby entwickelt, um die Produktivität zu steigern. Es wurde auch mit der Absicht erstellt, Spaß zu machen!

Web-Sprachen

XML

XML oder Extensible Markup Language ist eine Markup-Sprache, die sowohl von Menschen als auch von Maschinen gelesen werden kann. Es ist eine flexible Sprache zur Beschreibung von Daten. XML-Dokumente werden sowohl im Internet als auch in Unternehmensnetzwerken verwendet. Wie bei HTML werden Tags verwendet.

HTML

HTML ist eine Sprache zum Erstellen von Webseiten im Internet. Es steht für HyperText Markup Language und wird mit Tags in Klammern geschrieben. Diese Sprache stellt die Bausteine ​​von Websites dar und kann zusammen mit anderen Sprachen wie CSS oder Cascading Style Sheets verwendet werden. Ohne diesen Code würden Websites nicht so angezeigt, wie sie es tun.

JavaScript

Moderne HTML-Seiten verwenden häufig auch JavaScript. JavaScript ist eine Skriptsprache, mit der Websites dynamischer und interaktiver gestaltet werden. Die Sprache wird häufig in HTML-Dokumenten platziert. Im Gegensatz zu Java erstellt JavaScript keine eigenständigen Anwendungen, sondern läuft in Browsern.

VBScript

VBScript (Visual Basic Scripting Edition) ist eine von Microsoft entwickelte Server-Skriptsprache, die Visual Basic nachempfunden ist. Es ähnelt JavaScript und unterscheidet sich auch in wesentlichen Punkten. Es wird verwendet, um Webseiten dynamischer zu gestalten, und ist die Standardsprache in ASP (Active Server Pages).

Was sind die Vor- und Nachteile einer bestimmten Programmiersprache? Ist X eine gute Sprache für meine Aufgabe? Wenn Sie die „beste Programmiersprache“ googeln, erhalten Sie eine Standardliste mit „Python, Java, JavaScript, C #, C ++, PHP“ und einer vagen Liste mit Vor- und Nachteilen. Wenn ich solche Artikel sehe, erschrecke ich – ihre Autoren müssen geradezu faul, unerfahren und ohne Vorstellungskraft gewesen sein. Lassen Sie uns tief eintauchen und herausfinden, was wirklich scheiße ist – und was nicht.

In diesem Artikel werde ich versuchen, einen objektiven und hoffentlich unvoreingenommenen Überblick über beliebte (und nicht so beliebte) moderne Programmiersprachen zu geben, die vom schlechtesten zum besten bewertet werden.

Denken Sie daran, es gibt keine perfekte Programmiersprache. Einige eignen sich am besten für die Back-End- / API-Entwicklung, andere eignen sich hervorragend für die Systemprogrammierung.

Ich werde zwei der häufigsten Sprachfamilien der Welt behandeln: Sprachen, die von C abstammen , und Sprachen, die von ML abstammen .

Programmiersprachen sind nur Werkzeuge in der Toolbox eines Entwicklers. Es ist wichtig, das richtige Werkzeug für den Job auszuwählen. Ich hoffe sehr, dass dieser Leitfaden Ihnen bei der Auswahl der für Ihre Aufgabe am besten geeigneten Programmiersprache hilft. Wenn Sie die richtige Wahl treffen, sparen Sie möglicherweise Monate (oder sogar Jahre) Entwicklungsaufwand.

Dieses KI-Tutorial für Anfänger dient zum Erlernen der Grundlagen der künstlichen Intelligenz. In diesem Tutorial für künstliche Intelligenz für Anfänger lernen Sie verschiedene Grundlagen der künstlichen Intelligenz kennen, z. B. KI, Geschichte der KI, Arten der KI, Anwendungen der KI und weitere Konzepte zur KI.

Was ist KI?

KI (Künstliche Intelligenz) ist die Fähigkeit einer Maschine, kognitive Funktionen wie Menschen auszuführen, wie z. B. Wahrnehmen, Lernen, Denken und Lösen von Problemen. Der Maßstab für KI ist die menschliche Ebene in Bezug auf Argumentation, Sprache und Vision.

Einführung in AI Levels

  1. Schmale KI : Eine künstliche Intelligenz wird als schmal bezeichnet, wenn die Maschine eine bestimmte Aufgabe besser ausführen kann als ein Mensch. Die aktuelle Forschung der KI ist jetzt hier
  2. Allgemeine KI : Eine künstliche Intelligenz erreicht den allgemeinen Zustand, wenn sie jede intellektuelle Aufgabe mit der gleichen Genauigkeit ausführen kann wie ein Mensch
  3. Starke KI : Eine KI ist stark, wenn sie Menschen bei vielen Aufgaben schlagen kann

Heutzutage wird KI in fast allen Branchen eingesetzt, was allen Unternehmen, die KI in großem Maßstab integrieren, einen technologischen Vorsprung verschafft. Laut McKinsey hat AI das Potenzial, im Einzelhandel einen Wert von 600 Milliarden Dollar zu schaffen und im Bankgeschäft im Vergleich zu anderen Analysetechniken einen um 50 Prozent höheren Mehrwert zu erzielen. In den Bereichen Transport und Logistik liegt der potenzielle Umsatzsprung um 89 Prozent höher.

Wenn ein Unternehmen KI für sein Marketingteam verwendet, kann es konkret alltägliche und sich wiederholende Aufgaben automatisieren, sodass sich der Vertriebsmitarbeiter auf Aufgaben wie Beziehungsaufbau, Lead-Pflege usw. konzentrieren kann. Ein Firmenname Gong bietet einen Konversations-Intelligence-Service. Jedes Mal, wenn ein Vertriebsmitarbeiter einen Anruf tätigt, transkribiert und analysiert das Gerät den Chat. Der VP kann AI-Analysen und Empfehlungen verwenden, um eine Gewinnstrategie zu formulieren.

Kurz gesagt, AI bietet eine Spitzentechnologie für den Umgang mit komplexen Daten, die von einem Menschen nicht verarbeitet werden können. AI automatisiert redundante Jobs, sodass sich ein Mitarbeiter auf die Aufgaben mit hohem Mehrwert konzentrieren kann. Wenn KI in großem Maßstab implementiert wird, führt dies zu Kostensenkung und Umsatzsteigerung.

Eine kurze Geschichte der künstlichen Intelligenz

Künstliche Intelligenz ist heute ein Schlagwort, obwohl dieser Begriff nicht neu ist. 1956 beschloss eine Gruppe von Avantgarde-Experten mit unterschiedlichem Hintergrund, ein Sommerforschungsprojekt über KI zu organisieren. Vier kluge Köpfe leiteten das Projekt; John McCarthy (Dartmouth College), Marvin Minsky (Harvard University), Nathaniel Rochester (IBM) und Claude Shannon (Bell Telephone Laboratories).

Der Hauptzweck des Forschungsprojekts bestand darin, „jeden Aspekt des Lernens oder jedes andere Merkmal der Intelligenz anzugehen, das im Prinzip so genau beschrieben werden kann, dass eine Maschine hergestellt werden kann, um es zu simulieren“.

Der Vorschlag der Gipfel enthalten

  1. Automatische Computer
  2. Wie kann ein Computer so programmiert werden, dass er eine Sprache verwendet?
  3. Neuronennetze
  4. Selbstverbesserung

Es entstand die Idee, dass intelligente Computer geschaffen werden können. Eine neue Ära begann voller Hoffnung – künstliche Intelligenz.

Art der künstlichen Intelligenz

Künstliche Intelligenz kann in drei Teilbereiche unterteilt werden:

  • Künstliche Intelligenz
  • Maschinelles Lernen
  • Tiefes Lernen

    Maschinelles Lernen

    Maschinelles Lernen ist die Kunst der s tudy von Algorithmen , die lernen aus Beispielen und Erfahrungen .

    Maschinelles Lernen basiert auf der Idee basiert , dass es existieren einige Muster in den Daten , die wurden identifiziert und verwendet für zukünftige Prognosen .

    Der Unterschied zu Hardcodierungsregeln besteht darin, dass die Maschine selbst lernt, solche Regeln zu finden.

    Tiefes Lernen

    Deep Learning ist ein Teilbereich des maschinellen Lernens. Tiefes Lernen bedeutet nicht, dass die Maschine tieferes Wissen lernt. Dies bedeutet, dass die Maschine verschiedene Ebenen verwendet, um aus den Daten zu lernen. Die Tiefe des Modells wird durch die Anzahl der Ebenen im Modell dargestellt. Das Google LeNet-Modell für die Bilderkennung zählt beispielsweise 22 Ebenen.

    Beim tiefen Lernen erfolgt die Lernphase über ein neuronales Netzwerk. Ein neuronales Netzwerk ist eine Architektur, bei der die Schichten übereinander gestapelt sind.

    KI vs. maschinelles Lernen

    Die meisten unserer Smartphones, täglichen Geräte oder sogar das Internet verwenden künstliche Intelligenz. Sehr oft werden KI und maschinelles Lernen von großen Unternehmen, die ihre neuesten Innovationen vorstellen möchten, synonym verwendet. Maschinelles Lernen und KI unterscheiden sich jedoch in einigen Punkten .

    KI – Künstliche Intelligenz – ist die Wissenschaft des Trainings von Maschinen zur Ausführung menschlicher Aufgaben. Der Begriff wurde in den 1950er Jahren erfunden, als Wissenschaftler begannen zu untersuchen, wie Computer Probleme selbst lösen können.

     

Was ist SQL Server-Leistungsoptimierung?

Die SQL Server-Leistungsoptimierung umfasst eine Reihe von Prozessen und Prozeduren, mit denen relationale Datenbankabfragen optimiert werden sollen, damit sie so effizient wie möglich ausgeführt werden können. Die SQL-Optimierung umfasst mehrere Elemente, darunter das Ermitteln von Verlangsamungen bei Abfragen und deren Optimierung für maximale Effizienz. Zahlreiche relationale Datenbanken – einschließlich MySQL und SQL Server – werden von der SQL-Optimierung profitieren.

Datenbankadministratoren können versuchen, Serverleistungsprobleme auf Systemebene zu beheben, indem sie normalerweise zusätzlichen Speicher und Prozessoren einbeziehen. Diese Maßnahmen sind jedoch teuer und können das Problem langsamer Abfragen möglicherweise nicht wirksam lösen. Mithilfe der SQL-Leistungsoptimierung können Sie schlecht geschriebene SQL-Abfragen und Instanzen ineffektiver Indizierung finden. Danach müssen Sie möglicherweise nicht mehr in die Verbesserung der Hardware oder der technischen Spezifikationen investieren.

Die Optimierung der SQL-Leistung kann schwierig sein, insbesondere wenn sie manuell durchgeführt wird. Selbst kleine Anpassungen können weitreichende Auswirkungen auf die Leistung von SQL Server und der Datenbank haben. Aus diesem Grund benötigen Sie effektive SQL Server-Tools zur Leistungsoptimierung.

Warum ist die Optimierung der SQL Server-Leistung wichtig?

Die meisten Unternehmen betrachten Speicher und Informationszugriff als Hauptfunktionen. Interne und externe Benutzer erwarten, dass Websites und Anwendungen schnell und effektiv funktionieren. Dies bedeutet, dass Server und Datenbanken so effizient wie möglich funktionieren müssen.

Eine Abfrageverzögerung von einigen Millisekunden scheint nicht viel zu sein, kann sich jedoch schnell summieren, wenn bei jeder Ihrer Datenbankabfragen eine ähnliche Verzögerung auftritt. Kombinieren Sie dies mit riesigen Mengen kontinuierlich generierter Daten, und das Abrufen von Informationen aus einer Datenbank kann zeitaufwändig werden. Wenn geschäftskritische Vorgänge langsam werden, wird dies wahrscheinlich die Funktionalität des gesamten Unternehmens beeinträchtigen.

Für eine erfolgreiche SQL-Optimierung müssen DBAs die SQL Server-Leistung auf dem neuesten Stand halten und sicherstellen, dass datenbankbezogene Prozesse reibungslos ablaufen.

SQL Server-Tools zur Leistungsoptimierung

Mithilfe von SQL Server-Tools zur Leistungsoptimierung können Benutzer die Leistung ihrer Indizes, Abfragen und Datenbanken verbessern. Sie enthalten Empfehlungen zu Indizes, die möglicherweise hinzugefügt, gelöscht oder geändert werden müssen, um Leistungsprobleme zu optimieren. SQL Server-Datentools überwachen die Leistung in Echtzeit und können Optimierungsempfänger enthalten, um Anleitungen zu Serverpartitionen und indizierten Ansichten bereitzustellen. Einige SQL Server-Tools zur Leistungsoptimierung generieren auch Statistiken zu den Schritten bei der Ausführung von Abfragen. Dies hilft bei der Identifizierung und Optimierung von Datenbank- und Serverleistungsproblemen.

SolarWinds Database Performance Analyzer wurde erstellt, um einen Großteil der Vermutungen zu beseitigen, die traditionell mit der SQL Server-Optimierung verbunden sind. Es bietet eine kontinuierliche Überwachung und kombiniert die Analyse der Antwortzeit mit der Analyse historischer Trends und Protokollen, um Leistungsbasislinien festzulegen. Mit DPA können Sie anomales Verhalten schnell erkennen. Dank der maschinellen Lernfunktionen des Tools wird es mit der Zeit intelligenter und intuitiver.

DPA enthält einen integrierten Ratgeber für die Tabellenoptimierung, mit dem Sie versteckte Optimierungsmöglichkeiten für SQL Server nutzen können. Das Tool informiert Sie über Ihre Optimierungsentscheidungen, indem es Abfragen analysiert und plant, Tabellen mit ineffizienten SQL-Abfragen zu identifizieren. Es verfügt über einen integrierten SQL-Leistungsanalysator, der Ihnen detaillierte Einblicke in ineffiziente SQL-Anweisungen bietet, die auf Tabellen zugreifen, wobei die Analyseergebnisse nach der relativen Arbeitslast geordnet sind.

Die DPA-Funktion zur Analyse der Abfrageleistung sammelt Schlüsseldaten zu einer Abfrage und zeigt sie in einer intuitiven und einfach zu interpretierenden Dashboard-Ansicht an. Dieses Dienstprogramm stellt Diagramme zusammen, sodass Sie erkannte Leistungsprobleme schnell und einfach beheben können. DPA bietet auch anpassbare Berichte und Warnungen, die Sie auf dem Laufenden halten und Ihnen Einblick in Blockhierarchien und die Auswirkungen von Blockierungen auf die Leistung bieten.

Strombedarf im Rechenzentrum

Die Ermittlung des Energiebedarfs ist eine der ersten Aufgaben, die ein Unternehmen durchführen muss, wenn es sich entscheidet, Anlagen in ein Rechenzentrum zu verlegen. Der Strombedarf der Geräte macht in der Regel einen beträchtlichen Teil der Colocation-Kosten aus, und der Einsatz von leistungsstarken Servern in Schränken mit hoher Dichte ist teurer als eine vergleichbare Anzahl von weniger beeindruckenden Einheiten. Unabhängig von der Art der verwendeten Server benötigen diese auch Stromverteilungseinheiten (PDUs), die in der Lage sind, die Stromstärke zu bewältigen, die sie im Betrieb ziehen.

Das elektrische System eines Rechenzentrums sollte ein gewisses Maß an Redundanz aufweisen, das unterbrechungsfreie Stromversorgungssysteme (USV) und einen Notstromgenerator umfasst, der genügend Megawatt Leistung bereitstellen kann, um den Betrieb der Einrichtung aufrechtzuerhalten, falls die Hauptstromversorgung für eine gewisse Zeit unterbrochen wird. Sollte der Strom jemals ausfallen, halten die USV-Systeme alle Computergeräte so lange in Betrieb, bis der Generator in Betrieb genommen werden kann. In vielen Fällen umfasst die Stromversorgungsinfrastruktur des Rechenzentrums mehr als eine Stromzufuhr, die in die Einrichtung führt, was zusätzliche Redundanz bietet.

Colocation-Einrichtungen haben auch klar definierte Stromspezifikationen, die angeben, wie viel Strom sie an jeden Schrank liefern können. Für High-Density-Implementierungen müssen Colocation-Kunden eine Rechenzentrumsinfrastruktur finden, die in der Lage ist, zwischen 10 und 20 kW Strom pro Schrank bereitzustellen. Während ein Unternehmen mit einem viel geringeren Strombedarf sich anfangs vielleicht nicht um diese Grenzen kümmert, sollte es immer im Hinterkopf behalten, dass sein Strombedarf im Laufe der Zeit steigen könnte, wenn es wächst. Die Skalierung des Betriebs innerhalb einer Rechenzentrumsumgebung mit einem entsprechenden Stromversorgungskonzept ist oft besser als die problematische Migration in eine völlig andere Einrichtung.

Wie werden Rechenzentren gekühlt?

Traditionelle Kühltechniken für Rechenzentren verwenden eine Kombination aus Doppelböden und Computerraum-Klimageräten (CRAC) oder Computerraum-Lüftungsgeräten (CRAH). Die CRAC/CRAH-Einheiten setzten den Raum unterhalb des Doppelbodens unter Druck und drückten kalte Luft durch die perforierten Fliesen in die Servereinlässe. Sobald die kalte Luft über die Serverkomponenten strömt und als heiße Abluft austritt, wird diese Luft zur Kühlung in die CRAC/CRAH-Einheiten zurückgeführt. In den meisten Rechenzentren wird die Rücklauftemperatur der CRAC/CRAH-Einheit als Hauptsteuerungspunkt für die gesamte Datenbodenumgebung festgelegt.

Das Problem bei diesem Einsatz ist, dass er ineffizient ist und eine fein abgestimmte Steuerung fehlt. Die kalte Luft wurde einfach in den Serverraum geleitet. Während dies für kleine Installationen mit geringer Dichte und niedrigem Energiebedarf gut genug war, funktionierte es für größere Datenräume mit höherer Dichte weniger gut. Aus diesem Grund haben die meisten Einrichtungen Strategien zur Eingrenzung von Warm- und Kaltgängen eingeführt, um die kühle Luft, die für die Ansaugung des Servers bestimmt ist, von der heißen Luft, die durch die Abluftöffnungen ausgestoßen wird, physisch zu trennen. Die Verhinderung der Vermischung dieser Luft führt zu gleichmäßigeren Temperaturen und maximiert die Effizienz, indem sichergestellt wird, dass die kalte Luft kalt bleibt und die warme Luft zu den Lüftungsanlagen geleitet wird, ohne die Temperatur der Umgebung zu erhöhen.

Moderne Rechenzentren nutzen eine Vielzahl innovativer Technologien zur Kühlung von Rechenzentren, um ideale und effiziente Betriebsbedingungen zu gewährleisten. Diese Lösungen reichen von einfachen Lüftern bis hin zu sehr viel komplexeren Wärmeübertragungstechnologien. Einige von ihnen nutzen sogar externe Quellen für kalte Luft oder Wasser, um eine wesentlich energieeffizientere Kühlung des Rechenzentrums zu ermöglichen.

Was ist der Unterschied zwischen CRAC- und CRAH-Geräten?

Eine Computer-Raumklimagerät (CRAC) unterscheidet sich nicht allzu sehr von einem herkömmlichen Klimagerät, das einen Kompressor verwendet, um Kältemittel kalt zu halten. Sie arbeiten, indem sie Luft über ein Kühlregister blasen, das mit Kältemittel gefüllt ist. Sie sind relativ ineffizient, laufen im Allgemeinen auf einem konstanten Niveau und ermöglichen keine präzise Steuerung der Kühlung.

Computer-Raumklimageräte (CRAHs) hingegen verwenden eine Kaltwasseranlage, die das Kühlregister mit kaltem Wasser versorgt. Die Luft wird gekühlt, wenn sie über dieses Register strömt. Das Grundprinzip ist ähnlich wie bei einem CRAC-Gerät, der große Unterschied ist jedoch das Fehlen eines Kompressors, was bedeutet, dass das CRAH insgesamt viel weniger Energie verbraucht.

Was ist die ideale Temperatur für ein Rechenzentrum?

Laut der American Society of Heating, Refrigerating, and Air Conditioning Engineers (ASHRAE) sollte die durchschnittliche Temperatur für Servereinlässe (d.h. die Luft, die in den Server gesaugt wird, um die inneren Komponenten zu kühlen) zwischen 18 und 27 Grad Celsius (oder 64,4 bis 80,6 Grad Fahrenheit) mit einer relativen Luftfeuchtigkeit zwischen 20 und 80 Prozent liegen. Dies ist jedoch eine recht große Bandbreite, und das Uptime Institute empfiehlt eine Obergrenze von 25 Grad Celsius.