hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

Vergleich: Bücher verkaufen bei Momox und Rebuy

Ich habe heute alles ausgemistet und meine seit Jahren nicht mehr angefassten programmierbücher versucht zu verkaufen bei momox.de und rebuy.de.

Dazu habe ich mir die App des jeweiligen Anbieters heruntergeladen und meine Bücher eingescannt. Man erhält sofort einen Preis und kann entscheiden, ob man das Buch/CD/DVD verkaufen will. Wenn man mindestens 10€ zusammen hat, kann man den Verkauf abschließen und bekommt kostenlos einen Packetgutschein für Post oder DHL und schickt dann sein Packet an den Anbieter. Der schaut sich die Artikel an und den Zustand und überweist dann das Geld.

Vorteil von momox

Die App ist besser, der Barcodescanner genauer zu händeln und übersichtlicher/intuitiver zu bedienen.

Über die App kann man auch DHL Versand auswählen (rebuy hat zwar auch DHL im Angebot, aber die App bietet nur Hermes an).

Man erhält 5€ mit dem Rabatcoupon (bei mir war es momox16 oder bald momox17, mal schauen).

Momox nervt einen auch weniger mit Marketing für den Verkauf von ihren Artikeln.

Vorteile von rebuy

Man muss weniger Daten eintippen auf der App, ich musste allerdings nicht mal initial meine Bankdaten eingeben, was ich komisch finde, aber mal sehen.

Zwischenstand

Jetzt gerade sind beide Pakete auf dem Weg mit der DHL zu den Anbietern, ich hoffe es verläuft alles reibungslos.

Ich fand es ganz interessant, bei beiden zu verkaufen, weil der eine oft mehr zahlt als der andere, man kann so gut die Preise vergleichen und sich den besten raussuchen.

Ergebnis

Wir werden sehen….

 

 

hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

MySQL Monitoriong der ProcessList / Queries mit einem Konsolen Befehl

Ein hilreicher Befehl für die problem-Analyse von MySQL Servern ist sich die ProcessList anzuschauen, um zu sehen, welche Quueries aktuell ausgeführt werden. Wenn man dies kombiniert mit dem watch Befehl und diesen 1 mal pro Sekunde neuladen lässt und auf die Queries reduziert, hat man eine guter Übersicht, was auf dem MySQL Server los ist und welche Queries problematisch seien könnten:

watch -n 1 "mysql -u root --password='XXX' -h localhost -s -e 'SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE Command=\"Query\";'"

Wichtig ist, den Befehl als root laufen zu lassen, um auch alle Queries zu sehen.

Mit Hilfe des Parameter -n kann man die Aktualisierungrate in Sekunden angeben.

Das MySQL root-Passwort ist zu ergänzen.

 

Ausgabe:

5361925476      user     localhost       NULL    Query   0       executing       SELECT * FROM xxx WHERE yyy

5361925477      user     localhost       NULL    Query   0       executing       UPDATE zzz WHERE zzz
hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

WordPress Posts mit Links autoamtisch als Spam markieren

Damit man von dn ganzen Spam Bots nicht genervt wird, deren Zie es immer ist einen Kommentar mit einem oder mehreren Links auf ener Webseite zu platzieren, habe ich ein kurzes Skript geschrieben, was in die function.php eingefügt werden muss. Das Skript markiert alle Kommentare als Spam, die einen Link enthalten.

add_action( 'comment_post', 'show_message_function', 10, 2 );
function show_message_function( $comment_ID, $comment_approved ) {
   $comment = get_comment( $comment_ID);
   if(!empty($comment)){
      $content = $comment->comment_content;
      if(!empty($content)){
         $content = strtolower($content);
         $hasLink = strpos($content, 'http') !== false || strpos($content, 'www.') !== false || strpos($content, 'href') !== false;
         if($hasLink){
            //when has link, set to spam
            $commentarr = array();
            $commentarr['comment_ID'] = $comment_ID;
            $commentarr['comment_approved'] = 'spam';
            wp_update_comment( $commentarr );
         }
      }

   }

}
hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...
hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

Untersuchung des Traffics zwischen lokaler Rechner und Server am Beispiel von XDebug

Wenn man untersuchen will, was an der Kommunikation vom lokalen Rechner und Server bei XDebug nicht funktioniert, kann man sich den Traffic anschauen auf dem Port 9000, der am Server ankommt:

watch -n 1 "netstat | grep 9000"

//Ausgabe
Every 1.0s: netstat | grep 9000                                                                                          Tue Feb  7 16:01:50 2017

tcp        0      0 name:58572        host.server:9000 ESTABLISHED

und am lokalen PC kann man den Traffic beobachtet:

C:\>netstat  1 | find /i "9000"

//Ausgabe
  TCP    172.17.20.65:9000      server:58440    HERGESTELLT
  TCP    172.17.20.65:9000      server:58440    HERGESTELLT

Wenn Xdebug bis zum lokalen System kommt, erhält man eine Ausgabe wie oben sichtbar (Windows).

hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...
hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...
hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

Redis Performance Probleme messen und analysieren

Um Latenz Probleme bei Redis zu analysieren, kann man das eingebaute Latency Tool von redis-cli benutzen, mit dem um 100 Requests pro Sekunde auf den Redis gepingt werden und man die Antwortszeit analysieren kann.

Konsolen Bsp:

Im Intervall von i=10 Sekunden auf localhost getestet

redis-cli --latency-history -i 10 -h 127.0.0.1 -p 6379

Output:

min: 0, max: 10, avg: 0.89 (906 samples) -- 10.01 seconds range
min: 0, max: 32, avg: 1.44 (862 samples) -- 10.00 seconds range
min: 0, max: 6, avg: 0.50 (939 samples) -- 10.00 seconds range
min: 0, max: 7, avg: 0.47 (941 samples) -- 10.01 seconds range
min: 0, max: 12, avg: 0.47 (942 samples) -- 10.00 seconds range
min: 0, max: 137, avg: 2.70 (779 samples) -- 10.01 seconds range
min: 0, max: 119, avg: 5.92 (626 samples) -- 10.06 seconds range
min: 0, max: 2389, avg: 7.31 (572 samples) -- 10.00 seconds range
min: 0, max: 14, avg: 0.64 (926 samples) -- 10.00 seconds range
min: 0, max: 9, avg: 0.50 (938 samples) -- 10.01 seconds range
min: 0, max: 16, avg: 0.47 (941 samples) -- 10.01 seconds range
min: 0, max: 21, avg: 0.56 (933 samples) -- 10.01 seconds range
min: 0, max: 23, avg: 0.56 (933 samples) -- 10.01 seconds range
min: 0, max: 150, avg: 1.95 (827 samples) -- 10.01 seconds range
min: 0, max: 131, avg: 4.22 (696 samples) -- 10.01 seconds range
min: 0, max: 131, avg: 7.06 (581 samples) -- 10.01 seconds range
min: 0, max: 4136, avg: 10.33 (488 samples) -- 10.01 seconds range
min: 0, max: 17, avg: 1.15 (886 samples) -- 10.02 seconds range
min: 0, max: 18, avg: 0.88 (906 samples) -- 10.01 seconds range
min: 0, max: 11, avg: 0.61 (928 samples) -- 10.00 seconds range
min: 0, max: 12, avg: 0.55 (936 samples) -- 10.01 seconds range
min: 0, max: 9, avg: 0.51 (937 samples) -- 10.01 seconds range

Hier kann man gut sehen, dass die Probleme mit einem Abstand von 60 Sekunden  auftreten. Dies lag in dem Fall daran, dass Redis alle 60s sich selber auf die Festplatte persistiert hat. Die entsprechende Option in den redis.conf lautete:

save 60 1000

und mit der Option

save ""

kann das persistieren auf der Festplatte ausgeschaltet werden.

 

Aber auch die Option

appendonly yes

musste auf “no” gesetzt werden, weil es dadurch auch auf zu viele Schreibzugriffe kam.

hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

Bitcoins senden testen im TestNet

Um die Zahlung mit Bitcoins zu testen ohne zahlungspflichtige Transaktionen auszulösen, muss man sich einen Wallet besorgen, bei dem man auch Test-Bitcoins (TestNet Bitcoins) senden kan:

https://copay.io/

Dort kann man sich ein Wallet einrichten in der Testwährung und erhält dann eine Bitcoin-Adresse aus dem TestNet, die alle mit “m”, z.B. mqfc7CVvhSD2eGVwkHS8s8Wc1FyZz8Z8xD

Auf dieses Konto kann man sich dann Bitcoins aufladen lassen auf der Webseite:

http://tpfaucet.appspot.com/

Danach kann man testen Zhalungen zu empfangen und zu senden und das Ergebnis auf der TestNet Blockchain verfolgen:

http://tbtc.blockr.io/

hard mistakes - please write a commentsome mistakesokgoodvery good
Loading ... Loading ...

PHP PDO Connection Timeout für Datenbank setzen und bestimmen

Normalerweise soll man das Datenbank Connection Timeout in PHP auslesen können mittels:

$pdo = new PDO('mysql:host=localhost;port=80;dbname=xxx', 'xxx', 'xxxx');
$pdo->getAttribute(PDO::ATTR_TIMEOUT);

Allerdings gibt das bei meiner alten PDO Version die Fehlermeldung:

SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute

Also habe ich ein Testscript geschrieben, mit dem man das Timeout provozieren kann (das Messen der Zeit ist nicht enthalten, wäre nett, wenn jemand das posten könnte):

$pdo = new PDO('mysql:host=localhost;port=80;dbname=xxx', 'xxx', 'xxxx');

Damit wird das Timeout ausgelöst.

Um das Timeout zu verlängern, kann man den Parameter PDO::ATTR_TIMEOUT setzen:

$pdo = new PDO('mysql:host=localhost;port=80;dbname=xxx', 'xxx', 'xxxx', array(
   PDO::ATTR_TIMEOUT => 5
));