Änderungen

Zur Navigation springen Zur Suche springen
12.204 Bytes hinzugefügt ,  12:10, 11. Jul. 2013
== Aktuelles ==

* Siehe [http://www.heise.de/developer heise.de]
* [http://www.heise.de/developer/podcast/ Heise.de - Podcast für Entwickler]

== Programmiertechniken ==


=== Teamorganisation ===

* [http://kai-beck.de/42-ueberzeugungsmuster 42 Überzeugungsmuster für Agilität in der Softwareentwicklung]

=== Design Patterns ===

* [http://www.mcdonaldland.info/files/designpatterns/designpatternscard.pdf Kurzreferenz für Design Patterns]
* [http://sourcemaking.com/design-patterns-and-tips 101 Design Patterns & Tips for Developers]
* [http://www.javacamp.org/designPattern/ Design Patterns für Java]
* [http://www.patterndepot.com/put/8/JavaPatterns.htm Java Companion Book zu Design Patterns]
* [http://www.picocontainer.org/patterns.html einige wichtige Patterns in Kurzform]

=== Sicherheit ===

* [[Microsoft]] hat als den Entwicklungszyklus begleitendes Sicherheitssystem ein Konzept namens [http://www.heise.de/developer/Sichere-Softwareentwicklung-nach-dem-Security-by-Design-Prinzip--/artikel/143738 Security by Design].

=== Projektmanagement ===
* Zu [http://maven.apache.org/maven-features.html Apache Maven] siehe
** [http://books.sonatype.com/maven-book/reference/public-book.html Maven: The Definitive Guide]
** [http://wiki.netbeans.org/MavenBestPractices Netbeans Maven Best Practices]
** [http://famvdploeg.com/blog/?p=39 Einzelne JARs zum lokalen Maven-Repository hinzufügen]
** [http://maven.apache.org/plugins/maven-assembly-plugin/usage.html Ausführbare JARs (mit MANIFEST.MF) erzeugen] (nutzt neueres maven-assembly-plugin) ([http://www.blackslash.de/archives/26-Maven-JAR-ausfuehrbar-machen;-Hauptklasse-dem-Manifest-hinzufuegen.html Alternative]; nutzt älteres maven-jar-plugin)

Softwareprojekte sind auch ganz herkömmliche Projekte. Zum Projektmanagement allgemein siehe [http://www.olev.de/p/projekt.htm Lexikoneintrag mit weiteren Nachweisen]. Für das Projektmanagement gibt es verschiedenste Projektmanagementsoftware.
Außerdem gibt es noch Online-Sites, die Projektmanagement anbieten. Z.B.:
* [https://quassum.com/overview Quassum] (für 5 Benutzer / 5 Projekte kostenlos)
* [https://trello.com/ Trello] (kostenlos, Extrafunktionen jedoch kostenpflichtig)
* [http://www.6wunderkinder.com/wunderlist Wunderlist] (kostenlos, derzeit nur etwas erweiterte Todo-List)

=== Versionsmanagement ===

* Zu Subversion siehe [[Versionsmanagement-Tipps]]

== Reguläre Ausdrücke ==

* [http://regexlib.com/CheatSheet.aspx Übersicht über "regular expressions (regex)"]
* [http://openoffice.blogs.com/openoffice/2009/06/using-regular-expressions-in-openoffice-calc-filters-phrases-like-contains-rather-than-equals-less-t.html Reguläre Ausdrücke für Filter] in [[OpenOffice]] Calc.

== Datenbanken ==

=== Datenbankdesign ===

Mit der [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2010/03/Tabellendschungel-lichten MySQL Workbench lassen sich Datenbanken designen].

=== SQL ===
==== SQL Syntax ====

* Ein übersichtliches Verzeichnis der SQL-Befehle als Tutorial findet sich bei [http://www.w3schools.com/sql/default.asp w3schools.com].
* Auch die [http://de.wikipedia.org/wiki/SQL Wikipedia] gibt einen guten Überblick über die SQL-Standard-Befehle.
* SQL für [http://little-idiot.de/mysql/mysql-117.html little Idiots]
* [http://db.apache.org/derby/docs/10.4/ref/ Apache Derby SQL reference]
* [http://www.tgunkel.de/it/software/doc/sql_database.de SQL-Tipps]

==== MySQL ====
===== Dokumentation =====
* [http://dev.mysql.com/doc/ MySQL-Dokumentation]
* [http://www.oreilly.de/german/freebooks/einmysql2ger/ deutsches OpenBook]

===== MySQL-Nutzer =====
* [http://dev.mysql.com/doc/refman/5.0/en/post-installation.html Setzen von Passwörtern]

===== Verwaltung mit phpMyAdmin =====
* [http://forum.chip.de/php-mysql-etc/rechte-phpmyadmin-360637.html Zugriff von phpMyAdmin (Setzen der Zugriffsrechte)]: Die Rechte in der Datei <code>/etc/dbconfig-common/phpmyadmin.conf</code> werden mit folgendem Befehl geändert und umgesetzt:
sudo dpkg-reconfigure phpmyadmin

=== NoSQL ===

==== CouchDB ====

CouchDB ist ein [[OpenSource]]-Datenbank-System, das über eine [[REST]]-Schnittstelle gesteuert wird.

* Siehe den [http://guide.couchdb.org/draft/index.html#part/i Definitive Guide]

== Webbrowser steuern ==

* [http://www.heise.de/ct/inhalt/2010/04/6/ Das Heft ct 4/2010 hat einen Praxisteil zur Erstellung von Webrobotern]
* Siehe auch [[Java-Tipps|JavaXPConn]].
* '''Mechanize''' scheint in verschiedenen Skript-Sprachen ([[Perl]], [[Ruby]]) die Möglichkeit zu geben, verschiedene Browser ([[Firefox]],[[Safari]]) fernzusteuern.
* [http://seleniumhq.org/projects/remote-control/ Selenium RC] ([http://seleniumhq.org/docs/05_selenium_rc.html Dokumentation]) ermöglicht, z.B. von Java) verschiedene Browser zu steuern. Für [[Firefox]] lässt es sich auch [http://girliemangalo.wordpress.com/2009/02/05/creating-firefox-profile-for-your-selenium-rc-tests/ mit einem bestimmten Browserprofil (z.B. bestimmte Developer-Addons] wie FireBug nutzen.
** Wenn man Selenium 2 (WebDriver) nutzt, muss man [http://stackoverflow.com/questions/5134953/java-classdefnotfounderror etliche zusätzliche Bibliotheken] in ein [[Java]]-Programm einbinden.
* http://stackoverflow.com/questions/1248598/greasemonkey-like-firefox-plugin-for-automatic-browsing
* [http://watir.com/ Watir] erlaubt von Ruby aus, verschiedene Webbrowser zu steuern.

== Java ==
* [[Java-Tipps]] (J2ME Programmierung, Synchronization, SyncML, vCard/vCalendar, Bluetooth)

== Python ==

* [http://www.python.org Python-Homepage]

== XML ==

* [http://www.zvon.org/xxl/XSLTutorial/Output_ger/contents.html XSLT-Tutorial] auf zvon.org

== CSS ==

* Siehe [http://reference.sitepoint.com/css SitePoint CSS-Referenz]
* Siehe [[HTML#Lightbox]]
* Siehe [http://www.webreference.com/authoring/css_tools/ Artikel über CSS-Tools]

* Zueinander passende Farben findet man bei
** [http://www.colorexplorer.com/ colorexplorer.com]

== HTML ==

=== Allgemeines ===
* Siehe die [http://www.teialehrbuch.de/AGOL/10664-HTML-Referenz.html kurze HTML-Referenz] und [http://de.selfhtml.org/ selfthml] von Stefan Münz.
* [http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc WebStandards-Einführung von Opera]
* [http://reference.sitepoint.com/html SitePoint HTML-Reference]


=== Favicon ===

* Ein kleines Bild, das auf den Reitern der Webbrowser dargestellt wird, nennt man '''Favicon'''. [http://de.selfhtml.org/navigation/faq.htm#favoriten_icon selfhtml] oder [[wikipedia:Favicon | wikipedia]] zeigen, wie man ein solches Logo auf seine HTML-Seite einbindet.

=== HTML5 ===

Mit HTML5 lassen sich auch Offline-Apps erstellen, z.B. [http://sixrevisions.com/web-development/html5-iphone-app/ für das iPhone].
Der [http://www.quirksmode.org/blog/archives/2010/03/html5_apps.html Vorzug von HTML5-Apps] gegenüber [[Android]]- bzw. [[iPhone]]-Apps ist die relative [[Plattformunabhängigkeit]].

Siehe Beispiel-Apps bei
* [http://miniapps.co.uk/ miniapps.co.uk]

=== HTML für Smartphones ===

Die Entwicklung für [[Smartphone]]s ist aufgrund der Vielzahl von Systemen nicht gerade einfach. Auf Basis von [[HTML5]] versuchen verschiedene Frameworks dem Webentwickler zu erlauben, beinahe native Apps für [[Android]],[[iOS]]... zu entwickeln, ohne allzuviel auf die Bedürfnisse der Plattformen eingehen zu müssen:
* [http://phonegap.com/ PhoneGap], künftig "Apache CallBack" ist ein [[Open Source]]-Framework für sieben mobile Plattformen. Dieses Framework versucht HTML-JavaScript-Code die Features der Smartphones zur Verfügung zu stellen, für die normalerweise Nativer Code erforderlich ist.
* [http://dojotoolkit.org/documentation/ DoJo Mobile]
* [http://xuijs.com/docs/basics XUI]
* jQuery Mobile
* Sencha Touch
* [http://joapp.com/docs/#Quick%20Start Jo HTML5 Mobile App], [[Open Source]]-Framework

=== Lightbox ===

Um eine HTML-Seite kurz in den Schatten zu stellen, um z.B. dem Benutzer einen kurzen Dialog (Login) zu zeigen, nutzt man eine sog. Lightbox.
* [http://www.emanueleferonato.com/2007/08/22/create-a-lightbox-effect-only-with-css-no-javascript-needed/ leichtgewichtige Lightbox] ([http://www.webreference.com/programming/javascript/CSS-Only-Lightbox/ weitere Erläuterung])


=== REST ===

[[REST]] hat folgende Eigenheiten:
* Jede Resource hat eine URL/URI<ref>http://architects.dzone.com/news/common-rest-design-pattern</ref>.
* Es gibt nur simple Operationen:
** GET (hole Info, "''r''etrieve", idempotent)
** PUT (aktualisiere Info, "''u''pdate", idempotent)
** POST (erzeuge neue Info, "''c''reate", kann non-idempotent sein)
** DELETE (lösche Info, "''d''elete",idempotent)
** kurz: ''CRUD''
** zusätzlich HEAD (hole Meta-Info über eine Ressource)<ref>http://architects.dzone.com/news/common-rest-design-pattern</ref>.
* Das Protokoll ist HTTP.

Siehe auch
* [http://java.sun.com/developer/technicalArticles/jersey-part1/index.html Einführung in REST] mit dem [[Java]]-[[Open Source]]-Framework [[Jersey]].
* [http://www.gen-x-design.com/archives/create-a-rest-api-with-php/ REST-API mit PHP]
* [http://www.gen-x-design.com/archives/making-restful-requests-in-php/ Client-Part of the REST API]
* [http://phprestsql.sourceforge.net/ Spielwiese auf PHP/MySQL-Basis]
* [http://jacwright.com/250/simple-rest-server-in-php-supports-json-amf/ Simple Rest Server in PHP]

=== Alternativen zu HTML ===

* [http://www.webreference.com/authoring/languages/Lightweight-Languages/index.html Textile und Markdown] sind sog. leichtgewichtige Markup-Sprachen, die in HTML konvertiert werden können.
** Zu Textile siehe auch das Xilize-Plugin für den Editor [[jEdit]].

== JavaScript ==
=== Allgemeines ===
* [http://de.selfhtml.org/javascript/index.htm Javascript-Dokumentation von selfhtml]
* [https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference Mozilla JavaScript Reference]
* [http://www.javascriptkit.com/jsref/ JavaScript Reference]
* [http://reference.sitepoint.com/javascript Sitepoint JavaScript]
* [http://www.ooowiki.de/JavaScript Kurze Übersicht über JavaScript]

Siehe auch [[HTML5]] und [[HTML für Smartphones]].

=== JavaScript Multitasking ===

Für Threads in JavvaScript sieht [http://www.sitepoint.com/javascript-threading-html5-web-workers/ HTML5 Web-Workers vor].

=== jQuery ===

Mit dem [[jQuery]]-Framework werden [[JavaScript]]-Aufgaben erleichtert.

JQuery hat eine Plugin-Architektur, z.B.
* [http://tablesorter.com/docs/ TableSorter] zum Ausstatten einer [[HTML]]-Tabelle mit Sortierknöpfen.

=== HTTP Long Polling ===
Für HTTP-Long Polling bieten sich JavaScript-[[Closure]]s an.
Siehe [http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery jQuery-Long Polling Example].

In HTML5 gibt es für Server-Push die sogenannten [[WebSocket]]s. [http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery Socket.IO] ist eine JavaScript-Bibliothek, die die Server-Push-Technologie (HTTP Long Poll oder Implementierungen von Websockets) kapselt.


=== Google Apps Script ===

Google Apps Script basiert auf JavaScript, hat aber Erweiterungen, um auf Google Produkte zugreifen zu können. Entsprechende Scripte können beispielsweise in Googles Tabellen eingebunden oder mittels eines Timers regelmäßig gestartet werden.
Siehe
* [https://developers.google.com/apps-script/your_first_script Beispiel-Skripterstellung]
* [https://developers.google.com/apps-script/your_first_script Beispiel-Script]

== PHP ==

* [[PHP]]

== Authentifizierung ==

[http://hueniverse.com/oauth/ OAuth] ist ein offener Standard zur Identifizierung für einzelne Web-Dienste. Der Upgrade auf Oauth 2.0 wird von manchen Beteiligten kritisch gesehen.

== OPA ==

[http://doc.opalang.org/ OPA] ist eine Programmiersprache, deren Ausführung unbemerkt vom Entwickler sowohl auf dem Server (mit Datenbank) als auch auf dem Client läuft.

== Webservices ==

* Einen Überblick über im Netz bereitstehende Webservices bietet [http://www.xmethods.org xmethods.org]
* [[GIS]]

== Google Gadgets ==

* [[Google Gadget]]

-----
<references/>

[[Category:Informationstechnik]]
[[Category:Softwareentwicklung]]
[[Category:Java-Tipps]]
[[Category:Podcast]]

Navigationsmenü