Kategorien
Diverses

Tennisarm und Golfarm Bahandlung bei Programmierern

Als Programmierer ist man irgendwann zwangsläufig von einem Tennisarm und/oder Golfarm betroffen. Ich habe bei der Behandlung sehr viele unnütze Methode kennengelernt und bei mir hat nur eine Methode geholfen, die aber dafür sehr schnell: Die Querfriktion durch einen Physiotherapeuten.

Die Querfriktion ist eine schmerzvolle Behandlung, die 20 Minuten dauert und die sehr wirkungsvoll ist, sie sollte auf jeden Fall von einem kräftigen Physiotherapeuten durchgeführt werden 2 mal die Woche. Nach einer Handvoll Behandlungen wird es merklich besser.


Was bei mir nicht geholfen hat, waren:

  • normale „Wellness“ Massagen am Arm durch einen Pysiotherapeuthen
  • Strombehandlung
  • Das Schonen der Hand (man benutzt seine Hände immer irgendwie)
  • Stützen oder Verbände
  • Dehnübungen
Kategorien
Server Administration

ProFTPD Sicherheitslücke finden

Gerade ist eine schlimme Sicherheitslücke, mit der man den ganzen Server kompromittieren kann durch ein FTP Programm, welches auf fast jedem Server mit Xampp Installation läuft. Siehe Heise Artkel.

Um seine eigenen Server abzusichern, kann man auf der Linux Shell folgenden Test machen:

telnet myserver.de 21

site cpfr /etc/passwd

Wenn als Antwort ein Fehler 350 zurückkommt, dann gibt es drigenden Handlungsbedarf!

Kategorien
VBA Excel

VBA Excel Konfigurator: Berechnung aller möglichen Kombinationen

Zum Bau eines Produktkonfigurators mit Excel benötigt man meistens eine Matrix, in der man definiert, welche Konfigurationsparameter mit welchen anderen Parametern zusammen möglich sind und welche sich in der Kombination auschließen, z.B. die Farbe weiß ist erhältlich für das iPhone 6, aber nicht für die 16GB Variante.

Diese Regeln sind ser anfällig für Fehler, deshalb benötigt man zum Testing eine Ausgabe alle möglichen Varianten des Konfigurators.

Das größte Problem bei größeren Konfiguratoren sind die vielen möglichen Kombinationen, für die es schon mal Wochen dauern kann alle zu berechnen, wenn man versucht einfach alle möglichen Kombinationen durchzugehen, denn die Laufzeit verdoppelt ich mit jeder weiteren möglichen Konfigurationsmöglichkeit.

Kategorien
JavaScript jQuery

Javascript disable all readonly Dropdowns and send via Form

Readonly select-Tags are not allowed in HTML until now, but can be used.

An alternative would be to use the disabled=true attribute, but this will not send the select value on form submission.

An easy solution would be to disable the selection with Javascript and leave it readonly:

$( document ).ready(function() {
    $('select[readonly="readonly"]').css('pointer-events','none');
});

The only problem is, that you can still tab throw the form and select elements with your keyboard but the mouse can not select element from the dropdown.

Kategorien
Yii Framework

Yii Relation über mehrere Tabellen und Models benutzen

Es gibt einen sehr einfachen Syntax, um einfache Relationen, die in verschiedenen Models definiert sind zu bneutzen und so einen Join über mehrere Tabellen zu erzeugen:

$criteria->with[] ='model1.model2.model3';
$criteria->compare('model3.name', $this->attribute_search, true );

Dies wird meistens bei einer Gridview benutzt, die eine Suche auf einem Attribut durchführen soll, dass in einem verbunden Model liegt.

 

Kategorien
Diverses

Beim Arbeiten am PC nebenbei rückenfit werden

Wer kennt das nicht, die Website oder das neue Tool will einfach nicht fertig werden, obwohl man schon Stunden daran arbeitet. Die Augen sind völlig überstrapaziert vom zu langen „auf den Bildschirm starren“ und sowohl Rücken als auch Nacken haben definitiv schon bessere Zeiten erlebt. Besonders die Bürotäter unter uns, wissen bestimmt wovon ich spreche.

Kategorien
Yii Framework

Yii custom CButtonColumn in Gridview

Dieser Button hat ein eigenes Image über Bootstrap mittels der Klasse icon-download und wird in einem neuen Tab geöffnet.

   array(
                'class' => 'zii.widgets.grid.CButtonColumn',
                'template'=>'{pdf}',
                'buttons'=>array(
                    'pdf' => array(
                        'url' => 'Yii::app()->createUrl("/con/action",array("id"=>$data->id))', 
                        'options' => array('target' => '_blank', 'class' => 'icon-download'),
                        'label' => '',
                        'imageUrl' => false,
                    ),
Kategorien
Yii Framework

Yii2 OpenStreetMap Extension

Ich habe iene einfache OpenStreetMap Extension für Yii2 entwickelt, mit der man beliebige Punkte mit einem Tooltip anzeigen kann. Als Karten-Provider wird OpenLayers verwendet.

Insallationsanweisungen:

  1. Kopieren des Archiv Inhalts nach /widgets/OpenLayers
  2. einbinder der Extension in einer beliebigen view:
<?php
/* @var $this yii\web\View */

use app\widgets\OpenLayers\OpenLayers;
use yii\helpers\BaseVarDumper;
use yii\helpers\Html;
?>
<div>

    <div>
        <h1>Multiple Dots</h1>
        <h2>Input</h2>
        <?php $cities = [
            ["name" => "Belize City", "lng" => -88.1975600, "lat" => 17.4995200, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/belize+city-3582677"), "population" => "3"],
            ["name" => "San Ignacio", "lng" => -89.0796400, "lat" => 17.1576000, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/san+ignacio-3581194"), "population" => "5"],
            ["name" => "Orange Walk", "lng" => -88.5632800, "lat" => 18.0812400, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/orange+walk-3581514"), "population" => "6"],
        ];
        BaseVarDumper::dump($cities, 10, true);

        ?>
        <h2>Map</h2>
        <?php echo OpenLayers::widget(['cities' => $cities, 'map_id' => 'multiple']) ?>

    </div>
</div>

und fertig…

yii2_open_street_map_extension
Yii2 OpenStreetMap Extension / Widget

 

 Download der Extension als .zip File

Kategorien
Webdeveloper Tools

Immobilienscout neuste Angebote sofort per Mail bekommen

Manchmal kann es von Nutzen sein, wenn man vor allen anderen eine Wohnung oder Immobilie auf immobilienscout24.de oder auf anderen Webseiten zu Gesicht bekommt.

Ich habe für einen Immobilienmakler ein solches Tool erstellt, welches alle neuen Gewerbeimmobilien oder Wohnungen in bestimmten Städten in Deutschland alle 15Minuten per Mail in übersichtlicher Form an den Kunden verschickt. Es werden zusätzlich ein Quadratmeterpreis und die genaue Adresse sowie ein Link zu dem Angebot versendet:

Eigentumswohnungen Berlin 

1)
Title: Neubau-Wohnung am Wasser 
Adresse: Friedrichshain (Friedrichshain), Berlin 
3500.00€/m² 
100m²
350.0000€

Link zum Expose auf immobilienscout24

2) ....

 

Es ist möglich das Programm um neue Internetplattformen sowie alle denkbaren weiteren Funktionen zu erweitern. Bei Interesse können Sie mich gerne kontaktieren.

Kategorien
Buch Empfehlungen Yii Framework

Yii für Profis: Buch Rezension von Yii Project Blueprints

Das September 2014 erschienene Buch „Yii Project Blueprints“ aus dem Packt Publishing Verlag stammt aus einer Reihge guter englischsprachiger Bücher über das PHP-Framework Yii. Am Anfang war ich sehr skeptisch, ob ich das 43te HowTo über die Erstellung eines CMS oder PM-Ticket Tools in meinen Händen halten würde, aber ich wurde sehr positiv überrascht: Dieses Buch richtet sich an gestandene Yii-Programmierer, die in die Tiefen des Frameworks eintauchen wollen.

Die ersten zwei Kapitel sind eher für den Einstieg gedacht, aber danach lernt man erstaunlich interessante Kniffe mit dem Framwork kennen. Ein paar Beispiele:

  • Einbindung von Composer
  • viele sicherheitsrelevante Tipps: Erzeugung von wirklichen Zufallszahlen, Markdown-Parser etc.
  • Cronjobs mit Yiic
  • Fokus auf Wiederverwendbarkeit und Unabhängigkeit der Komponenten, z.B. wird genau erklärt, wie man Module benutzt und wie man diese am besten wiederverwendet
  • Flash Messages
  • die Verwendung eines E-Mail -Sende und -Empfang Dienstes am Bsp. von SendGrid
  • Authentifizierung von Usern mit HybridAuth: Google+, Twitter, Facebook etc. Accounts
  • SEO: Slug-Urls und Sitemap/RSS Feeds Implementierung
  • Implementierung einer RESTful API

Der einzige Wermutstropfen sind die raren Screenshots, die sehr zum Verständnis der öfter sehr langen Code-Beispiele hätten beitragen können.