• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: ajo, na tema komprese symbolu uz jsem myslim googlil a pak jsem shorel na tom, ze bych musel upgradovat gcc (nebo linker? uz nevim) v dockeru (pouzivame celkem archaicky tooly). 2. a 3. se podivam, diky

    jj pretty print frontendu se nesnasi s lokalne nastavenym pretty printem, na to uz si davam pozor (resp. rychle se dozvim, ze sem na to zapomnel)

    (mluvim o debug buildu, u release bych si na chybici info nestezoval)


    JANFROG: jo clovece, dalsi bocni projekty muzu pribirat az deti vyrostou :) T-1x let a odpocitavam ;)
    JANFROG
    JANFROG --- ---
    GDB committer here :-)

    pokud mas 3GB DWARF infa, bude to pomale, DWARF neni uplne jednoduchej format. Co pomaha je 1. stlacit debuginfo, hledej dwz. 2. Pridat index, hledej gdb-add-index 3. nove GDB umi castecne paralelizovat cteni debug infa, delal to Tom Tromey, zeptej se na mailing listu.

    > manualne prochazet mapy listu se shared pointrama na stringy... kuuurva!
    Co delam ja v podobnych pripadech je to hledam kusem kodu v Pythonu.

    Ten zbytek je proste plyne z toho, ze GDB je CLI tool, ne klikaci frontend. Co se tyce frontendu, pouzivam vlastni v kombinaci s vlastnimi pretty printery. Problem neni ani tak v GDB/MI jako spis ze frontendy to casto neumi v kombinaci s temi pretty-printery
    (viz `-enable-pretty-printing` https://sourceware.org/gdb/current/onlinedocs/gdb.html/GDB_002fMI-Variable-Objects.html#GDB_002fMI-Variable-Objects).

    Co se tyce neuplnych dat apod, casto je to o tom ze data jsou tak uplna jak uplne je debug info. A GCC to obcas proste zahodi a pak se nema v GDB ceho chytit (a propagace debug infa v prekladaci je dost obtiznej problem sam o sobe. s tim mam take svou zkusenost :-)
    KLEINZACH
    KLEINZACH --- ---
    -any GDB

    prosimvas, pouzivate nejakej rozumnej front end (staci textovej) ke gdb? nebo sem jedinej kdo s tim kramem zapasi? :)

    pokazdy kdyz neco delam v gdb tak me to vlastne sere. asi nejvic:
    - pomalost (pracuju s binarkama > 3 giga). jeden blbej preklep, aby gdb hledalo v tabulce symbolu a je pomalu rychlejsi to killnout a zacit znovu nez cekat
    - pretty printing je dost casto buggy/nestabilni (jasne, neni primo gdb vina, ale manualne prochazet mapy listu se shared pointrama na stringy... kuuurva!)
    - neprehlednost.. furt musim nekde neco psat a zjistovat, misto abych videl rovnou: registry, stack, locals, thready

    co mi na textovym gdb chybi:
    - pohodlnost pri 'bloumani' kodem. dost casto nevim co vlastne hledam a tak jenom trasuju, koukam, nahlizim do datovych struktur co by mohlo bejt relevantni atp. v tomdle me gdb strasne sere, protoze i s tim pretty printem je dost otrava to hledat. ve vizualku je todle mnohem jednodussi, pac clovek proste napul spi a dela klik-klik-klik....-klikklik a vzbudi se az tehdy, kdyz je neco zajimavyho. uz nejsem mladej thread abych jel porad na 100% :)

    co jsem vyzkousel:
    - v minimu pouzivam tui a cgdb.. ale uprimne to je jak sedet na zidli bez sedaku
    - ruzny graficky frontendy typu eclipse, vscode, seer - vsechny maj tu nevyhodu ze jsou ve finale napojeny na ten gdb/mi interface, kterej je imho vetsi pulka problemu (nevim co presne je na tom spatne, rozchazej se interfacy? nebo s tim ty frontendy blbe zachazej?). prochazeni slozitejsich dat bud vubec nefunguje, nebo se na nej nesnesitelne ceka, neuplny data atp
    - par textovych frontentu (neco psanyho v pythonu? zkusim dohledat co to bylo).. problem byla opet stabilita
    - lldb - to zkousim ted, reaguje mnohem svizneji nez gdb a to jejich textovy gui je na pul cesty toho co bych chtel

    asi sem se na jako gamedev na widlich zhejckal - jak je to celkove takovej kompost mezi operacnimi systemy, tak ten jejich debugger je jak perla na.. tom kompostu :)
    DRUDRIGER2
    DRUDRIGER2 --- ---
    ono to je asi prast jak uhod.
    obcas delas framework, nebot je to do prace a si tlaceni casem
    a obcas to udelas cele sam, nebot je to pro kamarada nebo pro sebe a chces se neco noveho naucit a trosku si pohrat, pohrat si s kodem a pohrat se s vlastni hlavou..
    je to asi jako ze vsim, muze to byt raj, muze to byt peklo. s framworkem a nebo bez nej...
    JINX
    JINX --- ---
    AXTHEB: Ne, male frameworky typu FastAPI preferuju pro jednu cast aplikaci a velke typu Rails zase pro jine aplikace. Problem je ze jsem nikdy nedelal Sinatru a s Django nemam moc dobre zkusenost... jsem nechtel zbytecne generalizovat frameworky ve kterych jsem moc nedelal
    AXTHEB
    AXTHEB --- ---
    JINX: Fakt by ses podle use case rozhodoval, jestli ruby nebo python?
    JINX
    JINX --- ---
    VITEX: no ja teda nevim zda bych podle redmine posuzoval rails 🤦
    VITEX
    VITEX --- ---
    JINX: S fast-api nemam zkušenost, ježto jsem k ruby přičuchnul v rámci správy Redmine.
    FARIN
    FARIN --- ---
    VITEX: nemam zkusenost s PHP, ale pokud se bavime o Django tak na tom neni nic mega ani to nutne neznamena vrstvy navic. Zakladni django porad muze byt url mapa a jedna funkce request -> response.
    Zajimava je ta zminka o doplncich, protoze to je skutecne nejvetsi prinos takoveho frameworku.

    Mame u nas jeden projekt a ten misto standarniho frameworku kdysy vytvoril neco vlaatniho.
    A je bolestivi pak koukat, kdyz misto dorucovani business value musi implementovat napr vlastni tridu pro JsonResponse (jasne tohle je drobnost, ale stejnym zpusobe se nabaluje tuna drobnosti ktery by jsi v tom djangu dostal. Tady chces nastavit CORS headers, taky CSRF protection atp.)
    JINX
    JINX --- ---
    VITEX: Muzes to nejak rozvest? Kdybych ted sel delat webovku tak podle use-case/velikosti nebo jinym pozadavkum se budu primarne rozhodovat mezi Rails/FastAPI ty doby kdy se byznys logika prasila primo do view uz jsou doufam pryc :-)
    VITEX
    VITEX --- ---
    DRUDRIGER2: Já se zlepšuju v refactoringu. Používám lintovací nástroje a hrubou práci za mě dělá copilot. Když jsou nejasnosti prokrokuju v debuggeru. To už se pak nechá.
    Spousta lidí nenechá dopustit na megaframeworky typu symfony nebo nette (stejnou zkušenost mám ale i Rails či Django abychom se nebavili jenom o PHP) , ale já to nemám rád, Míra abstrakce a úroveň zanoření jsou neůměrně přebujelé na to, co za to dostanete. Ano je k tomu milon rozšíření a doplňku, ale opravdu bezpracně použít se je daří jenom málokdy.
    DRUDRIGER2
    DRUDRIGER2 --- ---
    VITEX: ano. Ale to musíš za at na zelene louce. Já delal asi 5 let jsem se staral o jeden project v obstaroznem phpku. Pak jsem to vzdal a presel jsem na jiní. S toho mám tu zkušenost s starým php. Jo nový je lepší. Já si pak zvolil jinej jazyk..
    RUDOLF
    RUDOLF --- ---
    JINX: vscode se měl vždy ptal na změny z copilota
    VITEX
    VITEX --- ---
    MARASAN: Ano ve starém PHP můžeš dělat takové prasárny, ale zaděláváš si na problémy. Takže moderní PHP se spíše podobá javě kde není tolik svobody míchat jabka s hruškama a pak se divit že dostaneš ovocný jam.
    MARASAN
    MARASAN --- ---
    Jakoze v PHp se misto struktur delala netypovana pole, kde byly vsechny fieldy predem vyhrazeny jednotlivym atributum?
    zlatej Perl
    AXTHEB
    AXTHEB --- ---
    Tyjo, PHP, arraye... Úplně se ve mně probouzí moje PTSD.
    JINX
    JINX --- ---
    JARDABEREZA: tak zrovna timhle me irituje Copilot. Cursor se chova uplne jinak navic vzdy musim akceptovat/rejectnout zmeny kdezto copilot s vscode to do kodu dava sam a sere tak uzivatele
    DRUDRIGER2
    DRUDRIGER2 --- ---
    MIC: ja sem spise myslel to o cme rikal vitex. v php muzes delat na kazdou kravinu vlastni classu ale tu musim mit v zvlast souboru a moc te to nevde k tomu abys nahradil arraye classama.
    V golangu to jde podstane snaz.
    Znam php a vim ze se da psat typove, ale at jedna vid vyse to s tema classama a druha vec, musis zacinat na zelene louce. proste od nuly
    Navazovat na php project psany s arrayema je peklo to vse predelavat,
    Ale je to flame. kazdy ma rad jini jazyk a ma k tomu jine duvody. stejne jako kazdy pise ten kod trochu jinak, tak neco jako basnik...
    DEEFHA
    DEEFHA --- ---
    JINX: IMHO to záleží. Já jsem s ním hodně spokojený a úplnou blbost jsem od něj neviděl už hodně dlouho. Čím déle ho používám, tím mi jeho výsledky přijdou lepší a lepší.
    JARDABEREZA
    JARDABEREZA --- ---
    JINX: jo. Začnu řádek třeba "throw " a on mi doplní chybovou hlášku s přesnějším popisem než co bych měl chuť tam vypisovat. Na tom není moc co dělat jinak.
    JINX
    JINX --- ---
    DEEFHA: Copilot ale generuje pekne kraviny... je to jen lrpsi naseptavac oproti Cursor/Cline
    Kliknutím sem můžete změnit nastavení reklam