W ostatnich kilku postach przedstawiłem “egzotyczne” słowa kluczowe w c#. Wiele z nich, myślę, nie było znanych nawet bardziej zaawansowanym programistom. Z pewnością nie są one niezbędne do pisania aplikacji. Często nawet nie jest wskazane aby z nich korzystać, chyba, że naprawdę dokładnie przeanalizowaliśmy sytuację. Słowo zaprezentowane w dzisiejszym poście również zalicza się do tego zbioru. Myślę, że volatile może być znane programistom C++ ale w świecie c# jest dużo mniej popularne. Jeśli piszecie...
Strona głównaUżytkownik
http://mmulawa.blogspot.com/ | użytkownik
Można prościej Pewnie większość programistów SQL Server'a już zapoznała się ze zmianami w sposobie deklarowania i inicjalizacji zmiennych w wersji MS SQL Server 2008. Aczkolwiek, dla tych którzy jeszcze o tym nie czytali przygotowałem krótkie demo (dzisiaj 289 sekund, więc trochę długo), w którym przepisuje kod napisany w stylu T-SQL'a z MSSQL 2000 na wersję 2008.
Bazy danych i XML 4762 dni, 20 godzin, 12 minut temu 164 źrodło rozwiń
Słowo lock służy do synchronizacji kodu między wątkami. Często jednak przeglądając kod widzę niepoprawne użycie. Rozważmy następujący przykład:publicclass OrderManager { publicvoid Submit() { lock(this) { //... } } } Przedstawiona konstrukcja może spowodować wiele trudnych do wykrycia problemów. Co jeśli użytkownik naszej biblioteki również wykorzysta źle lock i napisze:OrderManager orderManager=new OrderManager(); //...lock(orderManager) { orderManage...
Programowanie rozproszone 4770 dni, 32 minuty temu 224 źrodło rozwiń
Od początków istnienia Internetu, jedną z jego głównych funkcji było zadawanie pytań odpowiednio sprofilowanemu gronu słuchaczy – np. grupom dyskusyjnym Usenetu – i otrzymywanie na nie odpowiedzi. Narzędzia i sposoby komunikacji się zmieniają (mamy teraz fora, strony typu StackExchange, a nawet serwisy społecznościowe), ale ich przydatność w rozwiązywaniu programistycznych problemów pozostaje co najmniej niezmienna.
Chcąc wyświetlić na naszej stronie wykres wartości, możemy skorzystać z Silverlighta lub javascriptu. Możliwści silvrlighta podczas tworzenia wykresów prezentowałem w jednym z wcześniejszych postów. Teraz pokażę w jaki sposób można za pomocą JSONa i biblioteki jQPlot wyświetlić wykres dla pewnych wartości (np. pobranych z bazy danych). Ze strony http://www.jqplot.com/ pobieramy bibliotekę jQPlot. Po pobraniu dodajemy pliki pluginu do naszego projektu: Następnie dodajemy odnośniki do bibliotek jQue...
2lis/110Debugowanie Visual Studio Dziś postaram się przybliżyć rzadko stosowaną technikę wyszukiwania błędów w kodzie. Polega ona na użycia drugiej instancji Visual Studio do znalezienia błędów w pierwszej. Patrząc na ostatnie zdanie można zacząć się zastanawiać jak szukanie błędów w Visual Studio może pomóc w znalezieniu błędów w naszym programie. Należy zdać sobie sprawę, że tak naprawdę Visual Studio zawiera w sobie nasz kod. I naszym celem jest prześledzenie działania tego kodu. Sztandarowym przykład...
z pamiętnika anonimowego programisty
W .NET 4.0 dodano (mało chyba popularną) klasę MemoryCache służącą do buforowania danych. Wcześniej programiści znali podobną klasę w ASP.NET. Od wersji 4.0 została ona wydzielona i można z niej teraz korzystać we wszystkich typach aplikacji – także WPF i WinForms. Za pomocą MemoryCache można ustawić czas ważności danych w buforze za pomocą czasu absolutnego, priorytetu, monitorów, które unieważniają dane np. na podstawie zmiany pliku na dysku lub tzw. SlidingExpiration – czasu który upłynął od ostatn...
Po długiej przerwie związanej z przeprowadzką, czas powrócić do prowadzenia blog’a i pisania artykułów. Mam nadzieję, że od dziś posty będą pojawiać się częściej i bardziej regularnie chociaż nie wszystko jeszcze idzie po mojej myśli. No to zaczynamy… Visual State Manager został wprowadzony w wersji 4.0 Wcześniej mogliśmy go spotkać w Silverlight lub WPF Toolkit. Służy do zmieniania wyglądu kontrolek na podstawie zdefiniowanych stanów. Zastosowanie jest podobne więc do triggerów jednak różnica polega na ...
Kolejne omówienie, kolejnej sesji z konferencji BUILD - tym razem temat to: What's next in .NET Framework 4.5 Chyba każdy programista .NET, nawet taki, który traktuje to tylko jako zawód (są tacy? :)) z zainteresowaniem śledzi wydarzenia w .NET Frameworku. W końcu zmiany w nim będą rzutować na to w jaki sposób będzie kodował w przyszłości (chyba, że jest uwięziony w jakimś legacy code z .NET 2.0). Sesja zaprezentuje nam jakie oręże będzie dostępne już w niedalekiej przyszłości na potrzeby pisania apli...
autor: Czasami się zdarza, że ktoś wysyła do mnie maila z zapytaniem o radę. Rzadziej się zdarza, że ktoś wysyła maila i podaje nie istniejący adres e-mail. Tak się zdarzyło teraz. 2h odpowiadania na maila by się dowiedzieć iż sorry ale adres e-mail nie istnieje. Tak więc by moja praca nie poszła na marne, zamieszczam tutaj zarówno pytania jak i odpowiedzi także zachęcam do komentowania :)
Serdecznie chcielibyśmy zaprosić Was do uczestnictwa w wydarzeniu, którego koordynatorami są Rafał Legiędź (rafek) oraz Michał Śliwoń (mXs), a której organizatorem a zarazem głównym sponsorem jest firma ABB Sp. z o.o. ABB Dev Day jest pierwszą tego typu imprezą organizowaną przez firmę ABB i miejmy nadzieję, że nie ostatnią. Głównym założeniem przy organizacji tego wydarzenia było zebranie w jednym miejscu pasjonatów z naszej branży, aby ci mogli wymieniać się swoimi doświadczeniami. Dodatkowo myślimy, ...
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...
W ramach podsumowania tematów związanych z „70-511: Enhancing Usability”, zapraszam do przeczytania poszczególnych postów (wymienionych niżej), pobrania kodu źródłowego oraz obejrzenia prezentacji przedstawionej przeze mnie w ramach „Study Group 70-511” organizowanej przez Łódzką Grupę Profesionalistów IT & .NET. Implementacja przetwarzania asynchronicznego (teoria) Implementacja przetwarzania asynchronicznego (przykład) Implementacja „Globalizacji” i „Lokalizacji” (teoria) Implementacja „Global...
Lista (aktualizowana) screencastów programistycznych. Nie tylko .NET, ale warte przyjrzenia się.
W poprzednim poście opisałem jak "kulturalny" programista SharePoint'a powinien obchodzić się z feature'ami. Tym razem postaram się opisać kolejne 8 zasad dotyczących WebPartów, Event Reciever'ów, zarządzania zasobami serwera oraz ogólną "czystością" środowiska. WebPart Przychodzi taki moment w projekcie, że klientowi nie podoba się dany Webpart i chciałby go usunąć ze swojego portfolio (Wepart Gallery). Usłużny programista usuwa niepotrzbną klasę webparta i wrzuca nową wersję biblio...
Migracja z MOSS'a 2007 do SharePoint'a 2010 to dla mnie bardzo osobisty temat. Od roku z krótszymi lub dłuższymi przerwami zajmuję się zagadnieniami związanymi z migracją. Przechodzenia na nowszą wersję SharePoint'a mogłoby być znacznie przyjemniejszym tematem, gdyby każdy był "kulturalnym" programistą SharePoint'a. Co to znaczy "kulturalny" programista SharePointa? Jest to taki jegomość, który po sobie zawsze zostawia porządek, a w szególności kod napisany przez tego jegomościa ...
Programiści .NET nie mogą narzekać na brak narzędzi i bibliotek wspomagających pisanie testów jednostkowych. Zanim przejdziemy jednak do zerkania w ich kierunku, zobaczymy jak można samemu, bez zewnętrznych zależności, rozpocząć pisanie testów. Testować będziemy taką banalną klaskę, której zadaniem jest obliczenie "ile złotych polskich dostanie polski hydraulik Waldek za przywiezione zza zachodniej granicy jełro"...
"Reużywalność" w PowerShell'u Pisząc skrypt w PowerShell'u postanowiłem wywołać metodę z zewnętrznej biblioteki wchodzącej w skład rozwijanego przez mój zespól systemu. Zaimportowałem dll'kę za pomocą metody Assembly.LoadFrom , utworzyłem instancję typu danych i uruchomiłem metodę. Oczywiście otrzymałem wyjątek NullReferenceException, który wskazywał na to, że problem pojawił się w metodzie z zewnętrzenej biblioteki. Zastanowiłem się chwilę i stwierdziłem, że nie zaszkodziłoby zdebuggować tej metody. K...
Test jednostkowy to nic innego jak kod wykonujący inny kod w kontrolowanych warunkach. Jego zadaniem jest weryfikacja (bez ingerencji programisty), że testowany kod działa poprawnie. Robi to w sposób dość banalny: autor testu dostarcza dane wejściowe (input), test wykonuje pewne instrukcje i sprawdza, czy rezultat działań (output) zgodny jest z oczekiwaniami. W świecie idealnym każdy test bada jedną ścieżkę wykonania jednej metody. Czy jednak jedyną rolą testów jednostkowych jest sprawdzenie działania ...
Architektura 4871 dni, 23 godziny, 28 minut temu 386 źrodło rozwiń