text
Informatik Handwerk
Peter Fargas
Strukturelle Programmierung
PHP | JavaScript | Java
Informatik Handwerk
Peter Fargas | Strukturelle Programmierung | PHP,JavaScript,Java
Prototyping . Development
Crosscutting concerns –
aber auch Domain-spezifisch.
Crosscutting concerns – aber auch Domain spezifisch.
Ich prototypisiere wiedervendbare Komponenten, welche den algebraischen Raum komplett ausfüllen und eine hohe Konsistenz aufweisen.
Ich prototypisiere wiederwendbare Komponente,
welche den algebraischen Raum komplett ausfüllen
und eine hohe Konsistenz aufweisen.
Ich betreibe Grundlagenforschung.
web
Apps, Interaktiv, CMS
 •
Backend: PHP node.js,
 •
Frontend: vanilla, JQuery, React
 •
Daten-Visualisierung: D3.js, Karten mit Leaflet
 •
Echtzeit-Fehler-Monitoring : Sentry
 •
Linux server: Ansible managed, Docker
Prototype
Chance Geo-Cash
Länder-spezifische Preise für digitale Ware
Menschen aus verschiedenen Ländern haben sehr verschiedene Chancen und Kaufkraft. Ich pass die Preise meiner Produkte und Leistungen dementsprechend an.
Menschen aus verschiedenen Ländern haben sehr verschiedene Chancen und Kaufkraft.
Ich pass die Preise meiner Produkte und Leistungen dementsprechend an.
Wofür ich einen Kunden z.B. aus Deutschland 82€ anrechnen würde, würde ein Kunde aus Frankreich für 70€ bekommen, einer aus England für 76€ und einer aus Brasilien nur für 40€. Russischer Kunde würde mit 43€ bedient, tschechischer für 69€.
Das mathematische Modell basiert auf:
Auf diese Weise könnten Leute um die Weltweit eine ähnliche Chance bekommen, die Werkzeuge und Informationen zu nutzen, die sie möchten oder brauchen.
Quellcode
ParamGuard
Parameter-Validation höherer Ordnung
Typ-freie Sprachen (PHP, JS) ermöglichen extrem freundliche APIs. Aber es führt oft zur Typ-Inkonsistenz in Datapipelines. Es ist die üblichste Fehlerquelle und discoverability ist sehr schlecht.
Definition kompositer Datentypen:
class ProcessTrace {
  
  const P_traceOrigin = [
    IsType::Null,
    IsType::Array,
    [IsType::Object, \Throwable::class],
    [IsType::Object, ProcessTrace::class]
  ];
  
  //...
Standard demultiplexer Mechanismus:
  /**
   * ProcessTrace constructor
   * @param null|array|\Throwable|ProcessTrace $origin
   */
  public function __construct($origin = null) {
    $originType = 
      ParamGuard::whichOf($origin, self::P_traceOrigin);
    
    switch ($originType) {
      case IsType::Null: //...
      case IsType::Array: //...
      case \Throwable::class: //...
      case ProcessTrace::class: //...
      default: ParamGuard::fallthrough($originType);
    }
    
    //...
  • standardisierter Element mit Tragkraft, universell einsetzbar
  • einige Ebenen gründlicher als klassische Validatoren
  • stärker als PHP 8.0 union types
  • solide Grundlage von coverage Testing
  • Production-ready: strikt/performant, je nach Environment
  • Set von Werkzeugen verschiedener Ausdrucksstärke, pluginable
  • intuitiv zu nutzen und default sensible

Kontakt, de, en, sk

Privatsphäre

Diese Webseite verwendet keine Tracker oder Cookies.
Hosting Provider stellt zur verfügung Standard-Webserver-Logs. Diese verlöschen nach zwei Wochen.

Sustainability Declaration

Quellcode-Vertrieb / Kundenkreis
Ich stelle open-source nur Quellcode, der z.B. nicht zur "dual-use-technology" beitragen kann bzw. genauer, nicht "universell" einsetzbar ist.
Meine Kunden und Partner teilen meine Ansichten in solchen Sachen.
Bank
Triodos Bank (99 % CSR/ESG-Ranking)

Impressum laut §5 Telemediengesetz

Informatik Handwerk
Postfach 31 02 44
04161 Leipzig
Germany
Peter Fargas
0176 / 458 67 358
Steuernr. 323/218/07170
Ust-IdNr. DE314942858