Mr Jenkins in Metro Some weeks ago I started work on Metro Apps. For me the most difficult was forget about Entity Framework or SQL Server. New framework from Microsoft is very interesting but require many changes in thinking in programming. Mobile applications cannot be so heavy as PC or web applications. Small devices even that they are stronger and stronger but they are not so strong as servers or desktops. On my blog I will try to show you my experiences with new WinRT and I will try exchange...
Artykuł opisuje w jaki sposób można przyspieszyć start aplikacji na telefonie Windows Phone 7. Prosty zabieg może znacząco skrócić czas potrzebny na uruchomienie aplikacji.
Mobile development 4454 dni, 14 godzin, 45 minut temu 113 źrodło rozwiń
O modyfikatorze sealed już kiedyś pisałem – dzięki niemu możemy zabronić dziedziczenia po danej klasie:sealedclass SealedClass { } class ChildClass:SealedClass // BLAD{ } Moim zdaniem jest on niedoceniany i zbyt rzadko używany. Może dlatego, że nie wnosi on nic nowego do funkcjonalności czy łatwości w pisaniu kodu a “jedynie” stanowi ważny element w projekcie oraz w tym, jak inni użytkownicy z takiej biblioteki będą korzystać. Pierwszą zaletą SEALED jest wydajność. Oczywiście w większości przypadkó...
Sztuka programowania 4457 dni, 21 godzin, 55 minut temu 240 źrodło rozwiń
VSpniff is a simple tool to find missing references to files in the VS project. You could avoid excluded files problem after bad merge or something else.
Praca z obiektami COM może być trudna i czasami frustrująca. Przykład:Worksheet sheet = excelApp.Worksheets.Open(...); // Jakaś logika. Odczytywanie lub modyfikacja arkusza itp.Marshal.ReleaseComObject(sheet); Marshal.ReleaseComObject(excelApp); O obiektach COM należy pamiętać, również po zakończeniu pracy z nimi – należy zwolnić wszelkie zasoby. Nie zawsze jest to proste i oczywiste. Powyższy kod spowoduje memory leak ponieważ Worksheets również musi zostać zwolniony. Metoda Open jest wywołana na ob...
Programowanie rozproszone 4458 dni, 5 godzin, 59 minut temu 124 źrodło rozwiń
I’ve just published a little project of mine on GitHub, called VsDebugFx. It’s a NuGet package which you can install into your .NET project and get more expressiveness during your debugging sessions inside Visual Studio. It’ll let you evaluate expressions that use C# features which are not normally allowed by the IDE, namely: lambda expressions, anonymous types, LINQ queries and implicitly-typed arrays. I don’t want to repeat myself (DRY anyone?), so if you’re interested in knowing more, go check out th...
by Shane Pope W 2010 roku poczyniłem post prezentujący być może jedną z mniej znanych funkcji Visual Studio 2010. Jako, że od tamtego czasu minęło sporo czasu a za nami release najnowszej wersji VS postanowiłem odświeżyć tamten wpis co nieco. Klawiatura w życiu programisty jest ważna. To tu nasze ręce spoczywają przez większość dnia, to tu gromadzimy zapasy jedzenie na zimę i to tędy przelewamy naszą wiedzę na papie...eeekran. Myszka jest drugorzędna. Przydaj się tylko, aby zrobić jakąś dodatkową czynno...
Dziś trochę o podstawach C# ale myślę, że wszyscy znajdą coś wartościowego w tym wpisie bo chcę pokazać jak to działa od środka CLR. Na początek przykład boxing’u:staticvoid Main(string[] args) { int value =3; object referencedType = value; } Boxing to nic innego jak utworzenie typu referencyjnego na podstawie value type. Object to typ referencyjny przechowywany na stercie, z kolei integer to zwykły value type przechowywany na stosie. Opisowo, boxing składa się z 3 operacji:Alokacja pamięci na s...
Sztuka programowania 4461 dni, 6 godzin, 30 minut temu 132 źrodło rozwiń
Każdy kod można usprawnić / napisać lepiej. Bez wyjątku. Nie ma kodu idealnego (jak już zresztą kiedyś pisałem). Jednak w pewnym momencie trzeba przestać, tzn. nie można dopieszczać w nieskończoność jednego kawałka kodu zaniedbując wszystko dookoła. Ale nie oznacza to, że powinniśmy akceptować każde poplątane ścierwo jakie wyjdzie spod naszych skrzypiących paluchów i mówić "spoko, jest wystarczająco dobrze".
Sztuka programowania 4462 dni, 3 godziny, 27 minut temu 255 źrodło rozwiń
W ostatnim czasie zapoznawałem się trochę bliżej z narzędziem o nazwie NDepend. Przez ten czas na pewno nie stałem się ekspertem w korzystaniu z NDepend, chciałbym jednak podzielić się moimi subiektywnymi odczuciami na jego temat. Nie będę tutaj wymieniał jego funkcji (można to znaleźć na stronie producenta lub w wielu innych wpisach), nie będę pisał jak zainstalować (bo to proste, choć mi się nie podobało - lubię instalować a nie rozpakowywać :) ), nie będę się zastanawiać czy warto tego narzędzia używ...
Premiera wersji SharePoint 15 Preview odbyła się jakiś czas temu. Wiadomo już czego można będzie się spodziewać w wersji ostatecznej. Największą rewolucją w porównaniu do wersji 2010 jest wprowadzenie koncepcji Apps-ów. W związku z tym Microsoft wpadł na pomysł w jaki sposób to rozpowszechnić.
Temat poświęcony jest zagadnieniu definiowania własnych funkcji w modelu koncepcyjnym Entity Framework oraz ich wykorzystania w zapytaniach LINQ to Entities.
krótki artykuł dotyczący integracji i konfiguracji systemu SVN z TeamCity.
Opis w jaki sposób TeamCity może automatycznie zmieniać wersję aplikacji w pliku AssemblyInfo.cs
Rozważmy, następujący kawałek kodu:struct Color { publicstaticexplicitoperator Color(short value) { // jakas tam konwersja - nieistotne dla przykladureturnnew Color {R = value}; } publicshort R, G, B; } Co w nim nie tak? Operatory nie są wspierane przez wszystkie języki. Podczas kompilacji wszystkie operatory zamieniane są na zwykłe metody. Na przykład operator rzutowania implicit zostanie zamieniony na op_Explicit oraz oznaczony przez CLR specjalnym atrybutem specialname:.class seque...
Sztuka programowania 4464 dni, 7 godzin, 13 minut temu 146 źrodło rozwiń
Zachęcam do przeczytania kolejnej części, tym razem o LINQ: http://msdn.microsoft.com/pl-pl/library/dobre-i-zle-praktyki-w-c-sharp–czesc-5.aspx
Sztuka programowania 4466 dni, 22 godziny, 22 minuty temu 307 źrodło rozwiń
Kiedy rozważa się dostęp do bazy danych z poziomu urządzenia przenośnego zazwyczaj (skojarzenia to przekleństwo) na myśl przychodzi wersja Compact SQL Serwera. W większości przypadków jest to właściwy trop, niemniej obecnie urządzenia coraz częściej wyposażone są w Wi-Fi, co daje nowe możliwości, jeżeli chodzi o przechowywanie przez nie danych. Tak wyposażone mogą bowiem skorzystać ze zwykłego SQL-a, z całym wachlarzem dobrodziejstw, jakie posiada używana wersja...
Bazy danych i XML 4466 dni, 22 godziny, 22 minuty temu 52 źrodło rozwiń
Przy korzystaniu z nHibernete'a czasem zachodzi potrzeba, aby prócz tabel, które są mapowane z obiektów mieć jakieś dodatkowe. Ja ostatnio miałem taką potrzebę w związku z Quartz.NET, który ma możliwość przechowywania swoich triggerów i akcji w bazie w przypadku, gdy powinny przeżyć restart puli aplikacji.
Dzięki temu mechanizmowi można tak jakby dodać metodę do klasy bez modyfikacji tej klasy (np. do już skompilowanej dll’ki). Implementacja krok po kroku...
Niedawno kolega opowiedział mi o jeszcze jednym przypadku kiedy opisane przeze mnie zachowanie konstruktora statycznego w środowiskach x86/x64 doprowadziło do kłopotów. Scenariusz był dość ciekawy, dlatego go opiszę na uproszczonym przykładzie. Zacznijmy od tego, że napisaliśmy zarządzany komponent COM. Komponent ten w konstruktorze statycznym czyta wartość jakiegoś parametru konfiguracyjnego z pliku i na tej podstawie coś robi. W poniższym przykładzie, żeby nie komplikować sprawy, po p...