Kategorien
PHP PHP 7

PHP 7 – die neuen Funktionen im Überblick – Teil 2

Expectations

Mit Expactations lassen sich Stellen im Code markieren, die eigentlich nicht erreicht werden sollen, aber falls doch, eine Nachricht in der Produktionsumgebung hinterlassen könnnen, um anderen Programmierern beim Debuggen und verstehen des Codes zu helfen. Der Parameter expression wird ausgewertet und bei einem false-Wert wird eine AssertionException geworfen.

Definition:

void assert (mixed $expression [, mixed $message]);

Die php.ini Konfigurationsvariable zend.assertions kann 3 Wert annehmen

Kategorien
PHP PHP 7

PHP 7 – die neuen Funktionen im Überblick – Teil 1

PHP 7 ist in aller Munde und kommt mit einer Reihe syntaktischer Verbesserungen und neuen Features herbei. In Zukunft sind PHP-Applikationen nicht nur schneller, sondern nähern sich dem Java-Syntax weiter an. Endlich kann man festlegen, welche Datentypen in Funktionen herein und welche wieder heraus kommen sollen (Parameter Type Declarations und Return Type Declarations), wodurch die Wartbarkeit des Codes verbessert werden kann.

Parameter Type Declarations und Return Type Declarations

In PHP >=5.3. war es schon früher möglich Funktionsparametern, einer Input Variablen einen Objekttyp zuzuweisen, den die Funktion erwartet hat, um anderen Programmierern die Verwendung der Funktion zu erleichtern/zu dokumentieren und eine Exception zu generieren, wenn ein Objekt eines anderen Typs verwendet wird:

Kategorien
Docker PHP PHP 7 Symfony

Docker PHP7 und Symfony3 Image mit MySQL und phpMyAdmin

Für die lokale Entwicklung mit Symfony3 und PHP7 habe ich mir das folgende Docker Image zusammengebaut, welches die folgenden Features beinhaltet:

Kategorien
Server Administration

SSH Keys für SFTP erstellen Mac

Mit diesem Konsolenbefehl lässt sich der private und der public key (.pub) auf dem Mac generieren:

ssh -keygen -t rsa -C "foo@bar.de"
Kategorien
Diverses

Apple Mail Fehler: Account existiert bereits

Ich habe bei der Einrichtung meiner E-Mail Adressen mit Apple Mail das Problem, dass ich einen Account nicht hinzufügen konnte, weil immer die Fehlermeldung kam, dass der Account bereits existieren sollte (obwohl er das natürlich nicht tat).

Das Problem

Mein iCloud Account war auf dieselbe E-Mail Adresse angelegt wie meine „bereits existierende“ E-Mail Adresse: blabla@hotmail.com.

Die Lösung

Ich hab in Apple Mail zu dem iCloud Account eine E-Mail Adresse hinzugefügt egal_was@icloud.com, somit gab es keine doppelten E-Mail Adressen mehr und ich konnte meine blabla@hotmail.com Adresse benutzen, ohne die Fehlermeldung bei der Einrichtung zu bekommen.

Anleitung für Apple Mail

  • Mail (oben rechts) -> Accounts
  • iCloud Account links auswählen
  • auf Mail klicken im rechten Feld
  • sich eine @icloud.com Adresse aussuchen und bestätigen
  • fertig

Danach kann das Email Postfach ohne  die hinderliche Fehlermeldung hinzugefügt werden.

Kategorien
Hardware

Canon Drucker B200 Fehler

Mein Canon Drucker hat sich verabschiedet heute mit der Fehlermeldung:

B200 Druckerfehler ist aufgetreten. Ziehen Sie den Netzstecker und wenden Sie sich an das Service-Center.

Ich besitze einen MP540, aber dasselbe gilt auch für alle anderen Druckermodelle.

Quickfix von User Gerd (vielen Dank)

Dieser Tipp kommt von Gerd aus den kommentaren zu meinem Post, ich empfehle vor dem Neukauf oder dem Austausch des Druckkopfes diesen Trick einfach auszuprobieren, weil er zum Erfolg geführt hat bei vielen Usern:

  1. Drucker vom Strom trennen
  2. Patronen raus
  3. Dunkelgrauen Rahmen hochklappen
  4. Druckkopf entnehmen
  5. Druckkopf unter lauwarmen Wasser oder am besten Teslanol (siehe unten) gut abspülen
  6. Druckkopf mit weichem, saugfähigem Papier abtupfen
  7. Druckkopf mit Luft abblasen
  8. Druckkopf 1/2 Std. trocken lassen
  9. Druckkopf einbauen
  10. Dunkelgrauen Rahmen runterklappen
  11. Patronen rein
  12. Strom wieder anschließen
  13. Drucker starten
  14. B200 Fehler ist hoffentlich behoben, Drucker läuft

Am besten sollte der Druckkopf mit einer Reinigungsflüssigkeit gereinigt werden, diese kostet unter 10€ (Teslanol):

Tipp2 von User VW

  1. Canon Drucker vom Strom nehmen
  2. Strom wieder anschließen
  3. Drucker starten
  4. wieder B200 Fehler, Drucker läuft micht
  5. Abdeckung öffnen,
  6. DruckJob mit Selbstreinigung starten
  7. Druck reinigt
  8. Während der Reinigung, die Abdeckung schliessen
  9. B200 ist weg

Falls dieser Weg zum Erfolg führt, würde ich mich über Feedback freuen, sonst nehme ich ihn wieder von der Webseite.

Hardware Reset bei B200 Fehler

Die Ursache für die B200 Fehlermeldung

Die Ursache kann der Druckkopf des Druckers sein, der überhitzt worden ist aufgrund der günstigen Nachfüllpatronen, die ich benutzt habe um Geld zu sparen. Dadurch ist Folgendes passiert im Drucker: Der Druckkopf hat sich mit Tinte gefüllt und die Heizelemente  im Druckkopf haben die Tinte dort eingebrannt aufgrund der Verstopfung.

Wenn ihr Drucker streifige Ausdrücke produziert hat, dann ist dies ein Zeichen für einen kaputten Druckkopf.

Kategorien
VBA Excel

Der Excel Markos Speed Up Guide

Wenn Excel Makros langsam laufen, weil sie immer komplexeren Anforderungen genügen müssen, kann man folgende Tricks anwenden, um eine schnellere Laufzeit zu ermöglichen:

VBA Tipps

Einfaches Caching einbauen

siehe Beitrag VBA Excel Key-Value Store Cache mit Dictionary

Einfaches Profiling um Engpässe in der Applikation zu finden

Die Laufzeit bestimmter Berechnungen lässt sich bestimmen, indem man in den VBA Code an passender Stelle Zeitmessungen platziert und auf der Debug Console ausgeben lässt. Damit kann analysiert werden, welche Teile der Applikation sich langsam verhalten.

 Events deaktivieren währen der Scriptlaufzeit

Damit keine Events geworfen werden wie z.B.:

Private Sub Worksheet_Change(ByVal Target As Range)

kann man das Eventwerfen verhindern und so unnötige Excel-Events verhindern:

Application.EnableEvents = False
...
'your macro
...
Application.EnableEvents = True

Kategorien
Docker

Docker 1.9: error validating certificates

Fehlermeldung:

Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout You can attempt to regenerate them using 'docker-machine regenerate-certs name'. Be advised that this will trigger a Docker daemon restart which will stop running containers.

Bei der Fehlermledung, die TLS Zertifikate neu regenerieren zu lassen, hat bei mir ncht geholfen, wie empfohlen von anderen, Virtual Box zu updaten auf die aktuelle Version, sondern nur, das default -Image, welches Docker selbst erzegt mit den Zertifikaten zusammen neu generieren zu lassen.

  1. Dafür öffnet man Virtual Box und stopt die laufenden virtuellen Maschine (default) per schließen -> ausschalten
  2. Dann löscht man das Image in Virtual Box.
  3. Anschließend lässt man das Image neu generieren mit Docker über das Ausführen des Docker Terminals

 

 

Kategorien
Diverses

Erfahrungsbericht internetactve GmbH Offenbach

Mit der internetactve GmbH habe ich entstützt in der Programmierung einer Webanwendung zum Tausch von Bitcins in andere Währungen. Dabei erbeitet ich mit dem Geschäftsführer, Jens Leinert, zusammen. Die Zusammenabreit klappt sehr gut, bis er sich eines Tages nicht mehr bei mir meldete und die Webseite später offline genommen wurde.

Das komische daran, war, dass ich noch mehrere Tage weiter gearbeitet habe, bevor mit ein anderer Kunde der internetactve GmbH mir empfohlen hat, die Arbeit einzustellen, weil sich Herr Lienert auch bei Ihm nicht mehr melden sollte und er eine Mail bekommen hatte, die Server und den Betrieb des Portals einzustellen, weil die Firma aus der Schweiz behauptet, nichts von dem offensichtlich kopierten Produkt zu wissen.

Seit dem ist Herr Leinert untergtaucht und veruscht sich um die Bezahlung der Kosten zu drücken, weswegen ich diesen Artikel geschrieben habe.

Falls eine volle Bezahlung stattfinden wird, werde ich diesen Artkel wieder löschen, bis dahin warne ich offen vor Geschäften mit der internetactve GmbH.

Kategorien
MySQL Server Administration

Importieren und Exportieren alle MySQL Datenbanken unter Windows und Mac

Unter Windows kann man mit einem Befehl sehr leicht alle Daten exportieren in MySQL mit mysqldump:

cd C:\xampp\mysql\bin
mysqldump.exe -u root -p --opt --all-databases --verbose > C:\export.sql

 

Erläuterung:

 –opt:  Export alle DBs, ohne „system“ databases wie mysql, information_schema, performance_schema und test

 –verbose: um log Meldungen anzuzeigen auf dem Bildschirm, es sind nicht viele, so dass die Performance nicht beeinflusst wird großartig