"Lofoten" ist ein interessanter Spezialfall, weil es sich dabei um eine Einzahl mit bestimmtem Artikel handelt. Im Norwegischen (und verwandten Sprachen wie dem Dänischen) steht so ein Artikel nicht vor dem Nomen, sondern wird als Suffix angehängt: "Lofot" ist unbestimmt, "Lofoten" ist bestimmt.

Weil das aber in der deutschen Sprache so aussieht wie eine Mehrzahl, wird es im Deutschen - und nur dort! - auch so verwendet, wie man es von anderen Inselgruppen gewohnt ist ("die Balearen", "die Azoren" als Kurzformen von "die ...-ischen Inseln"). Im Englischen z.B. spricht man von "Lofoten" wie im Norwegischen als Einzahl und von "Lofoten islands", wenn man auf die Eigenschaft als mehrere Inseln verweisen will.

...zur Antwort

Selbstverständlich. Fürs Programmieren selbst braucht man natürlich kein Internet. Es mag dir unfassbar erscheinen, aber zumindest bis in die 1990er-Jahre war es ganz normal, nicht 24/7 am Netz zu hängen, und trotzdem wurde jede Menge Software entwickelt. Unter anderem Python selbst 😀

Fürs Nachschlagen von Dokumentation die du nicht lokal hast, Runterladen von zusätzlichen Libraries, Einchecken von Code in externen Gits etc. wäre das natürlich nötig. Wenigstens zeitweise.

...zur Antwort

Es gibt in Österreich keine "mittlere Reife" oder einen vergleichbaren Abschluss, sie ist daher auch nicht Voraussetzung für irgendwas.

Im besten Fall steigst du irgendwo in der der AHS-Oberstufe (Gymnasium) quer ein und machst regulär die Matura; für solche Fälle ist am ehesten ein BORG das Ziel. Das wird man im Einzelfall anschauen müssen, ob und in welcher Klasse es möglich ist - weil du deine Schulpflicht erfüllt hast ist keine Schule verpflichtet dich anzunehmen, ein großes Problem sollte es aber auch nicht sein.

Es gäbe dann noch die Alternative, die Matura oder zumindest die Studienberechtigungsprüfung (am ehesten mit der "fachgebundenen Hochschulreife" vergleichbar) außerhalb des regulären Schulsystems nachzuholen. Den Spaß musst du dir aber in der Regel zumindest teilweise selbst bezahlen.

https://www.bildungssystem.at

...zur Antwort

Wenn man nicht gleich auf Neo4J selbst arbeiten will, gibt es bei denen auch einige Optionen für Visualisierung aufgelistet:

https://neo4j.com/developer/tools-graph-visualization/#embed-lib-vis

Cytoscape z.B. kann ziemlich viel und ist universeller verwendbar, als es vielleicht aussieht.

...zur Antwort

Deine Logik ist natürlich sehr ineffizient, schaut aber erstmal richtig aus. Wenn die CSVs nicht allzu groß sind, musst du dir kein effizienteres Vorgehen ausdenken. (Es wäre trotzdem eine gute Übung...)

Was genau sind "csv1" und "csv2"? Deiner Logik nach sollten es wohl Listen von Listen sein, die jeweils die Felder der CSVs enthalten. Erste Dimension die Zeile, zweite Dimension das Feld.

Ist das wirklich so? Ich hätte sonst einen vagen Verdacht, dass du direkt ein "Reader Object" verwendest, also einen Iterator - und der wird nur ein einziges Mal drüberiterieren können.

Sind die Daten gesäubert wo nötig, d.h. musst du vielleicht .trim() verwenden, um unnötige Leerzeichen loszuwerden?

       if row[0] == line[0] and row[1] == line[1] and row[2] ==   line[2] and row[3] == line[3]:

Das ist nicht falsch, ginge aber auch einfacher - mit dem angenehmen Nebeneffekt, dass man sich weniger leicht vertippt:

 if row[:4] == line[:4]:
...zur Antwort

Du kannst beliebig viele JDKs parallel installieren und betreiben. Du musst dann halt ausdrücklich das gewünschte Java verwenden, nicht einfach das, was im PATH eingetragen ist.

https://adoptium.net/temurin/releases/?version=16

Ich weiß nicht welches Java ich genau hab

Das ist leicht rauszufinden:

java -version
...zur Antwort

Jein...aber eher nein.

Der M.D. ist ein "Berufsdoktorat", d.h. den bekommt man ohne besondere wissenschaftliche Arbeit fürs abgeschlossene Medizinstudium (ISCED 7). Wenn man in die Wissenschaft geht, wird man üblicherweise danach einen Ph.D. machen, was mehrjährige Forschungsarbeit bedeutet.

Der deutsche Dr. med. ist ein seltsames Zwitterwesen und eine Kuriosität. Formal gilt er als echtes Forschungsdoktorat (ISCED 8), aber die Mindestansprüche an die "Dissertation" sind so lächerlich, dass sie oft schon im Medizinstudium begonnen und dann nebenher vollendet wird, oft in weniger als einem Jahr. Das führt dazu, dass im Einzelfall geprüft werden muss ob der jeweilige Dr. med. mit einem echten Forschungsdoktorat (z.B. PhD) vergleichbar ist.

Ein wirkliches Äquivalent zum M.D. ist der österreichische Dr. med. univ. - das ist ein Berufsdoktorat, und zwar ganz offiziell ein Diplom- oder Mastergrad (für den immerhin auch eine Diplom- bzw. Masterarbeit zu schreiben ist). Sowas wird auch manchmal in Deutschland gefordert, eben wegen der seltsamen Situation mit dem Dr. med.

...zur Antwort

Es gibt Ausnahmefälle, aber mehr als ein paar 100 Threads werden rasch zu teuer (allein schon wegen der Stacks, die auf heutigen OS wenigstens ein paar MB fressen), und ich würde i.d.R. nicht mehr als dutzende Threads verwenden.

Soviele Threads macht man ja nicht mehr, um CPU-gebundene Aufgaben sinnvoll aufzuteilen - kein handelsüblicher PC hat soviele Kerne, die tatsächlich parallel arbeiten können. Das macht man eher, um I/O-gebundene Tasks bequem sequentiell abzuarbeiten, ohne sich mit grausigen Callbacks oder dem nur marginal weniger mühsamen async/await-Hack herumschlagen zu müssen: die Threads sind also tatsächlich die allermeiste Zeit blockiert.

Die Alternative sind dann leichtgewichtige Konstrukte wie die "goroutines" von Go oder die Virtual Threads von Java. Die verhalten sich aus Entwicklersicht fast genauso wie Threads, werden aber transparent auf wenige echte Threads aufgeteilt. Eine Vorstufe davon sind die klassischen Coroutinen, wie es sie schon lange in anderen Sprachen gab.

...zur Antwort

np.split() gibt dir einfach eine Liste von Arrays. Tatsächlich referenzieren die das ursprüngliche Array.

Du kannst sie einfach so weiterverwenden, aber wenn du was darin änderst, ändert sich damit eben auch das originale Array - wenn nötig, kannst du mit np.copy() Kopien anlegen.

...zur Antwort
Aber das ist SOOOOO umständlich, in Python mache ich das in 5 Zeilen 

Wenn ich mich in Python nicht auskenne, brauche ich dafür auch mehr als 5 Zeilen.

Ein einfaches Schema für deine Aufgabenstellung wäre:

try (var lines = Files.lines(Path.of("bla.csv"))) {
    var sum = lines.map(s -> s.split(",")[1])
            .mapToInt(Integer::parseInt)
            .sum();
    System.out.println(sum);
}

Das ist ein bisschen naiv (jede Zeile muss dem Format entsprechen, keine eingebetteten Kommas in anderen Spalten), aber du fragtest ja nach einem Grundgerüst, nicht nach einem vollständigen Programm das mit allen Eventualitäten zurechtkommt.

Für komplexeres CSV würde ich dann zu einer separaten Library raten, etwa FastCSV.

...zur Antwort

Eine Wirtschaftskomponente im Studium ist für deine Ziele sicher sinnvoll.

Aber aufgepasst bei der Studienwahl. Wirtschaftsinformatik wird von verschiedenen Hochschulen verschieden ausgelegt - im schlimmsten Fall ist das viel ERP (SAP & Co.) mit ein paar BWL-Basiskursen und einer schwachen Informatikschiene, wie das in Deutschland leider öfter vorkommt. Sowas kannst du dir gleich sparen.

Selbst wenn du dich für Informatik entscheidest, solltest du einen genaueren Blick auf die Studienpläne werfen. Praxisbezug könnte für dich wichtig sein, und der ist nicht immer gegeben.

...zur Antwort

Einfach und schnell: tmux oder screen verwenden, damit bleibt die Session offen, auch wenn du dich abhängst.

Sauber: das Ganze als Service verpacken (meist reicht ein einfaches Shellskript) und im Init einhängen, je nach Betriebssystem ist das z.B. systemd. Damit wird das Zeug auch zuverlässig gestartet, wenn die Maschine neu startet.

...zur Antwort

Auf MacOS ist standardmäßig das auf Unix übliche zip-Kommando zu finden.

Und damit geht das natürlich problemlos:

zip -s 2g grosses.zip meine_dateien

Wenn du lieber was mit GUI willst, geht das sicherlich mit keka und diversen anderen Programmen.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.