-
Entwicklung
Entwicklung
Die hier aufgeführten Routinen sind zum großen Teil Bestandteile meines eigens für meine Homepage entwickelten CMS, sie sollen zeigen was mit Free Pascal auf der Server-Seite und JavaScript auf der Client-Seite alles möglich ist.
Lazarus / Free Pascal
- Daemon (Service)
- CMS-Daemon
- RecycleAppPool
- ISAPI Interface
- Simple ISAPI Interface Example
- ISAPI Filter
- dynamisch angepasste Bilder
- FPWriteGIF
- Erstellen eines Apache Modules
- GMT - Greenwich Mean Time
- Etag
- GZIP / deflate
- JSMin
- CSSMin
- ADO & Free Pascal
- ADO ConnectionString
- ADOX Access MDB erzeugen
- JRO Access MDB komprimieren
- ADO Datenbank XML-Export
- ADO Datenbank SQL Dump
- ADO Klassen Beispiel
- MySQL über MSAccess
- Browscap
- Browscap Apache Module
- Browscap ISAPI-Filter
- Base32
- Service Control
JavaScript
- Focus (Point)
- Viewport und Lazy Loading
- Tabsheet
- Accordion
- Treeview
- Page-Browser
- Sticky
- Fade
- use canvas for grayscale
- Fader
- an other Fader
- Javascript Animate
- CSS Animate
- Fader MovingBoxes
- animated scrollTo
- FitText
- Scroller
- Redirect
- Show & Hide Controls
- UNIX Timestamp
- Base64 decode / encode
- Ticker
- Password Field
- Event-Tracking
- Share on Social Network
- Google-Maps Web-App, Firefox OS App
-
Administration
Administration
Hier finden Sie Themen zur Server Adiminstration und Konfiguration, Anleitungen und Hilfestellungen.
-
Analyse
Analyse
Fehler finden, Möglichkeiten entdecken und Konzepte zur Umsetzung.
Besonderheiten dieser Website
Diese Website basiert auf einer in Free Pascal geschriebenen Webserver-Application, ein Dienst/Servce mit einen HTTP-Server-Prozess und einen Hintergrund-Prozess. Wobei der HTTP-Server-Prozess für die komplette Bearbeitung der Eingehenden Anfragen zuständig ist und der Hintergrund-Prozess sich um die Abwicklung von Aufgaben die nicht unmittelbar mit den eingehenden Anfragen zu tun haben wie z.B. um Optimierung von Dateien, generieren von Statistiken und Updates. Alle Komponenten des Webservice wurden komplett in Free Pascal programmiert.
Bis zum 21.06.2015 basierte diese Website noch auf der ISAPI-Schnittstelle des IIS von Microsoft, da mir nach einigen Tests klar wurde das eine weitere zeitliche Optimierung nicht mehr möglich war, da die anfallenden Millisekunden fast komplett im Bereich des Servers anfielen, hatte ich mich entschlossen einen eigenen Webserver zu schreiben. Im Gegensatz zu den bekannten Webservern ist bei meinem Webserver keine aufwendige Installation und Konfiguration erforderlich, an Hand der Dateitypen wird z.B. automatisch das beste Verfahren zur Übertragung gewählt, also z.B. GZip Komprimierung, Minimierung, Gültigkeit, ... und alles nativ ohne Einbindung externer Module, dadurch war eine erhebliche Steigerung der Verarbeitungsgeschwindigkeit möglich. Zur Zeit wird die Antwortzeit lediglich durch den dynamischen DNS Eintrag über MyFritz meiner Fritzbox an einem VDSL-Anschluß gebremst, die eigentlichen Verarbeitungszeiten des Servers sind außer bei sehr komplexen Seiteninhalten wie große Source-Listings oder riesige Bildergalerien auf meinem nun über 10 Jahre alten Rechner kaum messbar.
Bis zum 20.10.2018 lief dieser Webservice noch unter Windows, nun läuft er unter Ubuntu.
Ich bemühe mich ständig aktuelle Standards zu implementieren, Leistungsmerkmale:
- lauffähig unter Windows und Linux (dank Free Pascal Cross-Compiler)
- SSL (TLS 1.3) Implementierung über OpenSSL, überprüft mit www.ssllabs.com (A+)
- CSP und Cookies optimiert auf Basis von securityheaders.com (A+)
- HTTP, HTTPS inklusive SNI Realisierung mit HSTS und HTTP/2 über TLS-ALPN Unterstützung
- Google PageSpeed Insights (97-98%) und Google Lighthouse (Feature im Google Chrome) optimiert
- IPv4 und IPv6 Unterstützung, Überprüfung mit IPv6 test
- GZip / Deflate / Brotli (Implementierung über Brotli Libraries) / Compress(LZW) Komprimierung auch von dynamischen Inhalten
- dynamisches Minimieren von CSS und JavaScript
- realisiert in Vanilla-JS (ohne JavaScript-Frameworks also reine JavaScript) und dadurch sehr schnell
- dynamisch generierte Sitemaps
- dynamisch generierte RSS-Feeds, Open Search, Open Graph, Schema Org, AppCache, vCard, iCal, ...
- Sprechende URLs
- Breadcrumbs mit schemaOrg
- Social Media Bookmarks
- native Volltextsuche auch über Downloads wie z.B. PDF-Dateien
- Backend mit extrem optimierten WYSIWYG Editor
- Barrierearm, überprüft mit wave.webaim.org (0 Errors)
- Seitengenerierung dynamisch, also ohne "Caching"
- dynamische Bilder (dem Endgerät angepasst) Viewport (lazy loading)
- W3C konforme Inhalte
- SEO optimiert
- HTML5 / XHTML 1.1, CSS3, Javascript mit aktuellen Features wie z.B. Fullscreen, Accordion, Tabsheets,...
- Responsive Webdesign
- Print CSS
- Seiteninhalt als PDF, RTF (Richtext), HTML und Text oder auch als Package (Zip-Archiv - zur Verwendung in einer App) abrufbar/herunterladbar
- datenschutzkonform
Weitere Informationen findest Du unter CMS.
Manche Bereiche dieser Website sind nur für Freunde offen, falls Ihr noch keine Zugangsdaten habt meldet Euch doch bei uns!
Die ganzen Bilder liegen nicht in den angezeigten Auflösungen auf dem Server, sondern werden während der Laufzeit angepasst für Euer Browser-Fenster zur Verfügung gestellt!