Hm, das ist doch in Java auch nicht anders. Da Swing nicht threadsicher ist, kann man also auch dort nicht einfach auf die UI-Komponenten zugreifen und arbeitet z.B. mit InvokeLater:
SwingUtilities.invokeLater( new Runnable(){
public void run() {
}
});
(Das nur mal am Rande)
LightSwitch ist eher ein Anwendungsgenerator. Aus einer bestehenden Datenbank generiert dieses Tool eine Business Anwendung mit 3-Schichten-Architektur. Die UI basiert auf SilverLight und die Datenzugriffsschicht auf dem Entity Framework. Zusätzliche Geschäftslogik kann man dann in C# hinzuprogrammieren.
Ich kenne Entwickler, die darauf schwören. Ein befreundeter Entwickler erzählte mir mal, dass sie mit LightSwitch eine Software, für die 1 Jahr Aufwand geplant war, innerhalb von 2-3 Monaten zurechtgeschustert und dem Kunden ausgeliefert haben.
Was ist denn mit LightSwitch? Das kann doch auch aus einer Datenbank eine Anwendung generieren und arbeitet mit dem Entity Framework.
Die eigentliche Frage war m.E., ob man einen Delegatentyp, der zwar mit einer Klasse in (enger) Beziehung steht, den man aber auch außerhalb der Klasse benötigt, in der Klasse geschachtelt (und public) oder auf gleicher Ebene wie die Klasse deklarieren soll. Auf letzteres bezog sich ganz überwiegend die Argumentation in diesem Thread.
Ok, dann sind wir diesbezüglich einer Meinung. 👍
Ok, die Argumentation kann ich nachvollziehen und akzeptieren.
Meine Interpretation war tatsächlich eine andere (dachte, es ginge um den Zugriff der Klasse auf den inneren Delegaten):
public partial class Form1 : Form
{
private delegate void SetProgressBar(int value);
public Form1()
{
InitializeComponent();
}
}
Wenn ich den Delegaten an dieser Stelle deklariere, dann schränke ich den Zugriff ein. Ich habe also nur Zugriff auf diesen innerhalb der partiellen Klassen.
public delegate void SetProgressBar(int value);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
Hier ist der Delegat im gesamten Namespace zugreifbar. Es stellt sich also die Frage, ob die globale Verfügbarkeit gewünscht ist. Ich könnte mir durchaus Fälle vorstellen, wo man das nicht möchte und sich dann das "Wegkapseln" anbietet.
Interessant.
Wenn ich mir das erste Kriterium anschaue:
Verwenden Sie geschachtelte Typen, wenn sich aufgrund der Beziehung zwischen dem geschachtelten Typ und seinem äußeren Typ eine Semantik für den Memberzugriff empfiehlt.
und dann überlege, dass ich im Rahmen des Threadings z.B. Delegaten zum Aktualisieren eines Progressbars verwende, würde ich meinen, dass schon eine Beziehung zwischen der UI-Klasse und dem entsprechenden Delegaten besteht.
Wie seht ihr das?
Hallo herbivore,
vielen Dank! Ich werde das evaluieren.
Gruß
PT
Hallo Leute,
vielleicht hat sich schon einmal jemand damit beschäftigt. Ich möchte das Bugzilla Inbound Interface nutzen, um Bugs per Mail empfangen zu können.
http://www.bugzilla.org/docs/3.0/html/api/email_in.html
Meine Frage ist, was der einfachste Weg ist, dies zu bewerkstelligen. Irgendwo las ich Folgendes:
- Make sure all of the optional E-mail/MIME perl modules are installed per bugzilla/checksetup.pl
- Make sure procmail is installed and the MTA of your choice.
- Create a user to manage the processing of bugmail (ie, adduser bug-submit).
- Add that user to a group that has can access the files in your bugzilla directory (ie, adduser bug-submit www-data [or bugzilla, if you've set up a special bugzilla group, etc]).
- Add a .procmailrc to your user's account that includes:
LOGFILE=/home/bugmail/procmail_log
:0:
* ^To:.*bug-submit@.*yourdomain.com
|/path/to/bugzilla/email_in.pl -vvv
Da ich ne Windows-Kiste am Laufen habe, weiß ich nicht, weilchen MTA ich nutzen soll und wie ich den procmail richtig einstelle. Bin für jeden Tipp dankbar.
Gruß
ProgrammierTroll
Doofe Aufgaben kenne ich auch. Software-Wartung oder auch Software-Testen - damit meine ich keine Unit-Tests, sondern manuelle Integrationstests - nerven mich auch ungemein. Normalerweise versuche ich, dafür Werkstudenten oder Praktikanten ranzubekommen. Wenn ich es selbst machen muss, geh ich davor erstmal gemütlich mit einem Kaffee kacken und bereite mich erinnerlich darauf vor. Danach geht es meistens. 😉
Zwei Dinge sollte man dazu sagen:
Es gibt in Deutschland faktisch keinen Fachkräftemangel im MINT-Bereich (in letzter Zeit gab es dazu häufiger auch Artikel im Spiegel). Das sagen sowohl die Zahlen des DIW sowieo auch der Bundesagentur für Arbeit. Der Fachkräftemangel wird meistens von Unternehmen und wirtschaftsnahen Verbänden propagiert, um die Zahl der MINT-Akademiker auf einem hohen Niveau zu halten. Denn, wie richtig gesagt wurde, wird der Lohn durch Arbeitsangebot und Arbeitsnachfrage bestimmt. Je größer das Arbeitsangebot, umso niedriger auch der Lohn. Darum steigen die Gehälter bei Informatikern und Ingenieuren in Deutschland nur minimal.
Erscheinen die gegenannten Gehälter zwar auf dem ersten Blick als sehr hoch. Beachten werden muss jedoch, dass die Lebenskosten in den USA weitaus höher sind als in Deutschland. Die Miete für ne einfach Wohnung in den USA ist z.B. deutlich höher. Da werden locker mal 2000-3000 Dollar im Monat fällig.