MVP, MSSQL, .NET
Wszystkich korzystających z BlogEngine.NET w wersji 1.3.0.0 odsyłam tutaj: http://www.dotnetblogengine.net/post/Critical-Security-Patch-Available.aspx. Jednocześnie bardzo dziękuję nieznajomej a jakże miłej osobie, która wysłała mi maila z tą informacją.Efekty wykrycia i częściowego upublicznienia załatanej dziury już można “podziwiać”… choćby tu czy tu (po kliknięciu w następny post).
Kolejny Top 11. Tak jak kiedyś zapowiedziałem – dzisiaj omówię największe moim zdaniem zalety cuda znanego jako Resharper. Jest to narzędzie oferujące niesamowite możliwości programistom, którzy są “TDD-enabled”. Jaki odsetek deweloperów w Polsce ma jednak szczęście pracować w ten sposób? Niewielki… Tak więc skupiam się głównie na cechach do wykorzystania przez każdego, od pierwszych chwil. [...]
Co się stało z ITCore – wiemy wszyscy. Jako że brałem czynny udział w tworzeniu jego pierwszej wersji, cały czas podchodzę do całej kwestii emocjonalnie. Z wypowiedzi na forach i blogach wnioskuję, że społeczność jest niedoinformowana co do procesu dwukrotnego upadku tej idei. Wobec braku jakiegokolwiek sprostowania ze strony Microsoft kilka zdań odnoszących się do [...]
Generalnie ostrzeżenia kompilatora służą wskazaniu potencjalnie niebezpiecznych miejsc w naszym kodzie. Dość powszechny jest także pogląd (moim zdaniem – słuszny) nakazujący traktować ostrzeżenia na równi z błędami. Visual Studio umożliwa nam takie postępowanie poprzez opcję “Treat warnings as errors” (we właściwościach projektu, zakładka Build): Jej domyślna wartość to None, zachęcam jednak do zmiany tego ustawienia.Co [...]
Wstęp Zdecydowałem się uruchomić kolejną “ścieżkę” na tym blogu. Polega ona na implementacji pewnego problemu i zaprezentowaniu tutaj rozwiązania w całości, jako solution Visual Studio. Jest to mój pierwszy taki post, jednak w przyszłości planuję dalej “podążać za białym królikiem” aż do jego nory ozdobionej kratką #.Uważam, że przeglądanie cudzego kodu to najlepszy sposób na [...]
Dzisiaj zamieszczam drugi post z serii Top 11. Tym razem – krótkie miniporady zwiększające czytelność i polepszające organizację kodu. Wszystkie bezdyskusyjnie stosowane przeze mnie i zdecydowanie sprawdzone. Zdaję sobie sprawę, że nie napiszę nic nadzwyczajnie odkrywczego, jednak jeśli chociaż kilku osobom pojawi się w głowie chmurka z napisem “faktycznie, można to tak zrobić” – to [...]
W sobotę, 5 kwietnia (jaki szczególny dzień! 14 rocznica śmierci Kurta Cobaina i zarazem 25 narodzin mojej Joannnnny, ło-ho-ho!) w warszawskiej siedzibie Microsoftu odbyła się niezwykła konferencja Communities to Communities – C2C. Co było w niej niezwykłego? Wrażenia ogólnePo pierwsze – powstała dzięki połaczonym siłom najbardziej aktywnych przedstawicieli wielu grup .NET i SQL w Polsce [...]
Co się stanie, gdy klikniemy po kolei: Start -> Mój komputer -> C:\ -> windows -> assembly ? No jasne – zobaczymy zawartość GAC: Jak zedrzeć ten tajemniczy, dziwny wygląd z owego katalogu? Na przykład – używając Total Commandera. Można jednak sprawić, by i w zwykłym windowsowym exploratorze katalog stracił swą magię: No i to [...]
Podobnych zestawień można znaleźć w sieci całe mnóstwo. Jednakowoż dorzucę swoje 11 kopiejek w postaci 11 punktów, o których dowiadywałem się z czasem i częstokroć niespodziewanie. Dlaczego 11? Bo nie mogłem się zdecydować na wykreślenie któregokolwiek z nich z listy. Poza tym Rammstein na każdym albumie zamieszcza 11 piosenek, które to stwierdzenie poddaje w wątpliwość [...]
Lambda expressions – brzmi groźnie. To właśnie tym elementem języka C# 3.0 straszono programistów (a raczej programiści straszyli się nawzajem) jeszcze dobre kilkanaście miesięcy przed premierą .NET 3.5. A bo to “funkcyjne”, a bo to “nowe”, “nieznane” i trudne do pojęcia. Jak za chwilę zobaczymy – nic bardziej mylnego. Jeżeli kiedykolwiek korzystałeś z delegatów, to [...]
Właściwości (properties) to przyjemny mechanizm do zapewniania enkapsulacji, czyli jednej z najważniejszych cech programowania obiektowego. Przyjemniejszy niż zwykłe metody zwane “getters & setters”. Zwrócę jednak uwagę na ciekawy fakt (zapewne znany większości czytelników, ale…). Popatrzmy na następujący kod: 1: private int _number; 2: public int Number 3: { 4: get { return _number; } 5: [...]
Właśnie włączyłem mozliwość oceniania postów na blogu – to pozwoli mi podążać w odpowiednim kierunku i wybierać najbardziej pożądane tematy. Let the rating begin!
Czy wiemy co to “abstract class”? WIEMY! A wiemy co to “sealed class”? WIEMY! Teoretycznie – dwa przeciwieństwa. Jedno zabrania tworzenia instancji klasy, drugie – zabrania dziedziczenia z klasy.Czy spotkał się ktoś kiedyś z klasą zadeklarowaną w ten sposób? 1: abstract sealed class AbstractSealed 2: { 3: }Kompilator naturalnie zgłosi sprzeciw. Jak więc możliwe jest uzyskanie [...]
Oto praktyczny przykład użycia wyrażeń lambda i metod rozszerzających, który lekko i prymitywnie “ociera się” o programowanie aspektowe i imituje jego podstawowe założenia:Najpierw tworzymy klasę zawierającą roszerzenia dla windowsowych formatek (ewentualnie naszej klasy bazowej): 1: public static class FormExtensions 2: { 3: public static void SetWaitingCursorFor(this Form instance, Action operation) 4: { 5: Cursor currentCursor [...]
W dobie tak potężnych narzędzi jak Visual Studio programiści często zdają się całkowicie na ich funkcjonalność. Jedną z (wspaniałych zresztą) cech współczesnych IDE jest Intellisense. Czy wyobraża ktoś sobie pisanie kodu bez podpowiedzi? Zobaczmy jednak, że nie zawsze można na tym elemencie polegać w 100% ze względu na “konfigurowalność” nawet tego mechanizmu VS.Dla przykładu załóżmy dwie [...]
MVP, MSSQL, .NET
Programista-pasjonat. Człowiek od wszystkiego związanego z programowaniem. Autor bestsellerowej książki “Zawód: Programista“.
Od 2008 posiadacz tytułu Microsoft MVP (Most Valuable Professional) w kategorii .NET.
Od 2005 Microsoft Certified Professional.