Posts
231
Comments
64
Trackbacks
4
November 2006 Entries
Die Performance des VMware-Payers verbessern

Die Performance des VMware-Payers kann man verbessern, indem man die Speicherbelegung des Player verändert:

 

Ggfls muss man mit der Speichereinstellung etwas experimentirren, bis man die optimale Leistung ereicht hat.

posted @ Monday, November 27, 2006 2:54 PM | Feedback (0)
Kommunikation ist doch alles

Großer Aufruhr im Wald! Es geht das Gerücht um, der Bär habe eine Todesliste. Alle fragen sich, wer denn nun da drauf steht. Als erstes nimmt sich der Hirsch allen Mut zusammen und geht zum Bären und fragt ihn:"Sag mal Bär, stehe ich auch auf deiner Liste?"

"Ja", sagt der Bär, "auch dein Name steht auf der Liste."

Voller Angst dreht sich der Hirsch um und geht. Und wirklich, nach 2 Tagen wird der Hirsch tot aufgefunden. Die Angst bei den Waldbewohnern steigt immer mehr und die Gerüchteküche um die Frage, wer denn nun auf der Liste stehe, brodelt. Der Keiler ist der erste, dem der Geduldsfaden reißt und der den Bär aufsucht, um ihn zu fragen, ob er auch auf der Liste stehe.

"Ja", antwortet der Bär, "auch du stehst auf der Liste."

Verängstigt verabschiedet sich der Keiler vom Bären. Und auch ihn findet man nach 2 Tagen tot auf. Nun bricht die Panik bei den Waldbewohnern aus. Nur der Hase traut sich nun noch, den Bären aufzusuchen. "Bär, stehe ich auch auf der Liste?" "Ja, du stehst auch auf der Liste." "Kannst du mich da streichen?" "Ja, klar, kein Problem!"

Kommunikation ist doch alles

posted @ Thursday, November 23, 2006 1:49 PM | Feedback (0)
Geschichte des Internets von 1998 bis 2015

Geschichte des Internets von 1998 bis 2015:
http://media.aperto.de/google_epic2015_de.html

posted @ Friday, November 17, 2006 2:59 PM | Feedback (0)
Mit dem VMWare Player eigene Images basteln

Mit dem VMWare Player lassen sich eigene Images basteln.

Der Trick besteht darin die VMX Datei zu manipulieren um den Player somit zu überreden von einer CD oder einem anderen Image zu booten. So kann man mit dem Player nun seine eigenen Images bauen.

http://www.id.unizh.ch/cl/zinfo/zinfo0020/kattipps/virtos.html
http://blog.t00lz.de/index.php/2005/11/02/howto_mit_dem_vmware_player_eigene_image
http://pcs.hackaday.com/2005/10/24/how-to-vmware-player-modification/

posted @ Tuesday, November 14, 2006 2:31 PM | Feedback (0)
Programmierstandards

Im Rahmen eines Projektes wurden die Programmierstandards schriftlich festgehalten, diese Vorlage kann man für weitere Projekte verwenden:

 

1 Programmierstandards

1.1 Namenskonventionen
Keine ungarische Notation wie btnOk. Stattdessen: okButton.

1.1.1 PascalCasing und CamelCasing
PascalCasing und CamelCasing bezeichnen Namenskonventionen, in denen die Wortteile in zusammengesetzten Bezeichnern groß geschrieben werden. Es werden keine Unterstriche verwendet. Im PascalCasing beginnen die Bezeichner mit einem Großbuchstaben, im CamelCasing mit einem kleinen Buchstaben:

Beispiel:
MainMenu (PascalCasing)
mainMenu (CamelCasing)

1.1.2 Namespaces
Namespaces beginnen mit „Firma.RemaPlus“, gefolgt von einem Punkt, gefolgt von weiteren Namen, die bei weiteren hierarchischen Gliederungen durch weitere Punkte voneinander getrennt werden.

Beispiel:
namespace Firma.Produkt.Blogic.Workflow

1.1.3 Assemblies
Die Namen von Assemblies sollten sich in der Regel an den Namen der Namespaces orientieren, die sie implementieren.

Beispiel:
Firma.Produkt.Blogic.Workflow.dll

1.1.4 Projekte
Die Projektnamen sollten sich in der Regel an den Namen der Namespaces orientieren, die sie implementieren.

Beispiel:
Firma.Produkt.Blogic.Workflow

1.1.5 Interfaces
PascalCasing mit großem, vorangestelltem „I“ (Ausnahme zum Thema Präfixe).

Beispiel:
interface IDispose

1.1.6 Klassen
PascalCasing

1.1.7 Properties
PascalCasing

1.1.8 Methoden
PascalCasing

1.1.9 Eventhandler
Wie Methoden, der Name sollte i. d. R. den Eventnamen als Postfix beinhalten. Da die Designer hier einen Unterstrich für die Trennung von Variablenname und Eventname verwenden, ist hier der Unterstrich zugelassen.

Beispiel:
protected void MainMenu_SelectedIndexChanged(object sender, EventArgs e) {...}

1.1.10 Membervariablen
CamelCasing
Membervariablen können das Präfix „m“ erhalten (Ausnahme zum Thema Präfixe).

Beispiel:
private int mCount;

1.1.11 Statische Variablen
CamelCasing

1.1.12 Lokale Variablen
CamelCasing

1.1.13 Parameter
CamelCasing

1.1.14 Enumerationen
CamelCasing
Der Name einer Enumeration hat kein Postfix „Enum“. Bei den Werten werden keine Präfixe verwendet.

1.1.15 Konstanten
Großbuchstaben. Wortteile werden durch Unterstriche getrennt.

1.2 Sprache
Alle Bezeichner in Visual Studio und in der Datenbank sind in englischer Sprache zu halten.

1.2.1 Kommentare/Inline-Dokumentation
Kommentare und Inline-Dokumentation sind auf Deutsch abzufassen.
Als Kommentarzeichen „//“ verwenden, nicht „/* ... */“

Zu kommentieren sind:
* Klassen
* Methoden und Properties, die nicht trivial sind.

 Beispiel:
  /// <summary>
  /// Initialisiert das Objekt mit einem User.
  /// </summary>
  /// <param name="user">Der aktuelle User</param>
  private void Init(User user)
  {
   ...
  }

* Nicht einfach zu verstehende oder wichtige Codestellen sind nach Bedarf zu kommentieren.

1.3 Strukturierung von Code in Regions
Aus Gründen der Lesbarkeit sollen folgende Regionen verwendet werden:
* Felder
* Eigenschaften
* Methoden
* Eventhandler

1.4 Klammern
Geschweifte Klammern werden auf die folgende Zeile gesetzt.

1.5 Sichtbarkeit von Variablen
Membervariablen sind immer als „private“ zu deklarieren. Der Zugriff erfolgt ggf. über Properties.

1.6 Exceptionhandling
Kein simples Abfangen und Werfen von Exceptions (catch-throw). Exceptions nur abfangen, wenn Fehler behandelt werden kann. Falls ein Abfangen und erneutes Werfen einer Exception notwendig sein sollte, die Exception mit „throw;“ und nicht mit „throw(ex);“ erneut werfen, weil in der zweiten Variante der Callstack neu aufgebaut wird und die Information über die ursprünglich auslösende Methode verloren geht. Exceptions sollten so weit im Stack hochgereicht werden, bis eine sinnvolle Behandlung möglich ist.
Kein „catch Exception“, sondern immer eine spezifische Exception verwenden, z. B. ArgumentNullException.

Prüfen von Parametern so früh wie möglich. Ggf. eine von ArgumentException abgeleitete Exception werfen.

private void Init(User user)
{
if (user == null)
{
       throw new ArgumentNullException("user", "User darf nicht null sein.");
       }
}

1.7 Literale und andere konstante Werte
Literale und andere konstante Werte sind i. d. R. als Konstanten, ReadOnly-Variablen oder in Ressourcen-Dateien abzulegen.

1.8 Markup in Aspx-Seiten
Die von den Designern automatisch generierten Ids sind durch sinnvolle Bezeichner ersetzen.

 

posted @ Monday, November 13, 2006 1:45 PM | Feedback (0)
Monat eines Datums ermitteln

So kann man sich den Monat eines Datums, Januar, Ferbruar etc. ausgeben lassen:

string month = DateTime.Now.ToString( "MMMM" );

posted @ Saturday, November 11, 2006 7:54 AM | Feedback (0)
Textbox-Objekt um neue Eigenschaften erweitern

Im Zusammenhang mit der Entwicklung bzw. Erweiterung eines Frameworks kann es notwendig sein ASP.NET-Objekte zu erweitern.

Hier ein Beispiel wie man das Textbox-Objekt um neue Eigenschaften erweitern kann:

namespace

BSP.WebLibrary.GUI

{

   public class BSP_TextBox : TextBox
   
{

      # region

Eigenschaften

      [Category(

"BSP Eigenschaften")]

      public string BspName
         {
            
set { mBspName = value; }
            
get { return mBspName; }
         }

      private string mBspName;

      [Category(

"BSP Eigenschaften")]

      public string BspAttribut
      {
         
set { mBspAttribut = value; }
         
get { return mBspAttribut; }
      }

      private string mBspAttribut;

      #endregion

      protected override void OnPreRender( EventArgs e )
      {
         if (mBspName != null)
         {
            //Tue dies und das
         }

         base.OnPreRender(e);
      }

   }

}

In diesem neuen Objekt lassen sich eigene Methoden implemetieren und in Abhängigkeit der neuen Eigenschaften ausführen. Damit lasse sich Informationen an das Framework übergeben oder auslesen.

Nachdem diese Klasse in eine Assembly compiliert und diese in der aspx-Seite registriert wurde, ann man dieses neue Objekt in der ASPX-Seite verwenden.

Die neuen Eigenschaften kann ma wie gewohnt bearbeiten:

posted @ Thursday, November 02, 2006 11:54 AM | Feedback (0)