Dawno dawno temu było…Reflector i długo długo nic (de facto na początku był jest ildasm ale nie o nim dziś). Na szczęście pewnego lutowego dnia pojawiła się informacja, że już niedługo nie będzie on dostępny za darmo i się zaczęło. Flame’y, groźby i krzyki :). Stało się też sporo dobrego bo o to na rynku pojawiły się alternatywy. Ilspy, dotPeek oraz JustDecompile. Przyjrzyjmy się im z bliska i zobaczmy co mają do zaoferowania. Reflector - umarł król...Reflector to zdecydowanie n...
Strona głównaUżytkownik
http://luzik.myopenid.com/ | użytkownik
ASP MVC 3 jest w dużej części spoko - znajdą się elementy bardzo irytujące, ale ogólnie mogę powiedzieć że jestem z pracy z tym frameworkiem raczej zadowolony. Denerwuje mnie jednak to, że pracując nad jedną daną akcją w jakimś kontrolerze muszę śmigać po kilku plikach: plik kontrolera plik z routingiem plik z modelem parametru akcji plik z modelem zwracanym przez akcję plik z mapowaniami AutoMappera plik widoku .cshtml plik skryptów .js ... o czymś zapomniałem? Jakiś czas temu postanowiłem wypróbować...
Autor: Niejedną już umowę w swoim "wolnostrzelcowym" życiu podpisałem... i właściwie ani razu nie była ona taka jak być powinna. Co prawda za każdym razem następuje pewien postęp, jednak mimo to zawsze w praniu okazuje się, że jednak o czymś - ja lub Klient - nie pomyśleliśmy. Nie wynikało to bynajmniej z chęci jednej strony do oskubania drugiej strony, co raczej z braku doświadczenia lub zbyt nieformalnego podejścia do bardzo ważnych kwestii. Postaram się tutaj zebrać garść porad wyniesionych zarówno z...
uwaga: w poniższym tekście pisząc "blog", robię to w kontekście bloga programistycznego, być może momentami nawet zawężonego do .NET Gdy ponad 3 lata temu (sic!) rozpoczynałem blogowanie, było to trochę jak błądzenie w ciemności. Owszem, zdawałem sobie sprawę z istnienia czegoś takiego jak "blogosfera", jednak odnoszę wrażenie, że dzisiaj mamy do czynienia z o wiele bardziej rozpowszechnionym zjawiskiem. Wtedy bloga nie miał prawie nikt - teraz bloga ma cała masa ludzi, zarówno studentów jak i "zawodowc...
autor: Musiałem ostatnio serializować (no i oczywiście deserializować) kolekcje obiektów z hierarchii wyglądające na przykład tak: ... Pierwszym kierunkiem był XML, jednak (zgodnie z oczekiwaniami zresztą) umożliwienie serializacji czegoś takiego do XMLa wiązałoby się z wieloma nieprzyjemnościami. A to nie można serializować interfejsów więc konieczne by było dodawanie jakiejś klasy abstrakcyjnej, a to trzeba stosować przebrzydłe atrybuty Xmlinclude żeby umożliwić deserializację... a dodatkowo korzystani...
Autor: Dość dawno już temu pokazałem jak można użyć Automapper do mapowania kolekcji bez powodowania ciągnięcia ich zawartości z bazy: "AutoMapper, NHibernate, lazy loading oraz problem select n+1". Dzisiaj wrócę na chwilę do tematu Automappera i NH.
Bazy danych i XML 4955 dni, 3 godziny, 33 minuty temu 163 źrodło rozwiń
Niedawno po raz pierwszy w życiu zajmowałem się Google Maps. Spodziewałem się, że zajmie to max kwadrans, w końcu masa stron to ma, dokumentacja jest dobra... no i moja Joanna na mapach zęby zjadła:). Niestety nawet z połączonymi siłami poprawne skorzystanie z map zajęło nam dobre kilka godzin. Problemem okazało... w sumie kilka rzeczy. Wymagania: po kliknięciu w link otwórz popup z mapką pokazującą odpowiedni adres zakładając, że na stronie może być takich linków wiele. Odpadała więc jednokrotna inicja...
Chciałbym poinformować moich czytelników, że utworzyłem ostatnio nowy projekt na CodePlex'ie. Projekt nazywa się MPTS (Maciej-Progtech ToolSet) i jest on zestawem prostych narzędzi, przydatnych programistom .NET jak również czasami zwykłym użytkownikom. Zestaw powstał na bazie różnych programików, które zdarzyło mi się napisać, a które potrzebowałem do czegoś wykorzystać. Wspomniane programiki są najczęściej dość proste, jednak mają one wypełniać właśnie takie proste zadanie. Powodem, dla którego powołał...
W 64-bitowych systemach Windows mogą działać aplikacje skomplikowane na platformę 64-bitową, jak też w trybie symulacji 32-bitowe (skompilowane na platformę x86, ale ... aplikacja 64-bitowa może korzystać tylko z 64-bitowych komponentów (np. bibliotek), a aplikacja 32-bitowa może korzystać tylko z 32-bitowych komponentów. Do tego na platformie .NET dochodzi jeszcze kompilacja typu „Any CPU”, co w konsekwencji może spowodować nie małe zamieszanie.... Przyjrzyjmy się może tym zagadnieniom. W niniejszych ro...
« [PL] SQL Server dla DBA – sys.dmosperformancecounters[PL] Materiały z sesji o XML z 53. spotkania PLSSUG WarszawaVN:F [1.7.91023]please wait…Rating: 0.0/5 (0 votes cast) W czwartek, 7 kwietnia, Paweł Skolimowski poprowadził prezentację pt. “Niechaj Cię nie onieśmiela gąszcz misterny XML-a” w ramach 53. spotkania Polskiej Grupy Użytkowników SQL Server (PLSSUG). Prezentacja wypadła, moim zdaniem, znakomicie. Paweł przygotował profesjonalne slajdy (zmieniające się jak w kalejdoskopie kolorowanie składn...
Bazy danych i XML 4964 dni, 3 godziny, 26 minut temu 73 źrodło rozwiń
Autor: Ostatnio miałem potrzebę zapoznania się z SharePoint 2010. Dla tych, którzy również chcieliby zapoznać się z tą platformą, przygotowałem pewne informacje „na dobry początek”. W niniejszym wpisie będę się odwoływał do najprostszej wersji: SharePoint Foundation 2010.Skąd pobrać SharePoint?Przed przystąpieniem do instalacji SharePoint, najlepiej pobrać wszystkie potrzebne pliki (a jest ich kilka), by później skupić się już tylko na instalacji i konfiguracji. SharePoint Foundation 2010 można pobrać k...
Pod jednym z moich ostatnich postów na temat logowania Jacek zasugerował w komentarzu abym napisał trochę więcej o tym jak dzielę logi na poszczególne poziomy. Poniżej opis moich ZAMIERZEŃ. Zamierzeń, ponieważ jeszcze w ten sposób z logowania nie korzystałem, ale po dość długim rozmyślaniu wydaje mi się to najsensowniejszy podział. Może pojawią się uwagi korygujące takie podejście zanim wprowadzę je do projektu?:)
autor: Ostatnio firmie dostałem zadanie przygotowania teamu do projektu, który właśnie rozpoczęliśmy. Długo się zastanawiałem jak to zrobić by zarówno osoby zapoznały się z środowiskiem pracy jak i z narzędziami. Jako, że osoby biorące udział w projekcie są bardziej Junior Dev niż Dev a tym bardziej senior wpadłem na pomysł by w ciągu dwóch tygodni napisali mini projekt. Tak naprawdę prosty sam w sobie, i kiedy się wykorzystuje wbudowane narzędzia w VS w ciągu jednego dnia, maks dwóch można go napisać. ...
Kolejny raz o logowaniu... "bo to naprawdę ważne™" :). W świecie .NET mamy dwie liczące się biblioteki oferujące logowanie informacji z aplikacji: log4net oraz nLog. Oczywiście znajdą się też inne rozwiązania: od koszmarnych (The Logging Application Block z EntLiba) po głupie (pisanie własnego loggera i jego produkcyjne wykorzystanie).
Hostingiem ASP na Webio.pl jestem bardzo mile zaskoczony. Niedrogi, a niezawodny i funkcjonalny. Problemem jest tylko automatyczne ubijanie nieaktywnej aplikacji po 20 minutach. Staje się to uciążliwe jeśli: start aplikacji długo trwa (pierwszy wizytujący będzie musiał czekać) potrzeb...
Zasada O\C mówi, że oprogramowanie powinno być otwarte na rozszerzenia a zamknięte na modyfikacje. Innymi słowy programista powinien być w stanie uzyskać zamierzony efekt poprzez rozszerzenie klasy czy przeładowanie metody a nie zmianę już istniejącego kodu. Zasada jest szczególnie istotna w przypadku kodu produkcyjnego, w którym wszelkie możliwości modyfikacji kodu są ograniczone. Zasada pozwala budować modularne systemy. Użycie ENUM moim zdaniem jest złamaniem Open\Closed principle. Wykorzystując w kod...
Architektura 5291 dni, 8 godzin, 7 minut temu 93 źrodło rozwiń
Na początek podam czystą definicje z wiki: “Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.” Początkowo za wiele ta tajemnicza definicja nie mówiła mi. Innymi słowy, klasa dziedzicząca powinna rozszerzać możliwości klasy bazowej a nie całkowicie zmieniać jej funkcjonalność. Sposób korzystania z klasy potomnej powinien być analogiczny do wywoływania klasy bazowej...
Architektura 5289 dni, 6 godzin, 46 minut temu 101 źrodło rozwiń
Zasada mówi żeby tworzone przez programistę interfejsy były odpowiedzialne za jak najmniejsza funkcjonalność. Użytkownik chcąc zaimplementować taki interfejs nie powinien pisać metod, których nie potrzebuje. Jeśli znajdują się w nim niepotrzebne metody to wtedy nazywamy go interfejsem “fat” lub “polluted”. Najlepiej rozważyć to na klasycznym przykładzie (z oodesign):interface IWorker { void Work(); void Eat(); } class Worker: IWorker { publicvoid Work() { } publicvoid ...
Architektura 5284 dni, 8 godzin, 4 minuty temu 94 źrodło rozwiń