MDI, to z j. angielskiego Multi Document Interface, czyli sposób tworzenia interfejsu aplikacji oparty o wiele dokumentów, które prezentowane są użytkownikowi, jako okna otwierane wewnątrz głównego okna aplikacji. Przykładem wykorzystania takiego interfejsu może być starsza aplikacja Microsoft Excel, w której wewnątrz głównej aplikacji otwierane są poszczególne arkusze (xls). Interfejs ten był kiedyś bardzo popularny w aplikacjach, które pozwalały na jednoczesną pracę nad wieloma dokumentami, teraz częś...
W poprzednich wpisach przedstawiłem Wam mechanizm Pamięci Transakcyjnej, a teraz chciałbym skupić się na jego wydajności względem zwykłych metod synchronizacji. Testy zostały przeprowadzone na maszynie z ponad 100 procesorów.
Programowanie rozproszone 4581 dni, 12 godzin, 1 minutę temu 43 źrodło rozwiń
W poprzednim poście przedstawiłem metodę Html.Display. Funkcja Html.Editor(…) w działaniu jest bardzo podobna – również służy do generowania szablonów na podstawie klas. Różnica polega na tym, że Html.Editor tworzy pola edycyjne TextBox. Służy więc do generowania formularzy edycyjnych a nie do prezentowania danych tak jak Html.Display. Sposób wykorzystania jest analogiczny do DisplayFor więc zachęcam do przeczytania poprzedniego wpisu. Poniżej końcowy wynik: Warto wspomnieć, że również można tworzyć w...
Pamięć Transakcyjna, to eksperymentalna metoda synchronizacji w programach współbieżnych, stanowiąca alternatywę dla znanych blokad, mutexów i monitorów. W poprzednim wpisie przedstawiłem ideę takiego podejścia, w tym opisują ten mechanizm od podszewki.
Programowanie rozproszone 4581 dni, 12 godzin, 1 minutę temu 45 źrodło rozwiń
Podczas budowania formularzy często potrzebujemy wyświetlić zbiory danych. Załóżmy, że mamy klasę Contact zawierającą dane kontaktowe użytkownika (email, telefon, fax). W celu wyświetlenia informacji zawartych w klasie można oczywiście użyć zwykłych wywołań Html.Label np:Phone:<%=Model.Contact.Phone%>Email:<%=Model.Contact.Email%>Fax:<%=Model.Contact.Fax%> Metoda całkowicie poprawna jednak bardzo niewygodna – co jeśli do klasy dodamy nowe pole, np. MobilePhoneNumber? Oczywiście progr...
Tworząc systemy współbieżne, należy dobrze przemyśleć kwestię synchronizacji. W jaki sposób udostępniać wspólną pamięć, jak chronić do niej dostęp. W większości przypadków należy skorzystać z szeroko dostępnych i udokumentowanych blokad, monitorów itp. Co jeśli potrzeba nam bardziej zaawansowanych narzędzi? W tym artykule opisuję Pamięć Transakcyjną, podejście znane dotychczas jedynie w bazach danych.
Programowanie rozproszone 4582 dni, 22 godziny, 55 minut temu 106 źrodło rozwiń
Microsoft Research opublikował pierwszą wersję Biology Foundation - zestawu narzędzi kierowanych do specjalistów od bioinformatyki, które stanowi rozszerzenie dla platformy .NET.
Programowanie rozproszone 4582 dni, 22 godziny, 55 minut temu 75 źrodło rozwiń
Wersjonowanie elementów (dokumentów) w SharePoint jest jednym z głównych opcji tej platformy nawet w bezpłatnej wersji - SharePoint Services 3.0. Prosta w obsłudze funkcja z poziomu UI może jednak dostarczyć paru problemów jeśli chcemy dostać się do niej z poziomu API. Po drugie warto mieć świadomość w jaki sposób przyrasta baza zawartości SharePoint przy włączonym wersjonowaniu. Poniższy post zawiera moje doświadczenia i metody radzenia sobie z tymi problemami.
Autor: Miałem ostatnio okazję tworzyć małą aplikacyjkę korzystającą z Entity Framework jako technologii dostępu do danych przechowywanych z MySQL. Miało być banalnie: ściągamy oficjalny "konektor", instalujemy i wszystko śmiga jak pszczółka maja na polanie pełnej bzu. Oczywiście gdyby tak było to pisanie tego posta nie miałoby sensu:). Dwa problemy....
Bazy danych i XML 4583 dni, 12 godzin, 54 minuty temu 273 źrodło rozwiń
Czy zdarza się wam czasem potrzeba wyłączania/hibernowania/usypiania komputera za jakiś czas, np. po wykonaniu jakiegoś długotrwałego zadania? Mnie tak. Jak więc to zrobić? Niektóre aplikacje taką funkcjonalność posiadają, jednak nie wszystkie. Z pomocą może przyjść systemowe polecenie shutdown, ale nie potrafi ono wszystkiego. „Shutdown /s” - wyłączy system, „Shutdown /h” - system zahibernuje, można dodać jeszcze opóźnienie czasowe np. „Shutdown /s /t 600”, by wyłączyć system po 10 min (600 s). Nieste...
Mój tutorial zacznę od "WHY". [...] To co chciałbym nadmienić to moje przekonanie, że nie ma najlepszego systemu operacyjnego, najlepszego języka programowania czy frameworka, po prostu każdy produkt jest najlepszy dla określonych zastosowań. [...] W duchu utrzymywania otwartego umysłu (keep mind open ;) ), warto znać choć jeden funkcyjny język. W tym tutorialu chciałbym zawrzeć w miarę szybkie wprowadzenie do F#. Mam nadzieję, że przyda wam się wiedza tu zawarta (jeśli nie, czekam na krytykę :) ).
W poprzednim poście wyjaśniłem do czego służy klauzula WITH ROLLUP. Dzisiaj zajmiemy się bardzo podobnym mechanizmem – WITH CUBE. Najlepiej wyjaśnić to znów na przykładzie tabeli. Załóżmy, że mamy poniższe zapytanie:select StoreName,ProductType,sum(Number) from SoldProducts GROUPBY StoreName,ProductType W wyniku wykonania otrzymamy:StoreNameProductTypeSumaSklepA komputery1SklepAspożywka3SklepBkomputery4SklepBspożywka6 Jak wiemy z poprzedniego wpisu WITH ROLLUP umożliwi uzyskanie wyników hierarchiczn...
Bazy danych i XML 4586 dni, 8 godzin, 54 minuty temu 40 źrodło rozwiń
Często zdarza się że w projekcie ASN.NET Ajax, oprócz Microsoft Ajax Library używamy jeszcze jQuery . Jest to genialna biblioteka, zachwalana przez wszystkich dot netowych guru jak Scott Gunthrie oraz Omar Al Zahir. Wcześniej czy później napotkamy metody document.ready() oraz pageLoad(). I powstaje pytanie czy można ich używać razem.Otóż TAK! Czy to to samo? Niekoniecznie. Pod maską document.ready() jest zdarzenie DOMContentLoaded, jeśli przeglądarka je obsługuje. Jeśli nie, wywoływane jest zdarzenie win...
Programowanie równoległe, wielowątkowe czy wieloprocesorowe, znane jest nie od dziś, ale to właśnie teraz, będzie najbardziej wykorzystywane. Dzisiejsze komputery nie mają już jednego rdzenia, serwery mają ich kilkanaście, a domowe pcety przynajmniej dwa. Jak wykorzystać wszystkie z nich? Zagadnienie z pewnością trudne ale i ciekawe, a dodatkowo stało się głównym tematem mojej pracy magisterskiej.
Programowanie rozproszone 4587 dni, 9 godzin, 29 minut temu 103 źrodło rozwiń
No proszę, bazując na blogu zespołu: http://blogs.msdn.com/b/slsymbian/archive/2010/07/06/announcing-silverlight-for-symbian-rtm.aspx Wychodzi na to, że SL dla Symbiana jest już dostępny via Ovi Store: http://store.ovi.com/content/46120
Silverlight 4587 dni, 9 godzin, 29 minut temu 35 źrodło rozwiń
Tyle się mówi o obowiązku ciągłego rozwoju w zawodzie programisty. "Przynajmniej jeden nowy język w roku!" "Przynajmniej jeden nowy framework na kwartał!" "Przynajmniej jedna książka techniczna na miesiąc!" Znacie te zawołania? Wiecie co... nie do końca widzę w tym sens. Na pewno nie zamierzam twierdzić, że taki sposób zagospodarowania wolnego czasu jest zły - bo nie jest - ale na mnie takie podejście po prostu NIE DZIAŁA. Co z tego że rok temu przeczytałem od deski do deski książkę o WCF? Co z tego że p...
Operator WITH ROLLUP używa się w połączeniu z GROUPBY. Czasami istnieje potrzeba grupowania wyników po dwóch kolumnach. Wyobraźmy sobie, że mamy tabelę lub widok zawierający listę sprzedanych produktów. Będziemy mieli zatem takie kolumny jak “nazwa produktu”, “nazwa sklepu w którym został sprzedaży produkt” oraz “typ produktu”. Przykładowe zapytanie wyglądałoby więc następująco:select StoreName,ProductType,sum(Number) from SoldProducts GROUPBY StoreName,ProductType Zapytanie zwróci produkty pogrupowa...
Bazy danych i XML 4588 dni, 22 godziny, 58 minut temu 50 źrodło rozwiń
Co nowego w SketchFlow, który obecnie trafił do pakietu Expression Studio Ultimate? Nie ma już nic nowego interesującego? A nieprawda mój kolego! Zacznijmy od najbardziej godnej uwagi moim zdaniem nowości, która … nie jest wymieniana przez oficjalną dokumentację. Jednak osobowości takie jak John Papa czy Tim Heuer mówiąc o nowościach w SketchFlow piszą o niej w pierwszej kolejności. Sprawa dotyczy kontrolek mockup. Pewne zamieszanie wynika z tego, że domyślnie są udostępnione jedynie w przykładzie Mockup...
Ja nie chcę być programistą, ja chcę iść do łopaty! Czyli piosenka o programiście .NET oraz kino moralnego niepokoju.
Pisałem już wcześniej o nieodpowiedzialnym używaniu okien dialogowych, ale coś co przeczytałem ostatnio, podkreśliło interesujący aspekt tego tematu, którego wcześniej nie rozważyłem. Najpierw, Joel Spolsky: Może to zabrzmieć surowo, ale zdasz sobie z tego sprawę, kiedy zrobisz testy z użytkownikami, że znajdzie się trochę takich, którzy nie czytają słów, które umieściłeś na ekranie. Jeśli pokażesz okno z jakimkolwiek błędem, po prostu go ...