Żyjemy teraz w ciekawym momencie roku, kiedy to Windows 8 uzyskuje status RTM, a za nim inne produkty jak np. Visual Studio 2012, a dodatkowo mamy też SQL-a 2012, który status RTM osiągnął już na przełomie marca i kwietnia tego roku. Wielu developerów zapewne będzie robiło reinstalacje, będzie po kolei instalowało aplikacje niezbędne do pracy, a później np. mogą zobaczyć w SQL Server Configuration Manager coś takiego: Najprościej jest pamiętać aby podczas nowej instancji wykonywać ją wg poniższej kole...
Nie, to nie będzie ogłoszenie w którym będę poszukiwał programisty. Wpis ten jednak będzie traktował o zatrudnianiu tychże. Ostatnio coraz częściej ocieram się o jakieś oferty pracy i naszło mnie kilka przemyśleń, którymi chciałbym się tu podzielić. Od razu zastrzegę, że są to tylko i wyłącznie moje opinie, a że za wyrocznię rynku się nie mam, mogą się kompletnie nie zgadzać z tym co mają do powiedzenia moi koledzy (i koleżanki?) programiści. Oferta ofercie nie równa Wiadomo, że ile firm tyle...
W poprzednim temacie opisałem użycie komponentu Script jako własnego źródła danych w Integration Services. Dzisiaj przedstawię kolejne zastosowanie Script Component, a mianowicie tworzenie własnej transformacji danych.
Nierzadko jest tak, że aplikacja zachowuje się nieprawidłowo, jednak wszystkie wyjątki są przechwycone i nie ma żadnej informacji (czy to wizualnej, czy tez w logach) o tym, że wydarzyło się coś niepokojącego, program po prostu dalej działa. Klasyczny przykład, to ‘połykanie’ wyjątków, czyli konstrukcja typu: try {...KOD...} catch(Exception) { } czyli blok obsługi wyjątku jest puściutki :) My jednak wyczuwamy jakąś zmyłkę i chcemy dowiedzieć się, co też poszło nie tak. Systemowy mechanizm obsługi wyj...
W dzisiejszym temacie omówię tworzenie własnego źródła danych w Integration Services za pomocą skryptu C#. Do tego celu służy komponent Script (Script Component). Po dodaniu go do elementu Data Flow, należy skonfigurować kilka opcji.
Tym artykułem rozpoczynamy serię wpisów dotyczących jednego z API wchodzących w skład .NET Framework – WCF (Windows Communication Foundation). Dowiesz się czym jest WCF i „z czym się go je”. Seria artykułów o WCF pomoże Ci się przygotować do egzaminu 70-503. Wpisy będą doskonałym materiałem do powtórki i przypomnienia sobie zagadnień – więc zapraszam do śledzenia kodzimy.net WCF? WTF! WCF (Windows Communication Foundation) – jest to jedno z API .NET Framework. Dzięki WCF będziesz w stanie p...
W ramach pakietu dystrybucyjnego .NET Framework do systemu trafia biblioteka SOS.DLL, która pozwala analizować kod .NET w WinDbg. Na tym blogu promuję jednak użycie biblioteki psscor4 (i wcześniejszej psscor2) do analizy dumpów (a także debuggowania aktywnych procesów), co wiąże się głównie z tym, że biblioteka ta jest niezależna od konkretnej wersji CLR (a konkretniej biblioteki mscordacwks.dll), w ramach której uruchomiony był proces. Do tego dochodzi fakt, że psscor zawiera wszystkie te rozszerzenia, ...
W ostatnim wpisie pokazałem w jaki sposób wczytać i uruchomić paczkę Integration Services w aplikacji .NET. Dzisiaj rozszerzę ten temat, prezentując kod C# pozwalający na pobranie danych z paczki SSIS zawierającej komponent DataReader Destination. Komponent ten poprzez interfejs DataReader udostępnia aplikacjom zewnętrznym zestaw danych z elementu DataFlow.
W dzisiejszym temacie przedstawię przykładowy kod C# umożliwiający załadowanie i uruchomienie paczki Integration Services. Na początku w projekcie konieczne jest dodanie referencji do Microsoft.SQLServer.ManagedDTS.dll. Wszystkie użyte klasy znajdują się w przestrzeni Microsoft.SqlServer.Dts.Runtime.
RxExtension - to biblioteka od Microsoftu ułatwiająca programowanie asynchroniczne. Opiera się na istniejących interfejsach IObservable oraz IObserver. W RX wiadomości są traktowane jako strumienie danych, do których należy się przypiąć i reagować na pojawienie się nowej wiadomości. Najnowsza wersja ma już cyferkę 2, ale nie jest jeszcze oznaczona jako stabilna. Ja do nauki wykorzystałem wersję 1 oraz książeczkę dostępną na stronie RX - Dev Labs Hands On. Na Channel9 są jakieś filmy na temat RX. Poniże...
W dzisiejszym wpisie zajmę się tematem łączenia kolekcji obiektów przy użyciu mechanizmów dostępnych w LINQ. Pokażę przykłady zastosowań metod Concat, Union, Intersect, Except oraz klauzuli Join (zarówno dla złączeń wewnętrznych jak i zewnętrznych). Dla każdego przykładu złączenia kolekcji przedstawię analogiczny sposób łączenia zbiorów danych w języku SQL.
Dziś jak obiecałem, praktyczny przykład wykorzystania WeakReference ( o który mowa była kilka postów wcześniej). Zdarzenia są częstym powodem memory leak. Na przykład:publicclass ReportViewModel { publicvoid Init(EmployeesViewModel employeesVm) { employeesVm.PropertyChanged+=EmployeesPropertyChanged; } privatevoid EmployeesPropertyChanged(object sender,EventArgs e) { // logika } } Następnie gdzieś w kodzie tworzymy ReportViewModel, wykonujemy jakieś operację i u...
In this post I’m going to show you how to diagnose SQL exceptions using memory dumps. Imagine you have a web application deployed on a production server. Your application is using Elmah configured to log all exceptions to a dedicated table. One day you receive information that users are unable to make orders and in the Elmah log there are lots of SqlTypeExceptions: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 1...
Opublikowano We wpisie o pokryciu kodu (Code Coverage) napisałem: Należy pamiętać, że to są narzędzia dla programisty Co przez to rozumiem? Code Coverage nie może być używany przez kierownictwo/zarząd/management/etc – a już pod żadnym pozorem nie może być związany finansowo z wypłatą programisty. Dlaczego? Przyciśnięty programista może bardzo łatwo wygenerować dowolne pokrycie kodu i to przy dosyć małej ilości pracy. Pisząc odpowiednią ilość testów jednostkowych bez asercji można uzyskać 100% pokryci...
Kompilacja to właściwie nic innego jak tłumaczenie z jednego języka na drugi. W przypadku C# (a dokładniej .net-a) to tłumaczenie odbywa się dwa razy. Raz z języka czytelnego dla kompilatorów aminokwasowych (c#) na MSIL czyli na taki w dużym uproszczeniu zarządzalny asembler (zrozumiały przez rzadko którego białkowca) a drugi raz z owego MSIL do takiego już prawdziwego kodu maszynowego, który jest zrozumiały dla krzemiaków. Każdy program w C# może mieć praktycznie nieskończenie wiele wers...
Opublikowano W zeszłym miesiącu pytałem Was o preferencje jeśli chodzi o białe znaki (whitespaces) w swoim ulubionym IDE. Pora rzucić okiem na wyniki i tak:Blisko 200 osób oddało swój głos – nie spodziewałem się takiego dużego odzewu, cieszy mnie to bardzo (cieszy odzew a nie zdziwienie)
When working with applications that utilize lots of threads and those threads arent particularry long running we can stumble upon a problem that we may lose most of the processing time for thread context switches, so it would be desirable to do all of the processing on a limited number of threads, usualy this can be done using a queue of delegates that each thread will process, but sometimes we cannot have that and still w...
W dzisiejszym poście kolejna thread-safe kolekcja – słownik danych. Jeśli musimy modyfikować słownik z kilku wątków naraz wtedy ConcurrentDictionary stanowi doskonały wybór. W przypadku gdy chcemy raz uzupełnić słownik a potem tylko czytać z niego dane, wtedy oczywiście nie ma potrzeby wykorzystywania ConcurrentDictionary. Zacznijmy od spisu najważniejszych metod:TryAdd – dodawanie nowego elementu. TryUpdate – aktualizacja wpisu. TryRemove – usuwanie klucza i wartości. AddOrUpdate – ciekawy twór. Za jedn...
Jeśli jeszcze nie jesteś przekonany do potrzeby profesjonalizmu to najwyższa pora zapoznać się z poniższym wywiadem z Robertem C. Martinem. A jeśli nie wiesz kim jest Robert C. Martin to najwyższa pora zapoznać się z jego opiniami na temat programowania, TDD i profesjonalizmu w programowaniu.
Windows 8 Release Preview–wrażenia Pod koniec zeszłego tyg. Microsoft udostępnił nam nową wersję Windows 8 oznaczoną jako Release Preview. Jest to wersja która nie równi się za mocno od finalnej. Oznacza to nie mniej nie więcej że to co widzimy nie różnić się będzie mocno od wersji finalnej. Przejdźmy więc do wrażeń jakie mam po instalacji nowego systemu.Częściowe spolszczenie Podstawowe aplikacje metro są spolszczone między innymi: Zdjęcia, Muzyka, Poczta, Kalendarz. SkyDrive to jedna z aplik...