PHPUG WürzburgEinladung zum August-Treffen (23.8.2016, 12:12 UTC)

Hallo alle zusammen!

Wir treffen uns am 30. August um 19 Uhr in

Mennas Time Out
Frankfurter Straße 1
97082 Würzburg

Parkplätze sind in der näheren Umgebung ausreichend vorhanden, Straßenbahn-Haltestelle: Wörthstraße.

Ich freue mich auf viele Teilnehmer und rege Diskussionen!

Viele Grüße
Jason

Link
Webdesign und TYPO3 Blog aus DuisburgMySQL Limit Anzahl Datensätze (26.7.2016, 12:06 UTC)

Gerade bei vielen Datensätzen werden diese häufig mit Limit ausgeführt, damit ein Paging eingesetzt werden kann.

MySQL Limit Anzahl Datensätze

MySQL Limit Anzahl Datensätze

Allerdings ist es auch immer eine wichtige Information für den User, wie viele Datensätzen gefunden wurden. MySQL Limit Anzahl Datensätze ausgeben benötigt allerdings die MySQL-Funktion SQL_CALC_FOUND_ROWS in Kombination mit FOUND_ROWS. Dadurch bekommt man dann die Gesamtzahl des abgefragten Queries ohne die Limit Einschränkung. So kann man sehr gut ein Paging Anwenden und den User die Gesamtzahl ausgeben. Das ist eine gute Möglichkeit performant zu bleiben, da man nicht zu viele Datensätze in das Frontend bringt und den Browser nicht zu viel Rendering aussetzt. Das wird leider auch gerne bei der Entwicklung übersehen. Gerade wenn mit APIs entwickelt wird.

MySQL Limit Anzahl Datensätze mit SQL_CALC_FOUND_ROWS und FOUND_ROWS

Hier ein konkretes Beispiel für die Abfrage

SELECT SQL_CALC_FOUND_ROWS name, email FROM users LIMIT 10;
SELECT FOUND_ROWS();

Im Grunde werden hier 2 Abfragen ausgeführt. Hier gibt es zahlreiche Beiträge im Netz, die auf eine schlechte Performance hinweisen. Natürlich ist das ganze langsamer, als nur eine Abfrage mit einem Limit. Aber dennoch ist das ganze hier schneller, als 2 komplette Abfragen durchzuführen.

Blog-Post zum Thema Paging von neunzehn83
https://neunzehn83.de/blog/2010/07/13/blattern-mit-mysql-und-sql_calc_found_rows.html

Der TYPO3 Webdesign Blog MySQL Limit Anzahl Datensätze erschien zuerst auf Webdesign und TYPO3 Blog aus Duisburg.

Link
PHPUGFFMUmzug abgeschlossen (5.7.2016, 20:52 UTC)

Im Laufe des heutigen Tages ist die Homepage der Usergroup servertechnisch umgezogen. Es gab da ein paar kleinere Schwierigkeiten in den Layer-8 Komponenten, die wir erst noch beheben mussten, aber jetzt läuft alles wieder wie geschnitten Brot!

Danke an Stephan Hochdörfer für seinen unermüdlichen Einsatz und bitExpert für die Übernahme des Hostings!

Link
PHP-TagebuchErfahrungen über die Programmierung eines Text Spinners (5.7.2016, 19:29 UTC)

Die letzten Tage habe ich mir einmal die Zeit genommen, einen rein browserbasierten Text Spinner zu bauen. Ich kann mir vorstellen, dass der eine oder andere sich dafür interessiert. Deswegen möchte ich in diesem Artikel ein paar wenig darüber sprechen.

Was ist ein Text Spinner?

Ein Text- bzw. Artikel Spinner ist ein Tool, das es ermöglicht, an Hand eines Textes mit Hilfe einer Markup Sprache wie zum Beispiel Spintax Synonyme für bestimmte Wörter festzulegen. Hat man damit abgeschlossen und genügend Synonyme definiert, generiert der Text Spinner eine Vielzahl an Texten, die sich auf Grund der unterschiedlichen Wörter augenscheinlich unterscheiden, inhaltlich aber identisch sind.

Um das zu veranschaulichen, hier ein Beispiel-Satz aus Wikipedia:

Ein Tisch ist ein Möbelstück, das sich durch eine zugängliche, meist ebene und waagerechte Fläche charakterisieren lässt, die auf einem oder mehreren Beinen ruht, und dem Zweck der Ablage von Gegenständen dient.

Diesen Satz könnte man nun über den Artikel Spinner folgendermaßen bearbeiten:

Ein Tisch ist ein {Möbelstück|Mobiliar}, {das|welches} sich {anhand einer|mithilfe einer} {zugänglichen|erreichbaren}, {meist|häufig} {ebenen|flachen} und {waagerechten|horizontalen} Fläche {charakterisieren|beschreiben} lässt, {die|welche} auf einem oder {mehreren|einigen} Beinen {ruht|steht}, {und|sowie} dem {Zweck|Nutzen} der {Ablage|Lagerung} von {Gegenständen|Sachgegenständen} dient.

An Hand dieser Formatierung kann der Artikel Spinner nun unter anderem folgenden Satz erzeugen:

Ein Tisch ist ein Mobiliar, welches sich mithilfe einer erreichbaren, häufig flachen und horizontalen Fläche beschreiben lässt, welche auf einem oder einigen Beinen steht, sowie dem Nutzen der Lagerung von Sachgegenständen dient.

Wozu dient das Umschreiben von Texten?

Es gibt diverse Gründe, warum Texte umgeschrieben werden sollten.

Dahinter können natürlich fragwürdige Absichten stehen – wie zum Beispiel das Umschreiben von Texten, um diese dann als eigene auszugeben. Hierbei gab es ja schon einige Skandale von diversen Prominenten und Politikern, die im Nachhinein ihre Doktorarbeit aberkannt bekommen haben. Aber ja, ein Text Spinner kann auch hierbei helfen.

Ein weiterer Grund, der mich auch zur Entwicklung des Spinners bewogen hat, ist das Verfassen von Texten für meine Webseiten.
Google liebt guten – und vor allem einzigartigen – Content und ein Artikel Spinner hilft dabei, Texte aus diversen Quellen schnell und einfach entsprechend anzupassen. Wer selber Artikel im Netz verfasst, weiß, dass es nicht immer einfach ist, Texte so zu schreiben, dass sie nicht als duplicate content angesehen werden können. Da ist es hilfreich, wenn man die Texte noch einmal vor der Veröffentlichung durch einen Text Spinner bearbeitet.

Auch in dem Fall ist es möglich, einen fremden Text einfach zu kopieren und entsprechend mit Synonymen zu versehen. Es gibt aber Hinweise darauf, dass Google bereits Synonyme erkennen kann und solche Texte demzufolge dann trotzdem als duplicate content wertet. Um einen gut rankenden SEO-Text zu verfassen, reicht also ein schnelles Durchjagen durch den Spinner nicht aus – eigene Recherche ist weiterhin notwendig, der Spinner hilft nur dabei.

Worauf basiert TextGen?

TextGen läuft mit PHP und Laravel 5 im Backend sowie Angular JS und Websockets im Frontend.
Laravel ist aktuell mein liebstes PHP Framework, weil es einfach viele Sachen vereinfacht, eine gute Community hat und es erlaubt, relativ einfach sauberen Code zu schreiben.

Ich setze dabei immer auf Dependency Injections, während ich bis auf in den Views auf statische Facades verzichte. Auch ActiveRecords instanziiere ich nicht wahllos im Code, sondern greife auf ein Repository zurück. Wenn also an der Datenbank hantiert wird, wird immer ein Repository verwendet. Bis auf einer Ausnahme: Beim Auslesen der Synonyme werden raw Da

Artikel gek: Lesen Sie den Rest hier (weitere 10042 Bytes)

Link
Coding – bytelude[Quicktip] Wie kann ich alle installierten Python pip Packages upgraden? (5.7.2016, 18:00 UTC)

Über einen kleinen Umweg kann man auf der Bash ganz einfach alle aktuell installierten pip Pakete updaten / upgraden:

pip freeze | sed -e 's/==.*//g' > upgrade.txt
pip install --upgrade -r upgrade.txt
rm upgrade.txt

Das Script lässt sich alle installierten Pakete ausgeben, entfernt das “==[Versionsnummer]” hinter dem Namen und packt diese Liste in die Datei upgrade.txt. Anschließend wird diese Datei bei einem “pip upgrade” als “requirements.txt” übergeben und mit dem upgrade Befehl ausgeführt.

Flattr this!

Link
Webdesign und TYPO3 Blog aus DuisburgPhpStorm Adding, Deleting und Moving Lines (3.7.2016, 12:51 UTC)

PhpStorm ist die beliebteste Webdevelopment IDE im Bereich der PHP-Entwicklung.

PhpStorm Adding, Deleting und Moving Lines

PhpStorm Adding, Deleting und Moving Lines

Der Artikel „PhpStorm Adding, Deleting und Moving Lines“ richtet sich vor allem an Entwickler, die effektiver und effizienter arbeiten möchten. In der Vielzahl von Shortcuts, Plugins und Möglichkeiten verliert sich leider oft der praktische Bezug wichtige Helferlein für die tägliche Arbeit zu finden. Hier steht natürlich auch die Bearbeitung von ganzen Linien auch im Fokus. Hier kann man mit einigen wenigen PhpStorm-Shortcuts schon sehr viel mehr Geschwindigkeit in seine Arbeit bringen und dadurch auch eine höhere Motivation bekommen.

PhpStorm Adding Lines

Da Hinzufügen – Adding von neuen Zeilen ist denkbar einfach. Man braucht hier nur die Enter-Taste zu benutzen. Dadurch alleine wird schon der Curser an die richtige Position gestellt. Das ist natürlich nichts neues und schon immer auch in anderen IDEs möglich gewesen.

PhpStorm Deleting Lines

PhpStorm Deleting Lines kann man ganz einfach mit CMD+DEL ausführen. Es ist also nicht nötig ganze Zeilen zu markieren und dann mit 2*DEL zu entfernen. Das ganze kann so auch auf ganze Blöcke ausgeführt werden. Hier ist es sinnvoll diese nicht mit der Maus, sondern mit SHIFT-Arrow zu markieren. Generell ist es immer effektiver keine Maus zu benutzen.

PhpStorm Moving Lines

Eine ausgesprochen sinnvolle Funktion ist das verschieben von Lines oder ganzen Codeblöcken. Mit CMD+Shift+Arrow kann man die Blöcke schnell hoch und runter bewegen und mit Block oder SHIFT+Block richtig einrücken. Das braucht man vor allem beim Code-Refactoring.

PhpStorm Duplicate Lines

Copy & Paste sind böse und können schnell sehr schlechten Legacy Code produzieren. Gerade bei Code-Reviews und Code-Refactoring fällt das immer wieder auf. Natürlich ist es hier viel sinnvoller mit guten Live-Templates zu arbeiten und dadurch Probleme, wie z-B. die falsche Variablen Benennung zu umschiffen. Man sollte hier immer extrem wache sein, da immer bei dem Anwendungsfall wahrscheinlich ein Refactoring direkt möglich ist. Die Tastekombination ist jedenfalls CMD+D.

Fazit PhpStorm Adding, Deleting und Moving Lines

Zeilen zu bearbeiten ist wohl genau das was Webdeveloper den ganzen Tag machen sollten. Hier kann man mit einigen wenigen Shortcuts wesentlich effektiver und auch genauer arbeiten. Vor allem das verschieben und duplizieren von Code ist ein mächtiges Werkzeug mit dem man viel in kurzer Zeit bewältigen kann. Es ist wichtig naben dem Entwicklungsprozess mit dem Ziel der Fertigstellung auch immer einen Blick im Bezug auf Clean-Code zu haben. Denn „Later equals never“.

PhpStorm Schulung für Webdeveloper

Das Team von Entwicklungshilfe NRW hat sich schon lange intensiv mit den Shortcuts auseinander gesetzt und bietet hier eine Schulung für Best-Practice an. Hier geht es zu der PHP-Schulung für PhPStorm.

Der TYPO3 Webdesign Blog PhpStorm Adding, Deleting und Moving Lines erschien zuerst auf Webdesign und TYPO3 Blog aus Duisburg.

Link
codenaschereien.deBeitrag zur persönlichen Fehlerkultur (30.6.2016, 11:14 UTC)

Worum es geht

Ist es nicht immer wieder erstaunlich? Es ereignet sich ein Fehler auf der Arbeit und niemand will’s gewesen sein. Im schlimmsten Fall steht man selbst in der unangenehmen Schusslinie. Wie geht man eigentlich korrekt mit einer solchen Situation um? Was ist ein professioneller Umgang mit Fehlern im Unternehmen? In diesem Artikel stelle ich dazu meine drei persönlichen Faktoren zur professionellen Fehlerkultur vor.

Vom Umgang mit Fehlern

Nachdem ein Fehler erkannt wurde, dauert es meist nicht lange bis die Frage nach dem Warum gestellt wird. Der Chef möchte wissen was schief gelaufen ist. In diesem Moment wird sich in der Regel erst einmal niemand in den Vordergrund drängen und den Fehler zugeben. Man muss schließlich erst in Erfahrung bringen, wie es überhaupt zu der  Situation kommen konnte. Irgendwann wird jedoch klar wer der Verursacher des Fehlers gewesen ist.
Diesen Moment nehmen viele Menschen als sehr unangenehm wahr. Immerhin wird man beschuldigt einen Schaden ausgelöst und dem Unternehmen Geld gekostet zu haben. Je nachdem wie viel Geld im Spiel und welche Fehlerkultur ein Unternehmen prägt kann das den Job kosten. Dem ist zwar nicht immer gleich so, aber der Gedanke spielt dennoch im Hinterkopf eine Rolle. Kein Wunder also, wenn es in der Natur des Menschen liegt, auf Schuldzuweisungen zunächst abweisend zu reagieren.

Im darauf Folgenden Schritt – nach der Fehlererkenntnis – wird meist eine Lösung gesucht um das Problem zu beheben. Verlockend dabei sind kurzfristige Lösungen, die den Schaden klein halten, ihn jedoch in Zukunft nicht vermeiden. Daher ist es wichtig und notwendig zum Schluss Gedanken über eine langfristige Lösung auszuarbeiten und umzusetzen.

Die Faktoren

Meiner Ansicht nach gibt es drei wesentliche Faktoren, die aufgrund der obigen Überlegungen nach dem Auftreten von Fehlern eine wichtige Rolle spielen:

  • Fehlererkennung
  • Verantwortungsakzeptanz
  • Lernprozess

Fehlererkennung

Manchmal dauert es länger, manchmal fällt ein Fehler sofort auf. Manchmal jedoch wird die Entdeckung eines Fehlers bewusst verschleiert. Wenn der Verschleierer Erfolg hat, wird er nicht zur Rechenschaft gezogen.
Ein Profi erkennt eigene, wie auch fremde Fehler hinreichend schnell und vermeidet damit größeren Schaden. Sein Interesse liegt in der Fehlerbehebung – die er sogleich beginnt -, nicht in der Verschleierung der eigenen Unzulänglichkeiten.

Häufig werden Fehler aufgrund der nachstehenden Punkte jedoch nicht oder zu spät erkannt:

Inkompetenz

Fahrlässigkeit, fehlendes Wissen, fehlende Metriken oder schlicht fehlende Daten sind häufig der Hauptverantwortliche, wenn ein Fehler nicht erkannt wird.

Beispiel: Der Login auf einer Webseite wurde nicht in der Mobil-Version getestet. Als Folge überlappt in der Mobil-Version ein DIV-Element im HTML den Submit-Button. Es fällt nicht auf, weil die Anzahl fehlerhafter Login-Versuch mit dem Attribut mobil/desktop nicht geloggt und ausgewertet werden.

Ignoranz

Der fehlende Wille einen Fehler als solchen zu erkennen. Der Fehler wird aufgrund seiner Priorität als geringfügig eingeschätzt und per Definition nicht zum Fehler deklariert. Beispielsweise weil keine Umsatzeinbußen zu erwarten sind.

Verantwortungsakzeptanz

Konnte man einen Fehler nicht verbergen, wird der Schuldige gesucht. Geschickte Verschleierer finden dann einen anderen Schuldigen, dem sie die Missetat in die Schuhe schieben können. Ein Profi jedoch akzeptiert den eigenen Fehler unverzüglich und arbeitet bereits an der Lösung des Problems.

Man könnte an dieser Stelle außerdem zwischen dem Verursacher und dem  Verantwortlichem unterscheiden. Nicht immer muss ein Angestellter die Verantwortung für sein Handeln tragen. Sein Chef steht z.B. in der Pflicht. Daher ist die Frage der Verantwortung auch eine des Blickwinkels. Wer fragt nach der Verantwortung? Der eigene Chef oder dessen Chef?

Lernprozess

In der letzten Stufe der Fehlerkultur geht es darum, dass ein Fehler nicht noch einmal auftritt. Man muss also nicht nur den aktuellen Schaden durch eine gegebenenfalls temporäre Fehlerbehebung in Grenzen halten, sondern die Weichen für eine komplette Auslöschung des Fehlers in der Zukunft stellen. Nur wer diese Stufe der Fehlerkultur erreicht, ist ein wahrer Profi im Umgang mit Fehlern.

Beispiele

Der Profi

Erkennt und akzeptiert eigens oder indirekt ausgelöste Fehler früh und behebt diese nachhaltig und schnell.

Der Verschleierter in Höchstform

In seiner höchsten Stufe hemmt der Verschleierer von der Erkenntnis über die Ursachenforschung und die Verantwortlichkeitssuche bis hin zur Fehlerbehebung jegliche dieser Schritte und wird darüber hinaus herausragend

Artikel gek: Lesen Sie den Rest hier (weitere 2339 Bytes)

Link
PHPUGFFMDanke an die Sponsoren des PHPBBQ (30.6.2016, 05:29 UTC)

Herzlichen Dank an cocomore und shopware für die Unterstützung des PHPBBQ!

Ohne euren Einsatz wäre es nicht möglich diese Veranstaltung durchzuführen!

Link
PHPUGFFMDas PHPBBQ steht (30.6.2016, 05:27 UTC)

Alles ist unter Dach und Fach! Das PHPBBQ wird am 16. Juli im Licht- und Luftbad (LiLuBa) Riederwald stattfinden.

Alkoholfreie Getränke und selbstgebrautes, Würstchen (im Brötchen) und einen Grill für deine eigenen Sachen sind vor Ort vorhanden (Danke an cocomore und shopware an dieser Stelle), für die Gute Laune müssen wir selbst sorgen

Damit ihr wisst, auf was ihr euch einlasst, habe ich heute nachmittag mal ein paar Fotos vor Ort gemacht. Platz genug ist, für die großen und kleinen Kinder gibt’s genug zu turnen und zu spielen, und wenn es wider allen Erwartungen und bisherigen Erfahrungen doch etwas feuchter von oben werden sollte, gibt es einen großen überdachten Bereich, den wir eventuell sogar mit einem großen Pavillon erweitern können.

Es ist also alles da, nicht nur für die Nerds, sondern auch für deren Anhang.

Wie kommt man und frau nun zum LiLuBa Riederwald? Am besten mit öffentlichen Verkehrsmitteln! Mit der U4 oder der U7 Richtung Enkheim bis zur Schäfflerstraße und dann noch etwa 900 Meter zu Fuß. Die genaue Lage findet ihr auf der Veranstaltungsseite.

Mit dem Auto könnt Ihr bis in den Volgersbrunnenweg bis zur Schranke fahren, der Rest ist dann auch Fußarbeit. Alternativ gibt es auch einen Zugang von der Riederspießstraße aus (Metro). Parkmöglichkeiten müsst ihr dann vor Ort prüfen.

Hier ist noch eine Afahrtskizze:

Anfahrt_Flohmarkt_LiLuBa

Link
Webdesign und TYPO3 Blog aus DuisburgE-Mail über Terminal CLI Linux versenden (26.6.2016, 10:37 UTC)

Webapplikationen haben den häufigen Anwendungsfall E-Mails versenden zu müssen.

E-Mail über Terminal CLI Linux versenden

Debian Logo

Das ist vor allem bei einer User-Verwaltung nötig. Registrierung und PW-Vergessen Funktion sind hier mögliche Anwendungsfälle. Aber auch der Newsletter ist ein typischer Anwendungsfall. Damit man hier eventuelle Fehlerquellen ausschließen kann ist es wichtig eine E-Mail über Terminal CLI Linux versenden zu können und damit serverseitig sicherzustellen, daß es geht.

E-Mail über Terminal CLI Linux versenden Debian mit mail

Bei mir ist ein häufiger Anwendungsfall ein Debian Webserver. Hier kann man mit dem mail-CMD testen, ob der Mail-Versand geht. Grundsätzlich gibt es hier eine kurze und eine lange Form.

Schneller Test E-Mail über Terminal CLI

echo "this is the body" | mail -s "this is the subject" "to@address.de"

Mit dem oben aufgeführten CLI-Command wird eine E-Mail an to@adress.de mit dem Betreff „this is the subject“ und dem Body „this is the body versendet“.

Ausführlicher Test E-Mail über Terminal CLI

mail -s "hello" "example@example.com" <<EOF
hello
world
EOF

Dazu kann man auch einen ausführlicheren Test machen, hier kann man ggf. konkret einen HTML Versand testen und einfacher einen komplexeren Body-Tag einführen.

Weiferührende Links E-Mail über Terminal CLI Linux versenden

Linux mail command examples – send mails from command line

5 Ways to Send Email From Linux Command Line

Debian Server professionelles Webhosting

Wir machen seit Jahren Webhosting als Dienstleistung und bieten hier einen sehr guten Support für einen sehr fairen Preis. Gerne können wir hier helfen. So haben Sie Ihre Daten sicher im Griff und können auch jemanden erreichen, wenn man etwas ist. Alle Infos zu dem Angebot gibt es hier Webhosting für TYPO3 und Magento.

Der TYPO3 Webdesign Blog E-Mail über Terminal CLI Linux versenden erschien zuerst auf Webdesign und TYPO3 Blog aus Duisburg.

Link
LinksRSS 0.92   RDF 1.
RSS 2.0 Feed   RDF 1.
100% Planet PHP   PHP5 powered
PEAR powered  
Code wird von Planet-PHP zur Verfügung gestellt. Vielen Dank.