• ú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
    MILASEK
    MILASEK --- ---
    MORMEGIL: No, upřímně, na této úrovni to nikdy nebylo potřeba řešit, jelikož to za nás řešila implementace soap serveru v php. Nějak jsem doufal, že v .net existuje nějaká třída pro obsluhu soap klienta, která již má tyto věci vyřešené a programátor to nemusí ručně programovat a ošetřovat. Nebo případně nějaké doporučené nastavení. Klient něco psal o webové prezentaci wsdl souboru, kterou si dokáže VB načíst a podle toho vygenerovat (asi) obslužnou třídu. Takovou věc jsem nikdy neřešil a vždy si vystačil pouze s wsdl souborem, který jsem uváděl v minulém příspěvku.
    MORMEGIL
    MORMEGIL --- ---
    MILASEK: Co to znamená „k nám dorazí neautorizovaný“? Máte třeba záznam komunikace z Wiresharku? Basic HTTP autentizace funguje tak, že klient pošle neautentizovaný požadavek, server mu na to odpoví 401 Unauthorized s hlavičkou WWW-Authenticate: Basic, načež klient pošle požadavek znovu, tentokráte již s hlavičkou Authorization. Jestli očekáváte, že klient pošle hlavičku Authorization rovnou, tak to očekáváte špatně.
    MILASEK
    MILASEK --- ---
    Ahoj,

    potřeboval bych poradit s problémem .NET, komunikace pomocí soap.
    Nášemu klientovi se nedaří s námi spojit a provést autorizovaný request. Standardně máme komunikaci naprogramovanou v PHP, proto mu bohužel nedokážeme poradit.

    wsdl pro soap zde https://elogist.comgate.cz/api/soap?wsdl

    K našemu serveru se přihlašuje pomocí http basic autentizace. Klientovi se to ovšem nedaří, i když vyplní autorizační hlavičku, k nám dorazí jako neautorizovaný. Máte s tím někdo zkušenosti? Případně nám něco chybí pro bezproblémovou komunikaci s .NET klientem?

    Díky

    NECROMAN
    NECROMAN --- ---
    Par mych dojmu z MWC Microsoft dev prednasky:

    ...Zajimavejsi byly dev session odpoledne - Microsoft mluvil o novych prvcich pro vyvoj Windows 10 Universal apps - bylo potvrzeno, ze u Windows 10 bude opravdu uz jen 1 projekt, jeden appx a pobezi vsude. Nove panely: SplitView pro hamburger navigaci, RelativePanel pro relativni pozicovani prvku vedle sebe, XAML Views - neco jako partial classes, ale pro XAML, kdy lze definovat ruzny XAML pro ruzne platformy. Dale bylo ukazovano, jak bude fungovat zmena layoutu u mobilu/tabletu/desktopu/xboxu, pomoci takoveho vylepseneho a jednodussiho VisualStateManageru. Byla tam i moznost osahat si betu noveho Visual Studia s Windows 10 SDK + nejake challenges, kde jsem nakonec ziskal bezdratovou Fatboy podlozku pro mobil :)

    Zatim to nevypada, ze bude dostupna beta toho SDK pred Build konferenci, ale kdo vi. Pro me byla ta odpoledni session mile prekvapeni, fakt jsem necekal, ze Microsoft bude mluvit o Windows 10 SDK jeste pred Build konferenci, a bez NDA.
    NECROMAN
    NECROMAN --- ---
    Je venku Visual Studio 2015 CTP6 a Team Foundation Server 2015 CTP1
    Visual Studio 2015 CTP 6 and Team Foundation Server 2015 CTP Released - The Visual Studio Blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/.../visual-studio-2015-ctp-6-and-team-foundation-server-2015-ctp-released.aspx

    A dokonce vyslo i Microsoft Band Preview SDK
    Microsoft Band - Developers
    http://developer.microsoftband.com/
    FREELA
    FREELA --- ---
    Nejaka free nebo levna knihovna na pdf -> docx konverzi? Vsude chteji 500-800$ :(
    PJOTRIK
    PJOTRIK --- ---
    MORMEGIL: Jo, jde mi hlavne o pouziti a ne nutne jen u funkci, hodne by se mi libilo kdybych mohl psat veci jako
    (bla, ble, blo) = "aaa,bbb,ccc".Split(',');


    za link diky, treba pattern matching by byl taky fajn
    MORMEGIL
    MORMEGIL --- ---
    PJOTRIK: Nejsem si jist, jestli chápu. Myslíš tím syntaxi skriptovacích jazyků typu
    success, result_list = do_something(blabla)
    ?
    To v C# možná třeba v C# 7 bude, ale ta syntaxe zjednodušuje _použití_ té funkce, ale nic nemění na tom, že ta metoda nějaký konkrétní typ mít musí (na rozdíl od netypovaných skriptovacích jazyků) a tím bude právě takovýhle nějaký Tuple nebo něco podobného.
    PJOTRIK
    PJOTRIK --- ---
    Jinak podobny navratovy typy jako
    Tuple<List<T>, List<T>, List<Tuple<T, T>>>
    jsou jedna vec co me na c# docela stve, chybi mi ta moznost prirazovat seznam do seznamu jako typicky v skriptovacich jazycich. Nemate nekdo prehled jestli se chysta nejaka sikovna ficura v tomhle smeru?
    PJOTRIK
    PJOTRIK --- ---
    JULIEEHARSHAW: jako jo, to o premature optimization vsichni zname, ale tady srovnavame reseni ktery je primocary a v pripade takovyhleho zabaleni do metody i lip citelny s resenim ktery je neefektivni a v budoucim ctenari vyvola akorat zmateni proc se tam vsechny ty operace delaji a jestli tam neni nejaky nenapadny sideefect. Za me je vitez jasny - mluvim teda o pripade kdy ten kod pisu, u existujiciho otestovanyho kodu bych to bez duvodu nemenil.
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: Takže bych to viděl třeba jako (převod z T[] na IEnumerable<T> ponechán jako cvičení čtenáři):

    private static Tuple<List<T>, List<T>, List<Tuple<T, T>>> CompareItems<T>(T[] oldItems, T[] newItems)
    	where T : IComparable<T>
    {
    	var i1 = 0;
    	var i2 = 0;
    	var onlyOld = new List<T>();
    	var onlyNew = new List<T>();
    	var pairs = new List<Tuple<T, T>>();
    
    	while (i1 < oldItems.Length || i2 < newItems.Length)
    	{
    		var compare = i1 < oldItems.Length && i2 < newItems.Length
    			? oldItems[i1].CompareTo(newItems[i2])
    			: i1 >= oldItems.Length ? +1 : -1;
    
    		if (compare == 0)
    		{
    			pairs.Add(Tuple.Create(oldItems[i1++], newItems[i2++]));
    		}
    		else if (compare > 0)
    		{
    			onlyNew.Add(newItems[i2++]);
    		}
    		else //if (compare < 0)
    		{
    			onlyOld.Add(oldItems[i1++]);
    		}
    	}
    
    	return Tuple.Create(onlyOld, onlyNew, pairs);
    }
    
    PJOTRIK
    PJOTRIK --- ---
    NECROMAN: Pokud to mas serazene, tak jednoduse jedna iterace, porovnanim vyber ve kterem listu se mas posunout a prihod prvek/y do spravneho seznamu. Takhle to prochazis zbytecne cele nekolikrat
    VERLIBA
    VERLIBA --- ---
    VERLIBA: radeji iteratory nez indexy
    VERLIBA
    VERLIBA --- ---
    NECROMAN: obavam se ze pro nejoptimalnejsi reseni budes potrebovat sahnout ke dvema indexum, (jeden v A druhy v B) a dokud obe indexy nebudou na konci, tak iterovat, a v kazde iteraci se rozhodovat, co udelas sanymi prvky.. Jinak exstuje urcite hodne suboptimalnich reseni, ktera budou krasnejsi na pohled.
    NECROMAN
    NECROMAN --- ---
    Jeden algoritmicky dotaz, mam dva Listy A a B s objekty typu P.
    Jak v C# co nejefektivneji ziskat seznam prvku, ktere jsou jenom v A, jen v B a potom seznam Tuplu prvku, ktere jsou v obou listech, vzdy Tuple<P,P> kde prvni prvek je z A a druhy z B?
    Ted mam toto a premyslim, zda to udelat efektivneji, aby se zbytecne nealokovala pole a nebylo tam vice pruchodu navic.
    Predpoklad je, ze pole jsou jiz sesortovane.

    private static IEnumerable<T> CompareItems<T>(T[] oldItems, T[] newItems)
    {
    T[] removedItems = oldItems.Except(newItems).ToArray();
    T[] addedItems = newItems.Except(oldItems).ToArray();

    T[] sameOld = oldItems.Except(removedItems).ToArray();
    T[] sameNew = newItems.Except(addedItems).ToArray();
    Tuple<T, T>[] zip = sameOld.Zip(sameNew, (i1, i2) => new Tuple<T, T>(i1, i2)).ToArray();
    }
    P19
    P19 --- ---
    JULIEEHARSHAW: Jj, mám, díky. Vyzkouším.
    P19
    P19 --- ---
    MORMEGIL: Jo takhle. Tak díky, už je mi to jasný.
    MORMEGIL
    MORMEGIL --- ---
    P19: Hlavička sestává z klíče a hodnoty, přičemž klíč je od hodnoty oddělen dvojtečkou. V tomto případě tedy: Klíčem (označením hlavičky) je „Content-Type“, hodnotou této hlavičky je „text/plain; charset=UTF-16“. Nic víc, nic míň. Ale taktéž bych se přimlouval raději za UTF-8 místo UTF-16…
    P19
    P19 --- ---
    JULIEEHARSHAW: No dobře, a to tam přidám jak? message.Header.Add přijímá klíč value. Tak co je klíč? Content-Type a druhý klíč je charset?
    Nebo tomu teda nerozumím.
    VERLIBA
    VERLIBA --- ---
    PECA: to posledni cislo je tusim build, ne ? Takze paklize pro dva ruzne buildy zmenis API, pak asi neco spatne. Zkus pri zmene api amenit alespon tu treti pozici, ne-li druhou nebo prvni.
    Kliknutím sem můžete změnit nastavení reklam