April 30, 2024

Sortiert bleiben

Sortierverfahren

Weiterlesen
November 6, 2023

Text To Hex

Hex Hex

Weiterlesen
Juli 17, 2023

Animate this

Simple Js Animation

Weiterlesen
Juli 6, 2023

Node js und der fetch

IpV4 vs IPV6

Weiterlesen
Cover Image

Sortiert bleiben

Sortierverfahren

April 30, 2024 - Lesezeit: 3 Minuten

Es gibt ein ganze Menge verschiedener Sortierverfahren, die man benutzen kann um etwas Ordnung in das Chaos zu bekommen. Jedes Verfahren hat bei vor und Nachteile.Wenn man in Javascript nicht selber sortiert, sondern das dem Browser überlässt ist es natürlich irrelevant, welches Verfahren tatsächlich verwendet wird. Trotzdem kann das beschäftigen mit diesen Verfahren neue Denkanstöße liefern.

Der Bubble Sort

Bei diesem Verfahren "blubbern" die Werte einfach nach oben. Das Verfahren ist langsam und eignet sich nur bedingt für große Mengen. Aber es ist einfach zu verstehen und genauso einfach zu implementieren.

Laden...

Der Selection Sort

Dieses Verfahren "selektiert" die zu sortierenen Einträge vorher und ist daher effizienter als Bubble Sort.

Laden...

Der Insertion Sort

Bei diesem Verfahren werden die Einträge an der richtigen Stelle einsortiert. Es eignet sich am besten für vorsortierte Werte, bei denen ein neuer Wert an die passende Stelle hinzugefügt werden soll.

Laden...

Der Quick Sort

Der Quicksort teilt die Arbeit in kleine Teilabschnitte auf und muss nicht erneut bereits sortierte Abschnitte prüfen. In dem Beispiel habe ich mehr Werte genommen, da ansonsten die ganze Power den Verfahrens nicht richtig sichtbar wird.

Laden...


Cover Image

Text To Hex

Hex Hex

November 6, 2023 - Lesezeit: 14 Minuten

Manchmal kann es sinnvoll sein, sich Text in Hex anzeigen zu lassen. Besonders bevor man mit ihm weiterarbeitet, da es wirklich vorkommen kann, dass intern mit anderen Werten gearbeitet wird und diese Info dann im weiteren Verlauf fort ist, was zu Problemen führen kann. Dafür hab ich mal ne Funktion geschrieben:

function utf8ToHex(str) {
return Array.from(str).map(c =>
c.charCodeAt(0) < 128 ? c.charCodeAt(0).toString(16) :
encodeURIComponent(c).replace(/\%/g,'').toLowerCase()
).join('-');
}

Mithilfe dieser Funktion kann man einen String leicht analysieren. So geschehen mit folgender Funktion:

utf8ToHex(new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: 'EUR',
}).format(20))

Das Ergebnis war sehr intressant:

32-30-2c-30-30-c2a0-e282ac

An der Stelle, wo ich ein Leerzeichen "20" vermutete war ein "c2a0". Sieht man beim Ausgeben nicht und ist beim Kopieren weg. Folgende Funktion funktionierte dann nicht wie gewünscht:

new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: 'EUR',
}).format(20).match(new RegExp("0 €", 'gi'))

-> null

Ich erwartete, dass das geht. Weil ich ja nur ein Leerzeichen gesehen habe. Da war aber ein NOBREAK.

So geht es jetzt:

new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: 'EUR',
}).format(20).replace('\xa0',' ').match(new RegExp('0 €','gi'))

2 Stunden testen und suchen, nur weil ich es nicht gesehen haben und es beim Kopieren verloren gegangen ist...


Cover Image

Animate this

Simple Js Animation

Juli 17, 2023 - Lesezeit: ~1 Minute

Wenn man mal schnell eine Idee ausprobieren will ist js immernoch am besten dafür geeignet. Hier mal schnell eine kleine Idee für einen lustigen Zeitvertreib. Einfach mit der Maus klicken und sich überraschen lassen:

Animation

Die ganzen Animationen sind mit ein wenig Mathe und einer grundsätzlichen Engine einfach implementiert.


Cover Image

Node js und der fetch

IpV4 vs IPV6

Juli 6, 2023 - Lesezeit: ~1 Minute

Wenn man in Node JS schnell mal nen fetch absetzten will und der dann auf einen lokalen Server geht, kann man ja schnell mal Localhost einsetzen. Das ist aber tricky, wenn der Server nur auf IPV4 hört, da NodeJS dann versucht über IPV6 zu verbinden.

Einfache Lösung: 0.0.0.0 eintragen, dann nimmt NodeJS auch die IPV4 Adresse. Nett.