Blog der singularIT GmbH

  • Unsere Unternehmenswebseite
Search

Keras – Deep Learning für Einsteiger

  • Veröffentlicht am 27. Dezember 2018
  • Kategorie Allgemein, Deep Learning

Was ist Keras?

Vielen Anfängern fällt es schwer, sich unter den vielen Frameworks für neuronale Netzwerke zu entscheiden. Das liegt nicht zuletzt daran, dass diese Frameworks sehr anspruchsvoll sind (siehe Tensorflow). Womit kann ich also am besten damit anfangen, neuronale Netzwerke zu programmieren? Ganz einfach: Keras!

Keras ist eine High-Level Neural Network API, die in Python entwickelt wurde. Sie baut dabei auf komplexen Frameworks (TensorFlow, Theano oder CNTK) auf. Keras bietet ein enormes Abstraktionslevel der jeweiligen Backends, was nicht nur Anfängern zugute kommt: Besonders zur Entwicklung von Prototypen und zum Testen dieser hat Keras seinen Platz gefunden. Darin zeigt sich jedoch auch der Nachteil von Keras: Als erfahrener Entwickler neuronaler Netzwerke ist man stark eingeschränkt. Zum Beispiel bietet Keras aktuell noch keine Implementierungsmöglichkeit eigener Kostenfunktion.

Mehr Erfahren

KEY Talks #4 – PHP und Asynchrones I/O

  • Veröffentlicht am 5. Juli 2018
  • Kategorie PHP, Webprogrammierung
  • Frameworks, PHP

Diesen Monat standen die Key-Talks im Zeichen der asynchronen Programmierung. Vorgestellt wurden unter anderem neue Features der ECMAScript Spezifikation für Javascript, mit denen man asynchrone Funktionsaufrufe mittels neuer Sprachkonstrukte umsetzen kann.

Asynchrone Aufrufe haben sich im Frontend Bereich durch Vorreiter wie AJAX schon längst durchgesetzt, doch wie sieht es im Backendbereich aus? Muss man auf Node.js oder Java ausweichen um Asynchronität zu erreichen? Oder gibt es Möglichkeiten auch PHP & Laravel mit diesen Techniken anzureichern? Und warum das Ganze? All das wollen wir in diesem Blogpost beleuchten. Eine Zusammenfassung des Vortrags diesen Monat mit dem Thema „Asynchrones PHP“.

Mehr Erfahren

KEY Talks #3 – Asynchrone Funktionen in Javascript

  • Veröffentlicht am 4. Juli 2018
  • Kategorie Allgemein

ECMAScript 2017 / ECMAScript 8 hat viele – insbesonders kleine – Neuerungen mit sich gebracht. Die wohl größte Änderung besteht in der Implementierung asynchroner Funktionen. Aber was genau sind diese asynchronen Funktionen? Bevor man diese Frage beantworten kann, benötigt man ein paar Grundlagen:

  • Wofür stehen Blocking / Non-Blocking?
  • Was versteht man unter Promise?
  • Was sind Generator Funktionen?

Mehr Erfahren

KEY Talks #2 – Xamarin, Bootstrap 4.1 & Bulma

  • Veröffentlicht am 16. Mai 2018
  • Kategorie Allgemein

Die KEY-Talks im Monat Mai waren hauptsächlich technologisch orientiert. Wir beschäftigten uns mit der Beleuchtung dreier Frameworks, welche uns die Arbeit in Projekten erleichtert bzw. erleichtern kann. Dies betrifft das Mobile Framework Xamarin, sowie die beiden CSS Frameworks Bootstrap 4.1 und Bulma

Mehr Erfahren

KEY Talks #1 – Google Cloud API, Generative Softwareentwicklung und Smart Cities

  • Veröffentlicht am 18. April 2018
  • Kategorie Allgemein

Eines unserer Hauptziele als Unternehmen ist es, eine breite Wissensbasis aufzubauen. Dazu ist es wichtig, dass der interne Wissenstransfer gut funktioniert und das wir uns regelmäßig mit innovativen Themen auseinandersetzen. Um dieses Ziel zu erreichen überlegen wir regelmäßig, welche Maßnahmen wir dazu ergreifen können. Als neues Format beschäftigen gingen nun die KEY-Talks hervor. „KEY“ steht für Knowledge Exchange Yielding. Das heißt im Klartext: Wir beschäftigen uns einmal im Monat mit Themen unserer Wahl – es gibt keine Einschränkungen. Die Themen stellen wir in einer kurzen Präsentation allen vor und diskutieren gemeinsam darüber.

Im ersten KEY-Talks Event wurde sich dabei um folgende 3 Themen unterhalten:

Mehr Erfahren

Laravel CI – Monitoring Tool inspiriert von Jenkins

  • Veröffentlicht am 3. April 2018
  • Kategorie Allgemein

Im letzten Artikel haben wir gezeigt wie wir unsere Laravel Apps in Gitlab über Docker bereitstellen. Eine Lösung inspiriert von Jenkins wurde nun ins Intranet integriert – ein weiterer Baustein in unserem System. Der Continuous Integration and Continuous Delivery Prozess wird damit überwacht.

Ein Gitlab-Commit der auf den Masterbranch gemerget wird, löst den Auslieferungsprozess aus. Der Gitlab-Runner führt diesen Prozess aus. Zuerst wird ein API Request über Curl ausgelöst und der Datenbank wird der Prozessstart mitgeteilt. Ab jetzt ist der Prozess im Monitoring-Tool sichtbar und mit „running“ getagt. Nachdem der Prozess erfolgreich war, übermittelt dieser einen weiteren API-Request und der Status wird mit „Success“ getaggt. Bleibt der Success-Request aus, erscheint der Status „Timeout“. Ist es uns möglich den Fehler abzufangen (Exception handling) können wir den Prozess als „Failed“ bezeichnen.

Wir haben alle wichtigen Deployment-Metriken zu den Projekten auf einen Blick. Anzahl der Deployment-Prozesse, Dauer und Start des letzten Prozess, sowie der letzte Fehlschlag. Unter Details sind Anzahl der Fehlschläge, mögliche Fehlermeldungen, Portbelegung und weitere anwendungsspezifische Details ersichtlich. Die API arbeitet in beide Richtungen, sodass über die GUI bei Bedarf ein Prozess-Retry getriggert werden kann.

So sind wir ab sofort in der Lage, für alle geeigneten Projekte eine Übersicht über dessen Deployment-Status zu haben und es ist uns möglich, schnell Korrekturen durchzuführen.

 

Gitlab – CI Modul in unserem Intranet

Laravel CI – Ein Tutorial mit Docker und Gitlab

  • Veröffentlicht am 9. Januar 2018
  • Kategorie Webprogrammierung

Ein nicht unbeachtlicher Anteil unserer Projekte basieren auf dem Laravel Framework, welches wir bereits in diesem Blogeintrag vorgestellt haben. Unser Entwicklungsablauf beinhaltet fast immer die Bereitstellung eines Staging-Systems, auf welchen wir unseren Kunden die neusten Änderungen demonstrieren, ohne dabei das Live-System anfassen zu müssen. Die Bereitstellung der Laravel Installationen auf unseren Staging-Systemen ist dabei allerdings nicht immer ganz einfach. Eine Laravel Webanwendung kann ganz verschiedene Anforderungen an die Server Umgebung haben. Mal wird PHP Version 7.0 benötigt, mal aber 5.6. Es werden unterschiedliche Build-Tools benötigt (npm, composer, gulp usw.), es werden unterschiedliche Datenbanken angebunden und es werden projektspezifische Programme benötigt – zum Beispiel das html2pdf  Programm, um einfach PDF Dateien zu erzeugen. Außerdem haben wir einen sich wiederholenden Aufwand für jedes Deployment auf dem Staging Server.

Mehr Erfahren

Weihnachtsfeier 2017

  • Veröffentlicht am 27. Dezember 2017
  • Kategorie Allgemein

Die Tage werden kürzer und die Temperaturen kälter. Es ist wieder Weihnachtszeit! Auch für uns bei singularIT bietet diese Zeit die Gelegenheit näher zusammenzurücken und eine gute Zeit miteinander zu verbringen.

Mehr Erfahren

Wöchentliche Coding-Challenges

  • Veröffentlicht am 17. Oktober 2017
  • Kategorie Allgemein, Über uns

Eine der größten Herausforderungen in der Softwareentwicklung ist es, ständig auf dem neuesten Stand der Dinge zu bleiben. Hier bei singularIT sind wir uns dieser Herausforderung bewusst und haben eine Lösung für uns gefunden. Sie lautet: Coding Challenges!
Mehr Erfahren

Neue Webseite online

  • Veröffentlicht am 12. Oktober 2017
  • Kategorie Allgemein, Über uns

Wir haben unsere neue Webseite gelauncht und einige Verbesserungen vorgenommen. Unser Fokus lag dabei vor allem darauf, den Webseitenbesucher einen besseren Einblick in unsere Kerngebiete und Kompetenzen zu geben. Die Webseite beleuchtet unser Kerngeschäft dabei aus 3 Dimensionen:

  • Anwendungsbereiche: Dies stellt die fachliche Sicht auf unser Unternehmen dar und gibt einen Einblick, wie wir aus wirtschaftlicher Sicht das Unternehmen unserer Kunden verbessern. Dabei verknüpfen wir unser wirtschaftliches und technologisches Know-How und liefern unseren Kunden Komplettlösungen – sei es die Einführung neuer Systeme, die radikale Veränderung bestehender Prozesse oder die inkrementelle Anpassung bestehender Strukturen.
  • Leistungen: Hier werden unsere 3 Kernprodukte aufgelistet, welche wir für die Erreichung unserer Ziele verwenden: Mobile Anwendungen, Webpräsenzen und Backend-Systeme.
  • Technologien: Dies ist die technologische Sicht auf unser Unternehmen. Es gibt den Besuchern unserer Webseite einen genauen Einblick, in welchen Technologien wir Know-How besitzen und welche wir tagtäglich einsetzen.

Mehr Erfahren

  • ← Older Posts
Neueste Beiträge
  • Keras – Deep Learning für Einsteiger
  • KEY Talks #4 – PHP und Asynchrones I/O
  • KEY Talks #3 – Asynchrone Funktionen in Javascript
  • KEY Talks #2 – Xamarin, Bootstrap 4.1 & Bulma
  • KEY Talks #1 – Google Cloud API, Generative Softwareentwicklung und Smart Cities
Archive
  • Dezember 2018
  • Juli 2018
  • Mai 2018
  • April 2018
  • Januar 2018
  • Dezember 2017
  • Oktober 2017
  • September 2017
  • Juni 2017
  • November 2016
  • Oktober 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
Kategorien
  • Allgemein
  • Deep Learning
  • Java
  • PHP
  • Über uns
  • Webprogrammierung
  • Datenschutz
  • Impressum
Copyright © 2019 Blog der singularIT GmbH All Right Reserved.
designed byBest Press Theme