• ú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
    NECROMAN
    NECROMAN --- ---
    SMOKY: hlavně ten getter není ani thread-safe, to asi ale nemá ani smysl zmiňovat.
    LARS_GUNNER
    LARS_GUNNER --- ---
    SMOKY: Pokud bych už nutně musel vstup ihned mazat, get bych do takovéto funkce vůbec nepsal, je tak?
    SMOKY
    SMOKY --- ---
    LARS_GUNNER: Jedno ze zakladnich pravidel je, ze getter ma byt idempotentni.
    LARS_GUNNER
    LARS_GUNNER --- ---
    SMOKY: A jak tedy podle správnosti? S C# teď začínám a bylo by dobré se vyhnout podobným "prasárnám".
    SMOKY
    SMOKY --- ---
    tak hlavne to je prasarna
    LARS_GUNNER
    LARS_GUNNER --- ---
    TOOMIX: Nejsem C# guru, ale v public většinou get nevídám. Pokud se jedná o nulování, může to být kvůli té váze, která vrací nestejnou délku v bytech, jako odpověď.
    TOOMIX
    TOOMIX --- ---
    LARS_GUNNER: cela tahle cast s asynchronnimi sockety se v 99% pouziva pro cteni z vahy po tcp/ip, kdy ta vaha automaticky posila kazdych cca 500-1000ms hodnoty
    LARS_GUNNER
    LARS_GUNNER --- ---
    TOOMIX: To je něco z automatizace? Vypadá to, jakoby to psal PLCčkař. :-) Pokud je receive nestejné délky, a načteš kratší, tak ti v C v poli bytů zůstanou ty vyšší indexy nepřepsané a takto se to někdy ošetřuje.
    SAJAGI
    SAJAGI --- ---
    TOOMIX: IMO to prostě psala nějaká lama, která chtěla, aby se ty gettery daly volat jen jednou, víc bych v tom nehledal.
    ZBYNEK
    ZBYNEK --- ---
    TOOMIX: Smysl mazání v getu je jasnej, po returnu už hodnotu bufferu nesmažeš.

    Pokud se thready neřeší jinde, tak tam teoreticky může být dvojí čtení nebo zápis v průběhu čtení...
    TOOMIX
    TOOMIX --- ---
    ZBYNEK: to ano to tam samozřejmě je, ale uniká mi smysl toho mazání v getu - co když si budu chtít "sáhnout" na to co přišlo 2x? Tak mám podruhé smůlu nebo si to napoprvé musím znovu odlít někam bokem
    ZBYNEK
    ZBYNEK --- ---
    TOOMIX: Ani bych neřekl že to je kvůli thread safety... Prostě se jenom maže buffer. V kódu na jiném místě najdeš místo, kde do toho pole zapisují data ze vstupu.
    TOOMIX
    TOOMIX --- ---
    Narazil jsem na našem frameworku na tento kód po mých předchůdcích v části, kde jsou udělány asynchronní sockety. To "přepisování" a nulování tam může být z důvodu thread safe? Přijde mi to celý divný

    /// <summary>
            /// Bytes received by the Socket
            /// </summary>
            public byte[] ReceivedBytes
            {
                get
                {
                    byte[] temp = null;
                    if (mBytesReceived != null)
                    {
                        temp = mBytesReceived;
                        mBytesReceived = null;
                    }
                    return (temp);
                }
            }
    
    
            /// <summary>
            /// Message send by the Socket
            /// </summary>
            public string WriteText
            {
                get
                {
                    string temp = mTextSent;
                    mTextSent = "";
                    return (temp);
                }
            }
    MUXX
    MUXX --- ---
    Self signed imho nepomuze
    ZBYNEK
    ZBYNEK --- ---
    GIOMIKY: Znám to jenom ve win, potřebuješ pfx certifikát, ve vs v project properties je sekce signing...
    GIOMIKY
    GIOMIKY --- ---
    Ahoj, nevim presne, kam to patri, ale chtel jsem se zeptat, jak podepsat self-signed certifikatem exe soubor. ZKompiloval jsem spustitelny soubor, ale nevim, kde vzit certifikat a jak to podepsat. Optimalne na Linuxu. A poukd mozno, tak vlastnim certifikatem. Vubec nevim, jak to funguje normalne. Ale kdyz to zazipuju, nahraju na server a zase stahnu, tak se mi download nepodari a musim nejak potvrdit ve firefoxu, ze downloadu duveruji.
    [ viz. https://bh.xf.cz/pub/conyx ]
    Nejake navody jsem nasel, ale moc se v sifrovani nevyznam, tak moc nevim, jak na to. Predem diky za nejake nasmerovani.
    TOOMIX
    TOOMIX --- ---
    FONTAN
    FONTAN --- ---
    SUK: to jsem mel v planu zacit zkouset, ale pak mi doslo, ze na nas use case potrebuju neco uplne jineho - takze nastavuju nextcloud a takovou divokou synchronizaci pres to (potrebujeme "ziskat" nahravky videohovoru z whereby a idealne co nejvic bez uzivatelkseho vstupu a tenhle share a mapped drive je prave zavislej na VPN - nextcloud mi bude fungovat za jakehokoli stavu pripojeni)
    SUK
    SUK --- ---
    FONTAN: Spustit "net use" nepomaha?
    ANONYM_CZ
    ANONYM_CZ --- ---
    FONTAN: tak na prasaka ,)
    var process = Process.Start("explorer.exe", @"R:\");
    Thread.Sleep(3000);
    process.Kill();
    FONTAN
    FONTAN --- ---
    ANONYM_CZ: bohuzel ,) [WNetRestoreConnectionW is not available for use as of Windows Vista.]
    ANONYM_CZ
    ANONYM_CZ --- ---
    FONTAN: Co tohle? Nesmi to jen bezet jako sluzba (resp muze, ale pak spustena pod tim userem, ktery ten disk ma mit namapovany) https://stackoverflow.com/a/24394235
    Kliknutím sem můžete změnit nastavení reklam