uwaga: w poniższym tekście pisząc "blog", robię to w kontekście bloga programistycznego, być może momentami nawet zawężonego do .NET Gdy ponad 3 lata temu (sic!) rozpoczynałem blogowanie, było to trochę jak błądzenie w ciemności. Owszem, zdawałem sobie sprawę z istnienia czegoś takiego jak "blogosfera", jednak odnoszę wrażenie, że dzisiaj mamy do czynienia z o wiele bardziej rozpowszechnionym zjawiskiem. Wtedy bloga nie miał prawie nikt - teraz bloga ma cała masa ludzi, zarówno studentów jak i "zawodowc...
Dlaczego nie lubię override Equal? Wszystko jest dla ludzi. Pewnie się nawet zbłaźnię tą opowieścią :] Ostatnio poszukiwałam błędu w kodzie, w którym przeciążone były funkcje Equals (o czym dowiedziałam się po znacznym czasie spędzonym z debuggerem), a czasem także ==. Błąd okazał się dość paskudny bo był nieprzewidywalny. Problem był po dodaniu elementu do kolekcji - nagle zwracane były nieprawidłowe elementy z kolekcji. Na pierwszy rzut oka Equals wyglądał dobrze, zgodnie z zasadami zalecanymi pr...
Autor: Niejedną już umowę w swoim "wolnostrzelcowym" życiu podpisałem... i właściwie ani razu nie była ona taka jak być powinna. Co prawda za każdym razem następuje pewien postęp, jednak mimo to zawsze w praniu okazuje się, że jednak o czymś - ja lub Klient - nie pomyśleliśmy. Nie wynikało to bynajmniej z chęci jednej strony do oskubania drugiej strony, co raczej z braku doświadczenia lub zbyt nieformalnego podejścia do bardzo ważnych kwestii. Postaram się tutaj zebrać garść porad wyniesionych zarówno z...
Artykuł dla osób, które dopiero zaczynają z testami jednostkowymi. Wprowadzenie, trochę teorii i best practises: http://msdn.microsoft.com/pl-pl/library/testy-jednostkowe-w-visual-studio
Część bywalców kanału #warsztat może wiedzieć, że od jakiegoś czasu w wolnych chwilach rozwijam pewien niewielki projekt. Jest to prosty IRC-owy bot, który potrafi wykonywać różne predefiniowane czynności, dostępne za pomocą komend rozpoczynających się od kropki. Wśród nich mamy między innymi wysyłanie zapytań do wyszukiwarki Google, wyświetlanie skrótów artykułów z Wikipedii, przekazywanie wia...
Jeżeli kiedykolwiek natkniecie się na problem: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS...
Ile raz wam się zdarza czyścić projekt z bin/obj/logs itp. itd.? Mi osobiście dość często. Miałem już dość wykonywania monotonnych czynności otwarcia folderu solution i robienia dwóch search: po bin i obj...
Możliwości kształtowania wyglądu naszych klas dla łatwiejszego debuggowania są bardzo duże. Poprzednio pokazałem jak można wpływać na to, co nam wyświetli debugger o naszej klasie (DebuggerDisplay) oraz jak można tworzyć własne wizualizery klas (Debugger Visualizers). Teraz czas na ukrywanie składowych (np. prywatnych) naszej klasy, aby nie zaśmiecać sobie podglądu stanu okiektu podczas ...
Nie tak dawno przedstawiłem na spotkaniu Łódzkiej grupy profesjonalistów IT & .NET prezentację poświęconą „Managed Extensibility Framework” (patrz informacja: Prezentacja: "Wprowadzenie do Managed Extensibility Framework w .NET 4.0"). Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare
Ostatnio natknąłem się na pułapkę metody GetHashCode(). Jak wiadomo metoda ta służy do sprawdzenia, czy mamy do czynienia z dwoma tymi samymi obiektami jednej klasy. Cytująć MSDN: "A hash code is a numeric value that is used to identify an object during equality testing" Mój błąd polegał na tym, że wiedząc, że GetH...
W ostatnim poście opisałem przebieg pewnej rekrutacji, w której uczestniczyłem, aż do rozmowy z kierownikiem projektu. Post ten stanowi dokończenie tego tematu, a w szczególności zawiera odpowiedź na pytania jakie pojawiły się w komentarzach. Po jakimś czasie po rozmowie z kierownikiem projektu, w tej chwili już nie pamiętam szczegółów, zostałem zaproszony do kolejnego etapu rekrutacji. Tym razem musiałem pofatygować się do innego miasta na serię rozmów z przedstawicielami firmy z ...
« Wywołanie orkiestracji z poziomu usługi WCFCustom functoid – od A do Z Mapowania z wykorzystaniem Scripting functoid są dość uciążliwe jeśli odwołujemy się do własnych metod napisanych w C#, ponieważ musimy za każdym razem wskazywać:Script assembly,Script class,Script method. W tym poście chciałbym pokazać w jaki sposób można stworzyć własny functoid, który będzie wykonywał metodę napisaną w C#. Do tego celu należy utworzyć projekt typu Class Library, w którego właściwościach ustawiamy Build Events:Po...
W swojej dotychczasowej karierze wziąłem udział w wielu rekrutacjach. W przeważającej liczbie przypadków zostałem zaproszony na rozmowę ale czasami skończyło się na wysłaniu CV. Bardzo często zaproszenie na rozmowę poprzedzone było wywiadem telefonicznym. Wielokrotnie rozwiązywałem różnego rodzaju testy, dużo rzadziej byłem proszony o wykonanie pracy domowej. Część rekrutacji organizowana była przez firmy HR'owe inne bezpośrednio przez zatrudniającą firmę. Spośród tych wszystkich rekrutac...
Typowa, prosta klasa Person. Cztery propercje i konstruktor. Gdy w dowolnym miejscu programu zostanie utworzona instancja klasy Person, a następnie debuggerem zatrzyma się wykonywanie kodu, można sprawdzić stan naszego obiektu. Nagłówek obiektu wyświetla nazwę klasy, a jego rozwinięcie wyświetli poszczególne składowe i ich wartości. Podobny efekt jest widoczny jeśli utworzy się kolekcję obiektów P...
Niedawno oglądałem nagranie z sesji Advanced Debugging with Visual Studio 2010, która prowadził Ingo Rammer. Bardzo fajna sesja, świetnie prowadzona. Pojawiły się na niej ciekawe informacje, które pozwalają ułatwić i urozmaicić sobie sesje w debuggerze Visual Studio. Zainspirowany tematem, postanowiłem na własnej skórze przetestować pokazywane rozwiązania. Poprzednio pokazywałem jak można manipulować wyświetlaniem ...
Autor: Ostatnio, przez ponad pół roku, wraz z Wojtkiem Poniatowskim, Mirkiem Pragłowskim, Tomkiem Wiśniewskim prowadziliśmy kurs C# na portalu VirtualStudy. Kurs przeznaczony był dla osób początkujących ale dzięki temu miałem możliwość zobaczenia jakie elementy .NET i C# sprawiają najwięcej trudności osobom, które dopiero zaczynają swoją przygodę z tą technologią. Jeśli masz choć trochę doświadczenia z .NET to zapewne nie znajdziesz tu zbyt wielu przydatnych informacji. Tak czy inaczej zapraszam do czyta...
blackfoot.pl, autor:Ostatnio wpadła mi w ręce książka The Art of Unit Testing: with Examples in .NET autorstwa Roy’a Osherove’a. Muszę przyznać, że mam nieco mieszane uczucia po jej przeczytaniu. Minusy: Książka liczy około 280 stron, ale czytając ją miałem wrażenie, że ta liczba jest mocno naciągnięta – olbrzymie marginesy, bardzo szeroka czcionka, dużo niezagospodarowanego miejsca itp. Samym formatowaniem można by było zaoszczędzić przynajmniej kilkadziesiąt stron – ile drzew mogłoby wciąż rosnąć! Pie...
Wielojęzyczność aplikacji www można rozwiązać na kilka sposobów. Jedne strony mają rysuneczki flag symbolizujących język, w jakim chcemy widzieć teksty (i nie tylko) i pamiętają to w cookie. Inne pozwalają to ustawić w profilu użytkownika i pamiętają ustawienie w bazie. Ostatnio pisałem rozwiązanie, które ustawia odpowiednią kulturę aplikacji na podstawie informacji wysyłanych przez przeglądarkę podczas żądania.
Dziś kilka słów o tym, czego możemy spodziewać się po .NET jeśli idzie o niektóre możliwości systemu plików. - Panie Michale, to JEDNYM słowem, jak to jest z tym wsparciem dla niektórych rzadziej używanych funkcji systemu plików w .NET? - Dobrze. - A dwoma słowami? - Nie dobrze. Nudne wprowadzenie Wszystkie programy .NET są jednocześnie aplikacjami Win32, co oznacza, że pracują w ramach podsystemu Windows, który realizowany jest przez proces csrss.exe. Jego nazwa rozwija się do Client/Server Run-Time...
Wczoraj miałem przyjemność poprowadzić sesję o testach jednostkowych na spotkaniu studenckiej grupy .NET na PB. Już dobre półtora roku temu postanowiłem sobie, że takie wystąpienia to rzecz nie dla mnie i że więcej nie będę próbował sprawdzać się w ten sposób. Jednak gdy dostałem zaproszenie od Justyny Iwanowskiej, białostockiej SC, zdecydowałem "a co mi tam". Jednocześnie dziękuję za owo zaproszenie:).