ASP MVC 3 jest w dużej części spoko - znajdą się elementy bardzo irytujące, ale ogólnie mogę powiedzieć że jestem z pracy z tym frameworkiem raczej zadowolony. Denerwuje mnie jednak to, że pracując nad jedną daną akcją w jakimś kontrolerze muszę śmigać po kilku plikach: plik kontrolera plik z routingiem plik z modelem parametru akcji plik z modelem zwracanym przez akcję plik z mapowaniami AutoMappera plik widoku .cshtml plik skryptów .js ... o czymś zapomniałem? ... [More]

Niejedną już umowę w swoim "wolnostrzelcowym" życiu podpisałem... i właściwie ani razu nie była ona taka jak być powinna. Co prawda za każdym razem następuje pewien postęp, jednak mimo to zawsze w praniu okazuje się, że jednak o czymś - ja lub Klient - nie pomyśleliśmy. Nie wynikało to bynajmniej z chęci jednej strony do oskubania drugiej strony, co raczej z braku doświadczenia lub zbyt nieformalnego podejścia do bardzo ważnych kwestii. Postaram się tutaj zebrać garść porad wyniesiony... [More]

Beta CodeGuru.pl

27 czerwca 2011 08:01 w kategorii: pro
Kilka dni temu udostępniona została beta nowej, całkowicie świeżej i dziewiczo rumianej wersji portalu CodeGuru.pl, z którym (jak pewnie wielu z Was) jestem związany duchowo, a czasem i fizycznie:). Zachęcam do zapoznania się z tym co można już poklikać (niestety jeszcze nie ma modułu forum). Wchodźcie więc, zapoznajcie się i zgłaszajcie swoje uwagi czy zauważone błędy - jeszcze jest czas, aby zostały poprawione/wdrożone przed uruchomieniem finalnej wersji portalu! Kilka linków: beta CG ... [More]

Na studiach wpaja się nam zasady programowania obiektowego. Niestety, bardzo często osoby wpajające tą wiedzę mają zerowe doświadczenie w praktycznym jej wykorzystaniu. Mówią coś, bo to samo im kiedyś powiedziano, i tak dalej i tak dalej. Jedną z nieodłącznych cech obiektowości jest oczywiście dziedziczenie. Ileż to razy trzeba było rysować na zajęciach diagramy UML z durną przykładową hierarchią "animal -> mammal -> monkey" czy "vehicle -> engine vehicle -> car".... [More]

Serializacja do JSON - c.d.

24 czerwca 2011 10:34 w kategorii: pro
Ostatnim razem rozpisałem się na temat serializacji WSZYSTKIEGO, nawet interfejsów, do JSONa i możliwością ich deserializacji do odpowiednich klas. Bardzo szybko pojawił się jednak problem: przedstawiony przeze mnie sposób wypluwa z siebie informacje nie tylko o źródłowym typie, ale także o dllce z której ów typ pochodzi. W wielu przypadkach może być to działanie pożądane, jednak u mnie kluczowym aspektem całej sprawy była "przenaszalność" zserializowanych akcji pomiędzy wersjami oprog... [More]

Musiałem ostatnio serializować (no i oczywiście deserializować) kolekcje obiektów z hierarchii wyglądające na przykład tak: 1: public interface IExecutableAction 2: { 3: 4: } 5: 6: public class ReduceValue : IExecutableAction 7: { 8: public decimal ReduceBy; 9: 10: public ReduceValue() 11: { 12: 13: } 14: 15: public ReduceValue(decimal reduceBy) 16: { 17: ReduceBy = reduceBy; 18: } 1... [More]

Bindowanie napisu do tablicy intów w ASP MVC

16 czerwca 2011 08:27 w kategorii: pro
Standardowo jeśli chcemy przekazać w URLu tablicę w MVC to wysyłamy po prostu wiele wartości o tej samej nazwie, np ?array=1&array=2&array=3. Może się jednak zdarzyć, że przydałoby się to jakoś "skompaktować", na przykład do takiej postaci: ?array=1,2,3. Co wtedy? Da się to osiągnąć w dość prosty sposób implementując własny ModelBinder: 1: public class CommaSeparatedIntArrayModelBinder : IModelBinder 2: { 3: public object BindModel(ControllerContext controller... [More]

Aplikacja, którą tworzę, w pewnych cyrkumstancjach wymaga odblokowanych popupów. Postępowanie nasuwa się samo - trzeba wykryć czy popupy są odblokowane i pokazać jakieś ostrzeżenie, jeśli nie są. Myślałem, że będzie to kwadrans roboty... No i faktycznie byłby to kwadrans, jeśli nie odpaliłbym więcej niż jednej przeglądarki. Jak to w świecie webdev bywa, to samo raz działa tak, a raz srak, w zależności od tego co jest naszym oknem na świat. Poniżej efekt ponad dwóch godzin prób i błędów, który ... [More]

Aż dziw bierze, że od ponad dwóch latam param się freelancingiem, a jak ktoś pyta "gdzie mogę zobaczyć efekt twojej pracy?" - jestem zmuszony odpowiedzieć "nigdzie, zią". Tak to jednak bywa, gdy pracuje się głównie nad jednym projektem (ciągle w fazie rozwoju) albo przy zleceniach na systemy "wewnętrzne". Na szczęście niedawno uległo to zmianie i kilka tygodni temu zakończyłem pracę nad pierwszym publicznie dostępnym portalem mojego wykonania (moim zadaniem była imp... [More]

Na samo wspomnienie pracy z TFS mam nieprzyjemne ciary na plecach. I jak codziennie widzę kilka/kilkanaście wpisów na Twitterze rzygających na to paskudne narzędzie gorącą nienawiścią, pokłon Bozi składam że nie muszę się z tym już użerać. Na myśl przychodzi mi wówczas tekst z najlepszej płyty jaką kiedykolwiek wydano... bo słowa te mogłyby być taglinem dla TFSa: When you are suffering, know that I have betrayed you Źródło: Marilyn Manson, "Antichrist Superstar"