Ich kann hier allen nur zustimmen: Das Besondere am Weihnachtsmarkt ist vor allem die weihnachtliche Atmosphäre, die fröhliche Stimmung, die abendliche Beleuchtung. Aber natürlich gehe ich auch auf den Weihnachtsmarkt, um die vielen köstlichen Leckereien zu probieren: Gebrannte Mandeln, Schmalzkuchen, Crêpes und heiße Schokolade. Das gehört auf jeden Fall dazu!

Traditionelles Kunsthandwerk bestaunen?

Ich schaue es mir manchmal schon gerne an, aber nur ganz selten kaufe ich mal etwas. Besser nehme ich mir eine Tasse mit dem Jahr als Erinnerung mit, wobei ich es schade finde, dass neuerdings oft das Jahr gar nicht mehr auf die Tassen gedruckt wird.

Glühwein trinken?

Nee, besser heiße Schokolade! :)

Schokoapfel essen? 

Wie wäre es mit der Schokobanane? ;)

Oder doch lieber die Fahrgeschäfte auf den eher "modernen" Weihnachtsmärkten?

Ein paar Karussells für Kinder gibt es hier, ansonsten natürlich das Riesenrad, welches jedes Jahr auf jeden Fall ein Muss ist. Gerade spätabends hat man einen schönen Blick über den gesamten Weihnachtsmarkt, Teile der Innenstadt. Wunderschöne Lichter überall!

Was mögt Ihr an Weihnachtsmärkten am liebsten?

Ganz klares Highlight sind hier die handgebrannten [!!] Mandeln. Die schmecken viel besser als dieses maschinell erzeugte Zeug. Man muss zwar 30-45 Minuten in der Schlange stehen, aber hey, es lohnt sich (psst.: tagsüber dauert es nur 15 Minuten). Unser „Mandel-Meier“ hält seit 17 Jahren den Guinness-Buch-Weltrekord im Dauermandelbrennen. Damals hatte er knapp 700 Kilo Mandeln nonstop gebrannt – 30 Stunden lang. Das Geld kam der Kinderkrebshilfe zugute. Diese gebrannten Mandeln sind seit jeher das, was ich am liebsten am Weihnachtsmarkt mag :-)

Allen eine besinnliche Adventszeit :-) 🎄🎅⭐

...zur Antwort

Probiere mal folgenden regulären Ausdruck:

((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])(\.|$)){4}

Live-Test: https://regex101.com/r/Iwwh2F/1

Erläuterung

Es gibt drei Fälle:

  • Vorne steht „25“. Dann muss eine Zahl von 0-5 folgen.
  • Vorne steht „2“. Dann muss eine Zahl von 0-4 und eine Zahl von 0-9 folgen.
  • Alle weiteren Fälle, wobei nur eine Ziffer erforderlich, die anderen beiden optional sind.

Anschließend folgt entweder ein Punkt oder das Zeilenende. Dies wiederholt sich viermal.

...zur Antwort
Ich darf für meine Website nur HTML und CSS verwenden.

In Ordnung! :)

Wie meine Vorredner schon schrieben, ist für dieses Problem die Verwendung von JavaScript angebracht und auch üblich. Jedoch möchte ich dir trotzdem einen kleinen Trick zeigen, durch den sich dein Vorhaben auch mit purem CSS umsetzen lässt.

Die Idee ist, dass die Animation (oder in diesem Fall den einfachen Wechsel des Wertes für transform) über ein Hover über den Container, welcher das Bild enthält, ausgelöst wird. Nun ist das Problem: Wenn man die Maus wieder an eine andere Stelle bewegt, kehrt das Bild wieder in den Ursprungszustand zurück. Das soll es aber nicht, sondern es soll während des gesamten Aufenthalts des Nutzers so bleiben.

An dieser Stelle kommt der Trick ins Spiel: Du erstellst eine Transition mit einer Verzögerung. Diese Verzögerung stellst du auf einen enorm hohen Wert ein (im Beispiel > 1 Tag), sodass der Zustand des Bildes auf absehbare Zeit nicht wechselt. Für den umgekehrten Weg erstellst du eine zweite Transition, denn das Erscheinen des Bildes soll schließlich nicht Stunden dauern ;)

.flyInImg > img {
  transform: translateX(-102%);
  transition: transform 1ms 100000s;
}

.flyInImg:hover > img {
  transform: translateX(0);
  transition: transform 300ms ease-out 0s;
}

Live-Beispiel: https://jsfiddle.net/54bL01rv/

Probleme

Diese Lösung ist ein Trick – und zwar ein sehr schlechter Trick! Verwende diese Lösung niemals auf einer richtigen Website. Für die Schule oder Ähnliches könnte das so vielleicht hinreichend sein.

Es ergeben sich im Vergleich zu einer Lösung mit JavaScript folgende Probleme:

  • Keine Unterstützung auf mobilen Endgeräten, denn diese hovern beim einfachen Wischen nicht
  • Kein schnelles Scrollen möglich, denn die Maus sollte kurz über dem Bild zum Stehen kommen, damit es als Hovern zählt
  • Mangelnde Flexibilität, auf die Mausposition und nicht die Scrollposition beschränkt
...zur Antwort

Dafür empfehle ich dir MediaInfo. Metadaten kannst du damit folgendermaßen auslesen:

mediainfo --fullscan video.mp4

Zum Rotieren kann ffmpeg verwendet werden:

ffmpeg -i in.mp4 -vf "transpose=1" out.mp4

Setze eine 1 für eine Drehung im Uhrzeigersinn und eine 2 für eine Drehung gegen den Uhrzeigersinn ein. ffmpeg kann auch Metadaten auslesen:

ffprobe video.mp4

Allerdings ist die Ausgabe im Vergleich zu MediaInfo nicht so übersichtlich.

...zur Antwort

Zunächst musst du der Klasse Fahrrad entsprechende Getter-Methoden hinzufügen:

public boolean getLeihStatus() {
  return leihStatus;
}

public int getFahrradID() {
  return fahrradID;
}

Anschließend kannst du beispielsweise mit einem Iterator alle Elemente der Liste durchgehen und überprüfen, ob die IDs übereinstimmen. Ist dies der Fall, kannst du den Leih-Status abfragen. Sollte es kein Fahrrad mit der übergebenen ID geben, musst du darauf ebenfalls entsprechend reagieren:

public String leihen(int fahrradID) {
  Iterator it = fahrradListe.iterator();
  while (it.hasNext()) {
    Fahrrad f = (Fahrrad) it.next();
    if (f.getFahrradID() == fahrradID) {
      if (f.getLeihStatus()) {
        // ...
        return "Fahrrad mit der ID: " + fahrradID + " wurde erfolgreich ausgeliehen.";
      } else {
        return "Fahrrad mit der ID: " + fahrradID + " ist nicht verfügbar.";
      }
    }
  }

  return "Fahrrad mit der ID: " + fahrradID + " ist nicht verfügbar.";
}

Allerdings wäre es hinsichtlich eines höheren Abstrahierungsgrads sinnvoll, keine Strings mit kompletten Texten zurückzugeben, sondern beispielsweise bei der Methode leihen einen Wahrheitswert. Ausgaben sollten eher in der Hauptklasse erfolgen, welche die Klassen Fahrrad und Verleih gebraucht. Dadurch kannst du eine höhere Flexibilität erzielen, falls du deine Klasse auch anderen Entwicklern zur Verfügung stellen möchtest und diese andere Texte ausgeben möchten oder falls du vielleicht eine Übersetzung der Software erstellen willst.

...zur Antwort

Zunächst benötigst du die konstanten Arrays, diese kannst du einfach der Tabelle entnehmen:

static readonly int[] bereinigtesEinkommen = {
      0,
      12000,
      28000,
      50000
    };

static readonly float[] steuersatz = {
      1.15f,
      1.22f,
      1.32f,
      1.45f
    };

static readonly int[] freibetrag = {
      10000,
      20000
    };

Außerdem musst du den bereits berechneten Steuerbetrag sowie die Summe, die bereits betrachtet worden ist, speichern:

float steuerbetrag = 0;
int bisherigeSumme = 0;

Außerdem musst du den Freibetrag vom Einkommen abziehen:

einkommen -= freibetrag[steuerKlasse - 1];

In einer Zähler-Schleife (for-Schleife) durchläufst du nun alle Kategorien, wobei das Einkommen größer gleich dem jeweiligen Wert sein muss:

for (int i = 0; i < bereinigtesEinkommen.Length; ++i) {
  if (einkommen >= bereinigtesEinkommen[i]) {
    // ...
  }
}

Nun gilt es, den Betrag zu bestimmen, auf den der Steuersatz angewandt werden soll:

int betrag;
if (i < bereinigtesEinkommen.Length - 1) {
  betrag = Math.Min(einkommen - bisherigeSumme,
  bereinigtesEinkommen[i + 1] - bereinigtesEinkommen[i]);
} else {
  betrag = einkommen - bisherigeSumme;
}

Hierbei muss die Differenz der Abstände der beiden Werte für die nächste und für die aktuelle Kategorie betrachtet werden. Ist dieser Wert allerdings nicht erreicht worden, so entspricht der Betrag logischerweise der Differenz von Einkommen und bereits betrachteter Summe. Wichtig ist, dass man den Fall betrachtet, dass die letzte Kategorie erreicht wird, weil es keine nächste Kategorie gibt. Daher ist hier eine Fallunterscheidung (if-Abfrage) notwendig.

Abschließend muss nur noch die bisherige Summe aktualisiert und der Steuerbetrag entsprechend erhöht werden:

bisherigeSumme += betrag;
steuerbetrag += betrag * steuersatz[i];

Somit ergibt sich als vollständige Implementierung der Methode:

static readonly int[] bereinigtesEinkommen = {
      0,
      12000,
      28000,
      50000
    };

static readonly float[] steuersatz = {
      1.15f,
      1.22f,
      1.32f,
      1.45f
    };

static readonly int[] freibetrag = {
      10000,
      20000
    };

static float berechneSteuer(int steuerKlasse, int einkommen) {
  float steuerbetrag = 0;
  int bisherigeSumme = 0;

  einkommen -= freibetrag[steuerKlasse - 1];

  for (int i = 0; i < bereinigtesEinkommen.Length; ++i) {
    if (einkommen >= bereinigtesEinkommen[i]) {
      int betrag;
      if (i < bereinigtesEinkommen.Length - 1) {
        betrag = Math.Min(einkommen - bisherigeSumme,
            bereinigtesEinkommen[i + 1] - bereinigtesEinkommen[i]);
      } else {
        betrag = einkommen - bisherigeSumme;
      }

      bisherigeSumme += betrag;
      steuerbetrag += betrag * steuersatz[i];
    }
  }

  return steuerbetrag;
}
...zur Antwort

In der Datenbank muss der Hash des Passworts und nicht das Passwort selbst gespeichert werden. Schau dir mal an, wie password_verify funktioniert. Hier die vollständige Einführung: http://php.net/manual/de/book.password.php

...zur Antwort

Dafür gibt es verschiedenste Möglichkeiten, denn es kommt darauf an, wie dein Header konkret aussieht und in welcher Beziehung Menüpunkt und Text zueinander stehen.

1. Kindelemente

Nutze den Kindkombinator:

.link:hover > .text {
  background-color: red;
}

Live-Beispiel: http://jsfiddle.net/apkzv4u5/

2. Geschwisterelemente

Nutze die angrenzenden Geschwisterselektoren:

.link:hover + .text {
  background-color: red;
}

Live-Beispiel: http://jsfiddle.net/p3es0cL2/

3. Allgemeiner Fall

Dies wird wahrscheinlich in den meisten Fällen die passendste Methode sein. Hierbei ist JavaScript erforderlich, weil Events verarbeitet werden müssen:

for (let i = 0; i < links.length; ++i) {
  links[i].addEventListener('mouseover', function() {
  texts[i].classList.add('active');
});
  
links[i].addEventListener('mouseout', function() {
  texts[i].classList.remove('active');
  });
}

Die Klasse active kann dann im CSS-Code entsprechend so verarbeitet werden, dass eine Hervorhebung zustande kommt.

Live-Beispiel: http://jsfiddle.net/vnqp80dz/

Es könnten natürlich auch IDs eingesetzt werden.

...zur Antwort

Ich schaue tatsächlich die üblichen Klassiker wie "Kevin – Allein zu Haus", "Kevin – Allein in New York" oder "A Christmas Carol". Das erinnert mich irgendwie an früher und gehört einfach dazu. Weihnachten ohne Kevin? No way! Ansonsten schaue ich einfach das, was so im Fernsehen kommt.

...zur Antwort

Guten Morgen,

früher hatte ich mal ganz viele Wünsche. Mittlerweile denke ich aber, ich habe irgendwie schon alles, was ich brauche. Ich vermisse nichts. Ich weiß nie, was ich mir noch wünschen doll. Natürlich könnte man die bisherigen Gegenstände und Geräte durch neuere, bessere ersetzen, aber ich bin mir nicht sicher, ob ich wirklich einen neuen Fernseher oder ein anderes Auto brauche. Ich bin mit dem, was ich habe, was sich über die Jahre angesammelt hat, recht zufrieden.

Deshalb bin ich bereits ganz klassisch mit einer Schachtel Pralinen und einem kleinen Gutschein zufrieden und äußere keine besonderen Wünsche. Mit den Gutscheinen könnte ich mir mal leisere Lüfter für den PC kaufen, weil die bisherigen einen enormen Krach erzeugen, aber das ist nebensächlich...

Ansonsten interessiert mich vielmehr das Weihnachtsfest an sich, das Beisammensein, die gemeinsame Freude. Das ist für mich das eigentliche, das beste Geschenk, denn diese Momente sind das, was bleibt!

Eine frohe Adventszeit wünsche ich allen :-)

...zur Antwort

Das kommt immer sehr auf den Einzelfall an. Eine Möglichkeit ist die CSS-Positionierung. Dazu benötigst du einen Container, der relativ positioniert ist und kannst anschließend das Kindelement, welches absolut positioniert ist, entsprechend mit left, right, top und bottom positionieren. Ein Beispiel:

https://codepen.io/anon/pen/GPReom

Unter Umständen kann auch die Verwendung von Float sinnvoll sein. Eine modernere Alternative dazu stellt Flexbox dar.

...zur Antwort
[...] wie man im Darknet eine Webseite veröffentlich kann und damit Geldverdinnen kann?

Es gibt nicht DAS Darknet, deshalb beziehe ich mich mal auf Tor. Du benötigst einen entsprechenden Server, dafür kann aber auch ein günstiger Raspberry Pi herhalten. Auf diesem solltest du am besten ein GNU/Linux-System installieren. Du musst dem Raspberry Pi eine feste interne IP-Adresse zuweisen und musst dann im Router Port-Forwarding einrichten.

Anschließend kannst du einfach folgender Anleitung folgen: https://www.torproject.org/docs/tor-onion-service.html.en

Dabei solltest du dich mit den zugrunde liegenden Schritten auskennen oder du musst dich entsprechend im Internet darüber informieren. Es ist nicht ganz trivial einen solchen Server einzurichten, zumal du auch darauf achten solltest, dass dieser entsprechend abgesichert ist, weil er schließlich direkt an dein Heimnetzwerk angeschlossen ist.

Denn ich meine ja nur, das Darkweb ist mit mehreren Rechnern gleichzeitig verschlüsselt, weswegen man den Ort der jeweiligen Webseite, Nachricht,usw. nicht entschlüsseln kann. Wie kommt kann man dan dort eine Seite erstellen und Geld verdienen?

Beachte, dass auch Tor nicht vollkommen anonym ist und mit großem Aufwand auch die Position deines Servers ermittelt werden kann. Auch im Tor-Netzwerk hast du dich an geltendes Recht zu halten und darfst deshalb keine illegalen Aktivitäten durchführen. Wenn du Geld verdienen willst, musst du meist ein Gewerbe anmelden.

...zur Antwort

return gibt nichts aus, sondern definiert, was die Methode zurückliefert. Sprich, wenn du sie aufrufst und das Ergebnis in einer Variable speichern willst, wird dieses Ergebnis innerhalb der Methode mithilfe von return zurückgegeben. Du hast aber nun durch die Zeile

public String alleAnzeigen() {

den Rückgabetyp als String definiert und kannst dementsprechend keine Liste zurückgeben. Ausgaben müssen zudem zeilenweise erfolgen, d. h. Folgendes wäre korrekt:

while(it.hasNext()) {
  System.out.println("Fahrrad: " + it.next());
}

Das ist wahrscheinlich das, was du erzielen möchtest. Dementsprechend müsstest du den Rückgabetyp dann auf void setzen.

...zur Antwort

Zunächst musst du die beiden Adressen in die zugehörige Binärschreibweise überführen, wobei du bei der Netzmaske die Bits invertieren und dann das bitweise OR anwenden:

Maske:  11111111.11111111.10000000.00000000
invers: 00000000.00000000.01111111.11111111
IP:     00100110.00110000.10000000.00000001
-------------------------------------------
OR:     00100110.00110000.11111111.11111111

Die Broadcastadresse lautet daher 38.48.255.255, somit ist die letzte gültige IP-Adresse 38.48.255.254. Zur Berechnung der Netzadresse wird dagegen das bitsweise AND auf die nicht inverse Netzmaske und die IP-Adresse angewandt.

...zur Antwort

Dieses Feature ist lediglich im kostenpflichtigen Nova Launcher Prime enthalten. Alternativ kannst du aber auch kostenlos Notifyer Unread Count verwenden. Dazu musst du die App einfach installieren, das Widget hinzufügen, dieses anklicken und dann den Anweisungen folgen.

...zur Antwort

Da du offensichtlich Nougat auf einem älteren Gerät nutzt, ist bei dir eine Custom-ROM installiert. Wenn du Google-Apps nutzen möchtest, musst du die GApps flashen: https://opengapps.org/

Wähle ARM und Android 7.1. Welches Paket du wählst, kannst du frei entscheiden (je nachdem, welche Apps du benötigst). Lade die ZIP-Datei auf das Gerät, ohne sie zu entpacken. Nun boote in die Recovery. Schalte dazu das Gerät aus und halte Home-, Ein- und Lauter-Taste gedrückt, bis du den Samsung-Bildschirm siehst. Lasse die Ein-Taste los, halte die anderen beiden Tasten aber solange gedrückt, bis die Recovery (TWRP oder CWM) startet.

In der Recovery solltest du nun die Möglichkeit haben, über „Install“ o. Ä. die ZIP-Datei auszuwählen und zu flashen. Danach kannst du das System neu starten. Der erste Start könnte etwas länger dauern. Anschließend sollten alle Apps aus dem gewählten Paket installiert sein.

...zur Antwort

Der JavaScript-Code reicht in diesem Fall nicht aus, um beurteilen zu können, wo der Fehler liegt. Bitte poste den vollständigen erforderlichen HTML- und CSS-Code, z. B. bei JSFiddle.

...zur Antwort

Mir ist keine Galerie bekannt, welche alle von dir genannten Features enthält. Ich habe viel gesucht, aber nichts Gutes gefunden. Stattdessen empfehle ich dir, Screenshot Utility zu verwenden. Dabei kannst du die von dir gefundene Galerie weiterhin verwenden und zum Bearbeiten das Bild über die Share-Funktion an Screenshot Utility weitergeben. Zuschneiden, Freihandmarkierungen und verschiedene Formen sind in der App möglich.

...zur Antwort

Herzlich willkommen zum neuen GNOME :)

Nutze Nemo statt Nautilus, um wieder Desktop-Icons zu haben: https://martinvogel.de/blog/index.php?/archives/142-Wie-man-den-Gnome-Dateimanager-Nautilus-durch-Nemo-ersetzt.html

...zur Antwort