• naurM
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    edit-2
    6 days ago

    Też mnie zaskoczyla wypowiedź o parsowaniu JSONa.
    Dwurdzeniowy procesor 240 MHz ma z tym niby jakiś problem?
    Czemu zamiast HTMLa nie użyć po prostu jakiegoś prostego frameworku UI do embedded (LVGL i Slint obsługują ESP32).
    Prawdę mówiąc domyślam się, jaka jest odpowiedź (podobnie jak ludzie w komentarzach na lobste.rs).

    • サぺルOP
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      5 days ago

      W tamtejszych komentarzach są też komentarze autora.

      Tyle, że autor wyraża jakieś zapotrzebowanie. Sądząc po projektach w których uczestniczyłem w Europie, to zapotrzebowanie jest szersze. Ludzie raczej nie chcą się dostosowywać do wymogów kontrolerów. Chcą by to one się dostosowały do nich. Sam JSON nie był dużym problemem. Bardziej dynamiczna manipulacja stringami w RAM. Tego się nie da osiągnąć bez MMU i defragmentacji pamięci. Może nie miałem wtedy tyle charyzmy. Ale wszelkie próby przekonywania i wymyślania jak to pogodzić na różne sposoby, kończyły się ignorowaniem.

      • naurM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        5 days ago

        Dla mnie walka z ograniczeniami to najlepsza część pracy w IT.
        Gdyby ktoś mi powiedział, że każdy problem mam rozwiązać jakimś API Cloudflare’a czy Amazona, to pewnie szybko by mnie to znudziło.

        Alokacji pamięci podczas parsowania można uniknąć używająć interfejsu SAX zamiast DOM.
        Żeby uniknąć fragmentacji pamięci pewnie zrobiłbym alokator zwracający uchwyty zamiast wskaźników. Pozwoliłoby to przenosić swobodnie dane, które nie są w danej chwili używane. Prawdziwy adres dostawałoby się dopiero po zalockowaniu handle’a. Gdyby pamięci było relatywnie mało, próbowałbym to optymalizować interningiem.

        • サぺルOP
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          5 days ago

          Ja bym nie powiedział, że to walka z ograniczeniami. Nazwałbym to stworzeniem czegoś dobrego. Takie rzeczy wymagają włożenia więcej pracy, poświęcenia uwagi.

          Są też ludzie, którzy wolą zrealizować zadanie. Móc je łatwo utrzymywać i rozwijać. Chcą żeby większość pracochłonności była już rozwiązana tak jak na platformie, którą znają i lubią.

          Myślę, że dla takich są kontrolery z Linuksem. Z jakiegoś powodu ich nie wybierają. Podejrzewam, że wtedy ma się inne kłopoty.

          Na szczęście jestem w innym świecie, gdzie rozumie się wymagania platformy.

          Parsowanie to był najmniejszy problem. Oni chcieli cały czas dane trzymać w JSON. W wielkim dynamicznym stringu.