UML Diagramm aus Java Code erzeugen

Posted: Januar 8th, 2013 | Filed under: Java, Software | Tags: , , , | 1 Comment »

Aus Dokumentationsgründen ist es oft notwendig aus bestehendem Quellcode UML-Diagramme zu erzeugen. Seit einiger Zeit benutze ich das schwedische Tool EssModel, welches einfach und schnell zu bedienen ist.

Über den “File > Open folder …” könnt ihr einfach den Source-Ordner eures Java-Projekts angeben.

image

Um alle Assoziationen und Vererbungen im UML-Diagramm anzuzeigen, sollte in der Hauptansicht unter Connections folgender Wert ausgewählt werden:

image

Unter dem Menüpunkt “Diagram > Save as picture…” kann man das ausgewählte Diagramm schließlich exportieren.

Download

Herunterladen könnt ihr EssModel hier: http://essmodel.sourceforge.net/


HP LaserJet 1010 unter Windows 7

Posted: Januar 7th, 2013 | Filed under: Betriebsysteme, Software, Tutorials | Tags: , , , , , , , , | 21 Comments »

Leider Funktioniert Plug & Play bei dem HP LaserJet 1010 unter Windows 7 nicht wirklich. Manuell kann der Drucker über den Treiber des Druckers HP LaserJet 3055 folgendermaßen installiert werden (Systemsteuerung > Hardware und Sound > Gerät hinzufügen).

image

image

image

image

Fertig! Viel Spaß beim Drucken.


Java: Countdown und Timer (am Beispiel von Swing)

Posted: Dezember 21st, 2012 | Filed under: Java, Programmieren | Tags: , , , , , , | 12 Comments »

Häufig benötigt man für Applikationen einen Zeitnehmer, oder es soll ein bestimmtes Event nach einer gewissen Zeit ausgeführt werden. Mit Hilfe der Klasse Timer aus der Swing-Bibliothek kann ein sogenannter Countdown leicht erstellt werden. Das folgende Beispiel veranschaulicht die Realisierung eines Countdowns.

Screenshot

image

Quellcode

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
import javax.swing.WindowConstants;


public class Countdown extends JFrame {
 
  // Countdown mit 42 Sekunden
  public static int counterValue = 42;
  public static Timer timer;
  public static JLabel label;
 
  public Countdown() {
    initGUI();
  }
 
  // GUI-Erzeugen
  private void initGUI(){
    BorderLayout thisLayout = new BorderLayout();
    this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    this.getContentPane().setLayout(thisLayout);
    label = new JLabel();
    label.setText(String.valueOf(counterValue));
    this.getContentPane().add(label, BorderLayout.CENTER);
    this.setTitle("Countdown Example");
      this.pack();
      this.setVisible(true);
  }
 

  public static void main(String[] args) {
    // GUI erzeugen
    Countdown countdown = new Countdown();
   
    // Timer erzeugen, jede 1000 Millisekunden (= 1 Sekunde)
    // Methode actionPerformed aufrufen.
    Countdown.timer = new Timer(1000, new ActionListener() {
     
      public void actionPerformed(ActionEvent e) {
        // 1 Sekunde abziehen
        Countdown.counterValue--;
       
        // Zahl in Label darstellen
        Countdown.label.setText(String.valueOf(counterValue));
       
        // Falls Zähler = 0, Countdown abgelaufen!
        if(Countdown.counterValue == 0){
          System.out.println("Counterdown ausgelaufen!");
         
          // Timer stoppen
          Countdown.timer.stop();
        }
      }
    });
       
    // Timer starten
    timer.start();
  }
}

In der Klasse Timer kann im Konstruktor ein Zeitwert und ein Listener übergeben werden. Die actionPerformed-Methode dieses Listeners wird, nachdem der Timer gestartet wurde, alle 1000 ms (=1 s), aufgerufen. Die Methode actionPerfomed ist also unser Taktgeber beim Abziehen einer Sekunde von der aktuellen Countdown-Zahl. Erreicht unsere Zahl den Wert 0, ist der Countdown schließlich abgelaufen.


Sicherheitslücken in Webapplikationen – Seminararbeit

Posted: Dezember 18th, 2012 | Filed under: Programmieren, Sicherheit, Tutorials | Tags: , , , , , , , , , , , , , , , | 3 Comments »

Abstract

Da webseitenbasierte Applikationen immer mehr an Bedeutung gewinnen, stellt sich die Frage nach der Vertraulichkeit, mit der unsere im World Wide Web gespeicherten Daten behandelt werden. Sicherheitslücken und erfolgreiche Angriffe auf Webapplikationen schaden oft nicht nur dem Betreiber des jeweiligen Dienstes, sondern auch dem Endverbraucher, der seine privaten Daten wie beispielsweise Konto- oder Kreditkartennummer, E-Mail-Adresse oder Passwörter an den Angreifer unfreiwillig abgibt.

In dieser Arbeit werden häufige Sicherheitslücken in PHP-basierten Webanwendungen erklärt und anhand eines praktischen Beispiels verständlich gemacht. Um einen Überblick über eingesetzte Websprachen zu geben wird zu Beginn der Arbeit auf die Verbreitung verschiedener Sprachen eingegangen. Resultierend aus dem hohen Marktanteil werden Sicherheitslücken und Angriffsmechanismen wie Remote Command Execution, SQL-Injections, XSS-Attacken, Cross-Site Request Forgery und HTTP Response Splitting am Beispiel von PHP vorgestellt. In einem zweiten Teil der Arbeit wird beschrieben, wie man Passwörter mit Hilfe von sogenannten gesalzenen Hashes in einer Datenbank sicher schützen kann. Zum Abschluss wird das PHP-Framework CodeIgniter und seine Schutzmechanismen vor Angriffen auf Applikationsebene vorgestellt. Sicherheitsprobleme auf Netzwerk- und Betriebsystemebene werden in dieser Arbeit aufgrund des begrenzten Umfanges nicht angesprochen.

Inhaltsverzeichnis

  • Abstract
  • Einleitung
  • Angriffsmechanismen
    • Remote Command Execution
    • XSS – Cross-Site-Scripting
    • SQL-Injections
    • Datei-Upload
    • Cross-Site Request Forgery
    • HTTP Response Splitting
  • Passwörter in Datenbank schützen
    • Einwegverschlüsselung
    • Hashwerte salzen
  • Einsatz von Frameworks
    • CodeIgniter
      • Schutzmechanismus: URL-Sicherheit
      • Schutzmechanismus: Error-Reporting
      • Schutzmechanismus: Hochkommas escapen
      • Schutzmechanismus: XSS-Filter
      • Schutzmechanismus: SQL-Injection
      • Schutzmechanismus: Form-Validation
      • Schutzmechanismus: CSRF-Protection

Download

Herunterladen könnt ihr euch meine Seminararbeit unter Folgendem Link:

http://blog.mynotiz.de/downloads/sicherheitsluecken_in_webapplikationen_frank_roth.pdf (PDF)

Screenshots

Screenshots vom Inhaltsverzeichnis und dem Abstract.

imageimageimageimage


Ordner kopieren – Dateien mit bestimmter Dateiendung ignorieren

Posted: Dezember 17th, 2012 | Filed under: Tutorials | Tags: , , , , , | 1 Comment »

Da ich bei meiner EOS 60D meine Bilder sowohl im RAW- als auch im JPEG-Format im gleichen Ordner abspeichere, hatte ich häufig Probleme beim Kopieren der JPEG-Bilder auf ein externes Medium. Mit Hilfe des Konsolen-Befehls xcopy könnt ihr komplette Ordner-Strukturen rekursiv kopieren und zusätzlich dazu Dateiendungen, wie beispielsweise .mpg, .avi oder .cr2 (Canon RAW-Format), beim Kopiervorgang ausschließen. Die Dateiendungen die ihr nicht kopieren wollt einfach in einer Textdatei zeilenweise, hintereinander angeben.

image

Nach dem Erstellen der Textdatei speichert ihr diese am Besten unter C:\ ab.

xcopy “C:\Quellordner” “C:\Zielordner” /S/E /EXCLUDE:C:\exclude.txt

Anschließend könnt ihr obigen Befehl in der Windows-Konsole eingeben.

image

Das Programm xcopy ist standardmäßig auf allen Windows-Plattformen installiert.


Pages: Vorherige Seite 1 2 3 ... 11 12 13 14 15 ... 50 51 52 Nächste Seite