Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8.302
  • Benutzer seit

  • Letzter Besuch

Beiträge von flashpixx

  1. Hallo,

    Ja ich weiß, die Sache mit dem Timer ist ziemlich unglücklich, allerdings ist ein timer unumgänglich. Die Sache ist folgende: der Client (Pocket PC) muss alle x Sekunden seine Gerätedaten auslesen und an den Server schicken. Aus diesen Daten berechnet der Server Nutzdaten, die zurück an den Pocket PC geschickt werden sollen. Um also Nutzdaten berechnen zu können, werden alle x Sekunden Gerätedaten übertragen.

    Warum? Die Gerätedaten des Pocket PC's ändern sich doch nicht alle Sekunden, die sind statisch?

    Die Idee, dass der Server sich meldet, sobald er mit der Berechnung fertig ist, ist an sich nicht schlecht, allerdings dauert die Berechnung ja nicht soo lange, vermutlich dauert das zusätzliche Connecten für die Serverantwort mehr zeit, als man einsparen würde. Außerdem möchte ich, dass die gesamte Kommunikation asynchron abläuft, damit während des Webservice-Aufrufes die GUI nicht blockiert wird.

    Zu einem, warum musst Du während der Bearbeitung durch den Webservice die Verbindung trennen? Wenn Es kaum Zeit in Anspruch nimmt, dann connecte den Webservice, gib ihm über die Parameter die Daten mit und der Webservice kann Dir ja einen Returnwert liefern, der z.B. ein Array sein kann.

    Ich hatte mir sowas gedacht, wie dass die Kommunikation mit dem Server in einem eigenen thread passiert, nur weiß ich nicht ganz, wie ich die Nutzdaten dann an den GUI-Thread weiterreichen kann!?

    Gib, wenn Du Deinen Thread erzeugst, ihm einfach das GUI Objekt / Eventobjekt o.ä. einfach mit. Hier würde sich sicher die Systematik eines Eventlisteners anbieten, über den Du dann die Daten tauschst

    Aber vielleicht schielderst Du mal die ganzen Zusammenhänge, ich habe irgendwie das Gefühl - nimm es mir bitte nicht übel - aber das ganze etwas auf die schnell zusammen gebaut ist.

    HTH Phil

  2. Hallo,

    ich habe etwas Probleme mit diesem 2 Sekunden System klar zu kommen, denn selbst wenn Du das in einen eigenen Thread packst, fragst Du alle 2 Sekunden beim Server nach "sind Daten da".

    Warum setzt hier nicht auf ein bidirektionales System, das beim ersten Connect einen Eventlistener auf dem Server registriert und über den dann Deine Anwendung benachrichtigt wird, wenn sich Daten verändert haben bzw. direkt die neuen Daten geliefert bekommt?

    HTH Phil

  3. Hallo,

    Die Clients dürfen nur die Zahlen 1-14 im letzten Oktett haben.

    Natürlich muss es heißen 240+1..14, da 240 die Netzwerkadresse und 255 die Broadcast-Adresse ist. Ich muss ja die 4 höchstwertigen Bits noch da zunehmen.

    Phil

  4. Hallo,

    also NFS / Samba schließt eine Versionierung über SVN nicht aus, aber Du solltest bedenken, dass eine Versionierung nur Sinn macht, wenn Du weißt, was sich geändert hat, d.h. zu jeder neuen Version gehört auch ein Kommentar. Zusätzlich gehe ich von Milestones aus, die direkt zu einem Zeitpunkt aus dem SVN erzeugt wird (tree / branch). Bei so etwas will man wissen, was sich von Milestone zu Milestone verändert hat, d.h. man muss die Kommentierung auswerten. Zusätzlich kommt hinzu, dass ja nicht zwingend jede Änderung in eine Version rein muss.

    Du könntest zwar, jedes mal per Cron nachschauen lassen, ob eine Datei auf dem Server (per Samba / NFS dort hinkopiert) ins SVN muss und diese per Script direkt einbauen. Aber gelöscht Dateien musst Du händisch einpflegen und mit einer solchen Lösung hast Du meiner Ansicht nichts gewonnen, dann könntest Du auch Snapshots alle 2-3 Stunden erzeugen und die täglich auf Band sichern.

    Zu den SVN Clients: Was ist daran schwer, einen Client zu installieren, den man morgens einmal startet, sich dann die aktuellen Entwicklungsstande auf sein lokales System kopiert und abends seine Änderungen in das SVN einpflegt?

    Unter Unixen: svn add *, svn co -m "meine Änderungen von heute"

    Das ganze gibts auch per Mausschubs-Anwendung

    Ich denke Du solltest Dir überlegen, ob Du eine reine Backup-Lösung möchtest, dann würde ich zu Snapshots+Backup (differentiell / inkrementell) raten, oder Du setzt eine richtige Versionierung ein, dann nimm SVN.

    HTH Phil

  5. Hallo,

    Netz1:

    192.168.0.0

    255.255.255.240

    Router: 192.168.0.17

    NIC im eigenen Netz: 192.168.0.17

    Client: 192.168.0.18

    nur einmal eine Frage, ist die Subnetzmaske mit 255.255.255.240 richtig? Du verwendest ja sonst Standardmasken. Ich müsste das jetzt erst mal durchrechnen, vor allem wäre es gut, wenn Du Dir mal mit "route -n" die aktuelle Routingtabelle ausgeben lassen würdest und sie bitte postest.

    Ohne Garantie: die Maske 240 als letztes Oktett umfasst 4 Bits, die vom Netz belegt werden, d.h. für den Hostanteil bleiben 4 Bits übrig. Mit 4 Bits kannst Du die Dezimalzahlen 0 bis 15 darstellen, 0 fällt für die Netzadresse weg und die "15" für den Broadcast, d.h. Die Clients dürfen nur die Zahlen 1-14 im letzten Oktett haben. Bitte korrigiert mich, wenn ich falsch liege.

    Gruß

    Phil

  6. Hallo,

    wie wäre es mit CVS bzw SVN?

    Du hast die Versionierung drin, kannst das ganze per HTTP Zugriff benutzen, authorisierte Zugriffe sind möglich, für jedes OS gibt es Clients, die man ggf. auch automatisiert betreiben kann, das ganze liegt auf einem Server, den man dann täglich sichern könnte. Zu jeder Version können Kommentare eingegeben werden, das ganze geht auch für binär Daten und man kann sich Unterschiede zwischen den Versionen anzeigen lassen, z.B. bei Textdateien bis auf die Zeile genau und das ganze ist kostenlos.

    HTH Phil

  7. Hallo,

    ich sehe bei den letzten zwei Postings die übliche Abneigung der Windowsuser gegenüber Linux. Ich denke für reine Officetätigkeiten ist es für unerfahrene Anwender schwieriger bei Linux als bei Windows. Im Server und Netzwerkbereich finde ich, hat Linux im Gegensatz zu Windows klare Vorteile z.B. resourcenschonender. OSX bietet eben beide Vorteile.

    Ich denke die Diskussion, dass ein Programm X unter Linux schwieriger zu installieren ist, als unter Windows ist, ist eine Diskussion, die ins bodenlose läuft. Hier die Anmerkung an aLeXL, eine Qt Entwicklungsumgebung unter Windows zu installieren ist auch sehr zeitaufwendig. Konfiguration der DCOM Schnittstelle unter Windows ist auch nicht ganz trivial, vor allem wenn man diese Mechanismen im Cluster und dem gesamten Netzwerk benötigt.

    Man erreicht das Ziel unter Windows wesentlich schneller durch eben eine GUI, den Nachteil den man hat ist eben ein System, dass recht viele Resourcen benötigt, den Administrationsaufwand aber vereinfacht. Linux hingegen benötigt zuerst einmal tiefere Systemkenntnisse und damit verbunden Mehraufwand in der Konfiguration, hat aber dann den Vorteil, dass man es besser auf den geforderten Zweck zuschneiden kann.

    Die drei großen Systeme, Windows, Linux und Mac OS haben, jeder für sich genommen, Vor- und Nachteile, die man auf den entsprechenden Einsatz gegenüberstellen sollte und sich dann für eine Lösung entscheiden muss. Es gibt nun mal nicht "das" perfekte OS.

  8. Hallo,

    das Problem hatte ich auch, ich habe mich da für ein Wiki entschieden. Vorteil ist, keine Datenbank die aufgesetzt wird, Benutzerauthentfikation, leichte Wartbarkeit, Nachvollziehbarkeit, wer wann was gemacht hat, Von überall zugänglich und man kann auch PDFs usw hinzufügen.

    Man muss natürlich die Daten einmal einpflegen, aber danach hat man Ruhe, vor allem kann ich die Daten wunderbar sicher und wenn es aus allen Nähten platzt einfach auf einen anderen Server kopieren.

    HTH Phil

  9. Hallo,

    Geht natürlich auch nachträglich... aber ist echt ein Affentanz...

    für meinen WLAN Dongle musste ich per ndiswrapper den WindowsTreiber unter Linux installieren (weil Belkin da nichts für Linux anbietet) - ob es funktioniert hat weiß ich nicht, ich hab noch kein WLAN Tool gefunden dass mir die Spots anzeigt -.-

    also das kann ich nicht bestätigen. Wenn man weiß, was man machen muss, ist das nicht mehr Aufwand als unter Windows. Zu den Belkin Sachen generell soll sich in der Kernel-Version 2.6.23 etwas verändert haben, da werden dann diese Geräte auch unterstützt. Also würde es sich auch anbieten hier einen eigenen Kernel für das Gerät zu kompilieren

    Woran ich auch immernoch kaue ist die Graka... Neuen Treiber für Linux von ATI runtergeladen und dann gehts los, wie installiert man nen treiber? Ein Linux-"experte" wusste nicht wie es geht und hat es mir dann mit der Konsole erklärt (SU für den Superuser eintippen und dann die Run ausführen) dann muss man per modprobe den fglrx (oder so) irgendwo reinschmeißen (hat mich nicht wirklich interessiert wo und wieso) und nachher (habe ich eben herausgefunden) muss wohl noch irgendeine conf datei umgeschrieben werden damit das ganze auch wirklich greift...

    ATIs GraKa Unterstützung ist nicht so gut, wie die von NVidia, aber auch nicht wirklich ein Problem, das passende Modul kompilieren und installieren (übernimmt meistens ein Makefile), danach dieses Modul für das X11 zugänglich machen (Namen in die xorg.conf eintragen), fertig.

    Also an Linux Konfiguriert man sich zuweilen die Finger wund.

    Es gibt auch verschiedene Konfigtools, sicher kann man alles per Hand machen, muss man aber nicht. Nur sollte man sich mit dem System auseinandersetzen, vor allem mit der verbauten Hardware. Genauso wie ich nur sagen kann, dass man seinen eigenen Kernel baut, damit hat man genau das was man will und braucht und es gilt dann "never touch a running system" und vor allem ein Linux, das einmal vollständig ist, läuft über Jahre

    HTH Phil

  10. Hallo,

    also ich würde Dir zu einer Ubuntu Distri raten, sie ist sehr benutzerfreundlich und verwendet die von Debian bekannte Struktur. Persönlich setze ich zusätzlich noch FreeBSD ein, da ich hier das eigene kompilieren (geht auch bei anderen Distris) und die Mac OSX ähnliche Struktur (eigentlich ist ja OSX ein BSD) schätze.

    Wenn Du GUI like arbeiten willst, dann nimm die KDE, ich glaube 4 ist schon im Beta, aber trotzdem würde ich Dir auch die Konsole ans Herz legen, denn manches geht doch schneller. Zusätzlich beim Laptop kompiliere ich meinen Kernel selbst durch, damit er schlank ist und nur das drin ist, was ich wirklich brauche, aber für den Anfang reicht der Generic.

    HTH Phil

  11. Hallo,

    ich setze nur auf LaTeX. Damit kann ich beliebig große Projekte erstellen. Als Editor lässt sich z.B. Eclipse verwenden und da es Cross-plattform ist, kann ich auch wunderbar mit mehren Leuten gleichzeitig arbeiten. Mit Hilfe eines SVN kannst Du dann auch wunderbar sehen, wer wann welche Änderung eingepflegt hat.

    HTH Phil

  12. Hallo,

    der Begriff "Samplingrate" beschreibt, wie häufig ein Signal innerhalb eines Zeitintervalls abgetastet wird. Die Einheit Hz (Hertz) ist definiert als 1/Sekunde. Somit weißt Du, wenn Du ein Signal hast, das mit 10Hz abgetastet wird, Du pro Sekunde 10 Werte bekommst.

    Zu der Qualität eines Signals würde ich Dir aber noch empfehlen den Begriff des "Nyquist-Shannonsche Abtasttheorem" nach zu schauen.

    HTH Phil

  13. Hallo,

    ein kleiner Tipp zum Suchen und Verstehen:

    Ein "cast" hat etwas mit dem Datentyp zu tun, die Vererbung etwas mit dem Design. Versuche am Besten einmal den Unterschied heraus zu arbeiten.

    Das kann man z.B. mit einem Cast machen:


    float x = 0.0;
    int y = (int)x;
    [/PHP]

    HTH Phil

  14. Hi,

    ich hatte mal meine Platte Software von Ontrack sichern müssen, da ein Teil der Köpfe hinüber war. Ich konnte damit 40MB in 4 Tagen zurück bekommen, die wichtigsten Daten waren zum Glück dabei.

    Durch die Formatierung wurden nicht zwingend die Daten gelöscht, aber durch die Neuinstallation entweder ganz oder teilweise überschrieben.

    Ich würde hier wirklich, da sich ja wohl um sehr wichtige Daten handelt, den Rechner ausmachen, Platte ausbauen und zu einem professionellen Datenretter schicken, denn die können ggf. noch aus den physikalischen vorhanden Infos, die Daten zurück gewinnen. Kostet leider nicht wenig, aber dafür hat man die größte Chance noch etwas von den Daten zu bekommen.

    Der Tipp robotto7831a würde ich auf jeden Fall umsetzen, damit bist Du auf jeden Fall auf der sicheren Seite. Also je nachdem wie der Kunde sich dies bezüglich verhält, würde ich ihm evtl. mit einem Teil der Kosten für die Datenrettung entgegen kommen, damit das Verhältnis nicht darunter leidet

    HTH Phil

  15. Hallo,

    Du müsstest vielleicht ein bisschen genauer beschreiben, wo Du eine Performance Steigerung haben willst. Mal vielleicht generell, implementiere Deinen Algo, prüfe ihn durch Benchmarks und schaue, ob er wirklich "schlecht" ist. Meistens entsteht ein Zeitverlust nicht in dem eigentlichen Algo, sondern in anderen Programmstellen. Je nachdem in welchen Bereich Du programmierst, gibt es auch Literatur z.B. Numerical Recipes.

    HTH Phil

  16. Hallo Guybrush,

    Du hast recht. Ich dachte dass man mit Hilfe der Synchronisation eben in einem Neukonzept den Slave- bzw Masterthread die Kommunikation sicherstellt. Die Prüfung, ob Master oder Slave muss natürlich als Preprocessing statt finden. Ich hatte das Problem, dass aus dem Preprocessing ein Masterthread erzeugt wurde, der wieder verschiedene Informationen bekommen hat und daraus dann mehrere Slaves erzeugt wurden. Die Slaves konnten zwar unabhängig arbeiten, mussten aber in einer definierten Reihenfolge beendet werden, so dass ich falls ein Slavethread früher fertig war, diesen schlafen legen musste.

    Gruß

    Phil

  17. Hallo,

    ich meine mich unter QT daran erinnern zu können, dass man Threads, so fern man den Zeiger auf den Thread hat, ihn "schlafen" legen kann. Evtl könntest Du aus Deinem "Master-Thread" zu Beginn, alle Slave Thread "schlafen" legen, dann den Code vom Master ausführen und am Ende die Slaves wieder aufweckst.

    Ich würde am hier einmal Dein Konzept überdenken und mir überlegen, ob Du hier nicht auf einen Synchronisationsmechanismus zwischen Deinen Threads zurückgreifst.

    HTH Phil

  18. Hallo,

    also ich meine irgendwo mal gelesen zu haben, dass ein Projekt nicht zwingend zu einem Erfolg führen muss. Wenn Du im Rahmen Deines Projektes eben fest stellst, dass es in das Betriebsumfeld nicht passt, z.B. technisch realisierbar oder zu kostenintensiv, dann musst das entsprechend in der Arbeit herausarbeiten, also Soll-Ist-Ergebnis Vergleich, aber die Arbeit ist damit auch vollständig.

    Aber hoffe ich doch einmal auf die Unterstützung noch auf andere, weil ich das wie gesagt nur irgendwo einmal am Rande mitbekommen habe.

    HTH Phil

  19. Hallo,

    die Zahl kannst Du - ich gehe von einem unsigned int aus - in einen String konvertieren und dann zeichenweise durchlaufen, jedes Zeichen wieder in einen numerischen Wert konvertieren und aufsummieren

    HTH Phil

  20. Hi,

    der Schlüssel (Primär oder Unique) ist nur dafür da, um einen Datensatz eindeutig zu identifizieren. Ob der Schlüssel nun aus einem oder mehreren Feldern besteht ist da irrelevant. Man muss nur innerhalb der Relation Attribute finden, mit denen eine Eindeutigkeit erzeugt werden kann. Technisch sollte man natürlich überlegen, ob man intern mit ID, anstatt Stringfeldern arbeitet, dies kommt aber auch immer auf das eingesetzt DBMS an.

    HTH

    Phil

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...