• ú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
    SIRLOON
    SIRLOON --- ---
    NECROMAN: nejde tu commandline cosi narvat do nejakeho dockeru a mit otevrenej kanal output?
    NECROMAN
    NECROMAN --- ---
    Řeším jednu věc, mám jednu složitější webaplikaci, ze které potřebuji tahat data. Ta appka nemá veřejné api, ale je k ní dostupná commandline aplikace.
    Jak byste zakomponovali tuhle 3rd party commandline aplikaci do vaší .NET Core/ASP.NET Core aplikace, aby spolu spolehlivě komunikovaly? Napadá mě jen vždy pustit tu cli appku v novém procesu s danými parametry a počkat, co z zní vypadne na stdout nebo stderr.
    NECROMAN
    NECROMAN --- ---
    UETOYO: Čistě náhodou jsem mapy.cz pár let vyvíjel. S odkazy to bylo o něco složitější, jednak mobilní appky řešily otevírání odkazů všech možných formátů, od copypasta odkazů z webu mapy.cz, Google Maps, i různé geo: formáty, druhak řešily generování odkazů při "sdílení" z appky. Tam se obvykle volal interní fast-rpc backend pro encoding dat s hromadou parametrů a vypadl Uri typu https://mapy.cz/s/mojufujepu

    Link zahrnoval odkaz do databáze, kde se k danému místu uváděla nejen Lat a Lon, ale i zoom, typ mapy, zda je nějaký špendlík na mapě a také, zda je k tomu zobrazený i nějaký Poi v panelu vedle, popř zda je to odkaz na panoramu či 3D, atd.

    Když se dívám na web, tak by neměl být problém použít tento formát:
    https://mapy.cz/....3289766&y=50.0947629&z=16&source=coor&id=14.331079411315926%2C50.094122752338535
    string uri = $"https://mapy.cz/zakladni?x={lon}&y={lat}&z={zoom}&source=coor&id={lon}%2C{lat}";
    LUKOYE
    LUKOYE --- ---
    Hezký den všem, poprosil bych o radu, jsem naprostý laik v programování. Mám excelovský dokument s GPS koordináty (např. 50.1036;14.473571661376967;;Hlavní město Praha;CZ;180 00). Potřeboval bych z toho textu udělat jednoduchý hyperodkaz, který mi to GPS otevře v mapy.cz a ukáže mi špendlík s tím, kde se ten bod nachází. Může to být asi i jiný program, ale mapy.cz to umění přečíst i s tím ";Hlavní město Praha;CZ;180 00". Je jedno odkud se to bude otevírat. Neměl by někdo nápad? Předem díky


    FONTAN
    FONTAN --- ---
    nemate nekdo prosim tip na dobrej, klidne placenej, user control s media playerem, ktery umi "nativne" prehravat webm - do wpf .net 4.6+ aplikace - neco jako control nad libvlc nebo tak
    NECROMAN
    NECROMAN --- ---
    SMOKY: hlavně ten getter není ani thread-safe, to asi ale nemá ani smysl zmiňovat.
    MORMEGIL
    MORMEGIL --- ---
    LARS_GUNNER: Ano, jako metoda cojávím ReceiveBytes to klidně dává smysl, ale getter by se neměl pouštět do žádných větších akcí.
    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
    Kliknutím sem můžete změnit nastavení reklam