Drag and Drop JavaScript Bibliotheken Sammlung – Ziehen, verschieben und fallenlassen, Daten hochladen per Drag’n’Drop uvm

Ich glaube, das ist eine der schwierigsten und kompliziertesten und uninteressantesten Überschriften für einen Artikel.

Dabei ist das Thema Drag’n’Drop gar nicht so unwichtig.

Viele Webapps hängen von leichter Bedienung ab, was Sortierung oder Einordnung von „Elementen“ betrifft.

Eine gute Drag’n’Drop-Library hilft da zb schon ungemein, es gibt aber auch native Lösungen.

 

 

Also hier mal Infos dazu

Folien zum Thema

Native Lösungen ohne Bibliotheken

Die Zeit bleibt nicht stehen, daher werden viele Dinge, die früher durch JavaScript-Skripte gelöst wurden, direkt als native Funktion in den Browser integriert.

Es gibt daher Anweisungen für drag-Events, Notierung für draggable = true, ondragover, ondrop, dropzone usw.

Man kann sich also seine Lösung ohne andere Bibliotheken zusammenbauen – die Frage ist oft nur: Warum? Das Rad neu zu erfinden ist jetzt nicht gerade erstrebenswert. Aber wer’s will, bitteschön! Hier ein paar Links dazu:

Dragon Drop – einzige tastaturbedienbare Lösung

Draggable von Shopify

  • https://shopify.github.io/draggable/
  • Responsive, touchfreundlich, modern
  • Die Demo schaut gut aus, hat nette Toneffekte und könnte für GameDevs interessant sein. Außerdem steht dahinter eine potente Firma, die Interesse an einer Weiterentwicklung hat.
  • Draggable ist relativ neu und wurde in letzter Zeit oft erwähnt und geteilt.

 

Dragula

Diese JS-Bibliothek gibt es schon länger und ist bei uns daher auch schon länger am Radar

Draggabilly

jquery.shapeshift

  • http://mcpants.github.io/jquery.shapeshift/
  • Ähnlich wie jQuery-Masonry aber mit Drag and Drop.

Hootsuite Grid/Gridlist

Goold old jQuery Draggable, Sortable und Konsorten

Natürlich darf hier jQuery in der Auflistung nicht fehlen. Einer der Kernkompetenzen von jQuery war Drag’n’Drop. Gerade jQuery hat das Web einfacher und bedienbarer gemacht.

URL-Striptease – Was lässt sich alles mit einer URL herausfinden

Der Artikel ist ein Sammelbecken für alle Research-Webtools.

Gelistet werden nur solche Dienste, die man mit einer Url in einer URL aufrufen kann.

Damit kann ich mit wenigen Klicks komplette Seiten und Dienste identifizieren, ohne großen Aufwand betreiben zu müssen:

Domain, Whois, DNS o.ä.

Sicherheit, DDOS, Blacklists

Servertechnologien, CMS, Tracking, Betriebssystem, Hoster

Performance / Develop-Fehler

Die besten Firefox-Plugins

Alltag

Adblocker uBlock origin

 

dict.cc Übersetzung

Sitzungsmanager

Video DownloadHelper – Videos (Youtube, Vimeo usw) herunterladen

Privatsphäre / Sicherheit

Random Agent Spoofer

 

Firefox Multi-Account Containers – Mehre private Tabs aufmachen die voneinander getrennt sind

Webentwicklung / Developer

whatruns – Womit wird eine Webseite betrieben

Was tun gegen DDos Angriffe? Ein paar kurze Lösungsvorschläge

Was ist ein DDos-Angriff?

DDos steht für Distributed-Denial-of-Service. Also der Angriff von vielen, vielen verschiedenen Angreifern auf die eigene Seite.

Angriff ist dabei kein Hacken, sondern kann einfach das Zugreifen auf die eigene Seite sein. Wenn zu viele Besucher auf meine Seite wollen, dann kann der Server die Last nicht mehr verarbeiten und geht ein. Der Server ist dann nicht mehr erreichbar.

Lösung

  • Hoster wählen, der selbst Anti-DDos-Maßnahmen setzt. Also ein Hoster, der deine Webseite/deinen Server vor DDos-Attacken schützt.
  • Cloudflare oder andere Reverse-Proxys einsetzen. Dann geht die Last der Angriffe auf die über. Cloudflare betreibt ein riesiges Netzwerk an Servern und kann die Angriffslast besser abfedern.
  • Den Hostingplan wechseln, und auf einen stärkeren Server upgraden.

 

Responsive Webseiten testen – ein schneller Überblick über diverse Browsergrößen und -auflösungen

Wenn man responsive Webseiten baut, dann spielt das Testen eine große Rolle.

Folgende Tools helfen dabei:

Browser Devtools

Firefox bietet zb in den Devtools (F12) die Möglichkeit, responsive Ansichten auszutesten.

Einfach Strg+Shift+M und schon kommt man in die Ansicht zum Testen, wo man im ersten Dropdown die Auflösung auswählen kann:

mattkersley.com/responsive/

Gratis Fotos, Icons, Vektoren, Stockfotos – eine Übersicht

Egal ob für das Aufpeppen von Blogartikeln, als Hintergrund bei Visitenkarten, als Vorlage für eine Broschüre oder einen Flyer oder für die nächste Bilderverschönerungen.

Professionelle Fotos, Icons, Vektoren und Stockfotos braucht man fast täglich.

Daher hab ich eine kleine Übersicht zusammengetragen. Alle Ressourcen sind immer für kommerzielle Nutzung freigegeben!

Fotos

unsplash

  • https://unsplash.com/
  • Alle Bilder unterliegen der Creative Commons und können ohne Nennung verwendet werden

Pixabay

Skuawk

 

Gratisography

CC0-Fotos

Public Domain Archive

New Old Stock

Stockio

 

Texturen/Hintergründ

qtextures.net

Vektorgrafiken

Icons

Clipart

Open Clipart

Clker

 

Weitere, die ich noch begutachten muss:

 

 

Autovervollständigung – Überblick über verschiedene JavaScript Tools für Suche, Filterung und Autocomplete

Autovervollständigung in Eingabefeldern erleichtern das Leben wieder mal ungemein.

Nachfolgend eine Auflistung von Bibliotheken, die Autovervollständigung von mehreren Datenquellen können.

at.js

 

AutoCompleteJS

 

VisualSearch.js

* http://documentcloud.github.io/visualsearch/

Der große Vorteil ist, ähnlich wie bei autocomplete.js, dass die Auswahl zweistufig erfolgen kann.

Also zuerst nach der Hauptkategorie suchen und auswählen und im zweiten Schritt dann die Unterkategorie:

http://documentcloud.github.io/visualsearch/

Screenshots von Webseiten als Bild oder PDF abspeichern

Mit der Veröffentlichung von Chrome-/Chromium-Headless ist es recht einfach, Screenshots zu erstellen.

Früher musste man zb auf PhantomJS zurückgreifen, doch PhantomJS war nicht ganz so zuverlässig.

Wie also Screenshots erstellen?

Screenshots mit Puppeteer (node.js) und Headless-Chrome

Puppeteer kommt vom Chrome-Team und ist eine Node.js Bibliothek.

Puppeteer bietet eine API um einfach mit Chrome-Headless zu sprechen.

Was kann Puppeteer?

  • PDFs und Bilder von Webseiten screenshotten
  • Webscraping, Contentscraping
  • Formulare abschicken
  • Tastatureingaben
  • UI-Testing

Beispiele für die Verwendung findet man auf der GitHub Seite.

Folgendes Tutorial bietet auch einen Startpunkt:

https://tutorialzine.com/2017/08/automating-google-chrome-with-node-js

Screenshots mit Chrome-Headless und Linux-Terminal

Mit einem Terminal lassen sich leicht Screenshots als PDF oder Bild speichern:

chrome --headless --disable-gpu --screenshot https://www.kaoh.at

# Screenshot in Nexus 5x Auflösung
chrome --headless --disable-gpu --screenshot --window-size=412,732 https://www.kaoh.at

Ein guter Artikel und Anleitung dazu findet sich hier:

Echter Headless Chrome (oder Chromium) – Bedien deinen Browser per Kommandozeile, Selenium oder node.js!

Was ist Chrome-Headless?

  • Mit Chrome-Headless kann man den Browser per Kommandozeile/Terminal, Selenium, node.js oder C++ verwenden.
  • Chrome kann daher ressourcenschonend ohne grafische Ausgabe am Server laufen.
  • Man kann per Code Screenshots oder PDFs erstellen, Webseiten debuggen, Formulare ausfüllen und versenden und eben alles machen, was man auch mit der Maus, Tastatur oder per Touch machen kann!

 Gibt es auch Chromium Headless?

Natürlich lässt sich Chromium auch headless starten, und das geht zb im Linux-Terminal so:

$ chromium-browser --headless

Verwendung

Speichern als PDF

$ chromium-browser --headless --disable-gpu --print-to-pdf https://www.kaoh.at

Dieser Befehl erzeugt ein PDF von der angegebenen Seite. Das Ergebnis schaut dann zb so aus:


Es wird also ein PDF mit mehreren Seiten generiert.

Screenshots

chrome --headless --disable-gpu --screenshot https://www.kaoh.at

# Screenshot in Nexus 5x Auflösung
chrome --headless --disable-gpu --screenshot --window-size=412,732 https://www.kaoh.at

Der normale Screenshot liefert folgendes Bild:

Der Screenshot mit der Nexus 5x Auflösung schaut so aus:

Hilfestellungen

Brauche ich die –disable-gpu Flag?

Ja, weil dadurch ein paar Bugs umgangen werden

Wo liegt der Unterschied zu PhantomJS?

PhantomJS verwendet eine ältere Renderengine (eine ältere WebKit-Version).

Viel wichtiger: PhantomJS ist unzuverlässiger, liefert nicht so gute und nachvollziehbare Ergebnisse und macht Probleme mit manchen JavaScript-Dingen.

 

Interessante Links

nginx Problem 502 Bad Gateway beim Hosting mit Plesk – Hier die Lösung!

Wer schon mal mit Plesk zu tun hatte, kennt das Problem:

 

  • Die Seite ist erreichbar
  • Das SSL-Zertifikat wird ausgeliefert
  • Die Domain wird aufgelöst
  • Es kommt aber keine Homepage sondern der Fehler:
    • 502 Bad Gateway
      
      [error] 10485#0: *1947668 connect() failed (111: Connection refused) while connecting to upstream, client:

GRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR!!!!

nginx macht also Probleme! Und man kommt nicht und nicht drauf warum…

Lösung

Lösung 1: nginx deaktivieren ( don’t! )

nginx deaktivieren! Hahahah. Ja, das behebt das Problem. Dann hat man aber keinen reverse proxy mehr am Laufen.

 

Echte Lösung: IP neu lesen

Im Plesk-Panel in den Menüpunkt Tools & Einstellungen -> IP-Adressen gehen und auf den Button IP neu einlesen drücken:

Gehe zum Menüpunkt Tools & Einstellungen -> IP-Adressen
Drücke auf IP neu einlesen

Plesk sagt dazu im Original:

Grund für das Problem

Höchstwahrscheinlich fail2ban.

Das Problem tritt mit der Zeit auf, wenn man neue Domains anlegt oder an der IP herumfummelt.

Plesk selbst sagt dazu:

Fail2Ban blocks server's IP addresses.

Das ist ein bisserl strange, dass Fail2Ban die eigenen IP-Adresse blockiert, ist nunmal aber so. Deal with it! 😀

Links