W ramach przygotowania do dalszej pracy podjąłem zamiar zwiększenia jakości tworzonego kodu. Narzędzi zwiększających produktywność programisty jest oczywiście wiele. Osobom znającym już jednak podstawy, na początek, polecam zapoznanie się z programem FxCop. Jest to darmowe narzędzie od Microsoftu służące do przeprowadzania statycznej analizy kodu (oczywiście osoby dysponujące wersjami Visual Studio innymi niż Express nie...
Po przerwie związanej ze świętami, mam nadzieję, że blog wróci do dawnej formy… W bazach danych wykorzystuje się zwykle jako wartości kluczy głównych i obcych liczby całkowite – INT. Drugim podejściem (mniej popularnym) jest wykorzystanie globalnych identyfikatorów GUID. Jaka jest tak naprawdę różnica? Skupmy się na zaletach i wadach każdego z nich. Zaczynamy od typów całkowitych (int). Zalety: -bardzo mały rozmiar (tylko 4 bajty), -naturalna postać – każdy kolejny wiersz to sekwencja ...
Bazy danych i XML 4518 dni, 8 godzin, 18 minut temu 137 źrodło rozwiń
Jakiś czas temu pisałem na temat jak DataSet’a przenieść do MsSQL'a (z wykorzystaniem SQLServer Management Objects i SqlBulkCopy). W takim przypadku, gdy kolumna w tabeli w DataSet'cie ma ustawioną właściwość AutoIncrement, to należy w kolumnie w SQL serwerze ustawić Identity na true, oraz IdentityIncrement i IdentitySeed na odpowiednie im wartości (AutoIncrementStep i AutoIncrementSeed) pochodzącej ze źródłowej kolumny z tabeli z DataSet'a. Niestety w takim przypadku, podczas późniejszego ładowania dany...
Bazy danych i XML 4519 dni, 12 godzin, 19 minut temu 73 źrodło rozwiń
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 4519 dni, 12 godzin, 19 minut temu 43 ź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 4521 dni, 15 godzin, 21 minut temu 95 źrodło rozwiń
ASP.NET dostarcza wygodnego i prostego mechanizmu do obsługi profili użytkowników. Do profilu użytkownika można łatwo dodać kolejne dane – w tym celu wystarczy odpowiednio zmodyfikować web.config, np. w następujący sposób....
Dziś kolejne, mam nadzieję, ciekawe zastosowanie warunkowego breakpointu. Zanim jednak przejdziemy do omawiania nakreślmy naszą sytuację wyjściową. Załóżmy, że mamy kawałek kodu aplikacji, który jest dość często wykorzystywany z różnych miejsc. privatevoid Calculate(paramsint[] coefficients) { //do sth with coeffs Array.ForEach(coefficients, Console.WriteLine); } To co on robi nie jest ważne. Istotne jest, że chcielibyśmy postawić w niej breakpoint’a i zobaczyć jak się zachowuje w pewnych syt...
Przy pisaniu którejś z kolei aplikacji na pewno natkniemy się na problem nadania unikalnej nazwy jakiemuś plikowi. Czasami jest to podyktowane tym, że nie obchodzi nas jaka będzie nazwa takiego pliku, bo ścieżka do niego będzie przechowywana np. w bazie danych, lub nie chcemy aby plik o identycznej nazwie znalazł się jeszcze raz w tym samym katalogu, co oczywiście zaowocuje błędem. Poniżej przedstawiam jak wygenerować taką unikalną nazwę pliku/katalogu. Niektóre z poniższych przykładów nadawają się równi...
Niecały tydzień temu napisałem posta o LINQ to XML. Wtedy jednak zająłem się tylko tym czym jest XML, co to jest LINQ oraz jak wygląda przetwarzanie dokumentów XML przy pomocy przestrzeni nazw System.Xml. Dzisiaj jako kontynuacja wpisu pokażę już konkretne zapytania XLINQ oraz jak ogólnie wygląda przestrzeń nazw System.Xml.Linq...
Bazy danych i XML 4524 dni, 1 godzinę, 29 minut temu 84 źrodło rozwiń
Dzisiaj kolejny odcinek z serii "krótki kod prowadzącego". W tym odcinku zajmę się obiektem FormCollection (NameValueCollection). Obiekt ten jest dobrze znany każdemu programiście piszącemu w ASP.NET MVC. FormCollection jest to kolekcja przechowująca dane formularza przekazywanego do serwera podczas POSTa. Ot zwykły obiekt typu "kolekcja". Niestety przymiotnik "zwykły" po jakimś czas zaczął mi doskwierać. "Zwykłość" tego obiektu objawia się bowiem brakiem możliwości potraktowania g...
autor: Na temat Open XML już dłuższy czas nie pisałem. Dzisiaj chciałbym wrócić do tematu i napisać jak można ustawić odstępy między liniami w paragrafie w pliku Word'a (DOCX).
Kiedy piszemy aplikacje, prędzej czy później nadejdzie czas kiedy będziemy musieli korzystać z przetwarzania dokumentów XML. Nie ważne czy będziemy je tworzyć czy przetwarzać już istniejące. Dokument XML jest niczym innym jak zwykłym plikiem tekstowym lub strumieniem w pamięci. A więc bez problemu możemy napisać klasę lub klasy parsujące tekst XML i go odpowiednio przerabiać. Jednak samodzielne pisanie takiej klasy mija się z celem, zwłaszcza kiedy mamy do przetworzenia na przykład jeden plik. Oczywiście...
Bazy danych i XML 4524 dni, 1 godzinę, 29 minut temu 104 źrodło rozwiń
Od 2011 roku wchodzą w życie nowe przepisy dotyczące dni ustawowo wolnych od pracy. Do tej pory jeżeli jakieś święto wypadło w sobotę lub niedzielę to można było wybrać sobie inny wolny dzień zamiast utraconego święta. Od 2011 jeżeli święto wypadnie w weekend to ten dodatkowy dzień wolny przepada. W zamian dostajemy wolne w święto Trzech Króli (6 stycznia). W tym poście opisałem co jest potrzebne aby obliczyć wszystkie dni wolne od pracy.
Błąd pojawia się gdy chcemy wejść na nasz serwis hostowany na IIS [http://127.0.0.1:81/Service1.svc] ,który znajduje się na systemie 64 bitowym, a nasz serwis jest aplikacją 32 bitową. Jest to związane z tym, że na maszynie 64 bitowej IIS automatycznie konfiguruje się aby nie obsługiwać 32 bitowych apli...
Platforma Azure nie została zaprojektowania wyłącznie z myślą o .NET. Można korzystać z niej z poziomu róznych technologii, również PHP: http://msdn.microsoft.com/pl-pl/library/php-oraz-platforma-azureExplore posts in the same categories:Azure This entry was posted on Friday, December 24th, 2010 at 10:53 am and is filed under Azure. You can subscribe via RSS 2.0 feed to this post's comments. ...
Programowanie rozproszone 4531 dni, 8 godzin, 25 minut temu 55 źrodło rozwiń
Autor: Początkowo miałem plan zrobienia podsumowania roku, ale osoby nie piszące bloga pewnie nie zdają sobię sprawy jak bardzo czasochłonne i zajmujące to jest. Pomyślałem, więc, że w związku z grudniowym brakiem czasu, spróbuję napisać raczej o przyszłości niż skupiać się bardzo na przeszłości [po napisaniu całego tego posta - widzę, że też spędziłem nad nim dobrą godzinę...].
Indeksy są dobrym mechanizmem na optymalizację często powtarzających się zapytań. Przykładowo rozważmy następujące zapytanie: SELECT FirstName,LastName FROM Persons where Age>30 Dla dużej ilości danych, wykonanie powyższego kodu może trochę potrwać. Jeśli dodalibyśmy indeks na kolumnie Age, czas wykonania znaczącą by się skrócił ponieważ dane byłyby w pewnym stopniu sortowane w pamięci (w dużym uproszczeniu dane są przechowywane w strukturze drzewiastej, która znacznie przyśpiesza selekcję). Tematem po...
Bazy danych i XML 4531 dni, 16 godzin, 1 minutę temu 104 źrodło rozwiń
Na oficjalnym blogu The Windows Phone Developer Blog od jakiegoś czasu pojawiają się bardzo ciekawe porady o tworzeniu oprogramowania na telefony Windows Phone.
Mobile development 4532 dni, 12 godzin, 39 minut temu 52 źrodło rozwiń
Autor: Piszą swój cykl postów o WPF a w szczególności wpis, o DataBindingu pominąłem jeden ciekawy rodzaj bindingu o którym chciałbym dziś wspomnieć. Załóżmy, że mamy UI, który wyświetla jakieś elementy, które pobierane są z WebService’u. Oczywiście strzał do WebService’u (® by Marcin Najder) jest kosztowny jeśli chodzi o czas a UI nie chcemy blokować. Możemy wykorzystać w tym celu PriorityBinding. Jak? Załóżmy, że nasza klasa dostępu do danych wygląda następująco: publicclassDataAccess { publicList
To ja powinienem być tym ekspertem od pisania, nie? Jak to możliwe w takim razie, że moje poprzednie artykuły miały takwielebłędów? To proste: mój blog nie ma redaktora. To typowe dla bloga, ale niestety także bardzo powszechne dla dokumentacji open source: znaczna większość dokumentacji technicznej nie zachodzi dalej niż poza szkic. Wszyscy dobrzy pisarze mają swój wstydliwy sekret: nie są naprawdę tak dobrzy w pisaniu. Ich ...