Posts

Showing posts from July, 2007

xml 2 html sau formatarea unui raspuns web service

Si-am dat de o problema: namespace-urile. In incercarea disperata de a transforma cu un xslt raspunsul unui web service si dupa vreo ora de rateuri am realizat ca de fapt namespace-ul definit pentru web service era vinovatul. Si un mic exemplu: Raspunsul web service-ului <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="customer.xsl" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetCustomerResponse xmlns="http://www.company.com/webservice/"> <Customer> <Address> <Street>Pictor Grigorescu</Street> <StreetNo>2</StreetNo> </Address> </Customer> </GetCustomerResponse> </soap:Body> </soap:Envelope> Acu si xslu <?xml version="1.0" encoding=&

XOR?

using System; using System.Text; // Am vazut un mod criptare a parolelor intr-o baza de date bazat pe operatia XOR // // Ideea e urmatoarea: // La inregistrare parola userului este codificata printr-o operatie XOR // intre parola si o cheie, iar codificarea este pastrata in baza de date. // // Cand utilizatorul se autentifica, trimite parola, se face codificarea si apoi // se compara cu cea de la inregistrare. Daca e ok inseamna ca e logat.. logic. // // Astfel se vrea ca absolut nimeni sa nu stie parolele (nu conteaza ca e dezvoltator SQL..) // // Un exemplu: // parola : ********* // cheia publica : sharedkeys // se face XOR caracter cu caracter intre parola si cheia publica // ********* ^ sharedkeys = codificarea (o secventa de carcatere ASCII) // // Daca se stiu cheia publica si co

yield keyword

using System; using System.Collections; using System.Collections.Generic; namespace YieldDemo { public static class YieldDemo { /// /// Filtrarea unui sir de stringuri cu yield /// /// /// public static IEnumerable NamesWitchStartsWithALetter(string[] names) { foreach ( string name in names ) if ( name.StartsWith ( "A" ) ) yield return name; } /// /// crearea unui iterator pentru un numar limitat de patrate perfect /// /// /// public static IEnumerable<int> Squares(int squaresCount) { int sqCounter = 1; while (sqCounter <= squaresCount) { yield return sqCounter * sqCounter; sqCounter++; } } /// <summary> /// iterator pentru primele n numere din sirul Fibonacci /// </summary>