Zum Inhalt springen

just_me

Mitglieder
  • Gesamte Inhalte

    196
  • Benutzer seit

  • Letzter Besuch

Beiträge von just_me

  1. Ich weiss, dass dieser "Rat", den ich zu geben gedenke, jetzt mehr oder weniger auf taube Ohren stoßen wird. Und doch möchte ich es nicht unversucht lassen, die Frustration schon im Vorfeld weitestgehend auszuschließen oder zumindest zu minimieren:

    Im Gegensatz zu der relativ großzügigen Auslegung des Begriffes Objektorientierung auch und gerade in der MFC, orientiert sich das .NET-Framework extrem daran, ja, es IST erstmalig reine Objektorientierung. Java, mit dem du dich, wie du selbst sagtest "nicht so richtig anfreunden" konntest, war - wenn du so willst - in der Mitte zwischen der MFC einerseits und dem .NET-Framework andererseits.

    Ein Ansatz wie dieser

    mich würden also nur die prakti´schen dinge richtig interressieren!
    wird dich also mit an Sicherheit grenzende Wahrscheinlichkeit entweder sehr schnell in eine Sackgasse oder alternativ in die Arme der Frustration treiben.

    Da das Framework derzeit 29 Programmiersprachen bedient, ist der "MFC-Weg" á là «Ich lern' mal eben die Sprache, der Rest ergibt sich von allein.» einfach ausgedrückt der größtmögliche Umweg. (Das sage ich dir aus eigener Erfahrung.)

    Das .NET-Framework besteht aus einer Reihe von ca. 75 verschiedenen Namespaces die etwa 5'300 Klassen (zu Zeiten der B2-Version) beherbergen.

    Schon allein daran kannst du erkennen, dass sich eine "Hilfe" (die MSDN.NET) mit einem derzeitigen Umfang von grob geschätzten 23'000 Seiten mehr als notwendig erweist.

    Mir ist es bis heute schleierhaft, warum man die "Hilfe" mehr als Referenz, denn als echtes "Nachschlage- und Studierwerk" konzipiert hat, aber letztendlich müssen wir damit leben. Das heißt jedoch, dass diese "Hilfe" - zumindest anfangs - den Namen nicht einmal annähernd verdient, und dich, salopp ausgedrückt, mehr als einmal ins Bockshorn jagen wird.

    Und auch die Tatsache, dass es derzeit, also gerade mal 2 Jahre nach seiner Einführung, etwa 300 Bücher rund um das Thema .NET gibt, sagt dir sicher, wie umfangreich dieses Thema ist, und wie wichtig entsprechende Grundlagen sind.

    Daher halte ich es für dringend geboten, dass jeder, der sich ernsthaft mit dem .NET-Framework auseinandersetzen will (und das 'wollen' alle, die sich einer der .NET-Sprachen bedienen - jedenfalls mehr oder weniger), sich auch mit den entsprechenden Basics befasst.

    Aus diesem Grunde rate ich dir eindringlich zu der von dir so verschmähten "Theorie", denn der Bruch mit der MFC-Tradition wird radikal, das garantiere ich dir. ;)

    Meine Tipps:

    Ich glaube, ehrlich gesagt, nicht an die wunderversprechenden Buchreihen, wie "??? for Dummies" oder "XXX in 21 Tagen", weil man dort letztlich nur in die Irre geführt wird. Man bekommt bunte Bonbons, es wird gezeigt, was möglich ist, WENN MAN WEISS, WIE ES GEHT, aber der Umfang und die Zielrichtung zeigen schon recht deutlich, was diese Bücher in jedem Fall sind: nichts als Geldverschwendung. Nichts, was man in solchen Büchern findet, könnte man - neben vielen anderen Informationen - nicht auch in einem der unendlich vielen Fachforen nachlesen.

    Daher habe ich mich bemüht, eine Auswahl zu treffen, die - zumindest was den Einstieg betrifft - "rund" sein dürfte:

    Die MSDN

    verschmäht, verbrämt und trotzdem ein schier unerschöpflicher Quell des Wissens.

    der microsoft'sche Newsserver

    rund 10 deutschsprachige und etwa 30 englischsprachige .NET-Foren warten auf dich ...

    Programming Microsoft Windows with C sharp, w. CD-ROM

    Wenn schon, dann nimm dir wenigstens den Petzold her. Als einer der "Ur-Väter" der Windowsprogrammierung und mit einer Dokumentations- und WinProgrammiererfahrung von nunmehr rund 20 Jahren geht er in seinem Buch den traditionellen - und dir sicher nicht unvertrauten - Weg. Er beschreibt haarklein (für meinen Geschmack viel zu detailliert) verschiedene Komponenten und Klassen. Allerdings leidet durch diese Herangehensweise der Überblick enorm. Trotzdem habe ich es als Nachschlagewerk immer gern in der Nähe. (Das war mein 2.Buch zum .NET.)

    Die .NET-Technologie, m. CD-ROM

    Ein gutes Einsteigerbuch, das man auch mal "ganz entspannt" im Zug oder im Café lesen kann. Es geht auf die wesentlichen Aspekte des Frameworks ein, ohne diese allzu spezifisch zu erläutern.

    Microsoft .NET Framework Programmierung

    Ein typischer Richter. Klar, deutlich, kompromisslos. DAS Referenzwerk für den Überblick.

    Microsoft .NET Entwicklerbuch

    Ein Buch, das Appetit macht. Kauf es. Lies es. Und - mein Tipp - sieh zu, dass ein Rechner in der Nähe ist, denn viele Beispiele will man gleich mal durchspielen. Mit diesem Buch hat Prosise gute Arbeit geleistet.

    Natürlich gibt's auch gute Bücher zu ASP.NET. Hier ist mir die Auswahl besonders schwer gefallen, da viele Bücher mehr oder weniger das gleiche Ziel haben. Möglicherweise solltest du vor der Entscheidung besser im Bücherladen stöbern und dich in die verschiedenen Autoren und deren Herangehensweise einlesen.

    Allerdings erscheint mir Greg Buczek als ein sehr versierter Autor, der es versteht, Sachverhalte auf den Punkt zu bringen. (Ganz im Gegensatz zu mir, der ich für ein paar wenige Empfehlungen ganze Romane schreibe. :rolleyes: sry4that.)

    Developing .NET Web Services with XML

    Jorgensen, ein Autor, der mir bis zu diesem Buch noch nie unter die Finger kam, hat hier seine Prämisse auf - der Titel sagt's deutlich - Webservices und XML gelegt. Ich halte dieses Buch für einsame Spitze, allerdings würde ich es nicht "mal eben zwischendurch" lesen wollen. (Grundlagenwissen setzt er definitiv voraus; es ist also kein Buch für Warmduscher oder Turnbeutelvergesser.)

    Natürlich gibt es noch viele weitere gute und weniger gute Bücher rund um das .NET-Framework. Gut 150 davon zieren derzeit meinen Bücherschrank.

    Aber nach reiflicher Überlegung habe ich die o.g. als die IMHO besten für einen schnellen und sauberen Einstieg ausgewählt.

    Tatsächlich halte ich diese Ausstattung für atomar.

    Nicht eines dieser Bücher wird dir sagen:

    "Nehmen Sie jetzt die Klasse A aus dem Namespace B und fügen sie diese ein. Zupfen Sie danach Komponente C auf Formular D; tippen Sie dann folgenden Code ab ... und voilá! ... das ist Ihr Programm."

    Vielmehr verstehen sich diese Bücher als Leitfaden, als Leuchtfeuer auf deinem Weg in ein unglaublich interessantes und spannendes Gebiet.

    once again, thx 4 ur patience...

    ... and enjoy .NET

  2. @Jaraz

    1. Es steht die Frage, warum diese Tabelle in die 5.NF gehoben werden sollte.

    Wenn die Bedingung lautet, einen Select über die Tabelle laufen zu lassen, und dieser sich als komplex erweist, ist es natürlich schön, wenn man ändern und den aktuellen Wünschen entsprechend anpassen kann, aber es ist mindestens ebenso fraglich, ob eine Änderung á là "... was wäre, wenn ..." wirklich erfolgsversprechend ist.

    Nebenfrage: "Was wäre, wenn diese Tabelle Teil einer OLAP-Anwendung ist?" Dann wäre Normalisierung schlicht "tödlich", weil nervenaufreibende Optimierungsvorgänge stattfinden müssen, die man mit so simplen Dingen, wie einer "schlichten" Normalisierung vermeiden kann.

    2. Ist die Diskussion eines "Was wäre, wenn..." ganz sicher nicht im Sinne der Aufgabe, oder? ;)

    @etops

    Ich vermute, dass du mit einer einfachen Abfrage nicht allzu weit kommen wirst.

    Allerdings ist mir keine Situation geläufig, in der UNION nicht mit einem SELECT COUNT kooperieren würde.

    Eine mögliche Alternative ist es, über alle Spalten separate, evtl. nach Gruppen aufgelöste, SELECTs laufen zu lassen, und die Ergebnisse dann mit array_merge zu mischen.

  3. Vollautomatisches Löschen dezidierter Tupel wird sicher schwierig, weil das System kaum wissen kann, was du genau willst, aber die meisten DBMS unterstützen Aktions-/Auftragspläne, bei denen man sehr genau vorgeben kann, was wann wie und wo ausgeführt werden soll.

    Vorschlag:

    Schreibe dir entsprechende Prozeduren, die du an Events wie "Hochfahren", "Datumswechsel" o.ä. koppelst.

  4. guggst du hier:

    private void button_Click([color=red]object sender[/color], System.EventArgs e){ 
    
    //hier ist das problem
    
    }
    
    
    machst du so:
    private void button_Click([color=red]object sender[/color], System.EventArgs e){ 
    
    //hier ist die lösung (Stichwort: [color=blue]Boxing[/color])
    
    ((System.Windows.Form.Button)[color=red]sender[/color]).Text = "neuer Text";
    
    }
    
    

  5. 1. [sTART]/[VERWALTUNG]/[internet-Informationsdienste]

    2. [Websites] => Rechtsklick

    3. Eigenschaften

    4. Tab [basisverzeichnis]

    5. "Anwendungseinstellungen" => [Konfiguration...]

    6. Tab [Zuordnungen]

    7. [Hinzufügen]

    8. ausführbare Datei (.exe oder .dll) auswählen

    9. Erweiterung (.pl) zuordnen

    10. KANN: weitere Einstellungen definieren

    11. [OK]

    12. [OK]

    13. [OK]

    14. IIS neu starten

    15. freuen

  6. momentan arbeiten wir mit SQL Server 2000 und da ab und zu performens Problemme
    Performance-Probleme mit dem MS-SQL-Server 2000 bei schlappen 10 Mio Datensätzen?

    Schwer nachvollziehbar, jedenfalls im OLTP.

    Wie steht's denn mit Optimierung? Oder Clustering? Schon mal daran gedacht?

  7. @Idexe

    Sicher doch. Sie kann schon angesprochen werden. Wäre auch ein "dolles Ding", wenn das nicht ginge. Zugegeben, es ist kein "straight forward" Verfahren, wie es die neue Philosophie des .NET so großzügig anpreist. Aber es ist auf relativ einfache Art - und mit nur wenigen "Tricks" (ActiveX ;)) - möglich, mit diesen Schnittstellen zu kommunizieren.

    Mal vom rein logischen Standpunkt ausgehend, ist es ja sicher nicht tragisch, die wenigen API-Calls selbst zu wrappen, die man heuer noch benötigt. Nicht zuletzt, wo es sich hier um ein "standardisiertes Verfahren" (wenn man eine Notlösung so nennen kann) handelt. (Und um so mehr, wo einem die Attribute so vieles leichter machen.)

    Abgesehen davon ist das Framewort immer noch mit der heißen Nadel gestrickt, und Verbesserungen werden permanent nachgeschoben. Ich denke also, dass sich zumindest dieser Punkt irgendwann von ganz allein erledigt.

    @Munin,

    wie wäre es denn - nur mal als Gedanke/Idee/Vorschlag -, wenn du deine ersten Anstrengungen darauf richtest, über das Netzwerk zu kommunizieren, und dort deinen ersten Datentransfer zu üben?

    Und was die Namensverwirrung angeht:

    Während C++ auch außerhalb des .NET als Sprache bekannt ist, und es deshalb zu Verwirrungen kommen könnte, gibt es von C# keine Sprachvariante, die außerhalb des .NET-Frameworks laufen würde.

    Deshalb hat sich "C#" statt "C#.NET" eingebürgert, während man auch in Zukunft das ".NET" bei solchen Sprachen wie C++ oder Basic (und neuerdings auch Delphi) immer explizit erwähnen muss, um eindeutig zu beschreiben, welche Variante man meint.

  8. öhm ...

    so so.

    nur für .net und nicht fü c# und da gibt halt unterschiede
    Das ist mir jetzt neu. Seit wann denn? Meine Version des .NET-Frameworks kennt keine Unterschiede zwischen C# und .NET. Hab' ich 'was verpasst?

    über nullmodem zwei pc zu verbinden und einen Datentransfer durchzuführen.
    Dafür gibt es ungefähr ... also mindestens 3 einfache Wege, die mir auf Anhieb einfallen.

    Doch ich denke, es ist wohl besser, wenn du dir das allein erarbeitest, denn ich fürchte, da sind schwere Defizite aufzuarbeiten.

    Stichworte:

    > Remoting

    > Serialisierung

    > Objektorientierung

    > Sockets

    Ich würde vorschlagen, bevor du jetzt weitersuchst, schlägst du mal ein x-beliebiges .NET-Buch oder meinetwegen auch C#-Buch auf der allerersten Seite auf, und wirfst mal einen Blick in das Inhaltsverzeichnis.

    Oh, und sei nicht erstaunt, wenn du da was Neues über .NET lernst.

  9. ... hat hier jemand überhaupt Erfahrungen mit SQL Server 2000 und so großen Datenmengen ?
    yep.
    ... ca 100 Tabelen in den ca 10 000 000 Daten
    ... endlich wird's mal präziser :)
    ... verschiedene Auswertungen
    präziser, bitte.

    (Wenn überhaupt, dann wird der MS-SQL-Server hier Schwächen zeigen.)

    Alle anderen Anforderungen sind tief im grünen Bereich.

    Wie sieht's mit der Serverumgebung aus?

    Wie sieht's mit der Abfragestatistik aus?

    Wie breit sind die Tabellen?

    Welche Datentypen werden primär verwendet?

    Welcher Art sind die 'verschiedenen' Auswertungen?

    Wie umfangreich sind die Auswertungen?

    Wann finden die Auswertungen statt?

    etc... pp.

    (Und das sind nur die Fragen der 'technischen Umgebung'.)

    Was ist das Ausgangssystem?

    Wie soll die Portierung erledigt werden, wenn das System gewechselt wird?

    Gibt es jemanden, der dann haupt-/nebenverantwortlich das DBMS administriert?

    Welche Erfahrungen hat er/sie?

    und ... und ... und ...

    All diese Fragen fließen in die Bewertung eines Systems ein.

    Das ist der Grund, warum ich eingangs sagte, dass ein "Besser" oder "Schlechter" nicht wirklich existiert.

    Um es einfach auszudrücken:

    MS-SQL-Server 2000 reicht locker aus, um deine bisher genannten Anforderungen zu erfüllen. (Möglicherweise sogar einige "Noname"-DBMS.)

    Der Griff nach Oracle ist bis hier nicht begründbar.

  10. mein/e liebe/r mme,

    Das was da MS im Vergleich in dieser Richtung [Anm.: Datensicherung] anbietet ist da eher mau.... Dies nur als Beispiel.....
    Da hast du dir das denkbar schlechteste Beispiel ausgesucht, denn es ist schlicht falsch.

    Insbesondere, was die Datensicherung angeht, steht der MS-Server (zumindest seit der 2000'er Version) dem Oracle-System in Nichts mehr nach.

    ... gleiches übrigens auch für die Transaktionssicherheit.

    Zumindest hier gilt wohl eigentlich nur noch:

    Jede DBMS ist so gut wie Ihr DBA.
    :D
  11. Das ist jetzt aber ein Scherz, ja?

    Du willst ganz offensichtlich im .NET-Framework schreiben, und klagst?! Huh? Wie soll ich das denn verstehen?

    .NET ist auf die Datenhaltung, ~konvertierung und verarbeitung geradezu spezialisiert. Dutzende XML-Klassen warten darauf, dass du deine Anwendung als wunderschöne (und mit XPath auf noch ansprechend schnelle) "textbasierte" Datenbanklösung schreibst. Die Übersichtlichkeit entsteht per se und der Zugriff auf die DB-Daten wird automatisch für alle Anwendungen ermöglicht, die XML verstehen. Wo also ist das Problem?! ;)

    Nichtsdestotrotz ist, solltest du das .NET-Framework als Basis in Betracht ziehen, die MSDE definitiv eine gute Basis, um eine DB-basierte Anwendung zu schreiben. Sie integriert sich voll in die VS-IDE und kann kostenlos weitergegeben werden. Die Installation kann innerhalb der Setup-Routine deiner Anwendung erfolgen und dem Anwender verborgen bleiben.

  12. @all

    Ohne jetzt eine polemische Debatte auslösen zu wollen, sind die 'Moralvorstellungen' wohl doch weit weniger 'demokratisch', als viel mehr durch die Medien; jedoch in jedem Fall alles andere als 'mehrheitlich' geprägt, nicht wahr?

    Ignoranz ist auch nicht gerade eine 'förderungswürdige Eigenschaft' und doch stellt sich (noch) niemand hin und lässt solche Menschen ausweisen.

    Ich kann es prinzipiell duchaus nachvollziehen, dass latente Bedenken bestehen, doch halte ich es für gefährlich oberflächlich, Urteile auf der Basis von 'Hörensagen' zu bilden.

    Tatsache ist, dass Autofahren statistisch weit 'mörderischer' ist als Computerspiele. Wann stellt sich der erste 'ethisch stabile' Mensch auf die Hinterbeine, und fordert ein Verbot des Individualverkehrs? Und wann höre ich die ersten Meinungen á là: "Wenn man aber staatliche, aus Steuergeldern finanzierte, Straßen nutzen will, muss man sich eben auch an staatliche ethische Vorstellungen halten."?

    Wie steht es denn mit simplen Lösungen? Statt verbieten einfach 'kontrolliert erlauben'!? Doch das wäre ja zu teuer. Lieber schließen wir die Jugendclubs gleich reihenweise. Es ist ja so viel billiger zu verbieten, als zu erlauben...

  13. @Thias78,

    wenn deine Datenbank nicht allzu groß ist, oder enorme Geschwindigkeiten erfordert, ist der Ausweg aus deinem Dilemma eine simple "Text-Datenbank". Schreibe und lese deine Daten in und aus Textdateien.

    Das löst jegliches "Installationsproblem", hat allerdings i.d.R. zusätzlichen Aufwand bei der Programmierung zur Folge.

    Afaik benötigen alle relationalen und/oder objektorientierten Datenbanken ein DBMS, das zunächst installiert sein muss, und das die Aufgabe der "Koordination" übernimmt.

    Kostenlose Systeme gibt es allerdings wie Sand am Meer, so dass Jaraz' Frage mehr als berechtigt ist...

    Als "MS-verseuchter" empfehle ich dir da beispielsweise die MSDE -Microsoft Sql Server 2000 Desktop Engine, die (fast) alle Funktionalitäten des SQL Servers bietet, jedoch keine administrativen Tools beinhaltet. (Somit kannst du zwar nur straight forward darauf zugreifen, allerdings kommt dein Kunde auch nicht in Versuchung, die Einstellungen zu ... öhm ... optimieren.;)) Zudem werden kommende Windows-Versionen diese MSDE "built-in" haben, so dass dann sämtliche diesbezüglichen Installationen entfallen.

  14. Ich gehe davon aus, dass du den Verweis zur System.Web.dll eingebunden hast.

    Dann wird's schwer ... um nicht zu sagen doof.

    Ich habe in meiner Testumgebung alle bekannten Frameworks abgeklopft, und alle kennen diese Klasse.

    ... wild rumraten macht zwar Spaß, bringt aber nix. Ergo: dunno, sorry. :(

  15. Mag ja sein, dass es nur Reproduktionsfehler sind, aber:

    Select distinct t.eins,t.zwei [color=red]form[/color] tabele t [color=orangered],tabelle k[/color]
    
    where [color=red]hier join and[/color]
    
    t.zahl-(t.zahl1*t.zahl3)>500

    funktioniert tatsächlich?

    Und die Fehlerbeschreibung ist wirklich mager. Die Sicht "sammelt" nur die Daten (u.a. aus verschiedenen Tabellen und/oder Datenbanken). Es gibt also, zumindest offensichtlich, keinen Grund, warum etwas ohne Sicht funktionieren sollte, was mit entsprechender Sicht nicht funktioniert.

    Könntest du bitte mal angeben, welche Datentypen sich hinter

    - t.eins

    - t.zwei

    - t.zahl

    - t.zahl1 und

    - t.zahl3

    verbergen?

  16. Deutsches Fragewort, das mit "H" beginnt: Hääääääääääää?

    ... und dieses diese funktion wieder nicht kennen mag
    Das meinst du jetzt wie?

    Ich bin davon ausgegangen, dass du das SQL-statement gegen einen SQL-Server laufen lässt. Irre ich? Oder hast du keinen Zugriff auf diesen Server? Keine Rechte? Woran liegt's?

    Zurück zum Problem: Wie ich eingangs schon sagte, gibt es da eine erweiterte Systemprozedur, die diese Formatierung ebenfalls erledigt. Da es sich jedoch um eine externe "Anwendung" handelt, werden enorme zusätzliche Systembelastungen die Folge sein. Und auch dein Access-Beispiel "FORMAT(var, [FormatString]) ist nichts anderes als der Aufruf einer Funktion. Was also ist das Problem mit einer eigenen optimierten Funktion?

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...