Programmieren – die neusten Beiträge

Mensch gegen KI!

Hey, Ich teste gerade wer besser ist in Programiren. Dazu gebe ich den gleichen Text einer KI, und euch. Nun möchte ich wissen wer in diesen Thema besser ist.

Hir ist der Text, bitte entäuscht mich nicht:

SmartPrint ist eine vollständig integrierte, hochmoderne Lösung zur Steuerung, Überwachung und Verwaltung von 3D-Druckern. Die App wurde so konzipiert, dass sie den gesamten Druckprozess automatisiert und optimiert – von der Verwaltung und dem Upload von G‑Code-Dateien über den Druckstart und die Live-Überwachung bis hin zur detaillierten Auswertung von Verbrauchsdaten, Zeitrafferaufnahmen, Bewertungen und Favoriten. Dabei steht nicht nur der Funktionsumfang im Vordergrund, sondern auch ein ansprechendes, professionelles Design, das sowohl auf dem PC als auch in einer späteren mobilen Version im Hochformat für ein optimales Benutzererlebnis sorgt.

Hinter den Kulissen nutzt SmartPrint moderne und bewährte Technologien. Für die Desktop-Version der App kommt Electron in Kombination mit React zum Einsatz. Electron ermöglicht es, eine plattformübergreifende Desktop-Anwendung zu erstellen, während React für die Entwicklung einer dynamischen und responsiven Benutzeroberfläche verantwortlich ist. Mit abgerundeten, hochwertigen Buttons, klar strukturierten Tabs und ansprechenden Icons entsteht so ein Look, der dem Anspruch eines professionellen, teuren Produkts entspricht.

Die Steuerung des 3D-Druckers selbst erfolgt über die OctoPrint-API, die auf einem Raspberry Pi läuft. Auf diesem Pi wird ein leichtgewichtiges Betriebssystem (Raspberry Pi OS) eingesetzt, und OctoPrint übernimmt die direkte Ansteuerung des Druckers. Die Kommunikation zwischen der App und OctoPrint erfolgt über HTTP-Anfragen, bei denen Bibliotheken wie axios (im JavaScript-Teil) und requests (im Python-Backend) verwendet werden. Für die Server-Seite kommen Python 3 und Frameworks wie Flask zum Einsatz, um eine robuste API bereitzustellen, die den Druckstatus abruft, Druckaufträge startet oder abbricht und weitere notwendige Befehle ausführt.

Zusätzlich ist die App in verschiedene Tabs unterteilt, die jeweils spezifische Funktionen bieten. Im Home-Tab erhält der Nutzer sofort einen Überblick über den aktuellen Druckstatus, Fehleranzeigen, zuletzt genutzte Dateien und die Top 5 Drucke des Monats – basierend auf den abgegebenen Bewertungen. Im Tab für Dateiverwaltung und Drucksteuerung kann der Nutzer G‑Code-Dateien hochladen, organisieren, umbenennen und direkt oder zeitgesteuert einen Druck starten. Der Tab „Überwachung“ zeigt einen Live-Kamerastream, Verbrauchsdaten des Filaments (über eine angeschlossene USB-Waage) und den Stromverbrauch in Echtzeit an, während zudem die durchschnittliche Druckzeit aus vergangenen Aufträgen berechnet wird. Der Zeitraffer-Tab ermöglicht es, während des Drucks automatisch Zeitraffer-Videos aufzunehmen, deren Gesamtdauer vom Nutzer vorgegeben wird – die App berechnet automatisch das ideale Aufnahmeintervall, und die Videos werden nach drei Tagen automatisch gelöscht, sofern sie nicht manuell gesichert wurden. Der Online-Speicher-Tab bietet den direkten Zugriff auf Plattformen wie Thingiverse und ermöglicht das Speichern von 3D-Modellen sowie die Verwaltung von hochwertigen Filamenten. Darüber hinaus sind Bewertungs- und Favoritenfunktionen integriert: Nach Abschluss eines Drucks wird automatisch eine Benachrichtigung zur Bewertung angezeigt, bei der der Nutzer mittels eines Sternebewertungssystems und optionaler Kommentare den Druck bewerten kann – Bewertungen sind dauerhaft gespeichert und können nicht nachträglich geändert werden. Besonders gelungene Drucke können zudem mit einem Herz-Symbol markiert und in einem separaten Favoriten-Ordner abgelegt werden.

Ein weiterer wichtiger Aspekt ist die Netzwerkanbindung. Die gesamte Steuerung erfolgt lokal über den Raspberry Pi, der über die OctoPrint-API kommuniziert. Für den Fernzugriff wird zusätzlich ein VPN unterstützt, sodass der Drucker auch aus der Ferne sicher gesteuert werden kann. Alle Einstellungen, wie die IP-Adresse des Raspberry Pi, VPN-Optionen und automatische Steckdosensteuerung (über eine Smart-Steckdose, z. B. von Nooie), können im umfangreichen Einstellungsbereich der App individuell angepasst werden.

Zusammengefasst bietet SmartPrint eine vollständige, professionelle und moderne Lösung, die alle Aspekte des 3D-Drucks abdeckt – von der Steuerung und Überwachung über die Automatisierung bis hin zur detaillierten Auswertung und Bewertung. Dabei werden neueste Technologien wie Electron, React und Flask eingesetzt, um sowohl auf der Desktop- als auch auf der mobilen Plattform eine optimale Benutzererfahrung zu gewährleisten. Alle Funktionen sind so integriert, dass der Nutzer den gesamten Druckprozess zentral steuern kann, während alle Daten lokal bleiben und über sichere Verbindungen abgerufen werden.

Das ist das Logo der App

Bei Fragen gerne Melden, das habe ich auch der KI erlaubt, dass sie Nachfragen darf.

Bild zum Beitrag
App, programmieren, künstliche Intelligenz, Raspberry Pi

JavaScript: Wie kann ich eine große Tabelle schneller sortieren?

Hallo zusammen,

ich habe eine große Tabelle in meiner ASP.NET Core Razor Pages Anwendung, die ich clientseitig mit JavaScript sortieren möchte.

Allerdings dauert die Sortierung bei einer großen Datenmenge zu lange, und ich suche nach einer performanten Lösung.

Meine aktuelle Implementierung:

Ich nutze Array.sort() und vergleiche Strings und Zahlen entsprechend, das funktioniert aber das ist nicht effizient genug.

Besonders wenn die Tabelle viele Zeilen (z. B. >10.000) hat, wird die Sortierung langsam.

Meine Anforderungen:

✅ Die Sortierung muss komplett in JavaScript (clientseitig) erfolgen

✅ Sie muss sowohl Texte (Strings mit Umlaute, Sonderzeichen, etc.) als auch Zahlen (inkl. Währungen mit €) schnell sortieren

✅ Die Tabelle wird nachträglich dynamisch mit Daten befüllt (also keine initiale Sortierung im Backend möglich)

✅ Die Lösung soll sehr schnell auch bei großen Datenmengen sein

Ich habe bereits probiert:

❌ Array.sort() (wird langsam bei vielen Zeilen)

❌ localeCompare() (korrekt für Strings, aber langsam)

❌ TypedArrays für Zahlenwerte (bringt nicht genug Speed)

Gibt es eine bessere Möglichkeit, eine HTML-Tabelle performant zu sortieren?

Vielleicht mit Web Worker, einer anderen Datenstruktur oder anderen Algorithmen?

oder gibt es andere Funktionen/Möglichkeiten, die ich noch probieren kann?

hier mein aktueller Ansatz:

Tabelle:

    <div class="col-lg-9 col-md-7 col-12">
      <div class="table-container">
        <table class="table-modern table-hover w-100" id="statistikTable">
          <thead>
            <tr>
              <th onclick="sortTable(0, this)">Datum <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
              <th onclick="sortTable(1, this)">PID <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
              <th onclick="sortTable(2, this)">Nachname <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
              <th onclick="sortTable(3, this)">Vorname <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
              <th onclick="sortTable(4, this)">Rechnungsnetto <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
              <th onclick="sortTable(5, this)">Belegnummer <img class="sort-icon" src="/img/dgvsort.png" style="display: none;"></th>
            </tr>
          </thead>
          <tbody>
            @if (Model.StatistikData != null && Model.StatistikData.Rows.Count > 0)
            {
              foreach (DataRow row in Model.StatistikData.Rows)
              {
                <tr>
                  <td>@(((DateTime)row["Datum"]).ToString("dd.MM.yyyy"))</td>
                  <td>@row["PID"]</td>
                  <td>@row["KundeNachname"]</td>
                  <td>@row["KundeVorname"]</td>
                  <td>@Convert.ToDecimal(row["Rechnungsnetto"]).ToString("N2")</td>
                  <td>@row["Belegnummer"]</td>
                </tr>
              }
            }
            else
            {
              <tr>
                <td colspan="6" class="text-center">Keine Daten gefunden</td>
              </tr>
            }
          </tbody>
        </table>
      </div>
    </div>

meine sort Funktion:

  function sortTable(columnIndex, header) {
    const table = document.getElementById("statistikTable");
    const tbody = table.tBodies[0];
    const rows = Array.from(tbody.rows);
    const ascending = table.dataset.sortOrder !== "asc";

    const isNumericColumn = !isNaN(parseFloat(rows[0].cells[columnIndex].textContent.replace("€", "").replace(",", ".").trim()));

    let sortedRows;
    if (isNumericColumn) {
      sortedRows = rows
        .map(row => ({
          element: row,
          value: parseFloat(row.cells[columnIndex].textContent.replace("€", "").replace(",", ".").trim()) || 0
        }))
        .sort((a, b) => ascending ? a.value - b.value : b.value - a.value);
    } else {
      const collator = new Intl.Collator("de", { numeric: true, sensitivity: "base" });
      sortedRows = rows
        .map(row => ({
          element: row,
          value: row.cells[columnIndex].textContent.trim()
        }))
        .sort((a, b) => ascending ? collator.compare(a.value, b.value) : collator.compare(b.value, a.value));
    }

    const fragment = document.createDocumentFragment();
    sortedRows.forEach(({ element }) => fragment.appendChild(element));
    tbody.appendChild(fragment);

    table.dataset.sortOrder = ascending ? "asc" : "desc";

    updateSortIcons(header, ascending);
  }

  function updateSortIcons(header, ascending) {
    document.querySelectorAll(".sort-icon").forEach(icon => {
      icon.src = "/img/dgvsort.png";
      icon.style.display = "inline";
    });

    const icon = header.querySelector(".sort-icon");
    if (icon) {
      icon.src = ascending ? "/img/dgvsortup.png" : "/img/dgvsortdown.png";
      icon.style.display = "inline";
    }
  }

Freue mich über jede Hilfe! 😊

HTML, Webseite, programmieren, CSS, JavaScript, HTML5, Programmiersprache, Webdesign, Webentwicklung, Frontend

Wie programmieren wir den Bundestag?

Die Bürokratie

nimmt ihren Lauf. Davon sind unterschiedliche Einrichtungen betroffen. So auch der universitäre Bereich. Für Studenten eine Hürde mehr. Man kennt das Problem: Aufräumen. Ganze Wäscheberge bei Frauen. Männer oft nur mit sieben Shirts und passender Jeans samt Socken und Unterhosen wie einem Paar Schuhe für die Woche ausgestattet wollen auch nicht mehr einen solchen Aufwand haben. Die Sinnlosigkeit eines zivilen Stubenschrankes kommt dann zum Tragen, wenn man das erste Mal eine Kaserne von innen sieht. Spätestens dann weiß man, was Ordnung, Sauberkeit und das Tragen von Kleidung wirklich ist. Ein unglaublich großer Aufwand steckt in der Kleidung. Dem Material was wir bei uns tragen.

Was hat nun der Bundestag mit Kleidung, der Armee und anderer materieller Kultur zu tun?

Denn das ist die eigentliche Frage: Wie kann man einen digitalen Raum für sein Lernen und geplante Taten samt Routen im Alltag vor der Tür (Präsentation äußerer Erscheinung) schaffen? Suche hier auch ein Programmierteam. Habe sehr viel Zeit dafür. Discord kann man austauschen.

Die Debatten und RSS-Feeds sollen ins Spiel integriert sein und was einem noch so einfällt, was einen, nachdem man "Das Spiel der Politik" zu einem ganzen Studium der Politikwissenschaft und Volkskunde befähigen durch und verinnerlicht hat. Hoffe, man versteht die Idee dahinter. Mit dem Programm Unity lässt sich ja einiges machen.

Slander Man: The eight pages

Um es genauer auszudrücken, und ich hoffe die richtige Kategorie dafür gefunden zu haben, will ich unter anderem eine Lerntechnik digitalisieren. Die Technik Vokabelschnipsel in der Stadt zu verteilen (Schwedisch), um sie so beim Ablaufen als Avatar diese immer wieder abzurufen und ins Gedächtnis, vielleicht auch in Form eines Exitgames mit Hürden/kniffligen Herausforderungen, zu rufen. Ein Exitgame, dass Gegenstände des Ensembles zum Beispiel Büro eines Anwalts ist und du mit dem Anwalt redest, und somit die Vokabel herausfinden musst wie <arvode>=Honorar, was ja nur in der Anwaltswelt Anklang findet.

programmieren, Politik

Wie mache ich diese Mod für GTA zu einer DLL datei mit Visual Studio?

using System;
using LSPD_First_Response.Mod.API;
using Rage;
using System.Drawing;
namespace LSPDfr bombcallout
{
  /// <summary>
  /// Represents a callout for defusing a bomb in the game.
  /// </summary>
  public class BombDefuseCallout : Callout
  {
    /// <summary>
    /// The suspect involved in the callout.
    /// </summary>
    private Ped suspect;
    /// <summary>
    /// The location of the bomb represented by a blip on the map.
    /// </summary>
    private Blip bombLocation;
    /// <summary>
    /// Indicates whether the bomb has been defused.
    /// </summary>
    private bool bombDefused;
    /// <summary>
    /// Initializes a new instance of the <see cref="BombDefuseCallout"/> class.
    /// </summary>
    public BombDefuseCallout()
    {
      // Constructor implementation
    }
    /// <summary>
    /// Called before the callout is displayed to the player.
    /// </summary>
    /// <returns>True if the callout should be displayed; otherwise, false.</returns>
    public override bool OnBeforeCalloutDisplayed()
    {
      // Method implementation
      return true;
    }
    /// <summary>
    /// Called when the callout is accepted by the player.
    /// </summary>
    public override void OnCalloutAccepted()
    {
      // Method implementation
    }
    /// <summary>
    /// Starts the bomb defuse mission.
    /// </summary>
    private void StartBombDefuseMission()
    {
      // Method implementation
    }
    /// <summary>
    /// Ends the mission, marking it as completed or failed based on the bomb defusal status.
    /// </summary>
    private void EndMission()
    {
      // Method implementation
    }
  }
Mods, programmieren, Gaming

Java ImGui Error EXCEPTION_ACCESS_VIOLATION?

Ich habe ein Tutorial von GamesWithGabe geschaut (2d game Engine) und habe beim Imgui part einen Fehler bekommen. Ich musste vom Tutorial schon vieles ändern, wegen neuen Versionen. Jetzt bekomme ich beim Aufstartet folgenden Error:

08:38:22: Executing ':Main.main()'...


> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE


> Task :Main.main() FAILED
Hello LWJGL 3.3.6+1!
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbcc295071, pid=7900, tid=15668
#
# JRE version: OpenJDK Runtime Environment Temurin-21.0.6+7 (21.0.6+7) (build 21.0.6+7-LTS)
# Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.6+7 (21.0.6+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C  [igxelpicd64.dll+0xd45071]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\dev\Java\SuperMariusImGui\JAVA_Loic_Steiner_SuperMarioProjekt\hs_err_pid7900.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
2 actionable tasks: 1 executed, 1 up-to-date


FAILURE: Build failed with an exception.


* What went wrong:
Execution failed for task ':Main.main()'.
> Process 'command 'C:\Program Files\Eclipse Adoptium\jdk-21.0.6.7-hotspot\bin\java.exe'' finished with non-zero exit value 1


* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.


BUILD FAILED in 1s
08:38:24: Execution finished ':Main.main()'.

Wieso bekomme ich diesen Error und wie kann ich den Fixen?? Ich brauche wirklich Hilfe, ich mache ein Projekt und muss Freitag abgeben.

programmieren, Java, Informatik, OpenGL, .gradle

Warum wird das Spielfeld nach der Bauernbewegung so komisch ausgegeben?

Ich wäre jedem einzelnen von euch mega dankbar, wenn ihr mir helfen könntet!

Hallo zusammen,

wir haben die Aufgabe bekommen das Spiel Schach in einer sehr abgespeckten Variante zu implementieren. Das heißt, so wie mein Code momentan aussieht, ist er an sich fertig von den Funktionalitäten. Jedoch ergeben sich zwei Probleme: Einerseits das sich bei einem JUnit-Test der Springer vom Feld [4][4] nicht auf [6][5] bewegen lässt und das die Bauernbewegung sehr schlecht und unregelmäßig funktioniert.

Das bedeutet, dass alle schwarzen Bauern sich auf [2][0] bewegen und alle weißen Bauern, die sich unten befinden, sollen sich nicht bewegen lassen. Außer dem [6][6], der sich dann auf das Feld [5][0] bewegt.

Mein Code ist grundsätzlich so aufgebaut, das es eine ChessPiece-Superklasse gibt, von denen die einzelnen Spielfigurenklassen erben und eine ChessBoard-Klasse, die das Feld abbildet und Figuren bewegt.

Ich bin seit zwei Tagen am Verzweifeln, weil weder ich, noch KI mir helfen konnte. Deswegen wäre ich unglaublich dankbar, wenn einer von euch mich erlösen könnte.

Ich versuche die wichtigsten Implementierungen in den Bildern darzustellen.

Die main-Methode:

Erstellen der Felder:

Die Methode soll grob sagen, ob eine Bewegung true oder false ist:

Ausgeben des Feldes:

Die ausführende Bewegungsmethode:

Beispielausgabe:

Springerbewegung mit JUnit-Test:

Wenn ihr noch was braucht, sagt Bescheid. Ich wäre euch unglaublich dankbar, wenn ihr mir helfen könnt!

Bild zum Beitrag
programmieren, Java, Schach, Programmiersprache, Objektorientierte Programmierung, IntelliJ IDEA

Kombinatorik: Welche Verteilung erwartet man beim Ziehen von Kugeln aus einer Urne ohne Zurücklegen?

Ich ziehe aus einer Urne mit N=24 nu­me­rier­ten Ku­geln eine zu­fäl­li­ge Ku­gel, schrei­be mir ihre Num­mer auf, lege sie zu­rück und mache das ins­ge­samt n=10000-mal. Es soll­te also je­de Ku­gel un­ge­fähr 10000/24≈417 mal dran­ge­kom­men sein. Wenn ich das aber prak­tisch mache, dann stelle ich fest, daß die wirk­liche An­zahl ziem­lich stark schwankt, näm­lich zwi­schen 451 und 373. Kann ich dar­aus schlie­ßen, daß die „zu­fäl­lig“ ge­zo­ge­ne Ku­gel doch nicht ganz zu­fäl­lig war, also daß da ir­gend­wo ein Bias für eine be­stimm­te Ku­gel drinsteckt?

In meiner wirklichen Anwendung ist die Urne na­tür­lich ein Pro­gramm, das für einen be­stimm­ten In­put einen von 24 mög­li­chen Out­puts liefert. Mei­ne In­ten­tion beim Pro­gram­mie­ren war, daß alle un­ge­fähr gleich häu­fig auf­tre­ten sollten. Ich ver­ste­he nicht viel von Sta­tis­tik, hätte aber an­ge­nom­men, daß die Streu­ung nur grob √417≈20 be­tra­gen solle. Tat­säch­lich ist sie dop­pelt so groß. Muß ich mir Sor­gen machen?

Die genauen Zahlen sind: 451 449 441 440 434 433 433 426 421 421 419 419 416 410 410 409 406 403 401 400 398 398 389 373.

In einem anderen (und algorithmisch schwierigeren) Fall gibt es 36 Mö­glich­kei­ten, der Er­war­tungs­wert ist also 278, aber die Streu­ung be­trägt sage und schrei­be 373 bis 178.

Wie sieht eigentlich die Wahrscheinlichkeitsverteilung aus? Die Gesamt­zahl der mög­li­chen Er­geb­nis­se bei N Ku­geln und n Zie­hun­gen sollte Nⁿ sein, aber wie vie­le davon ha­ben eine be­lie­bi­ge Kugel genau k-mal ge­zogen? Und selbst wenn ich das aus­rech­nen könn­te, wie hilft mir das, fest­zu­stel­len, ob meine empi­risch er­hal­te­­ne Ver­tei­lung sta­tis­tisch plau­si­bel ist? Gibt es da einen sta­tis­ti­schen Test?

Mathematik, programmieren, Mathematiker, Statistik, Stochastik, Wahrscheinlichkeit, Wahrscheinlichkeitstheorie, Binomialverteilung, Erwartungswert, Kombinatorik

Studiengang finden

Hallo, ich bin derzeit am überlegen, was besser für mich ist. Ich habe ein Angebot einer Hochschule (1h Zugfahrt von Zuhause) in Wiinfo. Ansonsten von der Fernuni Hagen in Powi.

Ich möchte einen Job, wo ich gute mastermöglichkeiten habe, relativ sicheren Arbeitsplatz, möglichst wenig Konkurrenz und gutes Gehalt.

Zudem möchte ich einen Mehrwert schaffen, international arbeiten wäre zudem auch super.

Ich war nie sonderlich gut in Mathematik, mein Verständnis dafür ist ebenfalls relativ eingeschränkt.

Mich reizt an Wiinfo jedoch die interdisziplinäre Art, Wirtschaft und Informatik zu verbinden. Zudem wird IT auch zukünftig immer wichtiger werden, deshalb denke ich habe ich dort bessere Chancen als mit Powi.

Allerdings macht mir der Matheanteil bedenken.

An Powi finde ich vor allem inhaltlich alles sehr interessant, die Geschichte wie auch derzeitige Entwicklungen. Master in international Peace studies/ Relations fänd ich cool um später bei der UN/ Nato oder dem auswärtigen Amt zu arbeiten oder mich als Berater selbstständig zu machen. Allerdings sind hier die Gehalts/ Berufschancen wie ich gelesen habe wohl relativ mau.

Hat jemand Erfahrung in einem der Studiengänge?
Was würdet ihr mir empfehlen?

Wirtschaftsinformatik 67%
Politikwissenschaft, Verwaltungswissenschaft und Soziologie 33%
Gehalt, Programm, programmieren, Berufswahl, Politik, Hochschule, Informatik, Politikwissenschaft, Wirtschaftsinformatik, Mint, FernUniversität Hagen, Politikerin

Meistgelesene Beiträge zum Thema Programmieren