daten&bass

data needs bass.

#nosql

data with bas[s|e].

data
d&b expertise

Früher:
Software hatte (immer) das gleiche "Gehirn" für alle Datenarten ... (SQL) Tabellen.

Heute:
Diverse domain-spezifische Optionen jenseits von Tabellen ... einfache key-value, hierarchisch strukturierte document, hochgradig vernetzte graph oder big column stores.

domain driven data.
development
d&b expertise

Früher:
Verschiedene Programmiersprachen, Tools und Konfigurationen überall im RZ.

Heute:
Full-stack JavaScript: Von der Server V8 Engine bis hin zum Browser des Clients. Event-basierte asynchrone und funktionale Programmierung inklusive. JavaScript, ausgerechnet.

full-stack javascript.
deployment
d&b expertise

Früher:
Schwergewichtige virtuelle Maschinen mit hunderten GB Daten und Stunden der Raterei.

Heute:
Leichtgewichtige Container mit schriftlichem Manifest zur Reproduktion. Keine Vervielfachung von OS und Lizenzen mehr. Orchestrierung out-of-the box. Build, ship, run.

immutable deploymnet.

blog

unsere neuesten blog beiträge (auf englisch)

Getting Started with vue-cli on Docker

Now that vue-cli as "the standard tooling baseline for the Vue ecosystem" has recently been released as stable in v3.x. here is a linear walk-through on how to use it in dockerized environment: Although the documentation for vue-cli is excellent - as always in vuejs - this post walks you through the minimum steps. >>

arne on vuejs, nodejs, docker | 31 AUGUST 2018

Fixing Missing Locale Setting in Ubuntu Docker Image

Today at talpasolutions we happened to bounce into a strange error when dockerizing a qt5 based data processing application which errored on startup because of missing locale settings. >>

arne on docker, linux | 31 JULY 2018

Enabling Hot-Reloading with vuejs and vue-cli in Docker

This is a quick post on how to get hot module reloading working in vuejs/vue-cli in a local dockerized development setup based on a virtual machine in Virtualbox. The very short answer is to pass the environment variable CHOKIDAR_USEPOLLING=true to the container. >>

arne on nodejs, vuejs, docker | 29 JUNE 2018

Redismod - A Redis Docker Image with Redis Modules

If you've ever wanted to try out some of the Redis Modules which were introduced in v4.0 it has never been easier than now: "redismod - a Docker image with select Redis Labs modules". >>

arne on nosql, redis, docker, nodejs | 31 MAY 2018

news
d&b blog

[P‑G‑A]

Postcode-Geopos-API:
NodeJS API basierend auf Swagger/openAPI zur Abfrage von Geopositionen in Redis gespeicherter deutscher Postleitzahlen (PLZ)

Use Case

Die Postcode-Geopos-API ermöglicht anhand deutscher Postleitzahlen einfache Abfragen nach:

  • deren Geoposition mit Längen- und Breitengrad
  • deren OSM-Info-Objekt mit weiteren Daten
  • allen Städtenamen in der gleichen PLZ Leitregion (z.B. 45)
  • der Distanz zwischen zwei Postleitzahlenregionen
Es lassen sich damit z.B. in HTML Drop-Down Select Listen asynchron mit Optionen befüllen (z.B. nach Eingabe der ersten beiden Ziffern, sog. PLZ Leitregion) und dann Folgeanfragen für den ausgewählten PLZ-Bereich abwickeln - sei es mit [P‑G‑A] selbst oder anderen APIs.

Beispiel

Geoposition 45130:
["7.00937658548355103", "51.43758188556734012"]

OSM-Info-Objekt 45130:
{"osm_id":"2073330", "type":"postcode", "lon":"7.00937729260588", "boundingbox": ...}

Städtenamen 45:
["45127 Essen Stadtkern", "45128 Essen Südviertel", "45130 Essen Rüttenscheid", ...]

Distanz 45130 40479 (km):
["27.6738","km"]


Testen

Anzahl Daten

Geopositionen: > 8.000

OSM-Info-Objekte: > 8.000

Städtenamen: > 12.500

Aktualisiert: 2017 - Q4

Implementierung

Stack: Redis als Datenbank mit einer NodeJS API basierend auf ExpressJS und Swagger-Node sowie Docker für das Deployment.

Status: Private Beta.

Zugang & Lizenzen:

Nutzung

Einer unserer Blog Posts erklärt die zugrundeliegenden Datenstrukturen in Redis und eine Beispielimplementierung client-seitig gibt es hier. Interessiert am Beta Testing? Wir freuen uns über eine Token-Anfrage.


API Docs
Postcode-Geopos-API
d&b apis

cypherMe

Cypher your passwords ... and get two-factor paper passwords

Idee

Die Idee geht zurück auf diesen Blog-Post von John Graham-Cumming: http://blog.jgc.org/2016/05/two-factor-paper-passwords.html

Hintergrund

Zwei-Faktoren Papierpasswörter können sicher aufgeschrieben und als Bausteine für einen off-line, nicht digitalen Passwort-Manager betrachtet werden.

cypherMe hilft beim (de)chiffrieren, aber ohne diese zu speichern.

Implementierung

Open source: Source code und Lizenz

Stack: Server-seitig NodeJS zur HTML-Generierung, zustandsloses client-seitiges Javascript für die Verschlüsselungen und Docker für das Deployment.

Verfügbare Verschlüsselungen: Caesar, Wortumkehrung, Wort- und Schreibungsumkehrung, Vigenère.

Passworttransformationen: Ausschließlich client-seitig (via Javascript im Browser).

Beispiel

Zu verschlüsselndes Passwort: !2MySitePw§9

Verschlüsselung: Wort- und Schreibungsumkehrung

Wiederholungen: 2

Das (verschlüsselte) Passwort: 9§WpETIsYm2!9§WpETIsYm2!

cypherMe
d&b apps

fliXnet

unsere node.js beispielimplementierung von neo4j's filmdatenbank mit openAPI (swagger)

Beispielimplementierung - Die bekannte Neo4j Filmdatenbank

Daten als Graph modellieren, speichern und abrufen.

HTML Web App und JSON API - Beide basierend auf NodeJS Express

Full-Stack JavaScript.

Automatisierte API Validierung and Dokumentation - durch OpenAPI (Swagger)

REST. SOA. Microservices. Oder wie auch immer man es nennen mag.


User Authentifizierung - Backend in Redis als Data Structure Store für Key-Value und Hash Map Daten

Für Sessions, Zugangsdaten und Nutzerkonten.

Basierend auf dem npm-Modul Passport und angepassten Swagger Security Handlern.

Abgesehen von D3JS - Reines JavaScript ohne Abhängigkeiten von anderen Frameworks

HTML Template-Erstellung server-seitig via Jade.

XHR für client-seitige Anfragen an die JSON API.

Nutzung von Material Design Lite Layouts und Komponenten

Optimiert für geräteübergreifende Nutzung.

Einfaches, verlässlich reproduzierbares Deployment - Basierend auf Docker

Container-basierte Infrastruktur.

fliXnet
d&b apps