Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Irdorath, statixx, Teh Wizard of Aiz


 Thema: Software-Entwicklung 1 ( Nach log4j ist nichts mehr wie es war )
« erste « vorherige 1 ... 19 20 21 22 [23] 24 25 26 27 ... 42 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
AJ Alpha

AUP Brot 18.02.2024
Referenz verstanden




17.03.2023 22:45:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Swot

swot
Ich habe einen JSON String, in dem State Changes protkolliert werden. D.h. der Inhalt kann relativ beliebig sein (und damit auch die Struktur).

Beispiel:

 
Code:
{
    "components": {
        "comp1": {
            "base": {
                "app": {
                    "ioIn": {
                        "in24v": [2242, 2245],
                        "ntc": [2941, 2940],
                        "flow1": [10356185, 10356197]
                    }
                }
            }
        },
        "comp2": {
            "base": {
                "app": {
                    "ioIn": {
                        "in12v": [1234, 1237],
                        "ntc": [7, 8],
                        "flow2": [9, 10]
                    }
                }
            }
        }
    }
}


Auf der letzten Ebene das Array ist immer nach dem Schema [altwert, neuwert]. Das oben ist ein Beispiel, es kann auch sein dass man nur 2 Ebenen hat oder 7..

Ich möchte alle "Neuwerte" rausziehen, die sich darin finden. Das ist ja relativ einfach. Wozu mein IQ nicht reicht ist, dass ich den "Pfad" (oder wie nennt man das bei JSON?) auch mitnehme. Also in der Form:

components.comp1.base.app.ioIn.in24v => 2245

Ich bin das rekursiv angegangen. Aber ich weiß nicht so recht, wie das dynamische Händeln vom Pfad gelöst werden kann.

Hier die Funktion als PHP-Code:
 
Code:
$json = json_decode($jsonStr); // load as json object

iterate($json, $myData, $path);

function iterate($json, &$data = array(), &$path = '')
{
	if(is_object($json))
	{
		foreach($json as $k => $v)
		{
		
			if(is_array($json->$k)) // last level with values [old, new]
			{
				$data[$path.$k] = $json->$k[1]; // store as associative array
				continue;
			}
			
			$path .= $k.'.';
			iterate($json->$k, $data, $path);
			$path = ''; // reset path				
		}		
	}
	else
	{
		// do nothing
	}
}


Mit den Eingangsdaten oben sind die ersten 3 Werte richtig. Bei den zweiten 3 aber fehlt dann der erste Knoten "components", da der Pfad ja mittendrin komplett zurückgesetzt wird. Muss ich mir merken in welcher Ebene ich bin und dann den Pfad immer nur anteilig zurücksetzen oder was wäre hier ein schlauer Ansatz? verwirrt
18.03.2023 9:42:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gutholz

Arctic
 
Zitat von [KdM]MrDeath

Pygame könnt sich doch gut dafür eignen?

https://love2d.org/ wäre was ähnliches mit Lua statt Python.
Geht auch auf Android und mit multi-touch support, das habe ich aber noch nie benutzt.
18.03.2023 9:48:00  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
X-Tender

AUP X-Tender 19.01.2009
 
Zitat von Swot

Ich habe einen JSON String[...]



Kannst du anhand einer Beispiel Eingabe eine Beispiel Ausgabe zeigen?

Also soll dann sowas bei rauskommen?

 
Code:
{
    "components": {
        "comp1": {
            "base": {
                "app": {
                    "ioIn": {
                        "in24v": 2245,
                        "ntc": 2940,
                        "flow1": 10356197
                    }
                }
            }
        },
        "comp2": {
            "base": {
                "app": {
                    "ioIn": {
                        "in12v": 1237,
                        "ntc": 8,
                        "flow2": 10
                    }
                }
            }
        }
    }
}
18.03.2023 10:13:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Swot

swot
@X-Tender: Am liebsten einfach als simples assoziatives Array:

Beispielausgabe (auf Basis der obigen Beispieleingabe). Was ein var_dump($data) eben ausspuckt:

array (size=6)
'components.comp1.base.app.ioIn.in24v' => int 2245
'components.comp1.base.app.ioIn.ntcCarb' => int 2940
'components.comp1.base.app.ioIn.flow1' => int 10356197
'components.comp2.base.app.ioIn.in12v' => int 1237
'components.comp2.base.app.ioIn.ntcCarb' => int 8
'components.comp2.base.app.ioIn.flow2' => int 10

kann aber natürlich auch als nicht-assoziatives sein:

array(
array('components.comp1.base.app.ioIn.in24v', 2245)
...
)

Streng genommen ist mir dieser Pfad gar nicht so wichtig, aber ich muss die Werte zwangsläufig unterscheiden. Wenn ich nur "ntc=xyz" nehme, dann weiß man ja nicht mehr ob diese zu comp1 oder comp2 gehörte.
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Swot am 18.03.2023 10:32]
18.03.2023 10:28:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
X-Tender

AUP X-Tender 19.01.2009
 
Code:
function getNewValueWithPath(&$data, $path = '', &$result = []) {
    foreach ($data as $key => &$value) {
        $newPath = $path ? "$path.$key" : $key;
        if (is_object($value)) {
            getNewValueWithPath($value, $newPath, $result);
        } else {
            $result[$newPath] = $value[1];
        }
    }
}

$data = json_decode($json, false);
getNewValueWithPath($data,'',$result);

$output = json_encode($result, JSON_PRETTY_PRINT);
echo $output;


Bringt diese Ausgabe bei deinem json

 
Code:
{
    "components.comp1.base.app.ioIn.in24v": 2245,
    "components.comp1.base.app.ioIn.ntc": 2940,
    "components.comp1.base.app.ioIn.flow1": 10356197,
    "components.comp2.base.app.ioIn.in12v": 1237,
    "components.comp2.base.app.ioIn.ntc": 8,
    "components.comp2.base.app.ioIn.flow2": 10
}

[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von X-Tender am 18.03.2023 10:34]
18.03.2023 10:33:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Swot

swot
...
Top, macht genau das, was es soll. Vielen Dank.

Eine Frage nachdem ich es noch durchgegangen bin: Wozu der Referenz-Operator in der foreach Schleife (&$value)? Lässt man den weg, scheint sich auch nichts zu ändern.
18.03.2023 11:51:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KdM]MrDeath

mrdeath2
 
Zitat von Swot

Mit den Eingangsdaten oben sind die ersten 3 Werte richtig. Bei den zweiten 3 aber fehlt dann der erste Knoten "components", da der Pfad ja mittendrin komplett zurückgesetzt wird.


erm das problem hast du glaube ich richtig erkannt? wie wär es mit dem versuch das dann einfach nicht zu machen? Augenzwinkern
z.b.
die drei zeilen

 
Code:
			$path .= $k.'.';
			iterate($json->$k, $data, $path);
			$path = ''; // reset path				


durch
 
Code:
			iterate($json->$k, $data, $path.$k.'.');

zu ersetzen?
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [KdM]MrDeath am 18.03.2023 11:53]
18.03.2023 11:53:12  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Swot

swot
Tatsache, da lag mein Fehler also. Ich meine klar bin ich auf die Idee gekommen es nicht zu tun, aber ich hatte den Parameter $path per Referenz übergeben (irgendwie dachte ich das sei alternativlos) und dadurch wurde der immer weiter konkateniert, sodass Blödsinn rauskam Breites Grinsen

Danke auch dir fürs Drüberschauen!
18.03.2023 12:13:48  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
X-Tender

AUP X-Tender 19.01.2009
 
Zitat von Swot

Top, macht genau das, was es soll. Vielen Dank.

Eine Frage nachdem ich es noch durchgegangen bin: Wozu der Referenz-Operator in der foreach Schleife (&$value)? Lässt man den weg, scheint sich auch nichts zu ändern.



Ja. War noch ein uberbleibsel als ich dachte es soll als selbe Struktur Objekt zurückgegeben werden.
Frickel Artefakte.
18.03.2023 12:28:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
PutzFrau

Phoenix Female
Jemand hat schdaddigs auf Wish bestellt, um ein sehr naises Video über hash tables zu machen:



20.03.2023 3:04:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018


Schönen Gruß an Ameisenfutter. Augenzwinkern
20.03.2023 22:14:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
PutzFrau

Phoenix Female
Der einzige Zufallsgenerator, der zufälliger ist als Zufall?

20.03.2023 23:37:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ameisenfutter

AUP Ameisenfutter 23.12.2022
 
Zitat von Oli



Schönen Gruß an Ameisenfutter. Augenzwinkern



In der Signalgruppe kam (natürlich von mir) schon der Jokus, dass die Wagenreihung vermutlich kryptografisch sicher sei. Bin einfach 1 funny dude

/ Dass ich die memes von Arbeitskolllegen zugespielt kriege bevor sie hier im p0t landen ist natürlich ein Armutszeugnis. Ihr werdet alt.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Ameisenfutter am 21.03.2023 6:05]
21.03.2023 5:58:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
BrainDeadPsychoman

BrainDeadPsychoman
 
Zitat von X-Tender

https://i.imgflip.com/7etv1i.jpg


nur übertroffen von "kombaliert". Arghhhh der muss noch "kombalieren"
21.03.2023 12:15:12  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
KingGinord

kingginord
 
Zitat von PutzFrau

Jemand hat schdaddigs auf Wish bestellt, um ein sehr naises Video über hash tables zu machen:

https://www.youtube.com/watch?v=DMQ_HcNSOAI





Cooles video, danke.

Allerdings interessiert sich auf der Arbeit niemand für Performanceoptimierung traurig
"Kost ja nichts" Mentalität.
Aber es gibt ja noch Menschen mit Visionen
21.03.2023 12:39:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Atomsk

Atomsk
Pfeil
ich weiß, spätzünder, aber ich spiel auch grad mal etwas mit chat-gpt rum und lass mir spasshalber skripte für diverse routinetasks generieren.
zwar nicht perfekt, aber durchaus zu gebrauchen - vor allem wenn man statt 20min coden nur 2min beschreiben und dann nochmal 2min prüfen muss peinlich/erstaunt
21.03.2023 17:11:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
homer is alive

AUP homer is alive 14.03.2022
Für die Shell? Das funktioniert tatsächlich ganz gut, komplexere Sachen haben bei mir allerdings eher selten geklappt.
21.03.2023 17:36:19  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
X-Tender

AUP X-Tender 19.01.2009
Für das Erstellen bzw. Bootstrappen von CI scripts ist es auch gut zu gebrauchen
21.03.2023 17:44:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Atomsk

Atomsk
Pfeil
 
Zitat von homer is alive

Für die Shell? Das funktioniert tatsächlich ganz gut, komplexere Sachen haben bei mir allerdings eher selten geklappt.



powershell.

ich stoß momentan eher bei mir selbst an die grenzen, im sinne dass ich mir bei manchen sachen nicht sicher bin, wie ich sie nur in prosa beschreiben soll.
21.03.2023 17:50:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
Ist hier jemand von euch auf exercism.io registriert? Das ist ne Plattform um neue Sprachen zu lernen, mit insgesamt knapp 70 language tracks mit mindestens ner Handvoll Übungsaufgaben, zusätzlich bei den älteren Tracks auch etwas Lernmaterial usw. dabei. Außerdem kann man sich Hilfe von anderen holen, wenn's mal wo hängt und natürlich auch den Code von anderen reviewen. Eigentlich ganz nice. Kann evtl. auch in den Startpost.

Weil ich gerade Elternzeit und damit mehr Computerzeit (privat aber) habe als sonst, probier ich nun mal etwas konkreter mit funktionaler Programmierung wärmer zu werden und hab dafür die Tracks für Elixir und F# angepackt. Jetzt hab ich hier ne Lösung in F#, welche sich für mich einfach krude anfühlt, ohne genau zu wissen warum, mein Mentoring Request hängt aber schon seit 3 Tagen in der Queue und niemand hat Bock wie's aussieht. Breites Grinsen

Hier gibt's doch Leute die sich zumindest mit Haskell, Erlang, Elixir auskennen. Hat jemand Bock sich mal meinen Mist anzusehen?

https://exercism.org/mentoring/external_requests/2447e6781e364e5a83609b4622b1c7e7
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von statixx am 27.03.2023 9:41]
27.03.2023 9:40:44  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
KingGinord

kingginord
Kenn mich mit den mathematisch ästhetischen funktionalen Sprachen nicht, aber danke für den Tipp.

Will schon die eine oder andere Sprache noch neu lernen, aber hab oft nicht so die Idee mit was zu starten fröhlich
27.03.2023 10:13:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
Die 12in23-challenge ist dafür die beste Gelegenheit. Noch 3 Tage Zeit um das März-Fleißkärtchen abzugreifen. Breites Grinsen
27.03.2023 10:25:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
KingGinord

kingginord
Das geht mir alles zu schnell heutzutage Breites Grinsen
27.03.2023 10:34:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hardCoreGEN

AUP hardCoreGEN 03.02.2016
Frage für einen Freund aus Indien: Er hat von der TUHH eine Zusage für Computer Science bekommen und wartet gleichzeitig auf die FAU Erlangen. Sollte er von dort auch eine Zusage bekommen, welche Fakultät ist ihm eher zu empfehlen?
Danke!
27.03.2023 17:55:21  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KdM]MrDeath

mrdeath2
 
Zitat von statixx

Ist hier jemand von euch auf exercism.io registriert? Das ist ne Plattform um neue Sprachen zu lernen, mit insgesamt knapp 70 language tracks mit mindestens ner Handvoll Übungsaufgaben, zusätzlich bei den älteren Tracks auch etwas Lernmaterial usw. dabei. Außerdem kann man sich Hilfe von anderen holen, wenn's mal wo hängt und natürlich auch den Code von anderen reviewen. Eigentlich ganz nice. Kann evtl. auch in den Startpost.

Weil ich gerade Elternzeit und damit mehr Computerzeit (privat aber) habe als sonst, probier ich nun mal etwas konkreter mit funktionaler Programmierung wärmer zu werden und hab dafür die Tracks für Elixir und F# angepackt. Jetzt hab ich hier ne Lösung in F#, welche sich für mich einfach krude anfühlt, ohne genau zu wissen warum, mein Mentoring Request hängt aber schon seit 3 Tagen in der Queue und niemand hat Bock wie's aussieht. Breites Grinsen

Hier gibt's doch Leute die sich zumindest mit Haskell, Erlang, Elixir auskennen. Hat jemand Bock sich mal meinen Mist anzusehen?

https://exercism.org/mentoring/external_requests/2447e6781e364e5a83609b4622b1c7e7


kann zwar kein F# aber ein bischen funktional kann ja jeder, nech?
hab da jetzt dreimal auf "mentor werden" geklickt aber seh nichts... gnah
28.03.2023 1:31:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mc.smurf

tf2_soldier.png
 
Zitat von hardCoreGEN

Frage für einen Freund aus Indien: Er hat von der TUHH eine Zusage für Computer Science bekommen und wartet gleichzeitig auf die FAU Erlangen. Sollte er von dort auch eine Zusage bekommen, welche Fakultät ist ihm eher zu empfehlen?
Danke!


Erlangen weil ist schön hier Breites Grinsen aber ganz praktischer Aspekt: Wohnungssuche berücksichtigen, ist in Erlangen teilweise höchst nervig. Siehe z.B. https://www.br.de/nachrichten/bayern/zimmer-frei-uni-und-stadt-erlangen-suchen-studentenwohnungen,TVNfkQw dazu. Kann natürlich in Hamburg ähnlich sein, dazu kenn ich die Stadt zu wenig. Ansonsten ist die Region in Sachen IT zu empfehlen da es doch einiges an Firmen hier aus dem Bereich gibt.
¤: In Erlangen dürften Inder auch die größte Gruppe an Ausländer sein (bedingt durch die Firmen und die Uni).
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von mc.smurf am 28.03.2023 7:18]
28.03.2023 7:14:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
 
Zitat von [KdM]MrDeath

kann zwar kein F# aber ein bischen funktional kann ja jeder, nech?
hab da jetzt dreimal auf "mentor werden" geklickt aber seh nichts... gnah


Mag dran liegen dass sich gestern doch noch jemand erbarmt hat. Breites Grinsen

Danke dir trotzdem! Ich überarbeitete es heut mal, kann dann ja für shits and giggles ein vorher/nachdas posten.
28.03.2023 7:30:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
homer is alive

AUP homer is alive 14.03.2022
Selbiges bei mir. Habe zwar kein f# aber Scala gemacht, konsebsuell kann man das ja schon zum Teil übertragen
28.03.2023 8:05:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hardCoreGEN

AUP hardCoreGEN 03.02.2016
 
Zitat von mc.smurf

 
Zitat von hardCoreGEN

Frage für einen Freund aus Indien: Er hat von der TUHH eine Zusage für Computer Science bekommen und wartet gleichzeitig auf die FAU Erlangen. Sollte er von dort auch eine Zusage bekommen, welche Fakultät ist ihm eher zu empfehlen?
Danke!


Erlangen weil ist schön hier Breites Grinsen aber ganz praktischer Aspekt: Wohnungssuche berücksichtigen, ist in Erlangen teilweise höchst nervig. Siehe z.B. https://www.br.de/nachrichten/bayern/zimmer-frei-uni-und-stadt-erlangen-suchen-studentenwohnungen,TVNfkQw dazu. Kann natürlich in Hamburg ähnlich sein, dazu kenn ich die Stadt zu wenig. Ansonsten ist die Region in Sachen IT zu empfehlen da es doch einiges an Firmen hier aus dem Bereich gibt.
¤: In Erlangen dürften Inder auch die größte Gruppe an Ausländer sein (bedingt durch die Firmen und die Uni).


Danke, die Info gebe ich so weiter.
28.03.2023 8:55:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Software-Entwicklung 1 ( Nach log4j ist nichts mehr wie es war )
« erste « vorherige 1 ... 19 20 21 22 [23] 24 25 26 27 ... 42 nächste » letzte »

mods.de - Forum » Public Offtopic » 

Hop to:  

| tech | impressum