Ostatnio zainspirował mnie post Gutka (jego blog jest dostępny pod adresem http://blog.gutek.pl) który przyczynił się do spełnienia marzenia mojej żony – posprzątania biblioteczki. W skrócie mam parę książek do oddania.
Witam po długiej przerwie. W dzisiejszym wpisie postaram się krótko opisać w jaki sposób stworzyć bootstrapper aplikacji przy użyciu CaliburnMicro. Ponadto przedstawię w jaki sposób skonfigurować bootstrapper w taki sposób, aby Caliburn wykorzystywał nasz własny kontener IOC. Wstęp CaliburnMicro jest to framework MVVM, który w znacznym stopniu ułatwia i przyśpiesza pisanie aplikacji pod WPF,Silverlight,WindowsPhone oraz WinRT. Zdecydowałem się poznać ten framework z uwagi na jego przenośność n...
Silverlight 4042 dni, 10 godzin, 57 minut temu 89 źrodło rozwiń
Sharing Sharing jest charms umożliwiającym udostępnianie danych z własnej aplikacji do innej. Funkcja ta jest dostępna po wysunięciu się prawego paska pomocy (Win + C). Dzięki tej funkcji możliwa jest komunikacja pomiędzy aplikacjami i przesyłanie pomiędzy mini danych jak.tekstlinkizdjęciaplikizawartość w formie HTMLlub własna struktura Jak widać mamy durze pole do popisu oczywiście możemy łączyć ze sobą przesyłane dane np.: tekst i zdjęcie itd.. W przypadku ostatniej możliwości czyli własna stru...
W wielu publikacjach service locator podawany jest jako wzorzec projektowy, doskonale nadający się do implementacji inversion of control. W poście jednak chciałbym przedstawić drugą szkołę, która uważa, że ten wzorzec jest “brzydki” i powoduje ogromne zamieszanie. Przede wszystkim odpowiedzmy sobie kiedy używamy podejścia IoC? W aplikacjach tymczasowych? Prototypach? Raczej nie… Początkowy czas na napisanie aplikacji IoC może okazać się dłuższy a korzyści nadchodzą dopiero po kilku miesiącach implementa...
Architektura 4043 dni, 19 godzin, 46 minut temu 311 źrodło rozwiń
Semantic Zoom Semantic Zoom jest to nowa funkcja jaką można spotkać w Windows 8. Umożliwia oddalanie i przybliżanie obiektów na ekranie. Idealnie spisuje się jeśli mamy do zaprezentowania dużą liczbę elementów i nie chcemy aby użytkownik długo przewijał w poszukiwaniach. Semantic Zoom pozwala nam oddalić wyświetlanie elementy przez co mieści się ich więcej na ekranie i przewijanie jest szybsze. Żeby muc korzystać z tej funkcji wystarczy dwoma palcami albo odsuwać je od siebie albo przybliżać. Oczy...
Snap & Fill Jest to ciąg dalszy moich artykułów na temat programowania pod metro dla Windows 8. Dziś mam dla was funkcje snap i fill. Czym są? A są to nowe tryby w ramach których może pracować nasza aplikacja. Tryb snap (snapping) pozwala na podgląd zawartości aplikacji. Aplikacja jest zadokowana do lewej lub prawek krawędzi i ma 320 pikseli szerokości. Nie może mieć więcej lub mniej szerokości. Tryb ten jest dostępny dopiero od rozdzielczości 1366×768. W mniejszej rozdzielczości funkcje snap i fill...
Wielu programistów i firm z branży IT często mówi, że potrafi wytwarzać oprogramowanie wysokiej jakości i że bardzo ważnym jest, aby o tą jakość zabiegać. Nie ma w tym nic dziwnego – wszyscy jesteśmy gotowi zgodzić się, że jakość powinna być możliwie wysoka. Problem pojawia się jednak w momencie, gdy trzeba doprecyzować pojęcia.
Architektura 4045 dni, 22 godziny, 43 minuty temu 259 źrodło rozwiń
W SQL Server 2012 pojawiło się sześć nowych funkcji związanych z operacjami na typach daty i czasu. Są to funkcje: DateFromParts, SmallDateTimeFromParts, DateTimeFromParts, DateTime2FromParts, DateTimeOffsetFromParts, EOMonth.
Bazy danych i XML 4046 dni, 21 godzin, 59 minut temu 165 źrodło rozwiń
Co poniższy kod zwróci na ekranie? Spodziewać się można 0,1,2. Jednak na ekranie ujrzymy 5,5,5. Dlaczego?
Sprostowanie nieścisłości dotyczącej pojęcia polimorfizmu, która pojawiła się w kursie C# na portalu virtualstudy.pl
Architektura 4046 dni, 21 godzin, 59 minut temu 133 źrodło rozwiń
… na szczęście nie przez wszystkich. Intencją niniejszej serii jest przedstawienie podstaw programowania w trochę inny sposób, dlatego mówiąc najbardziej niedoceniana umiejętność w domyśle tyczy się to początkujących. Starsi albo sami dotarli do odpowiedniej wiedzy albo życie ich nauczyło. Jak wyglądają pierwsze kroki w programowaniu? Po opanowaniu pętli for i foreach, ifów i caseów, Console.WriteLineów oraz tych wszystkich klas i obiektów i nie zapominając o polimofizmach wielu rzuca się w wir poznawan...
Architektura 4047 dni, 11 godzin, 48 minut temu 267 źrodło rozwiń
Większość aplikacji Windows Forms, kojarzą nam się z prostokątną formą koloru szarego z naniesionymi kontrolkami i tytułowym paskiem. Nie jest to jednak reguła. Nasze aplikacje mogą mieć nieregularny kształt (chmurka, serduszko, etc). Dzięki temu można uzyskać bardzo ciekawie wyglądający program, a odpowiednie skonfigurowanie formy opiera się na kilku prostych krokach. Właśnie to opiszę w dzisiejszym artykule. Całość będę oprogramowywał w C#. Przygotowanie kształtu formu Przygotowanie musimy ...
Zamierzam napisać kilka krótkich postów o nowych funkcjonalnościach w Visual Studio 11. Na dobry początek zacznijmy po prostu od screenu: Co od razu rzuca się w oczy? Czarno białe ikony. Dla porównania zobaczymy jak wygląda “stary” Visual Studio: Na pierwszy rzut oka to poprzednia wersja wygląda dużo nowocześniej ze względu na kolorowe, bardziej 3d ikonki. Dlaczego Microsoft zdecydował się na taki krok? Z tego co wiem, doszli do wniosku, że środowisko programistyczne nie powinno być zabawką i nie m...
W c# 5.0 dodano dwa nowe atrybuty: CallerMemberName oraz CallerFilePath. Można je stosować do domyślnych parametrów metod:staticprivatevoid Print([CallerMemberName]string methodName =null, [CallerFilePath]string fileName =null) { Console.WriteLine(methodName); Console.WriteLine(fileName); } Wywołanie powyższej metody bez podania argumentów spowoduje przekazaniem nazwy metody, która wywołała Print oraz ścieżki pliku w którym znajduje się ta metoda:Print(); Jeśli Print został wywołany w metodzie ...
Po Single Responsiblity Principle najważniejsza (moim zdaniem) zasada programowania obiektowego – Dependency Inversion Principle. Mówi ona, że obiekty powinny być zależne od abstrakcji a nie od konkretnej klasy. A po ludzku, w żadnej definicji funkcji i w żadnej deklaracji zmiennej nie powinniśmy używać nazwy klasy. Zamiast tego powinniśmy używać interfejsy albo klasy abstrakcyjne czyli zamiast private IPerson _owner; public bool ValidateOwner(IPerson personToValidate) { //..... } piszemy private IPe...
Architektura 4049 dni, 3 godziny, 18 minut temu 196 źrodło rozwiń
W tym wpisie omówię kolejne cztery funkcje, które pojawiły się w najnowszej wersji języka T-SQL. Będą to dwie funkcje logiczne (IIF i CHOOSE) oraz dwie funkcje operujące na ciągach znaków (CONCAT i FORMAT).
Bazy danych i XML 4049 dni, 20 godzin, 26 minut temu 131 źrodło rozwiń
Projektując programy w technologiach XAMLowych z wykorzystaniem MVVM Light Toolkit (w zasadzie liczy się wzorzec), zawsze napotykam problemy, na które trudno znaleźć jednoznaczną odpowiedź. Najczęściej kłopoty sprawia widok, który nie zawsze „chce” się zmieścić w kodzie xaml. Prostsze zadania można rozwiązać przy pomocy zachowań (?) czy też triggerów. Sprawy się komplikują w przypadku storyboardów. Co zrobić, jeżeli chcemy uruchomić ...
Architektura 4049 dni, 20 godzin, 26 minut temu 301 źrodło rozwiń
Często widzę następujący kod. Oczywiście jeśli mamy pewność, że zawsze jest klucz nie ma z tym problemu. Czasami jednak takiej pewności nie ma i należy zwrócić NULL albo stworzyć dany element w słowniku. Wtedy zaczynają się problemy bo najczęściej jest to dokonywane za pomocą:
Wczoraj mówiliśmy o single responsibility principle (SRP) czyli o zasadzie pojedynczej odpowiedzialności. Jest to zasada, która moim zdaniem najwięcej zmienia w dotychczasowych przyzwyczajeniach programistycznych. Na początku jest trochę męcząca ponieważ zgodnie z nią w klasie nie powinniśmy tworzyć innych obiektów.Jak to? Nie mogę używać słowa kluczowego new? Nie mogę tworzyć obiektów? No właściwie to nie. Jeżeli chcesz w klasie tworzyć obiekty to to już jest odpowiedzialność. Wiec klasa nic poza tworz...
Architektura 4051 dni, 4 godziny, 38 minut temu 99 źrodło rozwiń
Po jakimś czasie od udanego wdrożenia dedykowanego rozwiązania zbudowanego dla platformie SharePoint 2010 tak jak w przypadku innych platform pojawia się temat aktualizacji. Ze względu, że SharePoint stanowi swojego rodzaju Framework można by było oczekiwać wsparcia w zakresie aktualizacji. W przypadku wersji 2007 nie mieliśmy na co liczyć ale wiele się zmieniło w momencie opublikowania SharePoint 2010. Temu tematowi chciałem poświęcić niniejszy post.