go bzw golang auf der Raspberry

  • Quote from "framp" pid='290737' dateline='1499887504'


    Da hat sich mal jemand wirklich die Arbeit gemacht alle GoF Design Pattern in Golang beispielhaft zu Implementieren. -> https://github.com/yksz/go-design-patterns


    Wer aber die mit einer richtigen OO Sprache in C++ bzw Smalltalk implementierten Design Patterns der GoF kennt findet schnell raus dass golang eben keine volle OO Sprache ist und deshalb die Patterns teilweise umstaendlich zu implementieren sind =(


    Würde aber auch nicht für go sprechen, wenn es "just another oo-dialect" wäre ;) Daher weiß ich auch nicht, ob es sinnvoll ist, diese Patterns 1 zu 1 in go zu zwingen. Aber sonst sicherlich ganz nett zu sehen, wie so etwas implementiert werden könnte :)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Stimmt. Ist aber interessant zu sehen wie man sich verbiegen muss in golang für gewissen Designpattern. Ich muss einfach nur langsam feststellen dass mir doch gewisse liebgewordene OO Konstrukte in golang fehlen =(

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

  • Ja, definitiv. Hat sich in der Go-Community denn noch nichts dahingehend entwickelt bzw. gibt es zumindest irgendwelche Best-Practices? Oder ist Go nur zum schnellen Skripten konzipiert?


    Diese Gedanken habe ich ansonsten auch schnell, wenn ich aus meiner Komfort-Sprache ausbreche und auf einmal sowas wie Ruby oder F# vor mir liegen hab. Dennoch zwinge ich mich dabei meistens die andere Denke zu benutzen und häufig kommen dann neue Aha-Momente - und gerade das ist doch bei Hobbyprojekten das Entscheidende ;)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Quote from &quot;Renão&quot; pid='290751' dateline='1499890607'

    Ja, definitiv. Hat sich in der Go-Community denn noch nichts dahingehend entwickelt bzw. gibt es zumindest irgendwelche Best-Practices?

    Nachdem ich festgestellt habe dass meine OO Denke nicht so in golang zu implementieren ist habe ich mich ja umgesehen und dann das o.g. GoF Design Pattern Repo gefunden. Zufrieden bin ich damit nicht :no_sad:

    Quote

    Oder ist Go nur zum schnellen Skripten konzipiert?

    Ich denke Du meinst nicht dass golang eine Scriptsprache ist sondern dass dann man eben mal schnell was implementieren kann. Mal ein kleines REST API oder einen kleinen Webserver zu implementieren ist schnell gemacht. Ansonsten ist ganz normales SW Design bei größeren Projekten angesagt.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

    Edited once, last by framp ().

  • Eben habe ich eine Sammlung von IDEs und Texteditoren die Go unterstuetzen gefunden.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

  • Es gibt eine recht gute (englishe) Seite, auf der verschiedene Dinge zu go beschrieben sind. Fuer Einsteiger aber auch fuer Fortgeschrittene interessant.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

    Edited once, last by framp ().

  • Um eine Google sitemap zu generieren habe ich einen Websitecrawler gebraucht um alle Seiten zu finden. Dabei habe ich mich an The Go Programming Language von Donovan und Kernigham erinnert und speziell an den Beispielcode daraus. Diesen Code habe ich etwas modifiziert so dass er terminiert und nicht das gesamte Web durchsucht :lol: sowie nur URLs einer Webseite sammelt. Mit diesen URLs habe ich dann mit einem anderen Tool eine sitemap.xml generiert.


    Das Buch kann ich jedem Go Interessierten empfehlen. Auch die Beispiele sind sehr aussagekräftig.


    Das Beispiel zeigt sehr schoen wie man in go idiomatisch parallele Go routinen in pipes einsetzt und verknuepft.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

  • Ich denke es setzt keiner Go in Produktionsumgebungen ein. Falls doch: Es sollte dringend auf go 1.9.2 upgraded werden. Es gibt einen CVE mit dem Score 7.5 -> https://www.cvedetails.com/vul…ndor_id-14185/Golang.html

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

  • Bin übrigends eben über ein nettes git Repo zu go und Raspberry HW support gestolpert. Es gibt offensichtlich auch eine go Community für die Raspberry :bravo2:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)

  • Immer mal wieder sehe ich mal im git den Traffic an. Dabei habe ich festgestellt, dass mein golang_tutorial git am Di 16.10. und Do 25.10. 240 Mal bzw 187 Mal gecloned wurde bei 4 bzw 3 unique cloners.


    Das sieht mir danach aus als wuerde irgendjemand mit dem Repositoryinhalt arbeiten was mich ja freut. Dazu ist es ja da. Aber so viele Clones weisen darauf hin dass da irgendwas nicht ganz korrekt läuft denn es reicht ja ein Clone.


    Ich helfe gerne dabei ein Go Environment aufzusetzen welches nur einmal cloned ;)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003


    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<


    Produktion: Pi 2B (Cups, Pilight), Pi 2B (NFS Server, rsync Server, OpenVPN Server, PiHole mit DoH), Pi 3B (Seafile)
    Test & Spielwiese: Pi 3B (raspiBackup Testsystem), Pi 2B (GPIO Spielzeug)