Ergebnis 1 bis 20 von 385

Thema: IM IN YR LOOP\n VISIBLE FOO\n IM OUTTA YR LOOP - Der Programmierer-Spamthread #2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Irgendwo zwischen chroot und Minimalvirtualisierung. Du kannst dir Container bauen, die den gleichen Kernel nutzen, wie das Betriebssystem, aber ansonsten vollkommen voneinander isoliert sind. Eigenes virtuelles Dateisystem, eigener RAM, ggf. eigener Netzwerkstack. Im Vergleich zu echten VMs ist das ressourcensparend genug, dass man jedem Programm seinen eigenen Container geben kann. Die Hauptvorteile sind, dass man die Containerimages für extrem viele Programme fertig konfiguriert runterladen kann und dass das im Serverbetrieb sehr viel sicherer ist, als alles direkt im gleichen Kontext laufen zu lassen. Wenn jemand eine Sicherheitslücke in meinem Datenbankserver findet, dann kann er sich höchstens in dem Container austoben, in dem die Datenbank läuft und reißt nicht gleich die ganze Maschine mit.

    Zusätzlich gibt es auch noch recht komfortable Lösungen, um Docker Container automatisch auf die Knoten in einem Cluster zu verteilen und viel viel mehr. Das würde den Umfang dieses Posts jetzt sprengen.

    Das Problem mit Docker unter Windows ist, dass die Container keine grafische Oberfläche haben, sondern man alles (inklusive der Softwareinstallation) über PowerShell oder CMD machen muss. In der Theorie mag das funktionieren, in der Praxis ist es ein furchtbares Gefrickel.

  2. #2
    Jemand schonmal in VBA programmiert? Vorneweg, hört niemals darauf, wenn jemand sagt, das Ding kann OOP. Irgendwie kann es das, aber nur in einer grausam-frickeligen, überhaupt nicht durchsichtigen und pervers verdrehten, Gehirnzellen-zerstörenden Variante. Wäre H.P. Lovecraft Programmierer gewesen, er hätte OOP in VBA erfunden.

    Man kann in VBA - wie mit jedem anderen GUI-Toolkit ja auch - Buttons (etc.) eine "Methode" (Anführungszeichen sind absichtlich eingefügt worden) zuweisen, was aufgerufen werden soll, wenn man draufklickt.

    In Microsofts VBA-Welt muss diese "Methode" aber ein Unterprogramm einer Prozedur sein. Aber was ist, wenn man eine echte Methode innerhalb des Objekts aufrufen will? Tjoar, ähm... geht nicht. Es ist nicht möglich, es gibt schlicht keinen Befehl dafür. Wie, du willst nach dem Button-Druck irgendwas an dem Objekt verändern? Pech gehabt, geht heutzutage nur in gefühlt 99,9% aller Sprachen mit OOP, aber nicht in VBA... Also darf man irgendwelche Workarounds benutzen die Programmierer besonders (un)glücklich machen, etwa globale Variablen... Und in allen VB-Foren dieser Welt bekommst du verwunderte User, die fragen, weshalb man sich überhaupt mit Klassen beschäftigen soll, wenn eh alles so gut in Prozeduren läuft...

    (EDIT: Nur der Vollständigkeit halber: "Me" (Äquivalent zu "this" in Java und "self" in Python) lässt sich per Parameter auch nicht übergeben, sodass der Umweg über eine Prozedur, die besagte Methode am Objekt aufruft, auch nicht klappt. )

    Ich installier mir jetzt Python und darauf irgendein Excel-Binding...

    ---
    Trotz des Rants grade wünsch ich jedem Frohe Weihnachten und einen guten Rutsch ins Neue Jahr!

    Geändert von Manuel (25.12.2017 um 17:32 Uhr)

  3. #3
    VBA darf man nicht mit VB verwechseln. Das sind im Grunde zwei unterschiedliche paar Schuhe, auch wenn beide die selbe Syntax teilen und da liegt die Falle: Während VB doch objektorientiert ist, ist VBA für prozedurale Entwicklung gedacht. Es gibt zwar in VBA sowas wie Klassen und Objekte aber es gibt keine Vererbungen oder keine Interfaces.

    Zitat Zitat
    In Microsofts VBA-Welt muss diese "Methode" aber ein Unterprogramm einer Prozedur sein.
    Nein, es ist eine Prozedur. Die nennen sich nur Unterprogramm. Methoden werden in zwei Arten unterteilt:
    - Unterprogramme: Sie haben keinen Rückgabewert
    - Funktionen: Sie haben einen Rückgabewert

    Zitat Zitat
    Aber was ist, wenn man eine echte Methode innerhalb des Objekts aufrufen will? Tjoar, ähm... geht nicht.
    Ich verstehe nicht, was du meinst. Das geht doch.

    Zitat Zitat
    Wie, du willst nach dem Button-Druck irgendwas an dem Objekt verändern? Pech gehabt, geht heutzutage nur in gefühlt 99,9% aller Sprachen mit OOP, aber nicht in VBA...
    Das ist nicht korrekt. Wie auch in allen anderen OOP-Sprachen, muss das Objekt existieren. Also muss es auch irgendwo instanziiert und gehalten werden. In anderen OOP-Sprachen spricht man von Klassenvariablen oder Klassenmember und du kannst pro Modul solche Variablen/Member anlegen, die auch nur im Modul sichtbar sind und nicht global.

    Zitat Zitat
    Und in allen VB-Foren dieser Welt bekommst du verwunderte User, die fragen, weshalb man sich überhaupt mit Klassen beschäftigen soll, wenn eh alles so gut in Prozeduren läuft...
    Wie gesagt, VBA ist keine richtige objektorientierte Sprache. VBA wird auch nicht wirklich von Softwareentwicklern verwendet, sondern überwiegend von Endanwender, die sich damit irgendwas zurecht frickeln und sich auch gar nicht mit Objektorientierung auskennen. Wir haben da inzwischen auch einige Projekte am Laufen, weil unsere Kunden die Aufforderung bekommen, ihre Prozesse, die sie überwiegend mit Excel-Makros gelöst haben, in eine standardisierte und dokumentierte Software zu überführen und was man da sieht, ist echt gruselig.

    Zitat Zitat
    Ich installier mir jetzt Python und darauf irgendein Excel-Binding...
    Microsoft prüft gerade, ob sie Python nicht als offizielle Sprache in Excel einführen wollen:
    https://www.bleepingcomputer.com/new...uage-to-excel/

    Zitat Zitat von Manuel Beitrag anzeigen
    Trotz des Rants grade wünsch ich jedem Frohe Weihnachten und einen guten Rutsch ins Neue Jahr!
    Gleichfalls.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •