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
Strona główna Przystępując do tłumaczenia aplikacji WPF miałem dokładny plan jak się za to zabrać. Mianowicie postanowiłem użyć narzędzia LocBaml, o którym dowiedziałem się z training kit'a do egzaminu 70-502. Opis całej procedury można znaleźć tutaj. Praktyka pokazała jednak, że narzędzie to pozostawia bardzo dużo do życzenia. Dalej opiszę kolejne kroki pracy z LocBaml wraz z komentarzem jak to wygląda w praktyce. UIDs Mechanizm wielojęzyczności aplikacji w WPF koncepcyjnie zbliżony jest to tego co z...
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 4931 dni, 9 godzin, 6 minut 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 4937 dni, 7 godzin, 34 minuty 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 4947 dni, 3 godziny, 14 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...
Dziś mam dobrą wiadomość. Wczoraj firma Red Gate ogłosiła, że wycofuje się częściowo z pobierania opłaty za program .NET Reflector. Częściowość oznacza, że dotychczasowi użytkownicy będą mogli pobrać i zainstalować wersję 6.8 do której otrzymają wieczystą licencję. Wersja ta zostanie wypuszczona na początku maja i będzie to ostania darmowa wersja. Od wersji 7 program będzie całkowicie komercyjny, gdzie podstawowa licencja kosztuje obecnie 35$.
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 4955 dni, 7 godzin, 24 minuty temu 163 źrodło rozwiń
We wcześniejszych wpisach pojawiły się informacje na temat kompilacji assembly na różne platformy oraz narzędzi, które pozwalają sprawdzić na jaką platformę assembly zostało skompilowane. W tym wpisie znajdą się informacje jak to można zrobić z poziomu kodu źródłowego. Sprawdzenie podczas działania Aby sprawdzić podczas działania programu/procedury, to czy jest on/ona uruchomiona w kontekście 32, czy 64-bitowym w czasach przed .NET 4.0 należało posłużyć się pewnym trick'iem, a mianowicie (tak jak już to...
Chciałbym poinformować moich czytelników, że utworzyłem ostatnio nowy projekt na CodePlex'ie. Projekt nazywa się MPTS (Maciej-Progtech ToolSet) i jest on zestawem prostych narzędzi, przydatnych programistom .NET jak również czasami zwykłym użytkownikom. Zestaw powstał na bazie różnych programików, które zdarzyło mi się napisać, a które potrzebowałem do czegoś wykorzystać. Wspomniane programiki są najczęściej dość proste, jednak mają one wypełniać właśnie takie proste zadanie. Powodem, dla którego powołał...
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...