• ú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
    PJOTRIK
    PJOTRIK --- ---
    ale jo, to ze ma clovek svuj oblibenej editor chapu a nikomu neberu... jen pokazdy kdyz prijde rec na ST tak dotycnej vytahne tyhle viceradkovy upravy jako killer feature a mne to moc nedava smysl
    URZA
    URZA --- ---
    Tak já mám ST jako default textový editor ve windowsech, tak jsem na něj zvyklej..
    PJOTRIK
    PJOTRIK --- ---
    URZA: a k cemu je to vlastne dobry? ja na potrebu podobny upravy narazim jednou za uherak a resim to hromadnym search/replace s regularama a neprijde mi ze bych ztracel cas
    SAJAGI
    SAJAGI --- ---
    URZA: Popravdě nevím, já vimař taky nejsem, ale někteří kolegové používají a velmi si pochvalují...
    URZA
    URZA --- ---
    SAJAGI: Viděl jsem, ale já zase Vim zas tak moc neumim, jen uplne zaklady.... umi to treba ten multiline a multiselection edit? To se mi na ST fakt hodne libi...
    SAJAGI
    SAJAGI --- ---
    URZA: VsVim? :)
    URZA
    URZA --- ---
    Toto je dost dobrá vychytávka pokud máte rádi SublimeText:

    http://stackoverflow.com/a/23053242/1194613

    Návod jak přidat do Visual Studia vlastní command (s klávesovou zkratkou), který otevře editovaný soubor v ST s kurzorem na stejné pozici jako byl ve VS.

    Já používám když chci udělat něco co VS editor neumí, např. multiselect/multiline edity (VS je umí jen omezeně oproti ST).
    NECROMAN
    NECROMAN --- ---
    Windows 10 SDK Preview pro vyvoj Universal Apps je venku!
    Windows 10 for developers – Windows app development
    http://dev.windows.com/en-us/windows-10-for-developers
    Visual Studio Tools for Windows 10 Technical Preview - Somasegar's blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/...rchive/2015/03/23/visual-studio-tools-for-windows-10-technical-preview.aspx
    MORMEGIL
    MORMEGIL --- ---
    MILASEK: Možná jsme si neporozuměli: V .NET se o to určitě nemusí na téhle úrovni vůbec starat, o implementaci klienta vůbec nepochybuju, já se ptám na implementaci serveru v PHP, jestli náhodou ten server neočekává, že hned s prvním požadavkem dostane v hlavičce jméno a heslo.

    Jinak ano, WSDL soubor stačí naimportovat a o vytvoření obslužných tříd se postará .NET. Ale ve WSDL se nějaké použití basic autentizace vůbec neudává, to je zabezpečení transportní vrstvy, takže je poté potřeba ještě dokonfigurovat, že se má používat basic autentizace (a samozřejmě dodat to jméno a heslo).
    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);
    }
    
    Kliknutím sem můžete změnit nastavení reklam