Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 18.07.17 05:52 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Di 18.07.17 09:23 
Guten Morgen,

Danke für die Infos. Paypal Plus (bzw. für's erste Paypal Express) sollte für mich erstmal ausreichend sein. Vlt noch PaySafe als Alternative (ich fnd PaySafe auch ne gute Sache).
Wegen den Rechnungen sollte ich mich vlt nochma beim Steuerberater informieren, auf was genau man da achten muss. Bei dem Ganzen rechtlichen Kram hab ich null Ahnung :?

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 18.07.17 17:46 
user profile iconBergmann89 hat folgendes geschrieben Zum zitierten Posting springen:
Wegen den Rechnungen sollte ich mich vlt nochma beim Steuerberater informieren, auf was genau man da achten muss. Bei dem Ganzen rechtlichen Kram hab ich null Ahnung :?
Ich würde die Steuererklärung vom Steuerberater machen lassen, wenn man dafür nicht groß genug ist um eigene Mitarbeiter für solche Sachen zu haben (oder sich damit sehr gut auskennt). Denn die Wahrscheinlichkeit, dass du etwas falsch machst oder zu viel Steuern bezahlst, ist relativ hoch.
(Ich sehe auch privat, dass da viele zu viel zahlen, z.B. weil sie die Steuererklärung manuell machen, sprich die Tipps von Elster nicht sehen, und viele Sachen gar nicht ausfüllen. Einfaches Beispiel: haushaltsnahe Dienstleistungen...)
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 20.07.17 12:38 
Ja, das is klar. Selber würde ich mir das nicht zutrauen. Aber ich denke das es da doch noch die ein oder andere Sache gibt, die ich beachten muss. Rechnugs-Erstellung machen wir ja dann in dem System. Die Rechnungen bekommt dann der Steuerberater um seinen Part zu erledigen. Das sind dann so kleine Detailfragen, wie: Was genau muss auf die Rechnung drauf? Usw...

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 03.08.17 20:47 
Hey Leute,

ich hab da mal noch ne Frage bzw. ein Problem: Ich mach grad das Design von der Datenbank und meinen Workern, die dann die eigentliche Berechung durchführen. Ich habe ein Tabelle in der die Jobs für die Worker liegen. Jeder aktive Worker holt sich dort einen Job raus und bearbeitet ihn. Sollte der Woker jetzt hart beendet werden (Kill, Fehler im Worker, ...) dann würde der Job den der Worker gerade bearbeitet im aktuellen Zustand fest hängen, weil ich beim harten Beenden des Workers nicht sicherstellen kann, das der Job in der Datenbank wieder auf 'waiting' gesetzt wird. Bietet MariaDB (bzw. MySQL) eine Möglichkeit das zu umgehen. So nach dem Motto: "Wenn die Connection weg fliegt Update mal den Datensatz"?

MfG & Thx Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Do 03.08.17 21:26 
Moin,

es gibt zwei Probleme in der Programmierung verteilter Systeme:

2. Exactly once delivery
1. Guaranteed order of delivery
2. Exactly once delivery

Je nachdem, wie lange deine Jobs laufen, bzw. wie teuer es für dich ist, einen Job (ungewollt) zweimal abzuarbeiten, musst du dir eine Strategie überlegen, nach der du deine Jobs auslöst.

Möglich ist zum Beispiel folgendes Vorgehen:

1. Du startest einen Job. In der Datenbank speicherst du, welcher Worker welchen Job ausführt. Dabei musst du dafür sorgen, dass das Speichern in der Datenbank über eine Transaktion garantiert an das Starten des Jobs gekoppelt ist. Das heißt, dass du sowohl die Transaktion erst committen darfst, wenn der Job gestartet wurde, andererseits aber auch den Job abbrechen solltest, wenn die Transaktion fehlschlägt.
2. Wenn der Job erfolgreich abgearbeitet wurde, markierst du dies erneut in der Datenbank. Wird der Job nicht erfolgreich beendet, oder ist die Datenbank vom Worker aus nicht erreichbar, oder andere Katastrophen treten auf, bleibt diese Markierung aus. Nach einem gewissen Timeout kannst du den Job neu starten. Oder verwerfen. Dann kann es natürlich (wenigstens theoretisch) passieren, dass der Job zweimal gestartet wird.
3. Eine ähnliche Logik kannst du für den Fall bauen, dass du einen Absturz des Workers detektierst (wie auch immer). Dann kannst du den entsprechenden Job in der Datenbank finden und wieder in den Ausgangszustand versetzen.

Nach harter Arbeit und elender Quälerei hast du dann eine Art Job-Queue mit MySQL gebaut. Du kannst natürlich auch die Job-Queue des Clouddienstleisters deines Vertrauens verwenden (z.B. AWS-SQS). Da hast du dann gleich eine saubere und zuverlässige Lösung, die alle wesentlichen Anwendungsfälle abdecken sollte.
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 03.08.17 21:40 
Ja sowas in der Art hab ich mir auch überlegt, aber ich dachte vlt gibts da ne schönere Lösung :?
Extra Cloud Dienste kommen für mich erstmal nicht in Frage.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Do 03.08.17 22:09 
Moin,

du kannst auch z.B. Kafka in Docker laufen lassen. Oder Redis und Kue verwenden, damit habe ich ganz gute Erfahrungen gemacht (Das Projekt scheint aber mittlerweile recht eingefroren zu sein). Oder RabbitMQ, was wohl besser als Task Queue geeignet ist, als Kafka (www.rabbitmq.com/tut...al-two-python.html).
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 03.08.17 22:42 
RabbitMQ klingt ganz gut. Da gibts auch schon entsprechende Docker Images und beim ersten Blick auf die Tutorials machen die genau das was ich brauch. Entsprechende Schnittstellen für JavaScript (also node.js) und Objective-C (das sollte sich leicht nach C++ portieren lassen) gibt es ja auch schon. Ich guck mir das die Tage mal genauer an. Danke :) :zustimm:

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mi 18.10.17 20:39 
Hallo,

ich mach mir gerade Gedanken darüber wie ich die REST-Api möglichst sicher gestalten kann. Folgende Ideen dazu:
  • HTTPS (das sollte Grundvoraussetung sein :P )
  • Anmeldung des Users: Das Passwort des Users bekommt vor der Übertragung zum Server (Anmeldung/Registierung) etwas Salz und wird gehasht (um ein Secret zu erzeugen). Das Secret wird serverseitig nochmal mit bcrypt verarbeitet und kann dann in der Datenbank gespeichert werden.
  • Authentifizierung: Der User vereinbart nach erfolgreicher Anmeldung einen Session Key mit dem Server. Dieser Session Key wird genutzt um Requests zum Server mit HMAC zu sichern.


Fragen:
  • Wie sicher ich die Registrierung ab, das man diese möglichst nicht maschinell durchführen kann?
  • Wie umgehe ich am besten DoS Attacken?


Macht das soweit Sinn? Hab ich was vergessen?

MfG Bergmann89.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Mi 18.10.17 20:53 
Moin,

wenn nicht richtig gute Business-Gründe dagegen sprechen, würde ich vermeiden wollen irgendetwas zu programmieren, was in die Richtung von Security geht. Man kann gut externe Dienste (z.B. auth0.com/ - kostenlos bis 7k Nutzer) nutzen, oder soetwas wie googles firebase auth verwenden. firebase.google.com/docs/auth/

Wenn eine große Bandbreite von OAUTH Providern nicht nötig ist, (z.B. wenn davon ausgegangen werden kann, dass alle deiner Nutzer GitHub accounts haben), kann man auch einfach nur einen individuellen Provider selbst implementieren: developer.github.com...s-of-authentication/

Dann muss man sich auch um DoS und Registrierung keine Gedanken machen.

Gruß
Finn
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mi 18.10.17 21:35 
Firebase klingt nicht schlecht, das guck ich mir morgen mal genauer an. Ich möchte das der User so wenig wie möglich Aufwand in anderen Systemen hat. Er soll sich auf meinem Service einfach registrieren/anmelden und fertig. Mit Firebase kann ich das ja alles im Hintergrund machen, sodass der User davon nichts mit bekommt, soweit ich das jetzt auf den ersten Blick richtig gesehen hab.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 19.10.17 18:49 
So, ich hab mich eben mal durch die Firebase Doku gearbeitet. Wennn ich das richtig verstanden habe, dann ist Firebase mein Backend und ich bau nur das Frontend drum rum. Das kommt für mich aber nicht in Frage, das ich ein sehr spezielles Backend habe (hier sollen einige Berechnungen ausgeführt werden). Das Backend soll eine REST Api zur Verfügung stellen, die dann vom Fronend genutzt wird.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^