Programozás - kezdő

[ Megoldva ] Tinkercad típusú script nyelv létezik?

Nem vagyok jártas a CAD programokban, de egyszerűbb 3D objektumok összerakásához a tinkercad megközelítése nekem kezdőnek is nagyon jól használható. Egyszerű alap objektumokból, mint hasáb, gömb, gúla, méretezéssel, összeolvasztással és kivágással már egészen jó tárgyakat sikerült létrehoznom.

Olyannyira kezelhetőnek látszik ez a megközelítés, hogy nem lepne meg, ha már létezne egy ilyen script nyelv is, amin ugyanezzel a módszerrel leprogramozhatnék tárgyakat. Kerestem ilyen nyelvet, de sajnos még nem találtam. A tinkercad oldalán vizuálisan még programot is lehet készíteni, ami generál 3d objektumokat, de csak a végeredmény tölthető le.

Létezik egyáltalán 3D objektumokat ilyen módon generáló script nyelv?

ESP8266 http POST kérés nem megy...

Sziasztok!

Csináltam egy ESP8266 alapon egy 5 csatornás hőmérsékletmérő eszközt, ami WiFi-n HTTP POST-al tolná
föl az adatokat egy szerverre. (Arduino framework, Platform.IO)
Nem értem, a válasz a POST kérésnek:
"HTTP Response code: 400" - tehát valami szintaktikai hiba lehet?! Már a szemem kifolyik, nem találom
a hibám.
Ez a programrész:

bool puthttp() {
    bool result = false;
    long rssi = WiFi.RSSI();
    String localip = WiFi.localIP().toString();
    WiFiClient client;
    HTTPClient http;

    char jsonstr[400];
    char jsonstr2[100];
    char jsonstr3[30];

    Serial.println(serverstr);

    snprintf(jsonstr, sizeof(jsonstr), "{\"device_id\":%d, \"ip_address\":\"%s\", \"ssid\":\"%s\", \"rssi\":%d, ",didx,localip.c_str(),ssidstr,rssi);
    snprintf(jsonstr2, sizeof(jsonstr2), "\"value_1\":%.1f, \"value_2\":%.1f, \"value_3\":%.1f, \"value_4\":%.1f, \"value_5\":%.1f, ",hom1,hom2,hom3,hom4,hom5);
    snprintf(jsonstr3, sizeof(jsonstr3), "\"timestamp\":%ld}", helyiUTC);
    strncat(jsonstr, jsonstr2, sizeof(jsonstr2));
    strncat(jsonstr, jsonstr3, sizeof(jsonstr3));

    Serial.println(jsonstr);

    // Your Domain name with URL path or IP address with path
    Serial.print("http.begin:");
    bool mi = http.begin(client, serverstr);
    
    Serial.println(mi);
    http.addHeader("Content-Type", "application/json");

    int httpResponseCode = http.POST(jsonstr);
    //int httpResponseCode = http.POST("{\"value\": 20 }");
    Serial.print("HTTP Response code: ");
    Serial.println(httpResponseCode);
    http.end();
    if (httpResponseCode == 200) result = true;
    return result;
}

És ez a készített "jsonstr":
{"device_id":10170, "ip_address":"192.168.3.162", "ssid":"gentoom", "rssi":-62, "value_1":22.8, "value_2":-100.0,
"value_3":-100.0, "value_4":-100.0, "value_5":-100.0, "timestamp":1709045163}

Köszönöm!
Roland

Amatő C-program építő jellegű kritizálása

Sziasztok !

Én soha nem tanultam programozni semmilyen iskolában, mégis érdekel. Készítettem magamnak egy kis programot, amit egy megszerzett, régi kocsmai zenegépen használok. Nincs teljesen kész de működik.

Azt szeretném kérni, ha van egy kis időtök, nézzétek meg milyen ordas hibák vannak benne :-)

https://mega.nz/folder/r8shyDxY#g3DSqrBaedWYvK0Vqdicig

 

Előre is köszönöm.

JS: addEventListener-nek fn-t átadni változóként + param

Span attribútumból szedném az functiont és a paramot, amiket szeretnék hozzáadni addEventListenerrel.

 

Pár sor kód, többet ér ezer szónál. Szóval íme, ahogyan nem megy:

<span data-function="scriptem" data-param="paraméter">

<script>

  if(e.hasAttribute("data-function")) {
            let fn = e.getAttribute("data-function");
            let param = e.getAttribute("data-param");
            let cb = (fn) => fn(param);
            e.addEventListener('click', cb);
        }

</script>

[Megoldva] Scratch program max érték

Csináltam egy kis példa programot a scratch felületen. https://scratch.mit.edu/projects/939123279

Létrehoztam a személyek száma, név, magasság, legmagasabb változókat, bekértem az adatokat és nevek és magasságok listába tettem őket. Eddig minden rendben van. Sajnos a végén elakadtam az összehasonlítással. Pythonban ugye ott a "max" függvény. De itt ugye iterációkkal kellene megoldanom, hogy ki a legmagasabb. De mit is hasonlítok mivel? És melyik elemet cserélem melyikre? Biztosan pofonegyszerű a megoldás, de sajnos elakadtam.

Középiskolás kezdő(dő) programozó milyen programnyelvvel kezdjen?

A fiam 15 éves és kevés számítógépes alappal, de annál nagyobb lelkesedéssel szeretne saját programokat, játékokat fejleszteni. Készített már kisebb animációkat, sprite-okat, saját zenéket, képeket, de szeretne a játékprogram készítésbe belevágni. Kiválóan olvas és beszél angolul, az angol nyelvű tartalom jobb lenne mint a magyar.

Kérdéseim: 

  • kell-e bármilyen megelőző alapismeret mielőtt elkezd egy nyelvet tanulni? 
  • milyen nyelvet lenne érdemes tanulnia?
  • milyen tananyagot, tematikát találunk ehhez és hol? 

Ha lehet olyan anyagot ajánljatok amivel önállóan is tud tanulni, gyakorolni. Ez lehet könyv, webkurzus, youtube tartalom, stb. Olyat szeretnék ami egy komplex összeállítás, nem csak innen-onna összeollózott DIY dolog. Ha fizetős, az sem baj. Én szívesen segítek neki, de mivel jómagam üzemeltetés területen mozgolódok, a programozás nálam kimerül a scriptírásban, kódolvasásban. A játékprogramokat maximum csak kikapcsolódásra használom. Szeretnék ennél jobb alapot adni neki a tanuláshoz. Jöhetnek az ötletek és a gyakorlati tapasztalatok. Hasonló cipőben előrébb járó szülők, szaktársak előnyben. :) Köszönöm.

[Megoldva] Makefile láma

Írok egy programot, ami sok osztályt definiál, és minden osztály egy-egy külön fájlban van, ráadásul mappákba szervezve.

Szeretnék írni egy Makefile-t mindehhez, hogy a fordító lefordíthassa.

A Makefile-ban a címke után fel kellene sorolnom az összes forrásfájlt, vagy van erre valami egyszerűbb megoldás is? Az lenne a legkényelmesebb, ha megadhatnék mappát/mappákat, és a mappán belül minden fájlt figyelne, hogy történt-e változás.

Vagy mi a kulturált módja a sokfájlos Makefile elkészítésének?

Egy megoldás:

FILES=$(shell find ./classes -type f -name '*.class')
main: $(FILES)

fájlok átnevezése

Képeket dolgoznék fel szkripttel, és most dilemma az mv parancs. Mi van ha már létezik olyan nevű fájl azon a helyen ahová az mv parancs tenné az aktuális feldolgozandó fájlt? mv --backup=numbered file to/ 
Ezzel csak az gondom hogy a kiterjesztés után teszi a növekvő számokat az azonos fájlok esetén. pic001.jpg > pic001.jpg.~1~  pic001.jpg.~2~  stb. Így még a képnéző sem látja.

Én inkább ilyen megoldást keresek: pic001.jpg > pic001_1.jpg pic001_2.jpg stb. Hogyan oldhatom meg ezt?