Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…
Architektura 5426 dni, 4 godziny, 2 minuty temu 110 źrodło rozwiń
A propos artykułu RilNET – Radio Interface Layer (RIL) .NET wrapper należy się drobne sprostowanie działania biblioteki a przede wszystkim obsługi lokalizacji.
Mobile development 5429 dni, 9 godzin temu 55 źrodło rozwiń
Żeby nie było, iż jestem jednostronny to dla odmiany dziś o firmie Samsung. I o jego w moim mniemaniu cudownym dziecku Samsung Windows Mobile SDK.
Mobile development 5428 dni, 2 godziny, 7 minut temu 70 źrodło rozwiń
Okazjonalnie zachodzi potrzeba, aby do jakiegoś celu wygenerować niepowtarzalny ciąg znaków. Jednym z zastosowań może być tutaj nadanie plikowi nazwy gwarantującej brak kolizji z jakąkolwiek inną nazwą pliku w systemie albo chociaż w aktualnym katalogu. W przypadku gdy ów plik ma istnieć tylko przez chwilę - a więc być plikiem tymczasowym (tempfile), sprawa jest prosta i sprowadza się do wywołani...
Powtarzanie kodu w kilku miejscach zwykle jest sygnałem zaniedbania i nie powinno mieć miejsca. Nawet (a może: w szczególności!) gdy kod ten jest prosty, głupi, niewymagający myślenia i będący efektem tzw. clipboard inheritance (ctrl+c, ctrl+v). Tyczy się to również konstruktorów klas. Tą część kodu łatwo jest przegapić, bo wszelakie ułatwiacze umożliwiają automatyczne ich wygenerowanie. A co jeśli mamy ich kilka? Poniższy przykład obrazuje stan, do którego NIE CHCEMY doprowadzić...
Architektura 5440 dni, 22 godziny, 10 minut temu 92 źrodło rozwiń
Czy poniższy kod nie jest doskonałym odwzorowaniem odpowiedzi na pytanie "dlaczego programiści nie pracują w Święta?"? :)
Krótko, jeżeli potrzebujecie listę krajów dla combobox wystarczy wam taki o to fragment kodu...
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.
Chciałbym przedstawić wykorzystanie SQLite w połączeniu z ADO.NET przy wykorzystaniu C#. Wymaga to jednak pewnego uzupełnienia.SQLite SQLite jest biblioteką napisaną w języku C, która implementuje silnik relacyjnej bazy danych. Jak głosi główne hasło projektu jest ona “prosta, szybka, niezawodna”. Cała baza znajduje się w pojedynczym pliku, a w przeciwieństwie do innych systemów baz danych, nie występuje tu żaden demon nią zarządzający. Inne cechy warte wymienienia:Mały rozmiar biblioteki (ok. 0.5MB), ...
Bazy danych i XML 5463 dni, 8 godzin, 42 minuty temu 199 źrodło rozwiń
Zachęcam wszystkich do zapoznania się z Express Interface (Xi) - z nowinką, która ma chęć zostania nowym standardem wymiany danych w systemach związanych z automatyką przemysłową. W uproszczeniu Xi określić można jako OPC po WCF'ie. Artykuł został podzielony na następujące części..
Novell poinformował o dostępności pierwszego komercyjnego rozwiązania ułatwiającego tworzenie aplikacji .NET dla systemów Linux, UNIX i Mac OS X w środowisku Microsoft Visual Studio. Mono Tools for Visual Studio, nowy, rewolucyjny moduł dodatkowy dla zintegrowanego środowiska programistycznego (IDE,..
Jak można przeczytać na blogu Technical Advisory Council dla OPC Foundation, kierownictwo OPC Foundation postanowiło ostatnio utworzyć grupę roboczą, która ma za zadanie ustalić plan współpracy z nowym interfejsem Xi.
Podczas pisania ostatnich kilku postów na temat nowego interfejsu: Express Interface (Xi), cały czas zastawiałem się, czy w ogóle ta nowa propozycja ma szansę się przyjąć. W przypadku oprogramowania związanego z szeroko pojętą "automatyką przemysłową" łatwo zauważyć, że nowości trudno wypływają na wierzch...
Kolekcje generyczne są bezpieczną (ang. type-safe), szybką i wydajną (ang. performance) wersją ich nie-generycznych odpowiedników. Przykładowo List, Dictionary, Queue, Stack, SortedList i SortedDictionary są odpowiednikami zwykłych kolekcji. Różnica polega na tym, że korzystając z typów generycznych podajemy parameter, który jest zamieniany na nazwę typu podczas kompilacji. W ten sposób można użyć każdego typu, ale tylko wcześniej określonego. W innym wypadku otrzymamy błędy już przy kompilacji. Namiastk...
Projektowanie klas nie jest zagadnieniem, które podczas nauki języka C# należałoby odkładać ''na później''. Oczywiście środowiska programistyczne, tworząc za nas szkielet kodu aplikacji, pozwalają do pewnego stopnia uniknąć definiowania własnych klas. Jednak bez podstawowej choćby orientacji w tej materii mogą pojawić się kłopoty nawet z pełnym zrozumieniem rozwijanego przez nas programu.
Jeśli ktoś z was interesuję się Oslo, to nie powinien nie kojarzyć osoby Douglasa Purdy. Doug, na swoim blogu ogłosił dalsze plany wobec tej technologii. Nazwa kodowa “Oslo” zmienia się w SQL Server Modelling. Czyli Oslo będzie kolejnym komponentem w SQL Serverze.
Nawiązując do artykułu Andrzeja Stasiewicza omawiającego tworzenie fraktala Mandelbrota (PCWK 7/2005) oraz do opisanej w poprzednim numerze implementacji liczb zespolonych w C#, przepiszemy algorytm tworzący ów piękny fraktal z użyciem utworzonej miesiąc temu struktury Complex...
Jeżeli w codebehind zmienimy właściwość 'Enabled' kontrolki CheckBox na false to w clientcode zmiana właściwości 'disabled' tej kontrolki na true nie działa, dotyczy tyko IE i kontrolki CheckBox (inne kontrolki np. TextBox działają prawidłowo, w FireFox wszystko działa ok)...
Podczas pisania komponentu w C# napotkałem na niewielki problem. Otóż chciałem wyświetlać stronę html, której źródło znajdowało się w pliku .html . Niestety same z tym problemy...
Ostatnio zacząłem eksperymentować z szyfrowaniem na platformie .NET. Pierwszym celem jaki sobie postawiłem było przekształcenie tekstu do postaci zaszyfrowanej...