Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo meine lieben Fachinformatiker,

mit diesem Thread greife ich mal folgenden Post auf:

Ich habe mir kurz ein Programm geschrieben, welches mir die geposteten Gehälter auflistet, nach einwenig manuellen rum formatieren der erhaltenen Ausgabe ging es dann weiter durch das Programm zur genauen Auswertung.

Anschließend die Ergebnisse in ein Diagramm gepackt, und Voilá!
Hier ist eine Grafische Darstellung der Beiträge aus: In welchem Alter habt Ihr eure Ausbildung angefangen?

 

Die Durchschnittliche Vergütungserhöhung pro Jahr:

91bb5928dc0e66c534464b4904c1d0dc.png

Die Aufteilung der verschiedenen Gehälter:

894d89dcf71c0c45ef8994a204a0616b.png

08fef24f9c787555a181745106242b28.png

ba6a4eebab269aed6b61f086e3b26053.png

938bd5790577676c1dd6bd0eb99f8be9.png

 

 

Falls jemand an dem Source vom Programm (Um die Rawdata zu holen) interessiert ist:

private readonly String AZUBITHREAD = "https://www.fachinformatiker.de/index.php?/topic/150679-in-welchem-alter-habt-ihr-eure-ausbildung-angefangen/";
        private readonly String DYNAMICTHREAD = "https://www.fachinformatiker.de/index.php?/topic/150679-in-welchem-alter-habt-ihr-eure-ausbildung-angefangen/&page={0}";
        private readonly String[] SPECIALSTUFF = new String[] { "<p>", "</p>", "Ausbildungsgehalt (1/2/3 Lehrjahr):" , " "};

                private String GetStringBetweenStrings(String source, String s1, String s2)
        {
            String output = "";
            String part1 = source.Split(new string[] { s1 }, StringSplitOptions.RemoveEmptyEntries)[1];
            output = part1.Split(new string[] { s2 }, StringSplitOptions.RemoveEmptyEntries)[0];
            return output;
        }
                private bool IsGehalt(String s)
        {
            if (!s.Contains(":"))
            {
                return false;
            }
            int charIndex = s.IndexOf(':');

            try
            {
                return IsNumeric(s.ElementAt(charIndex + 2).ToString());
            }catch
            {
                return false;
            }
        }
                private String RemoveSpecialStuff(String s)
        {
            String output = s;
            foreach (String val in SPECIALSTUFF)
            {
                output = output.Replace(val, "");
            }
            return output.TrimStart().TrimEnd();
        }
                private bool IsNumeric(String s)
        {
            int v;
            return int.TryParse(s, out v);
        }
        private String FetchData()
        {
            WebClient client = new WebClient()
            {
                Proxy = null
            };
            String firstPull = client.DownloadString(AZUBITHREAD);
            StringBuilder strBuild = new StringBuilder("");
            int maxPages = int.Parse(GetStringBetweenStrings(firstPull, "Seite 1 von ", " "));

            RichTextBox tmpBox = new RichTextBox();
            for (int page = 1; page <= maxPages; page++)
            {
                tmpBox.Text = client.DownloadString(String.Format(DYNAMICTHREAD, page));
                foreach (String line in tmpBox.Lines)
                {
                    if (line.Contains("Ausbildungsgehalt") && IsGehalt(line))
                    {
                        strBuild.AppendLine(RemoveSpecialStuff(line));
                    }
                }
            }
            return strBuild.ToString();
        }

 

Bearbeitet von GlumiChan

Hallo GlumiChan,

Find ich gut, jetzt muss das noch aktualisiert werden. Nach jedem neuen Eintrag bzw. zB. einmal jährlich. Vielleicht sogar im Board implementiert.

Grüße

Micha

  • Autor

Falls Interesse an der Erhaltung dieser Auswertung besteht kann ich ja ne kleine Website schreiben, wo man die ganzen Auswertungen live sehen kann & unten dann jeder seine Gehälter einfügen kann, die dann direkt in die Statistik mit einfließen können.

(Natürlich mit einpaar Vorkehrungen um Trolls fernzuhalten)

MFG GlumiChan

Bearbeitet von GlumiChan

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.