2016-09-27 6 views
0

Ich denke darüber nach, ein Projekt auf der Grundlage der Idee der Verteilung der Arbeit und Entropie der Zufallszahlenerzeugung zwischen einer Reihe von Geräten von Androiden zu Computern; Ich möchte Entropie auf den Maschinen sammeln und Pakete mit verschlüsselten Daten senden und empfangen, um sie in die Entropiepools zu mischen. Ich möchte, dass das Programm im Hintergrund ausgeführt wird, wenn das Programm geschlossen wird. Ich werde Zugriff auf einen Webserver haben, um die Aushandlung von Verbindungen von Client zu Client zu handhaben.Distributed Random Number Generator

Meine Frage ist, über welche Art von Dingen muss ich bei der Erstellung eines solchen Systems nachdenken? Mein Programmier- (und Mathematik-) Wissen ist begrenzt, in welchen Bereichen sollte ich Energie aufwenden, um ein solches Projekt zu erstellen?

+0

Denken Sie zuerst, warum Sie diese Arbeit verteilen müssen. Bemühungen, eine Zufallszahl zu erzeugen, sind geringer als die Arbeit, Zahlen hin und her zu senden. –

+0

Wenn das in allen Fällen völlig richtig war, warum gibt es solche Orte wie random.org? –

+0

lösen sie ein anderes Problem - echte Zufallszahlen für Samen erzeugen. –

Antwort

0

Zuerst müssen Sie entscheiden, welche Programmiersprache Sie verwenden werden, da Sie sagen, dass ein verteiltes System benötigt wird, wie zum Beispiel node.js, java oder python, hängt von Ihren Programmierkenntnissen ab. Sobald Sie das entschieden haben, ist der nächste Schritt, über Ihr Wissen über den Algorithmus nachzudenken, den Sie implementieren möchten. Ich meine, über den Idealfall hinauszugehen, was die Implikationen, die Überlegungen und die Fälle sein könnten, die Sie beweisen möchten. um eine "Karte" zu schreiben, der Sie folgen können, um das gewünschte Ziel zu erreichen. Wenn Sie dies im Hinterkopf haben, können Sie vielleicht entscheiden, ob die Architektur, die Sie zuerst für notwendig halten, vielleicht auf einfachste Weise gelöst werden kann oder ob Sie ein komplexeres System aufbauen müssen, als Sie auf den ersten Blick vermuten .

Schließlich müssen Sie beginnen zu lernen, wie in der Sprache, die Sie wählen, zu programmieren, ich empfehle Ihnen, nicht zu versuchen, viele Dinge gleichzeitig zu lernen, es könnte frustrierend sein und führt zu Demotivation, stattdessen wählen Sie einige Themen Sie fühlen sich ausreichend wohl, um einige kleine Teile Ihrer Software zu bauen.

Verwandte Themen