E-mail jest popularnym mechanizmem komunikacji. Framework .NET zawiera przestrzeń nazw System.Net.Mail, która zawiera klasy wspomagające tworzenie i wysyłanie wiadomości e-mail. W tym artykule skupimy się wyłącznie na tworzeniu wiadomości. Następna lekcja będzie o wysyłaniu. Podstawowa wiadomość Aby wysłać wiadomość należy utworzyć obiekt MailMessage, określić nadawcę, odbiorcę, tytuł (ang. subject) i treść wiadomość (ang. body). Klasa MailMessage zawiera kilka konstruktorów. Najprostszy pozwala nam utw...
Wymień jakąkolwiek ważną technologię oprogramowania, a znajdziesz odpowiednią ścieżkę certyfikacyjną. Odpłatną oczywiście. To dezorientujący i zastraszający szereg akronimów: MCSD, SCJD, RHCE, ACSA. A firma oferująca daną certyfikację jest najczęściej tą samą firmą, co firma sprzedająca dany produkt. Nie ma tu konfliktu interesów. Ale czy te certyfikaty w rzeczywistości sprawdzają się? Czy są uzasadnionymi referencjami?
Only Human | Devoted to technology v.2.0 : (Search Engine Optimization) SEO Toolkit dla IIS dostępny
Microsoft wypuścił nowe, ciekawe narzędzie o nazwie SEO Toolkit. Za pomocą Web Platform Installera lub po pobraniu instalujemy ten drobny (~800kB) pakiet rozszerzający IIS, po instalacji mamy możliwość zanalizowania serwisów WWW właśnie pod kątem lepszej optymalizacji dla wyszukiwarek. Ciekawą sprawą jest to, że nie musi to być serwis hostowany na IIS gdzie ten SEO Toolkit istnieje.
Ustawienie właściwości MaxLength w kontrolce asp:TextBox pozwala na ograniczenie ilości znaków jakie użytkownik może wprowadzić w pole tekstowe. Ustawienie to działa jednak jedynie gdy właściwość TextMode kontrolki ustawiona jest na SingleLine lub Password (nie zadziała w przypadku opcji MultiLine)...
Ewolucyjne podejście do schematu baz danych Ten post chciałem napisać od czasu, gdy sprzedałem zawarty w nim pomysł Michałowi na jednym ze spotkań PG.NET w końcu się udało Jeśli myślisz, że raz stworzysz schemat bazy danych dla swojej aplikacji i już nigdy go nie będziesz zmieniać to jesteś w błędzie. W czasie produkcji może się okazać, że coś zostało pominięte, coś można rozwiązać lepiej, jest błąd albo po prostu trzeba dodać nową funkcjonalność wymagającą zmian w schemacie.
Bazy danych i XML 3317 dni, 10 godzin, 28 minut temu 136 rozwiń
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 3322 dni, 7 godzin, 39 minut temu 64 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 3322 dni, 10 godzin, 45 minut temu 103 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.
Polecamy
Nadchodzące wydarzenia
Najaktywniejsi

