• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    MARASAN
    MARASAN --- ---
    QWWERTY: tyve, to je terror!
    QWWERTY
    QWWERTY --- ---
    UNTOY: krome in-person se ti pak jeste nabizi zavest podminky jak PearsonVue pro remote certifikacni zkousky
    e.g. mit hard requirements na prostredi, pred samotnym pohovorem povinny 360 webcam scan mistnosti (vcetne prostoru pod pocitacem/klavesnici), 1 monitor only, a cele interview pres dedikovanou aplikaci, ktera omezi co ten clovek muze delat
    napr. PearsonVue zkouska se nespusti kdyz detekuje takovou blbost jako je aktivni taskmanager nebo libovolny dalsi proces, ktery by ti behem pohovoru umoznil snadno opustit testovaci prostredi
    GARFIELD
    GARFIELD --- ---
    UNTOY: delat pohovory osobne. 🥲
    UNTOY
    UNTOY --- ---
    Nedavno se tady nakouslo to podvadeni na pohovorech pomoci AI. Posledni 3 kandidati ktere jsem pohovoroval naprosto viditelne cetli vsechny odpovedi z vedlejsiho monitoru a nevim jak si muzou vubec myslet ze je to nenapadny a neviditelny a zacinam rozumet tomu jak ucitelky ve skole vzdycky dokazaly vyhmatnout kdyz nekdo podvadel.
    Treba zrovna vcera jsem se borce na rozehrati zeptal kdyby zacal delat novou mikroservisu, tak jaky stack by si na to vybral a on byl tak locknuty ze nedokazal odpovedet sam ani na tohle, ze i recruiterka ktera byla na callu mi pak psala, ze i ona videla jak absolutne off byl.

    Ten styl AI odpovedi je tak charakteristicky ze bych to poznal i se zavrenyma ocima, ale pokud se tyhle veci budou zlepsovat i nadale, tak je mozne, ze to nebudu schopny odchytit. Mate nejaky osvedceny metody jak tomuhle predchazet nebo jak to detekovat? Diky.
    MICRO
    MICRO --- ---
    Myslím, že nic nedemonstruje skomírání C++ víc než to, že v roce 2025 stále nemá prakticky použitelnou podporu pro Unicode; aneb zkus vypsat UTF-8 řetězec do konzole.
    VOY
    VOY --- ---
    ALMAD: Takze rikas, ze v duchodu bude co delat? :-)
    FARIN
    FARIN --- ---
    NOHOUS: to by šlo přes Proxy bez kopírování
    SULTHAN
    SULTHAN --- ---
    NOHOUS: Ok, když už teda chceš mít lokální kopii velkých dat (což není úplně ideální návrh), tak do určité velikosti dat (řekněme do délky 10k) je pořád nejlepší udělat shallow-copy listu a pak udělat změnu na té kopii a dosadit kopii do dat. Je to nejjednodušší a zabere to maximálne pár ms.
    Pokud máš dat víc, tak hodně záleží na tom, jaké operace chceš přesně dělat. Například - pokud v listu budeš jen měnit data ale nebudeš přidávat a odebírat nové položky, nemusíš to implementovat jako prosté pole, ale můžeš vymyslet o něco složitější strukturu.

    Samozřejmě, jak jsem řekl už dřív, v Reactu tě nikdo nenutí používat immutables, tj. klidně si to můžeš zmutovat napřímo - akorát pak musíš pořešit detekci změn - což je nesnažší udělat přes sekundární proměnnou last-updated/version, kterou změníš pokaždé, když změníš pole.
    Tyhle věci se v Reactu naprosto běžně používají, ale jelikož je to víc low-level, tak se to často skrývá do nějakých custom hooks.

    A tím bych tohle offtopic téma uzavřel.
    NOHOUS
    NOHOUS --- ---
    SULTHAN: a ted chci zmenit jednu polozku uvnitr toho listu v reakci na update inputu v radku komponenty. Jsem zvedav, zda se ti to povede asymptoticky rychleji, nez v O(n) (n je delka listu)
    SULTHAN
    SULTHAN --- ---
    NOHOUS: tvl, za prvé jsme těžce offtopic, zadruhé to popisuješ tak abstraktně, že v tom není vidět žádná složitost.
    Ale - předpokládejme třeba, že máš data jako list (?) a že podmnožina je teda nějaký sublist udaný indexem a délkou? Mno, tak komponenta, která zobrazuje tu podmnožina má na vstupu ten list, index a délku.
    Nikde žádné kopírování nevidím.
    NOHOUS
    NOHOUS --- ---
    SULTHAN: dobre, tak mi rekni, jak bys to resil ty? Chci lokalni kopii dat v klientovi a zobrazovat bezpecne viditelnou podmnozinu bez kopirovani (a mit moznost delat v datech zmeny). Ale ja frontend developer nejsem, ja jenom zasnu.
    SULTHAN
    SULTHAN --- ---
    NOHOUS: "správně"? v programování máš vždycky víc možností a tvoje otázka je tak obecná, že na ní nelze odpovědět. Na první pohled to zní jako něco, co každý FE programátor dělá 20x denně a nevidím na tom nic složiého.
    NOHOUS
    NOHOUS --- ---
    SULTHAN: cili jak se teda "spravne" resi v reactu zobrazeni podmnoziny vetsiho souboru dat pri zachovani single source of truth tech dat?
    SULTHAN
    SULTHAN --- ---
    NOHOUS: Hele, to zní spíš jako špatný návrh datového modelu programátorem než že by to mělo něco společného s Reactem nebo Javascriptem.
    NOHOUS
    NOHOUS --- ---
    SULTHAN: mluvim o datech, ktera predstavuji stav frontendu. Defaultne via useState() maji koren v komponente, ktera je zaroven jejich zobrazovacim korenenem. Pokud takovy data chces ukazovat na vic mistech, je z toho glorifikovany globalni stav. Ano, mame useContext.

    Pokud ti prijde normalni pri updatu jednoho radku v tabulce zkopirovat 10k referenci, ty novy pak jeste se starejma porovnat a na zaver vypustit na puvodni sadu garbage collect, tak mne teda ne, protoze to mel bejt jeden callback - klidne odlozenej, pokud chces mit zmenu stavu atomicky.
    SULTHAN
    SULTHAN --- ---
    NOHOUS: Vůbec netuším, o jakém datovém modelu kopírující něco mluvíš, ale jsem si dost jistý, že tam nic takového není, jelikož React určitě nikomu neříká, jak se má dělat datový model.
    Obávám se, že immutables je dobrá věc prakticky v každém programovacím jazyku a upřímně - React je nijak zvlášť neprosazuje ani na nich není závislý (i když dost věcí díky vlastnostem Javascriptu dost zjednoduší).
    NAVARA
    NAVARA --- ---
    NOHOUS
    NOHOUS --- ---
    nicmene to vysvetluje, proc web vypada jak vypada
    NOHOUS
    NOHOUS --- ---
    SULTHAN: datovy model kopiruje strukturu prezentacni vrstvy? imutabilita - tam asi nekdo vazne upadl na hlavu; takhle pocitace nefungujou
    ALMAD
    ALMAD --- ---
    VOY: Tim sem se utěšoval první dekádu, ale teď už je potřeba si přiznat, že to bude něčim jinym nahrazovaný dýl, než jQuery
    Kliknutím sem můžete změnit nastavení reklam