Wiele programów z sieci wciąż jeszcze ściąga się w postaci archiwów do samodzielnego wypakowania, jak choćby w formacie .zip. Ma to swoje zalety i wady - do tych drugich należy fakt, że nie bardzo wiadomo, jak wygląda wewnętrzna struktura katalogów takiej paczki. Używając opcji typu Wypakuj tutaj ryzykujemy zaśmiecenie folderu Downloads plikami programu. Dlatego osobiście zawsze ...
Na wss.pl pojawił się wątek dotyczący przekształcenia danych tabelarycznych ze strony HTML na tabelę w bazie danych. W dyskusji wyraziłem wątpliwość co do trywialności rozwiązania ze względu na fakt, że zawartość stron HTML odbiega znacznie od poprawnych dokumentów XML (a do zapisu do bazy danych chciałem wykorzystać możliwości XML w SQL Server). Jednak jak się okazało istnieje świetny helper do dokumentów HTML, który znajduje się pod tym adresem: htmlagilitypack. Jako cel swego przekształcenia wybrał...
Bazy danych i XML 4625 dni, 9 godzin, 59 minut temu 44 źrodło rozwiń
Projektanci WCF zostawili w swoim produkcie bardzo dużo półprzymkniętych furtek czekających tylko na odkrycie i wykorzystanie ich potencjału. Jednym z takich czarodziejskich otworów do przyjemnego, różowego, miękkiego wnętrza WCF jest infrastruktura Behaviors (więcej o, między innymi, nich, na przykład w artykule "Extending WCF with Custom Behaviors"). Z ich pomocą można osiągnąć baaardzo wiele, między innymi: w niesamowicie elegancki sposób zebrać w jednym miejscu wszystkie błędy wygenerowane przez nasz...
Architektura 4625 dni, 9 godzin, 59 minut temu 93 źrodło rozwiń
Oryginalny post: Sharpening the SawAutor: Jeff Atwood Jak ostrzysz swoją piłę jako programista? Ostrzenie piły odnosi się do wszystkiego co robisz, co nie jest programowaniem, a ma na celu (teoretycznie) zrobienie z Ciebie lepszego programisty. Pojęcie to pochodzi z książki Coveya -- 7 Nawyków Skutecznego Działania. Pewien facet natknął się w górach na drwala. Mężczyzna zatrzymał się, aby poobserwować drwala, gdy ten gorączkowo ścinał bardzo duże drzewo. Zauważył, że drwal pracował w pocie c...
W środę na spotkaniu naszej grupy zaprezentowałem czym jest WPF, do czego może się przydać oraz pokazałem przykłady kodu. Windows Presentation Foundation jest jednym z elementów wprowadzonych w .NET 3.0. Przede wszystkim umożliwia rozdzielenie kodu aplikacji od projektu interfejsu użytkownika. Dzięki narzędziu Microsoft Expression Blend Designer może projektować interfejs aplikacji w sposób dla niego wygodny (graficzne przeciąganie elementów, kolorowanie, ustawianie stanów animacji na timeline, itp). W W...
W kilku krokach i słowach, postaram się wyjaśnić zasadę lokalizacji aplikacji .NET Compact Framework. Wszystko przy uwzględnieniu certyfikowania aplikacji dla Windows Marketplace for Mobile.
Mobile development 4629 dni, 13 godzin, 39 minut temu 51 źrodło rozwiń
Jak używać domeny aplikacji do uruchomienia Assemblies z ograniczonymi uprawnieniami Ograniczenie uprawnień domeny aplikacji może znacznie ograniczyć ryzyko, że assemblies, której używamy nie wykona żadnych złośliwych działań. Training kit przytacza taki przykład: Kupujemy assembly od kogoś i używamy jej do komunikacji z bazą danych. Jakiś gość znajduję lukę w kupionej assembly i używa do skonfigurowania “spyware’owej” aplikacji, która uruchamia się automatycznie przy starcie. W momencie gdy uży...
Application domain jest mechanizmem podobnym do procesu w systemie operacyjnym. Wykorzystywana jest do rozdzielenia uruchomionych aplikacji jedna od drugiej, tak, aby nie wpływały na siebie wzajemnie. Zastosowanie tej techniki pozwala wywoływać zewnętrzne obiekty assemblies zapewniając wydajność i warstwę bezpieczeństwa. W każdej chwili można zamknąć domenę aplikacji i zwolnić zajmowane zasoby. Dodatkowo można ograniczyć przywileje tak uruchomionej aplikacji, minimalizując ryzyko tego, że wykrycie podatn...
Podczas korzystania z WCF najprostszą drogą do wywołania metody udostępnianej przez jakąś usługę jest pozwolenie Visual Studio na wygenerowanie odpowiedniego proxy, stworzenie jego instancji... i już - mamy metody usługi do dyspozycji. Bez wysiłku, bez kodu... bez sensu?
Silverlight 4 zbliża się wielkimi krokami. Jeśli wierzyć zapowiedziom ujrzymy go już na wiosnę 2010.... Nie czekam na ...
O tym jak czasem możemy zaplątać się w szukanie zbyt skomplikowanego rozwiązania podczas gdy ładne i proste jest na wyciągnięcie ręki.
Dzisiaj chciałbym opowiedzieć o zarządzaniu wątkami. Zaimplementowanie wielu wątków które działają w tle nie jest rzeczą trudną. Lecz rzeczywista aplikacja musi mięć możliwość pauzowania, przerwania, wznawiania wątku czy też korzystania z wyników po zakończeniu jego przetwarzania. Tutaj możemy natrafić na konflikt zasobów a uniknięcie ich może nieraz okazać się skomplikowaną sztuką. Przejdę lepiej już do konkretów bo w dzisiejszym artykule jest dużo kodu do analizy a i teorii nie mało.Uruchamianie i zatr...
Re: NHibernateStarter... Czyli nawiązanie do świetnego posta Procent-a na temat jego sposobu budowy aplikacji. Poniżej zamieszczam moje aktualne poglądy na ten temat. Zieloną czcionką wyróżniłem fragmenty porównujące oba rozwiązania. O czym w ogóle mowaZawsze na początku należy sobie zadań takie pytanie. O jakich w ogóle aplikacjach mówimy? Procent opisywał przypadek nietrywialnej aplikacji biznesowej (OLTP), więc i ja posłużę się takową. Termin "nietrywialny" oznacza dla mnie znaczący stopień skomplikow...
Architektura 4630 dni, 17 godzin, 53 minuty temu 68 źrodło rozwiń
Blitter i 2d Framebuffer w Silverlight Przyglądając się moim ostatnim odkryciom w kwestii gier na Silverlight, a w szczególności znanej grze Quake, zacząłem się zastanawiać jak to zrobiono. Quake ma własny software’owy silnik 3D napisany przez id Software, aby działał on wydajnie w Silverlight w zasadzie jedyne co jest potrzebne to szybki dostęp do blittera i/lub framebuffera. Jeśli przyjrzycie się bibliotece Silversprite, to zobaczycie, że taki blitter i framebuffer jest tam zaimplementowany. Silversp...
Silverlight 4632 dni, 10 godzin, 12 minut temu 53 źrodło rozwiń
Autor: W poprzedniej części opisałem sposób dostępu do obiektu SPListItem za pomocą braku mapowania - dostęp odbywał się bezpośrednio przez obiekt SPListItem. W drugiej części opiszę to, co zastosowaliśmy w jednym z niesławnych projektów w 2007 roku. W wspomnianym projekcie, jak tylko zorientowaliśmy się, że SharePoint nie posiada silnie typowanych pól, stwierdziliśmy, że trzeba coś z tym zrobić. Jako że czas gonił a na temat SPS w tych czasach prawie w ogóle postów nie było wymyśliliśmy najszybszy...
Jednym z bardziej zauważalnych składników Windows 7, które odróżniają ten system od Visty, jest nowy wygląd paska zadań. Jest szerszy, wyświetla duże ikony i przesunięcie go z dołu na bok ekranu w końcu ma sens (hurra dla monitorów wide-screen). Ale nowy wygląd to w tym przypadku nie wszystko, bo pasek ten zyskał też trochę na funkcjonalnościach. Wśród nich mamy tzw. listy skoków (Jump Lists), ...
W ASP.NET 2.0 wprowadzono interesującą i wydajną funkcjonalność – Web Parts. Czym są Web Parts? W skrócie: są to pewne zamknięte komponenty aplikacji internetowej, które są tworzone i zarządzane w jednolity sposób. Jedną z najbardziej użytecznych cech web partów (czasami będę odmieniać przez przypadki, ponieważ nie udało mi się znaleźć żadnego dobrego polskiego odpowiednika) jest to, że mogą być one dodawane, usuwane i edytowane nie tylko przez programistów, ale też przez użytkowników Twojej aplikacji in...
Autor: W poniższym artykule chciałbym poruszyć kwestię związana z walidacją obiektów. Oczywiste jest, że walidacja jest niezbędnym elementem każdej dobrze zaprojektowanej aplikacji biznesowej. Jednak nie sam sposób walidowania obiektów jest przewodnim tematem tego artykułu. Chciałbym przedstawić pewien dość oczywisty sposób informowania użytkownika o bł...
Zaczynamy rozdział nr 7 w naszym Training Kicie, który będzie dotyczył wątków. Od tej pory przejdziemy z tematów łatwiejszych do nieco trudniejszych:) Dziś wpis bardzo krótki, wprowadzający tylko do wątków. Po co nam wątki? Dzięki wątkom możemy np. uruchomić jakiś kod w tle, nie blokując w międzyczasie innych czynności naszego programu. Jednak używanie wielowątkowości jest dosyć skomplikowane i w pewnych określonych sytuacjach zamiast zwiększać wydajność, zmniejsza ją. No ale oczywiście więcej mamy plusó...
Wszyscy znamy doskonale funkcję Sleep, która w Windows API służy do zawieszania działania wątku na określony czas (podawany w milisekundach). Wydawałoby się, że musi to być najprostsza funkcja z tego API, jaką tylko można sobie wyobrazić – bo co może być skomplikowanego w “zwykłej pauzie”? A okazuje się, że jak najbardziej może :) Używając Sleep – zwłaszcza w swej zwykłej wersji – musimy bo...