Java – die neusten Beiträge

Hab heute ein Vorstellungsgespräch gehabt als Junior Softwareentwickler aber fühle mich schlecht?

Moin,

Ich hatte heute n Gespräch und fühle mich Ultra schlecht. Ich hatte mich als Softwareentwickler beworben und es wurde mir Fragen zum Objekt orientierten Programmierung gestellt.

Ich sollte Java Design patterns nennen und kannte keine, weil wir hatten das nicht im Studium. Dann hat mir der gegenüber erklärt, was singleton ist und ich sollte sagen, wie man das in Java umsetzen kann, dass nur eine einzige Instanziierung einer Klasse umgesetzt wird. Ich meinte, man könne halt 'nen Zähler einbauen, der dann reagiert durch den Konstruktor, aber mir ist static nicht eingefallen (ich hatte schonmal damit gecodet und auch sowas in c++ eingebaut).

Dann wurde mir die Frage gestellt, ob in Java und C# Mehrfachvererbung existiert und ich hatte falsch geantwortet. Ich hatte viel mit Javascript gecodet, aber nie mit Typescript. Dann wurde ich halt gefragt, wo die Unterschiede sind, konnte ich auch nicht beantworten.

Ich sitze hier und mache mich selber fertig, kann net ruhig schlafen. Hab jetzt Zeit bis die sich überlegen, ob ich in die nächste Phase komme (Programmierung mit denen zusammen) oder ob kein Bedarf besteht.

Ich hab mir schon vorgenommen, mich über mögliche Interviewfragen besser zu informieren. Aber fühle mich trotzdem sehr schlecht.

Bis jetzt hab ich von 4 Bewerbungen 3 Einladungen bekommen

Test, Arbeit, App, Bewerbung, Job, Java, JavaScript, C Sharp, Programmiersprache, Vorstellungsgespräch

Woran könnte es liegen, dass die Entschlüsselung der AES verschlüsselten Nachricht vom Client auf der Serverseite nicht korrekt funktioniert?

Beschreibung:

Ich habe eine Client-Server-Anwendung, bei der der Server einen Befehl an den Client sendet, der diesen Befehl auf dem Client ausführt und dann das Ausgaberesultat zurück an den Server schickt. Der Command-Output wird verschlüsselt, bevor er an den Server gesendet wird, und sollte auf der Serverseite entschlüsselt werden, um die Ausgabe anzuzeigen.

Ablauf:

Client:

public void executeCommand() {
    try {
        Process p = Runtime.getRuntime().exec("cmd /c " + commandInput);
        p.getOutputStream().close();


        InputStream processStdOutput = p.getInputStream();
        Reader r = new InputStreamReader(processStdOutput);
        BufferedReader br = new BufferedReader(r);
        String line;


        while ((line = br.readLine()) != null) {
            writeToServerSocket("cmd18721378231dcad2");
            writeToServerSocket(line + "\n");
            writer.flush();
        }


        p.waitFor();
    } catch (Exception ex) {
        System.out.println(ex.getLocalizedMessage());
    }
}

public void writeToServerSocket(String message) {
	try {
		String encodedMessage = EncryptionHelper.encrypt(message);
		writer.write(encodedMessage);
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

Server:

In einer Dauerschleife wird überprüft:

...
String encryptedInput = scanner.nextLine();
            		String input = EncryptionHelper.decrypt(encryptedInput); // Hier vermutlich Fehler
...
else if (input.contains("cmd18721378231dcad2")) {
    String commandOutput = input.substring(19);
    // Problem: Die Entschlüsselung des commandOutput funktioniert nicht korrekt
    // Hier sollte der entschlüsselte Text angezeigt werden
    controller.updatejTextAreaAllChat(commandOutput + "\n");
}

...

Problem:

Der verschlüsselte Command-Output wird vermutlich (nicht komplett sicher da System.out.println zum debuggen beim Server nicht funktioniert aus welchem Grund auch immer) erfolgreich an den Server gesendet, aber die Entschlüsselung auf der Serverseite funktioniert nicht wie erwartet. Der entschlüsselte Text wird nicht korrekt angezeigt, und es wird sobald ich die Anwendung beende die Fehlermeldung "Input byte array has incorrect ending byte" angezeigt.

Code für die Verschlüsselung/Entschlüsselung:

public class EncryptionHelper {
    private static final String KEY = "mysecretkey";


    public static String encrypt(String plainText) throws Exception {
        // ... (Verschlüsselungslogik)
    }


    public static String decrypt(String encryptedText) throws Exception {
        // ... (Entschlüsselungslogik)
    }
}

Was habe ich bereits versucht:

  • Die Übertragung der verschlüsselten Daten wurde überprüft und scheint intakt zu sein.
  • Die Verschlüsselungslogik wurde überprüft und sie scheint korrekt zu sein.
  • Andere Bereiche des Codes wurden überprüft, um sicherzustellen, dass sie das Entschlüsselungsproblem nicht verursachen.
Java, Code, Eclipse, encryption, Socket

IT-Fachkräfte im Informatik Unterricht in Schulen?

Hallo,

der klassische Weg um in Deutschland Lehrer zu werden ist über ein Lehramtsstudium oder mit zunächst Berufserfahrung sammeln im jeweiligen Fachbereich und dann auch mit einem Studium Berufsschullehrer werden.

Doch sind wir uns selbst mal gegenüber ehrlich welcher Fachinformatiker wird freiwillig, wenn er nicht auf den Kopfgefallen ist und 9+ Jahre Berufserfahrung hat auf das Jahresgehalt von jenseits über den 50.000,€ verzichten, um in einer unterbezahlten Lehrer Position anzufangen ?

Dieses Phänomen macht sich an den grund- und weiterbildenden Schulen [Grundschule, Realschule, Gymnasium,...] bemerkbar.

In den ersten Schuljahren gelten wichtigere Prioritäten wie lesen und schreiben lernen.

Doch aller spätestens ab der 5. Klasse werden die ersten Grundkenntnisse zum Computer vermittelt .

Im Unterricht wird meist mit den wichtigsten Office Programmen aus dem Hause Microsoft oder Open Office angefangen, doch dies zieht sich meiner Erfahrung nach bis zum Erhalt des Abschlusses.

Schüler mit Technischem Interesse erledigen die Textformatierung- oder Tabellenkalkulationsaufgabe in unter 15 Minuten und langweilen sich dann die Restliche Zeit der Unterrichtsstunde.

Und trotz des Informatikunterrichts werden IT´ler Tagtäglich zu Fehlertickets her zitiert wie z.B. mein Drucker druckt nicht, Passwort vergessen, Herr/Frau Ich-weiß-alles-besser und weiteren gerufen.

Bei uns in der Kommune hat nun ein neuer junger Bürgermeister angefangen, der sich die Digitalisierung auf die Fahne geschrieben hat.

Meine Idee wäre ihn an sein Wahlprogramm zu erinnern ihm von meiner damaligen Erfahrung mit Win 2000 im Jahre 2009 im Informatikunterricht  zu berichten und den späteren Erfahrungen in der weiterführenden Schule mit dem Quantensprung auf Windows 10.

Gleichzeitig möchte ich auch einen Vorschlag unterbreiten, um die Schüler für die sich stetig weiterentwickelte Computerwelt zu wappnen auch in Bezug auf das Internet [Social Media,..] und den damit verbundenen Risiken.

Also konkret IT-Fachkräfte planen aktiv den Unterricht gemeinsam mit den Lehrkräften, bieten außerdem eine Informatik AG an und kümmern sich um die IT-Infrastruktur der Schule.

Funfakt unser damaliges Netzwerk war so schlecht eingerichtet, dass jeder Schüler Admin Rechte am PC hatte und mit etwas Ahnung per Remote ganze Rechner herunterfahren konnte.

Wäre das rein rechtlich möglich das IT-Fachkräfte beratend ohne Lehrerstudium am Unterricht beteiligt sind ?

Bzw. der Bürgermeister das, wenn auch mit Abstimmung des KM einführen darf.

Computer, Microsoft Word, Lernen, Studium, Microsoft Excel, Schule, Microsoft PowerPoint, Netzwerk, HTML, CSS, Bildung, Java, Unterricht, JavaScript, Schüler, ASCII, Beamte, Fachinformatiker, Informatik, Informatiker, Informationstechnik, Informationstechnologie, Lehrer, Lehrerin, Pascal, Python, Team, turbo pascal, Rathaus, Bürgermeister, Fachinformatiker Systemintegration, kultusministerium, PowerShell, schulcomputer, Angular, lehren

Werden Software Entwickler durch KI ersetzt?

GPT4 kann ganz locker Snake, 4 gewinnt und GUIs programmieren. Der Chef von OpenAi redet schon von AGIs, die bald kommen sollen. Da frage ich mich einfach, ob es wirklich Sinn macht mein duales Studium in angewandter Informatik wirklich fortzusetzen.

Noch hilft mir GPT4 nicht wirklich in der Firma (Bank), da wir fast nur eigene Frameworks haben. Aber was wenn GPT5 oder bessere Modelle auch unsere Frameworks verstehen und dann eigenständig programmieren können?

Ich denke wirklich einfach abzubrechen und eine Handwerksausbildung bei einer sehr großen Firma zu machen. Ich sehe einfach nicht, dass GPT nicht in der Lage sein wird Banking Programme selbst zu schreiben. Ich bin nicht der beste Programmierer und bin sehr stark auf Banking Software spezialisiert.

Auch der OpenAI Chef meinte, dass es wohl aussieht, dass es erst Künstler und Programmierer trifft und zuletzt Handwerker.

Was ist eure Meinung? Hat Software Entwicklung Zukunft? Ich arbeite übrigens im öffentlichen Dienst, was mir ein bisschen mehr Sicherheit gibt, aber wenn KIs selbst programmieren, wird es meiner Meinung nach nicht mehr so viel Bedarf für Programmierer geben.

Ich will ganz entspannt meinen Job machen, ohne darüber nachzudenken, dass ich bald arbeitslos bin. Und ich würde gern für ein Eigenheim sparen usw. Da steht mir GTP einfach zu sehr im Weg. Was ist eure ehrliche Meinung? Könnte ich als Software Entwickler mindestens die nächsten 20-30 Jahre arbeiten?

Nein, hat Zukunft 100%
Ja, werden ersetzt 0%
Studium, Mathematik, Technik, IT, programmieren, Java, Code, Informatik, künstliche Intelligenz, Programmiersprache, Python, Softwareentwicklung, Student, Universität, ChatGPT

Hosting durch zwei Netzwerke?

Guten Abend,

ich habe eine kleine Frage an die Leute, die Erfahrung mit Hosting haben.
Unabhängig ob es ein Gameserver war oder Webspacehosting.
Wichtig dabei ist, dass ihr es am eignen Netzwerk durchgeführt habt und dazu kommen wir zu meiner Frage.

Folgendes:

Ich verwende einen Laptop als Server. Für ihm habe ich auch einige Ports freigegeben, damit er bei Minecraft einen Server hostet und FTP Zugang gewährt für mich und meinem Freund.

Genauso habe ich eine SRV und eine A Eintrag bei meiner TLD zur öffentliche IP-Adresse hinzugefügt und die Subdomain für Minecraft läuft bisher bestens.

Sogar Uptimerobot habe ich auf die IP und Ports gesetzt, dass er die anpingt und einen Uptimestatus Seite dafür bereit stellt.

Nun nach den paar Tagen das er läuft habe ich mir über die Sicherheit Gedanken gemacht.

Bisher habe ich alles einem Netzwerk gehabt und dies in einer Fritz!Box, wo alle Geräte verbunden sind und der auch ans V-DSL angebunden ist. Achtung, ich verwende nicht Exposed Host, weder noch an meinem Gaming PC (selbständige Port UPNP schon), wie auch beim Server Laptop (selbstständige Ports sind aus).

Nun habe ich mir gedacht, mein Netz zu Trennen zwischen dem Server Netzwerk und Hauptrouter und dies hat bisher auch geklappt, ich habe in der zweiten Fritz!Box in den Zugangsdaten die Verbindung vom Hauptrouter angegeben und es am Handy zu Urteilen, hat es Internet-Anbindung mit der gleichen öffentlichen IP-Adresse, aber Intern einen neuen Block statt xxx.xxx.178.xxx hat er nun xxx.xxx.188.xxx.

Um es sich Bildlich vorzustellen:

. Geräte vom Haushalt (178 Block)

V-DSL <===> Fritz!Box #1 ˫

. Fritz!Box #2 <===> Server Laptop (188 Block)

Würdet ihr dies als Sicherer so bezeichnen, oder würdet ihr eine andere Reihung der Verbindungen empfehlen oder gar eine ganz andere Methode. Ich bin offen und lerne gerne dafür dazu.

Vielleicht habt ihr auch sonstige Vorschläge, die zu meinem Schutz auch nützlich sein könnten :)

~ Die Falke in Gutefrage.

Server, Computer, Internet, Internetverbindung, Notebook, Netzwerk, IT, Informationen, Java, Selbstbefriedigung, FTP, Minecraft, AMD, Cybermobbing, DSL, Firewall, Hacking, Hoster, Hosting, Informatik, IP-Adresse, IT-Sicherheit, LAN, Minecraft Server, Netzwerktechnik, Netzwerkverbindung, Port, Router, selfmade, SSD, ssh, Telekom, Telekommunikation, WLAN-Router, xampp, Ping, FTP-Server, portweiterleitung, Server IP, Nvidia GeForce RTX

Was haltet ihr von der Idee (Umfrage)?

Ich möchte gerne eure Meinung zu einem Projekt einholen. Um genau zu sein würde ich gerne folgendes wissen:

  • Wäre Satori etwas für euch?
  • Haltet ihr Satori für sinnvoll?
  • Würdet ihr Satori weiterempfehlen?

Es handelt sich um die Lernplattform "Satori". Zunächst einmal: Auf Satori ist alles kostenlos. Alles, was wir hier beschreiben, wird kostenlos umsetzbar sein. Bitte denkt nicht an den kommerziellen Aspekt, dieser ist für mich zumindest zu Beginn nicht besonders wichtig. Satori hat andere Ziele als nur finanziellen Erfolg.

Das Konzept von Satori ist sehr einfach. Menschen können ihre Projektideen hochladen, inklusive Logo, Konzept und mehr. Die Community kann dann diese Ideen ähnlich wie auf Reddit einfach hochvoten und wenn ein Projekt genehmigt wird, können sie sich darauf bewerben.

Wenn Satori Kapazitäten frei hat, nehmen wir uns das Projekt vor, das zu diesem Zeitpunkt die meisten Upvotes erhalten hat. Wir setzen uns dann mit den Projektbesitzern in Verbindung. Wenn alles passt, gehen wir das Konzept mit den Projektbesitzern durch, verfeinern es und anschließend bildet der Projektbesitzer sein Team. Danach werden Aufgaben verteilt. An diesem Punkt beginnt der Prozess, und das Team unterstützt (bei der Planung und gegebenenfalls auch bei der Programmierung), um das Projekt voranzutreiben.

Sobald das Projekt abgeschlossen ist, wird es auf Satori gehostet, und im Laufe der Zeit können bei Bedarf neue Aufgaben erstellt und zugewiesen werden, um eventuelle Fehler zu beheben.

Satori verfolgt hiermit mehrere Ziele:

  • Satori eröffnet neue Möglichkeiten für größere Open-Source-Projekte. Oft bleiben Programmierer bei kleineren Projekten, da ihnen entweder die Beherrschung aller benötigten Technologien fehlt oder es ihnen schwerfällt, ein solides Team auf die Beine zu stellen. Doch Satori ändert diese Dynamik grundlegend.
  • Satori vermittelt Programmierern die Kunst der Teamarbeit, eine Fähigkeit, die viele von ihnen nicht beherrschen. Auf Satori wird der Umgang mit GitHub durch praktische Erfahrungen erlernt. Dank eines kompetenten Teams als Rückhalt haben auch weniger erfahrene Programmierer die Möglichkeit, ohne das Projekt zu beeinträchtigen, aktiv mitzuwirken.

Danke im Vorraus und lg.

Computer, Arbeit, Software, online, Forum, Technik, Community, HTML, Webseite, programmieren, Java, JavaScript, Communitys, development, Geschäft, Geschäftsidee, Ideen, Konzept, Open Source, Projekt, Softwareentwicklung, Team, Technologie, User, Software Update, github, Discord

Taschenrechner programmieren?

Ich habe nun in Java einen Taschenrechner programmiert. Ich bin noch ein Anfänger und bereite mich auf mein Studium vor.

Hier erstmal mein Code:

import java.util.Scanner;

public class Taschenrechner {

    public static void main(String[] args) {

        Scanner benutzereingabe = new Scanner(System.in);

        double zahl1;
        double zahl2;
        char operator;

        System.out.println("Geben sie die erste Zahl ein:");
        zahl1 = benutzereingabe.nextDouble();

        System.out.println("Geben sie die zweite Zahl ein:");
        zahl2 = benutzereingabe.nextDouble();

        System.out.println("Bitte geben sie ihren gewünschten Rechenoperator ein ('+', '-', '*', '/'):");
        operator = benutzereingabe.next().charAt(0);

        if (operator == '+') {
            System.out.println(zahl1 + zahl2);
        } else if (operator == '-') {
            System.out.println(zahl1 - zahl2);
        } else if (operator == '*') {
            System.out.println(zahl1 * zahl2);
        } else if (operator == '/') {
            System.out.println(zahl1 / zahl2);
        } else {
            System.out.println("Ihr Rechenoperator ist nicht gültig!");
        }
    }
}

Meine Frage:

Ich möchte eine Funktion einbauen, bei der ein Text ausgegeben wird:

Bitte geben sie nur Zahlen ein!

Heißt, dass wenn man in die Konsole einen Buchstaben oder ein anderes Symbol eingibt statt eine Zahl, wird dieser Text ausgegeben. Ich habe schon einen Ansatz, aber er ist nicht ganz richtig.

ich würde etwas in die Richtung

if (zahl1 != Zahlen) {
  System.out.println("Bitte geben sie nur Zahlen ein!");
  }

if (zahl2 != Zahlen) {
  System.out.println("Bitte geben sie nur Zahlen ein!");
  }

Das Problem was ich habe ist, dass die Variable "Zahlen" ja gar nicht existiert. Ich wüsste auch jetzt nicht, wie man das mit einem Array lösen sollte.

Java, Programmiersprache

Werden KI's uns Software-Entwickler ersetzen?

Hallo,

ich mache eine Programmierer-Ausbildung bei einer großen öffentlichen Firma und habe dort sehr gute Übernahmechancen nach der Ausbildung.

Chatgpt/GPT4 kann meiner Meinung nach schon sehr gut programmieren, debuggen und dokumentieren. Meine Sorge ist jetzt, ob diese KI uns Programmierer in der Zukunft ersetzen könnte. GPT4 hilft mir bisher wenig auf der Arbeit, aber was ist mit besseren Versionen von GPT? Der Sprung von Chatgpt 3.5 zu Gpt4 ist einfach so enorm... Ich frag mich, wie groß der Sprung zu neueren Modellen sein wird.

Weil ich habe momentan extreme Angst, dass meine Ausbildung doch nur Zeitverschwendung ist. Ich würde gern für immer als Software Entwickler arbeiten und hätte echt nicht die Nerven mit Mitte 30 arbeitslos zu werden während ich meine Kinder ernähren muss und ein Haus abbezahle.

Also was ist eure Meinung? Sollte ich vielleicht sogar die Ausbildung abbrechen und zum Beispiel Handwerk machen? Oder hat Software Entwicklung Zukunft wie jeder sagt?

Also kann ich auf diesen Beruf im öffentlichen Dienst setzen, wenn ich in der Zukunft ein Haus abbezahlen will und eine Familie gründen will? Bitte seid ehrlich!

Nein, nicht sicher 58%
Ja, sicher bis zur Rente 42%
Software, Lernen, Zukunft, Technik, Wirtschaft, programmieren, Java, GPT, Informatik, künstliche Intelligenz, Öffentlicher Dienst, Python, Softwareentwicklung, Student, ChatGPT, OpenAI

Wie ändere ich die Größe der einzelnen JPanels bei einem BorderLayout in Java?

Hallo.

Ich habe in Java einen JFrame erstellt in dem ein JPanel ist, indem sich ein anderes JPanel (mit BorderLayout) befindet das 2 JPanels enthält.

Also so etwa:

JFrame/JPanel/JPanel(BL)
              > JPanel(NORTH)
              > JPanel(SOUTH)

(BL = BorderLayout)

Ich will das die 2 JPanels die in den BL sind so angeordnet sind wie das Spielfeld und das Inventar bei den Zelda NES Spiel aus den 90ern (Bild unten).

Das nördliche JPanel(NORTH) soll das Inventar sein während das südliche(SOUTH) das Spielfeld sein soll auf dem sich das eigentliche Geschehen mit dem Spieler, NPCs, Map usw. abspielt.

Jetzt ist jedoch das Problem dass das JPanel dass das Spielfeld ist fast den ganzen Platz einnimmt:

Spielfeld Panel (Schwarz). Inventar Panel (Grün)

Ich will jedoch das es ungefähr so angeordnet ist:

Wie zu sehen ist, ist bei dem Zelda Spiel das Inventar deutlich größer, während es bei mir eher wie ein Strich aussieht.

Ich habe die Größe des Spielfeld Panels schon definiert, die des Inventar Panels auch.

Ich habe die beiden Panels (Spielfeld und Inventar) in das JP mit dem BL gemacht, welches ich einen anderen JPanel hinzugefügt habe, welches sich im JFrame befindet.

Dann habe ich das JFrame der Größe seiner JPanels eingeglichen mit frame.pack()

(Mein JFrame heißt frame)

Ich habe versucht die Größe der beiden Panels auf verschiedenste Art und Weise zu ändern, jedoch ohne Erfolg.

Ich würde mich freuen wenn jemand eine Lösung dafür kennt.

Danke im voraus.

Bild zum Beitrag
programmieren, Java, Eclipse, Programmiersprache, Swing, Java Swing

Meistgelesene Beiträge zum Thema Java