Paketmanager wie apt-get oder yum für Windows

Posted: Oktober 31st, 2014 | Filed under: Software, Tutorials, Windows, Windows 7, Windows 8 | Tags: , , , , , , , | 1 Comment »

imageDie Tage bin ich auf ein sehr tolles und spannendes Projekt gestoßen. Chocolatey ist eine Paketverwaltung wie apt-get oder yum. In diesem Beitrag möchte ich euch die wichtigsten Schritte des Paketmanagers vorstellen.

1) Installation

Zuerst startet die Eingabeaufforderung als Administrator und führt folgenden Befehl aus:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString(‚https://chocolatey.org/install.ps1‘))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

imageimage

Chocolatey auch choco genannt installiert sich nun wie von Geisterhand völlig automatisch.

2) Befehle

Ähnlich wie apt-get oder yum verfügt choco über ein paar sehr triviale Befehle. Hier nur die Wichtigsten davon.

choco install <paketname>

choco install <paketname> –version <version>

choco update <paketname> –source <source-url>

choco help

choco search <suchbegriff>

3) Beispiel

Aktuell sind knapp 2300 Programme oder Bibliotheken verfügbar. Von Java über Notepad++ oder 7-Zip lassen sich alle gängigen Programme ausfindig machen. Aber nicht nur Programme auch Compiler oder Interpreter für Programmiersprachen wie Python oder Ruby lassen sich im handumdrehen.

Hier ein Beispiel:

choco search filezilla

image

choco intsall filezilla

image

Fertig das wars schon! Smile 

FileZilla hat sich nun automatisch in das Verzeichnis C:\Program Files (x86)\FileZilla FTP Client installiert.


Dropbox Ordner verschieben

Posted: August 3rd, 2014 | Filed under: Software, Tutorials | Tags: , , , | No Comments »

Da meine Windows-Partition lediglich 64GB (ist ne SSD) aufweist und auf derselbigen meine Dropbox mittlerweile 52GB groß sein darf,  muss ich meinen Dropbox-Ordner notgedrungen von C:/ auf D:/ verschieben. Für diesen Fall bietet Dropbox eine eigene Funktion, die ihr wie folgt ausführen könnt.

Einstellungen

Zuerst klickt ihr euch zu den Einstellungen.

image

Verschieben

Klickt dann auf den Button, neben dem Speicherort-Feld, mit der Aufschrift Verschieben…

image

Neuer Ordner Wählen

Nun wählt ihr einen neuen Eltern-Ordner. Wenn ihr euren Dropbox-Ordner in D:\Dropbox anlegen wollt, dann reicht es das Laufwerk D: auszuwählen.

image

Warten

Nun verschiebt Dropbox all Eure Dateien. Das kann eine Weile dauern…

image

Fertig

Smiley


DDNS Updater auf Synology NAS für all-inkl einrichten

Posted: März 13th, 2014 | Filed under: Internet, Software, Tutorials | Tags: , , , , , , | 4 Comments »

Damit mein NAS auch von außerhalb meines privaten Netzwerks erreichbar ist verwende ich DDNS Updater. Über die nativen Paketquellen eures Synology NAS ist DDNS Update leider nicht verfügbar. Ihr müsst die Folgende erst hinzufügen:

Nachdem Ihr DDNS Update erfolgreich installiert habt, erstellt Ihr über den Button Hinzufügen einen neuen DDNS-Eintrag. Zuerst habe ich es logischerweise mit dem Anbieter all-inkl probiert dies hat komischerweise jedoch nicht funktioniert. Nach kurzer Internetrecherche bin ich dann auf folgende Lösung gestoßen:

image

Mit Hilfe des ***Custom Provider*** und einem abschließenden Schrägstrich an der Server-URL war der DynDNS-Aufruf schließlich erfolgreich. Als Protokoll müsst ihr dyndns2 verwenden.


PuTTY: Session automatisch laden

Posted: Januar 29th, 2014 | Filed under: Betriebsysteme, Software, Tutorials, Windows, Windows 7, Windows 8 | Tags: , , , , | 3 Comments »

image

PuTTY ist der wohl beliebteste SSH-Client unter Windows. Trotz der manchmal eigenwilligen Bedienung, bin ich selbst ein großer Fan des Klienten. Ich nutze PuTTY um mich beispielsweise mit meinem NAS oder mit dem SSH-Server meiner Hochschule zu verbinden. Um mich unter Windows noch effizienter und schneller zu verbinden gibt es einen Trick mit dem ihr via Desktop-Verknüpfung direkt eine vordefinierte Session aufbaut.

 

Hier im Beispiel möchte ich nun die vordefinierte Session mit dem Namen “synology” per Doppelklick auf eine Verknüpfung aufbauen.

image

image

Zuerst müsst ihr eine einfache PuTTY-Verknüpfung erstellen; Rechtsklick auf das Icon, und unter dem Formular-Feld “Ziel” folgenden Parameter anhängen:

“C:\Programme\putty.exe” -load “session-name”

image

Jetzt noch mit Buttonklick auf “OK” speichern und gut ist… Nun könnt ihr einfach per Doppelklick auf die jeweilige Desktop-Verknüpfung sofort eure gewünschte Session öffnen ohne sich durch die GUI von PuTTY zu klicken.


Java: JSON als Konfigurationsdatei / properties.ini Alternative

Posted: Januar 18th, 2014 | Filed under: Java, Programmieren, Software, Tutorials | Tags: , , , , , , | No Comments »

imageIn meiner langjährigen Programmiererfahrung hatte ich schon öfters die Ehre mit sogenannten .ini- bzw. Property-Dateien zu arbeiten. Ich muss sagen, wirklich zufrieden war ich damit nie. Oft gab es Probleme mit der Identifikation von boolean Werten. Auch das behandeln von Listen in der jeweiligen Property-Datei war stets ein Sonderfall und handelte mir manchmal Schwierigkeiten ein. Ich glaube nicht mal das meine Abneigung an den prinzipiellen Aufbau und Grundgedanken einer .ini-Dateie gerichtet ist, vielmehr stören mich die mangelhaften Implementierungen der jeweiligen Programmiersprachen.

In folgendem Artikel möchte ich euch meine Implementierung einer Konfigurationsdatei auf Basis von JSON vorstellen. Diese verwendet die Bibliothek GSON und wird für folgende Implementierung benötigt. Wie ihr die Bibliothek in euer Projekt einbinden könnt erfahrt ihr hier nachlasen.

Die Klasse Config.java verwendet den Singleton-Mechanismus. Vorteil: Ihr müsst die Konfigurationsdatei nur einmal laden und erhält im Anschluss darauf Zugriff auf die jeweiligen Attribute innerhalb jeder anderen Klasse in eurer Applikation.

Config.java

package de.roth.json.config;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class Config {

    // Hier schreibst du deine Attribute hin
    public String TITLE;
    public int WIDTH;
    public int HEIGHT;
    public double RATIO;
    public ArrayList<String> NAMES;

    public Config() {
        // Hier die Standardwerte der Attribute, falls diese
        // nicht in der Konfigurationsdatei
vorhanden sind. 
          
this.TITLE = "Titel der Anwendung";
        this.WIDTH = 800;
        this.HEIGHT = 600;
        this.RATIO = 0.6;
        this.NAMES = new ArrayList<String>();
        this.NAMES.add("Peter");
        this.NAMES.add("Paul");
    }

    // DON'T TOUCH THE FOLLOWING CODE
    private static Config instance;

    public static Config getInstance() {
        if (instance == null) {
            instance = fromDefaults();
        }
        return instance;
    }

    public static void load(File file) {
        instance = fromFile(file);

        // no config file found
        if (instance == null) {
            instance = fromDefaults();
        }
    }

    public static void load(String file) {
        load(new File(file));
    }

    private static Config fromDefaults() {
        Config config = new Config();
        return config;
    }

    public void toFile(String file) {
        toFile(new File(file));
    }

    public void toFile(File file) {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String jsonConfig = gson.toJson(this);
        FileWriter writer;
        try {
            writer = new FileWriter(file);
            writer.write(jsonConfig);
            writer.flush();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static Config fromFile(File configFile) {
        try {
            Gson gson = new GsonBuilder().setPrettyPrinting().create();
            BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(configFile)));
            return gson.fromJson(reader, Config.class);
        } catch (FileNotFoundException e) {
            return null;
        }
    }

    @Override
    public String toString() {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        return gson.toJson(this);
    }
}

Die Verwendung dieser Klasse ist sehr einfach. Schaut selbst:

Test.java

package de.roth.json.config;

public class Test {

    public static void main(String[] args) {
        // Konfigurationsdatei laden, falls vorhanden.
        // Ansonsten werden die Werte im Konstruktor verwendet
        Config.load("config.json");

        // Zugriff auf Attribut
        Config.getInstance().TITLE = "Neuer Titel";
        Config.getInstance().RATIO = 0.4;
        for (String s : Config.getInstance().NAMES) {
            System.out.println(s);
        }

        // Speichern der Konfigurationsdatei
        Config.getInstance().toFile("config.json");
    }
}

Da in unserem Beispiel noch keine Konfigurationsdatei vorhanden war ergibt sich nach dem ändern und sichern der Konfiguration folgende JSON-Datei.

{
  "TITLE": "Neuer Titel",
  "WIDTH": 800,
  "HEIGHT": 600,
  "RATIO": 0.4,
  "NAMES": [
    "Peter",
    "Paul"
  ]
}

Mit Hilfe dieser Implementierung und GSON ist es natürlich auch möglich vollständige Objekte als Konfigurationsattribut abzulegen. GSON löst automatisch jedes Objekt in primitive Datenstrukturen auf und speichert es im Anschluss darauf als JSON-Objekt in der Konfigurationsdatei ab.

GitHub

Den Quellcode zu dem Projekt könnt ihr euch auch auf GitHub ansehen:

https://github.com/frankred/json-config-file

Download

Das ganze Beispiel könnt ihr euch zusätzlich hier als vollständiges Eclipse-Projekt herunterladen.


Pages: 1 2 3 4 5 6 7 8 ... 12 13 14 Nächste Seite