W poprzednim wpisie na temat Xamarina, zrobiłem małe wprowadzenie teoretyczne do tej technologii. Przedstawiłem podstawowe założenia oraz dostępne warianty użycia tego rozwiązania. Jeśli uważasz, że wybór technologii jaką jest Xamarin był sam w sobie trudną decyzję, to mam niestety złą wiadomość. Już na starcie trzeba podjąć kolejną i to równie ważną. Którego podejścia użyć - Forms czy Native? W poprzednim poście przedstawiłem podstawowe założenia obu z nich. W wielkim skrócie - Forms zapewnią większą ...
Strona głównaUżytkownik
rroszczyk | użytkownik
Mobile development 3023 dni, 5 godzin, 22 minuty temu 153 źrodło rozwiń
ASP .NETPiotr Zieliński1 Comment ASP.NET Core ułatwia w znaczący sposób IoC. Przede wszystkim wbudowano w framework dosyć prostą implementację IoC. Oznacza to, że w wielu przypadkach nie trzeba już instalować zewnętrznych framework’ow takich jak AutoFac. W pliku Startup znajdziemy metodę ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); ...
Sztuka programowania 3023 dni, 5 godzin, 22 minuty temu 283 źrodło rozwiń
Klasa (immutable) Tuple istniała aż od .NET Framework 4.0. W C# 7.0 mamy jednak wsparcie dla tuple od strony języka. Jednym z problemów klasy Tuple było, że każda właściwość nazywała się kolejno Item1, Item2 itp. W tym wpisie dowiemy się jak to rozwiązano w C# 7.0
Sztuka programowania 3023 dni, 5 godzin, 22 minuty temu 398 źrodło rozwiń
Pamiętam gdy byłem młodszy, myślałem sobie że taki PM to co najmniej darmozjad. Siedzi na dupsku i czyta internet. Czasem zajrzy do pokoju gdzie krew, pot, łzy. Gdzie bohaterowie oddają swoje życie na froncie. Gdzie dzieje się prawdziwa praca, a komputery piszczą z rozkoszy kompilacji. I zamarudzi taki, czemu to jeszcze nie działa, a czemu wolno, a miało być, a jak tu kliknę to źle się dzieje, godzin nie zaraportowaliście, źle je zaraportowaliście i tak marudzi, a potem idzie z in...
TestyPiotr Zieliński2 Comments O testach UI, szczególnie w SpecFlow pisałem już kilka razy. Zawsze korzystałem z wzorca PageObject, chociaż nie wiedziałem, że ma on swoją nazwę. Czasami mam wrażenie, że na proste rzeczy wymyśla się “wzorce”. Muszę przyznać jednak, że uproszcza to często komunikację między programistami. Wzorce w końcu stanowią pewnego rodzaju słownictwo dla programistów. Zamiast opisywać coś w kilku zdaniach, można powiedzieć po prostu nazwę wzorca. PageObject pattern polega na tym, ż...
Sztuka programowania 3045 dni, 5 godzin, 2 minuty temu 192 źrodło rozwiń
Zarówno o BDD, jak i TDD wiele razy już pisałem. Najważniejszą rzeczą w TDD jest sekwencja red-green-refactor. Zwykle BDD\TDD przybiera następującą postać: Zaczynamy od etapu BDD. Definiujemy wymagania za pomocą języka rozumianego zarówno przez programistów jak i jak BA\PO. Za pomocą Specflow możemy zdefiniować np. następujący test: Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then 120 sho...
Sztuka programowania 3045 dni, 5 godzin, 2 minuty temu 134 źrodło rozwiń
Po obejrzeniu różnych prezentacji z konferencji na temat Dockera i jego możliwości, postanowiłam wreszcie spróbować jak to wygląda w praktyce – zwłaszcza jeśli chodzi o Docker Hub Co na temat Dockera mówi Wikipedia? „Docker jest określany jako narzędzie, które pozwala umieścić program oraz jego zależności w lekkim, przenośnym, wirtualnym kontenerze, który można uruchomić na prawie każdym serwerze z systemem Linux” Troszkę się myli, bo już powodzeniem Docker działa również na Windows o czym za chwilę. ...
.NET Core 1.0 is here and it’s a great, great opportunity to start playing with it not only on Windows platform but also on Linux. Today I will show you not only how to run .NET Core but how to setup whole developer environment for developing .NET. Since one of Microsoft main goals was multiplatform support, let’s take a quick look on how-to setup .NET Core on Ubuntu. Why Ubuntu? Well.. it’s popular and easy....
Ciekawa ikonografia na temat tego czym zajmują się deweloperzy na świecie - przegląd języków, etc.
ELMAH, czyli Error Logging Modules And Handlers (ELMAH) - jest to biblioteka/moduł dostępny za darmo służący do zarządzania oraz monitorowania błędów w oprogramowaniu. Moduł ten oparty jest na śledzeniu zdarzeń i można go podpiąć do istniejącej aplikacji bez zmiany ani jednej linii kodu (zmiany wykonujemy tylko w konfiguracji). Główne zadania ELMAH-a, to obsługa, zarządzanie, monitorowanie, eskalacja błędów, ze szczególnym uwzględnieniem błędów nieobsłużonych. Główne zalety/funkcjonalności ELMAHA: ...
Xamarin nie jest gwarantem trzykrotnie szybszego developmentu. Nie zachodzi tutaj żadna równość typu, że niezależnie ile platform docelowych będziemy chcieli obsłużyć, to w praktyce i tak piszemy jedną aplikację. Xamarin tak nie działa. Nawet w sytuacji gdy korzystamy z Formsów to i tak nie jesteśmy w stanie skrócić developmentu na inne platformy do zera. Na ten temat szerzej pisałem we wpisie w ubiegłym tygodniu.
Mobile development 3053 dni, 2 godziny, 55 minut temu 203 źrodło rozwiń
Dzisiaj napiszemy nasz pierwszy skrypt w Unity 3d. Najpierw dodajmy jakiś element na scene, który potem będziemy mogli obracać za pomocą skryptu. W tym celu z menu głównego wybieramy GameObject->3d Object-> Cube: Następnie w celu dodania skryptu klikamy na “Assets” w panelu “Project” i wybieramy Create->C# Script: Zanim przejdziemy do edycji skryptu, warto upewnić się, że Visual Studio jest skonfigurowany jako narzędzie do pisania kodu. W tym celu wchod...
Małżeństwo to nie taka prosta sprawa. Są różne i różnie się układają, różni ludzie się do tego mieszają czasem wychodzi to lepiej a czasem gorzej. Podobnie jest w programowaniu. Ostatnio musiałem ożenić IOC z Factory. Problem który się pojawił to tworzenie obiektu na podstawie jakiegoś tam parametru wejściowego, na początku miałem tylko jeden przypadek (np. RssChannel) i musiałem tylko ten przypadek obsługiwać, mogłem spokojnie wstrzyknąć handler i było cacy. Potem (w zasa...
Architektura 3053 dni, 2 godziny, 55 minut temu 213 źrodło rozwiń
Odcinek 36. to powrót do baz danych. Ale w innej odsłonie: tym razem poruszamy temat NoSQL. Głównie: Mongo, ale nie tylko. Goszczę Grzegorza Bernasia. To pasjonat przetwarzania danych, a jego celem jest nauka poprzez działania i rozwiązywanie problemów. Swój chłop, co nie? 😉 Znajdziecie go na Twitterze: @profesor79pl.
Bazy danych i XML 3072 dni, 1 godzinę, 15 minut temu 51 źrodło rozwiń
Ostatnio musiałem odczytać współrzędne geograficzne na podstawie nazwy lokalizacji. Pierwszą opcją, którą sprawdziłem był pakiet “GoogleMaps.LocationServices”. Po instalacji NuGet, odczytanie współrzędnych było bardzo proste:
Programowanie rozproszone 3069 dni, 6 godzin, 24 minuty temu 95 źrodło rozwiń
Kojarzycie Incepcję? Według mnie był to naprawdę dobry kawał kina - jedna z tych pozycji, o których mówimy i myślimy również po wyjściu z sali kinowej. Film na rynku polskim nazwano Incepcją, choć oryginalny tytuł brzmi Inception - zrobiono tutaj prostą kalkę językową zamiast zastosować właściwe tłumaczenie. W ten sposób dystrybutorzy filmu dodali do naszego codziennego słownika ten nieformalny zwrot (termin ten nie występuje w SJP - info na dzień pisania wpisu), który dla wielu osób oznacza "wielokrotne...
Dziś podzielę się z Tobą ciekawą listą materiałów o DDD, czyli Domain Driven Design. Jest to podejście do tworzenia oprogramowania przydatne wtedy, kiedy domena nad którą pracujemy jest skomplikowana. Jednocześnie nie zalecane do trywialnych części aplikacji w stylu „encje na twarz i pchasz” czyli typu CRUD. Ułatwia pracę z kodem jak i… klientem :-). Temat, którym na pewno warto się zainteresować.
Architektura 3096 dni, 23 godziny, 38 minut temu 681 źrodło rozwiń
Według statystyk Google kariera Internet of Things (IoT) rozpoczęła się ok. 2013 roku. Obecnie jest to temat wciąż bardzo popularny, jednak niełatwo jest znaleźć informacje kompleksowo traktujące o systemach wykorzystujących technologie IoT do rozwiązania konkretnych potrzeb biznesowych. Ten wpis ma na celu przybliżenie technologii z obszaru IoT, które można wykorzystać do zbudowania i wdrożenia systemu produkcyjnego.
Jakiś czas temu w ramach serii CodeTip podzieliłem się z Wami trikiem, który pozwalał w Entity Framework na aktualizację property bez uprzedniego pobrania obiektu. W razie czego link do wpisu macie tu. Jeden z czytelników zwrócił uwagę na możliwe użycie biblioteki, która ułatwia cały proces, a w dodatku oferuje kilka ciekawych opcji, niedostępnych w EF. Po zapoznaniu się z tym „wynalazkiem” jestem bardzo mile zaskoczony, w związku z czym chciałbym przedstawić jego możliwości. Batch update i delete ...
Bazy danych i XML 3099 dni, 1 godzinę, 57 minut temu 338 źrodło rozwiń
Pewnie podczas nauki programowania zastanawialiście się, jak to jest, że niektórzy piszą dobry kod, a innym wcale to nie wychodzi. A może nawet nie wiedzieliście do końca, czym jest dobry kod. A więc jak jest z tym tak naprawdę? Pisz dużo Po pierwsze: żeby pisać dobry kod, trzeba najpierw pisać kod. To stwierdzenie może wydać się mało śmiesznym żartem, ale wcale nim nie jest – najprostsze rozwiązania czasem są najlepsze. Żeby wyrobić w sobie umiejętności pro-kodera, trzeba ćwiczyć. I to całkiem sporo ć...
Sztuka programowania 3102 dni, 4 godziny, 13 minut temu 405 źrodło rozwiń