• ú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
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    LOOCAS: mozna kdyby si byl konkretnejsi, tak bychom treba nasli nejaky reseni, nektere aplikace maji svoje sdk, pokud ne, treba se da najit alternativni aplikace co tu sdk ma, coz muzes primo vyuzivat aniz by ti tu aplikaci spoustel, proste pres sdk udelas co potrebujes a treba i zobrazis to okno aplikace.
    to co tady psaly kluci je dost nepohodlny, levou rukou za hlavu reseni, a taky se na to clovek nemuze spolehnout, matne si pamatuju, ze kdyz sem si s necim podobnym hral, stacilo prehodit focus do jinyho okna a byl problem, ale nejsem si jisty, jestli to bylo primo tohle.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    LOOCAS: Jedna vec je spusteni aplikace uvnitr tvoji aplikace. Druha vec je komunikace mezi obema aplikacema.

    Spusteni aplikace uvnitr svoji aplikace muzes udelat pres "System.Diagnostics.Process.Start()", pak si z toho zjistit MainWindowHandle a pomoci Win32 API funkce "SetParent" presunout dotycne okno dovnitr tvoji aplikace (treba do panelu). Musis si ale osefovat spravny nastaveni velikosti okna atd...

    Co se tyce komunikace s tou aplikaci, tak to je zavisly primo na dotycny aplikaci.
    LOOCAS
    LOOCAS --- ---
    Ahoj lidi, jen rychlej dotaz do placu. Existuje nějakej způsob, jak spustit externí aplikaci uvnitř mojí vlastní aplikace?

    Např. kdybych chtěl na ostro spustit IExplore.exe uvnitř vlastní WinForms aplikace a předávat mu nějaký parametry z tý mojí WinForms aplikace (např. url adresa atp.)

    Tohle byl jen příklad, potřebuju to na jinou aplikaci psanou v C++ s Qt GUI atp.

    Předem díky.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    VIRTUALVOID: to se da lehce zmenit, ovsem je to default, to je pravda
    VIRTUALVOID
    VIRTUALVOID --- ---
    Ale aj taky resharper ma radsej _fieldy
    MINUSQ
    MINUSQ --- ---
    JACHYMKO: jedem podle http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx, takze "_"
    MS to ve spouste sveho kodu pouziva, a presto s tim stylecop ma problem :)
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    SAJAGI: diky
    SAJAGI
    SAJAGI --- ---
    ANDY_WARHOL: "Do not use underscores, hyphens, or any other nonalphanumeric characters."
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    SAJAGI: muzes mi rict, kde na te strance to presne je, ja to tam nevidim.
    SAJAGI
    SAJAGI --- ---
    ANDY_WARHOL: Způsob pojmenovávání identifikátorů je vždy dobrým základem flamewaru snad všude, kde jsem měl tu čest pracovat, a kde dosud tyto konvence nebyly sjednocené.

    Prvním faktem je, že je to dost jedno.

    Druhým faktem je, že naučit se v práci psát identifikátory, odřádkovávání a mezerování jinak, než jsem zvyklý, nevyžaduje mnoho námahy - zvlášť, když jsou k tomu nástroje, které to dělají defakto za tebe (VS, ReSharper).

    Třetím faktem ale taky je, že lidi jsou schopní se o těchto píčovinách hádat do krve.

    Osobně jsem pro "test", a to z několika důvodů:
    - MS to doporučuje (http://msdn.microsoft.com/en-us/library/ms229045.aspx), takže je větší šance, že to používá víc lidí a nebudu muset se to učit pokaždé jinak.
    - líp se mi to čte (člověk vnímá slovo vlastně jen pomocí prvního a posledního písmena a délky. Ještě horší než podtržítko jsou písmenné prefixy)
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    hadame se z kolegou, potrebuju rozsoudit
    on zastava ze se nazvy globalnich privatnich properties udavaji s podtrzitkem na zacatku

    public class Ahoj
    {
    private String _test;
    public Ahoj(string test)
    {
    _test = test;
    }
    }

    ja tvrdim ze ne

    public class Ahoj
    {
    private String test;
    public Ahoj(string test)
    {
    test = test;
    }
    }

    jaky mate nazor a proc vy ?
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    z toho si nic nedelej, ja se tesim az budu zkouset na raspberry pi silverlight.
    MICA
    MICA --- ---
    PIGSTER: No, je to totálně na hovno, ale moc s tim nenadělám
    PIGSTER
    PIGSTER --- ---
    MICA: linux - arm - apache ... jsi si jistej ze asp.net je spravna technologie? i s ohledem na time to market?
    MICA
    MICA --- ---
    TENCOKACISTROMY: Je to smutný a dlouhý příběh o debilitě a tlačení na time-to-market, kterej bych radši nerozebíral :) Zkrátka ten Apache jede na Linuxu na ARMu.
    A já jsem ho dostal do ruky s tím, že na něm vše funguje. Jenže ten kdo to dělal to zkoušel na stránkách tvořený jedním aspx souborem ve kterém bylo jen pár inline divočin, které ale fungují...
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MICA: Ja to kdysi zkousel. Nicmene nedivil bych se, kdyby problem s "App_Code" byl jediny problem na ktery narazis.

    Jedna vec je naportovat behovy prostredi a zakladni knihovny, druha vec je naportovat vsechny ty knihovny a frameworky okolo. Jsi si jistej, ze opravdu chces pouzivat Mono misto .NET Frameworku?
    MICA
    MICA --- ---
    Nemáte někdo zkušenosti s ASP .NET na Apache webserveru na kterym jede Mono framework? Mám problém s tím, že mono ignoruje zdrojáky v App_Code a nevím si s tím rady :-/
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MORMEGIL: Dobre, dobre, zkompiluju si to a diasembluju :).
    MORMEGIL
    MORMEGIL --- ---
    TENCOKACISTROMY: „Udělá to samý“? Přeloží se to na jiný (složitější) IL. Ve výsledku to samozřejmě _udělá_ totéž, resp. s možná trošilinku jinou výkonností (pokud to JIT překladač nezoptimalizuje na totéž).
    NECROMAN
    NECROMAN --- ---
    clanecek na toto tema :)
    best practice je od .NETu 3.5 pouzivat Func a Action
    .net - C#: Why Func<T,bool> instead of Predicate<T>? - Stack Overflow
    http://stackoverflow.com/questions/665494/c-why-funct-bool-instead-of-predicatet
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MORMEGIL: Zadnej vzacnejsi telesnej organ bych na to nevsadil, ale rekl bych ze "new Func<int, bool>(a)" udela to samy co "x => a(x)".
    MORMEGIL
    MORMEGIL --- ---
    TENCOKACISTROMY: To je zbytečný, stačí použít plnou syntaxi místo té implicitně typující zkratky:

    Predicate<int> a = x=> x==42;
    Func<int, bool> b = new Func<int, bool>(a);
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Maji stejnou signaturu, ale je to jiny typ.
    Lze to obejit obalenim anonymni metodou:
    Predicate<int> a = x=> x==42;
    Func<int, bool> b = x => a(x);
    
    return b(15);
    
    NECROMAN
    NECROMAN --- ---
    takova drobnost, na co jsem prave narazil - bohuzel nelze priradit
    Predicate<T>
    do typu
    Func<T, bool>
    ac ma oboje identickou signaturu :(
    ALCATOR
    ALCATOR --- ---
    NECROMAN: Rozhodně bych doporučoval zvolit některou z volně dostupných implementací, protože už třeba jen ta manipulace s těmi obrovskými čísly, která tam uvnitř je, je prostorem pro takové množství exploitů, že se z toho posereš, když to zkusíš naprogramovat sám. RSA a další jsou přitom v kdejakém opensource, takže by mělo jít něco najít. Tohle byl hned první odkaz při hledání RSA c#
    NECROMAN
    NECROMAN --- ---
    SLUPKA: nechci to psat uplne sam, ale jen se ptam, jak se treba pouziva RSACryptoServiceProvider a zda to funguje tak snadno, jako v tom samplu?
    SLUPKA
    SLUPKA --- ---
    NECROMAN: Co tě motivuje k tomu, aby sis to psal sám?
    NECROMAN
    NECROMAN --- ---
    mate nekdo zkusenosti s implementaci asymetricke kryptografie v c# zalozene treba na RSA?

    Ma predstava je vytvorit jendoduchou appku, kde vygeneruji dva klice, verejny a soukromy a dale bude fungovat, ze pujde zasifrovat zprava soukromym a rozsifrovat verejnym klicem a naopak. Funguje takto RSA, nebo je to trochu slozitejsi? Pro jednoduchost predpokladejme, ze distribuci klicu mam vyresenou a certifikacni autority nebudu pouzivat, jen vlastni klice :)

    idealne by to melo byt takto jednoduche:

    CryptoProvider c = new CryptoProvider(some_settings);

    Key k1, k2;
    c.CreateKeyPair(out k1, out k2);

    string s = "secret message";

    string encrypted = k1.Encrypt(s); // idealne aby encrypted byl v base64

    string decrypted = k2.Decrypt(encrypted);

    if (s == decrypted)
    {
    // it works!
    }

    URZA
    URZA --- ---
    btw jsem si prave vsiml ze asp.net razor atd dali opensource http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx

    super :)
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    me ani tak nevadi chodit do prace, jenze sem ted ve firme, ktera za to stoji, nejlepsi zamestnavatel, problem je z to je v reichu a ja se budu muset vratit, protoze moje zena tu nechce byt na porad. a prave se desim toho, ze bych zase byl v nejake ceske firme.
    je to opravdu nebe a dudy
    Kliknutím sem můžete změnit nastavení reklam