Autor:Dziś chciałbym podzielić się z Wami moimi refleksjami na temat sposobu zarządzania transakcjami w NHibernate, ze szczególnym uwzględnieniem nietrywialnego przypadku, kiedy w ramach jednej transakcji wykorzystujemy zarówno NHibernate, jak i NServiceBus. Posłużę się w tym celu kodem DDDSample.Net.
Pewnie część z Was zdaje sobie z tego sprawę, ale dla mnie było to ciekawe odkrycie. Firma ThoughtWorks publikuje corocznie raport dotyczący technologii, praktyk i metodyk związanych z IT. Raport ten ma formę "radaru" — koła podzielonego na 4 pierścienie. Idąc od zewnątrz są to: hold (obserwować z daleka), asses (przyjrzeć się bliżej), trial (przetestować) oraz adopt (wdrożyć). Czytając "radar" można dowiedzieć się wielu ciekawych rzeczy lub podłechtać swoją dumę, jeśli przewidywania "...
Na początku roku 2010 Microsoft ogłosił oficjalnie start komercyjnego użytkowania platformy Windows Azure, jednak tak na prawdę realnie wszystko wystartuje w kwietniu, ale płacić będzie trzeba od lutego. Teraz jedynie użytkownicy wersji CTP (Client Technology Preview) mogą zgłaszać chęć migracji swoich kont na wersję “pełną” czyli płatną.
Zainstalowałeś nowego TFSa, założyłeś projekt, zrobiłeś nawet pierwsze 3 check iny - jak na razie bosko ;) Jeśli jednak próbowałeś skonfigurować buildy, to jest duża szansa, że otrzymałeś błąd taki jak w temacie: Build error: Value cannot be null. Parameter name: path1. I to niezależnie od tego, co było buildowane ;)
Framework .NET zapewnia zarządzalne odpowiedniki dla niemal każdej funkcji Win32, którą chcielibyśmy wywołać. Jednak duża ilość istniejącego kodu niezarządzalnego (ang. unmanaged) zmusza osoby tworzące oprogramowanie, aby znały metody korzystania z obiektów COM (Component Object Model). Jako przykładem posłużymy się Microsoft Speech Object Library (%Windir%\System32\Speech\Common\Sapi.dll) – biblioteką dającą dostęp do systemowego mechanizmu syntezy mowy.Niech nasza aplikacja przemówi! Aplikacja może do ...
AnkhSVN (http://ankhsvn.open.collab.net/) to plugin do Visual Studio, który jest klientem Subversion i pozwala na wykonywanie podstawowych operacji na repozytorium w trybie graficznym i do tego bez opuszczania Visual Studio.
Oryginalny post: HTML Validation: Does It Matter? Autor: Jeff Atwood Sieć jest, ujmijmy to litościwie, raczej wyrozumiałym miejscem. Możesz karmić przeglądarki internetowe prawie każdym rodzajem kodu HTML czy JavaScript, a one dzielnie postarają się zrobić z tym coś sensownego i wyrenderować to w najlepszy możliwy sposób. Dla porównania, większość języków programowania jest niemal srodze bezlitosna. Jeśli choć jeden znak nie jest na swoim miejscu, Twój program prawdopodobnie się nie skompiluje, a tym b...
Prawdopodobnie wielu z Was zna bądź słyszało już o społeczności StackOverflow, której wspólnymi siłami, w bardzo krótkim czasie, udało się stworzyć jedną z najciekawszych i najprzydatniejszych stron typu Q&A (pytania i odpowiedzi). Dzięki uprzejmości twórców tego serwisu, mamy przyjemność zaprezentować Wam jego polską wersję — devPytania. Ogólną ideę przyświecającą temu przedsięwzięciu najlepiej chyba przedstawił Jeff Atwood (jeden z tworców SO): StackOverflow najłatwiej chyba zdefiniować jako prze...
Oryginalny post: Why Can't Programmers.. Program? Autor: Jeff Atwood Popadłem w zdumienie, gdy przeczytałem następującą obserwację Reginalda Braithwaite'a: Tak jak i ja, autor ma problemy z faktem, iż 199 na 200 aplikantów do każdej programistycznej pracy nie potrafi w ogóle pisać kodu. Powtarzam: nie potrafią pisać żadnego kodu. Autor, do którego się odnosi, to Imran, który najwyraźniej odrzuca wielu programistów, którzy nie potrafią napisać żadnego programu...
Rozróżnia się dwie możliwości klonowania obiektów:shallow copy – tzw. płytka kopia. Najczęściej wykonywana przy użyciu metody MemberwiseClone z klasy Object.deep copy – tzw. głęboka, pełna kopia. Przyjrzymy się jednej z możliwości jej realizacji – wykorzystania serializacji do strumienia w pamięci.
Nie od dziś wiadomo, że dane (szczególnie te poufne) należy zabezpieczać i zapobiec dostaniu się ich w niepowołane ręce. .NET Framework udostępnia nam klasy które pozwalają zaimplementować szyfrowanie symetryczne, asymetryczne, hashing czy też podpis elektroniczny. Spróbujemy dzisiaj omówić sobie po krótce każdy ze sposobów.Szyfrowanie i deszyfrowanie danych symetrycznie za pomocą klucza Kluczowym elementem w tym szyfrowaniu jest klucz. Klucz musi być znany nadawcy do zaszyfrowania informacji jak i odbi...
Drugi z przykładów, które chciałbym z Wami omówić to demo subskrypcji. W katalogu z przykładami NServiceBus znajdziecie go pod nazwą „PubSub”. Solution składa się z 4 projektów. MyMessages zawiera definicje wymienianych komunikatów. Zwróćcie uwagę, że są tam dwa elementy: interfejsIEvent oraz klasaEventMessage z niego dziedzicząca. Skąd to i po co? I dlaczego to wytłuszczenie? Ot...
Programowanie rozproszone 5439 dni, 20 godzin, 19 minut temu 68 źrodło rozwiń
Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…
Architektura 5439 dni, 23 godziny, 26 minut temu 110 źrodło rozwiń
To i owo Blog > Komentarze do wpisu« Wpływ szybkości CPU na wydajność w grach Application working directory Zapewne wszyscy wiedzą, że program (pisany np. np. w środowisku .NET) korzystający z zasobów zewnętrznych domyślnie będzie ich szukał w katalogu roboczym projektu ("working directory"). Całe życie myślałem, że ta ścieżka jest tożsama z katalogiem, z którego został uruchomiony plik wykonywalny. Jednak ku mojemu zaskoczeniu, po otwarciu dialogu wyboru pliku (OpenFileDialog), katalog roboczy zmieni...
Po długim świąteczno-sylwestrowym relaksie czas na powrót do normalnego życia. Normalne życie w nowym roku można zacząć garścią blogowych refleksji, które sobie za rok przeczytam i sprawdzę jak udało mi się ów rok wykorzystać. A jeśli kogoś jeszcze to interesuje to zapraszam.
Pierwszy wpis w nowym roku 2010 będzie dotyczył zagadnienia uruchamiania aplikacji .Net'owych na maszynach 64 bitowy. W większości przypadków nie ma z tym żadnego problemu. W końcu IL jest przenośny. Problemy zaczynają się kiedy chcemy wykorzystać w swojej aplikacji biblioteki 32 bitowe. Niestety ale nie jest możliwe aby proces 64 bitowy używał bibliotek 32 bitowych i na odwrót. Przeważnie nie mamy również możliwości przekompilowania biblioteki, z której korzystamy. Ja spotkałem się z tym problem urucham...
Architektura 5440 dni, 4 godziny, 19 minut temu 79 źrodło rozwiń
Dziś po chwili prób udało mi się stworzyć zewnętrzną funkcję dla bazy danych MSSQL 2005 za pomocą notatnika i kompilatora obsługiwanego z linii poleceń VBC.EXE. O ile samo stworzenie funkcji rozszerzającej możliwości bazy danych nie jest zbyt skomplikowane to zrobienie tego bez Visual Studio jest nieco karkołomne, gdyż w dzisiejszych czasach wszechobecnych kreatorów i szablonów możemy czuć się trochę zagubieni gdy ich nam zabraknie. Proces tworzenia rozpocząłem standardowo w Visual Studio i za pomocą kr...
Bazy danych i XML 5440 dni, 15 godzin, 54 minuty temu 73 źrodło rozwiń
Najprostsze rozwiązania często są w Visual Studio sprytnie ukryte. Takie czasem odnoszę wrażenie. Jedną z rzeczy, na które narzekałem przy debugowaniu np. WebService’ów czy aplikacji współdzielących niektóre zasoby był brak możliwości ustawienia jako “Startup” kilku projektów w ramach jednej solucji. Okazuje się jednak, że jest to banalnie proste..
Żeby nie było, iż jestem jednostronny to dla odmiany dziś o firmie Samsung. I o jego w moim mniemaniu cudownym dziecku Samsung Windows Mobile SDK.
Mobile development 5441 dni, 21 godzin, 30 minut temu 70 źrodło rozwiń
Framework .NET pozwala korzystać z systemowego systemu zabezpieczeń opartego na rolach (ang. RBS, Role-based security), Active Directory, lub własnych mechanizmów. Dzięki temu możemy kontrolować do jakich zasobów, czy funkcji użytkownik ma dostęp. Programowo możemy zarządzać autoryzacją (ang. authorization) i autentykacją użytkowników (ang. authentication):Autentykacja – weryfikuje tożsamość użytkownika, określa to kim jest użytkownik; zwykle zachodzi na podstawie nazwy użytkownika i hasła, mogą do tego ...