Laden...

Forenbeiträge von Palin Ingesamt 1.090 Beiträge

25.05.2018 - 17:12 Uhr

Muss man mal schauen. Die Novellierung der EU vorgaben hat ja grade beim Bayrischen Polizeiaufgabengesetz dafür gesorgt das es an vielen Stellen einfacher ist in die Privatsphäre einzugreifen (drohende Gefahr). Und dieser eingriff auch tiefgreifender sein darf (DNA).

Apropos Orwell, der aktuelle Besucher Rekord ist 1986.

23.05.2018 - 17:45 Uhr

heise:Amazon ermöglicht Live-Gesichtserkennung für ganze Städte

Irgendwie schon erschreckend und dann auch noch in Echtzeit.
Und Sheriff-Beamte können über ihre Smartphones beliebige Fotos beisteuern. Naja da weiß man wenigsten immer wo Frau und Kinder sind.

22.05.2018 - 17:15 Uhr

Hast du den Code eigentlich schon mal laufen lassen? Gibts eine Lösung für 4?
Gibt es einen Grund warum du mit j beim Index 1 beginnst und nicht bei 0?

2+2 = 4.
Er beginnt mit dem Index bei 1 weil bei 0 die 2 drinsteht. Und da alle Primzahlen größer der 2 Ungnade sind ich da durch Addition der 2 wider eine Ungnade Zahl bekommen.

22.05.2018 - 12:25 Uhr

Hi Montsalvage,

erst mal vielleicht ein paar Tips zur Programmierung.

Probiere möglichst aussage kräftige Name für die Variablen zu finden. Z.B. statt bool prim, isPrime. Schau dir auch mal an was es so für Datenstrukturen gibt. Du verwendest hier ein Array hast später aber viele Prüfungen ob eine Zahl drin enthalten ist. Da ist ein Dictonary schneller und auch einfacher zu handhaben. Dann solltest du dir 2 Methoden machen eine die dir die Primzahlen erstellt. Und eine die die Goldbach Vermutung Prüft.

Zum Primzahlen Algorithmus
Wenn eine Zahl nicht durch 3 Teilbar ist ist sie auch nicht durch 9 Teilbar. Du musst eigentlich nur prüfen ob die Zahl nicht durch eine vorher von dir gefundene Primzahl teilbar ist. Und du brauchst auch nur bis n/2 zu Prüfen. Wenn ich n durch eine Größere Zahl teile ist sie kleiner als 2.

Hier gibt es aber sicher auch noch schnellere Algorithmen. Eine andere Möglichkeit ist eine eine Liste mit schon berechneten Primzahlen aus dem Internet zu nehmen. Die Berechnung der Primzahlen wird echt lange dauern. Daher sind sie auch so beleibt bei Verschlüsselungen.

Zu Goldbach
Wenn i-prime[j] im Array existiert brauchst du die 2. Prüfung prim[j] + prime[h] nicht mehr machen.

p.s.
Auf die Idee die Goldbach Vermutung mit dem Computer zu widerlegen ist schon jemand gekommen. Für zahlen kleiner 8,875·10^30 sind sie schon durch.

07.05.2018 - 20:25 Uhr

Das ist mit dem Checklisten und auf Merkmal X Testen ist auch kein Problem und richtig, wenn man genau vorgaben hat. Für mich ist der subjektiven Aspekt, ein bisschen Fragwürdig.

Morgens kommt A und sagt: "Das bisschen Rost ist ok, da geht man mit einer Drahtbürste drüber." Und sagt das Teil ist noch gut. Nachmittags kommt B und sagt: "Das Teil hat schon angefangen zu Rosten, das Rostet sicher weiter." Und sagt mangelhaft.

Die Berichte sind so einfach nicht direkt zu Vergleichen. Wenn ich da Vorgaben mache und diese auch Anzeigen zu den Bewertungen (z.B.) als Bild, sind die Berichte deutlich einfacher zu vergleichen.

Subjektive Meinung geht wie gesagt eher für mich Richtung Marktforschung. Z.B. hab ich letztens eine Kirsch BBQ Souce gemacht, 4 von 6 Freunden fanden, die besser als eine Standard BBQ Souce.

07.05.2018 - 11:30 Uhr

Vielleicht kommt er ja über die Uni an eine HoloLense?

07.05.2018 - 11:27 Uhr

@T-Virus
die großen Firmen wie google, Facebook usw. prüfen ja jetzt schon teils automatisiert die Inhalte.
Es werden Gesichtserkennungen bei Fotos gemacht, individualisiert Werbung und Beiträge vorgeschlagen usw. Das funktioniert auch alles von der Rechenleistung her.
Das ist für kleine Firmen eigentlich nicht zu realisieren.

Es geht auch nicht darum, das darüber Verhindert werden soll, das Seiten Betreiber bewusst „Verbotene“ Inhalte zulassen.

Sondern das kleine Seitenbetreiber eine einfache Möglichkeit haben geuplodete Inhalte Prüfen zu lassen und im Anschluss freizugeben (Kann automatisch mit einer Task geschehen).
Im 1. Schritt würde es wirklich einfach reichen einen Hash Wert zu übertragen und zu vergleichen.
Bekomme ich ein OK zurück, darf ich das Content erst mal auf meine Seite stellen ohne Rechtliche Folgen befürchten zu müssen. (Sollt es sich später herausstellen, dass der Inhalt trotzdem Verboten ist, muss ich ihn natürlich Löschen). Bekomme ich kein OK muss ich gegebenen falls die Datei übertragen, damit weitere Prüfungen durchgeführt werden. Bzw. Ich bekomme schon eine Antwort, mit zurück, wo das Problem liegt. „Vom Verfassungsschutz in Deutschland verbotenes Symbol“. Wenn ich da ein kleiner Seitenbetreiber in den USA bin und nur den zugriff aus den USA zu lasse kann ich das Ignorieren.

06.05.2018 - 23:25 Uhr

Also ich bin grundlegend auch gegen einen Upload Filter. Argumente wurden ja schon genug genannt.

Um mal einen anderen Aspekt in Spiel zu Bringen.
Was ich vielleicht ganz interessant fände, wenn der Staaten oder die UN eine API Bereitstellen würde, bei der ich Sachen auf Verstöße Prüfen könnte wenn ich möchte.
Und dann selber entscheide, ob ich die Inhalte freigebe.

06.05.2018 - 22:40 Uhr

Hi muzz0,

wie sieht es denn mit der Hololens aus. Der Begutachter, trägt die Hololens, im Sichtfeld wird ihn eingeblendet welches Kriterium er beurteilen soll. Die Hololens sollte auf Sprachbefehle hören können und Bilder machen können. (Grundlegend kannst du ihn noch ein Bild des Bauteils anzeigen, damit er auch weiß das er das richtige prüft.)

Grundlagen zur Entwicklung mit der Hololens kannst du hier finden.

Für die Auswertung kannst du eine Webseite erstellen, so können die Informationen auch Per Tablet oder Smart Phone abgerufen werden.

Grundlagen dazu findest du hier.

Für ein Qualitätsmanagement, halte ich Subjektive Kriterien nicht wirklich geeignet.
Was du mit deiner Software machen könntest ging eher in Richtung Marktforschung.

p.s. Sich da in alles wirklich einzuarbeiten und Produktive Software zu Produzieren, halte ich für Sportlich. Kläre vielleicht einfach mal ab ob es nicht ausreichen für die Masterarbeit ein Konzept zu erarbeiten und dann für einzelne Anwendungsfälle eine Machbarkeitsstudie und gegebenen Falls einen Prototypen zu entwickeln.

26.04.2018 - 14:47 Uhr

Schau dir mal die letzten beiden Antworten aus dem Beitrag an.

Wie kann ich in einer If-Abfrage zum nächsten Item übergehen ohne die If-Abfrage zu verlassen?

Mit ein paar kleinen Anpassungen, sollte es bei dir Funktionieren.

18.04.2018 - 16:36 Uhr

Leere mal den Cache vom IE, es kann sein das da noch die alte Version der Datei drin ist. Die die Methode noch nicht hat.

13.04.2018 - 18:55 Uhr

Ich hab so das gefüh das du meinen Beitrag nicht richtig gelesen hast.

Ok deine Aussage war (wichtige Punkte hab ich hervorgehoben).

Erster Punkt: **ohne Interfaces **funktioniert keine Modularisierung.

Zweitere Punkt Testbarkeit: **ohne Interface **kann kein Mocking und damit kein ordentliches Testen erfolgen.

Es geht auch ohne. Gibst du ja selber zu.

PS: ja, nicht nur interfaces können gemockt werden.

Und z.B. IPropertyChanged brauche ich nicht für die Modularisierung
Wer hat denn gesagt, dass das Interface nur dafür gedacht ist? Ich jedenfalls nicht 😉

Das is meine Antwort darauf, das ich mit meiner Beschreibung vom Interface die Modualisierung Berschreiben würde.

>   

it einer der Gründe für Interfaces war, das man die Möglichkeit brauchte, dass völlig verschiedene Klassen, sich gleich verhalten.

Du beschreibst damit im Grunde die Modularisierung, die Du bei mir verneint hast. =)

Bei der Schnittstelle (Interface) hast du komplett den ersten Satz ignoriert, der auf die Probleme der Englischen Übersetzung anspricht.

Hier mal das Orginal:> Grundlegender Übersetzungsfehler im Englischen wird nicht zwischen Interface und Schnittelle unterschieden. Wenn du dir die Fachliteratur dazu noch mal durch ließe, wirst du feststellen das mit Inteface im allgemeine jeder öffentliche (public) Methode, Property usw. einer Klasse gemeint ist.

Hier mal was du, daraus gemacht hast (mit deiner Frage)

Wenn du dir die Fachliteratur dazu noch mal durch ließe, wirst du feststellen das mit Inteface im allgemeine jeder öffentliche (public) Methode, Property usw. einer Klasse gemeint ist.

Das heisst, dass Du alle Bücher durchgelesen hast und alle Bücher damit einen Klassensignatur, Methoden Signaturen und Zugriffsmodifizierer unter dem Begriff Schnittstelle zusammen fassen? 😃

Also für mich war es wichtig, das man versteht das im Englischen für Interface und Schnittstelle das selbe Wort gebraucht wird.
Ich hab jetzt natürlich nicht alle Fachbücher gelesen (Ja das Buch der GoF hab ich gelesen), aber wenn 2 Objekte mit einander Kommunizieren, können sie es nur über Schnittellen machen, die dem anderen bekannt sind.

Ich glaube da liegt so ein bisschen das Problem, da du das Englische Interface wohl nicht als Schnittelle interpretierst, sondern eher als (Deutsch) Interface.

Und das> programming to an interface instead of an implementation verfolgt den Sinn, dass Quellcode entwickelt wird, was er macht und nicht wie.
Wenn man gegen eine Implementierung entwickelt/designed, hat man eine harte Bindung.

funktioniert auch bei Klassen. Das einfachste Beispiel was mir hier einfällt, sind die Propertys. Man gibt nicht die Member Variablen nach außen frei. Sondern nur die Propertys (mittlerweile kommt das ein wenig Compiler Magie dazu), damit ich nach außen eine definierte Schnittelle habe. Wenn ich da noch mehr machen möchte kann ich es, es sollte aber den Aufrufer nicht interessieren was die Klasse intern macht.

12.04.2018 - 20:52 Uhr

it einer der Gründe für Interfaces war, das man die Möglichkeit brauchte, dass völlig verschiedene Klassen, sich gleich verhalten.
Du beschreibst damit im Grunde die Modularisierung, die Du bei mir verneint hast. =)

Ich hab der Aussage widersprochen, das Modularisierung ohne Interfaces nicht möglich ist.
Und z.B. IPropertyChanged brauche ich nicht für die Modularisierung (außer du verstehst und er Modularisierung was komplett anderes als ich).

Nein. Program to an interface, not an implementation.
IoC funktioniert nicht (wirklich) ohne Interface. :]

Grundlegender Übersetzungsfehler im Englischen wird nicht zwischen Interface und Schnittelle unterschieden. Wenn du dir die Fachliteratur dazu noch mal durch ließe, wirst du feststellen das mit Inteface im allgemeine jeder öffentliche (public) Methode, Property usw. einer Klasse gemeint ist.
Als Beispiel wenn ich Kunde habe und der von Person Erbt sollte ich, sollte ich wenn möglich gegen die Schnittellen von Person implementieren und nicht gegen Kunde.

ja, nicht nur interfaces können gemockt werden.
Um aber eine Klasse mocken zu können, müssen eklatante Eingriffe in den Code erfolgen, die andere Prinzipien verletzten (alles muss virtual sein, nur parameterloser Konstruktor...).

Stimmt auch nicht unbedingt. Aber nehmen wir mal an du hast recht. Wenn ich ein Interface, da implementiere, wo ich es nicht brauche, ist es auch ein eklatanter Eingriff in den Code. Und ich muss zu der Klasse immer noch ein Interface pflegen.

Ließ doch bitte mal von Kent Beck das Buch.

12.04.2018 - 17:39 Uhr

Erster Punkt: ohne Interfaces funktioniert keine Modularisierung.

Zweitere Punkt Testbarkeit: ohne Interface kann kein Mocking und damit kein ordentliches Testen erfolgen.

Das ist beides nicht korrekt. In beiden Fallen reicht theoretisch eine Basis Klasse, deren Methoden ich überschreiben kann (Ich glaube aber nicht alle Mocking Frameworks unterstützen das, so das man seinen Mock selber schreiben muss). Aber ja, aktuell werden Interfaces oft so verwendet und es hat verschiedene voreile.

Mit einer der Gründe für Interfaces war, das man die Möglichkeit brauchte, dass völlig verschiedene Klassen, sich gleich verhalten. IEnumerable, IDisposable usw. sind da gute Beispiele.

Viellicht als kleiner Hinweis Kennt Beck (JUnit, TDD usw.) gibt in seinen Buch Implementation Patterns von 2007 noch den Hinweis, so weit wie möglich auf Interfaces zu verzichten.

11.04.2018 - 22:07 Uhr

Hi xKushGene,

das sollte dir dein Berufsschullehrer relative genau sagen können. Schreib ihn einfach mal eine Mail.

Auch werden wohl deine Klassenkameraden alte Arbeiten haben, ich denke mal ihr hab einen Mail Verteiler oder so. Schreib die auch einfach mal an.

Wenn dir hier jemand sagt, was er vor X-Jahren in einer Arbeit hatte, wird dir das kaum helfen, das sich die Prüfungsordnungen auch schon mal Ändern.

Grundlegend 2-3 Wochen für die Prüfungsvorbereitung ist recht Sportlich, ich wünsche da mal viel Glück.

29.03.2018 - 15:36 Uhr

Was haltet ihr von der Aufgabe? Es ist mir bewusst, dass ihr mich nicht kennt, oder wie mein Wissensstand ist, noch - wie schnell ich lerne ect.
Aber haltet ihr so eine Aufgabe eher für Fortgeschritten, oder gehört sie noch zu den Basics. Die wir nebenbei gerade abgeschlossen haben.

Hallo Borbes,

das ist grob eine Aufgabe, wie ich sie vor 20 Jahren im Studium hatte und danach nie mehr gebraucht habe. Zur Ausbildung als Fachinformatiker, gehört so was nicht dazu. Also als Programmierer braucht man es nicht wirklich, es ist vielleicht aus theoretischen Aspekt interessant, so was mal Programmiert zu haben.

28.03.2018 - 13:16 Uhr

Hi SteffoD,

probier doch mal um die einen Try Catch Block in der ganzen Methode. Vielleicht bekommst du da einen Fehler.

Mal eine andere Sachen, denn ersten Benutzer der sich Anmeldet Admin Rechte zu geben halte ich für sehr Frag würdig. Ihr könnt doch einfach beim erstellen der DB einen Defoult Benutzer anlegen, der Adminrechte hat.

24.03.2018 - 13:26 Uhr

Ja ihm geht es Zentral um die Implementierung, aber er ist auch der Meinung das eine Namens Änderung es besser machen würde

Even simple things like changing the name to "pseudorandom" would help

Die Grundlegende aussage des Testes ist eigendlich nicht schwer zu Verstehen.

First off: the design of many RNG APIs is horrible. The fact that the .NET Random class can trivially be misused in multiple ways to produce long sequences of the same number is awful.

Und

Lessons learned

Er gibt offen zu das er einen Fehler gemacht hat, aber auch das er auch dem Fehler gelernt hat (Lessons learned).

Im 2. Teil erklärt er wie so die Klasse so ist. Und dafür gab es in den 90gern gute Gründe.

Make the monkey dance when you move the mouse.

Ist auch OK, aber da hinein zu Interpretern 2018 meint Eric das die Klasse macht was sie soll und der Name ist Richtig, sehe ich nicht im Ansatz. Oder um ihn wiederholt zu Zitieren.

First off: the design of many RNG APIs is horrible. The fact that the .NET Random class can trivially be misused in multiple ways to produce long sequences of the same number is awful.

Wenn du eine andere Aussage in seinem Text siehst, belege sie doch bitte mal an Hand von Zitaten.

Auf Sir Rufos Aussage bin ich auch eingegangen.
Ich hoffe das die meisten wissen was Explizit und Implizit bedeuten.

p.s.
Ich hoffe das dir klar ist, das T-Virus und ich nicht meinten, einfach den Namen Mads Torgersen in google ein zugeben.
Sondern einen Link zu bekommen in dem er über

Einfach mal Mads Torgersen zuhören, wie er über (seine) Design Fehler von C# redet - finde ich jetzt deutlich spannender.

redet.

Aber da haben wir uns vielleicht nicht Explizit genug ausgedrückt und du hast Impliziert, das wir den Namen nicht googeln können.

24.03.2018 - 11:35 Uhr

Zum Namen der C# Random Klasse lässt er sich gar nicht aus.

Explizit nicht, aber ich denke es ist schon recht klar das seine Aussagen es Implizieren.

....NET Random class can trivially be misused …

Die Klasse macht genau das: deterministisch Zufallszahlen zurück geben.
Sie hat den Namen Random verdient.

Sieht Eric anders.

Lessons learned.

Ein Link zu Mads Torgersen fände ich auch interessant.

23.03.2018 - 20:31 Uhr

Am Namen ist auch nichts auszusetzen.... sie macht genau das, was sie machen soll.

Schauen wir mal was Eric dazu sagt. (Mal ein paar stellen hervorgehoben.)

First off: the design of many RNG APIs is horrible. The fact that the .NET Random class can trivially be misused in multiple ways to produce long sequences of the same number is awful. An API where the **natural way to use it is also the wrong way **is a "pit of failure" API; we want our APIs to be pits of success, where the natural way and the right way are the same.

I think it is fair to say that if we knew then what we know now, the JS random API would be different. Even simple things like changing the name to "pseudorandom" would help, because as you note, in some cases the implementation details matter. At an architectural level, there are good reasons why you want random() to be a factory that returns an object representing a random or pseudo-random sequence, rather than simply returning numbers. And so on. Lessons learned.

Ich denke da wieder spricht er dir.

@gfoild
Du hast natürlich recht es ist eine Klasse und von der kann man auch Erben. Aber wenn jemand eine Klasse TrueRandom ableitet, sollte er auch dafür Sorgen, das er die Methoden Passend überschreibt so, das wirklich Zufallszahlen generiert werden. Ich könnte ja auch eine Klasse erstellen die EvenRandom heißt, von der würde ich erwarten, das sie mir nur grade Zahlen zurück liefert.

Bei DI wäre es natürlich unschön, so was wie

MyClass(PseudoRandom  random) 

zu haben.

Schöner wäre das so was wie

MyClass(IRandomGenerator randomGenerator)

zu haben.

Mir ging es jetzt hier aber nicht darum zu Diskutieren, wie man die Random Klasse implementieren kann.

Ich persönlich fand den selbstkritischen Umgang von Erik sehr gut (und ja der Rückblick war auch ganz interessant). Er hätte ja genau so gut sagen können Random macht genau was es soll, schau in die Doku, wenn du es falsch Nutzt bist du zu dumm.

23.03.2018 - 17:30 Uhr

Das es in der Doku steht ist natürlich hilfreich. Noch besser wäre es natürlich, wenn aus dem Namen der Funktion direkt hervorging was sie mach. Eric hat da ja "pseudorandom" als Verbesserung Vorgeschlagen. Und Random ist ja so eine von den Funktionen, bei dehnen Leute mal häufiger reinfallen.

In den Kommentaren sind noch ein paar Beispiele von Eric wie Random Probleme machen kann.

Ich persönlich bin mit der Random Funktion ganz zufrieden.
Ich finde es mach mal ganz interessant, was Entwickler über ihre Arbeit von vor 20 Jahren sagen.

Wenn ich da an mich denke ich hab da grade in meinen HiWi angefangen F# zu lernen mit einen einfachen Text Editor (kein Syntax Highlightning oder ähnliches) und bei dem ersten bisschen größeren Projekt, hab ich erst mal eine Woche durch Programmiert ohne auch nur einmal zu Compilieren. Die nächsten Wochen habe ich, dann mit Fehler suche zugebracht. Wäre deutlich sicher schneller gewesen, alles noch mal neu zu schreiben.

23.03.2018 - 16:46 Uhr

Also in der SQL Tabelle brauchst du dann noch ein die Felder StartDatum und EndDatum.
Dann brauchst du eine Klasse die die Daten Lade (am besten einen eigenen Layer Data Access Layer).
Der kann dir die Daten dann auf ein Objekt machen.

Falls du Geschäfts Logic hast solltest du da auch noch eine eigene Klasse machen (Bussiness Layer)

Und in deiner View Zeigst du dann einfach die Daten an (Presentation Layer)

Also alles ganz einfach. 😉

Was vielleicht noch hilfreich ist wenn du dir ein Grundlagen Buch durchliest. (Kostenlos C# Openbook)
Oder mal ein paar Tutortials durcharbeitest. Hier ein paar für ASP Core, für WPF oder Windows Forms kann man mit google aber auch welche finden.

22.03.2018 - 18:09 Uhr

Eric Lippert hat bei stackoverflow zur Frage 'Why is Math.random() not designed to be cryptographically secure?' geantwortet . (In JavaScript aber auf .Net wird auch kurz eingegangen)
Ich finde die Antwort ganz interessant.

22.03.2018 - 17:24 Uhr

Merken tue ich mir gar nicht, das google ich alle.

Ich persönlich kann auch ganz schlecht was auswendig lernen. Mit (gesprochenen) Sprachen hatte ich immer meine Probleme. (Dazu kommt dann auch noch meine Rechtschreibschwäche)

Was bei mir aber immer gut geklappt hat, ist wenn ich die zusammen Hänge von etwas Verstanden habe, also wie etwas Funktioniert, konnte/kann ich es dann auch immer wider Reproduzieren.

Um mal ein Beispiel zu nennen. Die PQ Formel aus der Mathematik kenne ich nicht auswendig. Ich weiß aber das ich sie mir mit der Quadratischen Ergänzung herleiten kann. Also wenn ich sie brauchen sollte um viele Quadratische Gleichungen zu lösen leite ich sie mir einfach her oder google sie eben. 😉

Ich persönlich denke auch, es ist besser in der IT den Ansatz zu verfolgen, etwas zu verstehen als es einfach nur auswendig zu lernen.

Es gibt da aber unterschiedliche Lehrntypen und wenn es für dich besser klapp etwas auswendig zu lernen ist es meines erachten aus in Ordnung. Wichtig ist das Ergebnis, wenn du guten Quellcode und schreibst und Probleme lösen kannst da da vielleicht auftauchen, ist mir egal ob du es auswendig gelernt hast oder verstehst was du da machst.

p.s. wenn du für Uni oder Schule was lernen musst kann es durchaus nötig sein das du was Auswendig lernst. Ein Kollege von mir musste eine Klausur schreiben (auf Papier), bei der wurde für jeden Compeiler Fehler Punkte abgezogen und das ohne jegliches Nachschlag Werk mit Namespaces und allen drum und dran. Keine Ahnung was der Prof damit testen wollte.

22.03.2018 - 12:59 Uhr

Hi du kannst dir mal Developer's Guide to Microsoft Prism Library 5.0 for WPF anschauen. Da wird eigendlich alles beschrieben was du brauchst. Ist zwar schon was älte und statt den Service Locator sollte man wohl besser DI und einen IOC Container verwenden. Aber ich denke da ist das wichtigste enthalten.

[EDIT]
Die Prisem dlls müssen nicht verwendet werden. Da gibt es teilweise bessere Lösungen.

22.03.2018 - 12:18 Uhr

Du kannst eine Schnittstelle machen.

z.b.

ICommand
{

bool IsCommand(String command)

void Execute(String command)

}

Die Implementiert du in deiner Klasse.

Und die Benutzung könnte dann so aus sehen.

myClass{

[ImportMany] //MEF als IOC holt dir alle Klassen die ICommand Implementieren, geht aber auch mit add
IList<ICommand> commands;

void Run(String command)
{
    var commandsToRun = commands.Where(c => c.IsCommand(command);

    for each (com in commandsToRun)
{
     com.Execute(command);
}

}

}

Ist jetzt frei herunter geschrieben

22.03.2018 - 09:58 Uhr

Dass kannst du recht einfach mit RegEx vergleichen oder in dem du aus dem String alles entfernst was keine Zahl ist.

22.03.2018 - 09:48 Uhr

Also (Beispeil vielleicht besser mit Wörtern und Sätzen vorstellen):

ab.length ist = ba.length weil beide die Gleiche länge haben.
ab = ba weil beide a und b enthalten.
und
ab = ab ist weil beides ab ist.

Wenn du mathematisch korrekt beschreiben kannst was 95% Übereinstimmung ist, sollte es kein Problem sein. Grundlegend gibt es für Texte verschiedene Algorithmen, die einen Grad an Übereinstimmung bestimmen können. Wo bei da aber durch aus unterschiedliche Sachen in Betracht gezogen werden.

20.03.2018 - 20:37 Uhr

Schau dir vielleicht noch mal die Isolationsstufen für Transaktionen an.

20.03.2018 - 17:37 Uhr

Auch eine Singelton Implementierung sollte, wenn möglich bei einer WebApi nicht verwendet werden.

20.03.2018 - 16:46 Uhr

Bei einer statischen Klasse wird aber, die gleiche Klasse von allen Threads verwendet, dann klappt auch das mit dem von witte schon erwähntenv Semaphore. Bei der SingelTon implementierung hab ich eine statische Instance der Klasse (vereinfacht ausgedrückt).

Mir ging es auch eher darum kurz anzudeuten, das statische "Sachen" bei einer WebApi sehr unschön sind. Und das die Web API alleine nicht reicht das Problem zu lösen.

20.03.2018 - 16:18 Uhr

Web Api löst hier aber das Problem mit dem gleichzeitigen Schreiben nicht.

Wenn ich in der Api lösen wollte, bräuchte ich da eine Statische Klasse, was bei einer Web Api sehr unschön ist.

20.03.2018 - 15:56 Uhr

Grundlegend muss du dir Überlegen, wie die Anwendung sich da verhalten soll.

Grundlegend kannst du das Lesen um 1 erhöhen und Speichern in eine Tranaction packen, die so lange den Lesenden zugriff auf den Datensatz blockiert.

MSDN:Verwenden von Transaktionen (EF Core)

*bitte beachte unten die angegebenen Einstellungen für EF Core. Es kann sein das es das noch nicht kann. Mein letzter Stand ist das EF Core noch nicht wirklich für den Produktive Betrieb bereit ist.

20.03.2018 - 10:35 Uhr

Hi ich bin jetzt kein Javascript Experte (und mich wundert immer, was da alles irgendwie doch funktioniert)

Aber wenn ich er richtig sehe, hast du die Methode helloWorld nicht wirklich definiert.

Sondern einen sondern einen prototyp. stackoverflow:What does jQuery.fn mean?

Lass mal das $.fn weg bei der Deklaration. (bzw. mal in den Link von oben schauen)

08.03.2018 - 22:35 Uhr

@Coder007
Na ja ausnahmen, das ist jetzt nicht um bedingt die Regel.

Man kann ja auch festhalten, das lange der reichste Mensch jemand ist, der sich selbst Programmieren bei gebracht hat und sein Studium abgebrochen hat. Kann aber jetzt nicht jeder Bill Gates sein. 😉

Ich persönlich denke aber, das grade die IT noch einer der Bereiche in der Arbeitswelt ist, wo es am wenigsten auf „Titel“ ankommt. Sondern es eher darum geht was jemand kann. (Ich persönlich hab da auch über die IT, die Erfahrung gemacht, das wenn Leute ihre Titel wichtig sind, sie meist Fachlich nicht so gut sind, wie Leute dehnen ihr Titel total egal ist).

Grundlegend denke ich, das man da auch in der IT keine Pauschale aussage tätigen kann.

Was für mich wichtig ist ich hab eine Arbeit, die mir (meistens) Spaß macht. Ich darf mich mein Leben lang weiterbilden und neue Sachen entdecken. Und werde dafür recht gut Bezahlt. Hätte schlimmer kommen können.

08.03.2018 - 12:32 Uhr

Ich würde den Austausch über einen Zentralen Server machen. Dann brauchen sich die Clients nicht untereinander kennen. Bei der Implementierung kannst du vielleicht SignalR verwenden. Oder Sachen aus dem IoT bereich wie MQTT könnten da ganz interessant sein.

08.03.2018 - 00:04 Uhr

Was du dir auch mal anschauen kannst ist. .Net Core nur für das Backend zu verwenden und für das Frontend Angular oder Aurelia einzusetzen.

07.03.2018 - 23:38 Uhr

Ich hab da vor einigen Jahren, mal eine Gehaltsstudie gesehen, bei der im Mittel (auf Deutschland gesehen) sich das Gehalt (bei gleicher Tätigkeit und Berufserfahrung) bei einem Fachinformatiker zu einem Diplom Informatiker nur um 100€ geringer war.

Ich denke, wenn ich Schwerpunkt Mäßig Programmieren möchte, ist ein Studium nicht unbedingt nötig. Aber es vereinfacht sicher den einstig ins Management, was dann auch besser bezahlt ist.

Über mein Gehalt kann ich mich jetzt nicht beschweren, auch wenn ich das mit den Gehaltsverhandlungen überhaupt nicht kann. Bei meinen letzten beiden Einstellungsgesprächen (ist auch schon ein bisschen her), stand dann im Arbeitsvertrag ein höhere Betrag als ich eigentlich haben wollte oder ich habe kurz darauf eine Gehaltserhöhung bekommen. Ich hab mich da aber auch immer auf Stellen beworben, die mich vom Fachlichen interessiert haben.

Was die Polizei (Staat) angeht. Die Zahlen wirklich nicht gut (die zahl von UncleBens von 35k kommt da gut hin) im Verhältnis zu Freien Marktwirtschaft. (In Düsseldorf wurde vor ein paar Jahren, eine Spezial Einheit für Cyber Kriminalität gegründet, was ich ganz spannend fand und mich da mal Informiert habe).

Man sollte aber bedenken, das sie ein Studium möchten, damit man auch in die gehobene Beamtenlaufbahn kommen kann. Und das sie die Leute gerne Verbeamten würden. Was Sicherheit bedeutet. Höhere Renten oder besser gesagt Pensionen. Und Beamte haben mehr Netto vom Brutto. Und sonst auch noch ein paar Annehmlichkeiten.

07.03.2018 - 23:05 Uhr

Ich kenne es auch so, das der Kunde (bzw wir) meiste den Quellcode mit erwirbt und das eigentlich mit dem normalen Stundensatz abbezahlt wurde.

Ich würde da jetzt nicht zu gierig werden. Du hast jetzt einen Zusätzlichen Aufwand, denn solltest du ihn auf jeden Fall in Rechnung stellen.

Was natürlich auch eine frage ist, ist wie die Beziehung zum Kunden ist. Wenn der Kunde jetzt den Quellcode haben möchte, damit er mit anderen weiter Arbeiten kann, ist es halt eine ganz andere Situation. Ganz dumm ist es wenn er dann Feststellt, das du es dann doch besser machen kannst, aber er möchte, das du an der Codebasis arbeitest die er hat, weil da schon neue Funktionen implementiert sind.

Im Zweifel oder besser zur Sicherheit solltest du die Punkte in einen Vertrag festhalten. Da können wir dir aber im Forum nicht wirklich helfen. Da solltest du besser einen Anwalt zu rate ziehen. (Den kannst du im zweifel bei den Kosten mit einbeziehen).

07.03.2018 - 17:52 Uhr

Danke für die Antworten.

Hab mir schon gedacht, da es da keine einfache Lösung gibt.

Die Unterscheidung hätte ich gebraucht, wenn jemand mit mir auf Facebook eine Wette eingegangen wäre. Da er es nicht hat es sich eigentlich erledigt. Es wäre darum gegangen, da er jeden Tag um die Selbe Uhrzeit (oder 10min früher) ein Post absetzt. Da er meine es wäre ja in den heutigen Zeit mit SmartPhone usw, ja ganz einfach einen Termin einzuhalten. Das wäre natürlich leicht durch einen Bot zu machen gewesen.

Wird wohl darauf hinauslaufen, das wir eine KI brauchen, die darauf spezialisiert ist eine KI zu erkennen die sich als Mensch ausgibt.

Muss da ein wenig an den Voight Kampff Test aus Blade Runner denken. 😉

03.03.2018 - 15:58 Uhr

Hi beginner99,

wenn du dein Programm so auf baust wirst du Probleme mit der Erweiterbarkeit haben.
Du müsstest für jede weitere Frage alles hart codieren.

Hier ist es besser mit Klassen zu arbeiten.

Grob könnte das so aussehen. (Ist jetzt hier frei herunter getippt}

Public class Frage
{

public String Frage { get; set;}
public Ilist<Antwort> Antworten { get; set;}

public bool IstRichtigeAntwort(int nummer)
{
 var antwort = Antowrten.Where(c => c.Nummer == nummer).First() ;// Linq Abfrage wenn nicht bekannt googlen

return antwort.IstRichtig;

}

} 

public class Antwort
{
public int Nummer {g;s;}
public String Text {g; s;}
public bool IstRichtig {g; s;}

}

Damit kannst du dann in Zukunft einfacher weitere Fragen hinzufügen. Schau dir da dann villeicht mal die 3 Schichten Architektur an.

02.03.2018 - 15:04 Uhr

Hallo Zusammen,

weiß vielleicht jemand hier ob es eine „einfache“ Möglichkeit gibt, als einfacher Facebook Benutzer in einer Gruppe zu erkennen, ob ein Post von einem Bot erstellt wurde.

Bzw. im zweifel auch mit erweiterten Rechten als Administrator.

24.02.2018 - 21:51 Uhr

Grundlegend denke ich sind wir uns da einig. Auch wenn ich mir die anderen Kommentare hier im Thread anschaue.

Ohne Kommentare kommen wir nicht aus. Es ist aber auch nicht sinnvoll alles zu Kommentieren.

Ich denke was ein Punkt ist, der oft in der Software Entwicklung übersehen wird. Ist das es an vielen Punkten nicht einfach richtig oder falsch gibt. (Liegt vielleicht daran das wir zu viel mit Einsen und Nullen zu tun haben). Sondern man auch mit Menschen zusammen Arbeitet.
Und da geht es dann auch darum Kompromisse zu finden, so das man Produktive zusammen Arbeiten kann.

24.02.2018 - 16:05 Uhr

Gerade spezielles Verhalten bei Fehlern oder bestimmten Sonderfällen sieht man einem Namen nicht an. Außer man nennt seine Methode ParseNumberAndThrowExepctionIfLowerThanZeroBecauseThisClassNeedsPositiveValues.

Du beschreibst an dem Punkt was die Methode alles mach und nicht wo zu sie da ist, also ihre Funktion.

Die Signatur deiner Methode könnte so aussehen.

int PrasePositiveNumber(String value)

Ich denke die Meisten Entwickler können dann direkt am Quellcode sehen, was die Methode macht, da brauche ich keinen Kommentar direkt vor dem Methoden Aufruf. Ein Summarie für die Methode kann, sicher nicht schaden.
Aber ein guter Methoden Name ist da deutlich besser. Dann brauche ich mir erst gar nicht die Summaries anzuschauen.

Die Frage betritt im Übergen „Kommentare im Code - Ja oder Nein - Wie ist eure Meinung?“
Da Zähle ich Summeries nicht direkt dazu.

Für mich geht es da eher im Punkte, wo direkt in der Methode steht was die Nächten Zeilen machen.

Hier male ein Beispiel:
Refactoring:Extract Methode

23.02.2018 - 21:19 Uhr

Bisher war die Devise und die Best Practise in Unternehmen: so wenig wie möglich, aber so viel wie nötig

Ich schließe mich da Abts Meinung an. (Und auch Sir Rufos aussage).

Was man sicher Festhalten kann, ist alles zu Kommentieren ist sicher falsch. Und nicht zu Kommentieren auch.

Ich denke man sollte hier einfach Überdenken, wo zu Kommentare da sind.

Und meines Erachtens sind sie dafür da anderen Entwicklern dabei zu Helfen produktive Arbeiten zu können.

Es gibt da einfach Kommentare, die sinnlos sind. Wie:

//Erzeuge Kunde
var kunde = new Kunde();  

Es gibt aber auch immer Kommentare die sinnvoll sind. Grade wenn es um Workaraunds geht, weil es in der Speziellen Situation noch Fehler im „Framework“ geht.


//Workaround
//EF Core unterstützt noch kein Server seitiges Group By
// Link: https://....
//Darum ...

Grundlegend ist es meist sinnvoller statt einen Kommentar, der sich auf Mehrere Zeilen Quelltext Bezieht. Diese in eine eigen Methode auszulagern und der Methode einen sinnvollen Namen zu geben. Wenn ich dann in der Methode was ändere und den Namen anpassen muss, ändert er sich an allen Stellen wo die Methode aufgerufen wird.

Wenn deine Kollegen verstehen was du machst, ohne das du Kommentare schreiben musst. Ist das sehr gut.

Wir machen es bei uns so das Codereviews statt finden. Und das dann auch über Kommentare gesprochen wird.

Wenn bei euch die Beiden Abteilungen so unterschiedliche Auffassungen von Kommentaren haben. Liegt es eigentlich nahe (wenn sie die gleiche Programmiersprache verwenden), mal gegenseitig Codereviews machen.

Hier ist dann aber wichtig es nicht unter den Motto zu machen, ihr seid aber Sch... . Sondern man Arbeitet zusammen, damit alle besser werden. Das ist aber sicher ein anderes Thema.

23.02.2018 - 14:20 Uhr

Code Zeilen (LOC) sind zwar ein Wert bei der Codemetrik ein Maßstab, um zu schauen ob die Klasse zu groß ist. Leerzeilen werden da aber nicht mit einbezogen.

Die Summeries die Abt meint erzeugst du wenn du direkt über einer Methode 3 mal / eingibst.

Da man Code öfter ließt als in Schreibt ist Lesbarkeit sehr wichtig.

Im Buche Code Complete ist ein ganze Kapitel zur Lesbarkeit vom Code. Du kannst dazu aber auch einiges im Internet finden. Z.B. Richtlinien für die Benennung

22.02.2018 - 18:03 Uhr

Hi Max1809,

du erwartest doch jetzt nicht ernsthaft das ein Beitrag Erstellern (csoifert) der hier genau 2x in seinen eigenen Beitrag gepostet hat sich nach 10 Jahren meldet.

ansonsten beleibt bei deiner Frage das Problem wie vor 10 Jahren.

Falls es kein Jobangebot ist, dann sehe ich die Frage nicht.

Überlege dir mal was genau deine Frage ist und stelle sie dann in einem eigenen Beitrag.
Und allgemein Gehaltene Fragen wie z.B. "Wie entwickele ich eine Bussines Anwendung",
lassen sich in einem Forum schwer beantworten.

21.02.2018 - 17:55 Uhr

Das Liegt am return.

Durch das return im den else Block wird sichergestellt das der Delegate nicht ausgeführt wird wenn er nicht zugewiesen wurde.