Autor: Prawie miesiąc temu pisałem o MAX_PATH i pod koniec nieco przydługiego wpisu opisałem technikę pozwalającą załadować moduł, który zapisany jest w postaci alternatywnego strumienia pliku. Niejako na marginesie wspomniałem, iż alternatywne strumienie plików nie są widoczne wprost w eksploratorze windows, a zatem tak zapisany moduł jest przed nami niejako ‘ukryty’ i dzięki temu taka technika przy odrobinie wyobraźni może stanowić pożywkę dla autorów wszelkiego rodzaju niechcianych aplikacji. DKOM Dzi...
Strona głównaUżytkownik
macko | użytkownik
Autor: Ostatnio, przez ponad pół roku, wraz z Wojtkiem Poniatowskim, Mirkiem Pragłowskim, Tomkiem Wiśniewskim prowadziliśmy kurs C# na portalu VirtualStudy. Kurs przeznaczony był dla osób początkujących ale dzięki temu miałem możliwość zobaczenia jakie elementy .NET i C# sprawiają najwięcej trudności osobom, które dopiero zaczynają swoją przygodę z tą technologią. Jeśli masz choć trochę doświadczenia z .NET to zapewne nie znajdziesz tu zbyt wielu przydatnych informacji. Tak czy inaczej zapraszam do czyta...
autor: W ostatnim postcie wspomniałem o trzeciej możliwości walidowania pól po stronie klienta: Nierobienie nic i przeciążenie zdarzenia submit, tak by wykonać raz (nie licząc pierwszego wymuszonego przez unobtrusive validation) parsowanie Może się zastanawiać ale po co mamy to przeciążać, tylko ze względu na te kilka dynamicznych pól? TAK :) (odpowiedź na to pytanie na końcu postu) oraz dlatego, że domyślna walidacja zwraca false, czyli blokuje jakiekolwiek akcje dalej. Jeżeli zostanie ona wykonana ...
blackfoot.pl, autor:Ostatnio wpadła mi w ręce książka The Art of Unit Testing: with Examples in .NET autorstwa Roy’a Osherove’a. Muszę przyznać, że mam nieco mieszane uczucia po jej przeczytaniu. Minusy: Książka liczy około 280 stron, ale czytając ją miałem wrażenie, że ta liczba jest mocno naciągnięta – olbrzymie marginesy, bardzo szeroka czcionka, dużo niezagospodarowanego miejsca itp. Samym formatowaniem można by było zaoszczędzić przynajmniej kilkadziesiąt stron – ile drzew mogłoby wciąż rosnąć! Pie...
W poprzedniej części spowodowaliśmy by generowały się atrybuty walidacyjne dla elementów dynamicznie generowanych. Jednakże mimo ich poprawnego dodawania do elementów, walidacja po stronie klienta nie działała dla dynamicznie dodanych elementów – przy tworzeniu byli to autorzy książki, zaś przy edycji nowi jeszcze nie dodani autorzy. Rozwiązanie byłoby dość banalne, gdyby mi choć raz zadziałało, tak jak wspominał Procent u siebie na blogu, powinno wystarczyć wykonanie następującej linijki:
Przydatne moim zdaniem linki, ciekawe dema i biblioteki całościowo zebrałem pisząc post 3D Graphics in Silverlight 5 Beta: links + cool apps !. Tutaj podsumuję typowe tworzenie prostej grafiki 3D, dostępne możliwości w Silverlight 5 Beta, a następnie zrobię sobie (na razie nietechniczną) wycieczkę po wirtualnych trójwymiarowych światach, jakie możemy odnaleźć w demie Babylon 3D Engine. Tworzenie grafiki trójwymiarowej zaczyna się tłumaczyć od prostych brył. Podobnie jak na studiach zacząłem zabawę od sze...
Silverlight 4932 dni, 23 godziny, 23 minuty temu 139 źrodło rozwiń
Jakub Gutkowski: Ostatnio rozmawiałem ze znajomym, który stwierdził, że jeżeli nie wykorzystuje się wbudowanych w MVC 3 klas i metod to robi się coś źle. Nie zgadzam się z tym twierdzeniem, to co jest zajebiste w MVC 3 to to, że dzięki kilku prostym linijkom kodu można rozszerzyć implementację o niezbędną w danej chwili funkcjonalność. W końcu jak powstało RoR? Trochę teorii Z jedną z takich funkcjonalności jest możliwość edycji dynamicznych (dodaj/usuń/edytuj) list – tak by za pomocą jednego submit prz...
Autor: Zgodnie z zapowiedzią z poprzedniego posta opublikowałem swoją rozpiskę o Silverlight 5. Umieściłem ją w całej okazałości na swoim drugim blogu, który postanowiłem po pewnej przerwie reaktywować. Rozpiska w sumie okazała więcej niż zwykłą rozpiską, bo obfituje w pogrupowane tematycznie linki oraz zawiera sample, jakie sobie potworzyłem, by wypróbować różne nowości i czegoś przy tej okazji się nauczyć (w kilku przypadkach odstąpiłem od tworzenia dysponując niezłymi przykładami z sieci). Uzyskałem c...
Silverlight 4938 dni, 21 godzin, 51 minut temu 96 źrodło rozwiń
Nasiedziałem się nad pewnym problemem zdecydowanie dłużej niż siedzieć się nad nim powinno. W pisanym systemie Callcenter podpinam się do FreeSWITCHa socketem TCP coby w tenże sposób kontrolować jego zachowanie. Jak się można domyślić - stan połączenia między serwerem a centralką telefoniczną jest dla aplikacji callcenter dość kluczowy. Okazało się jednak, że standardowa logika wykrywania błędów połączenia (tzn. po prostu łapanie wyjątków występujących podczas komunikacji i odpowiednia na to zdarzenie r...
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>). to paskudny błąd, który generowany jest przez klasę System.Web.UI.ControlCollection. Ma to miejsce przy próbie modyfikacji kolekcji, na przykład przez wywołanie Add(Control control), w przypadku kiedy kontrolki w niej zawarte korzystają z wyrażeń postaci <% ... %> lub <%= ... %>. Istnieje kilka sposób ominięcia tego problemu: Kod zawierający wyrażenia <% ... %> lub <%= ... %> umieścić w ...
Wykorzystanie Automappera ma swoje uzasadnienie i często-gęsto można je uznać za "kod pożądany". Pomimo swych zalet ma jednak również wady. Jedną z nich są z pewnością dość długaśne instrukcje wykonujące mapowanie: 1: var mapped = Mapper.Map, IEnumerable>(source);
Bazy danych i XML 4948 dni, 17 godzin, 31 minut temu 119 źrodło rozwiń
Pod ostatnim wpisem “Jak udostępnić folder w .NET” pojawił się komentarz użytkownika zine, który wspomniał, iż folder można udostępnić także przez NetShare API. NetShare API definiuje kilka metod dzięki którym możemy operować na udziałach. Są to: NetShareAdd, NetShareDel, NetShareEnum. W powyższym linku są jeszcze opisane inne metody z API, ale w tym wpisie skupimy się na tych [DllImport("Netapi32.dll")] privatestaticexternuint NetShareAdd( [MarshalAs(UnmanagedType.LPWStr)] string strServer, In...
autor: Jakiś czas temu pracowałem nad aplikacją WWW, która między innymi zajmowała się wysyłaniem SMS'ów. SMS'y wysyłałem przy pomocy Web Service'u udostępnionego przez operatora. Aby wysłać taki SMS musiałem uwierzytelnić się korzystając z infrastruktury klucza publicznego - dokładniej mówiąc aby wysłać wiadomość musiałem przedstawić certyfikat podpisany przez operatora. Jak to zazwyczaj bywa testy przy użyciu serwera WWW wbudowanego w Visual Studio powiodły się. Niestety po zainstalowaniu apli...
Autor: Pytanie zadane w tytule tego posta, to drugie z trudniejszych pytań jakie pojawiło się podczas mojej sesji o plikach na portalu VirtualStudy. Przeszukałem trochę sieć i okazało się, że folder można w dość prosty sposób udostępnić za pomocą WMI – Windows management Instrumentation – które w .NET reprezentowane jest przez przestrzeń nazw System.Management. Aby udostępnić folder wystarczy przekazać odpowiednie parametry do klasy Win32_Share i wywołać metodę Create. publicstaticvoid Share(string path...
Autor: Dość dawno już temu pokazałem jak można użyć Automapper do mapowania kolekcji bez powodowania ciągnięcia ich zawartości z bazy: "AutoMapper, NHibernate, lazy loading oraz problem select n+1". Dzisiaj wrócę na chwilę do tematu Automappera i NH.
Bazy danych i XML 4956 dni, 21 godzin, 41 minut temu 163 źrodło rozwiń
Autor: Dziś temat, który pojawił się podczas mojej ostatniej sesji na portalu VirtualStudy o plikach (niedługo powinna być dostępna pod tym adresem). Pojawiło się pytanie od słuchaczy, czy za pomocą ogólnodostępnych klas w .NET można dobrać się do Alternate Data Stream. Pytanie to zadałem jako zagadkę dla dociekliwych w zamian za konto VIP. Jako, że konkurs już został rozwiązany można przedstawić to dla szerszego grona.Czym są Alternate Data Stream? Jest to mechanizm systemu plików NTFS pozwalający tworz...
Bardzo fajną sprawą w MVC jest możliwość generowania atrybutów elementów za pomocą anonimowego typu.
Wielu niezależnych developerów i małe firmy korzystają z usług firm hostingowych ze względu na koszty. Na jednym serwerze może działać kilkadziesiąt oddzielnych stron. Ważna jest taka ich konfiguracja, aby żadna nie mogła zaszkodzić pozostałym i aby nie mogły odczytywać np. ciągów połączeń ze swoich web.configów. IIS pozwala firmom hostującym strony na zdefiniowanie poziomów zaufania, które określają operacje, które mogą być wykonywane (lista poniżej, zobacz także tą stronę). Istnieje także możliwość zde...
Performance Counters to taki mechanizm Windows, dzięki któremu możemy oszacować wydajność naszej aplikacji (i nie tylko naszej). Świetnie się również sprawdzają, przy identyfikacji wszelkich problemów z wyciekami pamięci lub przy poszukiwaniu niezamkniętych połączeń do bazy danych. Pełną listę odstępnych ‘liczników’ podzielonych na kategorie można zobaczyć uruchamiając Performance Monitor umieszczony Control Panel -> Administrative Tools. Wszystkie liczniki podzielone są na kategorie – i właśnie z tymi ...
Nie jestem fanem nowego dodatku do Visual Studio 2010 zwanego IntelliTrace, jakoś do tej pory nie mogłem znaleźć dla niego zastosowania, dodatkowo działał on jedynie dla aplikacji 32 bitowych. Wszystko się zmieniło kiedy wyszedł SP1 do Visual Studio. Teraz IntelliTrace nie tylko wspiera architekturę 64 bitową, ale także debugowanie Farm w SharePoint. Postanowiłem to przetestować na bardzo popularnym błędzie FileNotFoundException w SharePoint i sprawdzić czy jestem wstanie uzyskać szybciej i sprawniej i...