Autor: Czasem tak się dzieje, że czytając swój własny kod pierwszy raz od kilku miesięcy mamy problem z jego zrozumieniem, zwłaszcza jeżeli nie komentujemy go w odpowiedni sposób. Ale nie jest to jedyna przyczyna problemu. Ostatnio analizując stare projekty doszedłem do wniosku, że istnieje w nich mnóstwo kodu zaciemniającego rzeczywistą logikę działania. Mam tu na myśli dziesiątki wyrażeń postaci if (something != null) i podobnych, które bardzo skutecznie odciągają uwagę od tego co naprawdę nas interesu...
Strona głównaUżytkownik
PepiTrickster | użytkownik
Architektura 5419 dni, 17 godzin, 14 minut temu 149 ź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 ...
Ż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 5419 dni, 13 godzin, 32 minuty temu 70 ź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..
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 5418 dni, 7 godzin, 55 minut temu 72 źrodło rozwiń
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 5417 dni, 20 godzin, 21 minut temu 79 źrodło rozwiń
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.
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...
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 5417 dni, 15 godzin, 27 minut temu 110 źrodło rozwiń
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 5417 dni, 12 godzin, 20 minut temu 68 źrodło rozwiń
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...
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.
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...
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: 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...
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.
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 ...
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 ;)
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ą.
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 "...