Vue – Konstanten definieren

image_pdfimage_print

Konstanten kann man in Vue einfach im Created Hook definieren.

Generell sollte man sich das Arbeiten mit Konstanten angewöhnen.

if(UserTypeId == 7) {…} stellt den Entwickler vor die Frage, was an diesen UserType nun so besonders ist.

Besser: if(UserTypeId == USERTYPE_GUEST) . So weiß jeder, die folgende Logik betrifft den Gastbenutzer

 

0  

Vue – Directive

image_pdfimage_print

Mal angenommen man möchte alle Felder auf einer Seite deaktivieren. Man könnte input für input durchgehen und mit :disabled=”isEditable” das Feld deaktivieren.
Oder man schreibt eine Custom Directive, die diese Logik abbildet: https://vuejs.org/v2/guide/custom-directive.html

Möchte man das global haben:

Oder per Instanz:

Eingebunden wird das nun mit.

oder

oder ohne Bedingung

 

0  

Cmd Pfad autocomplete funktioniert nicht

image_pdfimage_print

Cmd öffnen

Befehle eingeben
Cmd neustarten und mit cd Tab den Pfad autocompleten lassen 🙂

0  

Applikationsdesign: Datensätze abarbeiten nach Punktesystem

image_pdfimage_print

Mir kam mal folgende Problemstellung in die Gedanken:

Mal angenommen ich muss unterschiedliche Aufgaben abarbeiten. Diese befinden sich in einer Warteschleife. So dass sie nacheinander oder auch asynchron parallel abgearbeitet werden sollen.

Jede Aufgabe besitzt eine Priorität. Sagen wie 1 (unwichtig) – 10 (sehr wichtig). In die Warteschleife kommen immer wieder Aufgaben nach. Das Problem ist, es werden die sehr wichtigen immer zuerst abgearbeitet. Die weniger wichtigen kommen daher nie dran und werden nie verarbeitet. Die Lösung ist ein Punktesystem mit Zeitangabe. Die Priorität ist dient dann als Faktor und wird mit der Anzahl Minuten multipliziert. Das ergibt die Summe der Punkte pro Datensatz

Beispiel: Es ist Momentan 12:00 Uhr Mittags.

  1. Datensatz 1: Prio 4, Hinzugefügt um: 11 Uhr, Punkte: 4 * 60 = 240
  2. Datensatz 2: Prio 9, Hinzugefügt um: 8 Uhr, Punkte: 9 * 240 = 2160
  3. Datensatz 3: Prio 2, Hinzugefügt um: 4 Uhr, Punkte: 2 * 480 = 960

Sortiert man diese Liste nun nach Punkten ergibt sich eine neue Reihenfolge

  1. Datensatz 2: Prio 9, Hinzugefügt um: 8 Uhr, Punkte: 9 * 240 = 2160
  2. Datensatz 3: Prio 2, Hinzugefügt um: 4 Uhr, Punkte: 2 * 480 = 960
  3. Datensatz 1: Prio 4, Hinzugefügt um: 11 Uhr, Punkte: 4 * 60 = 240

So hat jeder Datensatz eine Chance drangenommen zu werden. Je länger er in der Warteschleife verweilt, desto höher wird sein Punktesatz.

0  

system-versioned temporal tables oder automatische Historie auf Tabellenbasis

image_pdfimage_print

funktioniert ab SQL Server 2016

 

 

0  

NLog Config – mit ILogger

image_pdfimage_print

appsettings.json

 

Program.cs

 

NuGet Pakete:

  • NLog
  • NLog.Config
  • NLog.Extensions.Logging
  • NLog.AspNetCore

In der Config XXX ersetzen.

 

Datenbank Tabelle:

 

0  

Hilfsklassen für komplette Perioden

image_pdfimage_print

 

0  

SQL Column löschen inkl. aller Constraints

image_pdfimage_print

 

0  

Windows Dienst installieren / löschen

image_pdfimage_print

sc.exe create MyServiceName binpath= “C:\inetpub\wwwroot\….exe”
sc.exe delete MyServiceName

0  

Bibliotheken für Authorisierung

image_pdfimage_print

Das Thema Authorisierungen ist sehr komplex und es gibt dazu viele Ansätze. Hier ist eine Liste von Bibliotheken:

Casbin

Vergleich Casbin mit OPA: OPA vs Casbin (github.com)

https://www.openpolicyagent.org/

oso Documentation — oso Documentation (osohq.com) (Nur Python und Java)

ory/ladon: A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go. (github.com) (Veraltet)

teramoby/speedle-plus: Speedle+ is an open source project for access management. It is based on Speedle open source project and maintained by previous Speedle maintainers. (github.com)

0