Laden...
Avatar #avatar-1739.jpg
Benutzerbeschreibung
..bau die ein Traumschloss, doch versuch nicht drin zu wohn, denn sonst wird ein Traum schnell zur Illusion

Forenbeiträge von John Doe Ingesamt 149 Beiträge

25.10.2006 - 06:57 Uhr

Original von JAck30lena
ps: die version ist für euch kommentarlos da meine kommentare in einer sprache geschrieben sind die hier (vermutlich) 99,99% nicht verstehen.

Rein aus Interesse: Welche Sprache wäre das?

06.10.2006 - 23:24 Uhr

Original von herbivore
Neue FAQ-Beiträge erscheinen dadurch erstmal ganz unten und arbeiten sich dann langsam nach oben, wenn sie entsprechend häufig gelesen werden.

herbivore

Das impliziert aber, das die SuFu benutzt werden würde.

28.09.2006 - 17:59 Uhr

Original von pastors
Hallo,
ich stehe genau vor dem gleichen Problem. Allerdings kann ich mit dem VB-Code nicht in C# übertragen. Bin noch ein Rookie 🙂

Hast du es in C# hinbekommen?

Grüßle

Mike

Leider nicht. Wir haben den Auftrag auch nicht durchgeführt. Der Aufwand entsprach in keinem Verhältnis zu dem Ertrag.

19.08.2006 - 15:43 Uhr

Entweder selber sortieren (z.B. durch BubbleSort, o.ä.), oder das Ganze in eine SortedList packen.

17.08.2006 - 21:24 Uhr

Danke schonmal. Ich werde das wenn ich denn irgendwann mal nach Hause komme ausprobieren. Da ich selten eigene Controls drin habe (da ich atm gezwungen bin nicht mit .NET zu arbeiten) ist das wohl nicht das Riesenproblem. Aber die Ursache ist dadurch immer noch nicht geklärt 🙂 Ich habe an meinem Rechner seit der Installation nichts mehr verändert (oder zumindest nichts was ich nicht vorher schon mal verändert habe).

17.08.2006 - 08:37 Uhr

Hallo Leute!

Ich habe da ein kleines Problem mit meinem Visual Studio 2005. In der Toolbox habe ich seit einiger Zeit das Problem, das die Icons verschwinden. Da kommt immer zufällig ein Icon (z.B. alle Controls haben das Icon eines Buttons). Wirlich dramatisch ist das jetzt nicht, aber man sucht doch etwas länger nach einem bestimmten Control.

Hat da einer ne Idee woran das liegt, oder besser eine Lösung (ausser Neuinstallation)?

lg,
Johann

12.08.2006 - 21:53 Uhr

Original von herbivore
Wenn du verstehst, worauf ich hinaus will.

Jetzt ja.

Eigentlich ist eine Versionierung einfacher zu implementieren, weil man nur in jeder zu versionierenden Tabelle eine Spalte mit der Versionsnummer als Teil der ID einfügen muss. Und wenn man es nicht sowieso hat, vielleicht noch ein Änderungsdatum.

Ach, so meinst du das. Bei einer Versionierung habe ich eigentlich an eine komplette gedacht. Das quasi bei jeder Änderung (nicht nur zwischen zwei Synchronisierungen) eine Kopie angelegt wird, und die Nummer erhöht wird. So das man zu jedem Zeitpunkt zu jeder Version zurückkehren kann.
Aber ich glaube das würde den Rahmen des Projektes doch erheblich sprengen.

Ich glaube ich werde eine Änderungshistorie einbauen, da ich daran gekoppelt einen Verlauf protokollieren kann.

Danke schonmal.

Johann

12.08.2006 - 21:23 Uhr

Original von herbivore
Vernüftig synchronisieren kann man m.E. nur auf zwei Arten:

  • Man speichert die Änderungen als Änderungen oder

[...]

Egal was man wählt, der Vergleich der Sätze in beiden DBs um Unterschiede festzustellen ist nicht nötig. Man geht einfach die Liste der Änderungen oder die Liste der neuen Versionen durch.

Hi,

danke für deine Antwort. Mit anderen Worten eine weitere Tabelle anlegen, in der ich die ID's der jeweils geänderten Datensätze einfüge. Diese Tabelle wird dann bei der Snychronisierung abgearbeitet und fertig?
Ich denke das eine einfache Erfassung der Änderung einfacher zu implementieren ist, als eine Versionierung, oder?

vg,
Johann

12.08.2006 - 20:33 Uhr

Da der SP mit WebDav arbeitet, ist die einfachste Möglichkeit per WebClient. Ansonsten per OM vom SP, oder per SOAP. Die Suche hätte auch geholfen 😉

12.08.2006 - 20:18 Uhr

Hallo Leute!

Ich bräuchte da mal ein paar Ideen von euch. Ich habe folgendes Szenario: Ich möchte meine Webapplikation (zwar in Java mittels Struts, aber das ist egal) an zwei Orten laufen lassen: einmal auf meinem Server und einmal lokal auf meinem Notebook, damit ich die Software auch z.B. in der Firma oder in der Berufsschule nutzen kann. Damit dann nachher in beiden Datenbanken die gleichen Daten liegen, will ich die beiden Datenbanken syncronisieren lassen. Und genau da liegt mein Problem. Die Art der Daten ist sehr unterschiedlich, zum einen sind das reine Adressdaten (also recht wenig Änderungen) und zum anderen sind das Notizen/Mitschriften (sehr hohe Änderung) und Termine (ebenfalls ein hoher Grad an Änderung). Alle Tabelleneinträge sind über eine (für die Tabelle) eindeutige ID gekennzeichnet, aber das kann bei einer einfachen ID-Überprüfung zwischen den Datenbanken natürlich zu Kollisionen führen wenn in beide seit der letzten Syncronisierung Einträge gemacht worden.

Eine Idee von mir war, die Einträge nicht mittels einer Auto Increment ID zu versehen, sondern mit einer GUID. So könnte ich in beiden Datenbanken jeden Eintrag einwandfrei identifizieren kann. Aber ob das der richtige Weg ist weiss ich nicht.

Zum anderen stellt sich mir die Frage wie ich die Änderungen syncronisieren soll. Zum einen aus performancetechnische Sicht: Einfach alle Datensätze durchlaufen und und alle Felder überprüfen erscheint mir zwar der einfachste, aber auch langsamste Weg zu sein. Wäre es sinnvoll, da einen Hashwert über die Spalten (ausser ID und dem Hash selber) anzulegen?
Zum anderen aus organisatorischer Sicht: Das rüberschaufeln von DB A -> B (oder umgekehrt) wenn der Datensatz in der andern nicht existiert ist ja kein Problem. Aber was ist, wenn in beiden Datenbanken der gleiche Eintrag angelegt wird, aber eine unterschiedliche ID (oder GUID) bekommt. Oder wenn an einem syncronisierten Datensatz in beiden Datenbanken unterschiedliche Änderungen vorgenommen werden? Da bleibt doch wohl nur eine Benutzerintervention über, oder?

Ich hoffe ihr könnt mir da ein wenig auf die Sprünge helfen.

Vg,
Johann

28.07.2006 - 14:29 Uhr

Original von schaedld
(Was heisst eigentlich TDD?)

Test Driven Development, man siehe auch NUnit

20.07.2006 - 12:08 Uhr

Dann müsste ich aber doch jedes Forum einzeln durchklicken, was reichlich suboptimal ist (da verliere ich doch nach der Hälfte die Lust). Wäre doch schön eins fürs gesammte Forum zu haben.

20.07.2006 - 11:54 Uhr

Manchmal hilft dabei auch ein "Clean Solution" und "Rebuild Solution".

20.07.2006 - 11:52 Uhr

Mein erster Gedanke war, die Instanz über die Prozess-ID zu identifizieren, aber das klappt ja bei Fenstern nicht.

Ne Quick-and-Dirty Möglichkeit wäre, einen FileSystemWatcher einzusetzen.

20.07.2006 - 11:50 Uhr

Hallo zusammen,

wäre es möglich oben bei "neue Beiträge seit meinem letzten Besuch", etc. einen Link zu Beiträgen ohne Antworten einzufügen?

lg

20.07.2006 - 11:48 Uhr

Original von nic4x4
Ich möchte eine Schreibgeschützte Datei auslesen, aber da kommt eine "UnauthorizedAccessException".

Für mich hört sich das eher danach an, als ob du keine Berechtigungen hättest die Datei zu lesen...

20.07.2006 - 11:41 Uhr

Original von Waschbecken
Man könnte ja mycsharp.de in eisbaerzone.de (die Domain ist ja eh unbenutzt) umbenennen, um einfach zukünftig Missverständnisse zu vermeiden.

@Golo: Ich fasse es nicht - Ich surf gerade auf deinem Blog rum, und was entdecke ich? du hast die www.eisbaerzone.de tatsächlich registriert! 😁 👍

20.07.2006 - 11:36 Uhr

Original von Cyron
Wäre eine Singleton-Klasse dafür geeignet?

Es gibt keine Singleton-Klasse; nur ein Singleton Pattern. 😉

lg,
Johann

19.07.2006 - 12:32 Uhr

@Lord Hessia: Erhöht aber die Lesbarkeit enorm.

ok, btt.

19.07.2006 - 12:26 Uhr

@backdoor: Es gibt hier auch eine Editieren-Funktion 😉

19.07.2006 - 12:18 Uhr

Wir verwenden in der Firma pro Kundenprojekt ein Repository. Darunter sind die Ordner lib, docs, src, tools in jedem Kundenprojekt vorhanden.

bsp:

Kundenprojektname

  • lib
  • docs
  • src
    • Solution.sln
      • Projekt1
        • Projekt1.prj
      • Projekt2
        • Projekt2.prj
  • tools

Damit fahren wir eigentlich ganz gut.

13.07.2006 - 11:08 Uhr

Mir hilft immer der hier. Macht es zwar nicht 100 %ig, aber das meiste kann der übersetzen

13.07.2006 - 11:05 Uhr

Original von svenson
Bedenke, dass FileStreams intern ebenfalls einen Puffer verwenden. Größere "Pakete" zu lesen bringt dann kaum Effekt.

Schreibe dir doch einfach mal ein kleines Testprogramm, welches die Geschwindigkeit in Abhängigkeit von der Paketgröße mißt. Dann kennst du die "optimale" Größe. Erfahrungsgemäß liegen optimale Puffergrößen zwischen 4 und 64 KB.

So auf die Schnelle geschrieben ergibt ein solches Programm mit einer 70 MB Datei folgende Werte bei mir:

Gemessen bis 70 Kb Puffergröße

12.07.2006 - 15:12 Uhr

Original von DaSchroeter
Sorry, hatte Deinen Code nicht richtig gelesen!

Da gibt es noch mehr in StartInfo zu beachten.
CaptureStandardOutput = true oder so ähnlich.

Vielleicht RedirectStandardOutput/Error = true?

11.07.2006 - 19:22 Uhr

Original von jan223
Als XML serialisieren geht aber auch nicht, kann man es binär serialisieren?

Ja

11.07.2006 - 12:45 Uhr

Original von Interflo
Damit hätte ich dann aber nur den Namen der Font umgewandelt aber nicht das ganze Objekt, oder?

Richtig. Wenn du das ganze Object haben willst dann musst du das entweder serialisieren, oder du speicherst die wichtigsten Eigenschaft (Name, Größe, Style) "von Hand" ab.

11.07.2006 - 10:24 Uhr

Man sollte auch bei der Übergabe von Pfaden/Dateinamen beachten, das man wenn ein Leerzeichen im Namen drin vorkommt, man den Pfad in Anführungszeichen packen muss, da sonst der Rest (nach dem Leerzeichen) als neuer Parameter interpretiert wird.

10.07.2006 - 16:14 Uhr

Original von hdsf
Und was könnte wohl hdsf bedeuten? Nunja das ist auch schnell erklärt: Ich wollt mich eben mal so einfach anmelden und das Forum eigentlich nur einmal und dann nie wieder nutzen. Also wurde einfach hdsf auf die schnelle getippt. Aber es gab ein unerwartetet Problem: Das Forum und einiger User sind einfach zu hilfreich, also bleib nutze ich das Forum gerne!

Ja ja, sag doch das du uns damit sagen wolltest: "Haltet die sch**** Fre***" 😁

09.07.2006 - 17:21 Uhr

Ich habe mich jetzt (vorläufig) entschieden. Das Syntaxhighlighting wird natürlich deaktivierbar sein. Das Laden der Daten mache ich konfigurierbar mit den Optionen das immer alle geladen werden, oder nur die wichtigsten, oder nur die, die gebraucht werden.

Wenn noch was ist, dann melde ich mich wieder.

Danke schonmal,

John Doe

09.07.2006 - 17:06 Uhr

Original von herbivore
ich würde deine Grundannahme in Frage stellen wollen. Ich kann mir nicht vorstellen, dass ein String-Array soviel verschlingt. Ich würde bei 2500 Einträgen mit max. 250.000 KB rechnen. Aber davon abgesehen: was wären heutzutage schon 10 MB?

Außerdem brauchst du doch nur die Werte der Sprache im Speicher, die du gerade "highlightest".

Da mein Editor mehrere Dateien gleichzeitig offen haben kann (die im Extremfall andere Sprachen zum highlighten beinhalten) summiert sich das dann doch schon ganz schön.
Mit der Größe habe ich gerade nochmal nachgeschaut. Hier auf meinem NB ist die Auslastung nur etwa halb so groß wie auf meinem anderen Rechner. Komisch. Naja, da werde ich nochmal genau nachschauen.

Allerdings ist das ja immer noch nur die Funktionsnamen, ohne Formatierungseinstellungen. Die Einstellungen sollen für jede Funktion(sgruppe) einzeln definierbar sein. Was im Extremfall dann auch 2500 verschiedene Einstellungen wären, die man auch draufschlagen müsste.

An und für sich sind 10 MB nicht viel - aber wenn man bedenkt, das auf den Rechnern evtl. nicht 1 GB RAM drin sind, sondern nur 128 MB oder so, dann kann man sich nicht zwingend einen 30 MB verbratenden Editor noch leisten.

Ich würde die Namen sowieso als Keys eines Dictionarys speichern, damit eine schnelle überprüfung möglich ist, ob ein Wort ein Funktionsname ist (ContainsKey).

Klar, werde sowieso eine Dictionary nehmen. Habe es mit beidem (Array und Dictionary) ausprobiert. Die Auslastung vom Dictionary lag nur unwesentlich höher.

Werde warscheinlich eine Mischung aus Vorladen und OnDemand-Laden verwenden. Oder das konfigurierbar machen.

09.07.2006 - 16:30 Uhr

Hallo Leute!

Ich bräuchte da mal einen kleinen Gedankenstoß. Ich arbeite hier gerade an einem Syntaxhighlighter, der einige Sprachen unterstützen soll.
Die Daten für die Formatierung bekomme ich aus einer gemeinsamen XML-Datei. Allerdings umfasst allein PHP schon an die 2500 Funktionen. Selbst ein string[] nur aus den Funktionsnamen (ohne Formatierungseinstellungen) umfasst dann schon ca. 10 MB. Wenn man noch die Einstellungen für die Formatierung hinzurechnet ist das schon viel zu viel. Und das nur bei einer Sprache.

Also fällt diese Möglichkeit dann schon mal flach.

Mein nächster Ansatz war OnDemand die Werte aus der XML-Datei abzufragen, und nur alle schon geladenen Datensätze im Speicher zu halten. Das würde die Auslastung natürlich erheblich verringern. Aber ich befürchte, das das bei langsameren Rechnern erhebliche Performanceeinbuße zur Folge hat.
Eine andere Alternative wäre, häufig verwendete Funktionsnamen in der XML-Datei mit einem Flag zu versehen, und die dann schon mal zu laden.
Aber nach welchen Kriterien sollte man die aussuchen?

Vielleicht hat einer von euch eine andere Idee wie man das Problem umgehen kann?

vg,

08.07.2006 - 16:31 Uhr

Original von Cyron
Ich denke ich bin intelligent genug um das beste für mich herauszufiltern - und falls es zu gar keinem Konsens kommt, bleibt es für mich einfach beim eigenen Statement. =)

Das ist - denke ich - der falsche Weg. Denn dann kann es dir schnell passieren, das du dir einen mischmasch von allen aneignest der nachher deine Lösungen in eine Sackgasse führen kann. Ich denke du fährst wie herbivore beschrieben hat am besten wenn du deine Situation veränderst. Im Härtefall kannst du auch bei der IHK eine Veränderung deiner Ausbildungssituation bewirken.

Am sinnvollsten ist es (aufs Forum bezogen) mit konkreten Fragestellungen zu einem Problem zu kommen (evtl. mit möglichen Lösungsansätzen deinerseits), anstatt schon fertige Lösungen zu posten (denn dann hast du ja kein Problem mehr) und nachher von 100 Leuten gesagt zu bekommen was falsch ist, oder was sie anders gemacht hätten.

Falls es dir nur um die Fragen geht, was ein guter Lösungsweg ist, etc. ist es auch (meistens) hilfreich, wenn man sich den SourceCode von OpenSource-Projekten besorgt, und sich (auch wenn er nichts mit deinem aktuellen Problem zu tun hat) darin einarbeitet.

so long...

08.07.2006 - 16:25 Uhr

_Original von Dr.Cool_Haben wir das Recht, Leben neu zu erschaffen nur weil wir es können?

Hätten wir das Recht nicht, dann würde es uns nicht geben. Denn eine Geburt ist ja nichts anderes als das erschaffen von neuem Leben. Oder meintest du "neues Leben" im Sinne von "Neue Art von Leben"?
Mit anderen Worten: Ich denke ja, wir haben das Recht. Denn die Evolution ist im Grunde genommen auch nichts anderes: Eine Mutation entsteht auch auf der Basis einer bestehenden Mutation. Allerdings nicht auf Initiierung derselben.

Mir ist die Vorstellung nicht behaglich. Und ich frage euch: Wenn diese "Maschinen" dann eines Tages leistungsfähiger sind als wir, und auch wirklich einen eigenen Willen haben - sind Filme wie "Terminator" dann wirklich noch so unrealistisch? Mir macht das Angst und ich bin froh dass ich den Robotermüll vermutlich nicht mehr erlebe - wobei es vielleicht auch klischeehaft und falsch gedacht ist, dass ein selbstdenkender Roboter schaden anrichtet.

Setzen wir mal vorraus, das wir durch simple Evolution entstanden sind. Dann haben wir auch nichts anderes gemacht: Wir haben uns im Endeffekt als stärker (oder leistungsfähiger) als die anderen existierenden Arten auf der Erde erwiesen. Und sind zu der beherschenden Art auf diesem Planeten geworden. Der einzige Unterschied (wenn wir die Evolution als unsere Entstehung vorraussetzen) ist, das wir nicht von einer Art die (heute) uns unterlegen ist, geschaffen wurden. Was in der Situation passieren würde, wenn wir eine "Art" oder "Form von Leben" auf Basis einer Maschine erschaffen würde.

// OT
Die (ich glaube von talla) angesprochende ethische Problematik in Biochemie ist eine eher philosophische Entscheidung. Genauso wie die Frage der Abtreibung (ab wann ist ein Mensch ein Mensch), etc.

29.06.2006 - 19:49 Uhr

Was auch noch eine Geschwindigkeitsbremse löst ist das erstellen der TreeNodes nicht direkt im TreeView, sonder erst den Node erzeugen, und die Childs dranhängen, und nachher einfach den root-Node in das Treeview hängen. Oder mach SuspendLayout genau das?

29.06.2006 - 16:31 Uhr

"attachen": ist eingedeutscht, siehe hier

29.06.2006 - 14:45 Uhr

Hallo Leute!

Ich habe da mal wieder ein kleines Problem: Ich rufe hier einen Webservice auf, der Impersonation benutzt. Nach der Impersonation läuft der Webservice auch unter meinen Credentials. Zur Verarbeitung der Daten wird ein neuer Thread gestartet, welcher dann u.a. auf einen Sharepoint zugreift. Dieser Thread läuft dann aber wieder unter dem AspNet Benutzer. Ich habe mich da mal ein wenig schlau gemacht und erfahren, das das Problem dadurch entsteht, das die Informationen nach einen Hop (der durch den Aufruf des WS verbruacht ist) verfallen. Wenn ich das starten des Threads rausnehme (dann läuft die Verarbeitung im Hauptthread), dann funktioniert alles.

Ich habe gelesen, das das Problem nur durch die Verwendung von Keberos-Delegation gelöst werden kann. Ist das so richtig, oder gibt es da noch eine Möglichkeit, das mein Thread auch unter meinem Account läuft?

vg,
John Doe

26.06.2006 - 14:57 Uhr

aber ist ja auch eher ungewöhnlich, das ich in Kassel und Umgebung in nem Hotel übernachte 😉

Wäre auch irgendwie suboptimal 😁

26.06.2006 - 14:55 Uhr

Oder du erstellst einen kleinen WS, der entweder die Daten im Cache behält mit einem Timeout von 24h und beim Entfernen überprüft wer kurz davor ist rauszufliegen, oder aber der einen Thread laufen hat, der nach 24h die Überprüfung macht.

26.06.2006 - 14:32 Uhr

Original von nils
wo wart ihr denn untergebracht??

Ich war leider nicht mit - musste arbeiten.

Hier (im ersten Post) waren die anderen untergebracht.

26.06.2006 - 13:40 Uhr

Original von Fabian

das würde mich jetzt auch interessieren.

Gruß,
Fabian

Die Boardparty eines der Boards wo ich aktiv bin hat in Kassel stattgefunden. Naja, von der Unterbringung waren die meisten nicht sehr begeistert. Nachzulesen hier.

Deshalb mal prophylaktisch einen Ort ausschliessen 😉

vg,

23.06.2006 - 14:00 Uhr

Original von DaSchroeter
Zu Schnell: Bin ich immer 🙂

OT: Hättest aber wenigstens den 10 Minutenabstand einhalten können 😉

23.06.2006 - 10:03 Uhr

Hallo Leute!

Ich arbeite hier gerade an einem Webservice, der Daten im Cache puffert und nach eine bestimmten Zeit aktualisiert. Bei dem hinzufügen der Daten kann ich ja ein Callback angeben, der ausgeführt wird nachdem die Daten aus dem Cache entfernt wurden.
Man munkelt, das es auch eine Möglichkeit gibt, eine Funktion aufzurufen, bevor die Daten entfernt werden. Allerdings habe ich weder in der MSDN noch in meinem ASP.NET Buch was dazu gefunden.

Hintergrund ist folgender, das ich (bevor die Daten aus dem Cache entfernt werden) überprüfen möchte ob eine DB-Verbindung hergestellt werden, und ob ich die Daten überhaupt wieder holen kann. Sonst sollen die alten Daten wieder eingetragen werden.

vg,
John Doe

Edit: Hat sich erledigt - wer lesen kann ist klar im Vorteil (ist halt noch ein wenig früh).
Wenn man eine CacheItemRemovedCallback-Methode beim Insert angibt bekommt diese Methode (nachdem die Daten gelöscht worden sind) ein Kopie der Daten noch mitgeliefert.

21.06.2006 - 16:05 Uhr

Wenn in Kassel, dann weiss ich wo wir garantiert nicht hingehen...

21.06.2006 - 14:38 Uhr

Ich nehme an du gibst einen absoluten Pfad an. Kann es sein das er den nach der Installation nicht findet?

Versuch mal einen relativen Pfad einzusetzen, oder (ich weiss nicht ob so was geht) vom Setup definierte Variablen z.B. für das Programme-Verzeichniss, etc. einzusetzen.

21.06.2006 - 14:11 Uhr

Ich fände Düsseldorf toll 😁

21.06.2006 - 13:15 Uhr

Code habe ich jetzt nicht, aber schau mal in der MSDN nach FileStream und StreamWriter.

21.06.2006 - 12:51 Uhr

In einer CSV-Datei kannst du keine Tabellen anhängen. Siehe dazu auch hier

Edit: verdammt, cih bin zu langsam

16.06.2006 - 10:10 Uhr

oder .TryParse

12.06.2006 - 13:31 Uhr

Aus deiner Signatur:

80% meiner Fragen beantwortet die Suchfunktion,
10% die MSDN und
die restlichen 10% frage ich Hier nach

😉

08.06.2006 - 15:44 Uhr

Auf ASPHeute.com habe ich vor längerem mal einen Artikel darüber gelesen, und zwar hier.

Vg