Category: Entwicklung

Hello World: Minimiert auf 167 Bytes

2025-01-02
Hello World: Minimiert auf 167 Bytes

Dieser Artikel dokumentiert die Reise des Autors, das kleinstmögliche „Hello World“-Programm zu erstellen. Anfangs mit Rust, entdeckte der Autor, dass die Minimierung der Binärdateigröße einen tiefen Einblick in die Low-Level-Programmierung erforderte. Schließlich wurde Assemblersprache gewählt, und durch geschickte Techniken wie das Entfernen von Debugging-Symbolen und das manuelle Erstellen des ELF-Headers wurde ein 64-Bit-Linux-„Hello World“-Programm auf beeindruckende 167 Bytes reduziert! Der Artikel untersucht detailliert die Dateigrößenzunahme während des Linking-Prozesses und die Details des ELF-Dateiformats, was ihn für Low-Level-Systementwickler sehr wertvoll macht.

Regeln für das Schreiben hervorragender Software-Tutorials

2025-01-02
Regeln für das Schreiben hervorragender Software-Tutorials

Dieser Blogbeitrag beschreibt Regeln für das Erstellen außergewöhnlicher Software-Tutorials. Er betont die Wichtigkeit, Fachjargon zu vermeiden, Ziele klar zu formulieren, kopierbare und einfügbare Code-Schnipsel bereitzustellen, den Code funktionsfähig zu halten und Abhängigkeiten zu minimieren. Der Autor verwendet kontrastierende Beispiele, um die Unterschiede zwischen guten und schlechten Tutorials zu veranschaulichen und bietet praktische Verbesserungen wie die Verwendung langer Befehlszeilenflags, die Trennung benutzerdefinierter Werte von wiederverwendbarer Logik und die Verwendung konsistenter, beschreibender Überschriften. Das letztendliche Ziel ist es, anfängerfreundliche Tutorials zu erstellen, die leicht zu verstehen und zu befolgen sind.

Entwicklung Software-Tutorials

Notion: Ihr All-in-One-Workspace

2025-01-02
Notion: Ihr All-in-One-Workspace

Notion ist ein All-in-One-Workspace, der Notizen, Aufgabenverwaltung, Wikis und Datenbanken auf einer einzigen Plattform vereint. Bekannt für seine Flexibilität und Anpassbarkeit ermöglicht Notion Benutzern die Erstellung personalisierter Workflows und Wissensdatenbanken. Egal ob Student, Freelancer oder Teammitglied, Notion hilft Ihnen, Informationen zu organisieren und die Produktivität zu steigern. Seine leistungsstarken Datenbankfunktionen ermöglichen die Verwaltung von allem, von einfachen To-Do-Listen bis hin zum komplexen Projektmanagement.

Entwicklung

7-tägiger Test: Personalisierter KI-Kalender mit ChatGPT-Integration

2025-01-02

Ein personalisierter KI-Kalender mit ChatGPT-Integration sucht 20 Tester für einen 7-tägigen Test (mindestens 3 Tage). Dieses Tool hilft bei der Planung von Aufgaben im Voraus und liefert am geplanten Tag KI-gestützte, maßgeschneiderte Antworten, um die Kreativität anzukurbeln und Hindernisse zu überwinden. Benutzer können KI-Antworten über eine Funktion „Chat starten“ verfeinern. Der Test ist auf 10 Nachrichten pro Sitzung und 100 Wörter pro Benutzernachricht begrenzt. Speichern Sie den Link als Lesezeichen; die Discord-Einladung ist einmalig gültig. Feedback zu Funktionen und Benutzeroberfläche ist willkommen. Fake-E-Mails sind akzeptabel.

Entwicklung KI-Kalender

Interne des Linux-Kontextwechsels: Prozesszustand und Speicher

2025-01-02
Interne des Linux-Kontextwechsels: Prozesszustand und Speicher

Dieser Artikel untersucht detailliert, wie der Linux-Kernel Prozesse und deren Zustände darstellt, wobei der Fokus auf den wichtigsten Datenstrukturen liegt: task_struct und mm_struct. task_struct verwaltet den Ausführungszustand, einschließlich des Prozesszustands, der CPU-Zeitverfolgung und der Scheduling-Informationen. mm_struct verwaltet den Speicherzustand, einschließlich Seitentabellen, Speichersegmentgrenzen und architekturspezifischen Details. Der Artikel erklärt die Felder dieser Strukturen und deren Rolle beim Kontextwechsel detailliert und bietet ein tiefes Verständnis der internen Funktionsweise des Linux-Kernels.

Connet: Ein P2P-Reverse-Proxy mit NAT-Traversal

2025-01-02
Connet: Ein P2P-Reverse-Proxy mit NAT-Traversal

Connet ist ein Peer-to-Peer-Reverse-Proxy für NAT-Traversal, inspiriert von ngrok, frp und rathole. Er ermöglicht es, lokale Dienste für andere Geräte im Internet verfügbar zu machen, ohne eine öffentliche IP-Adresse zu benötigen. Im Gegensatz zu seinen Vorgängern laufen Connet-Clients sowohl auf dem Dienstanbieter (Ziel) als auch auf dem Dienstanforderer (Quelle), wodurch eine private und effiziente Kommunikation gewährleistet wird. Derzeit in der Alpha-Phase unterstützt Connet direkte Verbindungen und Verbindungen über einen Relay-Server und verschlüsselt die gesamte Kommunikation mit TLS.

Entwicklung Reverse-Proxy

Lösung für mysteriöse WLAN-Latenzprobleme: Es war Qt5!

2025-01-02

Acht Monate lang kämpfte der Autor mit intermittierenden WLAN-Latenzspitzen von über 2000 ms, was Gaming und Videoanrufe unmöglich machte. Neue WLAN-Adapter, Neuinstallation des Betriebssystems – nichts half. Der Übeltäter? MediBang Paint Pro, das Qt5 (<5.14) verwendet. Sein QNetworkAccessManager prüft ständig nach Änderungen an der WLAN-Schnittstelle und verursacht massive Latenz. Die Lösung? Setzen Sie die Umgebungsvariable QT_BEARER_POLL_TIMEOUT auf -1.

Postgres 18 wird UUIDv7 unterstützen: Schluss mit Sortierproblemen bei IDs in Tests

2025-01-02

PostgreSQL wird in Version 18 Unterstützung für UUIDv7 erhalten. Diese verbesserte UUID-Generierungsmethode behält die Vorteile der Zufälligkeit von UUIDv4 bei und gewährleistet gleichzeitig monoton steigende IDs innerhalb eines einzelnen Postgres-Backends. Dies wird durch die Einbindung eines Zeitstempels und eines 12-Bit-Sub-Millisekunden-Zählers erreicht. Tests werden vereinfacht, da Testdaten automatisch sortiert werden, wodurch manuelles Sortieren entfällt und die Effizienz und Zuverlässigkeit der Tests verbessert wird. Obwohl die Monotonie nicht zwischen Backends garantiert ist, reicht sie für die meisten Testszenarien aus. Diese Verbesserung soll Ende 2025 mit PostgreSQL 18 veröffentlicht werden.

Entwicklung

HtmlSlice: Wiederverwendbare HTML-Schnipsel für Ruby

2025-01-02
HtmlSlice: Wiederverwendbare HTML-Schnipsel für Ruby

HtmlSlice ist ein Ruby-Gem, das es Ruby-Klassen ermöglicht, dynamisch wiederverwendbare HTML-Schnipsel zu generieren. Es behebt Einschränkungen bestehender HTML-Generatoren, wie z. B. Probleme mit dem Instanzbereich von Markaby. HtmlSlice unterstützt eine breite Palette von HTML-Tags, einschließlich leerer Tags, und maskiert HTML-Inhalte sicher, um XSS-Schwachstellen zu vermeiden. Es ist leichtgewichtig und einfach zu verwenden und eignet sich sowohl für die Generierung von vollständigem Anwendungs-HTML als auch nur von HTML-Partials. Die Integration mit Rails wird ebenfalls gezeigt.

Entwicklung Gem

Mill JVM Build-Tool: Direkt ausführbare Assembly-JARs

2025-01-02

Das Mill JVM Build-Tool erzeugt Assembly-JARs, die direkt ausführbar sind, wodurch der `java -jar`-Befehl überflüssig wird. Dies wird erreicht, indem ein Shell-Skript an den Anfang der JAR-Datei angefügt wird, welches dann die Java-Laufzeitumgebung aufruft. Dieses Skript ist geschickt so konzipiert, dass es sowohl mit Unix- als auch mit Windows-Systemen kompatibel ist und plattformübergreifende Ausführung ermöglicht. Der Artikel beschreibt detailliert die Funktionsweise, wobei die Eigenschaften von ZIP-Dateien genutzt werden, um ein Startskript mit dem Inhalt des JAR zu verketten, um eine nahtlose Ausführung zu gewährleisten. Dies verbessert die Integration von Java-Programmen in Command-Line-Workflows erheblich.

Entwicklung Build-Tool

FineCodeX: Eine JavaScript-abhängige Anwendung

2025-01-02

FineCodeX ist eine Anwendung, die JavaScript benötigt, um korrekt zu funktionieren. Wenn JavaScript in Ihrem Browser deaktiviert ist oder Ihr Gerät es nicht unterstützt, können Sie FineCodeX nicht verwenden. Stellen Sie sicher, dass JavaScript in Ihrem Browser aktiviert ist, um eine optimale Erfahrung zu gewährleisten.

Entwicklung Webanwendung

Raytracing am Wochenende: Von Null zu beeindruckenden Bildern

2025-01-02

Dieses Tutorial lehrt Sie, wie Sie innerhalb eines Wochenendes einen Raytracer mit C++ programmieren. Beginnend mit der Ausgabe einfacher PPM-Bilder werden nach und nach Konzepte wie Strahlen, Kameras, Sphären und Materialien eingeführt, was schließlich zu einem Renderer führt, der Anti-Aliasing-Bilder mit diffusen und metallischen Materialien erzeugen kann. Das Tutorial behandelt Vektormathematik, Strahl-Sphäre-Schnittpunkte, Oberflächennormalenberechnungen, Materialabstraktion und Tiefenschärfe und liefert klare Codebeispiele und schöne Renderings. Selbst ohne Programmiererfahrung können Sie dem Tutorial folgen und Ihren eigenen Raytracer erstellen.

Entwicklung

Emulation der FMAdd-Instruktion: Ein tiefer Einblick in 32-Bit-Gleitkommazahlen

2025-01-02

Dieser Beitrag befasst sich mit der Emulation der FMAdd-Instruktion (fused multiply-add) auf Hardware ohne native Unterstützung, insbesondere mit einer SIMD-Implementierung für 32-Bit-Gleitkommazahlen. Er erklärt die Funktionsweise von FMAdd und wie man die doppelten Rundungsfehler vermeidet, die bei Zwischenberechnungen mit Gleitkommazahlen auftreten. Der Autor beschreibt eine clevere Technik, die „Runden auf ungerade“ und die zusätzliche Genauigkeit von Gleitkommazahlen mit doppelter Genauigkeit nutzt, um Rundungsfehler zu eliminieren und genaue FMAdd-Ergebnisse zu erzielen. Der Beitrag behandelt auch kurz die Berechnung genauer Additionsergebnisse und Fehlerterme und kündigt einen Folgeartikel zur Behandlung von 64-Bit-Gleitkommazahlen an.

Dropbox Engineering Karriere-Rahmen: Ein tiefer Einblick

2025-01-02

Dropbox hat seinen Engineering Karriere-Rahmen vorgestellt, ein Leitfaden, der nicht als Checkliste für Beförderungen gedacht ist, sondern als Werkzeug, um Ingenieuren zu helfen, die Verantwortlichkeiten und den Einfluss auf jeder Ebene (z. B. Softwareentwickler IC1 bis IC7) zu verstehen. Er definiert Kernverantwortlichkeiten und fachliche Fähigkeiten und betont den geschäftlichen Einfluss als wichtigste Kennzahl. Jede Ebene beschreibt die erwarteten Verhaltensweisen in den Säulen Ergebnisse, Richtung, Talent und Kultur. Ingenieure arbeiten mit ihren Managern zusammen, um quartalsweise Ziele zu setzen und den Rahmen zur Steuerung ihrer Entwicklung und zur Erzielung nachhaltiger Wirkung zu nutzen.

Entwicklung Karriere-Rahmen

mitmproxy2swagger: Automatische Reverse-Engineering von REST-APIs

2025-01-02
mitmproxy2swagger: Automatische Reverse-Engineering von REST-APIs

mitmproxy2swagger ist ein leistungsstarkes Tool, das automatisch von mitmproxy erfassten Netzwerkverkehr in OpenAPI 3.0-Spezifikationen umwandelt. Dadurch können Sie REST-APIs automatisch reverse-engineeren, indem Sie einfach Ihre Anwendungen ausführen und den Datenverkehr erfassen. Es unterstützt sowohl mitmproxy-Flow-Dateien als auch HAR-Dateien, die aus den Entwicklertools des Browsers exportiert wurden. Zur Verwendung erfassen Sie den Datenverkehr mit mitmproxy, speichern Sie ihn als Datei und führen Sie dann mitmproxy2swagger aus, wobei Sie die Eingabe- und Ausgabedatei sowie das API-Präfix angeben. Der erste Durchlauf generiert ein anfängliches Schema, das manuell bearbeitet werden muss, um unerwünschte Pfade zu entfernen. Ein zweiter Durchlauf generiert die vollständige OpenAPI-Spezifikation basierend auf dem bearbeiteten Schema, optional mit Beispieldaten.

Entwicklung

Zasper: Eine überlegene IDE für Data Science

2025-01-02
Zasper: Eine überlegene IDE für Data Science

Zasper ist eine neue IDE, die speziell für Data Science entwickelt wurde und sich durch massive Parallelität, minimalen Speicherbedarf und außergewöhnliche Geschwindigkeit auszeichnet. Sie eignet sich perfekt für REPL-artige Datenanwendungen, wobei Jupyter Notebooks ein Beispiel dafür sind. Derzeit wird Zasper vollständig unter Mac und mit eingeschränkter Unterstützung unter Linux unterstützt. Benchmarks zeigen, dass Zasper 75 % weniger RAM und CPU als JupyterLab verbraucht. Erstellt von Prasun Anand, zielt es darauf ab, eine kostenlose, Open-Source-Lösung zu sein, die lokal läuft und die Leistung moderner Computer maximiert.

Entwicklung

Autodesk löscht jahrelange Forenbeiträge: Entwickler-Aufstand

2025-01-02

Autodesks Ankündigung, Forenbeiträge älter als 10 Jahre zu archivieren (d.h. zu löschen), hat in der Entwickler-Community für Empörung gesorgt. Wertvolle Codebeispiele, Lösungen und jahrelanges geteiltes Wissen drohen zu verschwinden, was für Entwickler, die auf diese Ressource angewiesen sind, erhebliche Verluste bedeutet. Autodesk nennt als Begründung eine verbesserte Suchfunktion und Benutzererfahrung, doch Entwickler bezeichnen den Schritt als „monumental dumm“ und werfen dem Unternehmen vor, das gemeinschaftliche Wissen zu zerstören und langfristige Beziehungen zu schädigen. Viele wechseln zu alternativen Plattformen wie TheSwamp und GitHub.

Kotaemon: Open-Source RAG-Tool zum Chatten mit deinen Dokumenten

2025-01-02
Kotaemon: Open-Source RAG-Tool zum Chatten mit deinen Dokumenten

Kotaemon ist ein Open-Source-Tool auf Basis von Retrieval-Augmented Generation (RAG), mit dem du mit deinen eigenen Dokumenten chatten kannst. Es bietet eine übersichtliche und benutzerfreundliche Oberfläche und unterstützt verschiedene Large Language Models (LLMs) wie OpenAI, Azure OpenAI und lokale LLMs. Egal ob Endbenutzer, der Dokumenten-QA durchführt, oder Entwickler, der seine eigene RAG-Pipeline baut, Kotaemon bietet praktische Werkzeuge und eine anpassbare Benutzeroberfläche. Es unterstützt mehrere Dateitypen und bietet erweiterte Funktionen wie multimodale QA, komplexes Reasoning und konfigurierbare Einstellungen.

Entwicklung

Mercure: Eine schnelle und zuverlässige Lösung für Echtzeitkommunikation

2025-01-02
Mercure: Eine schnelle und zuverlässige Lösung für Echtzeitkommunikation

Mercure ist eine offene, einfache, schnelle, zuverlässige und akkuschonende Lösung zum Senden von Datenaktualisierungen an Webbrowser und andere HTTP-Clients. Sie ist ideal zum Veröffentlichen asynchroner und Echtzeitaktualisierungen von Ressourcen, die über Web-APIs bereitgestellt werden, und unterstützt reaktive Web- und mobile Anwendungen. Das Protokoll und eine produktionsreife Go-Implementierung sowie Bibliotheken und ein Docker-Image sind auf GitHub verfügbar. Eine verwaltete und hochskalierbare Version wird auch auf Mercure.rocks angeboten.

Blogs verrotten, Wikis warten: Die Migrationsreise eines Entwicklers

2025-01-02

Ein Entwickler schrieb auf seiner Website, dass Blogs wie veraltete Produkte sind, die verrotten werden; während Wikis wie ein endloser Abgrund sind, der darauf wartet, erforscht und beschrieben zu werden. Er migriert seine Website auf ein brandneues Wiki-System und teilt seine Gedanken zu Blogs vs. Wikis und seine Reise beim Aufbau einer neuen Website. Er argumentiert, dass Wikis die dynamische und gemeinschaftsorientierte Natur von Inhalten besser widerspiegeln, während Blogs wie ein statisches Schaufenster wirken. Er lädt alle ein, sich seinem neuen Wiki anzuschließen und gemeinsam einen lebendigen und sich ständig weiterentwickelnden Online-Raum zu schaffen.

(j3s.sh)

AROS OS 2024: Ein Jahr des Fortschritts auf dem Weg zu 64 Bit

2025-01-02
AROS OS 2024: Ein Jahr des Fortschritts auf dem Weg zu 64 Bit

2024 war ein aussergewöhnliches Jahr für das AROS-Betriebssystem. Das Kernsystem Deadwood erhielt wichtige Updates für die 32-Bit- und 64-Bit-Zweige, einschliesslich eines 64-Bit-Emulators für 32-Bit-Kompatibilität. Hauptdistributionen wie AROS One und Tiny AROS wurden aktualisiert und bieten verbesserte Software- und Spieleunterstützung. Die Hardware-Empfehlungen wurden erweitert, mit der Aufnahme des A600GS. Zu den Software-Highlights gehören der aktualisierte Odyssey-Browser mit einer neueren WebKit-Engine, eine neue Version des Text-Editors Final Writer und Ports klassischer Spiele wie Wipeout Rewrite und Doom 3. Insgesamt hat AROS 2024 bedeutende Fortschritte gemacht und den Weg für eine 64-Bit-Zukunft geebnet.

Entwicklung 64 Bit

SvarDOS: DR-DOS als Open-Source-Betriebssystem wiedergeboren

2025-01-02
SvarDOS: DR-DOS als Open-Source-Betriebssystem wiedergeboren

SvarDOS, ein Open-Source-Betriebssystem basierend auf DR-DOS, hat kürzlich den Übergang von einer FreeDOS-Distribution zu einem eigenen EDRDOS-Kernel vollzogen. Es läuft auf 8086- oder 8088-PCs und verfügt über einen netzwerkfähigen Paketmanager. Obwohl die Standardinstallation extrem klein ist, enthält das umfangreiche Repository über 400 Pakete, darunter Netzwerktreiber, Editoren und Spiele. SvarDOS erfordert mehr manuelle Konfiguration als FreeDOS, aber seine leistungsstarken Funktionen und der Online-Update-Mechanismus machen es zu einem bemerkenswerten Retro-Betriebssystem.

Klebstoffarbeit wird als schädlich betrachtet: Ein Überlebensleitfaden für effektive Ingenieure

2025-01-02

Dieser Artikel untersucht das Konzept der „Klebstoffarbeit“ im Software-Engineering. Obwohl sie für die Teameffizienz entscheidend ist (z. B. Aktualisierung der Dokumentation, Behebung technischer Schulden), wird diese unscheinbare Arbeit oft nicht belohnt, was Ingenieure benachteiligt, die sie priorisieren. Der Autor argumentiert, dass Unternehmen Klebstoffarbeit nicht belohnen, weil sie wollen, dass sich Ingenieure auf die Bereitstellung von Funktionen konzentrieren, nicht auf die Verbesserung der Gesamteffizienz. Die effiziente Strategie besteht darin, Klebstoffarbeit taktisch auf die Projekte anzuwenden, für die Sie verantwortlich sind, um deren Erfolg zu gewährleisten, anstatt die Bemühungen ineffizient zu verteilen. Dies ist keine zynische Betrachtung der Büropolitik; sie basiert auf der Realität der geringen Effizienz in großen Unternehmen und der Priorisierung von Wachstum gegenüber kurzfristigen Effizienzgewinnen.

Entwicklung Teameffizienz

Rails 8: Überraschend gut für Solo-Projekte

2025-01-01

Nachdem ich eine neue Rails 8-Anwendung erstellt und bereitgestellt habe, ist klar: Rails ist großartig, besonders für kleine Projekte mit einem einzelnen Entwickler. Die neue Anleitung zum Einstieg ist ausgezeichnet und führt Sie von Null zu einer produktionsreifen Anwendung mit Authentifizierung, Caching, Rich Text, CI und einer Datenbank – alles ohne großen Aufwand. Rails 8 vereinfacht die Datenbankkonfiguration und macht SQLite produktionsbereit. Die integrierte CI-Konfiguration und die kostenlosen Github Actions-Minuten machen die kontinuierliche Integration zum Kinderspiel. Ein neuer, einfach zu verwendender Authentifizierungsgenerator und eine optimierte Bereitstellung verbessern das Erlebnis weiter. Rails 8 macht die Entwicklung effizient und zugänglich, selbst für Solo-Entwickler.

Entwicklung

ClearSpace: Digitale Entgiftung für weniger Bildschirmzeit

2025-01-01
ClearSpace: Digitale Entgiftung für weniger Bildschirmzeit

ClearSpace ist eine App, die Nutzern hilft, ihre Bildschirmzeit zu reduzieren. Sie bekämpft die Smartphone-Sucht mit Funktionen wie App-Zeitlimits, Ablenkungsblockern, Fokus-Management-Tools und herausforderungsbasierten Habit-Forming. Die App enthält auch Bildschirmzeit-Berichte, Accountability-Partner und achtsame Atemübungen, um gesündere digitale Gewohnheiten zu fördern und das digitale Wohlbefinden zu verbessern.

Nicht-intuitive Optimierung: Beschleunigung der Pfadvereinigung in Skia

2025-01-01
Nicht-intuitive Optimierung: Beschleunigung der Pfadvereinigung in Skia

Der Autor stieß auf Performance-Engpässe bei der Durchführung von Pfadvereinigungs-Operationen auf einer großen Anzahl von Vektorgrafik-Pfaden mit Skia. Der anfängliche naive Ansatz, Pfade iterativ zu vereinen, war langsam, und obwohl der Skia-Pfad-Builder Optimierungen bot, war er nicht schnell genug. Durch eine gründliche Untersuchung der internen Vorgänge von Skia's Pfadoperationen wurde festgestellt, dass die Anzahl der Kurven in jedem Pfad die Performance erheblich beeinflusste. Durch die Aufteilung der Pfadvereinigung in kleinere Intervalle und die rekursive Anwendung einer Divide-and-Conquer-Strategie erzielte der Autor eine deutliche Beschleunigung und übertraf schließlich die Standardmethode von Skia. Überraschenderweise führte die Erhöhung der Anzahl der Vereinigungs-Operationen durch diese Methode zu einer schnelleren Verarbeitung.

Sandbox-Entwicklung: Ein Jahr in einer VM

2025-01-01

Um die Nachteile einer unübersichtlichen Entwicklungsumgebung zu vermeiden, wechselte der Autor zu einer virtuellen Maschine. Unter Ubuntu 24.04 in VMware Fusion Pro auf macOS befinden sich alle Entwicklungswerkzeuge und Erweiterungen in der VM, was einen sicheren und isolierten Arbeitsbereich bietet. Obwohl einige Annehmlichkeiten wie nahtloses Kopieren und Einfügen verloren gehen, ist die Gesamterfahrung flüssig, mit minimaler Auswirkung auf die Leistung des Host-Systems. Der Autor sieht in diesem Ansatz langfristige Vorteile in Bezug auf Stabilität und Sicherheit, die die kleineren Nachteile aufwiegen.

Metas Glean: Code-Indexierung im großen Maßstab

2025-01-01
Metas Glean: Code-Indexierung im großen Maßstab

Meta hat Glean veröffentlicht, ein Open-Source-System zur Code-Indexierung, das auf Effizienz und Skalierbarkeit ausgelegt ist. Glean sammelt und verarbeitet Informationen aus Quellcode und stellt sie Entwicklertools über eine flexible Abfragesprache namens Angle zur Verfügung. Die innovative inkrementelle Indexierung bewältigt die Herausforderungen großer Codebasen und ermöglicht Funktionen wie Code-Navigation, Suche und Dokumentationsgenerierung. Die Vielseitigkeit von Glean unterstützt verschiedene Sprachen und benutzerdefinierte Datenschemata, was es zu einem wertvollen Werkzeug für Entwickler macht.

Entwicklung Code-Indexierung

Software-Design ist Wissensaufbau: Eine Fallstudie

2025-01-01
Software-Design ist Wissensaufbau: Eine Fallstudie

Ein Unternehmen lagerte seinen Integrationsdienst an einen SaaS-Anbieter aus und beschloss dann aufgrund von Kostengründen, einen internen Ersatz, SVC, zu entwickeln. Eine hochqualifizierte Ingenieurin, X10, beendete die Entwicklung von SVC unabhängig. Nachfolgende Teams hatten jedoch Schwierigkeiten, das System zu warten und zu modifizieren und zeigten eine extrem niedrige Effizienz. Der Artikel analysiert den Grund: Das Ergebnis der Softwareentwicklung ist nicht Code, sondern das Verständnis des Systems und seiner Geschäftslogik durch die Ingenieure – eine „Theorie“. Nach dem Weggang von X10 fehlte dem Team diese „Theorie“, was zu Schwierigkeiten bei der Systemwartung führte und es wie ein „Spukhaus“ erscheinen ließ. Der Autor argumentiert, dass sich das Software-Design auf den Wissensaufbau konzentrieren sollte, um das Verständnis und die Wartung durch nachfolgende Teams zu erleichtern und die Erstellung von „Legacy-Systemen“ zu vermeiden.

Von Next.js zu reinem React: ComfyDeploys Geschwindigkeitsschub

2025-01-01

Das ComfyDeploy-Team hat sein Dashboard von Next.js auf reines React migriert und die Build-Zeit von 3 Minuten auf 18 Sekunden reduziert, wobei die Hot-Reload-Zeit unter 200 ms liegt. Dies wurde durch Probleme mit langsamen Build-Zeiten von Next.js, schwierigem API-Testing und hohen API-Kosten von Vercel verursacht, als das Projekt wuchs. Der Wechsel zu React mit TanStack Router und Rspack verbesserte die Entwicklungseffizienz drastisch und zwang sie, ihr API-Design und ihre Code-Struktur zu optimieren. Obwohl sie einige Next.js-Funktionen verloren haben, hielten sie den Kompromiss für lohnenswert, was zu schnelleren Builds, einer angenehmeren Entwicklungserfahrung und einer optimierten Architektur führte.

Entwicklung
1 2 195 196 197 199 201 202 203 214 215