• ú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
    SLUPKA
    SLUPKA --- ---
    NECROMAN: taky souhlas. Obecně české knížky o programování za moc nestojí, ty překlady jsou šílené a často s chybami.
    PISKVOR
    PISKVOR --- ---
    NECROMAN: Pokud jí angličtina nečiní obtíže, naprosto jednoznačně originál. Pokoušel jsem se o čtení překladu, a nedá se to; překladatel se sice snažil urputně, ale dopadlo to všelijak. Jinými slovy, když trávím velkou část dumáním nad tím, co tím chtěli básníci říci (totiž překladatel, potažmo autor), a nakonec se uchýlím k reverse engineeringu a přemýšlím, co tohle asi tak mohlo být v originále, je něco špatně.

    (Pro srovnání podotýkám, že na rozdíl od Dokonalého kódu se mi Code Complete čte mnohem lépe.)
    NECROMAN
    NECROMAN --- ---
    Dotaz, segra je prave v prvaku na CVUT - FIT a chci ji koupit knizku Code Complete / Dokonaly kod.
    Mel bych spis koupit original, nebo ceskou verzi? Anglicky umi dobre. Dale nejaky tip, kde to v Cesku sehnat? Dik :)
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    Mimochodem, nezkousel tady nekdo neco vic v BOO? puvodne jsem to povazoval proste jen za obycejny NET jazyk se syntaxi pythonu a ignoroval ho, ale nedavno jsem na to chvilku koukal a spousta veci se mi tam dost zamlouva / vypada, ze by mohla prijemne usetrit praci, protoze do urcite miry resi to, co mi v c# obcas chybi - nejaka podpora metaprogramovani, hlavne kodove atributy, ktere dokazi jednoduchou deklaraci obalit kodem, ktery by se musel jinak psat porad rucne (veci jako singletony atd)
    NECROMAN
    NECROMAN --- ---
    ROTTWEILER: na tu jsem narazil, bohuzel jsem potreboval pokud mozno 1:1 kopii toho .NET BigIntegeru.
    NECROMAN
    NECROMAN --- ---
    SHIGORBIRDMAN: no uz to jsou tri roky :)
    BigInteger je pouze v .NET 4.0+, neni v Silverlightu, WP7-8 a ani ve Windows Runtime pro Win8 Metro appky.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    NECROMAN: mrkve uz zase udelaly jiny framework pro mobily? :/ (biginteger snad v normalnim netu je)
    NECROMAN
    NECROMAN --- ---
    SHIGORBIRDMAN: portuji neco z .NET do WP8 a chybi mi tam trida BigInteger, ta z Mono funguje v pohode.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    a jo, koukam ze class libraries jsou ted MIT, uz ne LGPL jak si pamatuju
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ja myslel, ze runtime je LGPL.

    pokad je na class libraries MIT a potrebujes neco z nich, tak ok, to by nemel byt problem (coz tam vylovil zajimaveho?)
    NECROMAN
    NECROMAN --- ---
    SHIGORBIRDMAN: samotne Mono zadnou licenci nevyzaduje, jen kdybych buildoval s MonoTouch/MonoDroid/Xamarin. Navic podle tohoto je na Class Libraries MIT licence, ktera umoznuje pouziti v closed-source projektech, takze by to melo byt OK
    FAQ: Licensing - Mono
    http://www.mono-project.com/FAQ:_Licensing
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    NECROMAN: ne, pokud si neporidis licenci.
    NECROMAN
    NECROMAN --- ---
    Je tu nejaky expert na licencovani aplikace/zdrojaku? Mohu ve sve komercni closed-source aplikaci pouzit jednu tridu/soubor z projektu Mono?
    NECROMAN
    NECROMAN --- ---
    Publikoval jsem NuGet package "WP.IO" pro snadnou praci se soubory ve WP8 projektech:
    https://wpio.codeplex.com
    Je to defakto jen implementace trid FileIO a PathIO z Windows 8/WinRT, ktere nejsou z nejakeho duvodu ve WP8 API pritomne.
    Na nacteni obsahu souboru ted staci jen toto, pohoda :)
    string content = await PathIO.ReadTextAsync("ms-appdata:///local/myfile.txt");
    na zapsani dat
    await PathIO.WriteTextAsync("ms-appdata:///local/myfile.txt", "hello world");
    KRUPPI
    KRUPPI --- ---
    SIRLOON: hehe jasně na pastebinu chybí. Psal jsem to tam from scratch jen pro představu jak ten kod vypada. Zkompilovat to jde a tu vyjímku opravdu vyhazuje ta metoda PutAsync když se snaží serializovat ty data.
    SIRLOON
    SIRLOON --- ---
    KRUPPI: nechybi ti tam strednik za tim localhostem?
    KRUPPI
    KRUPPI --- ---
    Zdravím, potřeboval bych poradit s voláním http api. Konkrétně se serializací dat.

    Mám nějaký objekt Foo který nese data, která se snažím se pomocí HttpClient třídy odeslat na api který běží na PHP a akceptuje data jako FormUrlEncoded. Takže můj kód vypadá nějak takhle:

    [C#] var url = "http://localhost" var data = new Foo(); var client = new HttpClient - Pastebin.com
    http://pastebin.com/hn81L4Ct

    tohle mi vyhazuje vyjímku InvalidOperationException s tím, že:

    The configured formatter 'System.Net.Http.Formatting.FormUrlEncodedMediaTypeFormatter' cannot write an object of type 'Foo'.

    Pochopil jsem, že tenhle formáter je pouze pro to, aby web api fw dokázal bindovat právě form data na objekty a ne obráceně tak jak to potřebuji já. Zajímalo by mě tedy jak správně serializovat ty data?
    GOSHEWAN
    GOSHEWAN --- ---
    MORMEGIL: Sorry, nemam. Bylo to nejake me zmateni - napsal jsem to asi lip nez jsem si myslel [:
    MORMEGIL
    MORMEGIL --- ---
    GOSHEWAN: A opravdu tam máš spoustu velkých shodných stringů…?
    GOSHEWAN
    GOSHEWAN --- ---
    Mam dotaz na String.Intern(); - zdedil jsem aplikaci, ktera slouzi jako cache a search engine. Vyhledava v zaznamech podle jednoho jejich atributu, ktery je typu string. Musi umet 'starts with' a 'contains'.
    Puvodne pouzivala SortedDictionary<string, Item> na 'starts with' a obycejny Dictionary<string, List<Item>> na 'contains' - pregenerovala si do neho substringy.
    Ted jsem to predelal na RadixTree a nejenze to je pametove podstatne lepsi, ale vytvoreni te cache je rychlejsi. Vyhledavani je 'prijatelne' pomalejsi (ma to miliony zaznamu).

    Jadro otazky spociva v tom, ze jsem pouzival String.Intern() v domeni, ze to usetri pamet, ale pri pokusu jsem to odstranil a ukazalo se, ze pametova narocnost se vubec nezmenila (!!!). Cele se to tim podstatne zrychlilo, protoze String.Intern() je dost pomale. Jak je ale mozne, ze to zere porad stejne pameti? Nejedna se o literaly...
    NECROMAN
    NECROMAN --- ---
    Microsoft sjednotil registraci do Store - za jedno zaplaceni 19$ tedka ziskate rok pristupu jako do WP tak i do Windows 8 Store - pekne oni!
    Unifying Developer Registration: Windows and Windows Phone
    http://blogs.windows.com/...013/11/06/unifying-developer-registration-windows-and-windows-phone.aspx
    Kliknutím sem můžete změnit nastavení reklam