Strona głównaUżytkownik

psz750 | użytkownik

psz750
psz750
13 018,14
3308 dni, 3 godziny, 25 minut temu
21 kwietnia, 2012
dotnetomaniak.pl

Już kilka tygodni typu pisałem o ASP.NET MVC 5 Scaffolding. Jak wspomniałem, domyślny szablon nadaje się do prototypów albo tymczasowych aplikacji. W praktyce będziemy chcieli wykorzystać IoC i własne usługi, a nie bezpośrednio operować na bazie danych. Za pomocą własnego szablonu, można wszystko dostosować do konkretnego projektu i infrastruktury. Najpierw ściągamy pakiet szablonów VS z http://sidewaffle.com/. Oprócz tego, musimy zainstalować Visual Studio 2013 Update 2 oraz Visual Studio 2013 SDK. Na...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC 5: Własny szablon

Web 3594 dni, 1 godzinę, 53 minuty temu psz750 223 źrodło rozwiń

W dzisiejszym wpisie przedstawię pewien problem związany z walidacją wartości atrybutów w portalu FIM. Załóżmy, że dany obiekt posiada atrybut tekstowy, w którym mogą znaleźć się jedynie wartości z określonego zbioru. Chcemy aby użytkownik podczas tworzenia obiektu miał do wyboru dwie wartości atrybutu: MyValue-1 oraz MyValue-2. Standardowo zaczynamy od ustawienia walidacji bindingu na odpowiednie wyrażenie regularne...

FIM Portal – dopuszczalne wartości atrybutu i Constant Specifier | Developer notes

Inne 3598 dni, 21 godzin, 2 minuty temu psz750 93 źrodło rozwiń

W VS 2013 usprawniono debugowanie kodu asynchronicznego. Wszyscy jesteśmy przyzwyczajeni już do async\await. Znacząco to ułatwia wykonywanie operacji asynchronicznych. Niestety, debugowanie w VS 2012 jest dość uciążliwe. Załóżmy, że mamy kod z wieloma metodami asynchronicznymi, które z kolei są pozagnieżdżane. W przypadku wyrzucenia wyjątku lub ustawienia breakpoint’a, call stack nie zawierał żadnych informacji. Przetestujmy opisany problem  na następującym kodzie:publicpartialclass MainWindow : Window {...

Dziel się z innymi:
Piotr Zieliński  » Visual Studio 2013 – debugowanie asynchronicznego kodu

Narzędzia 3598 dni, 21 godzin, 2 minuty temu psz750 176 źrodło rozwiń

Niedawno Paweł zadał na dotnetowej grupie FB pytanie: w jakiego typu firmie chciałbyś pracować jako programista? Link: https://www.facebook.com/groups/net.developers.poland/permalink/289388431242519/. Sama ankieta jak i jej wyniki są w kontekście tego posta nieważne. Pod pytaniem pojawiła się jednak dyskusja. Widzę, że bez logowania do fejsa nie można tego linka podejrzeć, więc wszelkie tożsamości pozostawię tajne łamane pr...

Tagi: praca, refleksje
Dziel się z innymi:
Niewolnictwo w IT | Maciej Aniserowicz o programowaniu

Inne 3599 dni, 22 godziny, 34 minuty temu psz750 479 źrodło rozwiń

ASP.NET MVC dba o to, aby niemożliwe było dokonanie ataku CSRF. Nie musimy sami generować tokenów i wszystko zostanie obsłużone przez framework. Niestety czasami taka obsługa nie jest zbyt user-friendly. Ostatnio spotkałem następujący scenariusz:Otworzyłem stronę do logowania w dwóch osobnych tabach. Sesja jest więc współdzielona.W  pierwszej z nich, kliknąłem loguj. Token w tym momencie na serwerze jest unieważniany.W drugim tabie token wygenerowany i przechowany w ukrytym polu, nie pokrywa się już z ty...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: Prawidłowa obsługa wyjątków AntiForgery

Web 3602 dni, 15 godzin, 3 minuty temu psz750 231 źrodło rozwiń

W tym odcinku skupiam się na stanie aplikacji przed jakimikolwiek procesami “upiększającymi”. Aplikacja, którą mamy upiększyć, została do celów demonstracyjnych zbudowana dość nietypowo. Nie jest to web app, nie jest to nawet console app. Jest to jedna z...

Dziel się z innymi:
DI: punkt wyjścia | Maciej Aniserowicz o programowaniu

Sztuka programowania 3605 dni, 47 minut temu psz750 228 źrodło rozwiń

Często słyszę: “TDD powinno sprawiać, że oprogramowanie nie ma bugów”. To bardzo mylne pojmowanie wszystkiego, co się za TDD kryje. I dla tej praktyki mocno krzywdzące, bo gdy się okazuje, że tak nie jest, to ludzie się zniechęcają. Starałem się zdecydowanie podkreślać ten fakt podczas moich wystąpień na temat unit testów w zeszłym i za-przeszłym roku. Może w kontekście ostatnich wydarzeń w świecie unit...

Tagi: TDD, unit tests
Dziel się z innymi:
Czy TDD chroni przed głupotą? | Maciej Aniserowicz o programowaniu

Sztuka programowania 3611 dni, 4 godziny, 6 minut temu psz750 281 źrodło rozwiń

W najnowszej wersji 5, mamy do dyspozycji nowy rodzaj filtrów, implementujący interfejs IOverrideFilter:publicinterface IOverrideFilter { ///////// Type FiltersToOverride { get; } } Atrybuty przydają się, gdy mamy jeden filtr nałożony globalnie i potem chcemy zmienić zachowanie wyłącznie dla specyficznej akcji. Na przykład, możemy nałożyć Authorize globalnie i potem dla konkretnej akcji zmienić reguły autoryzacji. Innymi słowy, IOverrideFilter umożliwia wyczyszczenie wszystkich filtrów dla konk...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC 5: Przeciążenie atrybutów

Web 3611 dni, 23 godziny, 43 minuty temu psz750 210 źrodło rozwiń

Od pewnego czasu mam okazję budować system, którego część funkcjonalności dotyczy automatyzacji czynności administracyjnych związanych z zarządzaniem użytkownikami Active Directory. Jedną z takich czynności jest przełączanie skrzynek pocztowych Exchange 2007/2010 pomiędzy dwoma kontami użytkowników. W dzisiejszym wpisie pokażę, w jaki sposób zrealizować to zadanie wykorzystując Exchange Management Shell (EMS).

Przełączanie skrzynek Exchange pomiędzy kontami Active Directory z wykorzystaniem Exchange Management Shell | Developer notes

Inne 3612 dni, 13 godzin, 1 minutę temu psz750 56 źrodło rozwiń

Zwykle widoki nie są kompilowane aż do momentu publikacji i pierwszego zapytania. Czasami jednak warto, aby były one kompilowane w czasie pracy z kodem. Bardzo łatwo popełnić literówkę, która nie będzie wykryta aż do momentu, gdy użytkownik będzie chciał wejść na tą stronę. Przy wielu widokach jest to dość niewygodne i może okazać się bardzo uciążliwe.

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: kompilacja widoków

Web 3623 dni, 6 godzin, 12 minut temu psz750 234 źrodło rozwiń

W poprzednim poście pisałem o podstawach Web API. Dzisiaj zajmiemy się obsługą błędów. Sprawdźmy najpierw, co stanie się, gdy nasz kontroler (patrz poprzedni wpis), zwróci jakiś wyjątek np.:public Person GetPersonById(int id) { if(id

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC Web API–obsługa błędów

Web 3632 dni, 14 godzin, 16 minut temu psz750 250 źrodło rozwiń

W dzisiejszym poście będzie o tzw. Web API. Usługi REST są dzisiaj już wszechobecne ze względu na liczbę dostępnych platform oraz co za tym idzie, skalowalność. Web Api ułatwia pisanie serwisów REST. Nic nie stoi na przeszkodzie, abyśmy używali starego podejścia czyli implementacji akcji w klasycznych kontrolerach. Web Api jednak ułatwia pracę z REST oraz jest tak naprawdę rozszerzeniem MVC. Jeśli ktoś zna ASP.NET MVC, nie będzie miał żadnego problemu z Web Api. Cała infrastruktura jest analogiczna do k...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC Web API, wprowadzenie

Web 3635 dni, 1 godzinę, 39 minut temu psz750 548 źrodło rozwiń

Walidacja danych to bardzo szeroki temat. Sprawdzamy poprawność danych zarówno po stronie klienta (JavaScript) jak i serwera. Występuje ona we wszystkich warstwach systemu. Dzisiaj napiszemy metodę po stronie serwera, która będzie weryfikowała dane. W przeciwieństwie jednak do klasycznego podejścia, nie będziemy przeładowywać całej strony od nowa. Wywołanie będzie Ajaxowe czyli w tle (asynchroniczne). Użytkownik wpisując jakieś dane do formularza, spowoduje tym samym wysyłanie w tle żądania do serwera, k...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: Walidacja danych za pomocą wywołania Ajax

Web 3639 dni, 4 godziny temu psz750 357 źrodło rozwiń

Dzisiaj całkowicie o podstawach ale jednak warto przypomnieć sobie słownictwo. Każdy kojarzy chyba wzorzec factory. Oficjalnie wyróżnia się jednak kilka typów tego wzorca. Najpopularniejsze z nich to Factory method oraz Abstract Factory. W podręczniku do wzorców projektowych, znajdziemy je jako dwie osobne konstrukcje. Czy to naprawdę tak ważne, aby znać różnice w nazewnictwie? Wzorce projektowe traktuję jako słownictwo. Zamiast wyjaśniać drugiej osobie, dokładnie co chcę napisać, używam wzorców projek...

Dziel się z innymi:
Piotr Zieliński » Factory Method a Abstract Factory

Sztuka programowania 3646 dni, 16 godzin, 42 minuty temu psz750 243 źrodło rozwiń

W jednym z tworzonych przeze mnie systemów pojawiła się konieczność dodania funkcjonalności pozwalającej na odblokowywanie kont użytkowników w Active Directory (zablokowanych na skutek kilkukrotnego podania błędnego hasła). Standardowa procedura odblokowania konta to wejście do konsoli Active Directory i zaznaczenie odpowiedniej opcji w ustawieniach danego użytkownika...

Odblokowanie konta w Active Directory | Developer notes

Inne 3646 dni, 16 godzin, 42 minuty temu psz750 158 źrodło rozwiń

W poprzednim wpisie zająłem się wpływem sesji na wydajność kontrolerów. Dzisiaj zajmiemy się asynchroniczny kontrolerami, które znaczącą zostały uproszczone w .NET 4.5. Żeby zrozumieć jak działają asynchroniczne kontrolery, należy zdawać sobie sprawę, jak działa przetwarzanie zapytań. Załóżmy, że wysłanych jest 1000 zapytać do serwera. Czy zostaną one obsłużone jednocześnie, a może sekwencyjnie, jedno po jednym? ASP.NET MVC ma pulę wątków, przeznaczoną do przetwarzania zapytań. Jeśli zatem pula ma poje...

Dziel się z innymi:
Piotr Zieliński » Asynchroniczne kontrolery

Web 3647 dni, 23 godziny, 3 minuty temu psz750 201 źrodło rozwiń

W ostatnim wpisie wyjaśniłem jak bardzo sesja wpływa na wydajność i skalowalność aplikacji. Dzisiaj chciałbym pokazać przykład i konkretne liczby, które pozwolą nam oszacować skalę problemu. Zacznijmy od ASP.NET MVC. Stworzymy trzy kontrolery:SessionlessCotroller – kontroler będzie miał zablokowaną sesję. SessionController – kontroler zapisuje dane do sesji. SessionReadOnlyController – kontroler ma dostęp tylko do odczytu. Kod:[SessionState(SessionStateBehavior.Required)] publicclass SessionController...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC, kontrolery a sesje: test wydajności

Web 3647 dni, 23 godziny, 3 minuty temu psz750 227 źrodło rozwiń

Jeśli zdarza się nam pracować z plikami .xaml i korzystamy z dobrobytu jakim jest bindowanie kod-widok (niezależnie od tego czy będzie to MVVM czy code behind), po pewnym czasie nadchodzi moment, gdy szlag nas trafia i musimy napisać po raz kolejny zamiast prostego ładnego property...

Źródło: itblogs.pl
Dziel się z innymi:
Basia Fusińska o IT » Fody Weaver i PropertyChanged

Narzędzia 3647 dni, 23 godziny, 3 minuty temu psz750 277 źrodło rozwiń

Synchronizacja i przechowywanie sesji może być bardzo niekorzystne dla wydajności aplikacji webowej. Wyobraźmy sobie, że użytkownik wywołuje kontroler kilkukrotnie w ramach tej samej sesji. ASP.NET MVC musi zadbać o to, aby sesja zawsze miała prawidłową wartość. Niestety jest to osiągane poprzez kolejkowanie zapytaniach w ramach tej samej sesji. Jeśli zatem wywołujemy dwukrotnie metodę A, nie zostanie to wykonane współbieżnie. Dobrą stroną takiego mechanizmu jest fakt, że zapis i odczyt sesji jest bezpie...

Piotr Zieliński » ASP.NET MVC: Wydajność kontrolerów a przechowywanie sesji

Web 3653 dni, 14 godzin, 3 minuty temu psz750 258 źrodło rozwiń

FileTable to kolejny mechanizm dostępny w SQL Server mający na celu ułatwić przechowywanie dużej ilości danych np. plików. W starych bazach danych, często przechowywano pliki osobno na serwerze, a baza danych zawierała wyłącznie wskaźniki do tych plików. Podejście powodowało problemy, w przypadku synchronizacji danych tzn. plików dostępnych na dysku a ich identyfikatorami w bazie. Zwykle nie było innego wyjścia, ponieważ przechowywanie dużej ilości danych w bazach (plików graficznych) nie było zbyt optym...

Dziel się z innymi:
Piotr Zieliński » SQL Server 2012: FileTables

Bazy danych i XML 3656 dni, 23 godziny, 47 minut temu psz750 197 źrodło rozwiń

1 2 3 4 5... 9 10

Najaktywniejsi w tym miesiącu