
flashpixx
Mitglieder-
Gesamte Inhalte
8302 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von flashpixx
-
Fachwissen erweitern, nur leider total ideenlos :(
flashpixx antwortete auf speede's Thema in IT-Arbeitswelt
Ich habe mir jetzt Powershell im Detail nicht angeschaut, aber wenn ich das z.B. mit http://de.wikipedia.org/wiki/Tk_(Toolkit) bzw ncurses unter Unix vergleiche, dann sehe ich da eigentlich keinen Unterschied. Das war eigentlich der Kern, den ich haben wollte. Ich denke dieser Ansatz ist falsch, denn Du hängst Dich an eine Programmiersprache. Hier mal die Frage ist PHP, Python oder Perl für Dich "Scripting" oder eben "richtiges" Programmieren. Programmieren ist kein Java / C++ oder sonst eine Programmiersprache. Programmieren bzw. die Paradigmen dahinter sind der Kernpunkt, die Sprache ist dann nur das Handwerkszeug. Auch die Aussage nur "compilierter Code" wäre richtiges Programmieren ist falsch, denn z.B. Java wäre somit kein "richtiges Programmieren", denn es erzeugt so etwas wie Metacode. Sprachen wie Python, PHP, Perl, Prolog, Haskel, Node oder R wären dann auch kein Programmieren. Der FISI muss keine Software entwickeln, d.h. er muss z.B. keine Strukturüberlegungen um Codelaufzeiten machen, aber er sollte genauso den Code lesen können, wie der FIAE auch die OSI Schichten und deren grobe Verwendung kennen muss. Deine Definition, dass "richtiges Programmieren" sich an einer Sprache orientiert ist in meinen Augen definitiv falsch. Aber back 2 topic: Was spricht gegen Powershell oder eben mal als Alternative Tk (gibts auch für Win). Als FISI wäre z.B. ein Tool doch nett, mit dem man schnell sich Informationen über die installierten Systeme besorgen kann oder eben schnell entsprechende Dienste administrieren kann, gerade mit Powershell und ner "einfachen GUI" kann man da doch sehr viel schon machen. Klassische Konsolenanwendung, die man eben schnell aufmacht und dann die Einstellungen trifft, anstatt umständlich via Maus zu administrieren (meinetwegen noch remote Zugriff). Also sprich morgen Kommandofenster aufmachen und dort alles auf einen Blick haben und administrieren. -
Fachwissen erweitern, nur leider total ideenlos :(
flashpixx antwortete auf speede's Thema in IT-Arbeitswelt
Also es gibt richtiges und es gibt falsches Programmieren !? Ich bin jetzt daran interessiert, dass Du uns/mir diesen Unterschied im Detail erklärst..... Ich halte es sowohl für einen FISI wichtig, dass er programmieren kann, ebenso wie ich es für wichtig halte, dass ein FIAE von Netzwerkkommunikation und Serverdiensten Wissen hat. -
Fachwissen erweitern, nur leider total ideenlos :(
flashpixx antwortete auf speede's Thema in IT-Arbeitswelt
Warum passet es nicht, dass ein FISI nicht programmieren kann / muss? Nur weil es FISI muss er nicht programmieren? Das ist eine sehr eingeschränkte Sichtweise. Und ein FISI muss durchaus programmieren können, damit er sich Automatisierungen erzeugen kann. Also wäre im MS Umfeld somit eine durchaus aus komplexere Kenntnis der Windows PowerShell aus meiner Sicht notwendig -
Der Wikiartikel ist wirklich sehr gut, also wirklich mal Stück für Stück durcharbeiten. Ich mache jetzt mal eine "Mega-Kompakt-Minimalistische-Schnell-Einführung" in reguläre Ausdrücke. Also wir haben einen String / Zeichenkette als Grundlage, die wir überprüfen wollen, d.h. wir wollen wissen, ob eben diese Zeichenkette irgendeiner Struktur entspricht. Beispiel 1 Zeichenkette: ab Regulärer Ausdruck: ab d.h. z.B. AB würde nicht als passend gewertet werden, ebenso wie xy usw Beispiel 2 Zeichenkette: aaaaaabbbbbbbbbbbbbb also eine Zeichenkette, die eine beliebige Anzahl an a's und dann eine beliebige Anzahl von b's enthält (jeweils Kleinbuchstaben) regulärer Ausdruck: (a+)(b+) + (oder auch *) sind so genannte Quantoren, also d.h. das Zeichen kommt "mehrfach" vor, * heißt einfach >= 0, + eben dann einfach > 0 d.h. hier wäre der Ausdruck ab gültig oder eben mehrere a's und mehrere b's (als Hinweis, die Prüfung "genauso viele a's wie b's geht nicht mit regulären Ausdrücken, denn die reguläre Ausdrücke können keine Anzahlen vergleichen, als weiterführenden Hinweis Pumping-Lemma ) Beispiel 3 Zeichenkette: 023124543 also wir wollen Prüfen, ob eine Zeichenkette eine Natürliche Zahl ist, d.h. eine beliebe Anzahl von den Ziffern 0 bis 9 ist (a012 wäre dann nicht gültig) regulärer Ausdruck: \d+ [alternativ geht auch: (0|1|2|3|4|5|6|7|8|9)+ oder (0-9)+ ] Für eine Ziffer gibt es den Ausdruck \d und eben kombiniert mit einem Quantor Beispiel 4 Zeichenkette: 11tzzzzz4235fbz4r5432ufbazu / 23234525fasfafdas@123465 etwas allgemeiner gesagt, ich möchte prüfen, ob eine Zeichenkette mit einer natürlichen Zahl beginnt, dann eine Anzahl beliebiger Buchstaben, die keine Zahlen sind, kommt und dann eine beliebige Anzahl (oder auch keine) an Zeichen (Zeichen, Zahlen oder auch Sonderzeichen) folgt. regulärer Ausdruck: (\d+)([A-Za-z]+)(.*) Also das ganze in die 3 Teile zerlegt; natürlichen Zahl Beginn: (\d+) eine Anzahl beliebiger Buchstaben: ([A-Za-z]+) beliebige Anzahl (oder auch keine) an Zeichen (.*) Also der reguläre Ausdruckt ermöglicht es eine Zeichenkette zu prüfen, ob sie eben einer gewissen Struktur entspricht. Du kannst halt jedes einzelne Zeichen Deiner Eingabe prüfen (wie gesagt über deren ASCII Codes, den Hinweis auf Unicode erspare ich hier mal, gerade im Webbereich, sollte man an das richtige Encoding denken !) oder Du nutzt halt eben reguläre Ausdrücke. Die regulären Ausdrücke sind eben allgemeiner und ermöglichen es eben, dass der Code nicht mit unnötigen Einzelprüfungen der Character aufgebläht wird. Zu Deinem Problem im Detail: Du willst prüfen, ob eine Zeichenkette eine Ziffer enthält, d.h. zerlege also Deine Zeichenkette, so dass Du die Teile prüfen kannst (wie in Bsp 4), wenn das nicht geht, zerlege die Teile wieder (Rekursion). Allgemein formuliert stellst Du die Frage: Welche Struktur muss das Passwort haben? Also z.B. Passwort muss mit einem Buchstaben (gross oder klein) beginnen, dann muss irgendwann eine Ziffer folgen und danach mindestens eine Ziffer oder Buchstabe (also eine kleine Abwandlung von Bsp 4). Schau Dir zu den Beispielen den Wikipedialink an HTH
-
Fachwissen erweitern, nur leider total ideenlos :(
flashpixx antwortete auf speede's Thema in IT-Arbeitswelt
Programmier' was sinnvolles, da kannst Du dann, wenn Du ein Programm geschrieben hast, Dir überlegen wie Du es verbessern kannst -
Wenn Du hier keine Infos liefern willst / möchtest, woher sollen wir dann überhaupt etwas zur Diskussion einbringen. Ich meine ich hätte da eine Idee: Du kannst Messwerte an eine beliebige stetige Kurve annähern. Die Funktion ist bekannt und die Messdaten sind gegeben. Nun sollst Du die Parameter der Funktion so bestimmen, dass sie auf die Messwerte passen. Also z.B. f(x) = a*exp(sin(x^2)* + c*exp(d^3), Du hast x und f(x) gegeben, bestimme die Parameter a, b, c und d. Ist definitiv in 10min erklärt. Das wäre doch eine passende Aufgabe dann für Dich
-
@dadagor: Das ist ein sehr naiver Ansatz, solche Prüfungen macht man wirklich mit regulären Ausdrücken, alles andere ist Anfängerniveau. Denn was passiert wenn man später feststellt, man will Groß- und Kleinbuchstaben, Zahlen und mind. ein Sonderzeichen!? Dann muss ich eine riesige Schleife mit If / Switch-Case bauen und darin dann die ASCII Codes der Zeichen speichern, das führt zu unübersichtlichen und absolut unnötigen Code. Die Prüfung mit einem regulären Ausdruck ist eine Zeile in der Form matchokay = string.match( regexpr ) Das ist ein wirklich sehr naiver Ansatz, falls man es in dieser Form machen will, kann man dann abbrechen, wenn sowohl ein Zeichen, wie auch eine Zahl erkannt wurde, denn dann wäre der Ausdruck schon gültig. Man muss nicht bis zum Ende der Zeichenkette laufen Außerdem braucht man hier keine If Bedingung. charfound = false; numberfound = false; for( i=0; (i < length(eingabe)) && not(charfound && numberfound); ++i) { charfound = charfound || ischar(eingabe[i]); numberfound = numberfound || isnan(eingabe[i]) } ischar prüft dann auf den korrekten ASCII Code.
-
Schreib den Ausdruck selber Regulärer Ausdruck
-
Wenn es Vektoren gibt, dann sollte Dir ja sicherlich bekannt sein, dass es einen C Standard gibt http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf Zeige bitte, wo im Standard die Vektoren sind? Es gibt keine Vektoren in C, Vektoren gibt es aber in C++. Es gibt eine gewisse Notation und Namensgebung und an die solltest Du Dich halten
-
Verwende bitte unbedingt die Code-Tags !
-
Du könntest doch ggf auch priorisieren !?
-
PHP Um PHP verwenden zu können, brauchst Du mindestens einen PHP Interpreter Der existiert nur, wenn Du einen Webserver wie Apache oder IIS installiert hast Du kannst Dir im IE den Quellcode anschauen, aber ausgeführt wird die Datei nicht durch den IE! PHP benötigt zwingend einen Interpreter, so dass man die PHP Datei entweder als eigenständiges Programm laufen lassen kann oder mit Hilfe eines PHP Moduls innerhalb des Webservers PHP For Windows: Binaries and sources Releases
-
Im Normallfall wählt man nicht das Projekt anhand der Programmiersprache, sondern man wählt anhand des Problems die Programmiersprache. Wir kennen hier weder Deinen Kenntnisstand, noch haben wir hier eine Vorstellung, was Du gerne machen würdest, es wäre somit hilfreich, wenn Du mehr Informationen nennst Ich erinnere mich an meine Schulzeit und wir haben einen Roboter mit Ultraschallsensoren gebaut und das ganze via Parallelport und Pascal angesteuert
-
JavaScript wir ebenso wie der HTML Code aus dem PHP Code an den Browser geschickt und dort ausgeführt. Der PHP Code läuft nur auf dem Server, d.h. das PHP Script geniert HTML Code, in dem JavaScript enthalten ist, das gelangt zum Browser und wird dort ausgeführt. JavaScript ist clientseitig, PHP serverseitig. Wenn PHP mit der Seite kommunizieren soll, dann brauchst Du nachdem die Seite versendet wurde, ein zweites Script, das via Ajax an die Seite angebunden wird. Da HTTP stateless ist, ist nachdem das PHP Script seine Daten versendet hat, die Kommunikation beendet, brauchst Du eben doch Kommunikation muss diese vom Browser iniitiert werden, also so etwas wie ein Ajax Aufruf. Aber generell solltest Du einmal bitte das ganze Problem beschreiben und vor allem nutze bitte die Quellcode-Tags
-
Verwende bite die Code-Tags Dein Algorithmus ist nicht korrekt Bubblesort Außerdem noch als Hinweis in C gibt es keine Vektoren (C++ Vector - Boost 1.50.0 / vector - C++ Reference ), Du verwendest ein Array
-
Naja Du kommunizierst im Internet auch über Kabel, ebenso tust Du das in Deinem LAN. Schau Dir das OSI Modell an
-
Kannst Du evtl mal bitte im Detail ausführen, was Du unter "hierarchischen Diagrammen" verstehst?. Ich meine ganz klassisch wäre ja ein Baum, aber man kann zur visuellen Darstellung auch andere Sachen verwenden. Nur braucht man mehr Infos.
-
Ab wann ist OOP eigentlich wirklich OOP?
flashpixx antwortete auf Gurki's Thema in Ausbildung im IT-Bereich
Es geht hier nicht um Atomarität eines Zustandes. Es geht um die Übergangsfunktion, denn damit ist impliziert, dass zu einem Zeitpunkt nur ein Zustand vorliegen kann. Ich verweise auf Endlicher Automat in "Das mathematische Modell" auf Transitionsrelation dann zu http://de.wikipedia.org/wiki/Relation_(Mathematik) und dann auf http://de.wikipedia.org/wiki/Funktion_(Mathematik) Dies impliziert, dass wenn ich mich in einem Zustand der "Software" / Automaten befinde, genau in einen anderen Zustand bei Ausführung einer Transitionsrelation übergehe. Träfe die Annahme zu, dass mehrere Zustände existieren würden, dann würde dies der Definition der Funktion u. a. widersprechen Wenn zu einem Zeitpunkt dies möglich wäre, könnte z.B. ein Programm ein Fenster zugleich geöffnet, wie auch geschlossen haben, sprich ein Fensterhandle besitzen, dass existent und nicht existent ist -
Ab wann ist OOP eigentlich wirklich OOP?
flashpixx antwortete auf Gurki's Thema in Ausbildung im IT-Bereich
Seit wann ist ein Zustand eines Objektes etwas hierarchisches, mir wäre es neu wenn in einem ea in einem Zustand eine Hierarchie existieren würde. Es gibt so etwas in machen Modellierungssystemen, aber von der Definition des ea gibt es keine Hierarchie. Das ist kein Zustand, sondern ein View. Der Zustand ist hier gleich, denn ich verändere diesen ja nicht, ich verändere die Sicht auf das Objekt. Man kann hierarchische Zustände modellieren, das ist ein Modellaspekt, aber wenn ich das Modell in Code transformiere, compiliere und ausführe, dann kann ein Objekt, was letztendlich durch einen Speicherbereich im realisiert wird, zu einem Zeitpunkt keine zwei Zustände haben, denn letztendlich kann in der Speicherzelle nur eine 1 oder 0 stehen (mal abgesehen von der technischen Umsetzung). Auch das ist eine Modellierung, wenn ich mir einen Knoten des Netzgraphen anschaue, dann ist ein Zustand eindeutig. Denn um zu einem bestimmten Knoten zu gelangen muss ich anhand der Daten und der Übertragsfunktionen die Übergangsfunktion berechnen, damit ich in den Zustand wechseln kann. Es kann auch in einem Petrinetz nicht sein, dass die Übertragungsfunktion für gleiche Eingaben unterschiedliche bzw. widersprüchliche Ausgaben liefert. Ich kann diese ebenso in neuronalen Netzen sehen, denn wenn ich in das Netz Daten hineingebe und das Netz iteriere, dann hat jede Kante und auch jeder Knoten zu einem Zeitpunkt einen Zustand, d.h. bei einem neuronalen Netz, dass z.B. ein Neuron zu einem Zeitpunkt t genau einen Bias, eine Berechnungsfunktion und einen Gewichtsvektor hat. Es kann nicht vorkommen, dass zu einem Zeitpunkt t, 2 verschiedene Werte für den Bias an ein und dem selben Neuron anliegen, weil in diesem Fall wäre nicht klar, wie damit umzugehen ist. Wenn ich z.B. f(x) = 5*x habe, dann kann ich für die Eingabe f(3) nicht 15 und 20 raus bekommen. Natürlich kann man bei der Abbildungsfunktion Surjektivität zulassen, aber das würde dann f(x)=x^2 entsprechend. Rein formal nicht zwingend, denn ich Moore in Mealy (vice versa) überführen. Wenn es nach der Definition 2 Zustände geben würde, dann könnte es zu einem Moore Automaten zwei unterschiedliche Mealy Automaten geben (vice versa). Mir ist kein Beweis bekannt, der dieses inhaltlich belegen könnte -
Ab wann ist OOP eigentlich wirklich OOP?
flashpixx antwortete auf Gurki's Thema in Ausbildung im IT-Bereich
@Aras: Evtl kannst Du einmal einen neuen Thread zu diesem Thema aufmachen. Ich antworte dann dort, denn hier wäre diese Frage wohl off-topic -
Ab wann ist OOP eigentlich wirklich OOP?
flashpixx antwortete auf Gurki's Thema in Ausbildung im IT-Bereich
Nein! Der externe ist identisch mit dem inneren Zustand (Determinismus). Der Zustand muss eindeutig sein. Ein Zustand ist etwas abstraktes, natürlich kann die Sichtweise (View) aufgrund des Zustandes variieren, der Zustand ist aber gleich. Es ist zu unterscheiden, was der Zustand eines Objektes ist und was die Sichtweise ist, das sind zwei unterschiedliche Betrachtung. Wäre es möglich mehrere Zustände eines Objektes zur gleichen Zeit zu haben, dann könnte man in der OOP keinen deterministischen Algorithmus entwickeln und das widerspricht ja nun mal der Realität. Für den Betrachter kann natürlich das Objekt nach außen anders aussehen aber der Zustand in den Fällen kann gleich sein. Genau das war ja mein Hinweis bezüglich der Zustandsübergänge, dazu Moore-Automat bzw Deterministischer endlicher Automat die Methode verändert den Zustand, ob man das nun "Nachricht", "Event", "Message"... ist ja unerheblich -
Ab wann ist OOP eigentlich wirklich OOP?
flashpixx antwortete auf Gurki's Thema in Ausbildung im IT-Bereich
IMHO stimmt dies so nicht, denn es gibt keine Unterscheidung zwischen "inneren" und "äußeren" Zustand, denn in diesem Fall könnte ein Objekt zu einem Zeitpunkt unterschiedliche Zustände haben und das lässt sich deterministisch gar nicht mehr umsetzen. Da die Programmiersprache deterministisch sein muss, ist somit die Aussage über zwei Zustände nicht korrekt. Das Objekt hat, so lange es existiert, zu einem Zeitpunkt genau einen Zustand. Ein Methodenaufruf oder das setzen einer Eigenschaft verändert den Zustand, d.h. hier findet ein Zustandsübergang statt. Würden mehrere Zustände existieren wären die Wege im Statechartdiagramm redundant und damit würden Zyklen entstehen, die eine definierte Ausführung des Programm nicht mehr möglich machen würden. Bei Timerstrukturen wie z.B. Threads, die unabhängig arbeiten, hat man sogar noch Epsilonübergänge (spontane Zustandsänderungen) Und wie definierst Du dann statische Aufrufe? Denn bei statischen Aufrufen existiert kein Objekt, d.h. nach dieser Definition würden statische Methoden und Eigenschaften nicht möglich sein. Gerade aber das Singleton-Pattern ist ein schönes Beispiel für statische Strukturen. Zu Deinem Codebeispiel, das ist auch so nicht korrekt, Matlab bzw Python haben von ihrer Methodensignatur def myPythonMethod(self) : pass function myMatlabMethod(this) end In Matlab kann ich beide Methodenaufrufen durchführen und Matlab erkennt, dass als erster Parameter ein Objekt übergeben wurde. In Python ist die Objektreferenz letztendlich durch einen Parameter geregelt. -
Du möchtest die Dokumentation lesen MySQL :: MySQL 5.0 Reference Manual :: 9.2.2 Identifier Case Sensitivity
-
Du implizierst, dass Programmierer das entsprechend umsetzt. Du hast beim Benchmarking eine Güte, nämlich ist der eine Algo schneller als der andere, das ist ein Gütemaß, denn es impliziert Ti < Tj (Stichwort Cauchy-Schwarzschen Ungleichung bzw Dreiecksungleichung) Gaußsches Eliminationsverfahren Mein Fehler, Gauß ist O(n^3) und LU O(2/3 * n^3). Also nach Deiner Meinung ist das irrelevant !? In diesem Fall würde ich Dich bitten einmal zu überlegen, wenn Du eine DGL mit Hilfe von FEM löst, wie groß die Gleichungssysteme werden können z.B. bei einer Navier-Stokes-Gleichungen. Der Faktor spielt real eine erhebliche Rolle und genau dieser soll ja hier bei AES durch eine Messung ermittelt werden In diesem Fall interessiert der oben genannte Faktor und die daraus resultierende Güte Der theoretische Teil wäre die entsprechende Äquivalenzklasse, die Praxis der konstante Faktor, denn aufgrund dessen kann man dann den Schluss auf die Güte für diesen Testfall ziehen. Nein geht es nicht! Es geht darum zu überprüfen ob die AES Befehlssätze einen Performanceboost bringen und wenn ja welchen. Wenn man "nur" einen CPU benchmarken will, dann nehme ich die Dokumentation des Herstellers, denn der macht so etwas. Bsc sind 6 Semester, evtl mit 1-2 Veranstaltungen zum Programmieren, aufgrund von vielleicht 2 Veranstaltungen zu sagen "man kann programmieren", ist wohl doch etwas gewagt. Man braucht ein Maß, um beurteilen zu können, ansonsten ist das Ergebnis nicht interpretierbar, denn ich kann nicht sagen, nur weil z.B. Implementierung a 4sek braucht und die andere 8sek, dass die eine Implementierung halb so schnell ist wie die andere. Hier wird ein realer Testfall konstruiert und da sollte man dann doch für die Messung die DIN 1319 beachten und vor allem das Normal Nur weil ich zwei Codes habe, wobei der eine in praktischen Test schneller läuft als der andere, kann ich keine entsprechenden Aussagen ziehen. Die Komplexitätsklasse von AES ist bekannt, d.h. ich kann durch eine entsprechende Messung den konstanten Faktor ermitteln. Natürlich sollte man zuvor eine Abschätzung machen, in welcher Größenordnung dieser Faktor liegt. Wenn ich die AES Implementierung ohne neuen Befehlssatz als 1 ansetze, dann sollte ja die mit dem Befehlssatz < 1 sein. Zweitens muss ich aber auch betrachten wie stark sich die Quellcodes unterscheiden z.B. for i in 1 to 10 x += a(i) unterscheidet sich deutlich von x = a(1) x = x+a(2) ... x = x+a(10) Wenn ich also zwei Quellcodes benchmarken will, dann muss ich auch in irgendeiner Weise festlegen, wie unterschiedlich diese Codes sind ( Softwaremetrik ).
-
[Crystal Reports] SQL-Parameter pre Kaskadetische Parameter
flashpixx antwortete auf Fraggla's Thema in Anwendungssoftware
Bist Du Dir sicher, dass die Parameter auch korrekt übergeben werden? Wenn er nach VSAS fragt, dann würde das heißen, dass der Parameter nicht aus der aufrufenden Routine gesetzt wurde. Soweit ich mich erinnere sieht der Aufruf in etwa so aus cr = createobject("CrytalReport.Report") cr.setReport("rpt-datei") cr.setDatabase("....") cr.setParameter(1, what-ever) cr.setParameter(2, what-ever) cr.setParameter(3, what-ever) cr.view() Das Problem sieht für mich nicht nach einem Fehler des Reports aus, sondern der Routine, die den Report aufruft.