Jestem zwolennikiem terminologii angielskiej, czyli wszystkie identyfikatory w kodzie są w tym właśnie języku. Dzięki temu kod rzeczywiście jest samodokumentujący się, bo nie dławi go dysonans angielskiej składni i polskiej terminologii, który nieodwołalnie prowadzi do identyfikatorów typu „ponglish„, np. BeforeZapisz, RestoreZasoby...
Strona głównaUżytkownik
PaSkol | użytkownik
Sztuka programowania 4374 dni, 15 godzin, 20 minut temu 131 źrodło rozwiń
SQL Serwer umożliwia zdefiniowanie procedury składowanej, której dowolny parametr (lub parametry) może służyć do zwracania jakichś informacji w ramach tej procedury uzyskanych. Oprócz tego procedura może zwracać także jakiś zestaw wyników w postaci tabelarycznej (wystarczy w jej treści wykonać select), co więcej takich zestawów może być więcej niż jeden. Połączenie tych dwóch cech pozwala tworzyć rozbudowane procedury, które mogą zwracać wiele zestawów wyników i dodatkowo jakieś informacje w parametrach ...
Bazy danych i XML 4382 dni, 15 godzin, 4 minuty temu 98 źrodło rozwiń
Tym razem krótko i na temat. Ostatnio kolejny raz spotkałem się z oczekiwaniem przez programistę, że wartości kolumny typu identity będą zachowywać ciągłość. Pomyślałem więc, że po prostu zrobię na ten temat wpis i do niego będę ewentualnie odsyłał niezorientowanych w temacie.
Bazy danych i XML 4388 dni, 17 godzin, 39 minut temu 129 źrodło rozwiń
Konferencja MTS 2012 już za nami. Jest co wspominać. Miło było być uczestnikiem tego wydarzenia. Jak co roku, również tym razem największą wartość dla mnie miały dwie rzeczy: możliwość spotkania ludzi dzielących podobne pasje i zainteresowania (a tym razem często także i interesy!) oraz merytoryka prezentacji.
Bazy danych i XML 4394 dni, 16 godzin, 36 minut temu 112 źrodło rozwiń
Jak automatycznie generować skrypt bazy danych np. w celu okresowego przebudowywania programu instalacyjnego ze względu na zmianę struktury tejże bazy.
Bazy danych i XML 4399 dni, 21 godzin, 36 minut temu 72 źrodło rozwiń
W zeszłym tygodniu na dotNETomaniaku wypromowano artykuł na temat interfejsów. Zapoznałem się z nim i odnoszę wrażenie, że autor nie rozumie w pełni roli interfejsu i myli go z klasą bazową. O taką pomyłkę rzeczywiście nietrudno, wiele klas buduje bowiem swoją funkcjonalność na podstawie interfejsów, ale to nie oznacza automatycznie, że interfejs jest ich przodkiem, zaczynem. Trzeba zacząć od tego, że choć interfejs umieszcza się w definicji klasy tak samo jak klasę dziedziczoną...
Sztuka programowania 4404 dni, 13 godzin, 2 minuty temu 98 źrodło rozwiń
Notacja węgierska to ZŁOOOOOO! Słychać to ze wszystkich stron i trudno się z tym nie zgodzić. Przedrostki nazw identyfikatorów określające typy takiego identyfikatora nigdy nie były jakimś nowatorskim rozwiązaniem – prędzej protezą. Czy oznacza to jednak, że całość tego pomysłu należy odbierać negatywnie? W mojej opinii nie. A dlaczego - o tym tenże wpis.
Sztuka programowania 4410 dni, 1 godzinę, 3 minuty temu 148 źrodło rozwiń
Proces instalacji to czynność długotrwała. Dodatkowo wymaga on co jakiś czas uwagi, choćby po to, aby potwierdzić warunki licencji, lub wcisnąć przycisk Dalej, albo podjąć jakąś decyzję. Niniejszy artykuł opisuje co należy zrobić, aby przygotować instalację automatyczną, w pełni powtarzalną.
Bazy danych i XML 4419 dni, 2 godziny, 15 minut temu 58 źrodło rozwiń
by Shane Pope W 2010 roku poczyniłem post prezentujący być może jedną z mniej znanych funkcji Visual Studio 2010. Jako, że od tamtego czasu minęło sporo czasu a za nami release najnowszej wersji VS postanowiłem odświeżyć tamten wpis co nieco. Klawiatura w życiu programisty jest ważna. To tu nasze ręce spoczywają przez większość dnia, to tu gromadzimy zapasy jedzenie na zimę i to tędy przelewamy naszą wiedzę na papie...eeekran. Myszka jest drugorzędna. Przydaj się tylko, aby zrobić jakąś dodatkową czynno...
Kiedy rozważa się dostęp do bazy danych z poziomu urządzenia przenośnego zazwyczaj (skojarzenia to przekleństwo) na myśl przychodzi wersja Compact SQL Serwera. W większości przypadków jest to właściwy trop, niemniej obecnie urządzenia coraz częściej wyposażone są w Wi-Fi, co daje nowe możliwości, jeżeli chodzi o przechowywanie przez nie danych. Tak wyposażone mogą bowiem skorzystać ze zwykłego SQL-a, z całym wachlarzem dobrodziejstw, jakie posiada używana wersja...
Bazy danych i XML 4438 dni, 15 godzin, 6 minut temu 52 źrodło rozwiń
Do niedawna nie miałem pojęcia o czymś takim jak NDepend. Co prawda szperając po sieci raz na jakiś czas trafiałem na informacje o metrykach, ale jakoś niespecjalnie mnie to pociągało, ani nie odczuwałem potrzeby, aby „szukać dziury w całym” czyli we własnym kodzie. Zakładałem, że jest wystarczająco prawidłowy, a ja nie mam aż tyle czasu, aby cyzelować go do perfekcyjnej postaci. Sytuacja zmieniła się, kiedy niedawno nadarzyła się okazja zostania obdarowanym właśnie ta aplikacją...
C# ma tę genialną zaletę, że pozwala komentować swoją treść specjalnymi znacznikami XML. Natychmiastowym efektem takich komentarzy jest ich prezentacja w postaci pomocy kontekstowej dla elementów kodu, które zostały nimi opatrzone. Drugie ich zastosowanie, to możliwość wygenerowania dla każdego pliku z treścią oprogramowania dokumentacji zawierającej elementy opatrzone wspomnianym typem komentarza. Niestety – określanie tych plików mianem dokumentacji jest nadużyciem...
Dzisiaj przykład skryptu SQL, który pozwala na serwerze MSSQL 2008r2 odtworzyć kopię dowolnej bazy danych, umieszczoną w dowolnej, dostępnej dla serwera SQL lokalizacji, na dowolną bazę danych serwera. Skrypt wymaga podania dwóch parametrów (które należy wprowadzić do dwóch, zadeklarowanych jako pierwsze, zmiennych) tj. ścieżki do kopii bezpieczeństwa oraz nazwy bazy danych. Wszystkie pozostałe informacje skrypt pobiera sobie automatycznie, czyli ...
Bazy danych i XML 4472 dni, 11 godzin, 5 minut temu 92 źrodło rozwiń
Niniejsze rozważania zacznę od następującej anegdoty, która doskonale oddaje ich sedno. Pewna mała dziewczynka przyglądała się mamie przygotowującej pieczeń: - Mamo, dlaczego gdy robisz pieczeń, to zawsze odcinasz końcówki mięsa i wkładasz je po bokach brytfanny? - Bo tak się piecze kochanie. - Ale dlaczego tak się piecze? - Końcówki obcina się, aby mięso lepiej się upiekło. - Mamo, ale przecież i bez tego mięso by się upiekło. - Córeczko, twoja babcia tak piekła, ciocia tak piecze i ...
Sztuka programowania 4475 dni, 9 godzin, 58 minut temu 163 źrodło rozwiń
To będzie króciutki wpis, niemniej traktujący o dość istotniej zasadzie programowania obiektowego, tj. zasadzie jednolitego dostępu. Jej treść brzmi następująco: Wszystkie usługi oferowane przez moduł powinny być dostępne za pośrednictwem jednolitej notacji, która nie zdradza, czy zostały one zaimplementowane z wykorzystaniem danych przechowywanych statycznie, czy też obliczanych na bieżąco w razie potrzeby. Jakie są zalety ze stosowania tej zasady? Otóż...
Sztuka programowania 4498 dni, 20 godzin, 16 minut temu 195 źrodło rozwiń
Na blogu Pawła Potasińskiego istnieje wpis o sposobach konwersji polskich liter zakodowanych w standardzie Mazovia w środowisku SQL Serwera. Jednym z tych sposobów jest zrealizowanie konwersji za pomocą funkcji rozszerzonej, napisanej w .NET. Niestety, nie wykorzystuje ona standardowych mechanizmów konwersji .NET (Encoding), ale zwykłą podmianę znaków (Replace). Dlaczego klasa Encoding nie podołała temu zadaniu i jak mimo wszystko zmusić ją do niego? Odpowiedź w tym wpisie.
Bazy danych i XML 4511 dni, 23 godziny, 42 minuty temu 121 źrodło rozwiń
Myślałem trochę nad tematami na następne wpisy i sądzę, że jest sporo tematów, nad którymi wypada się pochylić, zarówno tematów dla DBA/DEV, jak i tematów z zakresu Business Intelligence. Pierwszy temat wpadł mi do głowy przy okazji przygotowywania prezentacji na 61. spotkanie warszawskiego oddziału PLSSUG (Polish SQL Server User Group). Wspólnie z Małgosią Borzęcką zaprezentowałem wprowadzenie do indeksów columnstore. W zasadzie chyba używając słowa “wprowadzenie” dokonałem nadużycia :-) Sesja miała co...
Bazy danych i XML 4530 dni, 4 godziny, 25 minut temu 90 źrodło rozwiń
W dwóch poprzednich wpisach rozważałem odczyt i zapis danych, które były odzwierciedleniem (obrazem) pamięci w tzw. programach Win32 (czyli pracujących w środowisku 32 bitowych Windows, z bezpośrednim, niezarządzanym dostępem do pamięci). Wypadałoby postawić „kropkę nad i” tj. wspomnieć jeszcze o klasie Buffer oraz opisać związane z nią i klasami Encoding i BitConverter niuanse, które, gdybym umieścił je w poprzednich wpisach, niepotrzebne utrudniły by lekturę ...
Sztuka programowania 4528 dni, 21 godzin, 41 minut temu 88 źrodło rozwiń
Kontynuując temat z poprzedniego wpisu, obecnie przedstawię, w jaki sposób wypełnić plik, aby odpowiadał obrazowi pamięci oczekiwanemu przez aplikacje nie napisane w .NET (napisane w kodzie niezarządzanym). W tym wypadku swoją rolę ponownie odegrają klasy BitConvert oraz Encoding. W obu wypadkach użyte zostaną metody o takiej samej nazwie: GetBytes...
Sztuka programowania 4538 dni, 21 godzin, 26 minut temu 84 źrodło rozwiń
Jak wiadomo wszystkie dane platformy .NET są przechowywane w postaci obiektów [...], więc siłą rzeczy sposób przechowywania tychże danych jest ukryty przed programistą (obiekty są wszak hermetyczne). Jest to całkowicie odmienne podejście do przechowywania danych w stosunku do stosowanego przed erą .NET. Tam typy proste były zwyczajnie obszarem pamięci, który był odpowiednio interpretowany przez oprogramowanie (dbał o to kompilator)...
Sztuka programowania 4542 dni, 21 godzin, 57 minut temu 132 źrodło rozwiń