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...
Informacja dla tych, którzy chcieliby poczytać o programowaniu wielowątkowym w C# (i dla mnie bym nie musiał kolejny raz „googlać” tego linku) polecam przeczytanie książki „Threading in C#” autorstwa Joseph Albahari.
Programowanie rozproszone 5000 dni, 11 godzin, 52 minuty temu 260 źrodło rozwiń
Wpis warty polecenia dla wszystkich, którzy zastanawiają się nad skorzystaniem z oferty Cloud Computing oferowanej przez firmę Microsoft. Sporo uwag praktycznych na temat Windows Azure oraz cennik usług w praktyce.
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 ...
Autor: Dzisiaj kolega podesłał mi swoistą zagadkę w postaci dwóch, pozornie robiących to samo, fragmentów kodu. Jeden napisany w C#, a drugi w VB.NET: int counter = 0; while (++counter Dim counter As Integer = 0 While (++counter Różnica polega na tym, że pętla w C# wykona się 9 razy, a w VB.NET otrzymamy pętlę nieskończoną. Dlaczego? Przyjrzyjmy się dokładniej pętli napisanej w języku VB.NET. Ci z was, którzy programują lub programowali w tym języku zapewne zwrócili uwagę na użycia operator...
SQL Server Management Objects (SMO) zbiór bibliotek, a w nich klas dla platformy .NET, pozwalające na łatwe i proste zarządzanie bazą danych Microsoft SQL Server z poziomu kodu programu .NET (np. w językach takich jak C#, VB i innych). Zostały one wprowadzone po raz pierwszy z bazą danych Microsoft SQL Server 2005 (włącznie z wersją Express). Dostępne są również biblioteki SMO dla bazy danych MS SQL 2008. Dzięki wykorzystaniu SMO, można opracowywać aplikacji o funkcjonalności podobnej do Microsoft SQL ...
Bazy danych i XML 5039 dni, 23 godziny, 23 minuty temu 48 źrodło rozwiń
Używając analizy kodu w projektach .NET 4.0 można natknąć się na taki oto komunikat: CA1026: Microsoft Design: Replace method xyz with an overload that supplies all default arguments. W dokumentacji do tego ostrzeżenia czytamy, że choć używanie metod opcjonalnych jest dozwolone w specyfikacji CLS, to dozwolone jest także ich ignorowanie. Przyjrzyjmy się więc temu nieco bliżej. Parametry opcjonalne Na tapetę weźmiemy tę oto prostą metodę: public void OptionalMethod(string name, int value = 42) { ...
Dlaczego lubię kontener DockPanel? Ponieważ dobrze (intuicyjnie) współpracuje z kontrolką ScrollViewer, która dostarcza pionowych i poziomych pasków przewijania. Załóżmy, że główne okno naszej aplikacji zawiera listę (kontrolka ListView) z kilkuset wierszami. Wierszy jest na tyle dużo, że w danym momencie na ekranie widoczna jest tylko część z nich. Aby użytkownik mógł przewijać listę i zobaczyć wszystkie wiersze używamy kontrolki ScrollViewer ScrollViewer zachowa się jednak inaczej w...
Tworząc różnego rodzaju programy czasami pojawia się problem zapewnienia autentycznością plików. Sytuacja taka ma miejsce, gdy w plikach tych znajdują się bardzo ważne dane, których zmiana mogłaby doprowadzić do wygenerowania różnego rodzaju strat. Takimi plikami mogą być pliki licencji, zawierające dane finansowe, czy dane medyczne, itp. Problem ten można rozwiązać w bardzo prosty sposób używając plików XML. Wystarczy, że podpiszemy plik XML i sprawdzimy ten podpis przed ponownym użyciem pliku. Jeśli bę...
W trakcie pisania kodu przyzwyczailiśmy się już do tego, że należy równolegle pisać testy. Podejść, kiedy i jak pisać testy jest wiele. Do wyboru mamy też kilka dostępnych frameworków testowych, ale nie o tym chciałem napisać. W tym artykule chcę poruszyć temat badania pokrycia kodu testami.W trakcie pisania testów niejednokrotnie występuje potrzeba sprawdzenia, które fragmenty kodu pokryte są testami, a które nie.
Polecenia ping nie trzeba nikomu chyba przedstawiać. Służy ono do diagnozowania połączeń sieciowych. Dzięki niemu można sprawdzić, czy istnieje połączenia między dwoma hostami, jaka jest jakość tego połączenia oraz jakie występują opóźnienia. Dodatkowo jeśli podajemy adres hosta nie w postaci adresu IP to możemy zdiagnozować, czy poprawnie rozwiązywane są nazwy przez serwer DNS.
Wpisy na temat śledzenia i logowania w .NET pojawiały się już wcześniej na tym blogu (np. „Śledzenie i logowanie zdarzeń (tracing and logging) na platformie .NET (przykłady w oparciu o C#).” i „Śledzimy w .NET dalej (dzisiaj uruchomimy własny podsłuch)”). Mechanizm wykorzystania elementów platformy .NET, jak: TraceSource, TraceListener i innych związanych z nimi jest dość wygodny, tym bardziej, że są dostępne gotowe klasy typu TraceListener zapisujące w plikach logi przy pomocy XML-a lub w których każdy ...
Przyznam szczerze, że dotychczas z komunikacją między różnymi aplikacjami lub ich warstwami spotykałem się głownie w aspekcie usługowo-webowym. Taki scenariusz sprowadza się do takiego a nie innego wykorzystania webservice lub pochodnego ustrojstwa. Co jednak można zastosować jeżeli chcemy aby dwie nasze aplikacje miały możliwość pogadania ze sobą na lokalnej maszynie? Rozwiązań jest sporo albo i jeszcze więcej. Poczynając od SendMessage z Win32 API, współdzielonej pamięci, webservice, TCP, COM, DCOM n...
Programowanie rozproszone 5072 dni, 11 godzin, 19 minut temu 191 źrodło rozwiń
Na oficjalnym blogu The Windows Phone Developer Blog od jakiegoś czasu pojawiają się bardzo ciekawe porady o tworzeniu oprogramowania na telefony Windows Phone.
Mobile development 5106 dni, 2 godziny, 40 minut temu 57 źrodło rozwiń
Podczas projektowania aplikacji jedną z kluczowych kwestii jest wyodrębnienie potencjalnie czasochłonnych operacji z kodu, oraz przystosowanie ich do działania w osobnych wątkach. Gdy w grę wchodzi GUI, czynność ta jest wręcz niezbędna. Standardowym modelem jest przygotowanie wszystkich danych wejściowych dla długotrwałego procesu i przekazanie ich do nowego wątku; tam też rozpoczynając asynchroniczną pracę. Po jej zakończeniu, odbieramy wyniki i już bez znaczących przestojów możemy odpowiednio na nie za...
Kilka dni temu, ktoś na stronie devPytania.pl poprosił o kod przykładowej implementacji Stosu (ang. Stack) i Kolejki FIFO (ang. Queue) przy użyciu tablic. Miałem chwilę wolnego czasu, więc postanowiłem pomóc – efektem tego jest poniższy kod...
autor: Nawiązując do postu poniżej, wczoraj odbyła się pierwsza sesja kursu na temat C#. W związku z tym fajnie jest się pochwalić, że przyciągnęła ona aż 634 osoby w pewnym momencie! Może nas nie wpiszą do księgi Guinnessa, ale naprawdę super, że tak wielkie zainteresowanie wzbudził ten kurs, a w naszych polskich realiach jest to wynik rekordowy! Pojawiły się oczywiście głosy próbujące zanegować słuszność tych wyników, że to mogą być zdublowane osoby i w ogóle… P...
Maciej Aniserowicz: W imieniu portalu VirtualStudy.pl zapraszam Was na półroczny kurs C# (a właściwie .NET) online. Niezależnie od tego czy już umiesz programować czy dopiero chcesz się nauczyć - na pewno warto skorzystać z okazji. Wcześniej takiej nie było, i pewnie nieprędko się powtórzy. Tym bardziej że prowadzący to naprawdę łebskie ziomy i zdecydowanie można się od nich wiele nauczyć:). Moim zdaniem świetna inicjatywa.
Dzisiejsza historia oparta jest, w większości, na faktach. Ukryliśmy tylko imię naszego programisty. Był sobie Tomek programista. Tomek miał do napisania w C# fragment większego algorytmu. Jako, że kod był dobrze podzielony mogło to zrobić wiele osób. Jedną z rzeczy które miały być w tym fragmencie było stw...
Architektura 5133 dni, 3 godziny, 19 minut temu 118 źrodło rozwiń