Schlagwort-Archive: Uni

Liefert mich ein! Sofort!

Das Leben ist hart, grausam und gemein! Und heute ist es noch ein bißchen fieser als sonst.

Ich wage mich gerade in die Tiefen von Java vor. Zwar hatte ich in der Uni etliche Kurse zur Java-Programmierung, aber man ist erst in einer Programmiersprache richtig drin, wenn man etwas größeres damit erstellen muss. Das Problem ist nur, dass man immer wieder an seine sprachlichen Grenzen stößt, viel nachschlagen muss und sich auch mit der Komplilierung & Ausführung von Java nicht wirklich auskennt. Theoretisch ist alles klar, aber das Praktische ist meist etwas komplizierter als gedacht.

Nachdem ich die letzten Tage etliche Zeilen Java-Code geschrieben hatte, wollte ich mich heute ran setzen und das Ganze von meinem lokalen Eclipse auf den Server bringen. Ich machte mir ein wenig Sorgen, ob ich die DB-Verbindung auf einer Linux-Maschine zum Laufen kriegen würde, zudem nutzte ich ein paar externe Java-Bibliotheken (jar), deren Pfade ja schließlich auch angepasst werden mussten.

  • Mein erster Ansatz einfach die Export-Funktion von Eclipse zu nutzen und das Ding in eine jar-Datei zu exportieren, funktionierte nicht. Die referenzierten Bibliotheken waren nicht bekannt.
  • Der Versuch die Angaben der .classpath-Datei im Editor auf die Serverpfade anzupassen und dann in Eclipse zu kompilieren, schlug auch fehl, da Eclipse die referenzierten Bibliotheken nicht mehr finden konnte.
  • Auch die Idee beim CL-Aufruf den classpath mit zu übergeben, brachte kein Erfolg
  • Ich landete dann auf der Seite von Thorsten Stein, der mit Apache Ant arbeitet, um eine Jar mit zusätzlichen Libraries zu bauen.
  • Mir kam das zu kompliziert vor. Ich wollte doch nur etwas umsetzen, was Millionen Java-Entwickler Tag für Tag machen: Ein Projekt kompilieren, welches zusätzliche Libraries verwendet. Das kann doch nicht so kompliziert sein!!!
  • Aber anscheinend ist es das: Ich landete schließlich bei FatJar einem Plugin für Eclipse, welches sich dafür rühmt, ein Jar erstellen zu können, welches weitere Jars enthält. Genau das, was ich wollte. Aber auch hier geschah nicht das, was ich wollte.
  • Langsam verzweifelte ich. Rufe ich vielleicht einfach nur mein Programm falsch auf? java -jar meineAnwendung.jar – Das muss doch richtig sein!
  • Die Stunden vergingen und ich machte absolut gar keine Fortschritte und offensichtlich gab es im Internet auch kaum jemanden, der ähnliche Probleme hatte. Es gab zwar viele Suchergebnisse, aber da waren die Probleme meist anders gelagert…
  • Ich entschloss mich, das Tutorial von Thorsten Stein abzuarbeiten. Toll: Ant installieren. Toll: Ant braucht JDK. Toll: JDK installieren!
  • Ich erhielt schließlich die jar mit den externen Libs und lud es auf den Server. Ich führte es aus. Wieder nichts.
  • Ich war mit meinem Latein am Ende. Seit 7 Stunden saß ich an diesem Problem und bekam es nicht gelöst.
  • Komisch, dass der Logger, den ich in meiner Anwendung verwende, eine leere Datei erzeugt. Moment! Könnte es sein, dass das Programm doch ausgeführt wird und nichts macht, weil es nichts gibt, was es machen muss?
    Ja, denn das Ergebnis dieser Abfrage ist auf dem Server leer:
    ResultSet rs = stmt.executeQuery("SELECT idprojects FROM projects WHERE download_url IS NOT NULL AND short_name IS NOT NULL AND (status != 1 OR status != 6)");
    while (rs.next()){
    Project pro = new Project(rs.getInt(1));
    pro.update();
    }

Ich hatte also den ganzen Tag damit zugebracht, einen Fehler zu finden, den es gar nicht gibt.

iStone

Stein vs. iPhone
iStone vs. iPhone

Nicht zu verwechseln mit iStein oder einStein! Und einStein war wahrscheinlich auch klüger als zweiStein. Nur damit ihr nachher nicht wieder sagt, ihr hättet es nicht gewusst…

Auf solche Wortspiele kann man nur kommen, wenn die Uni bestreikt wird. #unibrennt :) – Unistreik: Zu Hause bleiben und langes Ausschlafen ohne schlechtes Gewissen.

Übergangsregelungen sind toll

Es ist toll, wenn man zur aussterbenden Art der Diplomer gehört: Man kommt ins Hauptstudium und muss erstmal die alten Regelungen verstehen, was gar nicht so einfach ist. Schließlich wurde früher noch eine Hauptstudiums OE veranstaltet, aber die braucht jetzt ja keiner mehr, weil es nur noch Bätschelor und Master gibt.

Hat man dann irgendwann die alten Regelungen verstanden, bringt einem das nichts, denn ausschlaggebend sind die Übergangsregelungen, die einem Diplomer wie mir sagen, was ich an Bätschelor und Master Veranstaltungen besuchen, belegen, bestehen und beprüfen muss, da es ja Diplom-Veranstaltungen nicht mehr gibt.

Man muss also 2 Regelwerke miteinander in Einklang bringen und daraus seinen ganz individuellen Studiumsplan erstellen.  Hört sich schwierig an, ist es auch.

Und da ich an einer Stelle zu kompliziert gedacht habe, habe ich eine Prüfung zu viel gemacht – nämlich die vor 2 Wochen. Anstatt mich 3 Wochen lang Tag für Tag vorzubereiten, hätte ich das damals noch schöne Wetter genießen können, hätte mit meiner Freundin von Hamburg aus nach Helgoland fahren können. Kurzum: Ich hätte das Leben genießen können. Und da hörts ja noch nicht auf, denn eine mündliche Prüfung bedeutet zumindest bei mir immer auch eine psychische Anspannung, ganz davon zu schweigen, dass Prüfungssituationen generell eher zu vermeiden sind.

Aber wie heißt es so schön? Man lernt nicht für die Uni, sondern fürs Leben. Und womöglich wird mich in ferner Zukunft irgendwann mal jemand fragen: „Herr Freakcommander, eins interessiert mich schon länger. Vielleicht können sie es mir ja beantworten? Worin unterscheidet sich die Entscheidbarkeit der View-Serialisierbarkeit von der Konflikt-Serialisierbarkeit?
Und ich werde antworten: „Keine Ahnung. Kommt mir zwar bekannt vor, weil ich’s in der Uni hatte. Aber können se ja mal googlen.
Nein, natürlich werde ich antworten: „Der Test, ob eine Historie View-serialisierbar ist, ist NP-Vollständig. Während die Konflikt-Serialisierbarkeit effektiv entscheidbar ist.