Strona głównaUżytkownik

pzielinski | użytkownik

pzielinski
pzielinski
27 178,29
4091 dni, 10 godzin, 35 minut temu
21 lutego, 2010
dotnetomaniak.pl

IntelliTrace jest doskonałym narzędziem ułatwiającym debuggowanie przez tzw. “time travel”. Umożliwia to podczas debuggowania np. cofnięcie się do poprzedniej linii lub prześledzenie nagranej wcześniej sesji (w przypadku np. awarii systemu). W tym poście jednak nie będziemy zajmować się obsługą tego narzędzia a scenariuszem w którym mamy zainstalowany program na innym komputerze, na którym nie jest dostępny Visual Studio. Przede wszystkim na dany komputer należy skopiować następujące pliki (wymagane prz...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » IntelliTrace bez Visual Studio

Narzędzia 5096 dni, 6 godzin, 35 minut temu pzielinski 43 źrodło rozwiń

Załóżmy, że mamy metodę generyczną:privatevoid AddItem

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Metoda generyczna oraz przeładowana nakładka na nią z parametrem Type

Architektura 5096 dni, 6 godzin, 35 minut temu pzielinski 81 źrodło rozwiń

SQL Server 2008 wprowadza widoki partycjonowane. Służą one do optymalizacji zapytań na bardzo dużej ilości danych. Rozważmy scenariusz w którym mamy 12 tabel, przechowujących archiwalne informację o sprzedaży np. JanuarySales, FebruarySales, MarchSales itd. Dane przechowywane w tych tabelach różnią się tylko czasem (dana tabela przechowuje wyłącznie informacje z określonego miesiąca). Aby móc skorzystać z widoku partycjonowanego należy użyć ograniczenia CHECK na kolumnie, będącej kryterium podziału:CREAT...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Partitioned View

Bazy danych i XML 5104 dni, 9 godzin, 33 minuty temu pzielinski 37 źrodło rozwiń

Na MSDN pojawi się cykl artykułów związanych z platformą Azure. Przeznaczony jest on dla początkujących (przynajmniej pierwsze artykuły). Jeśli nie miałeś jeszcze styczności z Azure to jest doskonały moment aby przekonać się jakie możliwości dostarcza nam ta platforma. Zapraszam do pierwszego artykułu z tej serii- Azure Tools czyli podstawowe narzędzia niezbędne do pracy z Azure: http://msdn.microsoft.com/pl-pl/library/gg455965Explore posts in the same categories:Azure This entry was...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Narzędzia Azure – zaczynamy.

Programowanie rozproszone 5105 dni, 2 godziny, 52 minuty temu pzielinski 39 źrodło rozwiń

Powershell to interpreter poleceń oferujący dużo większe możliwości niż popularny CMD. Jedną z wyróżniających cech PowerShell’a jest logika obiektowa. Wszystkie produkty serwerowe Microsoft’u mogą być obsługiwane z poziomu PowerShell’a można zatem pisać np. skrypty konfiguracyjne. SQL Server nie jest oczywiście wyjątkiem i również wspiera PS. SQL Server PowerShell wykorzystuje hierarchię obiektów – tabela należy do schematu, schemat do bazy itd. W ramach SQL Server PS dostępne są trzy foldery:SQLSERVER:\...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » PowerShell i SQL Server

Bazy danych i XML 5111 dni, 20 godzin, 18 minut temu pzielinski 35 źrodło rozwiń

W Visual Studio można stworzyć tzw. Generic Test. Co to takiego? Jest to po prostu wrapper na narzędzie dostarczone przez kogoś innego. Powiedzmy, że do przetestowania jakiegoś modułu wykorzystujemy narzędzie stworzone przez zewnętrzna firmę. Za pomocą Generic Test możemy podpiąć zewnętrzne narzędzie i wykorzystywać zalety testów VS (np. raportowanie). W konfiguracji Generic Test określamy m.in. ścieżkę do zewnętrznego narzędzia, przyjmowane argumenty oraz opcjonalne parametry (zmienne środowiskowe, doda...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Generic Test

Inne 5114 dni, 2 godziny temu pzielinski 41 źrodło rozwiń

Część osób wykorzystuje jako klucze główne typ uniqueidentifier zamiast standardowych liczb całkowitych. Ma to związek m.in. z rozproszonymi bazami danych oraz ich scalaniem. Jeśli wykorzystujemy uniqueidentifier jako klucz główny warto ustawić atrybut ROWGUIDCOL na TRUE. Powoduje to, że wartości kluczy będą automatycznie wypełniane unikalnymi wartościami. ROWGUIDCOL działa w podobny sposób co IDENTITY dla liczb całkowitych. Warto jednak podkreślić, że ROWGUIDCOL nie gwarantuje unikalności – jeśli wstawi...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Atrybut kolumny ROWGUIDCOL

Bazy danych i XML 5116 dni, 22 godziny, 19 minut temu pzielinski 42 źrodło rozwiń

Nie będę tłumaczył na polski powyższych nazw bo nie mam pojęcia jak to oficjalnie zostało nazwane. W każdym razie, cechą wspólną powyższych testów jest szybkość i pobieżność – stanowią one wstęp do prawdziwego, gruntowanego testowania. Poniżej kilka najważniejszych cech opisujących smoke test:Zwykle zautomatyzowany – np. w formie testu jednostkowego.Testuje każdą warstwę systemu pobieżnie. Sprawdza czy najważniejsze fragmenty systemu działają, nie wgłębiając się w logikę biznesową.Ma charakter horyzontal...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Smoke Test i Sanity Test

Inne 5122 dni, 21 godzin, 40 minut temu pzielinski 36 źrodło rozwiń

Jak sprawnie i szybko przekopiować dane z tabeli do tabeli? Można wykorzystać klasę SqlBulkCopy, która jest znacznie lepszym rozwiązaniem niż użycie klasycznego SqlCommand z poleceniem INSERT. Załóżmy, że chcemy przekopiować dane z tabeli o nazwie “Adresy” do tabeli “Adresy_Archiwum”:using (SqlConnection sourceConnection =new SqlConnection(connectionString)) { sourceConnection.Open(); SqlCommand commandSourceData =new SqlCommand( "SELECT * FROM Adresy", sourceConnection); SqlDataReader reader ...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Kopiowanie dużej ilości danych z jednego źródła do drugiego

Bazy danych i XML 5121 dni, 16 godzin, 17 minut temu pzielinski 67 źrodło rozwiń

W testach jednostkowych czasami warto testować również prywatne metody. Wynika to z zasady atomowości. Prywatne metody z reguły zawierają atomowe operacje, wykorzystywane potem w metodach publicznych. Jednym ze sposóbów jest użycie mechanizmu refleksji. W tym poście zajmiemy jednak się narzędziem publicize.exe, służącym do zmieniania modyfikatorów prywatnych na publiczne. Załóżmy, że mamy taką klasę:

Tagi:
Dziel się z innymi:
Testowanie prywatnych metod i pól – publicize.exe

Narzędzia 5122 dni, 21 godzin, 40 minut temu pzielinski 55 źrodło rozwiń

Kolejnym i ostatnim sposobem numeracji wierszy jest NTILE(n). NTILE dzieli zbiór wierszy na n podgrup. Każda z podgrup jest numerowana osobno. Przykład:select NTILE(5) over(orderBY ProductSubCategoryID),ProductSubcategoryID from Production.Product; W powyższym przykładzie powstanie 5 grup – każda numerowana od 1.November 2nd, 2010 at 3:47 pm and is filed under SQL Server. You can subscribe v...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Numeracja wierszy w SQL Server – NTILE

Bazy danych i XML 5130 dni, 10 godzin temu pzielinski 38 źrodło rozwiń

Framework ASP.NET MVC powstał aby m.in. ułatwić testowanie aplikacji. Wszystkich zainteresowanych tematyką zachęcam do przeczytania tego wprowadzenia: http://msdn.microsoft.com/pl-pl/library/gg309141Explore posts in the same categories:ASP .NET, T

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Testowanie aplikacji ASP.NET MVC

Web 5132 dni, 13 godzin, 35 minut temu pzielinski 51 źrodło rozwiń

Testy bazy danych gwarantują nam  m.in. spójną strukturę, poprawność procedur i funkcji. Wszystkich zainteresowanych tą tematyką zapraszam do przeczytania  mojego artykułu: http://msdn.microsoft.com/pl-pl/library/gg314942Explore posts in the same categories:Testy

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Testowanie baz danych

Bazy danych i XML 5129 dni, 20 godzin, 7 minut temu pzielinski 47 źrodło rozwiń

W poprzednim poście zajęliśmy się funkcją RANK. Dla przypomnienia umożliwia ona numerację wierszy z rozróżnieniem wartości.  Dla dokładnego opisu odsyłam tutaj. Jedną z cech RANK jest fakt, że w przypadku remisów (takich samych wartości) licznik wewnętrzny jest zwiększany, czego rezultatem są przerwy w numeracji. W przypadku DENSERANK opisane przerwy nie istnieją. Rozważmy poniższe zapytanie:select DENSERANK() over(orderBY ProductSubCategoryID),ProductSubcategoryID from Production.Product; Możliwy wyni...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Numeracja wierszy w SQL Server – DENSE_RANK

Bazy danych i XML 5139 dni, 3 godziny, 9 minut temu pzielinski 27 źrodło rozwiń

W poprzednim poście przedstawiłem funkcję ROW_NUMBER. RANK działa analogicznie z tym, że wierszom o tej samej wartości nadawane są takie same liczby porządkowe. Rozważmy poniższe zapytanie:select RANK() over(orderBY ProductSubCategoryID),ProductSubcategoryID from Production.Product; Wiersze o takim samym ProductSubCategoryId otrzymają równe wartości a nie kolejne liczby jak w przypadku ROW_NUMBER. Przykładowo zwrócone wiersze:  RANKProductSubCategoryId151515464646   Warto zwrócić uwagę, że RANK nie zw...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Numeracja wierszy w SQL Server – RANK

Bazy danych i XML 5144 dni, 14 godzin, 23 minuty temu pzielinski 29 źrodło rozwiń

Czasami wykonując zapytania T-SQL potrzebujemy ponumerować wiersze. Baza SQL Server dostarcza nam kilka różnych funkcji. Podstawową funkcją jest ROWNUMBER, która zwraca dla danego zbioru wartości od 1 do n. W przypadku gdy dwa zwrócone wiersze zawierają identyczne dane, ROWNUMBER traktuje je jako różne i nadaje im kolejne numery. Przykład:select ROW_NUMBER() over(orderBY NAME),ProductSubcategoryID from Production.Product; W klauzuli over określa się m.in. sortowanie. Za pomocą tego ROW_NUMBER wie, jak...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Numeracja wierszy w SQL Server – ROW_NUMBER

Bazy danych i XML 5147 dni, 21 godzin, 19 minut temu pzielinski 51 źrodło rozwiń

W wielu DDL można ustawiać atrybut SCHEMABINDING. Do czego on służy? Ustawienie SCHEMABINDING powoduje, że dany obiekt (widok, funkcja itp.) jest powiązany z wszystkimi innymi obiektami do których się odwołuje. Jeśli zatem widok korzysta z jakieś tabeli to nie może zostać ona zmieniona lub usunięta ponieważ naruszyłoby to strukturę widoku. Użycie SCHEMABINDING jest sztywnym powiązaniem i zapobiega przypadkowemu usunięcia powiązanych obiektów.Explore posts in the same categories:SQL Server ...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Do czego służy atrybut SCHEMABINDING?

Bazy danych i XML 5149 dni, 2 godziny, 42 minuty temu pzielinski 37 źrodło rozwiń

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...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Znaczenie atrybutu XACT_ABORT

Bazy danych i XML 5151 dni, 18 godzin, 14 minut temu pzielinski 20 źrodło rozwiń

Pisząc kod odpowiedzialny za walidację liczb potrzebowałem sprawdzić ile miejsc po przecinku ma dany decimal. Użyłem rozwiązania może mało eleganckiego ale przynajmniej działającego:) :decimal decimalNumber =21.235; int length = (decimalNumber %1).ToString().Length -2; Reszta z dzielenia przez jeden zawsze zwraca to co jest po przecinku. Dla 21.235 będzie to 0.235. Zatem długość string’a minus dwa ( jeden dla przecinka, jeden dla zera) stanowi liczbę miejsc po przecinku. Może komuś się to przyda w przys...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Liczba miejsc po przecinku w decimal

Inne 5154 dni, 22 godziny, 46 minut temu pzielinski 59 źrodło rozwiń

W poprzednim poście zaprezentowałem sposób tworzenia drzewa w tabeli wykorzystując typ hierarchyid. W dzisiejszym poście z kolei chciałbym pokazać kilka ułatwień jakie daje nam ten nowy typ. Każdy węzeł jest reprezentowany za pomocą stringu. Dla korzenia jest to “/”, dla potomstwa “/1”, “/2” itd. Schodząc w dół drzewa otrzymujemy “/1/1”, “/1/1/1” itd. Bardzo łatwo wiec dostać się do konkretnego węzła:select*from Tree where Node=cast('/1/'as hierarchyid); Typ hierarchyid posiada wiele metod. Jedną z ciek...

Tagi:
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Hierarchyid, ciąg dalszy

Bazy danych i XML 5159 dni, 16 godzin, 59 minut temu pzielinski 37 źrodło rozwiń

1 2... 14 15 16 17 18 19 20