Einfach die VirtualBox Gasterweiterungen installieren, dann passt sich die Größe sogar automatisch an.

...zur Antwort

Und wofür sollte das ein externes Gerät machen, wenn ein PC das selbst kann?

...zur Antwort

VS ist nun mal kein Python IDE, es hat nur eine Erweiterung und das merkt man. Wenn du aber schon C# kannst, hast du vermutlich schon viel Erfahrung mit VS, da würde es sich natürlich anbieten das weiter zu verwenden. Wenn ich daran aber irgendetwas signifikant stört, dann würde ich lieber früher als später wechseln.

Mit PyCharm würdest du auf jeden Fall nichts falsch machen, das ist eine extrem fortschrittliche Entwicklungsumgebung von dem renommiertesten IDE Herstellers. Mittlerweile spare ich es mir die Funktionen aufzuzählen (es sind schlichtweg zu viele), es hat im Prinzip alles was man braucht und fast alles was man gerne hätte. Falls letzteres mal nicht zutrifft sind die Entwickler sehr offen für Vorschläge. Letztendlich hat man auch den immensen Vorteil, dass JetBrains für die meisten sehr bekannten Sprachen mittlerweile IDEs parat hat, die alle von der Bedienung nahezu identisch sind.

...zur Antwort

Im Prinzip gilt das gleiche wie für die Unterschiede von Unis und FHs im Allgemeinen. Wenn du in die Forschung gehen willst, ist eine Uni besser geeignet und wenn du normal in der Wirtschaft arbeiten willst, ist eine FH besser. Des Weiteren sind FHs deutlich ähnlicher zu weiterführenden Schulen, da die Gruppen tendenziell deutlich kleiner sind und es deutlich mehr Betreuung gibt, bei Unis ist man mehr auf sich allein gestellt.

Ich hatte das "Glück" Informatik schon an beiden Hochschularten zu studieren und kann von daher etwas mehr dazu sagen.
An Unis ist der Studiengang sehr ähnlich zu einem Mathe Studium mit Schwerpunkt Informatik. Dementsprechend beschäftigt man sich im Informatik Teil auch zu einem großen Teil mit den Beweisen und nicht den Konzepten selbst. In einem Algorithmen Modul werden beispielsweise eine Reihe von Algorithmen auf Eigenschaften wie deren Laufzeit untersucht (mit Beweis natürlich).
An FHs ist der Mathe- und Beweisanteil deutlich kleiner, dafür geht es mehr um die praktische Anwendung. Dazu kommt dann auch ein Praxissemester (meist als Praktikum in einem Unternehmen) und viele Projektarbeiten, auch in Gruppen.
Mit den Informationen von Studenten anderer Hochschulen kann ich auch sagen, dass Informatik an Unis i.d.R. sehr stressig ist während es bei FHs deutlich entspannter zugeht.

Von Universitäten in Stuttgart im Plural zu sprechen ist sehr gewagt, die Universität Stuttgart bietet einen Informatik Studiengang an. Die Uni ist relativ groß aber ansonsten nicht wirklich außergewöhnlich. Die HfT (Hochschule für Technik, also eine FH) Stuttgart bietet auch Informatik an, ist aber ziemlich unbekannt (sogar sehr viele in der Umgebung kennen die nicht). Ein Student dort hat mir aber berichtet, dass der Informatik Studiengang dort relativ gut sein soll.

Ansonsten fallen mir zu dem Studiengang noch ein paar Hochschulen in BW ein:

  • KIT, hat extrem viele Informatik Studenten und ist durch die Forschung dort sehr bekannt (dementsprechend sehr weit oben in Rankings)
  • Universität Ulm
  • Universität Tübingen
  • Hochschule Karlsruhe und Hochschule Furtwangen (beide auch in den Rankings sehr weit oben)
  • Hochschule Mannheim

An vielen anderen Hochschulen wie der Hs Heilbronn, Hs Esslingen, Hs Pforzheim, Hs Reutlingen gibt es auch verwandte Studiengänge wie Software Engineering, Technische Informatik und Wirtschaftsinformatik.

...zur Antwort

Also ein Discord Klon mit weniger Funktionen und Werbung? Das wird noch erfolgloser sein als Discord. Wenn man das ganze sicher und modern machen will, ist das ein ziemlicher Aufwand, das lohnt sich nicht.

Nebenbei, wenn du denkst ein Klassenchat wäre unübersichtlich, in meinem Studiengang gab es einen allg. Chat mit 500 Mitgliedern (ca. 1000-2000 Nachrichten pro Tag), das war unübersichtlich. Es hat sogar jemand eine Brücke zu Telegram aufgesetzt, weil WhatsApp nur 257 Teilnehmer zulässt und trotzdem viele das verwenden wollten.

...zur Antwort

Da gibt es genug Möglichkeiten, z.B.

  • Alle Kombinationen ausprobieren oder die richtige Kombination erfühlen (das geht bei vielen Kombinationsschlössern sehr leicht)
  • Bolzenschneider
  • Metallsäge
  • Winkelschleifer
...zur Antwort

Hinter den if Statements ist ein Semikolon, dementsprechend werden diese ignoriert. Am besten verwendet man bei if Statements immer die geschweiften Klammern.

...zur Antwort

Bei javac gibt man den Pfad zur Datei an und bei java den qualifizierten Klassenname. Dementsprechend wäre das für die Klasse Main im Packet main:

javac .\main\Main.java
java main.Main

Nach dem was ich hier lese wechselst du aber ständig die Programmiersprache. Das ist als Programmieranfänger alles andere als sinnvoll. Was genau willst du denn programmieren? Und hast du sonst noch Anforderungen?

...zur Antwort

Wie stark komprimiert werden kann, hängt primär von der Datei ab. Man kann mit entsprechenden Kompressionsalgorithmen noch etwas mehr rausholen, aber viel geht da auch nicht.

Ich kann dir auch ein paar Petabytes in eine Zip mit ein paar Kilobytes packen, der Inhalt ist dann aber relativ nutzlos.

...zur Antwort

JavaScript einbinden ist leicht mit dem script-Tag (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script), in dem Fall solltest du den Tag an das Ende des bodys packen.

Wie man ein Fullscreen Element mit der JavaScript API macht, ist hier erklärt: https://developer.mozilla.org/de/docs/Web/API/Vollbild_API

Das funktioniert in aktuellen Chrome, Firefox und Edge Versionen. Wenn du andere Webbrowser wie Safari auch noch abdecken willst muss man das ganze mit Vendor Präfixen machen, ein komplettes Beispiel dafür ist hier: https://www.w3schools.com/howto/howto_js_fullscreen.asp

...zur Antwort

Du willst also dynamische Typen in deiner SQL Datenbanken speichern? Das ist immer eine spaßige Angelegenheit.

Einfache Möglichkeit wäre, einfach in die "Resource" Klasse alle möglichen Attribute angeben, und die dann "null" in der Datenbank stehen lassen.
Gibts da was einfacheres?

Nun, nicht unbedingt einfacher. Das Problem ist, dass du dich hier bezüglich der Attribute einschränkst, denn du kannst nur vordefinierte Attribute verwenden.

Eine einfache dynamische Lösung wäre beispielsweise:

  • Ressource: id, Typ (foreign key zu Typ), Werte (Text, der ein JSON Objekt enthält)
  • Typ: id, Name, Attribute (Text, der ein JSON Array von Attributen enthält [mit Name und Typ des Attributs])

Das entspricht nicht ganz dem Konzept einer relationalen Datenbank, aber das ist hier auch etwas schwer. Wenn man das ganze sehr ausgefeilt machen will, geht es auch so:

  • Ressource: id, Typ (foreign key zu Typ)
  • Typ: id, Name
  • Attribut: id, Name, Attributtyp, Many-to-many Relation zu Typ (dafür braucht man eine zusätzliche Tabelle, am besten nimmt man dafür ein ORM System mit so einer Funktion)
  • Wert: id, Resource (foreign key), Attribut (foreign key), Wert (Text, darin kann man eig. alles speichern), Unique index auf (Ressource, Attribut)

Noch eine Möglichkeit wäre, pro Ressource automatisch eine Tabelle zu erstellen.

...zur Antwort

Nicht immer, aber z.B. wegen Computersabotage:

(1) Wer eine Datenverarbeitung, die für einen anderen von wesentlicher Bedeutung ist, dadurch erheblich stört, dass er
[...]
2. Daten (§ 202a Abs. 2) in der Absicht, einem anderen Nachteil zuzufügen, eingibt oder übermittelt oder

Das wird aber sowieso nicht passieren, jeder vernünftige SMTP Server läuft mit einer Anti-Spam-Software und die dreht nach spätestens 10 E-Mails den Hahn ab.

...zur Antwort

Der Minecraft Code ist eher eine kleine Katastrophe. An sehr vielen Stellen sind grundlegende Prinzipien der Objektorientierung verletzt und die Strukturierung ist auch nicht gerade sinnvoll. Allgemein wurden viele Dinge sehr eigenartig und umständlich gelöst.

Von Effizienz kann nicht wirklich die Rede sein, die Rendering Techniken waren beispielsweise schon zu Beginn des Spiels veraltet und wurden bis heute nicht ausgebessert. Es wurde mal vor einer Weile eine neue Rendering Engine versprochen, die ist aber nur eine neue Verpackung der alten Engine. An vielen Stellen werden auch unnötig viele kurzlebige Objekte erstellt. Das steckt die JVM zwar vergleichsweise gut weg, es beeinträchtigt die Geschwindigkeit aber dennoch signifikant.

...zur Antwort

Der Atom Editor verwendet JavaScript (HTML/CSS für das Design). Das ganze resultiert aber auch darin, dass Atom langsam und aufgebläht ist.

Die Sprache ist für das Aussehen völlig irrelevant. JavaFX kann man beispielsweise auch nach Belieben mit CSS anpassen oder man schreibt sogar ganz eigene Elemente.

...zur Antwort

Bei kostenlosen Anbietern bekommst du keine gute CPU-Leistung, das wäre zu teuer für den Anbieter. Ich könnte den Server auch bei mir hosten, mein Rootserver ist bei weitem nicht voll ausgelastet.

...zur Antwort

Java ist vor allem Enterprise Software gefragt, Gründe (v.a. gegenüber dem auch genannten Python) dafür sind:

  • Java ist auf Stabilität ausgelegt und läuft extrem zuverlässig
  • Bei der Entwicklung wird sehr darauf geachtet, dass alter Code noch funktioniert (Veränderungen wie bei Python 2 zu 3 wären bei Java undenkbar)
  • Die Sprache ist so gestaltet, dass möglichst gut wartbare und erweiterbare Software entwickelt wird, die auch über Jahrzehnte noch leicht gepflegt werden kann. Python ist dagegen auf Rapid Development ausgelegt, worunter die Wartbarkeit von Code stark leidet.
  • Mit keiner anderen Sprache bekommt man so portable Software
  • Von den Laufzeitumgebungen sind Hotspot (Java) und CLR (C#) eindeutig die schnellsten, CPython ist dagegen furchtbar langsam
  • Es gibt es ein riesiges Ökosystem von sehr guten Bibliotheken
  • Java wird fast überall eingesetzt und deswegen lässt es sich auch fast überall gut einsetzen. Bei der GUI-Programmierung wird es mit Python zum Beispiel schwierig, denn da gibt keine guten Bibliotheken.
...zur Antwort

Die meisten Laptops haben in normalen Anwendungsfällen eine eher schlechte Akkulaufzeit. 37 Wh sind halt wirklich nicht viel für einen Akku. Das einzige was man da machen kann ist sparen, z.B. indem man:

  • Peripherie abschaltet (WLAN, Mobilfunk, Bluetooth, USB, etc.)
  • Die Displayhelligkeit verringert
  • Unnötige Hintergrunddienste schließt (am besten direkt aus dem Autostart nehmen)
  • Effiziente Anwendungen verwendet (vor allem zwischen nativen Anwendungen und verpackten Webapps gibt es große Diskrepanzen)
  • Keine Antivirensoftware verwendet (selbst der Windows Defender braucht noch viel Leistung und wenn man einigermaßen kompetent ist benötigt man den Schutz nicht wirklich)

Wenn dir das trotzdem nicht reicht solltest du eben beim Kauf nächstes mal besser aufpassen. Mein ThinkPad hat zwei Akkus mit insgesamt ca. 120 Wh (-> bis zu 17 Stunden Laufzeit wenn man sparsam ist) und den externen Akku kann man sogar im Betrieb wechseln.

...zur Antwort

Das Passwort kann man mit der E-Mail oder der Telefonnummer zurücksetzen. Falls du das auch nicht hast, ist der Account weg. Wäre vielleicht Mal sinnvoll sich die Daten zu merken, einen Passwort Manager zu verwenden oder Dienste gar nicht zu verwenden.

...zur Antwort

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/InventoryClickEvent.html#getClickedInventory--

Der Rückgabewert kann null sein, wenn man außerhalb des Inventars klickt, diesen Fall musst du behandeln.

Außerdem ist Inventory.getTitle() veraltet. Du solltest InventoryEvent.getView().getTitle() verwenden. Hier besteht auch nicht das Problem mit einem null-Rückgabewert.

...zur Antwort