Automatische Kontexterkennung

Ich war beeindruckt, als ich merkte, dass Copilot erkennt, wie HTML und Javascript zusammenspielen. Für ein Projekt musste ich eine HTML-Tabelle mit Informationen zu Bildern erstellen. Also schrieb ich eine Tabelle mit einem Kopf, der definierte, was ich darstellen wollte:

  1. <table>
  2. <thead>
  3. <tr>
  4. <th>Name</th>
  5. <th>Width</th>
  6. <th>Height</th>
  7. </tr>
  8. </thead>
  9. <tbody></tbody>
  10. </table>

In meinem Skript definierte ich eine Liste der Bilder, eine Referenz zu der Tabelle und einen leeren String.

  1. <script>
  2. let names = [
  3. "husky-bed.jpg",
  4. "husky-cuddles.jpg",
  5. "larry-ball.jpg",
  6. "larry-kitchen.jpg",
  7. "larry-raincoat.jpg",
  8. "larry-sleeping-on-sofa.jpg",
  9. "larry-sleeping.jpg",
  10. "socke-looking.jpg",
  11. "socke-with-ball.jpg",
  12. "socke.jpg"
  13. ];
  14. let tablebody = document.querySelector('tbody');
  15. let out = '';
  16. </script>

Copilot bot mir sofort eine Schleife durch das Array an und den Code, der die Bildinformation ausliest.

  1. for (let i = 0; i < names.length; i++) {
  2. let img = new Image();
  3. img.src = 'img/' + names[i];
  4. img.onload = function() {
  5. out += '<tr><td>' + names[i] + '</td><td>' + this.width + '</td><td>' + this.height + '</td></tr>';
  6. tablebody.innerHTML = out;
  7. }
  8. }

Ein anderes Mal wollte ich einen "Kopieren"-Knopf erstellen. Ich definierte ein HTML-Button-Element mit einem Datenattribut mit dem Namen "snippet" in einer HTML-Liste.

  1. <ul id="snippets">
  2. <li>{{text}}<button data-snippet="{{ data }}">copy</button></li>
  3. </ul>

Das war alles, was Copilot brauchte, um ein Script anzubieten, das nicht nur erkannte, dass ich nur auf Knöpfe reagieren will, sondern auch das Datenattribut ausliest. Da meine Knöpfe "copy" als Text hatten, erkannte das System auch, dass ich diese Information in die Zwischenablage kopieren wollte.

  1. <ul id="snippets">
  2. <li>{{text}}<button data-snippet="{{ data }}">copy</button></li>
  3. </ul>
  4. <script>
  5. document.querySelector('#snippets').addEventListener('click', function(e) {
  6. if (e.target.tagName === 'BUTTON') {
  7. let snippet = e.target.getAttribute('data-snippet');
  8. navigator.clipboard.writeText(snippet);
  9. }
  10. });
  11. </script>

Maschinenunterstützte Programmierung als "Gib mir ein Ergebnis aus Github oder dem Web, das meine Aufgabe erfüllt" ist nicht, worum es hier geht. Viel interessanter ist, was passiert, wenn man diese Systeme in eigenen, größeren Projekten anwendet.

Sobald das System analysiert wurde, werden bestehende Funktionen und Zusammenhänge erkannt und als erste Ergebnisse angeboten – und nicht generische Lösungen aus dem Internet.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 KI in Entwicklerumgebungen: Spurkontrolle für ProgrammiererAutomatisierte Code-Standards? 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


mnementh 20. Apr 2023 / Themenstart

Kannst Du konkreter werden, was genau ich angeblich nicht verstehe. Denn wenn nicht ist...

karako 20. Apr 2023 / Themenstart

Menschen versuchen oft in allem etwas Bekanntes zu erkennen, aber wenn es falsch ist...

gadthrawn 19. Apr 2023 / Themenstart

Es gibt doch jetzt den lustigen Artikel, das ein Entwickler bei Großunternehmen extrem...

Graf_Hosentrick 17. Apr 2023 / Themenstart

Hinzu kommt, das man manchmal Doku brauch um der Doku willen. Entsprechend ist die dann...

Kommentieren



Aktuell auf der Startseite von Golem.de
Warnmeldungen
Rund alle 36 Stunden ein Alarm per Cell Broadcast

Zwischenfazit nach 100 Tagen: Bislang wurden bundesweit 77 Alarmmeldungen per Cell Broadcast übertragen.

Warnmeldungen: Rund alle 36 Stunden ein Alarm per Cell Broadcast
Artikel
  1. Vermona: Zufall und Synthesizer
    Vermona
    Zufall und Synthesizer

    Wie aus einem großen DDR-Staatsbetrieb ein erfolgreicher kleiner Hersteller von analogen Synthies wurde.
    Von Martin Wolf

  2. Digitalisierung: Behörde bekommt weniger Beschwerden über Faxwerbung
    Digitalisierung
    Behörde bekommt weniger Beschwerden über Faxwerbung

    Naht allmählich das Ende der Technologie? Die Bundesnetzagentur hat 2022 viel weniger Beschwerden über Fax-Spam bekommen als im Jahr zuvor.

  3. Ceconomy AG: Media Markt plant offenbar Reparaturabo
    Ceconomy AG
    Media Markt plant offenbar Reparaturabo

    Egal wo die Ware gekauft wurde: Bei Media Markt soll man künftig seine Elektronikgeräte reparieren lassen können - mit einem zweistufigem Abo.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • SanDisk Ultra NVMe 1 TB ab 39,99€ • Samsung 980 1 TB 45€ • MindStar: be quiet! Pure Base 500 69€, MSI MPG B550 Gaming Plus 99,90€, Palit RTX 4070 GamingPro 666€, AMD Ryzen 9 7950X3D 699€ • Corsair DDR4-3600 16 GB 39,90€ • KFA2 RTX 3060 Ti 329,99€ • Kingston Fury 2 TB 129,91€ [Werbung]
    •  /