Strona głównaUżytkownik

psz750 | użytkownik

psz750
psz750
13 018,14
1608 dni, 19 godzin, 10 minut temu
21 kwietnia, 2012
dotnetomaniak.pl

Pod koniec poprzedniego postu na temat MVVM wspomniałem o Caliburn.Micro jako narzędziu, które czyni moją pracę lżejszą. Dla tych, którzy nie wiedzą jest to framework wspomagający w tworzeniu aplikacji opartej o wzorzec MVVM. Jeśli ktoś zastanawia się dlaczego od razu nie wspomniałem o tym frameworku i poprzedni przykład robiłem bez jego użycia to moja odpowiedź jest prosta (i poparta gorzkim doświadczeniem). Otóż robiąc coś zaawansowanego musimy mieć świadomość mechanizmów za tym stojących inaczej...

Dziel się z innymi:
WPF – Caliburn.Micro Some Kind of Magic | Wojtek Pitek about dev

Windows 1813 dni, 18 godzin, 1 minutę temu wopi 208 źrodło rozwiń

Może słyszeliście o takim ptaszku Fody. Ostatnim czasem ptaszek ten podbił moje serce. Korzystam z jego usług tak często jak się tylko da. Ogólnie muszę podziękować Pawłowi Łukasikowi za prezentacje na KGD.NET, która otworzyła mi oczy PropertyChanged.Fody To chyba mój ulubiony pakiet, ale zanim go opiszę muszę zrobić drobne wprowadzenie. Od początku mojej przygody z WPFem ( i ogólnie XAMLem) strasznie żmudnym procesem było bindowanie pomiędzy DataModelem a widokiem (niech zasłona milczenia zakryje fak...

Tagi: C#, fody, WPF
Dziel się z innymi:
Fody ciekawa ptaszyna – część 1 | Wojtek Pitek about dev

Windows 1836 dni, 17 godzin, 29 minut temu wopi 287 źrodło rozwiń

W jednym z poprzednich tematów opisałem sposób zarządzania serwerem Exchange 2007 poprzez polecenia PowerShell (tzw. cmdlets) wywoływane z poziomu .NET. Jeżeli tego samego rozwiązania chcielibyśmy użyć do obsługi serwerów Exchange 2010/2013 musimy nieco zmodyfikować nasz kod. W tych wersjach Exchange korzystanie ze środowiska Exchange Management Shell odbywa się poprzez zdalne sesje PowerShell (PowerShell remoting)...

Zarządzanie serwerem Exchange 2010/2013 poprzez Exchange Management Shell | Developer notes

Inne 1853 dni, 3 godziny, 20 minut temu psz750 39 źrodło rozwiń

JSON.NET to darmowa i naprawdę prosta w użyciu biblioteka, która umożliwia parsowanie JSON z poziomu c#. Instalujemy ją oczywiście z NuGet: Następnie API jest na tyle proste, że wystarczy tak naprawdę nam tylko IntelliSense:var person =new Person() {FirstName ="Piotr", LastName ="Zielinski"}; string content = JsonConvert.SerializeObject(person); Console.WriteLine(content); Efektem będzie konwersja obiektu c# do JSON czyli: {"FirstName":"Piotr","LastName":"Zielinski"} Podobnie można dokonać deseri...

Tagi: JSON, Json.NET
Dziel się z innymi:
Piotr Zieliński » Przydatna biblioteka: JSON.NET

Inne 1859 dni, 8 godzin, 19 minut temu psz750 279 źrodło rozwiń

W każdym projekcie prędzej czy później trzeba wdrożyć to, co zaprojektował nieposkromiony grafik. Jak to często ma miejsce większość przygotowanych widoków wygląda tak ładnie tylko w pliku PSD. Otóż nieczęsto zdarza się, żeby grafik przewidział sytuacje takie jak złe łamanie się tekstu czy inne artefakty, które powstają po połączeniu widoku z danymi. Wpis przedstawia łatwy sposób zasilania widoków danymi.

Źródło: www.karolszmaj.pl
Dziel się z innymi:
Widok z danymi, czyli DesignTime w MVVM

Mobile development 1862 dni, 1 godzinę, 59 minut temu razor118 214 źrodło rozwiń

Serię poświęconą WPF oraz MVVM czas zacząć. Wiem – wpisów tego typu jest w sieci sporo. Wiem, MVVM nie zawsze jest idealnym wyborem i istnieje wokół niego sporo kontrowersji. Wiem, emerytury w Polsce są za niskie. Nie zmienia to faktu, że przy okazji implementacji aplikacji WPFowej postanowiłem spróbować zaznać szczęścia w królestwie władcy ModelViewViewModel i jego rycerzy: ObservableCollection i Command. I muszę powiedzieć, że nie żałuję. Na pierwszy rzut oka różnic...

Tagi: MVVM, WPF, xaml
Dziel się z innymi:
WPF i MVVM w jednym stali domu. Część pierwsza – wprowadzenie | Waleczny Trzmiel

Windows 1862 dni, 1 godzinę, 59 minut temu waleczny_trzmiel 411 źrodło rozwiń

Ostatnio dodawałem prostą funkcję do pewnej aplikacji webowej: umożliwienie ściągnięcia pliku z dysku. Były to pliki Excela i znajdowały się w katalogu ~/App_Data/reports. Siłą rzeczy takie pliki nie mają ID. Mają nazwę. I po nazwie właśnie je się ściągało. Kod otwierający plik do ściągnięcia można by napisać tak: public Stream OpenFile(string fileName) { string reportsdir = HttpContext.Current.Server.MapPath("~/AppData/reports...

Dziel się z innymi:
Jak nie udostępniać plików do ściągnięcia | Maciej Aniserowicz o programowaniu

Web 1866 dni, 8 godzin, 59 minut temu psz750 341 źrodło rozwiń

Rozważmy przez chwilę scenariusz wysyłania wiadomości e-mail. A raczej tą część procesu, w której generowana jest treść. W tagu demo3-finish mamy taki interfejs: public interface IEmailService { void RegistrationEmail(string email, string link); } (https://github.com/maniserowicz/di-talk/blob/demo3-finish/src/app/EmailService.cs) Jego implementacja powinna zająć...

Dziel się z innymi:
DI: gdy robi się skomplikowanie… | Maciej Aniserowicz o programowaniu

Sztuka programowania 1884 dni, 10 godzin, 42 minuty temu psz750 260 źrodło rozwiń

Niedawno na łamach natematu pojawił się artykuł o jakże wdzięcznym tytule: “IT-arystokracja. Najbardziej zepsuta pensjami i przywilejami grupa zawodowa“. Widziałem linki do niego w bardzo wielu miejscach, więc pewnie każdy z Was go już czytał. A teraz się do niego ustosunkuję (po raz wtóry, gdyż raz już to, trochę po łebkach, uczyniłem na grupie polskich programistów .NET na FB). Odnośnie artykułu Sam art...

O arystokracji, część 1 | Maciej Aniserowicz o programowaniu

Inne 1886 dni, 5 godzin, 39 minut temu psz750 395 źrodło rozwiń

Co prawda nie jest to ani blog ani wpis .Netowy, nie jest nawet techniczny. Wydaje mi się jednak, że każdy kto pracuje jako B2B powinien takie rzeczy wiedzieć i warto, żeby takie coś znalazło się na dotnetomaniaku.

Dziel się z innymi:
Samozatrudnienie, czyli czy oszczędzisz zamieniając etat na fakturę

Inne 1891 dni, 7 godzin, 19 minut temu oskar-at-net 543 źrodło rozwiń

OK – mamy niektóre “odpowiedzialności” wyjęte do osobnych klas. Ale co dalej? Czy UsersController powinien sam, ot, tak sobie, tworzyć nowe instancje których aktualnie potrzebuje? Nie! Pójdę o krok dalej i powiem więcej: użycie słowa kluczowego “new” w kodzie aplikacji uznaję za anti-pattern. Howgh, rzekłem. Jeżeli klasa potrzebuje innej klasy do działania, to ta zależność powinna być jawnie wyeksponowana w kodzie. Najlepiej przez param...

Dziel się z innymi:
DI: IoC & explicit dependencies & interfaces | Maciej Aniserowicz o programowaniu

Sztuka programowania 1891 dni, 7 godzin, 19 minut temu psz750 208 źrodło rozwiń

The topic of custom exceptions is surprisingly controversial. Some argue that exceptions shouldn't be used for anything related to "business", while others (me included) say that exceptions like InsufficientFunds are fine - I even wrote a whole chapter about using custom exceptions to simplify controllers in my Rails Refactoring book. I've read an interesting blog post today about custom exceptions (here - unfortunately it's in Polish), where the author advocates for using "business exceptions". ...

[EN] Andrzej on Software: Custom exceptions or domain events?

Sztuka programowania 1893 dni, 12 godzin, 6 minut temu psz750 147 źrodło rozwiń

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 1894 dni, 17 godzin, 38 minut temu psz750 222 ź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 1899 dni, 12 godzin, 47 minut 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 1899 dni, 12 godzin, 47 minut 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 1900 dni, 14 godzin, 19 minut temu psz750 475 ź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 1903 dni, 6 godzin, 48 minut 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 1905 dni, 16 godzin, 32 minuty 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 1911 dni, 19 godzin, 51 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 1912 dni, 15 godzin, 28 minut temu psz750 210 źrodło rozwiń

1 2 3 4 5... 11 12
Sklep z gadzetami
Dotnetos Conference
itCareerSummit

Najaktywniejsi

1
(32 881,59)
2
(32 816,53)
3
(27 178,29)
4
(21 178,88)
5
(20 336,33)
6
(13 018,14)
7
(10 464,96)
8
(9 775,28)
9
(8 298,27)
10
(6 822,96)
11
(6 214,22)
12
(5 393,84)
13
(4 097,38)
14
(3 979,62)
15
(3 863,06)
16
(3 599,39)
17
(3 448,35)
18
(3 318,39)
19
(3 224,66)
20
(3 105,41)