Kategorien
CodeIgniter Framework

PHPUnit mit Codeigniter 3 installieren

Um PHPUnit mit Codeigniter 3 zu verwenden benötigt man die Erweiterung ci-phpunit-test die mindestens PHP Version 5.4 voraussetzt.

Die neuste Version von PHPunit benötigt PHP 5.6, es sollte also eine möglichst aktuelle PHP Version installiert sein.

Als kann PHPUnit installiert werden.

Dann kann man den application/test Ordner aus dem downloadbaren .zip Archiv von ci-phpunit-test in das Codeigniter Projekt entpackt werden.

Kategorien
PHP

Das Soap Protokoll, XML und PHP – eine Einführung

Das Soap (Simple Object Access Protocol) ist eine Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können (Wikipedia).

Meistens werden Nachrichten im XML Format mittels eines HTTP Post-Request im Body zwischen einem Client und einem Server gesendet. Für das Nachrichtenformat wird kein Format vorgegeben, sondern nur ein Framework zur Verfügung gestellt. Verwandte System sind REST und Cobra. Alle Systeme dienen zur Entkopplung/Abstraktion und Interoperabilität von Applikationen und dienen als Middleware zwischen verschiedenen Applikationen, die unterschiedliche Programmiersprachen oder Technologien verwenden können.

Die Vorteile werden durch leicht erhöhten Rechenaufwand und erhöhtem Datenvolumen erkauft.

Der Aufbau einer XML Soap Nachricht

Kategorien
VBA Excel

VBA Excel: Mouse Pointer über eine Zelle als aktiv markieren

Leider gibt es keine Möglichkeit über VBA sich an einen Event zu registrieren, wenn der Mouse Pointer über einer Zelle ist.

Die einzige Möglichkeit dies zu umgehen, ist ein Makro auf ein Bild/Button in einer Zelle zu legen, was dann ausgeführt wird. Wenn einer Zelle ein Makro zugeordnet ist, wird der Mouse Pointer automatisch aktiv und macht den User darauf aufmerksam, dass eine aktive Klickmöglichkeit vorliegt.

Ein Makro auf eine Zelle verlinken

  1. einfügen eines durchsichttbaren .png Files oder eines sichtbaren Bildes/Buttons in die Zelle
  2. rechte Maustaste auf das eingefügt Objekt
  3. Makro zuweisen
  4. Jetzt ist die Maus aktiv, wenn man über das Bild fährt
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