W .NET bardzo łatwo podpisać cyfrowo jakiś pakiet. Przeważnie korzystając z WCF czy z innych technologii jest już to wykonane za nas w ramach framework’a. Bardzo często jednak pisząc aplikacje, chcemy zapewnić integralność danych. Za pomocą kilku linii kodu można tego dokonać. Przede wszystkim warto przyjrzeć się klasom RSACryptoServiceProvider oraz DSACryptoServiceProvider. Obie posiadają one metody takie jak SignData oraz VerifyData. Przyjrzymy się najpierw samemu podpisowi:privatestaticbyte[] SignDa...
Sztuka programowania 3060 dni, 16 godzin, 1 minutę temu 161 źrodło rozwiń
Ostatnio zauważyłem że Bundle and Minification w ASP.NET MVC 4.5.1 nie radzi sobie z angularem. Problemem okazało się Zaciemnianie kodu (obfuscation).
In this video you can find answers to the following questions: what is unit test? when to write unit tests? how to write unit tests? what is a Test Driven Development?
Sztuka programowania 3060 dni, 16 godzin, 1 minutę temu 128 źrodło rozwiń
O IntelliTrace pisałem już wielokrotnie. Do tej pory nie wyjaśniłem jednak, że chociaż IntelliTrace nazywamy debugger'em historycznym to w rzeczywistości IntelliTrace jest profilerem. Dokładniej mówiąc jednym z komponentów składowych IntellITrace jest niezarządzana implementacja interfejsu ICorProfiler. Profiler ten komunikuje się z zarządzaną częścią IntelliTrace, czyli z programem IntellITrace.exe. IntellITrace.exe jest natomiast używane przez Visual Studio...
If you work on small and relatively simple projects (in terms of number of components) you may not encounter this limitation. But in any non trivial ‘line of business’ application it is very likely that sooner or later you will come across this troublesome problem: Visual Studio refuses to open a project when the length of its (or any of its references) file system path is longer than 260 characters.
Od pierwszego CTP Roslyna z niecierpliwością czekam na release. W telegraficznym skrócie roslyn to nowa generacja kompilatora. Takiego kompilatora gdzie każdy element jest dostępny przez api/serwis. To otwiera takie możliwości jak budowa własnych narzędzi do refaktoryzacji czy analizy kodu, tworzenie nowych słów kluczowych i nie wiadomo co jeszcze. Przy okazji kompilator jest przepisywany tak aby był szybszy od obecnych. Generalnie Roslyn = mnóstwo gorących i ciekawych rzeczy. Dzisiaj, a w...
Dzisiaj o czymś, z czym spotkałem się podczas niedawnego dewelopmentu. Pewnego razu klient zażyczył sobie, żeby w grupie nakładających się znaczników, klikając w przeglądarce na jeden z nich, grupa rozwijała się automatycznie i widoczne były znaczniki w postaci “ślimaka” lub “słońca”. Po przeszukaniu zasobów Internetu, natknąłem się na Overlapping Marker Spiderfier (oms.js) . Okazało się, że jest to świetne rozwiązanie, z którego oczywiście skorzystałem.
Today I would like to introduce you to Process Governor – a new tool I added to my .NET diagnostics toolkit. This application allows you to set a limit on a memory committed by a process. I wrote this tool to test my .NET applications (including web applications) for memory leaks. With it I can check if under heavy load they won’t throw OutOfMemoryException.
Recently I've been coding some WCF methods and I've got a strange exception during WCF message serialization. I needed to send list of enums to the WCF service. There are couple of ways to do that. First solution is using [Flag] attribute to combine several enum values into one variable - but then you need to use powers of 2 for enum values. I couldn't do that because of the requirements and actual big number of that enums stored in current database. It would require writing and applying a lot of scrip...
Sztuka programowania 3174 dni, 14 godzin, 29 minut temu 161 źrodło rozwiń
Recently I've passed last exam required to obtain Microsoft Certified Solutions Developer. Now I'm fully certified in web development in .NET framework. That wasn't my first meeting with exams from Microsoft and because of that I want to leave some comments about them. First of all I must say that preparation for some of them took me more time than I thought. That's because exams are testing knowledge in a very detailed way. In my opinion sometimes in too detailed way. Of course they should be diffic...
09.26.13 by MJ Previously I wrote a post about creating a simple ASP.NET MVC 4 application. I have told you, that it is so simple. Today you will see that it can be easier with MVC scaffolding. 1. Open Visual Studio 2012 2. File/New/Project -> select Web/ASP.NET MVC 4 Web Application. Name it MvcCars. 3. When new window appears, please select a template as Internet Application and the vie engine as Razor. For this example, please do not select Create a unit test project. 4. Confirm Your...
WCF service allows you to use a huge functionality even though you have a slow local machine. Sounds good? Yes, it does. Let’s create a simple WCF service to add people. All coding is done with VS 2010 Ultimate. What you need to do first is to create a new WCF Service Library. When it is already done, please delete all default classes, which creator has added to your project automatically. Now follow these steps: 1) Prepare a simple class which will be responsible for a new ...
by MJ How many times have you heard about building a well designed web application? 3-4? I mean in your daily work. How many times have you faced a problem with code written before? Wrong naming, wrong spacing, wrong design, wrong patterns/no patterns, wrong repository, wrong database connection, wrong architecture. There are a lot of mistakes done, before you have first seen the project. Then, the most common situation is that your boss comes to you with a request, that the previous web application s...
Dalsze rozważania na temat nullanle.
Sztuka programowania 3201 dni, 18 godzin, 10 minut temu 183 źrodło rozwiń
Po dłuższej urlopowej przerwie w blogowaniu zacznę od zagadki z serii co zostanie wypisane na ekran, którą podsunął mi kolega Przemek: decimal d = 2; Console.WriteLine("d == 2 = {0}", d == 2); Console.WriteLine("d == (decimal)2 = {0}", d == (decimal)2); Console.WriteLine("d.Equals(2) = {0}", d.Equals(2)); Console.WriteLine("d.Equals((decimal)2) = {0}", d.Equals((decimal)2)); Tutaj jeszcze nie ma haczyka i odpowiedź to 4XTrue. Zmieńmy jednak jedną liniję: decimal? d = 2; Tym razem odpowiedź jes...
Sztuka programowania 3201 dni, 18 godzin, 10 minut temu 167 źrodło rozwiń
Posted by kamilhawdziejuk on If you ever wondered how programming can change your home environment this post will show you how this can be done in .NET world. There are a few open source projects developed in Microsoft Research that will change the world in near future about which developers should know: 1. HomeOS (http://research.microsoft.com/en-us/projects/homeos/ with http://homeos.codeplex.com/) Lab of things (http://www.lab-of-things.com/ with http://labofthings.codeplex.com/) .NET G...
Simple.Data jest lekkim frameworkiem dla .NET, który zapewnia dostęp do bazy w stylu ORM, ale bez obiektów (Object), bez wymogu łączenia się do relacyjnej bazy danych (Relational) a także bez generowania relacji (Mapping)! Wszystko dzięki typom dynamicznym w .NET 4!
Bazy danych i XML 3216 dni, 21 godzin, 46 minut temu 612 źrodło rozwiń
Dzisiaj opisze mechanizm lamba expression. Dla przypomnienia Linq jest połączeniem 5 elementów:extension methodsyieldFunc, Predicate, Actionwyrażenia lambdaIQueryable i Expression Trees Wyrażenia lambda to nic innego jak syntactic sugar czyli taki bonus od Microsoftu, który ułatwia pisanie kodu. Wyrażenia lambda upraszczają zapisu delegatu. Przypomnijmy przykład z poprzedniego wpisu.C# class Program { ...
Sztuka programowania 3222 dni, 19 godzin, 25 minut temu 181 źrodło rozwiń
W kolejnym wpisie o linq przedstawię zasadę działania Func, Predicate, Action. Dla przypomnienia Linq jest połączeniem 5 elementów:extension methodsyieldFunc, Predicate, Actionwyrażenia lambdaIQueryable i Expression Trees Przyjrzyjmy się najpierw deklaracji tych trzech typów. C# public delegate void Action
Sztuka programowania 3226 dni, 22 godziny, 11 minut temu 208 źrodło rozwiń
W poprzednim wpisie opisałem extension methods, dzisiaj czas na kolejny element moim zdaniem bardzo ważny do zrozumienia działania linq mianowicie słowo kluczowe yield. Dla przypomnienia Linq jest połączeniem 5 elementów:extension methodsyieldFunc, Predicate, Actionwyrażenia lambdaIQueryable i Expression Trees Zasadę działania słowa kluczowego yield najlepiej zobrazuje przykład. Załóżmy, że mamy metodę, która generuje ...
Sztuka programowania 3231 dni, 22 godziny, 30 minut temu 165 źrodło rozwiń