W tym wpisie omówię kolejne cztery funkcje, które pojawiły się w najnowszej wersji języka T-SQL. Będą to dwie funkcje logiczne (IIF i CHOOSE) oraz dwie funkcje operujące na ciągach znaków (CONCAT i FORMAT).
Bazy danych i XML 4610 dni, 19 godzin, 39 minut temu 135 źrodło rozwiń
Projektując programy w technologiach XAMLowych z wykorzystaniem MVVM Light Toolkit (w zasadzie liczy się wzorzec), zawsze napotykam problemy, na które trudno znaleźć jednoznaczną odpowiedź. Najczęściej kłopoty sprawia widok, który nie zawsze „chce” się zmieścić w kodzie xaml. Prostsze zadania można rozwiązać przy pomocy zachowań (?) czy też triggerów. Sprawy się komplikują w przypadku storyboardów. Co zrobić, jeżeli chcemy uruchomić ...
Architektura 4610 dni, 19 godzin, 39 minut temu 306 źrodło rozwiń
Często widzę następujący kod. Oczywiście jeśli mamy pewność, że zawsze jest klucz nie ma z tym problemu. Czasami jednak takiej pewności nie ma i należy zwrócić NULL albo stworzyć dany element w słowniku. Wtedy zaczynają się problemy bo najczęściej jest to dokonywane za pomocą:
Wczoraj mówiliśmy o single responsibility principle (SRP) czyli o zasadzie pojedynczej odpowiedzialności. Jest to zasada, która moim zdaniem najwięcej zmienia w dotychczasowych przyzwyczajeniach programistycznych. Na początku jest trochę męcząca ponieważ zgodnie z nią w klasie nie powinniśmy tworzyć innych obiektów.Jak to? Nie mogę używać słowa kluczowego new? Nie mogę tworzyć obiektów? No właściwie to nie. Jeżeli chcesz w klasie tworzyć obiekty to to już jest odpowiedzialność. Wiec klasa nic poza tworz...
Architektura 4612 dni, 3 godziny, 51 minut temu 99 źrodło rozwiń
Po jakimś czasie od udanego wdrożenia dedykowanego rozwiązania zbudowanego dla platformie SharePoint 2010 tak jak w przypadku innych platform pojawia się temat aktualizacji. Ze względu, że SharePoint stanowi swojego rodzaju Framework można by było oczekiwać wsparcia w zakresie aktualizacji. W przypadku wersji 2007 nie mieliśmy na co liczyć ale wiele się zmieniło w momencie opublikowania SharePoint 2010. Temu tematowi chciałem poświęcić niniejszy post.
Od .NET 2.0 dostępna jest klasa SqlBulkCopy, która pozwala na efektywne ładowanie dużych zbiorów danych do bazy SQL Server. Główną zaletą tej klasy jest wydajność operacji kopiowania danych...
Bazy danych i XML 4613 dni, 17 godzin, 57 minut temu 199 źrodło rozwiń
Wczoraj mówiliśmy o tym, że funkcja powinna wykonywać jedną rzecz. Świetnym papierkiem lakmusowym jest nazwa funkcji. Jeśli można łatwo nadać jej nazwę i nie zawiera spójników typu i, lub, albo, oraz (lub ich odpowiedników w j. angielskim ) to jesteśmy na dobrej drodze. Funkcje, które wykonują kilka czynności są wprowadzają po prostu w błąd.A co z klasami? Single Responsibility Principle mówi, że klasa powinna mieć jedną odpowiedzialność, powinna mieć jeden powód do zmiany. Takie podejście powoduje, że...
Czasami mamy do dyspozycji tylko asynchroniczne wywołanie interesującej nas metody, a chcemy synchronicznie. Kawałeczek kodu, który realizuje to w przejrzysty sposób.
Mobile development 4613 dni, 17 godzin, 57 minut temu 137 źrodło rozwiń
Pytanie brzmi: czy metody statyczne są wydajniejsze niż ich “zwykłe” odpowiedniki (instance methods)? Odpowiedź brzmi tak, ponieważ:Wywołanie jakiejkolwiek niestatycznej metody na klasie powoduje przekazanie parametru “this” – a to wymaga dodatkowego czasu.Same wywołanie jest bardziej czasochłonne dla zwykłych metod. W klasach statycznych nie ma dziedziczenia i wirtualnych metod. W niestatycznych metodach, kompilator musi dokonać kilka dodatkowych operacji. Każda metoda niestatyczna jest wywoływana za p...
W zeszły czwartek opublikowałem post pod tytułem “Warsztat czyli moje narzędzia pracy”. Opisałem narzędzia, które są dla mnie obecnie najbardziej przydatne. Jednak nie są to wszystkie narzędzia dlatego poniżej zamieszczam listę sporadycznie używanych ale takich, które spełniają swoją role i mogą się przydać również Tobie:Notepad2 jak dla mnie perfekcyjny zamiennik notatnika systemowego. Ma numerowanie linii i kolorowanie składni (dodatkowo czas używam również jako narzędzia do konwersji pomiędzy różnymi...
Niniejszy post jest 200-tną notatką na blogu.... Tak zacna i okrągła okazja zostaje niniejszym wykorzystana jako pierwszy z cyklu postów o podstawach programowania. Jednak nie mam zamiaru opisywać poszczególnych konstrukcji językowych ani też kolejnych bibliotek, nie będę również mówił o efektywnych algorytmach. Pisał będę o tym jak pisać aplikacje aby można było je długo i efektywnie rozwijać. Przejdę po zasadach SOLID (ale nie tylko tych 5 podstawowych), przejdę po TDD oraz kilku innych aspektach, któr...
Technology radar jest to zbiór przemyśleń nad technologiami i trendami przyszłości (tej całkiem bliskiej) powstały w ThoughtWorks. Firmuje go swoim nazwiskiem (pośród wielu innych nieznanych mi ) Martin Fowler.
O wzorcu projektowym singleton napisałem już kiedyś sporawy post. Klasy statyczne są prostym mechanizmem i mogą przypominać singleton. Tak jak w singleton, w klasach statycznych mamy do dyspozycji wyłącznie jedną instancję obiektu. Również nie ma możliwości ręcznego stworzenia instancji obiektów. Czym się zatem te twory różnią? 1. Singleton może implementować interfejs lub dziedziczyć po bazowej klasie. Jest to poważna zaleta w stosunku do klasy statycznej. Dzięki temu można np.:class XnaRenderer: IRend...
W SQL Server aż do najnowszej wersji brakowało mechanizmu pozwalającego na stronicowanie wyników zapytań. W najnowszej wersji języka T-SQL pojawiły się polecenia OFFSET i FETCH, które umożliwiają wygodne stronicowanie danych zwracanych przez zapytanie.
Bazy danych i XML 4617 dni, 3 godziny, 46 minut temu 148 źrodło rozwiń
Bardzo ciekawa opcja, która umożliwia w łatwy sposób wykonywanie zadań wystawionych przez przepływ pracy (workflow). Dzięki tej opcji jesteśmy w stanie wykonać zadanie poprzez zwykłego e-maila, który wysyłany jest w chwili utworzenia zadania.
Posted by mndevnotes W .NET 4 pojawiła się nowa klasa System.Lazy. Opakowuje ona obiekt danego typu, dzięki czemu jego inicjalizacja następuje dopiero w momencie pierwszego użycia.
Posted by mndevnotes Język T-SQL w najnowszej wersji SQL Server został wzbogacony o szereg nowych funkcji. W tym wpisie zajmę się trzema funkcjami służącymi do konwersji typów danych: PARSE, TRYPARSE, TRYCONVERT.
Bazy danych i XML 4618 dni, 8 godzin, 27 minut temu 143 źrodło rozwiń
Rozważmy następujący. Co jest największym problemem tego kodu? Wszystkie przykłady wymyślam na bieżąco dlatego oprócz głównego problemu, który chce zaprezentować w poście, istnieje kilka pobocznych.
Długi czas miałem problem z używanie kontrolek z pakietu Ajax Toolkit, których nazwy kończyły się na Extender. Było dla mnie niewadome jak nalezy ich użyć, dlatego teraz przedstawię ich działanie na kilku przykładach Kontrolki opisane jako Extender są rozszerzeniami do już istniejących kontrolek Asp.net. Nie każdą kontrolkę standardową da się rozszerzyć każdym rozszerzeniem, każda ma przypisane konkretne rozszerzenia. Pami...
Każdy programista ma swoją listę ulubionych narzędzi – takich jakie sprawdzają się w codziennej pracy. Warto poznać czego używają inni dlatego zachęcam do opisania swojego. Poniżej mój warsztat (na dzień dzisiejszy), który wygląda następująco (w kolejności zwiększenia komfortu pracy i produktywności):NCrunch dodatek do Visual Studio do Continious Testing. Dodatek ten dział w tle i jeśli tylko może, to kompiluje kod i uruchamia testy jednostkowe. Efekt jest taki, że przestając pisać nawet na kilka sekun...