Małe odejście od PivotViewer, poniżej mamy prosty kod (wystarczy go wkleić do aplikacji konsolowej by się uruchomił). Chciałbym wypisać (to jest ważne, nie chcę widzieć tego w UI, chcę to wypisać sobie) wszystkie operacje boxingu i unboxingu znajdujące się w tym kodzie (może to być to numer linii i typ operacji, lub sam typ operacji plus informacja w którym miejscu to następuje).
Architektura 4630 dni, 8 godzin, 30 minut temu 69 źrodło rozwiń
Niniejszym postem rozpoczynam cykl publikacji o zastosowaniu F# i związanych z nim narzędzi do tworzenia interpretera na przykładzie imlementacji V+, który wykorzystywany jest do programowania wirtualnego robota w środowisku RLab.
W tej notce przedstawię kilka przydatnych skrótów klawiszowych, który używam codziennie (lub prawie codziennie ;)) podczas pracy z Visual Studio.CTRL + E, D – formatowanie kodu w aktywnym pliku,CTRL + SPACEBAR - wywołanie IntelliSense,CTRL + E, C - komentowanie zaznaczonych linii kodu,CTRL + E, U - odkomentowanie zaznaczonych linii kodu,CTRL + SHIFT + L - kasowanie zaznaczonych linii kodu,CTRL + M, O – zwinięc...
Drugi odcinek serii (przypominam, że na początku był odcinek 0.). Minęła pierwsza iteracja, zakończona całkiem nie małym sukcesem, bo zdążyliśmy zaimplementować wszystkie zaplanowane funkcjonalności, jednocześnie skupiając się bardziej na jakości niż na szybkości prac. A więc jakie zmiany zaszły w naszym projekcie? Przede wszystkim rozrósł się znacznie, zyskał wiele funkcjonalności, a to pociągnęło za sobą konieczność pewnych zmian i udoskonaleń w architekturze. Przypomnę, że nasza solucja jest aktualnie...
Architektura 4631 dni, 10 godzin, 23 minuty temu 64 źrodło rozwiń
Microsoft przyznał w końcu, że aplikacje webowe stworzone przy pomocy praktycznie dowolnej wersji środowiska ASP.NET są podatne na atak typu Padding Oracle. Oznacza to, że w zależności od konkretnej aplikacji, intruzowi może udać się przykładowo uzyskanie dostępu do zawartości zaszyfrowanych ciasteczek i innych danych sesyjnych. Około 25% wszystkich aplikacji webowych bazuje na ASP.NET, w związku z...
Ludzie branche tworzą… Motywów do tworzenia gałęzi w projektach jest co nie miara. W nie tak prehistorycznych czasach (które chyba z resztą trwają do dziś) królowania CVS, a później SVN większość rzeczy trafiała bezpośrednio do trunka – głównej gałęzi. Rozgałęzienia były tworzone w momentach, gdy projekt rzeczywiście obierał dwa, dosyć odmienne biegi rozwoju (np. v1 i v2 – obie rozwijane). Inną strategią (nie wykluczającą pierwszej!) było tworzenie gałęzi – stabilnej, rozwojowej, a czasem eksperymentalne...
Korzystanie z interfejsu INotifyPropertyChanged podczas pracy z WPF to praktycznie codzienność. Za którymś razem jednak implementacja tego interfejsu w kolejnej klasie może już zbrzydnąć. Dlaczego, więc nie skorzystać z refleksji i extensions methods? Metodę wywołującą zdarzenie PropertyChanged napiszemy raz i będziemy z niej korzystać do woli. Implementacja tej metody w moim wykonaniu wyglą...
Dzisiaj coś zupełnie z innej beczki. SAP Business One (SB1) , czyli "program księgowy". Jakiś czas temu miałem okazję popracować trochę z tym programem i zapoznać się z DI API. DI API to zestaw metod, za pomocą których możemy zautomatyzować proces tworzenia dokumentów księgowych w SB1. Czyli wygenerować dokumenty z poziomu własnego programu, przy użyciu "odpowiednich bibliotek". Bardzo przydatne w sytuacji gdy integrujemy program księgowy z innymi systemami i chcemy zautomatyzować proces powstawania doku...
Standardowo gdy tworzymy projekt typu Class library, Visual Studio pozwala nam na dodanie elementów WinForm i dosłownie jednego (User Control) elementu z palety WPF. Oczywiście dla bibliotek z elementami WPF przeznaczony jest projekt WPF Custom Cortol Library, ale czasem istnieje konieczność dodania kontrolek WPF'owych do istniejącej biblioteki i właśnie taki przypadek zostanie tutaj rozpatrzony.
Dzisiaj nieco o tym, jak można sobie chociaż kapkę życie ułatwić. O ile z reguły przy dropdownlistach wyświetlamy jakieś konkretne wartości pobrane z bazy tworząc odpowiednią SelectList, o tyle z enumami z reguły nie chcemy wyświetlać bezpośrednio jego nazwy w boxie, na przykład ze względu na to, że nasza nazwa (nam tłumacząca wszystko) nic odbiorcy stronki nie powie. Rozwiązaniem przez nas stosowanym jest generowanie listy na podstawie atrybutów enumów. Więc jedziemy: Atrybut DisplayName jest tu bardzo ...
Instalacja MVVM Light Toolkit Właściwie jedyne co jest niezbędne do pracy z MVVM LT, to same biblioteki w formie plików DLL, jednak aby naprawdę wygodnie korzystać z tego narzędzia dobrze jest skorzystać z małych wspomagaczy przygotowanych przez autora. Pobieramy paczkę stąd i następnie wypakowujemy to co nam potrzeba. Jest tego całkiem sporo, ponieważ przygotowane są wersje zależne od wykorzystywanej technologii i oprogramowania: binarki - biblioteki w postaci plików DLL w postaciach przygotowanych dla...
Architektura 4631 dni, 10 godzin, 23 minuty temu 413 źrodło rozwiń
Dziś chciałbym pokazać rozwiązanie problemu związanego ze sposobem przechowywania podstawowych informacji o forum np, nazwa, słowa kluczowe.
Prawdopodobnie wszyscy znają już klauzulę group by w zapytaniach SQL – nie stanowi żadnej rewelacji. Myślę jednak, że znacznie mniej popularniejszą klauzulą jest GROUPING SETS. Rozważmy następujące zapytanie: selectfrom Products GROUPBY ProductCategory unionallselectfrom Products GROUPBY ProductSubcategory Zapytanie zwróci wiersze pogrupowane po kategorii produktu oraz podkategorii. Należy podkreślić, że grupowania wykonywane są niezależnie od siebie i nie mają charakteru hierarchicznego (tak jak to b...
Bazy danych i XML 4631 dni, 19 godzin, 59 minut temu 31 źrodło rozwiń
Niektóre aplikacje warto wyposażyć w Splash Screen. W przypadku WPF-a (który jest wykorzystywany w DesktopInfo) sprawa jest banalnie prosta. Wystarczy dodać plik png do projektu a następnie we właściwościach pliku wybrać SplashScreen
Wczoraj (a właściwie dzisiaj) pisałem o pobieraniu lokalizacji za pomocą wbudowanej w Windows 7 platformy sensorów. Poniżej kawałek kodu, który już powinien być zrozumiały – wykorzystujący LatLongLocationProvider LatLongLocationProvider location = newLatLongLocationProvider(100); if (location.ReportStatus == ReportStatus.Running) { location.LocationChanged += newLocationChangedEventHandler(location_LocationChanged); location.StatusChanged += newLocationProviderStatusChangedEventHandler(location_St...
ASP.NET Edycja nagłówka w GridView Wrzesień 18, 2010- autor: michalurbanskiDodaj komentarz Tytuł posta może być nieco mylący, chciałbym bowiem przedstawić w jaki sposób dodać dodatkowy wiersz do standardowej kontrolki GridView w celu zmiany wyglądu części nagłówkowej. Jeśli jednak mamy już header, to trzymając się ściśle terminologii dodana część powinna być określana jako subheader. Jakkolwiek brzmiałby polski odpowiednik tego słowa, zdecydowałem, że przynajmniej na potrzeby tego posta będę używał zwr...
Axum to kolejny inkubacyjny projekt z Redmond, o którym warto wspomnieć. Model agenta, który przedstawiłem w poprzednim poście, został przez giganta potraktowany całkiem poważnie. Solidna implementacja, skalowalność, wtyczka do Visual Studio - to wszystko daje całkiem duże pole do popisu, ale powoli...
Programowanie rozproszone 4632 dni, 18 godzin, 59 minut temu 20 źrodło rozwiń
We wpisie o LinqToXml pisałem jak można czytać z pliku XML. Co jednak z zapisywaniem? Otóż jest to równie łatwe. Znowu zaprzęgniemy do pracy Linq. Najpierw oczywiście otwieramy plik a następnie pozostaje stworzyć XDocument z zawartością. Zawartość możemy dodawać ręcznie albo (jak na przykładzie poniżej) wybrać elementy za pomoca Linq i zwrócić je w takiej postacji jakiej chcemy mieć je zapisane.
Bazy danych i XML 4632 dni, 18 godzin, 59 minut temu 74 źrodło rozwiń
Programowanie w parach, to jeden z najbardziej kontrowersyjnych pomysłów jakie spotkać możemy podczas przeglądania publikacji dotyczących extreme programming’u. Jak można pracować wydajniej redukując liczbę zadań nad którymi pracujemy o połowę? Brzmi niedorzecznie, a jednak ma szereg nie koniecznie widocznych od razu zalet…
Co pewien czas można natknąć się na porównania odnośnie mocy obliczeniowej komputerów bardzo dawnych i tych dzisiejszych. Takim dość typowym, często powtarzanym stwierdzeniem jest na przykład to, iż komputer sterujący misją Apollo 11 miał moc porównywalną z dzisiejszym kalkulatorem. Podobne ciekawostki służą czasami ukazaniu gigantycznego postępu, jaki dokonał się w ciągu ostatnich kilku dekad jeśli chodz...