Jeżeli chcemy wykonywać testy jednostkowe naszego kodu, ale posiadamy do dyspozycji jedynie wersję Express VS, ciągłe uruchamianie i konfigurowanie NUnit może być nieco uciążliwe. Oto krótka instrukcja ułatwienia sobie życia:
Strona głównaUżytkownik
Damian | użytkownik
W .NET 3.5 (a konkretniej - C# 3.0 oraz VB 9.0) pojawił się mechanizm "extension methods". Cel przyświecający jego autorom był zaiste godny uwagi: umożliwienie dodania nowych funkcjonalności do już istniejących, skompilowanych klas. Jedna z kilku "Ruby-like features" wprowadzonych do świata .NET. Przydatność takiego rozwiązania trudno przecenić - w ten sposób rozszerzono m.in. klasy już istniejące w .NET 2.0 (*).
Eleganckie samobójstwo aplikacji ASP.NET Czasami może się zdarzyć, że nasza aplikacja ASP.NET odczuje potrzebę popełnienia samobójstwa i narodzenia się na nowo. Kiedy? Na przykład, gdy zmieni się jakiś plik konfigurujący aplikację (nie dotyczy to web.config, którego zmiana powoduje automatyczny restart) lub gdy chcemy w sekcji administracyjnej witryny dać możliwość administratorowi wykonania tego na życzenie. Wówczas pojawia się pytanie, jak to zrobić elegancko i zgodnie z lege artis? Rozwiązanie łopatol...
Policy Injection Application Block w skrócie to biblioteka pozwalająca na wstrzyknięcie kodu opakowującego wywołania metod. Dzięki temu za pomocą jednego atrybutu lub odpowiedniego wpisu w pliku konfiguracyjnym, możemy "nakazać", aby np. czas wykonania metody był mierzony i logowany. Oczywiście, różnych takich zastosowań możemy wyobrazić sobie bardzo wiele. Tyleż samo widać korzyści z zastosowania tego podejścia. Programowanie aspektowe (inaczej AOP - aspect or...
Wysłanie wiadomości e-mail w .NET jest dziecinnie proste:MailMessage message = new MailMessage( "[email protected]", "[email protected]", "Temat", "Treść"); SmtpClient smtp = new SmtpClient(); smtp.Send(message); Powyższy przykład jest bardzo krótki, choć i tak został napisany niezwykle rozwlekle - wersja zminimalizowana zajęłaby 1 linijkę (w obu przypadkach ustawienia serwera pocztowego znajdują się w pliku konfiguracyjnym). Właściwie ten kawałek kodu powinien wystarc...
Chyba trudno znaleźć programistę, który po dłuższej pracy z LINQ-to-SQL nie uznałby tej technologii za przełomową pod względem wygody i szybkości tworzenia aplikacji w porównaniu do tego, co wcześniej oferował sam .NET: DataSets oraz czyste DbConnections i spółka. Jednakże używanie tego rozwiązania na dłużą metę nie jest wolne od kilku wyzwań (i bardzo dobrze). W Linq2Sql klasą dającą dostęp do bazy danych jest DataContext (lub dziedzicząca po nim, dla silnie typowanych kontekstów)....
Bazy danych i XML 5518 dni, 17 godzin, 42 minuty temu 162 źrodło rozwiń
Ciekaw jestem ilu moich czytelników aktywnie korzysta z funkcji High DPI. Ja tak. Mój monitor natywnie pracuje rozdzielczości Full HD. Jeśli to działa wydajnie (nie narzekam) to jest to bardzo fajna cecha, ale pod warunkiem własnie, że High DPI jest wykorzystane i zaimplementowane poprawnie od systemu operacyjnego do poszczególnych aplikacji. Windows 7 podchodzi do tego tematu bardzo poważnie. Opcjami systemowymi “powiększyłem” sobie system do 125%. Odcz...
Mimo, że Visual Studio znacząco poprawiono w kontekście programisty C++ to wciąż jednak C++ należy rozdzielić na Native i Managed. Managed C++ dysponuje tymi samymi narzędziami do unit testów jak świat .NET Framework. Native C++ nie ma nic. Rozwiązaniem tego problemu zajęła się pewna miła programistka z Microsoftu i tak powstał WinUnit: http://winunit.codeplex.com/ Bardzo przyjemny i nieinwazyjny dodatek do naszych projektów. Wciąż wymaga od programist...
Lubię od czasu do czasu zaglądać do Dotnetomaniaka. Osoby nominujące tam wpisy wykonują wyśmienitą robotę i oszczedzają mi mnóstwo czasu na wydobywanie ciekawej lektury od kolegów i koleżanek – rodaków. Napotkałem tam na wpis o uruchamianiu i kompilacji projektów z linii poleceń. Fajny, natomiast nie wiem czy wiecie, że aby taki plik (sln) skompilować nie potrzeba nawet Visual Studio. Plik projektu i solucji jest zgodny z mechanizmem MSBuild. M...
Scott Hanselman uważa, że umieszczanie certyfikatów branżowych w podpisie jest niezręczne: Jeśli nierozsądne byłoby umieszczenie w CV wyników egzaminów ze studiów, to czemu umieszczenie Scott Hanselman, MCSD, MCT, MCP, MC*.* jest rozsądne? Posiadanie certyfikatu znaczy tyle, że jesteś w stanie przyswoić dużą dawkę wiedzy technicznej. Chwileczkę. Proponuję podpisywanie się w następujący sposób: Scott Hanselman, 11 dużych projektów zakończonych sukcesem, 3 projekty Open-Source, 1 projekt zakończony g...
Na temat Beginner's All Purpose Symbolic Instruction Code Edsger Dijkstra miał to do powiedzenia: Nauczenie studentów dobrego stylu programowania jest praktycznie niemożliwe, jeśli byli oni wcześniej wystawieni na szkodliwe działanie BASICa; jako potencjalni programiści są umysłowo okaleczeni bez nadziei na regenerację. Jestem pewien, że wyolbrzymiał dla efektu; o ile podziwiam jego refera...
W miarę jak staję się starszy i mądrzejszy jeszcze starszy jako programista, zauważyłem, że mój osobisty styl pisania kodu podąża mocno w stronę minimalizmu. Byłem zadowolony, dowiedziawszy się, iż wiele z konwencji kodowania, na które się zdecydowałem w ciągu ostatnich 20 lat zostało usystematyzowanych w Spartańskim programowaniu. Nie, nie w tym sensie spartańskie, aczkolwiek istnieje historyczne powiązanie. Konkretne znaczenie słow...
Oryginalny post: The One Thing Every Software Engineer Should KnowAutor: Jeff Atwood Jestem wielkim fanem Stevea Yegge, więc dużym zaszczytem była dla mnie możliwość goszczenia go przy okazji ostatniego podkasta Stack Overflow. Nie spodziewałem się natomiast, że jeden konkretny temat, związany z doświadczeniami Stevea z Google i Amazona, będzie się nieustannie przewijał: Gdybym każdego programistę miał nauczyć tylko jednej rzeczy, byłby to marketing. Nie jak pisać na klawiaturze, nie jak p...
Zapewne wszyscy już wiedzą, że Microsoft wypuścił nową wersję Internet Explorer'a w wersji 8. Niestety wiadomo także, że nie wszystkie strony wyświetlane są prawidłowo / poprawnie / tak jak się należy w nowym IE8. Okazało się, że także mój nowy projekt, który niedawno wdrożyłem u klienta nie wyświetla się poprawnie w najnowszej wersji przeglądarki. O dziwo poprawnie działa pod Operą, Firefox'em, IE7/6 i Safari. W IE8 pojawiają...
Nie wiem czy wszyscy mają tego świadomość, ale w Visual Web Developer Express da się bez większych przeszkód debugować zewnętrzne biblioteki projektu. Jak wiadomo nie można ich dodać do pliku sln w projekcie webowym i trzeba utrzymywać dwa pliki sln. Jeden dla projektu webowego, drugi otwarty przykładowo w Visual C#Express Edition. Na szczęście wystarczy przeciągnąć dany p...
Piszę, klikam, debuguję, programuję... klikam... ups... coś mi się przełączyło i zamiast liczby dziesiętnej Visual Studio pokazuje w tooltipie reprezentację hexadecymalną. Ki czort? Próżno szukać opcji zmieniającej sposób wyświetlania w menu View, czy Tools/Options. Poświęciłem na to trochę czasu i nie znalazłem. Myślałem już, że środowisko zwariowało, więc restarcik. ;) Niestety także nic nie pomogło....
Jeśli jeszcze nie znacie stronki, gdzie można wygenerować sobie pliki zmieniające wygląd środowiska Visual Studio to gorąco polecam Visual Studio Theme Generator. Ten artykuł jest widoczny także na: ZINE.NETJeśli spodobał Ci się ten artykuł, to podziel się tą informacją z innymi.Dodaj wpis do: dot.net.o.maniakwykoplinkologiadel.icio.us Nikt jeszcze nie skomentował tego artykułu. Bądź pierwszy...
Szybki resize przeglądarki do 1024 x 76812 maja 2009, 21:54 Komentarze: 0 Kategorie: tipswebdesign Tworząc strony czy aplikacje internetowe trzeba mieć na uwadze różne rozdzielczości ekranu, aby po załadowaniu treść była jak najszybciej i najłatwiej dostępna bez poziomego paska przewijania. Statystyki W3C mówią jednoznacznie - góruje rozdzielczość 1024 x 768. Na codzień korzystam z Firefoxa i wpisując w pasek adresu następującą linię 1: javascript:window.resizeTo(1024,768) przeglądarka zm...
ASP.NET MVC 1.0 z pudełka oferuje następujące typy dla wykonywanych akcji na kontrolerze: ContentResult - reprezentuje tekst, ale można podać także typ kontentu, który zostanie wysłany w nagłówku jako 'content-type' EmptyResult - reprezentuje pusty kontent, tzn. na wyjściu nie będzie wysłany żaden znak FileResult - klasa typu abstract dla ...
Zmodernizowałem sobie ostatnio środowisko pracy i wgrałem spreparowaną wersję ustawień, którą przygotował Rob Conery Zmodyfikowałem nieco kolor string'a oraz użyłem czcionkę Consolas o wielkości 11px. Większa czcionka z jednej strony powoduje, że niby mniej widać na ekranie, ale z drugiej strony piszę mniejsze kawałki kodu (krótsze linie), bardziej czytelne. :) Moje Dark Theme do pobrania. Plik ...