dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

Mając chwilę wolnego czasu doszedłem do wniosku, że pobawię się Universal App. Jakby ktoś nie wiedział to jest taki nowy “twór” Microsoftu umożliwiający tworzenie aplikacji na każde urządzenie z Windows 10. Niby zapowiada się fajnie ale jak zwykle nie ma tak prosto jakby się chciało!! Zamiast siedzieć i testować nowe kontrolki, rozwiązania na emulatorach Windows Phone i Windows 10 to spędziłem kilka ładnych godzin nad rozwiązywaniem problemów. Ale wszystko po kolei. Wcześniejsze wersje produkowania...

Źródło: www.s.degambe.pl
Dziel się z innymi:
Universal App’s, SQLite i inne. Dramat za dramatem! | Sebastian De Gambe - dev passion

Sztuka programowania 376 dni, 22 godziny, 29 minut temu sdegambe 228 rozwiń

Coraz więcej API dostarcza asynchroniczne wersje metod. Niektóre z nich, idą o krok dalej i w ogóle nie posiadają synchronicznej wersji. Załóżmy, że zewnętrzna biblioteka ma następującą metodę: async Task

Metody asynchroniczne z async oraz oczekiwanie na rezultat

Programowanie rozproszone 381 dni, 8 godzin, 53 minuty temu rroszczyk 304 rozwiń

Notyfikacje są obecnie czymś powszechnym w każdym liczącym się mobilnym systemie. Dzięki nim, jesteśmy na bieżąco z mailami, powiadomieniami z Facebooka, czy choćby z wynikiem wyczekiwanego meczu. Windows Phone nie odstaje niczym w tym obszarze od swojej konkurencji, a nawet oferuje kilka dodatkowych, ciekawych opcji. W dzisiejszym tekście przedstawię przykładowe użycie lokalnych notyfikacji typu toast - zarówno w wersji harmonogramowanej (scheduled) jak i normalnej. Notyfikacje innego typu wysyła się w ...

Obsługa lokalnych notyfikacji w Universal Apps

Mobile development 392 dni, 8 godzin, 8 minut temu rroszczyk 73 rozwiń

W swojej stosunkowo krótkiej karierze programistycznej, zdążyłem już pracować z różnymi technologiami. Naturalnym tego następstwem są oczywiście wszelkiej maści porównania. Czasem np. porównuje Razora z MVC do XAMLa. I choć w teorii bardziej rozbudowana jest ta druga z obu tych technologii, to w praktyce Razor ma kilka konstrukcji, do których tęsknym okiem wyglądają designerzy XAMLa. Jedną z nich jest IF. I choć w teorii można ją częściowo zastąpić choćby za pomocą VisualStates, to w praktyce okazuje się...

Biblioteki warte poznania w C# - Conditional XAML

Mobile development 394 dni, 23 godziny, 7 minut temu rroszczyk 321 rozwiń

Tworząc nowe zadania (wątki) za pomocą TPL, możemy przekazać parametry AttachedToParent lub DenyChildAttach. Określają one, czy wątek powinien być podłączony do rodzica czy nie. W dzisiejszym wpisie postaram wyjaśnić się, czym one różnią się. Parametry definiują relację wątku z nadrzędnym wątkiem. Jeśli wątek A, tworzy kolejny wątek B, wtedy za pomocą powyższych wartości możemy określić relacje wątku B z A. Spróbujmy zatem wyjaśnić jak ta relacja wpływa na...

Dziel się z innymi:
Tworzenie wątków: TaskCreationOptions.DenyChildAttach, TaskCreationOptions.AttachedToParent

Programowanie rozproszone 394 dni, 23 godziny, 7 minut temu rroszczyk 57 rozwiń

W .NET 4.5 pojawiła się metoda Task.Run. Z przyzwyczajenia jednak przez długi czas używałem tylko Task.Factory.StartNew. Obie metody służą do stworzenia nowego wątku i natychmiastowego jego uruchomienia. Sposób wywołania wygląda bardzo podobnie...

Dziel się z innymi:
Różnica między Task.Run, a Task.Factory.StartNew

Programowanie rozproszone 394 dni, 23 godziny, 7 minut temu rroszczyk 255 rozwiń

Jeżeli zachodzi potrzeba żeby w naszej aplikacji chcemy mieć razorowe widoki, standardowa konfiguracja nie daje nam intelisense. Powoduje to, że czas stworzenia widoku znacznie się wydłuża, bo visual krzyczy nam błędami co chwilę i podkreśla wszystko na czerwono. Jest jednej sposób który pozwala załatwić sprawę...

Dziel się z innymi:
Działające intelisense dla Razor w projekcie class library ~ Programowanie i okolice

Web 397 dni, 7 godzin, 45 minut temu ozgrozo 113 rozwiń

Przemysław Walkowski Kolejna książka z mojej kolekcji opisuje najważniejsze wzorce projektowe z przykładami w C#.  Autorem jest Steven John Metsker, przechodzi on przez wszystkie najważniejsze grupy wzorców projektowych takich jak wzorce interfejsów, odpowiedzialności, wzorce konstrukcyjne, wzorce operacji oraz wzorce rozszerzeń. Poniżej moja recenzja. Konkretnie Książka jest dość stara pierwsze wydanie miało miejsce w 2005 roku. Co prawda wzorce pro...

Dziel się z innymi:
C# Wzorce projektowe - recenzja książki | Blog Programisty.NET

Inne 402 dni, 10 godzin, 58 minut temu przemekwa 361 rozwiń

Czasem tworząc aplikację wykorzystującą XAML, chcielibyśmy przekazywać dane pomiędzy poszczególnymi stronami. Niestety technologie Microsoftu nie są do tego dobrze przygotowane. Co prawda możemy zawsze wykorzystać jakiś globalny obiekt kontekstu, ale w praktyce jest to rozwiązanie nieefektywne. Możemy również wykorzystać foldery lokalne/roaming, który opisywałem tutaj, ale w pewnym sensie strzelamy tutaj do muchy z armaty. Czy można to zrobić jakoś prosto i elegancko? Okazuje się, że tak - choć po części...

MVVM Light - wykorzystanie messengera w komunikacji

Mobile development 403 dni, 12 godzin, 23 minuty temu rroszczyk 182 rozwiń

BlockingCollection jest specjalną kolekcją danych, przygotowaną do implementacji wzorca producent-konsument. Nakład pracy do implementacji tego wzorca jest minimalny z BlockingCollection. Nie musimy martwić się o synchronizację, sekcję krytyczną czy deadlock. Zacznijmy od razu od przykładu. Producent będzie wyglądać następująco...

Producent-konsument w C# – BlockingCollection

Programowanie rozproszone 403 dni, 12 godzin, 23 minuty temu rroszczyk 284 rozwiń

Domyślnie tworząc aplikacje uniwersalne, możemy korzystać z rozbudowanego modelu zdarzeń. Każde ze zdarzeń, może zostać zaimplementowane w tzw. części code-behind wybranej strony/kontrolki. Nie wszystkim do końca odpowiada jednak ten model. Spore grono programistów jest zwolennikiem architektury MVVM, która promuje wydzielone konstrukcje zwane ViewModelami. Ważnym elementem ViewModel są komendy, które pozwalają na realizację określonych zadań. Niestety nie wszystkie kontrolki Microsoftu są do tego dobrze...

Dziel się z innymi:
Implementacja komendy Tap dla TextBlocka

Mobile development 409 dni, 12 godzin, 38 minut temu rroszczyk 60 rozwiń

Resharper daję naprawdę cenne wskazówki. Nie wszystkie są oczywiste i czasami należy zagłębić się w temat. Jedną z takich wskazówek jest używanie IndexOf wraz z StringComparison.Ordinal. Załóżmy, że mamy następujący kod: string text = "test"; Console.WriteLine(text.IndexOf("est")); Resharper zasugeruje konwersję do: string text = "test"; Console.WriteLine(text.IndexOf("est", StringComparison.Ordinal)); Dlaczego? Jeśli nie przekażemy ustawień regionalnych jawnie, wtedy domyślnie aktualna zost...

Dziel się z innymi:
Porównywanie znaków, ToUpper, string.IndexOf oraz StringComparison.Ordinal

Sztuka programowania 409 dni, 12 godzin, 38 minut temu rroszczyk 161 rozwiń

W chwili obecnej tworząc aplikacje mobilne, bardzo często korzystamy z Internetu, o czym wspominałem po części w ostatnim wpisie. Siłą rzeczy w chmurze często trzymamy też konfigurację aplikacji/usługi, aczkolwiek nie musi to być regułą. Aplikacje uniwersalne obsługują bowiem tzw kontenery danych (ApplicationDataContainer), które pozwalają na zapisywanie ustawień dla konkretnej instalacji, a także globalnie dla naszego konta Windows Live. W dzisiejszym wpisie, zaprezentuję prosty sposób na wykorzystanie ...

Zapisywanie danych użytkownika w Universal Apps

Mobile development 417 dni, 10 godzin, 55 minut temu rroszczyk 71 rozwiń

O usługach REST, które dzisiaj są wszechobecne pisałem już wiele razy np. tutaj.  Dzisiaj chciałbym napisać krótkie podsumowanie w formie porad i antywzorców. Zaczynamy: 1. Nigdy nie używaj czasowników w URI. Przykład błędnych linków: GET: localhost\persons\1\UpdateEmail?email=’…’ Jedynym dozwolonym czasownikiem w adresie to HTTP verb. Całość linku to nic innego jak hierarchia zasobów. Poprawna aktualizacja adresu email może wyglądać zatem następująco: PUT: localhost\persons\1\email Metoda PUT ozn...

Tagi: .Net, C#, REST, RPC
Dziel się z innymi:
Kilka porad na temat usług REST

Programowanie rozproszone 417 dni, 10 godzin, 55 minut temu rroszczyk 391 rozwiń

Ten błąd jest konsekwencją architektury providera SQL Server dla linq to entities, który całe zapytanie konwertuje na SQL...

Dziel się z innymi:
LINQ to Entities does not recognize the method Last() method, and this method cannot be translated into a store expression. ~ Programowanie i okolice

Sztuka programowania 421 dni, 5 godzin, 34 minuty temu ozgrozo 161 rozwiń

Większość mobilnych aplikacji wymaga aktywnego połączenia internetowego do poprawnego działania. Wiele z nich, nie posiada nawet trybu offline i bez sieci po prostu nie jest w stanie funkcjonować. Często developer musi również reagować na rodzaj połączenia sieciowego, z którego aktualnie korzysta użytkownik (WiFi/GSM), dlatego temat ten jest naprawdę ważny z perspektywy całego projektu aplikacji.

Universal Apps - weryfikacja stanu połączenia internetowego

Mobile development 424 dni, 14 godzin, 49 minut temu rroszczyk 121 rozwiń

Po dość znacznej przerwie powracamy jeszcze na chwilę do tematu Dependency Injection. Pamiętacie cykl i moment, do którego dotarliśmy? Zastosowaliśmy SRP by uprościć kod. Wprowadziliśmy jawne zależności między komponentami i ubraliśmy je w interfejsy. Spróbowaliśmy napisać własny kontener Dependency Injection, a potem zobaczyliśmy dlaczego lepiej użyć jednak czegoś gotowego. I stanęło na Autofac, kiedy to obiecałem “kilka finalnych refleksji”.

Dziel się z innymi:
DI: Kilka refleksji po wprowadzonych zmianach

Sztuka programowania 445 dni, 9 godzin, 50 minut temu rroszczyk 250 rozwiń

Wiele osób pewnie już od dawna korzysta LINQPad. Osobiście nigdy nie miałem okazji korzystać z tego narzędzia i zawsze myślałem, że w przypadku TDD jest ono po prostu zbędne. Ostatnio jednak zainstalowałem z ciekawości i okazało się bardzo przydatne w przypadku testowania krótkich snippet’ów. Czasami chcę sprawdzić tylko np. formatowanie daty i wtedy zwykle uruchamiałem osobną instancję Visual Studio,  immediate windows w VS albo po prostu pisałem konkretny test. Nie zawsze jednak jest to wygodne i prak...

Tagi: bazy danych, C#, Linq
Dziel się z innymi:
LINQPad – przydatne narzędzie w eksperymentowaniu z C#\LINQ

Sztuka programowania 454 dni, 14 godzin, 23 minuty temu rroszczyk 336 rozwiń

Tworząc aplikacje mobilne, nie jest łatwo zbudować model danych, który idealnie odpowiadałby potrzebom aktualnego widoku. Problem staje się jeszcze bardziej złożony, w sytuacji gdy korzystamy z API, które zwraca ogólny model, dla rożnych końcówek. W takiej sytuacji, programista aplikacji mobilnej musi sam zadbać o odpowiednie wyświetlenie i sformatowanie otrzymanych danych.. W świecie Universal Apps problem ten można rozwiązać na różne sposoby. Osobiście preferuje tutaj wykorzystanie architektury MVVM, k...

Dziel się z innymi:
Universal Apps - mapowanie danych z API na potrzeby XAML

Web 454 dni, 14 godzin, 23 minuty temu rroszczyk 124 rozwiń

Working with Tasks is a modern way of writing asynchronous code in an easy and flexible manner. It is quite straightforward to start using them, so usually developers do not investigate thoroughly the topic. Unfortunately this often leads to unpleasant surprises - especially when it comes to exception handling. Having this in mind let's take a look how to handle exceptions in Task and what can happen if we do it wrong.

Dziel się z innymi:
[EN] TPL - exception handling and UnobservedTaskException issue

Windows 465 dni, 4 godziny, 7 minut temu nocturn 91 rozwiń

1 2... 9 10 11 12 13 14... 50 51
Accenture
Szkolenia SecurITum

grudzień

03.
IT Academic Day W...
Politechnika Wrocławska Wydział Elektroniki (C-1)
Zobacz wszystkie

.NET Developer Days 2015

W tym roku ponownie jak w poprzednim jesteśmy jednym z patronów medialnych konferencji .NET Developer Days. W tym roku jednym z prelegentów będzie Scott Hanselman.  czytaj więcej
2015-07-22

Najaktywniejsi

1

macko (32 816,53)

2

http://pawlos.blo... (31 383,4)

3

pzielinski (27 178,29)

4

gordon_shumway (21 178,87)

5

paduda (20 336,33)

6

psz750 (13 018,14)

7

rroszczyk (10 371,4)

8

Damian (9 011,08)

9

danielplawgo (7 235,99)

10

arek (6 642,75)

11

burczu (6 214,22)

12

PaSkol (5 393,84)

13

lukaszgasior (4 097,38)

14

jj09 (3 388,06)

15

http://jakub-flor... (3 224,66)

16

CaMeL (2 954,87)

17

mnikolajuk (2 596,93)

18

jedmac (2 594,32)

19

lkurzyniec (2 466)

20

FutureProcessing (2 440,11)