Die Presseschau von SALESmanago-IT ist eine Sammlung von Neuigkeiten, interessanten Informationen und Lösungen im Bereich Programmierung, Big Data, Machine Learning und AI sowie der Aufbau fortschrittlicher IT-Systeme.
Alle zwei Wochen wählen unsere Spezialisten die wichtigsten und interessantesten Artikel aus. In dieser Ausgabe unter anderem Spracherkennung laut Facebook, Deep Learning und Geräuschunterdrückung sowie Java im Jahr 2019.
Machine Learning & AI
Deep Learning – Analytics Zoo
Analitycs Zoo ist eine einheitliche analytische Plattform und AI, die Spark-, TensorFlow-, Keras- und BigDL-Technologien in einer benutzerfreundlichen Pipeline kombiniert. Der gesamte Datenstrom und die Analysen können später mit Hilfe des Hadoop / Spark-Clusters problemlos skaliert werden und verteilte Lern- und Interferenzschritte ausführen.
Im Falle einer “traditionellen” Vorbereitung der Umgebung, die für das maschinelle Lernen verwendet wird, muss jedes Element miteinander integriert werden und Mechanismen implementieren, die die Verwendung der Technologie ermöglichen. Analytics Zoo vermeidet dies und spart viel Zeit, indem die unnötige Konfiguration jedes einzelnen Elements weggelassen wird.
In dem Artikel finden Sie spezifische Anwendungsbeispiele und Codeteile, die die Lösung näher bringen.
https://www.infoq.com/articles/analytics-zoo
Wav2letter ++ – wie Facebook das Spracherkennungssystem implementiert hat
Spracherkennungssysteme sind die am häufigsten implementierten Algorithmen im Bereich von Deep Learning – dies liegt an der ständigen Nachfrage nach immer besseren Algorithmen. Vor kurzem schlug das Team von Facebook AI Research (FAIR) in seiner Forschungsarbeit eine neue Spracherkennungstechnik vor, die nur auf konvolutionellen (faltenden) neuronalen Netzwerken basiert. Nach der Recherche stellte das FAIR-Team der Community das Projekt Wav2letter ++ auf Open Source-Basis zur Verfügung – eine Reihe von Spracherkennungs-Tools, die vollständig auf einer Faltungsmethode basieren. Sehen Sie, wie dieser Mechanismus funktioniert und wie Sie ihn in Ihrem Projekt verwenden können:
https://towardsdatascience.com/introducing-wav2latter-9e94ae13246
Geräuschunterdrückung mit Deep Learning
Machine Learning im Dienste guter Kommunikation! In lauten Räumen, in denen es viele Lärmquellen gibt, kann die Kommunikation (z. B. über das Telefon) schwierig oder sogar unmöglich sein. Das grundlegende Dokument, in dem Geräuschunterdrückungsmethoden mithilfe von Machine Learning beschrieben werden, scheint das bereits im Jahr 2015 geschriebene Dokument von Yong Xu zu sein. Yong schlug darin eine Regressionsmethode vor, die lernt, für jede Schallfrequenz eine Proportionsmaske zu erstellen. Die resultierende Proportionsmaske lässt angeblich die menschliche Stimme intakt und entfernt unerwünschte Geräusche. Diese Lösung war alles andere als ideal, zum Glück wurde das Thema im Laufe der Jahre stark weiterentwickelt – Details unten:
https://towardsdatascience.com/real-time-noise-suppression-using-deep-learning-38719819e051
Datenbanken und Big Data
Die neue Version von PostgreSQL 11
Am 10. Oktober 2018 wurde eine neue, lang erwartete Version der PostgreSQL-Datenbank veröffentlicht. Die intensive Entwicklung dieser Open Source-Datenbank bestätigt die Liste der neuen Funktionen, die von den Erstellern der Feature-Matrix erstellt wurde:
https://www.postgresql.org/about/featurematrix/
JIT bei PostgreSQL 11
JIT (Just-in-Time) ist eine der am meisten erwarteten und aufregenden Funktionen in der neuen Version von PostgreSQL. Laut Informationen kann JIT Abfragen um bis zu 30% beschleunigen. Leider können nicht alle Abfragen auf diese Weise durchgeführt werden.
Lesen Sie im folgenden Artikel genau, was JIT ist und wie es installiert und konfiguriert werden kann:
https://www.percona.com/blog/2018/11/19/installing-and-configuring-jit-in-postgresql-11/
NoSQL ist nicht immer so gut und skalierbar
Case „The Guardian“ – die Migration vom MongoDB-Cluster zu PostgreSQL auf Amazon wurde im April 2018 abgeschlossen. Detaillierte Beschreibung der 10 monatigen Arbeit und 2,4 Millionen Elemente, die in Form von Step-by-Step verschoben wurden – von der Notwendigkeit, der Idee, durch allmähliche Datenübertragung bis hin zum Monitoring der Lösungsleistung.
Viele nützliche Konzepte und Lösungen finden Sie im folgenden Artikel:
https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres
Allgemeine Programmierung
Java im Jahr 2019 – was uns erwartet?
2018 ist hinter uns – es war ein sehr intensives und interessantes Jahr für die Java-Technologie. Der Artikel beschreibt viele interessante Fälle in Bezug auf die Java-Umgebung: Migration von Java 8 auf Java 11, Informationen zum Graal-Projekt, OpenJDK und der Plan für Java 12 und Java 13.
https://www.infoq.com/news/2018/12/java-2019-predictions
Frontend – die häufigsten Probleme mit CSS
Der Aufbau der Webanwendungsschicht hat sich in den letzten Jahren erheblich weiterentwickelt. Jeder, der mit dem Frontend gearbeitet hat, erinnert sich an große Probleme mit der Kompatibilität der implementierten Lösungen – insbesondere, wenn wir über den von Web-Entwicklern gehasste Internet Explorer sprechen. Nach einigen Jahren (wenn der IE zum Glück nicht mehr entwickelt wird), sind wir in der Lage, die Unterschiede beim Rendern von Seiten in verschiedenen Browsern zu minimieren. In diesem Artikel wird beschrieben, wie Sie die häufigsten CSS-Probleme lösen können:
https://www.smashingmagazine.com/2018/12/common-css-issues-front-end-projects/
Was ist die größte Menge an fehlerhaftem Code, die Sie gesehen haben?
Wenn Sie glauben, dass Sie in Ihrem Leben eine Menge vom fehlerhaften Code gesehen haben, liegen Sie falsch. Oracle 12.2 besteht aus fast 25 Millionen Zeilen C-Code. Sie können eine einzelne Codezeile in einem Produkt nicht ändern, ohne über 1.000 vorhandene Tests zu korrigieren. Nachfolgende Generationen von Programmierern haben in schwierigen Fristen an diesem Code gearbeitet und den Code mit allerlei Unsinn gefüllt, und sich darum gekümmert, dass Sie daran nie arbeiten wollen werden:
https://news.ycombinator.com/item?id=18442941
Decent Code – eine kurze Anleitung zum Schreiben von gutem Code
Jeder Programmierer möchte einen immer besseren Code schreiben. Aber was heißt das eigentlich? Die Komponenten eines guten Codes sind zahlreich – Sie müssen auf jeden Fall auf die Klarheit achten (schreiben Sie solchen Code, den Sie finden möchten). Die Softwareentwicklung ist ein Teamprozess – es müssen einige Regeln entwickelt werden, und die Qualität und Konsistenz des Codes muss während des gesamten Projekts erhalten bleiben. In der folgenden Anleitung finden Sie alle bewährten Methoden – von der Benennung über die Struktur des Codes bis hin zum Kommentieren und Einfügen des Codes in das Repository. Ein Must-have für einen Programmierer – vom Anfänger bis zum Senior: