Witam z powrotem w szóstym odcinku serii Ekstremalna przeróbka ASP.NET. W poprzednich artykułach skupialiśmy się na technologiach związanych z przeglądarką po stronie klienta: XHTML, CSS, JavaScript, jQuery i jQuery UI. Kilka następnych artykułów w tej serii będzie się skupiać na kodzie po stronie serwera. Jak możemy zmodyfikować nasz kod C#, aby poprawić możliwości utrzymywania i rozszerzania naszej bazy kodu oraz jej elastyczność. Ten artykuł, część 6, skupi się w szczególności na podziale obowiązków. ...
Jakiś czas temu natknąłem się na problem podczas pracy z PropertyGrid'em. Aby móc edytować obiekty przy pomocy PrpopertyGrid'a należy nadawać odpowiednim właściwością klasy (której obiekty chcemy edytować) atrybuty. Jednak ja dodatkowo potrzebowałem, by edytor danego obiektu zmieniał się w czasie działania aplikacji, pojawiło się więc pytanie: "Jak zmienić (w c#, .NET) wartość atrybutu klasy, funkcji, właściwości podczas działania aplikacji z poziomu kodu programu?"
W przeciwieństwie do mitu, nie ma czternastu rodzajów programistów. Są tylko dwa, jak przypomniał nam Ben Collins-Sussman. W świecie tworzenia oprogramowania istnieją dwie "klasy" programistów: nazwę ich 20% i 80%.
Niekiedy test jednostkowy sprawdza poprawność jakiegoś skomplikowanego algorytmu bądź parsera tekstu bądź czegokolwiek, co wymaga znacznych ilości danych. Zamiast umieszczać te dane w kodzie, niejednokrotnie wygodniej jest po prostu wrzucić je do pliku, plik dodać do projektu i ustawić jego właściwość "Copy to Output Directory" na Always.
Zaleta takiego sposobu schowania warstwy (popupa) jest taka, że nie spowoduje PostBacka. AjaxControlToolkit.PopupControlBehavior.__VisiblePopup.hidePopup();
Urządzenia z Windows Mobile posiadają wbudowany słownik T9. Domyślnie nie jest on dostępny np. dla TextBoxa. Okazuje się jednak, że szybko można można zaprzęgnąć wbudowany słownik do naszej apliakcji.
Mobile development 5416 dni, 8 godzin, 48 minut temu 85 źrodło rozwiń
Poprawne widoki w projekcie asp.net mvc nie powinny posiadać plików codebehind. Ponadto nie powinny posiadać żadnej logiki. Mają służyć jedynie prezentacji/wizualizacji danych oraz zbierania informacji, które będą przesyłane do kontrolera. W związku z tym całe ustrojstowo typu auto-zdarzenia (znane z WebForms'ów), viewstate'y, czy nawet dostęp do obiektu sesji powinno być wyłączone/zablokowane. Wybra...
Ostatnio w jednym z projektów, w których brałem udział dostawałem w niektórych miejscach kolekcję obiektów zaś w innych, parametrami metody były same obiekty. Potrzebowałem, więc czegoś generycznego by móc je sobie konwertować. W tym celu szybko naskrobałem extension method...
W angielskojęzycznych (choć nie tylko) rozważaniach na temat bezpieczeństwa, tytułowy termin przewija się całkiem często i oznacza on, że ktoś wymyślił, jak możnaby obejść lukę zabezpieczeń, gdyby się umiało. Ale że się nie umie, to się tworzy właśnie "proof of concept". Rozumiem, że luki w zabezpieczeniach to poważna sprawa i znalezienie ich musi się wiązać z natychmiastową reakcją producenta. Rozumiem, że odkrywca luki chce mieć swoje parę minut sławy. Rozumiem, że opracowanie kodu, który wykorzystuje ...
Autor: W ramach przygotowań do egzaminu 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development, chciałbym zaprosić do lektury na temat zagadnienia p.t. "Dostosowanie i Personalizacja Aplikacji Web" ("Customizing and Personalizing a Web Application"). Opracowanie zostało podzielone na nastepujące części:Strony Wzorcowe (Master Pages) - teoriaStrony Wzoorcowe - przykładTematy, motywy (Themes) - teoriaTematy, motywy - przykładWeb Parts - teoriaWeb Parts - przykład Dodatkowo zachęcam do ob...
Metoda UpdateModel jest metodą dostępną w klasie kontrolera, która w automagiczny sposób przepisze wartości przesłane z formularza do naszego obiektu modelu. Niestety przepisze wszystkie jakie tylko zostały przesłane. A co jeśli nie chcemy przepisywać wszystkich? Wystarczy podać listę dopuszczonych wartości do przepisywania. Niestety lista ta to nic innego jak array stringów. Poniżej prezentuję kawałek kodu, który ...
Tworząc oprogramowanie na pewno przydaje się repozytorium kodu źródłowego, system do śledzenia problemów lub zadań i inne aplikacje. W tym post'cie chciałbym się skupić na tych pierwszych dwóch i omówić jak można skonfigurować popularnego klienta repozytorium Subversion: Tortoise SVN, by można w nim wprowadzać numer problemu/zadania, a później klikając na ten numer w logu przejść do właściwego problemu w systemie kontroli problemów: BugNet.
XLinq - Linq to XMLsobota, 29 sierpnia 2009 Wiele mówi się o technologii Linq (Wikipedia, MSDN), która jest częścią Framework'a 3.5. Tym samym nie jest trudno znaleźć przykłady wykorzystania tego cuda. W tym artykule chciałbym zaprezentować zapytania Linq do plików XML. Ich prostota w konstruowaniu oraz niesamowita efektywność w działaniu dają wiele możliwości zwolennikom formatu XML. Rozpocznę od przykładu deklaracji dokumentu XML. Składnia tworzenia owego obi...
Bazy danych i XML 5418 dni, 9 godzin, 7 minut temu 137 źrodło rozwiń
Joel Spolsky wczoraj opublikował na łamach gazety Inc. przyszły (bo z datą 1 lutego ;)) artykuł na temat problemów przepełnienia kanałów komunikacji. W artykule głównie porusza obserwacje z wyśmienitej książki Mityczny osobomiesiąc autorstwa Frederick P. Brooks i już w merlinie i wydawnictwie WNT nie dostępnej (ale na Amazon tak, za $26,02) - osobiście gorąco polecam tą książkę każdemu programiście i nie tylko...
Autor: Nie wyobrażam sobie pracy bez systemu kontroli wersji. I niewielu znam ludzi zajmujących się programowaniem, którzy by SVN nie doceniali. Jako serwera SVN używam VisualSVN – napisany pod Windowsa, banalny w obsłudze, posiada GUI. Podstawowy kient SVN – TortoiseSVN – do wszelkich commitów z dysku, dla świetnego narzędzia DIFF. Do Visuala natomiast niesamowita wtyczka – ankSVN – bohater dzisiejszego szybkiego wpisu. Jeśli używasz Visuala i SVN...
Kolejne 3 grosze do sposobu formatowania stringa, gdzie zamiast kolejnych indeksów {0}, {1}, itd podaje się nazwy właściwości, a jako źródło obiekt je posiadający. Swego czasu Phill Haack zainteresował się tym tematem i pokazał inne implementacje....
FormatWith 2.0czwartek, 28 maj 2009 Niejednokrotnie sklejałem ze sobą wiele stringów na przykład w ten sposób: string ala = "Ala"; string ma = "ma"; int dwa = 2; string koty = "koty"; string zdanie = ala + " " + ma + " " + dwa.ToString() + " " + koty + "."; Problem w tym, że ta metoda jest mało estetyczna oraz słabo wydajna, ponieważ w ten sposób tworzonych jest wiele pomocniczych obiektów typu string co powoduje spadek wydajności. Tutaj z pomocą przychodzi nam metoda string.Format(), ...
W ramach uzupełnienia teorii dotyczącej mechanizmu Web Parts, tym razem pojawi się przykład, w którym na prostej stronie osadzone kontrolki Web Parts.
Oryginalny post: Does More Than One Monitor Improve Productivity? Autor: Jeff Atwood Począwszy od mrocznych czasów Windowsa Millenium jestem entuzjastą pracy na wielu monitorach. W ciągu ostatnich czterech lat pisałem już kilka razy o rozmaitych przyjemnościach płynących z pracy na kilku monitorach. Posiadam trzy monitory w domu jak i w pracy. Jestem tym, kogo mógłbyś nazwać prawdziwym zwolennikiem. Zawsze szukam argumentów dla kolegów po fachu, którzy żądają drugiego (albo nawet trzeciego) monitora, ...
Jak zapewne zauważyłeś od jakiegoś czasu trzy razy w tygodniu pojawiały się wpisy, których tytuły zaczynały się od 70-536. Kamil Lemański, Daniel Jarzynka oraz Dawid Tulski przygotowując się do tego egzaminu tworzyli wpisy podsumowujące kolejne lekcje z Training Kita. W tym miejsu zebrałem wszystkie artykuły, które się pojawiły (pojawiły się już wszystkie lekcje z drugiej edycji książki):Podstawy FrameworkuUżycie typów wartościowychUżycie popularnych typów referencyjnychTworzenie klasKonwersja między typ...