Cover Image

Was ist eine Nummer in Javascript

Javascript und die Datentypen. Heute: was ist eigentlich eine Zahl.

September 21, 2020 - Lesezeit: 6 Minuten

um schnell mal zu überprüfen ob ein Wert eine Zahl ist in Javascript gibt es jede Menge Möglichkeiten. Nun sind Programmierer immer ein bisschen schreibfaul. Also entscheidet man sich für die kürzeste Methode einen Wert auf eine Zahl zu prüfen:

    isNaN(valueToCheck)

Alternativ kann auch folgende Prüfung verwendet werden:

   typeof valueToCheck == 'number'

Ist aber länger, also irgendwie uncool. Sollte aber besser verwendet werden. Sonst könnte folgendes Szenario problematisch werden:

    {
      "Auftragsnummer" : "200123",
      "Menge" : 2
   }

Auftragsnummer ist per Definition ein Text, auch wenn in dem Text eine Nummer steckt:

   isNaN("200123"// Text wird als Nummer interpretiert // liefert gültige Nummer
    isNaN(2)        // liefert gültige Nummer
    isNaN("TEST")   // liefert KEINE gültige Nummer

    typeof "200123" == 'number'   // liefert KEINE gültige Nummer
    typeof 2 == 'number'          // liefert gültige Nummer

Kommt natürlich wieder auf das Szenario an. Aber das Verhalten kann zu komischen Programmabläufen führen. Typensicherheit (soweit man in Javascript davon reden kann ;) ist aber immer hilfreich.


Cover Image

RegEx und der Punkt

intressante Facts zu RegEx

September 21, 2020 - Lesezeit: 2 Minuten

Regex ist ja dazu da irgendwas in einem Text zu finden. Das kann man dann zum Beispiel ersetzen. Oder anderweitig verwenden. Nun ist das aber auch ein Text. Wenn ich also Schlüsselwerte verwende, macht RegEx nicht unbedingt was es soll.

Ich möchte die Punkte durch unterstriche ersetzen: Also

 mde.symolo.info -> mde_symolo_info
replace(/./g"_")

erster Versuch: _______________

Höh, so wollte ich das nicht. Liegt daran, dass der Punkt ein reserviertes Zeichen ist. Der Punkt beschreibt alles. Um jetzt den Punkt nicht als Schlüsselwert zu verwenden, kann man ein Schrägstrich vorranstellen und damit die Interpretation passend abändern:

replace(/\./g"_")

Zweiter Versuch: mde_symolo_info

Yeah, war doch ganz einfach ;).

Intressante Links zu dem Thema:

https://javascript.info/regexp-escaping

https://regex101.com/


Cover Image

Tool zu Messung des Speicherbearfs eines bestimmten Prozesses unter Windows

September 16, 2020 - Lesezeit: 39 Minuten

Da wir herausfinden wollten wie der Verlauf der Speicherauslastung unseres Servers während eines Tests ist, haben wir eine Applikation entwickelt, die den Speicherverlauf auf anhand der Prozess ID unter Windows Tracken kann.

Damit das Tool funktioniert wird beim Start die PID übergeben.
Optional kann noch der Name des Logfiles um ein Präfix ergänzt werden.
Ohne Präfix ist dieser „.[yyyyDDMMhhmmssfffff].[log]“
Wird ein zweiter Parameter übergeben so wird dieser davor gehängt.
Als 3ten Parameter können sie das Abtastintervall in Millisekunden angeben.

 

Aufruf des Tools

ProcessMonitorMem.exe [PID] { [Präfixlog], [Abtastintervall] }