piątek, 30 stycznia 2009

Po XV spotkaniu PG.NET. Krótka relacja.

Parę słów na temat tego co działo się podczas 15 już spotkania: "Poznańskiej Grupy .NET".

Pierwsza prezentacja dotyczyła narzędzia XPO firmy DevExpress. Prezentacja prócz omówienia w.w. narzędzia była krótkim, ale wyczerpującym omówieniem najpopularniejszych graczy na rynku OR/Mappererów, min. NHibernate i EntityFramework. Samo rozwiązanie DevExpressa zaprezentowało się całkiem nieźle. Widać środki włożone w jego rozwój (wizardy, konfiguratory), których próżo szukać w projektach z którym pracuję w "piaskownicy" u siebie (głównie NHibernate). Ciekawe jest to, że wcześniej jakoś nie wiedziałem o tym rozwiązaniu, mimo że cenię sobie CodeRush-a tej samej firmy. Myślę, że temat OR/Mapperów powinien zostać pociągnięty dalej, gdyż dyskusje na temat wyższości jednych nad drugimi dało się słyszeć praktycznie cały czas :-) Fajnie by było, gdyby każdy przedstawił podejście do tematu (dostępu do bazy danych w ogóle) na własnym przykładzie, przykładzie firmy w której pracuje, podczas kolejnych spotkań PG.NET!

Prezentacja tycząca projektu OSLO także była ciekawa, choć to już była inna para kaloszy, w porówaniu z XPO. Dużo (i długo) się działo na ekranach pokazywanych przez Marcina. Pewnie wiele, jeszcze zostało do pokazania, ale najważniejsze jest to, że każdy mógł zaobaczyć troszkę inne podejście do projektowania systemów. Troszkę... całkiem inne! :-) Mimo, że przed OSLO jeszcze długa droga, to na pewno ten sposób modelowania znajdzie zastosowanie w życiu.

Jak zwykle można było się dowiedzieć wielu fajnych rzeczy i zgarnąć troszkę softu :-) Wieczór jak najbardziej udany!

środa, 28 stycznia 2009

PG.NET: XV Spotkanie, czwartek

W czwartek 29 stycznia o godz. 18:00. Bezpłatna rejestracja i pełna agenda znajduje się TUTAJ

Co na spotkaniu?

  1. Modelowanie rzeczywistości w OSLO by Marcin Kruszyński
  2. eXpress Persistent Objects na tle  innych narzędzi ORM by Michał Korsak

Nie warto tego przegapić! :-)

czwartek, 22 stycznia 2009

ASP .NET MVC & Membership

Wbrew pozorom wykorzystanie mechanizmu Membership And Role Providers na platformie ASP .NET MVC nie jest bardzo trudne.

Ja preferuję wykonanie do tego celu osobnego kontrolera (AccountController) oraz zaimplementowanie w nim metod służących do uwierzytelniania i autoryzacji użytkowników.

Przykładowy kod metody Login:

public ActionResult Login(string username, string password, bool? rememberMe)
        {
            ViewData["Title"] = "Login";
            // Non-POST requests
            if (Request.HttpMethod != "POST")
            {
                return View();
            }
            List<string> errors = new List<string>();
            if (String.IsNullOrEmpty(username))
            {
                errors.Add("You must specify a username.");
            }
            if (errors.Count == 0)
            {
                bool loginSuccessful = Membership.Provider.ValidateUser(username, password);
                if (loginSuccessful)
                {
                    FormsAuthentication.SetAuthCookie(username, rememberMe ?? false);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    errors.Add("The username or password provided is incorrect.");
                }
            }
            ViewData["errors"] = errors;
            ViewData["username"] = username;
            return View();
        }

Pozostałe metody implementujemy analogicznie pamiętając że zapytanie do nich powinno przyść w metodzie typu POST.

wtorek, 13 stycznia 2009

W walce ze spamem, czyli na co szkoda czasu?

Pewnie każdy codziennie dostaje sporą ilość niechcianych wiadomości email. Pewnie wielu wie, że roboty spamowe codziennie przemierzają setki stron internetowych w poszukiwaniu ich pożywienia, czyli adresów email.

No tak, ale my nie chcemy, aby nasz adres padł łupem takiego robota, dlateo zapewne wielu z Was zamiast podawać swój adres email jawnie, podaje go w formie "zaszyfrowanej", czyli np. jkowalski(at)onet.pl, jkowalski(wytnijto)@onet.pl, jkowalski(at)(wytnijto).onet.pl itp. Wariacji tego formatu jest wiele. Fatk: marnujesz swój czas i palce na wklepywanie podobnych utrudniaczy.

Postanowiłem wykonać pewien eksperyment. Założyłem nową skrzynkę na prywatnym serwerze, zarejestrowałem się na kilku forach (polskich i zagranicznych), a wszędzie gdzie podawałem mój email, stosowałem w/w zakodowaną formę zapisu. Umieściłem także emaile w takiej formie na paru "zwykłych" stronach internetowych. Wszystko by nakrmić roboty. Efekt: w ciągu 2 tygodni otrzymałem na każdą ze krzynek po ok 40 niechcianych wiadomości (viagra, ulepszacze męskich części ciała :-) itp, itd).

W sumie efekt był łatwy do przewidzenia, mimo że wielu pewnie wieży w skuteczność opisywanej metody. A czy istnieje pewna forma ochrony przed spamem przy jednoczesnym podaniu swojego maila? Jak narazie znam jedną: umieszczanie swojego emaila w postaci obrazka, tylko nie stosujcie przy tym linków mailto bo efekt będzie żaden! Niestety nie zawsze da się ją zastosować i jest dość uciążliwa dla ją stosujących.

 spam3