Seite wählen

NETWAYS Blog

Oida, geht das nicht schneller?!

Findet 99 Linux Befehle

Ich hatte etwas downtime, also habe ich ein kleines Programm geschrieben das Wortsalate erstellt: wordsalad, Code hier auf Github. Ist noch nicht ganz fertig, aber wie ihr sehen könnt tut es schon seinen Dienst. Es nimmt eine Liste an Wörtern und versteckt sie in einem Suchbild. Der Algorithmus hierfür ist: Schmeiß das Wort irgendwo aufs Spielfeld, wenn es klappt gehe zum nächsten. Wenn nicht versuche das ganze nochmal, bis zu 200 mal pro Wort. Sollte sich so kein freier Platz für das Wort finden, mach das ganze Spielfeld neu und starte von Null – bis zu 2000 mal. Nicht besonders intelligent aber wofür haben wir sonst Prozessoren im Gigahertz Bereich!

Die Hertz sind machen nur ein Teil der Geschwindigkeit aus, ein anderer ist die Anzahl der Threads. Parallelisierung erlaubt es modernen Programmen ihre Arbeit doppelt, vier mal, acht mal oder noch schneller zu verrichten (theoretisch zumindest). Aber was bietet Go in dieser Hinsicht? Concurrency. Und was ist das? „Irgendwas mit Multi-threadding und Parallelisierung“ dachte ich anfangs. Sogenannte Goroutinen können einfach gestartet werden und haben mit channels eine simple und mächtige Form der Synchronisierung und Kommunikation.

Findet 40 Staaten in denen die USA einen Coup herbeigeführt haben

Aber ich lag falsch, Concurrency ist eben nicht Parallelisierung.

Meine Vermutung Concurrency sei nur ein anderes Wort für Parallelisierung kam von der Bedeutung und Verwendung außerhalb der IT Welt. „Concurrence“ bedeutet Kooperation, Zustimmung und eben auch „zur gleichen Zeit stattfinden“, gemeint ist hierbei aber wohl die erste Bedeutung. Goroutinen laufen eben nicht gleichzeitig ab, sie wechseln sich ab. Sollte eine routine mal länger nichts zu tun haben, weil sie etwa darauf wartet etwas von der Platte zu lesen oder schreiben, kann eine andere arbeiten. So laufen sie nicht gleichzeitig, sondern miteinander ab – sehr praktisch für schnelle Prozessoren.

Findet 30 Österreichische Schimpfwörter

Aber man hat eben mehrere Prozessoren, sollen die sich die übrigen etwa langweilen während einer arbeitet? Nein, go verwendet einen Prozessorpool der goroutinen wenn möglich parallel laufen lässt. So hat man das beste beider Welten, es ist einfacher mit Concurrency zu designen und die Sprache kümmert sich im Hintergrund darum das es möglichst schnell passiert.

Sollte euch das Thema weiter interessieren, kann ich diesen Talk von Rob Pike empfehlen.

Viel Spaß beim Suchen 🙂

Außerhalb von NETWAYS: Projektwoche in der Berufsschule

Heute möchte ich einen Blick außerhalb der betrieblichen Ausbildung werfen und ein wenig über die Projektwoche in der Berufsschule berichten. Alle Auszubildenden, die die Berufsschule B3 in Fürth im Zweig Fachinformatik Systemintegration oder Anwendungsentwicklung besuchen, führen dort am Ende des 2. Ausbildungsjahres eine Projektwoche durch.
Innerhalb dieser Projektwoche arbeiten die Schüler einer Klasse in Gruppen von 12 – 15 Mitgliedern zusammen. Dabei wird vor allem darauf geachtet, dass die Stärken der Schüler gleichmäßig auf die Gruppen verteilt werden.
Das Projekt selbst bestand aus der Simulation eines Kundenauftrages an eine Firma, die sowohl die Umsetzung von IT-Infrastrukturen als auch Software-Entwicklung bietet. Die Belegschaft der Firma wurde dann wie folgt auf die Mitschüler aufgeteilt:

  • Abteilung Management: 3 Schüler
  • Abteilung Infrastruktur: 3 Schüler
  • Abteilung Entwicklung: 6 Schüler

Die Gewichtung ergab sich aus der Analyse des Lastenheftes, das vom Lehrerkollegium zuvor ausgearbeitet und ausgehändigt wurde. Darin ging es darum, dass für den Kunden eine Infrastruktur und Software aufgebaut werden soll, mit der der Kunde sämtliches IT-Inventar in seinen Räumlichkeiten verwalten kann. Der Kunde selbst wurde dabei durch unsere Schule und einen Teil des Lehrerkollegiums dargestellt. Folgende Punkte waren dabei besonders von Bedeutung:

  • Netzwerk mit VLANs (Trennung von Schul- und Administrationsnetzwerk) mit Access Points für WLAN
  • Web- und Datenbankserver, auf denen die Inventarisierungssoftware laufen soll
  • Mit der Software müssen folgende Aktionen machbar sein:
    • Auflisten von Inventar
    • Ändern, Löschen und Hinzufügen von Inventar
    • Zuordnung von Inventar zu Räumen und Klassenzimmern
    • Login mit User/Passwort und Vergabe von Rechten (Admin oder User)
  • Einrichten von Clients für die Nutzung des Webfrontends der Software
    • Aufrufbar über Browser
    • Ergonomie muss beachtet werden
  • Erstellung eines Pflichtenheftes, einer Kundendokumentation und eines Wartungsvertrages
    • Pflichtenheft und Wartungsvertrag muss von den Lehrkräften abgenommen werden
    • Kundendokumentation soll als Benutzerhandbuch fungieren
  • Abschließende Projekt-Präsentation vor Publikum mit abschließender Fragerunde
  • Zeitlicher Rahmen: Montag bis Donnerstag, Umsetzung des Projektes mit freier Zeiteinteilung, Freitag morgen Präsentation

Nachdem wir den Montagvormittag damit verbrachten, die Aufgabenstellung durchzuplanen, setzten wir im Laufe der Woche die folgenden Schritte um:

  • Erstellung Pflichtenheft
  • Aufbau Netzwerk
  • Aufbau LAMP-Stack auf Server
  • Aufbau der MySQL-Datenbank
  • Erstellung der Core Software aus php und javascript
  • Erstellung des Webfrontends mit html und php
  • Erstellung Wartungsvertrag
  • Erstellung und Planung Projekt-Präsentation
  • Ausführliches Testen der einzelnen Komponenten
  • Fehlersuche, Debugging und Korrekturen
  • Erstellung Kundendokumentation, direkt aufrufbar über die Hilfe-Funktion in der Software

Mit dem Ergebnis aus dieser Woche konnten wir dann auch unsere Lehrer überzeugen, die unsere Gruppe durchweg positiv bewerteten und sehen konnten, dass wir als Klasse viel Wissen aus den letzten beiden Schuljahren mitgenommen haben.
Als Fazit kann ich persönlich sagen, dass es auf jeden Fall eine tolle und konstruktive Erfahrung ist, einmal komplett eigenverantwortlich und mit eigener Zeiteinteilung eine solche Aufgabe zu bewältigen. Außerdem bringt dies die Schüler auch zwischenmenschlich und bzgl. der eigenen Persönlichkeit weiter, denn jeder lernt nicht nur die eigenen Stärken und die der Mitschüler kennen und schätzen, sondern muss auch mit Schwächen und Fehlschlägen zurechtkommen bzw. anderen aus diesen heraushelfen. Es ist eben doch ganz gut, wenn man ab und zu mal die eigene Komfortzone verlässt!
Wer sich nun angesprochen fühlt, auch mal in die IT-Welt zu schnuppern oder mit dem Gedanken spielt, eine Ausbildung im Bereich Informatik zu machen, dann schreibt uns doch einfach unter jobs@netways.de. Mehr Infos findet Ihr auch auf unserer Webseite oder in unserer Stellenausschreibung zum Azubi Fachinformatik. Mehr Informationen zum Thema Ausbildung Fachinformatiker findet Ihr auch auf der Webseite der IHK.
 
Bildquellen: 
https://www.unixmen.com/how-to-install-lamp-stack-ubuntu-17-04/
http://www.b3-fuerth.de/ 

Die Open Source Community hilft

Michael Lübben ist vielen in der Nagios Community sicher bekannt. Aus dem Forum, von den Konferenzen und Workshops und natürlich wegen seiner vielen AddOn Projekte, wie NagVis oder NagTrap. Nun hat er ein neues Projekt gestartet. Aber diesmal kein technisches oder gar ein weiteres Nagios AddOn, sondern ein Spendenprojekt: Die Open Source Community hilft.
Michaels Idee:

Die Idee hinter diesem Team ist, mit Hilfe der OpenSource-Community Projekte zu unterstützen.Es gibt auf der einen Seite die Entwickler, die z.B. durch Spenden Ihrer Freizeit und KnowHow, Software entwickeln und diese kostenlos zur Verfügung stellen. Auf der anderen Seite gibt es die Firmen, Unternehmer usw., welche von dieser Arbeit profitieren und mit Hilfe dieser Software vielleicht auch Geld verdienen. Vielleicht sind ja genau hier einige Firma, Unternehmen usw. bereit auch etwas zu spenden und somit wiederum anderen zu helfen.

Das ganze läuft auf betterplace einer Benefitz Community. Betrieben wird die Plattform von einer gemeinnützigen Stiftungs-GmbH, die sich durch verschiedene Unterstützer und Beratungsleistungen für Unternehmen finanziert. Dadurch können alle Spenden zu 100% weitergeleitet werden. Garantiert wird das durch ein Web Of Trust, bekannte Fürsprecher und eine Mitgliedschaft im Bundesverband deutscher Stiftungen.
Natürlich haben wir das Projekt – als Firma und einige Kollegen auch privat – sofort unterstützt und würden uns freuen, wenn unsere Blogleser auch mitmachen. Danke Michael für die gute Idee.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.

NETWAYS unterstützt das Bundesverwaltungsamt bei der Nagios-Implementierung

NETWAYS hat vom Bundesverwaltungsamt den Auftrag zur Durchführung einer umfangreichen Nagios-Installation erhalten. Nach dem Aufbau eines redundanten Nagios-Monitorings in einem Clustersystem und der Einrichtung von Standardüberwachungen für Windows, Linux und Solaris sollen auch unterschiedliche andere Überwachungs- und IT-Systeme des BVA an Nagios angebunden werden. Hierzu gehören beispielsweise die Überwachungs- und Jobsteuerungssoftware für Mainframes UC4, die Hewlett-Packard-Produkte ServiceDesk und Network Node Manager sowie unterschiedliche SAN- und Firewall-Systeme.
Zur besseren Übersicht sollen alle Zustandsdaten, Auslastungskennzahlen und historische Werte in einem TYPO3-basierten Informationsportal zusammengeführt werden.
Das Bundesverwaltungsamt, eine selbständige Bundesoberbehörde im Geschäftsbereich des Bundesministeriums des Innern, ist der zentrale Dienstleister des Bundes. Das BVA nimmt mehr als 100 verschiedene Aufgaben für die Bundesministerien und ihre Geschäftsbereiche wahr. Dazu gehören beispielsweise die Verwaltung von BAföG-Darlehen, das Hosting der Websites von Bundesbehörden, die Entwicklung des Goverment Site Builder oder die technische Abwicklung von Visumangelegenheiten.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.

Neue Homepage mit TYPO3

midFür den Relaunch Ihrer Web-Präsenz hat sich die MID Enterprise Software Solutions GmbH entschieden das Web-Content-Management-System (WCMS) TYPO3 einzusetzen, um Informationen einfach und schnell in die Website einzubinden und aktuell zu halten.
Nach der Umsetzung der Designvorlage in HTML erfolgte in einem 2,5-tägigen Workshop die TYPO3-Implementierung in Zusammenarbeit mit dem Kunden. Bei MID wurden Vor Ort die gewünschten Features umgesetzt und ganz „nebenbei“ auch dem verantwortlichen Mitarbeiter der Firma das nötige Wissen vermittelt selber Änderungen vorzunehmen. Das von NETWAYS präferierte Workshopkonzept hat sich auch in diesem Projekt wieder als sehr effektiv erwiesen um nicht nur eine gelungene Umsetzung zu liefern, sondern auch einen entsprechenden Wissenstransfer zum Kunden zu ermöglichen.
Unter www.mid.de kann das Ergebnis betrachtet werden.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.