W poprzednim wpisie pokazaliśmy sobie jak możemy zmusić Visual Studio do zdalnego debuggowania naszej aplikacji na produkcji. W tym wpisie przyjrzymy się MDbg. MDbg - to prosty, konsolowy debugger przeznaczony do śledzenia kodu aplikacji zarządzanych (tylko i wyłącznie – nie ma wsparcia dla aplikacji natywnych). MDbg jest częścią instalacji Visual Studio lub Windows SDK. Działa także bez instalacji, tak więc możemy go nagrać na przenośną pamięć i nosić ze sobą w razie potrzeby. Poniżej Mdbg w działaniu –...
Strona głównaUżytkownik
lkurzyniec | użytkownik
Obiekt użytkownika wykonującego żądanie (Context.User) jest powszechnie znany. Dzięki niemu w prosty i szybki sposób sprawdzimy, czy osobnik poruszający się po naszej aplikacji jest zalogowany oraz jaki jest jego login. Dodatkowo, jeśli zrzutujemy ten obiekt na klasę, np. RolePrincipal ...
Czasami zdarzają się sytuacje, że pomimo usilnych prób nie możemy zreprodukować błędu u siebie na maszynie lokalnej. Musimy sprawdzić dlaczego nasza aplikacji źle działa na maszynie produkcyjnej. W tym wpisie postaram się przedstawić jakie narzędzia mamy do dyspozycji jeśli jeśli taka potrzeba zajdzie. Zobaczmy co jest zatem dostępne.Visual Studio Remote Debugging Pierwszą naszą opcją jest Remote debugging dostępny w VisualStudio. Wraz z zainstalowanym VS instalują nam się komponenty, które możemy wykorz...
Autor: Kilka dni temu w poście Statystyka… zapowiedziałem, iż postaram się zaproponować kawałki kodu, które umożliwią włączenie statystyk dla zapytań LINQ to SQL. Zadanie okazało się trochę trudniejsze niż myślałem, ale udało się coś osiągnąć. Zobaczmy jak.Rozwiązanie Naïve Pierwsze co przychodzi na myśl to proste rozszerzenie obiektu DataContext o nasze metody. Mniej więcej tak: publicstaticclassDataContextExt { publicstatic T WithStatistics
Bazy danych i XML 5062 dni, 1 godzinę, 9 minut temu 44 źrodło rozwiń
Nie… w tym wpisie nie będzie o statystyce odwiedzin bloga i innych podobnych rzeczach, o których można dziś na wielu blogach (u mnie o tym będzie może następny wpis :)). Będzie o klasie o której pewnie niewielu z was wcześniej wiedziało. Do wczoraj nie wiedziałem także i ja. Poznajcie – SqlStatistics. Klasa jest internal sealed tak więc czemu o niej cokolwiek piszę? A no ponieważ do samej klasy dostać się nie możemy natomiast do danych przez nią zbieranych już tak. Śledząc jej zależności Reflector’em zau...
Bazy danych i XML 5064 dni, 4 godziny, 12 minut temu 97 źrodło rozwiń
CTE w T-SQL można porównać do tymczasowej tabeli. Prawdziwa siła CTE jednak tkwi w możliwości rekurencyjnego przechodzenia przez węzły. Ogólna zasada tworzenia wygląda następująco:WITH expressionname [ ( columnname [,...n] ) ] AS ( CTEquerydefinition ) exoression_name stanowi nazwę obiektu CTE. Następnie listujemy wszystkie kolumny, które będą występować w CTE. Za słowem kluczowym AS występuje selekcja danych – tak jak w zwykłych widoku. Stwórzmy więc obiekt CTE:WITH FirstCte (FirstName,LastName) ...
Bazy danych i XML 5077 dni, 19 godzin, 4 minuty temu 65 źrodło rozwiń
Podczas projektowania aplikacji jedną z kluczowych kwestii jest wyodrębnienie potencjalnie czasochłonnych operacji z kodu, oraz przystosowanie ich do działania w osobnych wątkach. Gdy w grę wchodzi GUI, czynność ta jest wręcz niezbędna. Standardowym modelem jest przygotowanie wszystkich danych wejściowych dla długotrwałego procesu i przekazanie ich do nowego wątku; tam też rozpoczynając asynchroniczną pracę. Po jej zakończeniu, odbieramy wyniki i już bez znaczących przestojów możemy odpowiednio na nie za...
SQL Search. to dodatek do SQL Server Management Studio (SSMS). pozwalający na szybkie i efektywne przeszukiwanie bazy danych. Zadanej frazy szukamy w elementach, takich jak: tabele, widoki, procedury, konstreiny, triggery, funkcje. Wyszukiwanie jest natychmiastowe, ponieważ...
Bazy danych i XML 5084 dni, 1 godzinę, 14 minut temu 105 źrodło rozwiń
Czy byłeś kiedyś świadkiem tworzenia jakiegoś oprogramowania? Chodzi mi o coś w rodzaju spoglądania przez ramię na klepiącego kod programistę. Można się tak dużo nauczyć. Jednak jeżeli dziedzina rozwiązywanego problemu jest dla jednej osoby zbyt obca, to również i kod na jej oczach powstający może stanowić dużą abstrakcje. Proces powstawania znanych, lecz trudnych algorytmów również może być bardzo ciężki do zrozumienia bez ciągłych objaśnień autora, na temat tego co wyraża dany kod. Raz na jakiś czas ...
Każdy programista ASP.NET musi od czasu do czasu podpiąć się pod IIS debuggerem. Niekiedy nawet kilkadziesiąt razy dziennie. Właśnie jednego z takich dni niesamowicie irytowało mnie to, że w pewnym momencie debuggowanie po prostu... ustawało. Jakby aplikacja kończyła działanie. Ruszyłem na poszukiwania rozwiązania.
Buszując w internecie, a dokładnie po googlu, natrafiłem na bardzo ciekawą rzecz - Google Font API. Są to internetowe czcionki udostępnione przez giganta zupełnie za darmo. Ich użycie bądź zastosowanie na stronie www jest banalnie proste.
Tworząc aplikację, na pewnym etapie jej rozwoju, podejmujemy decyzję o implementacji możliwości konfiguracji tegoż systemu. Sposobów, czy też miejsc trzymania ustawień jest kilka. Artykuł opisuje w jaki sposób można zarządzać tymi zasobami.
Jeśli spędzamy stale kilka godzin dziennie przed ekranem monitora, nie możemy lekceważyć kwestii zdrowia naszych oczu. Każda rzecz, która rozprasza programistę, skutecznie obniża efektywność jego pracy. Lecz gdy mowa o niedogodnościach związanych ze wzrokiem sprawa staje się na tyle poważna, że często oznacza konieczność dłuższego odpoczynku od programowania. W niniejszym artykule chciałbym podzielić się prostym sposobem na zmniejszenie zmęczenia wzroku programisty.
Aby wyjaśnić znaczenie atrybutu stwórzmy najpierw tabelę składają się wyłącznie z jednej kolumny – klucza głównego. Ponadto nie ustawiajmy IDENTITY dla tej kolumny. Następnie spróbujmy wykonać 2 poniższe insert’y:begintransactioninsertinto TestSet (ID) values(1); insertinto TestSet (ID) values(1); committransaction; Przy drugim insercie wyskoczy błąd. To jest oczywiste ponieważ klucz główny musi być unikalny. Jeśli jednak odpalimy select’a przekonamy się, że wartości z pierwszego insert’a zostały wstaw...
Bazy danych i XML 5149 dni, 1 godzinę, 12 minut temu 20 źrodło rozwiń
W świecie informatyki, zaprogramować można wszystko. Ponadto, każdy problem, czy zagadnienie ma tysiące rozwiązań (a może nawet tyle co programistów na świecie:)). Niektóre problemy - zagadnienia, powtarzają się na tyle często, że pewne mądre głowy opracowały gotowe sposoby, wzorce rozwiązań takich problemów. Kiedyś opisywałem już wzorzec projektowy Model View Controller. Dziś, chciałbym zaprezentować wzorzec projektowy Factory (z ang. fabryki), ułatwiający tworzenie nowych obiektów. Przykłady zaprezent...
Architektura 5148 dni, 5 godzin, 27 minut temu 297 źrodło rozwiń
W kodzie C# możemy tworzyć komentarze przy pomocy XML. Na podstawie tych komentarzy można później wygenerować pliki z dokumentacją przy pomocy odpowiednich narzędzi. Zawsze jednak strasznie nie chciało mi się pisać komentarzy do kodu. Zajęcie to jest nudne i czasochłonne (czasem nic po prostu nie przychodzi do głowy). Z GhostDoc (dodatek do Visual Studio) wszystko może ulec zmianie. Narzędzie to służy do generowania komen...
Dzisiaj musiałem w LINQ TO SQL napisać zapytanie odpowiadające takiemu zapytaniu w T-SQL...
Bazy danych i XML 5162 dni, 18 godzin, 50 minut temu 71 źrodło rozwiń
O Fluent Interface ("płynnym interfejsie"?:) ) jest od jakiegoś czasu dość głośno w światku .NET. Stał się... trendy. Implementują go właściwie wszystkie kontenery IoC, można za jego pomocą skonfigurować NHibernate, coraz więcej innych projektów udostępnia swoje API w ten sposób. Ale dlaczego, czy jest to naprawdę tak fajne? Moim zdaniem: TAK. Fluent Interface jest nawet czymś więcej niż "fajnym bajerem" - pozwala naprawdę bardzo uprościć pracę z naszą biblioteką.
Architektura 5232 dni, 6 godzin, 50 minut temu 172 źrodło rozwiń
Na początku był Agile… Manifest Agile i zawarte w nim idee. Manifest, mimo że niezwykle odkrywczy był jednak bardzo ogólny – prezentował wartości, ale nie tłumaczył, jak wprowadzić je w życie. Nieuniknione było więc powstanie metodologii ściślej opisujących proces wytwarzania oprogramowania...
Szkoda, że w C# nie ma znanych z Javy anonimowych klas. Nie mylić z anonimowymi typami, które nie pozwalają na implementację metod! W internecie jest wiele skarg i próśb próbujących wymusić na Microsofcie dodania tego, jakże wygodnego, ficzera do naszego języka...
Architektura 5222 dni, 10 godzin, 59 minut temu 107 źrodło rozwiń