Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Der Code-Schnippsel-Thread
PacMani
Unregistered

 
Beitrag #201
RE: Der Code-Schnippsel-Thread
Grässlich redundanter Code^^

Am schönsten wär's sowas in ein eigenes Dateiformat zu packen ;)
22.09.2012 18:08
Diese Nachricht in einer Antwort zitieren
SnGtKs Offline
DEXTER

Beiträge: 1.616
Registriert seit: Jul 2008
Beitrag #202
RE: Der Code-Schnippsel-Thread
So fürs Arduino hab ich gerade bissel gebastelt...
Man nehme ... ne alte GPS Maus, in meinem Fall die RGM-2000, die TTL kommuniziert ... bissel schaltdraht und ein wenig Code

Zur verdrahtung ...

Pin 2 RX von GPS Maus
Pin 3 TX zur GPS Maus
5 V zur GPS Maus
GND zur GPS Maus

und nun der Code

Code:
#include <SoftwareSerial.h>
SoftwareSerial GPS = SoftwareSerial (2,3); // PIN 2 RX, PIN 3 TX
void setup()
{
  GPS.begin(4800); // Mit 4800 Baud kommt es von der GPS Maus
  Serial.begin(9600); // Zum PC geht es mit 9600 Baud
}
void loop()
{
  if (GPS.available() > 0) {Serial.write(GPS.read());} // Egal was kommt bringe es auf die Serial Konsole
}

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Früh aufstehen ist der erste Schritt in die falsche Richtung.

Uri Geller verbiegt Löffel. Na und, Maggi macht Knoten rein!

Ich bin im WH Forum seit dem 11.05.2003 ... wow
23.09.2012 14:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.217
Registriert seit: Jul 2008
Beitrag #203
RE: Der Code-Schnippsel-Thread
Hatte ich vor der letzten Bücherverbrennung im WHF zu einem Coding-Wettbewerb schon mal in Python geschrieben: Zu einem Array eine bestimmte Permutation aus der nach Indizes sortierten Reihenfolge der Permutationen (für [a,s,d,f] wäre das z. B. 0 => [a,s,d,f], 1 => [a,s,f,d], 2 => [a,d,s,f], …, 23 => [f,d,s,a]) zurückgeben.

Code:
import java.util.ArrayList;
import java.util.Arrays;

public static <T> T[] permute(T[] arr, long permutation) {
    if (arr == null) {
        return null;
    } else if (permutation < 0L || permutation >= factorial(arr.length)) {
        throw new IllegalArgumentException();
    } else {
        // in der Größe unverändliche List-View auf das Array in eine Collection kopieren
        ArrayList<T> pickList = new ArrayList<T>(Arrays.asList(arr));
        // mit Java 7 wäre das nicht passiert
        @SuppressWarnings("unchecked")
        T[] resultArray = (T[]) new Object[arr.length];
        int i = 0;
        while (pickList.size() > 0) {
            long quotient = permutation / factorial(pickList.size() - 1);
            resultArray[i++] = pickList.remove((int) quotient);
            permutation = permutation % factorial(pickList.size());
        }
        return resultArray;
    }
}

public static long factorial(int n) {
    // in einen vorzeichenbehafteten 64-Bit-Integer passen alle Fakultäten
    // bis 20! hinein
    if (n < 0 || n > 20) {
        throw new IllegalArgumentException();
    } else if (n < 2) {
        return 1L;
    } else { // 2 <= n <= 20
        long f = 1L;
        for (int i = 2; i <= n; ++i) {
            f *= i;
        }
        return f;
    }
}

Erinnerst du dich an #whfclassics? Es ist zurück! In Pog-Form.
(Dieser Beitrag wurde zuletzt bearbeitet: 25.09.2012 16:35 von DosAmp.)
25.09.2012 16:30
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Chrisse Offline
Generischer Benutzertitel

Beiträge: 2.936
Registriert seit: Jul 2008
Beitrag #204
RE: Der Code-Schnippsel-Thread
Wo ich da grad den ArrayList-Import sehe: Eine Hüllklasse für ArrayList, die selbige um das Observer-Pattern erweitert. An Methoden ist nur das vorhanden was ich gebraucht habe, lässt sich aber leicht erweitern.
Code:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Observable;

public class ObservableArrayList<t> extends Observable
{
    ArrayList<t> theList = new ArrayList<t>();
    
    public int size()
    {
        return theList.size();
    }
    public Iterator<t> iterator()
    {
        return theList.iterator();
    }
    public void add(t anElement)
    {
        theList.add(anElement);
        setChanged();
        notifyObservers();
    }
    public t get(int i)
    {
        return theList.get(i);
    }
    public boolean remove(t anElement)
    {
        if(theList.remove(anElement))
        {
            setChanged();
            notifyObservers();
            return true;
        }
        else
        {
            return false;
        }
    }
}

„Zitate von sich selbst in der Signatur sind doof.“ Chrisse, 2009
„Hmm... mal was aus 2010 reinnehmen“ Chrisse, 2010
„Ach, wie die Zeit vergeht...“ Chrisse, 2011
„Bin immernoch dagegen“ Chrisse, 2012
„Jetzt auch mit 2013“ Chrisse, 2013
„2021 ich komme“ Chrisse, 2014
„Ab jetzt wieder länger“ Chrisse, 2015
„Gut Ding will Weile haben“ Chrisse, 2016
„Meine Signatur: Öfter geupdated als mein Windows“ Chrisse, 2017
„Klicken sie weiter, hier gibt es nichts zu lesen“ Chrisse, 2018
„Dieser Post kann Spuren von Sarkasmus enthalten“ Chrisse, 2019
„Reinstate Chiaki“ Chrisse, 2020
„2021 ist eine Coverstory der Moderation und nie passiert!“, Chrisse, 2022
25.09.2012 16:37
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
PacMani
Unregistered

 
Beitrag #205
RE: Der Code-Schnippsel-Thread
Wie schön das .NET eine BindingList vorimplementiert.
26.09.2012 12:15
Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #206
RE: Der Code-Schnippsel-Thread
Keine Ahnung, ob ichs schonmal gepostet habe. Nachgucken, wer alles per SCP/SSHFS Dateien mit dem Server tauscht (ja ich weiß, das is teine sehr dreckige Lösung, aber sie funktioniert):
Code:
#!/bin/bash
leute=$(ps aux | grep notty | grep -v grep | cut -d : -f 4 | cut -d @ -f 1)
echo "$(echo $leute | wc -w) Leute sind per SCP aktiv."
echo ""
echo "Im Einzelnen sind das: $(echo $leute | sed 's/ /, /')"
29.09.2012 12:51
Diese Nachricht in einer Antwort zitieren
Chrisse Offline
Generischer Benutzertitel

Beiträge: 2.936
Registriert seit: Jul 2008
Beitrag #207
RE: Der Code-Schnippsel-Thread
C: Da errno.h angepasste Fehlermeldungen nur sehr stiefmütterlich behandelt (geht das überhaupt?)

Aufgerufene Methoden erzeugen mit void newError(char*); einen neuen Fehler (dies setzt ein Fehler flag) und fügen bei bedarf mit void appendError(char*); weitere Strings an.
Aufrufende Methoden prüfen mit bool checkError(void); das Fehler flag (es wird dann zurück gesetzt) und holen sich ggf. mit char *getError(void); den neuen Fehlerstring (dies können sie beliebig oft tun).

errorReporting.h


errorReporting.c


„Zitate von sich selbst in der Signatur sind doof.“ Chrisse, 2009
„Hmm... mal was aus 2010 reinnehmen“ Chrisse, 2010
„Ach, wie die Zeit vergeht...“ Chrisse, 2011
„Bin immernoch dagegen“ Chrisse, 2012
„Jetzt auch mit 2013“ Chrisse, 2013
„2021 ich komme“ Chrisse, 2014
„Ab jetzt wieder länger“ Chrisse, 2015
„Gut Ding will Weile haben“ Chrisse, 2016
„Meine Signatur: Öfter geupdated als mein Windows“ Chrisse, 2017
„Klicken sie weiter, hier gibt es nichts zu lesen“ Chrisse, 2018
„Dieser Post kann Spuren von Sarkasmus enthalten“ Chrisse, 2019
„Reinstate Chiaki“ Chrisse, 2020
„2021 ist eine Coverstory der Moderation und nie passiert!“, Chrisse, 2022
03.10.2012 14:20
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
tk1908 Offline
Unixer

Beiträge: 7.343
Registriert seit: Apr 2009
Beitrag #208
RE: Der Code-Schnippsel-Thread
̔
Code:
#!/bin/sh
DATE=`date +"%m-%Y"`
NAME="Backup"
LOG=/home/tobias/Backup.log
LOGDATE=`date +"%d-%m-%Y"`
FULLNAME="$NAME-$DATE"
EXIT=$?
if [ -e /home/tobias/$FULLNAME ]; then
cp -ruv /home/tobias/Dokumente* /home/tobias/$FULLNAME |tee >>$LOG
echo Backup vom $LOGDATE >>$LOG
echo ------------------------------------------------------------------------ >>$LOG
else
echo Backup vom $LOGDATE >>$LOG
mkdir /home/tobias/$FULLNAME
cp -ruv /home/tobias/Dokumente* /home/tobias/$FULLNAME |tee >>$LOG
echo ------------------------------------------------------------------------ >>$LOG
fi

if [ $EXIT -eq "0" ]; then
mailx -s "Backup erfolgreich" tobias@localhost </home/tobias/Backup.log
else
mailx -s "Backup fehlgeschlagen" tobias@localhost </home/tobias/Backup.log
fi

Mal auf die Schnelle zusammen gebastelt.

[Bild: Rz3JNLI.gif]
Meine Beiträge stehen unter der MIT-Lizenz:D

(09.04.2016 13:26)tk1908 schrieb:  externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.
(Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2012 09:59 von tk1908.)
12.10.2012 09:58
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #209
RE: Der Code-Schnippsel-Thread
Schönes Script b1

Als Bonus könntest du noch ${HOME} statt /home/tobias nehmen und die Mail dann an $(whoami)@$(hostname) versenden. Dann könnte man es noch als Cronjob unter den Rechten der jeweiligen Benutzer laufen lassen, für die regelmäßig gebackupped werden soll und schon hat man vollautomatisches Backup.
12.10.2012 10:13
Diese Nachricht in einer Antwort zitieren
tk1908 Offline
Unixer

Beiträge: 7.343
Registriert seit: Apr 2009
Beitrag #210
RE: Der Code-Schnippsel-Thread
(12.10.2012 10:13)mrshadowtux schrieb:  Schönes Script b1

Als Bonus könntest du noch ${HOME} statt /home/tobias nehmen und die Mail dann an $(whoami)@$(hostname) versenden. Dann könnte man es noch als Cronjob unter den Rechten der jeweiligen Benutzer laufen lassen, für die regelmäßig gebackupped werden soll und schon hat man vollautomatisches Backup.

Gute Idee. Danke b1

Bin aber am überlegen, ob ich das cp net auf n rsync ändere.

[Bild: Rz3JNLI.gif]
Meine Beiträge stehen unter der MIT-Lizenz:D

(09.04.2016 13:26)tk1908 schrieb:  externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.
12.10.2012 10:14
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste