30.09.2013
von Daniel
2 Kommentare

Symfony2: Passwort setzen und verschlüsseln

Wenn man eine Anwendung mit einer Benutzerverwaltung baut, dann kommt man irgendwann mal an den Punkt, dass Passwörter geändert werden sollen. Nur wo das neue Passwort setzen und verschlüsseln?

Symfony2 bietet eine Menge Möglichkeiten für eine lose Kopplung verschiedener Komponenten. Ich wollte die Verschlüsselung daher auch nicht in die Entity verbauen und habe einen anderen Weg gewählt, den ich euch gerne beschreiben will.

Weiterlesen →

29.07.2013
von Daniel
Keine Kommentare

Öfter mal was neues, z.B. ebene7 to go

Ein paar Kleinigkeiten habe ich meinem Blog immer mal wieder funktionell erweitert. Vor einiger Zeit habe ich schon das freie und sehr gute responsive Design Yoko von Elmastudio eingesetzt und eine Anbindung zu Twitter gemacht, so dass ihr euch automatisch über neue Artikel informieren und diese dann auch auf mobilen Geräten gut lesen könnt.

Letztens bin ich über ein jQuery Plugin zum Erzeugen von QR-Codes gestolpert und habe etwas damit experimentiert. Da dachte mir, das passt alles gut zusammen und habe das einfach mal versuchsweise mit auf die Seite genommen. So könnt ihr die aktuelle Seite, sofern sie euch hoffentlich interessiert, ganz einfach auf einem mobilen Gerät laden und weiterlesen.

Das Plugin kann man unter https://github.com/jeromeetienne/jquery-qrcode bekommen und mit wenigen Zeilen Code einbinden.

<div id="qrcode" style="text-align:center;"></div>
<script>
$(function(){
    $('#qrcode').qrcode({
        width: 170,
        height: 170,
        text: window.location.href
    });
});
</script>

Wem es gefällt, der darf es gerne übernehmen. Natürlich freue ich mich wie immer über Kommentare und wenn ihr mir auf Twitter folgt.

04.06.2013
von Daniel
Keine Kommentare

Symfony2: Getrennte Logfiles in der Entwicklungsumgebung

Gerade während der Entwicklung hilft das Logfile oft schnell weiter. Bislang war dies jedoch etwas zu überladen, so dass es teilweise etwas mühsam war die gewünschten Informationen zu finden. Seit Symfony 2.1 lassen sich Channels in Monolog konfigurieren und die Ausgaben können in verschiedene Dateien geschrieben werden.

Dafür muss einfach nur der Eintrag in der app/config/config_dev.yml erweitert werden.

monolog:
  handlers:
    main:
      type:  stream
      path:  %kernel.logs_dir%/%kernel.environment%.log
      level: debug
      channels: !event
    events:
      type:  stream
      path:  %kernel.logs_dir%/%kernel.environment%_events.log
      level: debug
      channels: event

Danach werden die event.debug Ausgaben in eine eigene Datei geschrieben und die Log-Datei ist wieder etwas handlicher.

28.05.2013
von Daniel
1 Kommentar

Umzug eines Subversion Repositories auf einen anderen Server

Hin und wieder muss man ja doch mal ein SVN-Repository auf einen anderen Server verschieben oder auch einfach nur eine Sicherung machen. Weil ich mir das nicht merken mag und auch nicht gerne suche, hier mein Spickzettel. :-)

Zuerst das Repository in einer Datei sichern. Mit dem Parameter “r” kann der Bereich der Revisionen bestimmt werden.

svnadmin dump /path/to/myrepro -r 1:HEAD > /path/to/dumpfile

Wahrscheinlich muss die Datei nun noch irgendwie auf die neue Maschine kopiert werden (SCP, FTP etc.) und kann dann im neuen Repository importiert werden. Dazu ein Verzeichnis erstellen und ein Repository erzeugen.

mkdir /path/to/mynewrepro
svnadmin create /path/to/mynewrepro

Danach das Dumpfile einspielen.

svnadmin load /path/to/mynewrepro < /path/to/dumpfile

 

08.04.2013
von Daniel
2 Kommentare

Symfony2: Unabhängiger mit eigenen Basisklassen

Heute mag ich mal ein paar Ideen und Gedanken zum Thema machen, die mal so bei der Arbeit mit diversen Frameworks entstanden sind. Die Beispiele betreffen zwar das Symfony2 Framework, aber Vergleiche dazu lassen sich auch bei den anderen finden. Es liegt in der Natur von Frameworks, dass sie sich meist unabhängig von der eigenen Anwendung weiterentwickeln, da sie allgemeingültig sein sollen.

Nach Möglichkeit soll das eigene Projekt unabhängig sein von der Version, damit auch nach einem Versionswechsel noch alles wie gehabt funktioniert. Dabei habe ich positive Erfahrungen mit eigenen Basisklassen gemacht. Für manch einen ein alter Hut, für andere unnötig komplex. Hier ein paar Beispiele, wie man Zeit einsparen kann.

Weiterlesen →

Schlagwörter: A/B-Test, AbstractType, Adapter, AddOn, Administration, Ajax, Alühn, Alühn2, Amazon, Animation, Annotations, Anonyme Klasse, Ant, Apache, API, Array, ArrayAccess, Attachment, Auftrag, Ausbildung, Auswertung, Authentifizierung, AutoLoader, AWS, Backup, Bedienung, Bedingung, Benchmark, Berechtigung, Berlin, Bildbearbeitung, Bildschirmfoto, Blog, Blogroll, BOM, Bootstrap, Bot, Browser, Bugtracker, Byte Order Mark, Bücher, Cache, CakePHP, Call-Center, Callback, CamelCase, Canvas, Captcha, CDN, Cheatsheet, CLI, Clickout, Closure, Cloud, CodeSniffer, Collection, Community, Comparator, Config, Contest, Controller, Converter, CouchDB, Countable, Cronjob, CRUD, CSS, CSV, CustomLibrary, Custom_Model, Daemon, Data Mapper, Datei, Datenbank, Datensicherung, Datenstruktur, Datentypen, Dating, Datum, Debug, Decorator, Dekorierer, Design, Design Patterns, Doctrine, Dokumentation, Dump, Duplikat, each, EC2, Eclipse, Email, Entwicklung, Entwurfsmuster, Enum, Erweiterung, Event, Eventhandling, Exception-Handling, Extension, Facebook, Factory, Fallback, Fehler, Fehlermeldung, Filter, Firefox, Flash, flexigrid, Foreach, Formatierung, Formular, Framework, FTP, Funktion, Futon, ga:pi(), Getter, Gnome, Google Analytics, Hash, Hash-Bang, Header, htaccess, HTML5, htpasswd, HTTP, HTTPS, IDE, If, Implementierung, InnoDB, Interceptor, Interface, Internet Explorer, isset, Iterator, Java, JavaScript, Job, jQuery, Kommentar, Konfiguration, Konsole, Kontrollstruktur, kopieren, kostenlos, Kundenbetreuung, Late Static Binding, Layout, Links, Linux, Listeners, Lizenz, Logging, Löschen, Magento, Magic Methods, Manual, ManyToMany, Marketing, Methode, Model, Monolog, MVC, MySQL, NetBeans, Network, Nirvanix, Objekt, Observable, Observer, OneToMany, Online Tool, OOP, Open Source, Operator, OR-Mapper, Order, ORM, O’Reilly, Parameter, Partnersuche, Passwort, Performance, PHP, php.ini, PHP hates me, phpMyAdmin, PHPUnit, Plugin, Point and Click, Popup, Praktikum, Proxy, Prüfsumme, Prüfung, QR-Code, Qualitätssicherung, Query, Queue, Redesign, Refactoring, Reflection, Repository, Request, Response, Responsive Design, Rest-API, Rockstar, Rollback, Routing, S3, Samba, Scheifen, Schleife, Schutz, Screenshot, Secure Shell, Selbstreferenz, Server, Setter, setTimeout, Shop, Sicherheit, Sicherung, Sichtbarkeit, Singleton Pattern, Skin, SOAP, Social Network, Software, Sortierung, Sourcecode, Spam, Speicherproblem, Spickzettel, SPL, Splittest, SSH, SSL, Stammtisch, Statement, static, Statistik, Status, Stellvertreter, Strategy Pattern, Stream, String, Stuttgart, Stylesheet, Subversion, Sun VirtualBox, Support, SVN, Switch, Symfony, Symfony2, Symfony Live, Tag, Template, Template Method, Ternär Operator, Testing, Theme, Thumbnail, Tool, Tour, Tracking, Twig, Twitter, Type-Cast, Ubuntu, Umwandlung, Underscore, unset, Update, Upload, Url, User Story, Validierung, Vererbung, Versionskontrolle, Versionsnummer, Verzweigung, Video, Videospiel, Virtualisierung, Visitor Pattern, Vorschaubild, walk, Warteschlange, Webserver, Webservice, Weiterleitung, Werkzeug, Windows, WindowsAzure, WordPress, Wrapper, Writer, XML, Youtube, Zeitschleife, Zeitsteuerung, Zend Framework, Zend_Application, Zend_Cloud, Zend_CodeGenerator, Zend_Http_Client, Zend_Reflection, Zend_Service, ZPress, Zugangskontrolle, Zugriffsmethode