Der "Was hast du heute gelernt?" Thread

Ich habe am Freitag gelernt, das MySQL scheiße ist. Die Eigenarten sind mir bekannt und wenn man sie kennt, kann man sie ja umschiffen. Das es aber so krass ist, hätte ich nicht gedacht.

Ich hatte in einer Anwendung einen Fehler, wodurch Nutzer falsche Punktzahlen und Prozente in einer Kategorie und entsprechend bei den Gesamtpunkten und Prozenten erhalten haben. Kunde wies mich darauf hin und ich hab das mit einem UPDATE JOIN korrigiert und dem Kunden Bescheid gesagt. Am Freitag rief dieser an und sagte, die Punkte stimmen, aber die Prozente sind falsch. Ich mir also ein Backup auf meine lokale Maschine gezogen und die Query ausgeführt, alles korrekt. Backup der Tabelle auf den Live-Server eingespielt und Query dort noch mal ausgeführt. Stichproben geprüft und dort wurden die Punkte richtig berechnet, aber die Prozente nicht. WTF! Gab aber keine Fehlermeldung oder einen Hinweis. Einen Blick auf die Versionen geworfen und gesehen, dass auf Live ein 5.5 lief, und bei mir lokal ein 5.7. Also lokal einen 5.5 installiert, das Backup eingespielt, Query abgefeuert und ebenfalls keine Updates der Prozentwerte erhalten. Letztendlich habe ich dann ein Backup der Tabelle auf meinem lokalen MySQL 5.7 gemacht und es auf dem Live-Server eingespielt.

Vielleicht wäre ja Oracle der passendere Name für MySQL. Ich fand den Namen schon immer seltsam für eine DB.
 
Dass man bei der Überprüfung einer Verbindung zu einer REST API keinen REST endpoint verwenden sollte, bei dem keine Antwort eine gute Antwort ist.
Bei Splunk kann man via REST die Anzahl der Lizenzverstösse abfrage in einem 30 Tage Zeitraum... Keine Verstösse sind gut, geben aber halt keine Antwort auf die Suche. Also ein typischer "negativ ist positiv" Fall wie man ihn eher aus der Medizin kennt
 
Versteh ich nicht. Eine Resource, die eine Anzahl darstellt, ist doch nicht plötzlich "nicht existent", nur weil diese Anzahl gerade 0 ist? Und selbst wenn es so wäre würde ich doch immer noch einen HTTP 404 als Antwort erwarten und nicht -- "nichts"? (was genau ist denn "nichts" -- ein Request, der in einen Timeout läuft?).

Irgendwie beschleicht mich das Gefühl, dass das gar nicht so wirklich REST ist, was da zu testen ist :D
 
Irgendwie beschleicht mich das Gefühl, dass das gar nicht so wirklich REST ist, was da zu testen ist :D

Ja - Nein... Jein

Eine curl abfrage hätte eigenlich eine ähnliche Antwort wie folgende auswerfen müssen
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!--This is to override browser formatting; see server.conf[httpServer] to disable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-->
<?xml-stylesheet type="text/xml" href="/static/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:s="http://dev.splunk.com/ns/rest" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
  <title>licensermessages</title>
  <id>https://xxxxxx.xxxxxx.xxxxxx:8089/services/licenser/messages</id>
  <updated>2019-05-28T10:49:05+02:00</updated>
  <generator build="c0bf0f679ce9" version="7.2.6"/>
  <author>
    <name>Splunk</name>
  </author>
  <link href="/services/licenser/messages/_acl" rel="_acl"/>
  <opensearch:totalResults>0</opensearch:totalResults>
  <opensearch:itemsPerPage>30</opensearch:itemsPerPage>
  <opensearch:startIndex>0</opensearch:startIndex>
  <s:messages/>
</feed>
Da die Server im Cluster über diesen Port aber so dermassen verbandeld sind, bleibt eigentlich nur die REST Schnittstelle/Suche auf dem web-ui.
Und die bringt die gleiche Antwort halt so:
Bildschirmfoto 2019-05-28 um 11.01.37.png
 
Man kann usb-rs232-wandler direkt am Android-Smartphone betreiben was für mich gleich in mehreren Situationen sehr praktisch ist.
 
Damit kann man sich unter Android mit einem weiteren Pegelwandler mit einer Simatic S5 über Step5 das in einer Dosbox installiert ist verbinden. :) Oder auch mit einem älteren Multimeter.
 
Wie?! Schon 2 Jahre kein Post mehr hier im Thread? Das muss ich mal ändern.

Nicht heute gelernt, aber diese Woche endlich ausprobiert: Man kann SSH und SSHd so konfigurieren, dass die sudo-Authentifizierung auf dem Server per PAM über die SSH-Anmeldung läuft! Damit kann man vermeiden, (immer wieder) ein Password für administrative Aufgaben mit sudo eingeben zu müssen UND gleichzeitig auch das riskante passwort-lose sudo!

Mag sein, dass das auch in Michael W. Lucas' SSH Mastery drin gewesen wäre... Ich hörte erst kürzlich von Bernard Spil auf Twitter davon. Auf Nachfrage war er dann so freundlich, ein kleines Howto dazu zu veröffentlichen. Das habe ich diese Woche auf verschiedenen Servern bzw. Jails angewendet und bin glücklich.
 
Oh wow.... wenn man über die Ports das OpenJDK17 bauen will, baut er das OpenJDK16, weil die Abhängigkeit besteht. Dies hat OpenJDK15 als Abhängigkeit. Dies hat OpenJDK14 als Abhängigkeit... das wiederum OpenJDK13, das wiederum OpenJDK12. Erst 12 hat boostrap-openjdk11 an als Endstation.

:ugly:
 
Zurück
Oben