• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    SUK
    SUK --- ---
    RUTHAN: Normalne nastavujes progressbar defakto taky spatne. Spravne bys mel vzdy predat praci do nejakyho threadu a zmeny v GUI delat jen pres component.Invoke. No a pocitat to muzes ruznymi zpusoby - nejjednodussi je asi mit pole cisel, pro kazdy thread jedno a pro aktualizaci progressbaru tyhle cisla jen secist.
    ICARUS
    ICARUS --- ---
    RUTHAN:

    1) Mit nekde bokem nejakou promennou, treba incrementCount, kterou ve smycce atomicky zinkrementujes a pomoci ni spocitas progres.

    2) Podivej se treba na StringBuilder nebo tak neco. Stringy jsou immutable, takze tim += operatorem pokazdy delas novy string, coz bude klast dost velky tlak na haldu. Proc ten lock nefunguje si nejsem jist - nejspis proto, ze se lockujes na nejakou instanci stringu AllLinesForWrite, kterou pak nahradis nejakou uplne jinou instanci, prave kvuli te immutability. Bud si tam nekde porid externi static object myLock = new object(), nebo muzes lockovat this, nebo treba ten pripadny StringBuilder. Popripade se muzes podivat na Producer/Consumer pattern.
    RUTHAN
    RUTHAN --- ---
    Ahoj,
    patlam si to nejaky convertor dat v C# - Express 2010. Napadlo me to zkusit pustit multithreadove (pres Parallel.For.. ) na 4 jadru je to cca 4 rychlejsi nez na v single threadu, ale mam problem se synchronizaci.. jak se dalo cekat, to bude na tom to slozity. Protoze tomu samozrejme poradne nerozumim, zkousel jsem neco googlit, ale kdovijak daleko jsem se nedostal.

    Jde o formularovou aplikaci, kde jsem oproti singlu threadu narazil na 2 problemy:
    1) jak synchronizovat ProgressBar value? V single threadu ji nastavuje normalne pres ProgressBar.Value = , max vim dopredu, Value - to je pocet iteraci, ktery si v single threadu incrementuju uvnitr toho cyclu co bezi multithreadove.. ale co v multithreadu?

    2) V single threadu si vysledek zapisu do stringu:
    AllLinesForWrite += SourceLine + "\r\n";
    , ktery ve finale potom co skonci Parallel blok zapisuju do souboru, ale pri multithreadu dostavam - diky tomu jen cast, asi za 1 thread.
    Zkousel jsem pouzit lock, ve stylu:
    lock (AllLinesForWrite)
    {
    AllLinesForWrite += SourceLine + "\r\n";
    }
    Ale vysledek je, ze mi to vraci vic dat, ze je na vstupu a nez v single threadu, cili je tam asi neco duplicitniho, nebo je tam jina chyba.

    Da se tohle nastudovat / vyresit nejak rychle, nebo je to moc komplikovany?
    SMOKY
    SMOKY --- ---
    Dneska sme resili zajimavej problem, u objektu byl volany finalizer, aniz by doslo nekdy k exekuci konstruktooru. Vsechny fieldy jsou inicializovane z konstrukoru, takze exception pri inicializaci fieldu to take nebyla. Nakonec sme prisli na to, ze to zbuchne v lambde, ktera se vola v konstruktoru, ale z nejakeho duvodu ji CLR vyhodnocuje driv, nez dojde k exekuci samotneho konstruktoru.
    APH
    APH --- ---
    ak by si chcel niekto (intenzivne) prevetrat vsetky zavity: https://twitter.com/ziki_cz/status/1081153149187117058 :-)
    P19
    P19 --- ---
    ELECTRICKOTA: Tesil jsem to jenom pres WPF. WindowsForms neumim :(
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    Hola mám jednoduchou appku na počasí na plochu (c# .NET), a chtěl bych nastavit Form aby byl pruhledny s rozmazáním formulářem pro lepsi citelnost(neco jako glass Aero efekt, ale stacil by mi fakt jen mírnej blur pozadí), ale jaksi po hodine googlovaní moznych reseni ze v novym NET frameworku od verze 4.5 jaksi chybí windows komponenty ktere toto lehce umoznovali a WPF formular vytvaret nechci.Nekdo nejaky zkusenosti, rady? Dík

    NECROMAN
    NECROMAN --- ---
    H_U_N_T_E_R: nakonec jsem to vyřešil přes svůj OneDrive :)
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    NECROMAN: asi nejlíp RDP a nastavit sdílení lokálního disku. Případně PowerShell a remoting
    NECROMAN
    NECROMAN --- ---
    Dotaz, jak stáhnout z Azure Virtual machine 5GB soubor? Našel jsem jen možnost stáhnout celé 128GB VHD, což mi přijde jako hloupost.
    ROTTWEILER
    ROTTWEILER --- ---
    MORMEGIL: Tak záleží v čem je to API vytvořeno. Pokud je to Rails, Django, ASP.NET, tak není vůbec těžké vygenerovat CRUD kontroléry z šablon a využít datovou a doménovou vrstvu znovu. V případě, že je to něco jednoduší typu Express nebo Sinatra, tak je pak asi lepší SPA.

    Ale udělat dobré SPA je strašně těžké. Spoustu toho co vidím na webu je extrémně pomalé, routing v některých případech zlobí apod. rovněž autentifikace a autorizace není sranda. JWT má spoustu problémů, hlavně kde ho v tom prohlížečí uložit?
    FREELA
    FREELA --- ---
    Mozna jsem objevil ameriku, ale tohle je super:

    C# Online Compiler | .NET Fiddle
    https://dotnetfiddle.net/
    UETOYO
    UETOYO --- ---
    MORMEGIL: Tak ono teoreticky když člověk má hotové REST API, tak udělat SPA
    Tak to děláme, ale opět to chce někoho, kdo rozumí JS, hlavně tedz nějakýmu frameworku -- pořádně -- docela problém :)
    MORMEGIL
    MORMEGIL --- ---
    ROTTWEILER: Tak ono teoreticky když člověk má hotové REST API, tak udělat SPA, které jen volá tohle existující REST API by mělo/mohlo být jednodušší než psát to celé znovu včetně backendu. Teoreticky. (Bohužel realita dnešních JS frameworků až tak růžová není, obávám se.)
    UETOYO
    UETOYO --- ---
    ROTTWEILER: "Nemá cenu se vrhat do SPA pokud s tím clověk nemá zkušenost a chce něco jednoduchého." Jo to je pravda -- aby to nevyznělo, že říkám opak. SPA není vůbec třeba.
    UETOYO
    UETOYO --- ---
    UETOYO: Dneska něco udělat v JS je fakt někdy jednodušší.
    UETOYO
    UETOYO --- ---
    ROTTWEILER: Jaký SPA, nic o SPA jsem neříkal. Já teď dělám spíš v Pythonu, ale tam si všechno radši uděláme v JS, kromě routování -- to prostě děláme přes templatovací systém. Není to SPA, ale co má být zpracované na friontendu to se udělá už tam a na backendu se to maximálně validuje, žádný maštění logiky v template systému.
    ROTTWEILER
    ROTTWEILER --- ---
    UETOYO: Nemá cenu se vrhat do SPA pokud s tím clověk nemá zkušenost a chce něco jednoduchého. I v případě, že s tím člověk má zkušenost, tak i tak bych doporučoval zvážit dvakrát zda to má smysl.

    TOOMIX: Pokud máš jednoduchý web, jdi do Razor Pages. Vždy to můžeš později předělat do MVC, ale Razor Pages jsou super pro jednoduché weby.
    PEPSIN
    PEPSIN --- ---
    Kdyz uz se tady bavime o AS MVC, ted se zabyvam prechodem z klasicke na Core verzi. Mam rozectenou MS dokumentaci, not bad, ale trosku zmatene. MAte nekdo tip na slusny tutorial? (uz jsem tu v minulosti dostal velmi dobre tipy :-) )
    CERMI_FOX
    CERMI_FOX --- ---
    TOOMIX: mezi mvc a razor je jen drobný rozdíl ve struktuře controllerů - mvc má oddělené modely a controllery, razor pages má model a controller spláclé do jednoho VM (a ten model je tamčasto jako nested třída). Jde spíš o preference každého jedince, pro začátečníky či menší projekty je nicméně Razor Pages jednodušší, aniž by tím nějak trpěla funkčnost (obojí umí to samé)
    Kliknutím sem můžete změnit nastavení reklam