In Java werden Enums in Datenbanken typischerweise entweder durch ihre ordinalen Werte oder ihre Namen (Strings) gespeichert.
Dieser Ansatz ist zwar einfach, aber nicht immer ideal. Enum-Namen sind direkt an den Anwendungscode gebunden und können sich ändern, während ordinale Werte noch problematischer sind – eine Änderung der Enum-Reihenfolge kann die Datenkonsistenz gefährden.
Ein flexiblerer und datenbankfreundlicherer Ansatz ist erforderlich, insbesondere wenn man mit Konstanten arbeitet,
die nicht den Java-Enum-Konventionen entsprechen, oder wenn man die Datenbankstruktur von der internen Anwendungslogik entkoppeln möchte.
Am Beispiel des Carnot-Prozesses soll das Verhalten der freien und der gebundenen Energie während eines Umlaufs diskutiert werden. Dies soll die Bedeutung dieser thermodynamischen Potentiale besser verständlich machen; speziell ob und wie sie als Arbeitsfähigkeit beziehungsweise Wärmeinhalt eines Systems interpretiert werden können.
Ein raffinierter Phishing-Angriff, der gezielt Google-Konten ins Visier nimmt, wurde aufgedeckt. Die Angreifer machten sich dabei den offiziellen URL-Shortcut von Google, g.co, zunutze, um ihre Opfer zu täuschen.
Besonders bemerkenswert ist, dass dieser Angriff selbst technisch versierte Nutzer beinahe überlistete.
Mit einem vielschichtigen Ansatz gelang es den Tätern, das Vertrauen in die Marke und Infrastruktur von Google gezielt zu missbrauchen.
Kürzlich teilte ein junger Hacker, bekannt als "Daniel", detaillierte Informationen über einen vermeintlichen "Deanonymisierung Angriff" auf Cloudflare – ein bekanntes Content Delivery Network (CDN) – und stellte Fragen zur Sicherheit der Nutzer und zum Datenschutz auf.
Python-Listen sind eine der zentralen Datenstrukturen in der Programmiersprache Python.
Sie ermöglichen das Speichern und Organisieren unterschiedlichster Datentypen, darunter Zahlen, Zeichenketten und komplexe Objekte.
Mit ihrer einfachen Syntax und den zahlreichen integrierten Funktionen bieten Listen vielseitige Werkzeuge zur Datenverarbeitung.
Dieser Artikel behandelt die Grundlagen der Arbeit mit Listen, einschließlich ihrer Erstellung und der Zugriffsmöglichkeiten,
und geht anschließend auf fortgeschrittene Techniken wie das Slicen und Kombinieren von Listen ein.
Mit dem Aufstieg von künstlicher Intelligenz und Automatisierung überdenken Unternehmen,
wie sie die neuen Entwicklungen in existierende Geschäftsprozesse integrieren.
Inmitten dieser Transformation hat ein Startup entschieden, einen radikalen Schritt nach vorne zu machen: Artisan.
Tuples gehören in Python zu den wichtigsten Datenstrukturen und finden überall Anwendung, von kleinen bis zu sehr komplexen Projekten.
Sie dienen dazu, mehrere Werte in einer einzigen Variablen zu gruppieren, ähnlich wie Listen.
In diesem Artikel werden wir uns eingehend mit der Syntax, den grundlegenden Funktionen und Operationen
sowie den Einsatzmöglichkeiten von Tupeln beschäftigen.
Werden die Verbraucher eines Mehrphasensystems zu einem Ring verkettet, so spricht man im Fall des Dreiphasensystems von der Dreieckschaltung. Diskutiert werden der Aufbau der symmetrischen Dreieckschaltung, die Zusammenhänge zwischen Außenleiterspannung und Strangspannung beziehungsweise Außenleiterstrom und Strangstrom sowie die Berechnung der Leistungen (Wirkleistung, Blindleistung, Scheinleistung).
Ein Generator mit gegeneinander verdrehten Wicklungen erzeugt phasenverschobene Spannungen. Diese Spannungen können auf verschiedene Arten eingesetzt werden, um Verbraucher zu versorgen. Eine Möglichkeit besteht darin, sowohl die Spannungsquellen als auch die Verbraucher zu verketten und sie in je einem Sternpunkt zusammenzuführen; die beiden Sternpunkte werden dann leitend miteinander verbunden. Es entsteht die Sternschaltung, die in der Technik mit drei Phasen eingesetzt wird. Die symmetrische Sternschaltung wird entwickelt und die relevanten Leistungen werden berechnet.
Die Funktion contour() ermöglicht es die Höhenlinien einer reellwertigen Funktion darzustellen, die auf einem zweidimensionalen Gebiet definiert ist. Die Höhenlinien geben manchmal den Graphen besser wieder als eine perspektivische dreidimensionale Darstellung wie sie etwa mit persp() erzeugt werden kann. An einfachen Beispielen werden die Eingabewerte von contour() erläutert.
Pünktlich zu Halloween, wenn Geistergeschichten und gruselige Legenden Hochkonjunktur haben, lohnt es sich, auch in der digitalen Welt nach verborgenen Geheimnissen zu suchen. Der Kauf einer Domain ist oft ein aufregender Schritt auf dem Weg zur eigenen Website, doch was, wenn diese Domain eine düstere Vergangenheit hat? Manche Domains tragen nämlich mehr als nur ihren Namen – sie bringen eine Geschichte voller Spam, Blacklistings oder sogar rechtlicher Probleme mit sich, die wie unsichtbare Geister die neue Website heimsuchen könnten.
Primitive Datentypen sind die Grundlage für Datenverarbeitung und -speicherung in Java, da sie einfache Werte effizient und ohne den Overhead von Objekten speichern. Dieser Artikel bietet eine Einführung in die grundlegenden Eigenschaften jedes primitiven Datentyps und erläutert Speicherbedarf sowie Wertebereiche.
Das Mono-Projekt hat überraschend die Verwaltung an WineHQ übergeben, was eine wichtige Phase im .NET-Ökosystem abschließt. Dieser Schritt hat Diskussionen über Monos Erbe und zukünftige Entwicklung angestoßen.
Bereit für das ultimative Textabenteuer? Mit Vim-Racer.com kannst du nicht nur deine Navigationskünste in Vim auf die Probe stellen, sondern dich auch in einem rasanten Wettkampf gegen andere Entwickler beweisen. Schalte den Turbo ein, fliege durch den Code und zeige, dass du der Schnellste auf der Tastatur bist – alles ganz ohne Fingerkrämpfe oder Emacs-Verirrungen!
In diesem Artikel werden wir vier verschiedene Methoden zur Listenfilterung in Python untersuchen: Iteration, die filter-Funktion, List Comprehension und die itertools-Bibliothek. Jede Methode hat ihre eigenen Stärken und Schwächen, wodurch sie für unterschiedliche Szenarien und Anwendungsfälle geeignet sind.
Convolutional Neural Networks (CNNs) sind eine der grundlegendsten und leistungsstärksten Methoden in der modernen Computer Vision. Sie ermöglichen es Computern, spezifische Objekte in zweidimensionalen Bildern zu erkennen und haben Anwendungen in Bereichen wie Bildklassifizierung, Objekterkennung und Gesichtserkennung revolutioniert. In diesem Artikel werden wir die grundlegenden Konzepte eines CNNs kennenlernen und anhand eines einfachen Beispiels demonstrieren, wie man ein eigenes CNN erstellen kann.
Es werden zwei Zugänge gezeigt, wie man die relative Entropie motivieren kann: Entweder als Verallgemeinerung der gegenseitigen Information oder indem man die Überlegungen Boltzmanns zur Definition der Entropie in dem Sinn verallgemeinert, dass man die Voraussetzung der Gleichwahrscheinlichkeit der Mikrozustände aufgibt. Die Bedeutung der relativen Entropie als einer Größe, die quantifiziert, wie unterschiedlich zwei Wahrscheinlichkeitsverteilungen sind, wird durch den zweiten Zugang besser verständlich.
Ludwig Boltzmann gab eine mikroskopische Erklärung für die thermodynamische Entropie, die nach dem zweiten Hauptsatz der Thermodynamik niemals abnehmen kann. Diese Überlegungen werden verwendet, um zu motivieren, wie die Entropie der Wahrscheinlichkeitstheorie definiert wird, die die Ungewissheit über den Wert einer Zufallsvariable quantifizieren soll.
Die Entropie einer Zufallsvariable, die gemeinsame Entropie zweier Zufallsvariablen und die gegenseitige Information werden am Beispiel der Wartezeitprobleme beim Ziehen ohne Zurücklegen veranschaulicht. Dazu werden als Zufallsvariablen die Wartezeit bis zum ersten Treffer und die Wartezeit vom ersten bis zum zweiten Treffer verwendet.
YAML ("YAML Ain't Markup Language", mißverständlich auch "yet another markup language") ist eine Datenformatsprache, die in einer Vielzahl von Anwendungen eingesetzt wird, darunter die Konfiguration von Continuous Integration / Continuous Deployment (CI/CD) Pipelines, Docker- und Kubernetes-Konfigurationen sowie andere Softwareanwendungen. In diesem Artikel zeigen wir die Verwendung von SnakeYAML mit Java, einer leistungsstarken Bibliothek, die das Laden von YAML-Dateien als Map oder direkt in benutzerdefinierte Typen (POJOs) ermöglicht.
Überträgt man den Begriff der Entropie einer Zufallsvariable auf die Wahrscheinlichkeitsverteilungen von zwei Zufallsvariablen, so ist es naheliegend die gemeinsame Entropie und die bedingte Entropie einzuführen, die über die Kettenregel miteinander verknüpft sind. Diese wiederum motiviert die Einführung einer neuen Größe, der gegenseitigen Information zweier Zufallsvariablen. Sie ist symmetrisch in den beiden Zufallsvariablen und beschreibt die Information, die in einer Zufallsvariable über die andere Zufallsvariable enthalten ist. An einfachen Beispielen wird die Definition der gegenseitigen Information motiviert und veranschaulicht.
Die Entropie wurde eingeführt als ein Maß für die Ungewissheit über den Ausgang eines Zufallsexperimentes. Entsprechend kann man eine bedingte Entropie definieren, wenn man die bedingten Wahrscheinlichkeiten verwendet, wobei man als Bedingung entweder ein Ereignis oder eine Zufallsvariable zulässt. Die Definition der bedingten Entropie und ihr Zusammenhang mit der gemeinsamen Entropie zweier Zufallsvariablen (Kettenregel) wird an einfachen Beispielen erläutert.
Akzeptiert man die Entropie als eine Kenngröße einer Wahrscheinlichkeitsverteilung, die die Ungewissheit über den Ausgang eines Zufallsexperimentes beschreibt, so wird man fordern, dass sich bei unabhängigen Zufallsexperimenten die Entropien addieren.
Um diese Aussage schärfer formulieren zu können, wird die gemeinsame Entropie H(X, Y) von zwei Zufallsvariablen eingeführt.
Es wird gezeigt, dass die übliche Definition der Entropie die Additivitätseigenschaft bei unabhängigen Zufallsvariablen X und Y besitzt.
Am Beispiel der isochoren Erwärmung werden die Eigenschaften der freien Energie F = U - TS und der gebundenen Energie G = TS erläutert. Speziell wird gezeigt, wie man ihre Veränderung darstellen kann, wenn man vom US-Diagramm zum TS-Diagramm übergeht.
Die Funktionen substr() und substring() werden eingesetzt, um aus einem String einen Substring zu extrahieren. Dazu müssen die Indizes angegeben werden, wo sich der Substring befindet. In der replacement-Version kann der Substring verändert werden, der Rest des Strings bleibt unverändert. Da die Funktionen vektorisiert sind, kann anstelle einer einzigen Zeichenkette auch ein Vektor von Zeichenketten verarbeitet werden.
Docker-Volumes spielen in Containeranwendungen eine entscheidende Rolle. Sie bieten einen Mechanismus zum Speichern, Verwalten und Zugreifen auf Daten innerhalb von Containern sowie zwischen Containern und dem Host-Computer. Docker-Volumes sind wichtig, um Daten über den Lebenszyklus eines Containers hinaus beizubehalten, Daten zwischen Containern auszutauschen und die Datenintegrität in zustandsbehafteten Anwendungen sicherzustellen.
Unity, ein Unternehmen für Spiele-Engines, hat kürzlich eine Änderung des Lizenzmodells angekündigt, die erhebliche Auswirkungen auf betroffenen Games-Studios haben könnte. Die Reaktionen auf diese Ankündigung fallen eindeutig aus.
In diesem Tutorial werden wir uns mit den Grundlagen von Kubernetes beschäftigen und mit K3D eine einfache Spring Boot Anwendung in einem lokalen Kubernetes-Cluster implementieren. In einem kleinen Glossar haben wir auch einige grundlegende Konzepte im Zusammenhang mit Containerisierung und Kubernetes gesammelt, wie Pods, Services oder Deployments. Es werden grundlegende Kenntnisse in Docker und Java/Maven vorausgesetzt.
Die Funktion paste() dient ähnlich wie die Funktion paste0() dazu, mehrere Vektoren in Zeichenketten zu verwandeln, die entsprechenden Komponenten zusammenzufügen (1.Schritt) und diese zu einer einzigen Zeichenkette zusammenzusetzen (2. Schritt). In beiden Schritten kann eine Zeichenkette als Trennungszeichen eingefügt werden (die Argumente sep beziehungsweise collapse). Die Funktion paste0() besitzt kein Argument sep; für Aufgaben, die sich auch mit paste0() erledigen lassen, können dadurch mit paste() einfachere Quelltexte geschrieben werden. Beispiele und Spezialfälle werden erläutert.
Die Funktion paste0() verknüpft entsprechende Komponenten von mehreren Vektoren; die Komponenten werden dazu in Zeichenketten verwandelt. Wird das Argument collapse nicht gesetzt, wird dieser Vektor von Zeichenketten zurückgegeben. Wird das Argument collapse gesetzt (es muss eine Zeichenkette sein), werden die Komponenten zu einer einzigen Zeichenkette zusammengefügt, wobei das Argument collapse als Trennungszeichen eingefügt wird. Typische Anwendungen und Spezialfälle werden erläutert.