Jedną z trudniejszą z rzeczy z jaką spotyka się każdy web developer jest dostosowanie działania witryny i jej optymalizacja wynikająca ze zróżnicowania dostępnych przeglądarek. Każdy spotka się prędzej czy później z piekłem przeglądarek wynikającym z ich wojny o rynek :-) Aktualny ranking firmy Gemius na temat popularności przeglądarek internetowych w naszym kraju przedstawia się następująco:Firefox 3.x 48,97%Internet Explorer 7.x 17,23%Internet Explorer 6.x 9,34%Internet Explorer 8.x 7,74%Opera 9.x 5,49...
Strona głównaUżytkownik
Damian | użytkownik
Tytuł nieco przewrotny, ale już tłumaczę o co chodzi. Pomysł napisania tej notki podsunęło mi oczywiście poranne przeglądanie blogów. Nie wszyscy wiedzą, że na platformie .Net liczby parsowane są zależnie od kultury językowej systemu operacyjnego. Co to oznacza?
Dziś napotkałem banalny wydawać by się mogło problem, ale może komuś oszczędzi grzebania. Miałem na stronie dwie listy – po lewej długą, po prawej krótką. Wykonanie akcji na lewej liście miało przeładowywać prawą. Realizacja “problemu” oparta o UpdatePanele, ustawione jako conditional. Nie wykonywał się więc postback całej strony a tylko a...
Wielokrotnie stawałem przed problemem zbudowania hierarchicznego TreeView z listy obiektów. Pisanie odpowiednich foreach, budowanie całej hierarchii TreeNode’ów stało się za którymś razem męczące. Parę dni temu doczytałem o TreeNodeBindings i postanowiłem chociaż w części zautomatyzować to zadanie. Najpierw przyszło mi na myśl bezpośrednie podpięcie lis...
Nie spotkał Was dotychczas taki komunikat? Ja miałem wątpliwą przyjemność być zaskoczony nim wczoraj ;-) O co chodzi? Pracując na jednym z komputerów ustawiłem w Properties projektu typu Web Application, aby podczas debugowania nie używała wbudowanego serwera deweloperskiego z VisualStudio, a właśnie lokalnego IIS
Niedawno pisałem na temat konwersji dat na wartości liczbowe i odwrotnie, wykorzystując komendy serwera SQL (w tym wypadku serwer Microsoft SQL Server). Pokazałem jak stworzyć storowane procedury, które będą ułatwiały te przekształcenia. Jednak przydatna może okazać się konwersja na liczbę jeszcze w aplikacji, przed zapisaniem jej do bazy.
Ciekawe efekty wizualne można uzyskać naprawdę w bardzo prosty sposób. Wystarczy znaleźć funkcję matematyczną, której wizualizacja będzie wystarczająco efektowna. Postanowiłem więc się zmierzyć z tym problemem. Przedstawiony program działa wykorzystując OpenGL, współpracujący z C# dzięki bibliotece CsGL (http://csgl.sourceforge.net/).
Chyba prędzej czy później każdy, kto choć trochę programuje ma ochotę/musi/powinien narysować coś na ekranie: może to być wykres funkcji matematycznej, czy też jakieś dane do zobrazowania. Siadamy do komputera, zaczynamy pisać kod, dochodzimy do fragmentu, w którym należy wskazać współrzędne punktu do postawienia na formie naszego projektu i ... zatrzymujemy się.
Prawdopodobnie znakomita większość z nas słyszała o systemie lokalizacji GPS. Biorąc pod uwagę jego rosnącą popularność bardzo możliwe, że już korzystaliśmy z jego usług w praktyce - dziś nawigacja samochodowa nie stanowi luksusu, a wiele popularnych modeli palmtopów / telefonów komórkowych posiada wbudowane odbiorniki gps. Jeśli nawet nasze urządzenie nie posiada takowego, to zawsze...
W poprzedniej części opisałem czynności przygotowawcze, teraz napiszemy trochę kodu :). Na początku należy dodać referencję do projektu w Visual Studio: Teraz wskazujemy serwis (wpisując jego adres: http://localhost/CAS.OPCWSDataAccess/OPCAdvancedDataAccess.asmx): Wpisujemy jeszcze nazwę naszej referencji, klikamy na "Add Reference" i referencja powinna nam się pojawić w naszym Solution: Teraz wykorzystamy dwie funkcje: GetAvailiableItems (zwracającą dostępne w serwerze elementy) oraz GetV...
Po tym artykule powinieneś choć trochę dowiedzieć się na temat dziedziczenia, interfejsów, typów generycznych. No ale od początku…Dziedziczenie Cały .NET Framework to tysiące klas posiadających przeróżne metody i właściwości. Nie było by możliwe korzystanie z jego dobrodziejstwa gdyby nie został zrobiony z pełną konsekwencją. Musimy mieć świadomość, że wszystkie typy danych ostatecznie dziedziczą z klasy podstawowej System.Object. Training Kit przytacza nam dla przykład metodę ToString() którą posiada ka...
Wielokrotnie zdarzało mi się, że budziłem się rano i na samą myśl o kolejnym dniu w pracy robiło mi się niedobrze. Czy też tak czasami macie? Pomimo całej świetności naszego zawodu, ogromnej gamy wyzwań i oczekujących na rozwiązanie pasjonujących problemów, bycie programistą może czasami dać się nieźle we znaki. Post ten jest kierowany nie tyle do samych developerów, co do ludzi o "jeden stopień wyżej". Menadżerów? Team leaderów? Architektów? Zwał jak zwał. Poniżej zebrałem kilka rzeczy, którymi możecie...
Jakiś czas temu w post'cie pt. "Implementacja klienta OPC w C#" spróbowałem naświetlić podstawowe zagadnienia związane z implementacją klienta OPC na platformie .NET. Nie jest to proste zagadnienie, a do tego poza dobrą znajomością programowania opartego o DCOM należy mieć dostęp do specyfikacji standardu OPC. W tym artykule chciałbym wskazać pewną alternatywę, a mianowicie pokazać jak można dostać się do danych w OPC z poziomu platformy .NET (przykład w C#) bez implementacji pełnego klienta OPC. W tym ...
Kontrowersyjny esej o kodzie czytelnym, część 3: język w kodzie Wybierz jeden język nazewnictwa elementów kodu w projekcie lub zespole. Całość kodu w ramach jednego projektu lub tworzonego przez jeden zespół powinna stosować jeden i ten sam język nazewnictwa elementów kodu (zmiennych, klas itp.). Dlaczego? Aby osoba czytająca kod, nawigując od klasy do klasy, nie musiała przestawiać swojego sposobu myślenia. Jak wszyscy programiści doskonale wiedzą, przełączanie kontekstu jest kosztowne. Należy go więc ...
Architektura 5533 dni, 18 godzin, 1 minutę temu 43 źrodło rozwiń
W tym poście chciałbym poruszyć tematykę związaną z językiem "C# i technologią "DCOM" i pokazać jak można połączyć te dwa elementy. Ponieważ na co dzień zajmuję się technologią OPC (która oparta jest o DCOM), więc właśnie o tej technologii dotyczą załączone tutaj materiały.
Zgodnie z zasadami programowania obiektowego pola klas nie powinny być bezpośrednio dostępne na zewnątrz. Należy jest zawsze opakowywać w akcesory: właściwości lub krótkie metody typu get i set. Z nich właśnie korzysta potem kod zewnętrzny, dzięki czemu nie może on (w dobrze napisanej klasie) niczego zepsuć poprzez - chociażby - ustawienie jakiegoś pola na nieprzewidzianą wartość.
Architektura 5533 dni, 16 godzin, 23 minuty temu 43 źrodło rozwiń
niedziela, Październik 25th, 2009Brak komentarzyXNA: Strzeż się 64 bitów! Właściwie sam tytuł wpisu, można traktować jako podsumowanie go. Wszystko zaczęło się od 64bitowego Windowsa i kompilacji projektu …Could not load file or assembly… Otóż jak się okazuję, XNA Framework jest 32 bitowy i stąd, na 64 bitowym systemie, może pojawić się błąd (jak w nagłówku powyżej), którego identyfikacja, na pierwszy rzut oka nie wydaje się być łatwa, w sytuacji gdy wszystko znajduje się na swoim miejscu, a ponadto refe...
Wczoraj dostałem info od znajomego, dla którego piszę aplikację, iż na dwóch stronach wyświetla mu się taki o to błąd: Sys.WebForms.PageRequestManagerParserErrorException: Nie można przeanalizować komunikatu odebranego z serwera. Typowe przyczyny tego błędu to modyfikacja odpowiedzi przez wywołania metody Response.Write(), filtry odpowiedzi, elementy HttpModule lub włączenie śladu serwera. Szczegóły: Błąd podczas analizowania w pobliżu elementu "
Rama do tworzenia wtyczek do SSMS została opublikowana pod adresem http://nextssmsaddin.codeplex.com/. Zapraszam do odwiedzania, korzystania, pobierania, komentowania, krytykowania, poprawiania, ulepszania (chętni do współtworzenia mogą się do mnie zgłaszać przez kontakt na tej stronie w celu dopisania do zespołu). Wtyczka została napisana w Visual Studio 2005. Ale działa pod SSMS 2005 i 2008 (również w wersji Express).
Bazy danych i XML 5535 dni, 2 godziny, 18 minut temu 24 źrodło rozwiń
No to embargo na informacje na temat SharePoint 2010 zostało zdjęte :) pora więc rozpocząć posty na jego temat :) W netcie znajdziecie już dużo screenów, więc nie będę się zajmował stroną wizualną a jedynie programistyczną. Pierwszym tematem jest nowa funkcjonalność walidacji danych na formularzu. Zaraz po wejściu na ustawienia listy widać nowy element Validation Settings: