Recherche in 2.851.179 Produkten
Eine Ressource zu akquirieren und anschließend wieder freizugeben ist gar nicht so einfach. Umso schöner ist es dann, wenn die Programmiersprache einem dabei hilft.
Unbestritten sagt ein guter Name sicherlich mehr als tausend Worte Dokumentation. Allerdings stellt sich oft heraus, dass die Wahl eines Namens gar nicht so einfach ist. Grund genug, sich einmal experimentell damit zu beschäftigen.
Casting ist ja schlimm genug. Aber irgendwie will es nicht immer gelingen, die Klassenstruktur derart zu definieren, dass ein explizites Konvertieren unnötig ist. Leider ist es oft so, dass definitionsbedingt ein Casting zwingend notwendig ist.
Geteiltes Leid ist halbes Leid. Wer's glaubt. Hat man sich nämlich mitgeteilt und wird nicht verstanden, dann wird das Leid leider nur aufgeschoben, bis durch eine negative Zahl geteilt werden muss.
Zu den interessantesten Dingen in der Informatik gehört sicherlich die Division. Vielleicht verführt aber der Umstand, dass es die allerlahmste Operation ist, dazu, im Zusammenhang mit Zweierpotenzen auf das Shiften zurückzugreifen – was allerdings nicht immer zum gewünschten Ergebnis führt.
Von der Nützlichkeit des Null-Pointers kann man ja halten, was man will, aber es macht das Programmieren doch etwas unübersichtlicher. Kein Wunder, dass in einigen Sprachen der Elvis-Operator Abhilfe schaffen muss.
Zu den Fehlern, die sich am besten verstecken können, gehören Überläufe. So grenzt es eigentlich an ein Wunder, dass nicht mehr Programmiersprachen unterstützend gegen diese Bösewichte vorgehen.
Liefert eine Methode void – also nichts –, dann kann man dieses natürlich nicht direkt weiterverarbeiten. Außer man heißt Dart – und hat einen Doppel-Punkt.
Programmierer stoßen immer wieder auf Code, der zwar richtig aussieht, es aber leider nicht ist. Das hat zwar oft praktische Gründe, wird dadurch aber auch nicht besser.
Frau Liskov haben wir nicht nur die abstrakten Datentypen, sondern auch noch das nach ihr benannte Prinzip zu verdanken. Letzteres bereitet allerdings gelegentlich Probleme. Und das ganz besonders, wenn Symmetrie angesagt ist.
Verschiedene Optionen für dotnet publish erlauben individuelle Anpassungen der ohne Dockerfile mit .NET CLI angelegten Docker-Deployments.
Ein neues NuGet-Paket kümmert sich um die passende Docker-Konfiguration für containerisierte .NET-Anwendungen.
Der Online-Infotag widmet sich diversen Themen rund um C#, .NET und KI-unterstützte Softwareentwicklung.
Wer WebAPI-Projekte mit ASP.NET Core erstellt, hat die Wahl zwischen dem in .NET 6.0 eingeführten Minimal-API-Stil und dem ursprünglichen API-Stil.
Microsoft hat in .NET 7.0 den Umgang mit Befehlsnamen und deren Parametern auf der Kommandozeilen vereinheitlicht.
.NET 7.0 bietet für Konsolen- und Webprojekte wieder den klassischen Startcode mit einer Programklasse inklusive Main()-Methode in den Projektvorlagen.
Das aktuelle .NET-Release zeigt Vorschläge für Befehle im Kommandozeilenfenster. Die Autovervollständigung muss man allerdings zunächst aktivieren.
.NET 6.0 hat einige generische Mathematikoperationen für beliebige Zahlentypen eingeführt, die im aktuellen .NET produktionsreif sind.
Die jüngste C#-Version ermöglicht das Überladen von Operatoren nicht nur in Klassen, sondern auch in Interfaces.
In der neuen Version von Microsofts Programmiersprache C# dürfen Schnittstellendeklarationen von Properties und Methoden als static abstract deklariert sein.
Selbstbestimmte Teams sind produktiver, diese Erkenntnis ist alles – nur nicht neu.
Neulich nach dem Yoga erzählt eine Teilnehmerin lautstark davon, dass ihr Sohn jetzt tatsächlich Informatik studieren würde.
Dunbars Zahl – 150 – muss für vieles herhalten. Manche Firmen richten (oder richteteten) sogar ihre Projekt-, Unternehmens- oder Standortgröße danach aus.
Es gibt keine nichtfunktionalen Anforderungen, sagte (big) Dave Thomas einst bei einer Keynote auf der Agile-Konferenz.
Inspector Barnaby wirft interessante Fragen zum Verhältnis zwischen Marketing-Managern und Entwicklern auf.
Mit Apps und Smartphones wird alles besser. Da ist es nur klar, dass Windows 10 von diesem "Fortschritt" profitieren will. Mit einer tollen Foto-App. Jetzt müsste man das nur noch benutzen können.
Alle introvertierten Programmierer aufgepasst: Zu wenig soziale Kompetenz auf Flügen kann dramatische Folgen haben. Also immer freundlich sein und nicht zu heftig hacken.
Über die Entstehung des agilen Manifests gibt es ja unterschiedliche Geschichten. Auf der OOP wurde aus Anlass des 15-jährigen Jubiläums in einer sogenannten Story-Harvesting-Session einigen Varianten auf den Grund gegangen.
Ein bemerkenswerter Vortrag auf dem Chaos Communication Congress ging auf das Thema Onion Services (oder Hidden Services) ein. Bekannt als Feature des "Dark Net" handelt es sich eigentlich um den nächsten Schritt für mehr Privatsphäre im Internet nach der Etablierung von Verschlüsselung mit HTTPS.
Es gab einiges Bemerkenswertes beim Chaos Communication Congress zwischen Weihnachten und Silvester 2015, das auch die IT und Digitalgesellschaft allgemein betrifft. Zum Beispiel ein bemerkenswerter Bericht einer ITlerin zum Umgang mit ihrem Herzschrittmacher, der viele Fragen aufwirft.
Der Livestream bringt am Mittwoch um 18 Uhr spannende Einblicke und Hintergründe zur enterJS, interessante Gespräche mit Gästen und ein Gewinnspiel.
Stellenanzeigen gleichen sich üblicherweise wie ein Ei dem anderen, statt den ersten individuellen Eindruck zu vermitteln, den man von einem Unternehmen erhält.
Im Dezember 2021 sorgte die Sicherheitslücke Log4Shell in dem Logging-Framework Log4j für Java für Aufregung, die vom BSI als kritisch eingeschätzt und auf Warnstufe Rot eingestuft wurde. Nachdem sich der Staub inzwischen gelegt hat, ist es an der Zeit für einen Review: Was lässt sich aus alldem lernen?
Der Advent gilt als besinnliche und beschauliche Zeit. Warum also nicht sich die Zeit nehmen und gemeinsam mit der Familie oder Freunden etwas schönes basteln und entwickeln – beispielsweise eine weihnachtliche LED-Schneelandschaft?
An TypeScript kommt heutzutage kaum noch jemand vorbei, der Anwendungen für das Web und die Cloud entwickeln möchte. Tatsächlich löst TypeScript eine ganze Reihe der Probleme von JavaScript, insbesondere hinsichtlich der Skalierbarkeit im Team. Wie funktioniert TypeScript, und wie lernt man es am besten?
Der tech:lounge Reactober ist eine Reihe von sechs Webinaren, in denen sich alles um die UI-Entwicklung mit React dreht – vom Einstieg bis zum Deep-Dive.
Tabs oder Spaces? Diese Frage spaltet Entwicklerinnen und Entwickler seit Jahren, wenn nicht seit Jahrzehnten. Dabei ist die Frage, ob mit Tabs oder Spaces eingerückt werden sollte, eigentlich ganz leicht zu beantworten.
Die tech:lounge Summer Edition ist eine Reihe von 12 Webinaren, in denen es um die Themen Architektur, Codequalität, Containerisierung und moderne Entwicklung geht, und die sich an Einsteiger und Fortgeschrittene gleichermaßen richtet.
Teams und Unternehmen, die die Qualität ihrer Softwareentwicklung verbessern wollen, finden wertvolle Hilfe in den 12 Aspekten aus dem "Joel Test".
Die Luca-App enthält Code aus einem Open-Source-Projekt, hat aber dessen Lizenz verletzt. Die zugehörige Meldung bestimmte die Schlagzeilen der vergangenen Wochen. Doch was genau ist eigentlich Open Source, was ist der Unterschied zu Freier Software, und was lässt sich über Open Source lernen?
Mit Java kann man Anwendung mittlerweile gut modularisieren, muss aber auch Abhängigkeiten beachten. Wenn diese keine Java-Module sind, wird es spannend.
NullPointerExceptions sind mit die häufigste Fehlerquelle in Java. Durch statische Codeanalyse kann man diese Fehler deutlich minimieren.
Die jährliche Befragung zu Jakarta EE läuft bis zum 25. Mai. Sie dient der Arbeitsgruppe als Richtlinie für die Weiterentwicklung der Spezifikation.
In den letzten Jahren gab es verschiedene Veränderungen im Java Release Train, die zu Verwirrung und Missverständnissen in der Community geführt haben.
Mit aktuellen Programmierparadigmen und Features stellt sich die Frage, ob Java die stets beworbene Abwärtskompatibilität noch gewährleisten kann.
Logging ist ein wichtiges Instrument, aber es ist nicht einfach, das richtige Maß der zu protokollierenden Informationen zu finden.
Der Blog „Neuigkeiten von der Insel“ geht endlich weiter! Hier gibt es News und Meinungen zu Java, dem OpenJDK und aktuellen Themen der Java Community
Das aktuelle MicroProfile 4.0 hat deutlich länger auf sich warten lassen als geplant. Grund hierfür waren vor allem politische Überlegungen. Aber es gab auch die eine oder andere interessante Änderung innerhalb der APIs.
Einen Tag vor Weihnachten, und somit noch gerade eben so im alten Jahr, wurde MicroProfile 4.0 veröffentlicht. Offiziell war dieses Release bereits für den Sommer 2020 angekündigt. Ein grundlegendes organisatorisches Alignment sorgte aber für eine fast sechsmonatige Verzögerung. Hat sich das Warten gelohnt?
Das erste Jakarta-EE-Release bringt keine neuen APIs mit sich, sondern lediglich eine vollständig herstellerneutrale und offene Version dessen, was bereits da war. Hinter den Kulissen hat sich aber einiges mehr getan.
Der ECMAScript-Standard wird stetig weiterentwickelt und JavaScript damit stetig verbessert. Eine der größten Baustellen war bisher der Umgang mit Datum und Zeit. Das ändert sich jedoch mit der neuen Temporal API.
Die Intl API moderner Browser bringt hilfreiche Werkzeuge für Datums- und Zeitwerte und Zahlen. Zum Teil werden sogar bisherige I18N-Bibliotheken unnötig.
Bibliotheken und Frameworks setzen auf Dependency Injection, um mehr Flexiblität im Umgang mit Abhängigkeiten innerhalb einer Applikation zu erhalten.
Zugegeben, die Relevanz einiger GoF-Entwurfsmuster für JavaScript hält sich in Grenzen, wurden diese Entwurfsmuster doch ursprünglich dafür konzipiert, Rezepte für objektorientierte Programmiersprachen beziehungsweise das objektorientierte Programmierparadigma zu definieren.
Micro Frontends verfolgen einen ähnlichen Ansatz wie Microservices, nur in einer völlig unterschiedlichen Umgebung. Daher ergeben sich auch andere Vor- und Nachteile sowie eine veränderte Herangehensweise bei der Konzeption und Umsetzung.
Für die Arbeit mit der Systemzwischenablage stellt die W3C-Spezifikation "Clipboard API and events" zwei APIs zur Verfügung: die synchrone "Clipboard Event API" und die asynchrone "Asynchronous Clipboard API".
Eines der zentralen Themen in der Webentwicklung ist Sicherheit. Mit der Web Crypto API bieten moderne Browser mittlerweile ein Werkzeug, mit dem Entwickler auch clientseitig Informationen signieren und verschlüsseln können.
Das Entwicklerteam hinter React verfolgt einen interessanten Ansatz, der dafür sorgt, dass Single-Page-Applikationen nicht mehr reine Client-Monolithen sind. Die Idee ist Client und Server wieder näher zusammenzubringen und das Beste aus dieser Kombination herauszuholen.
Gemeinsam macht das Bloggen noch mehr Spaß! Ab sofort gibt es wieder neue Tales from the Web side – mit Verstärkung.
Seit Version 10.5 stellt Node.js sogenannte Worker Threads als experimentelles Feature zur Verfügung. Diese Blogartikel stellt das Feature kurz vor.
Softwarearchitektur beeinflusst den Erfolg eines Projekts erheblich. Aber ausgerechnet "gute" Entwickler und Entwicklerinnen können Feinde der Architektur sein.
Meetings nerven! Also: abschaffen! Aber: Kommunikation ist wesentlicher Teil der Softwareentwicklung und Meetings ein wichtiges Kommunikationswerkzeug. Was nun?
Die Frage "Ist diese Software-Architektur zukunftssicher?" kann man eigentlich generell mit "nein" beantworten. Schlimmer noch: Die Frage zu stellen, kann schon auf ein falsches Verständnis von Architektur hinweisen.
Software-Entwicklung ist voller spannender Herausforderungen, und es gibt immer etwas Neues zu lernen: Software ist schließlich eine der komplexesten Dinge, die von Menschen gebaut wird. Aber die Ergebnisse in der Realität sind manchmal mehr als enttäuschend - sie sind beschämend.
Lange genug hat es geheißen, dass IT-Projekte einen Wettbewerbsvorteil versprechen. Schaut man der Realität ins Auge, wird ein IT-Projekt jedoch wie ein Kostenfaktor behandelt – nicht anders als Strom oder Miete. Dabei könnte es anders sein.
Das Wasserfall-Modell ist recht alt, aber taucht dennoch bei der Diskussion über Softwareentwicklungsprozesse immer noch sehr häufig auf. Die Geschichte dieses Modells ist weitgehend unbekannt – dabei zeigt sie die Herausforderungen des Modells und warum man es nicht nutzen sollte.
Softwaresysteme sind kompliziert. Best Practices für den Systementwurf könnten dabei helfen, die Komplexität möglichst einfach zu bändigen. Leider nützen sie wenig.
Wenn man auf Entwickler*innen nicht aufpasst, machen sie den ganzen Tag Unsinn. Wie soll man damit umgehen?
In der Softwarearchitektur nimmt die Diskussion von Zielbildern viel Platz ein – schließlich muss es ein Ziel geben, auf das man hinarbeitet. Aber die Prioritäten sollten anders verteilt sein, und eigentlich sind Zielbilder auch nicht das Ziel.
Metaphern für Softwareentwicklung gibt es viele. Sie als Spiel zu begreifen, scheint zunächst respektlos. Wenn man tiefer gräbt, ergeben sich aber zahlreiche Parallelen.
GPIO-Breakout-Boards wie das Adafruit FT232H ermöglichen den Zugriff auf elektronische Schaltungen von einem Computer.
Das neue Board Arduino Giga R1 WiFi hat denselben Formfaktor wie die Mega-Boards von Arduino, denen es aber in allen Belangen technisch überlegen ist.
In der nächsten Zeit bekommt dieser Blog einen Reboot. Bei den Themen gibt es eine Mischung aus Embedded Boards, Softwarearchitektur und KI.
Das Moog Mavis Selbstbaukit eignet sich gut als Einstieg in Synthesizer, nicht nur weil es East-Coast-Synthese mit West-Coast-Synthese verknüpft.
Dieser Beitrag über Synthesizer behandelt das Selbstbaukit ZeKit. Zur Sprache kommen Montage und Nutzung des vierstimmigen paraphonischen Hybrid-Synthesizers.
Eigentlich sollte auf diesem Blog schon längst eine Serie zum Raspberry Pi Zero 2 W beginnen. Doch die Chip-Krise hat dies verhindert.
In der letzten Episode stand der Korg NTS-1 im Fokus. Das ist aber nicht der einzige verfügbare Synthesizer zum Zusammenbauen.
Der Synthesizer ist ein Paradebeispiel für die Symbiose aus Musikinstrumentenbau und Elektronik. Ein kleiner Bausatz macht Appetit darauf.
Der Roboterarm Tinkerkit Braccio Robot verspricht einen kostengünstigen Einstieg in die Robotik. Lohnt sich der Kauf?
Als der Raspberry Pi Pico Anfang des Jahres das Licht der Welt erblickte, hat Arduino ein eigenes Board auf Basis des RP2040-Microcontrollers angekündigt. Nach wenigen Monaten ist es nun soweit. Der Arduino Nano RP2040 Connect lässt sich endlich käuflich erwerben. In diesem Beitrag geht es um erste Erfahrungen mit dem neuen Board.
Web-Platform-APIs erlauben Zugriff auf das lokale Dateisystem oder die Zwischenablage. Zur bequemen Nutzung der Schnittstellen in C# stehen NuGet-Pakete bereit.
Apple liefert in Safari für iOS und iPadOS 16.4 Beta 1 gleich mehrere Programmierschnittstellen aus, die Webanwendungen deutlich leistungsfähiger machen.
Die größte Website ist 678 MByte "schwer" und ein Prozent nutzt noch immer das Marquee-Tag: Diese und weitere Einblicke fördert der 2022 Web Almanac zutage.
Über die Direct Sockets API könnten Web-Apps in Zukunft UDP- und TCP-Ports öffnen und sich direkt mit Geräten oder Diensten verbinden, die kein HTTP sprechen.
Das W3C, bislang von mehreren Universitäten betrieben, wird eine eigenständige Organisation. W3C-CEO Dr. Jeff Jaffe spricht über Gründe und Auswirkungen.
Apple bringt Web Push auf Safari für macOS, iPadOS und iOS. Damit können Websites und PWAs jetzt auf allen relevanten Plattformen Pushnachrichten empfangen.
Micro-Frontends sind Benutzeroberflächen, die sich aus kleinen isolierten Anwendungen zusammensetzen. Implementieren kann man sie zum Beispiel mit Web Components.
Auch in diesem Jahr gibt das HTTP Archive sein Jahrbuch Web Almanac heraus. Das kostenlose E-Book besteht aus 24 Kapiteln, die das Web aus unterschiedlichsten Blickwinkeln beleuchten.
Mit Capacitor und Cordova gibt es zwei Plattformen, die zum selben Ziel führen: Webanwendungen für mobile Plattformen und Stores verpacken. Zeit für einen Vergleich der beiden Cross-Plattform-Frameworks.
Adobe bringt Photoshop und Illustrator ins Web. Möglich machen das moderne Webschnittstellen wie Service Worker, Web Components und WebAssembly. Noch ist der Funktionsumfang gering, doch dabei soll es nicht bleiben.
Vor einigen Tagen hat Microsoft die Windows Azure Mobile Services angekündigt. Können Entwickler von iOS- und Android-Apps etwas damit anfangen?
Wer denkt, die Installation von Java 5 auf OS X Lion (oder Mountain Lion) sei trivial, der liegt leider falsch.
Das Thema ist ein Daueraufreger. US-Konzerne wie Adobe, Apple, Microsoft und andere "zocken" Nutzer in Europa und anderen Regionen außerhalb der USA mit überhöhten Preisen ab.
Kai König ist unzufrieden mit dem Stil und den Formaten vieler Online-Magazine für Tablets und E-Reader. Was kann man besser machen?
Adobe hat seine Exchange-Plattform in einer Beta-Version gestartet.
In der iX gibt es seit einigen Monaten die Rubrik App-Infos. Der erste Artikel dieser Reihe beschäftigte sich mit Gesellschaftsspielen für iOS und Android. Hier ein weiteres, sehr gelungenes Spiel.
Sencha Animator wurde vom Hersteller auf Version 1.3 aktualisiert. Hier einige der neuen Features.
Wie oft hört man, dass ColdFusion oder CFML tot, veraltet oder proprietär sei. Das stimmt so nicht unbedingt
Einige Neuigkeiten aus dem Adobe-Umfeld zu ActionScript, Flash Player für Mobilgeräte sowie der Zukunft von LCCS.
Der Markt der Animationstools für Webstandards entwickelt sich weiter. In einer losen Folge von Blogposts untersucht Kai König die Neuerungen in verschiedenen Werkzeugen; heute: Sencha Animator 1.2.
Das Buch "Make Space" von der d.school Stanford handelt von Arbeitsräumen für die kreative Gruppenarbeit und ihrer Gestaltung.
In der einschlägigen Gründerszene ist das Buch "Business Model Generation" Basislektüre und -werkzeug: Bernd Oestereich gibt eine Kurzvorstellung und führte ein Interview zur praktischen Anwendung durch ein Hamburger Start-up-Unternehmen.
1995 prägte Professor Clayton M. Christensen den Begriff "Disruptive Technologies", und seit ein paar Jahren wird Design Thinking als Methode zum disruptiven erfinderischen Denken populärer. Was ist damit gemeint?
Sind die großen Fachverbände noch aktuell? Inspirieren und vertreten sie noch Praxis und Innovation hinreichend? Sind die lose koppelnden Fachnetzwerke und emergierende Gemeinschaften die Zukunft?
Vielleicht wünscht und erträumt sich Bernd Oestereich nur diese neue Welt, aber möglicherweise ist Google+ wirklich der Wendepunkt zu etwas zivilisatorisch Neuem.
Was ist eigentlich ein (soziales) Netzwerk und was hat das mit Projektmanagement zu tun? Fragen wie diese wurden letzte Woche auf der interPM diskutiert.
Vom 13. - 15. April fand in Berlin die re:publica statt – der deutsche Treffpunkt für BloggerInnen, Netz- und MedienaktivistInnen und anderes Personal aus der digitalen Gesellschaft.
Der Scrum-Markt ist im Umbruch. Der Beitrag reflektiert kritisch die bisherigen Entwicklungsphasen.
Die Essenz der aktualisierten 19. Neuauflage des Klassikers der Managementliteratur "Mythos Motivation" lautet immer noch: Motivation gibt es gar nicht, alles Motivieren ist Demotivieren. Einige Überlegungen dazu.
Im Zusammenhang mit Selbstorganisation in agilen Softwareprojekten existiert der sozialromantische Mythos, alle seien gleich oder gleichberechtigt. Warum das gar nicht sinnvoll ist, steht in diesem Beitrag.
Das neue Release der AUTOSAR Tool Platform bringt neben der Unterstützung für AUTOSAR 4.2.1 auch neue Funktionalität in der Infrastruktur.
"Automotive ist anders. Agile Methoden funktionieren hier nicht". Mit diesem Mythos räumt eine neue Studie zum Einsatz agiler Methoden in der Branche auf.
Die Industry Working Groups der Eclipse Foundation treffen sich am Vortrag der EclipseCon 2014 im Rahmen einer "Unconference"
Auch die Bahn-Industrie benötigt umfangreiche Kommunikations-Infrastruktur und detaillierte Informationen zum Betrieb. Die European Space Agency engagiert sich hier mit einigen Projekten.
Das diesjährige Thema "Offene Kooperationen für die Automobil-Software" der Konferenz "Softwarekompetenz für die Zukunft" bietet einigen Kooperationen eine Plattform, um die Aktivitäten bekannt zu machen.
Die Anwender von Eclipse CDT diskutieren seit Längerem einen MISRA-Checker. MISRA hat seine Position zu einem Open Source Checker in einem Forumbeitrag dargelegt.
Modellgetriebene Entwicklung stellt auch neue Anforderungen an Build-Systeme. Dateiorientierte Lösungen wie make sind nicht flexibel genug. AUTOSAR definiert hierzu die Build Action Manifests.
OSEK/VDX ist ein im Automotive-Bereich verbreitetes Betriebssystem. Mit ERIKA Enterprise liegt die erste zertifizierte Open-Source-Implementierung vor.
Die UML hat sich auch in der Entwicklung von eingebetteter Software etabliert. Das Profil "MARTE" ermöglicht spezifische Modellierung von Zeit- und Resourcenbedarf. Zu diesem Standard ist ein Buch erschienen.
Eclipse EMF dient einigen Engineering-Tools als grundlegendes Framework. Die Kombination mit der neuen CDO-Version erfüllt auch die Anforderungen an den Schutz unternehmenswichtiger Daten.
Im naturwissenschaftlichen Bereich scheint es eine Art Kommunikationsscheuheit zu geben: Viele Entwickler arbeiten lieber vor sich hin, als an die Presse zu gehen. Dies hat oft fatale Folgen.
Medien und Entwickler gehen im Idealfall eine Symbiose ein. In der Anfangszeit der Handcomputertechnik waren Exklusivitäten ein fixer Bestandteil des Markts.
Wer die diversen Analysten-Webseiten im Auge behält, könnte Tizen mittlerweile als Vaporware abtun: Die Auslieferung in Indien ist reine Imagepflege. Wer Samsung besser kennt, weiß, dass hier nicht unerhebliche Gelegenheiten für Entwickler lauern.
GitHub ist eine Pest. Das kundenunfreundlichste Versionskontrollsystem der Welt konnte sich trotz fragwürdiger politischer Entscheidungen durchsetzen. Das System zeigt seine Zähne, wenn man nur einen Teil eines Repositories herunterladen möchte.
Eine weitere Woche ist ins Land gegangen. Hier eine Liste von interessanten Meldungen, die Aufmerksamkeit verdienen.
Softwarepiraterie ist ein fortwährendes Ärgernis: Es gibt kaum einen Entwickler, der nicht auf die eine oder andere Art und Weise darunter leidet. Im Spielebereich hat sich eine bösartige Methode zur Piratenabwehr etabliert, die auch im Applikations- und Entwicklerwerkzeugbereich sinnvoll wäre.
Die Übernahme des Palm-Namens durch TCL eröffnet ein neues Kapitel der "never ending story" des Mobilmarkts. Den asiatischen Eigentümern sei ein kleiner Hinweis ins Stammbuch geschrieben, der für den weiteren Erfolg von eminenter Bedeutung ist.
Auch in der zweiten Woche des noch neuen Jahres gibt es jede Menge interessanter Meldungen.
In Zeiten von NSA-Überwachung ist es immer schwieriger, realistische Daten von Usern zu erfragen. Ein amerikanischer Spielehersteller beeindruckt nun mit einer hochinnovativen Vorgehensweise.
Amazon hatte seine Kindle-Tablets vor Weihnachten mit aggressiven Preissenkungen verkauft. Da die hauseigene Android-Portierung in Tests als für Entwickler hoch lukrativ gilt, sei ein Blick auf das Gerät geworfen.
Guarded Suspension wendet eine besondere Strategie an, um mit Veränderung umzugehen. Sie signalisiert, wenn sie mit ihrer Veränderung fertig ist.
Locking ist eine klassische Methode, um einen gemeinsamen, veränderbaren Zustand zu schützen.
Das Thread-Safe-Interface ist ein bewährtes Muster, wenn die Synchronisation von Objekten die zentrale Herausforderung ist.
In nebenläufigen Anwendungen besteht die Gefahr von Data Races, wenn die Threads Daten gemeinsam verwenden.
Im Bereich der Concurrency gibt es viele bewährte Muster. Sie befassen sich mit Synchronisierungsproblemen, aber auch mit Concurrency-Architekturen.
Ereignisgesteuerte Anwendungen wie GUIs oder Server verwenden oft das Architekturmuster Reactor.
Der Model-View-Controller ist eines der klassischen Architekturmuster für flexible Mensch-Maschine-Schnittstellen.
Das Broker Pattern strukturiert verteilte Softwaresysteme, die mit entfernten Dienstaufrufen interagieren.
Das Pipes-and-Filters-Architekturmuster beschreibt die Struktur für Systeme, die Datenströme verarbeiten.
Das Schichtenmuster unterteilt eine Aufgabe in horizontale Schichten. Jede Schicht erbringt einen Dienst für die höhere Schicht.
Entwickler sollten eng mit Designern zusammenarbeiten – oder Designern mehr Freiraum geben und sich damit noch mehr herausfordern?
Warum Websites und Apps nicht zwangsläufig "ohne JavaScript funktionieren" müssen – aber sie und wir JavaScript verantwortungsvoller verwenden sollten.
Mit der Verbreitung und dem Erfolg skriptbasierter Apps stellt sich die Frage, wie wichtig es noch ist, dass Websites und Apps "auch ohne JavaScript funktionieren".
Checklisten klingen nach einem guten Weg, sicherzustellen, dass in einem Projekt nichts vergessen wird. Sie sind jedoch problematisch, wenn sie Punkte behandeln, die nicht wichtig sind – der unnötige Ballast verursacht oft unnötige Arbeit und in der Webentwicklung gerne unnötigen Code.
Bildkomprimierung spielt eine wichtige Rolle in der Performance-Optimierung. Sie scheint ziemlich einfach zu sein. Das täuscht aber, da sie nicht nur aus einem, sondern zwei Teilen besteht. Fehlendes Verständnis eines dieser beiden Teile ist es, was oft dazu führt, dass Bildkomprimierung nicht effektiv – oder gar nicht – ausgeführt wird.
Web-Performance ist seit langem nicht nur ein eigenständiges, sondern auch ein komplexes Thema. Wie es sein kann, dass Performance gleichzeitig ganz einfach und sehr kompliziert ist.
Fokus einer Jahreshälfte: Geschwindigkeitsoptimierung. Von Meta-Themen bis hin zu Tooling-Optionen.
Strikt oder liberal? Während Strenge gerne die größten Gewinne für einheitlicheren und hochwertigeren Code verspricht, scheint Toleranz einem besonderen Faktor Rechnung zu tragen: Wir wissen nicht genau, was uns uneinheitlicher Code eigentlich kostet.
Das Handwerk von CSS stirbt aus, kann man behaupten. Aber ist die Qualität unserer Stylesheets überhaupt wichtig? Das Gegenteil kann man vielleicht ebenso behaupten.
AMP wird viel kritisiert. Nichtsdestoweniger hat es Erfolg und lockt mit höherem Ranking und mehr Traffic. Auf technischer Seite scheint empfehlenswert, auf AMP zu verzichten – oder alles darauf zu setzen.
Nur Murks oder hilfreiche Tools? Die Webentwicklung von heise online hat die Assistenten an sich herangelassen und einmal geschaut, was sie taugen.
Vor kurzem hat heise online die Art der Schrifteneinbindung auf eine modernere Variante umgestellt. Das verlief leider nicht ganz so unbemerkt, wie erhofft.
Nachdem wir in Teil 1 der Serie die Änderungen unserer neuen Janus-Architektur im Backend beschrieben hatten, widmen wir uns nun den Neuerungen im Frontend.
Die Web-Entwicklung von heise online hat ihre Architektur auf ein eventbasiertes System umgestellt und stellt dieses vor.
Im vergangenen Jahr hatten wir bereits über unsere Bemühungen zur Optimierung des Cumulative Layout Shift (CLS) berichtet. Heute setzen wir die Core-Web-Vitals-Optimierungen mit dem LCP fort.
Auch in der Web-Entwicklung von heise online geht nicht immer alles auf Anhieb glatt. Mit den Jahren haben sich diverse Tools zum Debugging, Monitoring und zum Steigern der Code-Qualität etabliert.
Das Developer-Team berichtet, wie die Architektur von heise online entstanden ist, und zeigt, wie heute eine Applikation bei uns entwickelt wird.
Ruhigerer Seitenaufbau: Wie wir bei heise online unseren CLS-Wert optimiert und damit eine dauerhafte Verbesserung der UX herbeigeführt haben.
Unter normalen Umständen ist die Web-Entwicklung bei Heise eine Präsenzabteilung, durch die Corona-Krise hat sich das schlagartig geändert.
Entweder benutzt man ein (Frontend-)Framework oder man entwickelt ein eigenes. Wir haben uns für letzteres entschieden und möchten es nun einmal vorstellen.
Ein Vortrag mit überfrachteten Folien überfordert die Zuhörenden. Weniger ist mehr, und Konzentration auf das Wesentliche hilfreich.
Die Aufnahme eines Vortrags kann sehr hilfreich sein. Mit PowerPoint geht das inzwischen recht einfach.
Software für Online-Meetings gibt es massenhaft. Wichtiger ist die Frage, ob sie denn auch für alle Beteiligte funktioniert.
Keine Antwort ist letztlich auch keine Antwort. Kommunikationsträgheit ist für uns alle von Nachteil. Das zu durchbrechen ist aber unglaublich schwer.
Manche Prinzipien sind so grundlegend und unvergänglich, dass sie in einer Vielzahl von Situationen weiterhelfen, darunter das EVA-Prinzip bei Anwendungsfehlern.
Sich in neue, unbekannte Themen einzuarbeiten, kann herausfordernd sein. Drei einfache Sichten auf das Thema geben Orientierung beim grundlegenden Einstieg.
Sprache kann, richtig angewendet, viele positive Effekte erzielen. Die Beachtung einiger grundlegender Empfehlungen hilft durch den Alltag.
Irgendwann passiert es jedem: Eine Anwendung funktioniert nicht. Irgendein Fehler hindert einen an der Weiterarbeit. Unschön, aber man kann lernen, damit umzugehen.
Im Entwickleralltag trifft man auf die unterschiedlichsten Probleme. Manche dieser Probleme sind einfach, andere schwierig zu lösen. Ein strukturiertes Vorgehen hilft in jedem Fall!
Wie sich am Beispiel einer Schnittstelle ein guter Umgang mit Verantwortung angehen lässt, beschreibt "Well Organized"-Blogger Michael Keller.
Sowohl das Training als auch der produktive Einsatz großer ML-Modelle kann sehr rechenintensiv sein. Es liegt nahe, diese Aufgaben in die Cloud zu verlagern.
Künstliche Intelligenz hat das Labor verlassen und ist in der Realität eines jeden von uns angekommen. Aber haben wir noch Einfluss auf das, was da passiert?