Klucze żadnego algorytmu kryptograficznego nie powinny być przechowywane w postaci otwartego tekstu, dlatego w celu ich przechowywania zostały opracowane odpowiednie kontenery (tzw. key containers). Kontenery kluczy są obszarami pamięci, przeznaczonymi do przechowywania kluczy kryptograficznych, którymi zarządzają dostawcy CSP (Crypto Service Provider); do ochrony zawartości kontenerów stosowane jest silne szyfrowanie i zabezpieczenia systemu operacyjnego. .NET Framework automatycznie przymusza nas do ...
Strona głównaUżytkownik
paduda | użytkownik
Dość sporo teorii mamy za sobą, nadeszła więc pora na praktyczne przykłady. Tym razem spojrzymy na konfigurację zachowania stubów w zależności od parametrów przekazywanych do ich metod (oraz analizę wartości przekazanych do mocków przez testowane obiekty, co jest scenariuszem bardzo podobnym technicznie).
Super wiadomość od teamu ASP.NET MVC. ScottGu informuje o kolejnej wersji ASP.NET MVC.
Kilka słów na temat narzędzia: Windows Logo Toolkit. Oprogramowanie to służy do weryfikacji zgodności aplikacji z wymaganiami loga "Compatible with Windows 7". Ostatnio stało się ono dostępne w wersji Beta.
SyncRoot to właściwość zdefiniowana na poziomie interfejsu ICollection służąca do synchronizowania operacji wykonywanych na kolekcjach przy pomocy słowa kluczowego lock lub jawnie przy pomocy monitora. Czemu jednak należy używać tej właściwości zamiast instancji kolekcji, czyli czemu zalecany jest taki kod: Kiedy postawiłem sobie to pytanie okazało się, że odpowiedź nie jest dla mnie oczywista. Wizyta w dokumentacji MSDN nic nie pomogł...
Często konieczne jest odwołanie się do biblioteki poprzez użycie jej pełnej nazwy. Najwięcej czasu zajmuje znalezienie jaki Public Key Token został przydzielony bibliotece. W tym krótkim poście pokazane jest w jaki sposób podpiąć narzędzie, które bez wychodzenia z VS pokaże Public Key Token aktualnie używanej biblioteki.
Chyba każda firma ma zestaw własnych bibliotek czy konfiguracji pomagających tworzyć oprogramowanie w ten "jedyny właściwy", wymyślony przez kogoś ważnego sposób. Narzędzia te wykorzystywane są przez wszystkie tworzone projekty oraz nieustannie rozwijane wraz z ewolucją wymagań czy zmianami na jakimś ważnym stanowisku :). Ale jak dopilnować, żeby nie mnożyły się identyczne (a z czasem oczywiście rozjeżdżające się) KOPIE takich wspólnych plików? Taka sytuacja – każdy projekt w osobnym repozytorium, z włas...
Przed rozpoczęciem wykorzystywania mocków w swoim projekcie musimy zdecydować się z jakiego wspomagacza skorzystamy. Wiemy jedno: nie chcemy tworzyć mocków ręcznie (jak zostało to przedstawione tutaj). Zobaczmy więc co nam, programistom .NET, oferuje w tym zakresie wszechposiadający, uzależniający i niczym tlen niezastąpiony INTERNET. Nie jest moim zamierzeniem dokładna prezentacja i porównanie dostępnych rozwiązań - rzucę raczej okiem na kilka możliwych ścieżek. Przed dalszą lekturą można na chwilę co...
Chyba każdy programista używa krótkich fragmentów kodu, który pokazuje zasadę działania jakiegoś elementu, klasy, algorytmu itp...
Pisząc testy jednostkowe często musimy brać skądś testowe wartości, których wykorzystanie będziemy następnie weryfikować...
Chciałbym spróbować wskazać miejsca, gdzie można znaleźć informacje na temat C# i .NET w języku polskim. W moim post'cie skupię się przede wszystkim na blogach. Moja lista i opisy mają charakter dość subiektywny. Nie mam również zamiaru oceniać, czy wskazywać najlepszego. Kolejność została ustalona w sposób nie zamierzony. Mam nadzieję, że nikt nie poczuje się urażony, zarówno tym co napisałem, jak i tym, że mogło go zabraknąć. Uwaga: w liście zostały uwzględnione tylko te blogi, które w ciągu ostatnich ...
Czy zauważycie że "Application.UseWaitCursor = true;" nie działa tak jak by się tego oczekiwało - nie zmienia kursora na kursor oczekiwania (klepsydra, hourglass , kółko oczekiwania itp...) Zawsze można spróbować inaczej...
Tym razem temat jest bardzo prosty: "Jak wymienić (wyliczyć) wszystkie elementy typu wyliczeniowego (enum'a)?". Przyznam, że robiłem już to wiele razy, ale często musiałem się chwilę zastanowić: "jak to było?". Więc teraz w ramach ściągi dla siebie (a może komuś się to jeszcze przyda...)
Chyba każdy kto operował ścieżkami plików pod .NET zauważył, że ścieżki te mogą występować w dwóch postaciach:standardowej - typu: c:\katalog\plikprzypominającej URL, czyli file:////c:/katalog/plik Różnicę widać właśnie porównując właściwość CodeBase i Location klasy Assembly.
W poprzedniej części zapoznaliśmy się z pojęciem "mock". Dzisiaj krok po kroku napiszemy pierwszy test jednostkowy z wykorzystaniem ASP.NET MVC, nUnit oraz RhinoMocks. Do dzieła.
Obsługa zasobów aplikacji na platformie .NET jest bardzo prosta, zwykle wykorzystywany jest element typu "Resource", który można dodać do projektu, a następnie można przechowywać "w nim" różne inne elementy, jak: napisy, obrazki, ikony lub inne pliki. Wspomniany element typu Resource do obsługi zasobów, które są przez niego obsługiwane wykorzystuje klasę System.Resources.ResourceManager, dodatkowo tworzy on plik z kodem (np. w c#), który w sposób automatyczny udostępnia wybrane zasoby. Czasami wygodniej...
Pierwszy post z cyklu przygotowania systemu do wykorzystania mocków przy testach jednostkowych.
Architektura 5630 dni, 14 godzin, 11 minut temu 88 źrodło rozwiń
Przygotowanie serwisu dla systemu operacyjnego Windows jest przy użyciu Visual Studio (VS) bardzo proste. Wystarczy tylko utworzyć nowy projekt na podstawie szablonu "Windows Service" lub do istniejącego projektu dodać nowy element typu "Windows Service". Następnie należy zaimplementować metody...
Programowanie rozproszone 5631 dni, 15 godzin, 14 minut temu 180 źrodło rozwiń
W poprzednim odcinku pokazaliśmy sobie jak możemy stworzyć animacje w WPFie za pomocą C#. Dziś zobaczymy jak można to zrobić przy użyciu deklaratywnego języka XAML.EventTrigger i Stroyboard Przy okazji omawiania triggerów, wspomniałem o EventTriggerach i ich zastosowaniu do animacji. Zobaczmy mały przykład jak zdefiniujemy dany trigger oraz Stroyboard.
Jedna z zasad dobrego programowania mówi: "Funkcja powinna mieć tylko jedną instrukcję return". Dzięki takiemu podejściu zawsze łatwo jest zlokalizować punkt wyjścia z funkcji, zwykle łatwiej zrozumieć napisany kod i w konsekwencji łatwiej go "utrzymywać" (i oczywiście zmieniać). Czasami jednak dużo łatwiej (lub krócej) można napisać kod funkcji, w której pojawi się wiele instrukcji return, dlatego często nie opieramy się takiej pokusie i takie funkcje tworzymy...