dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem C#

Short explanation of difference between expressions and functions in .NET

Źródło: www.diwebsity.com
Dziel się z innymi:
[EN] Expression<Func> vs Func

Sztuka programowania 1060 dni, 4 godziny, 11 minut temu suvroc 343 rozwiń

Dwa tygodnie temu popełniłem wpis na temat lokalnych notyfikacji, które z powodzeniem bez większych przeszkód można użyć w każdej aplikacji uniwersalnej. Dziś chciałbym pozostać w temacie notyfikacji, aczkolwiek tym razem podejdziemy do sprawy trochę bardziej globalnie - zajmiemy się tzw. notyfikacjami push.

Dziel się z innymi:
Obsługa notyfikacji push w Universal Apps

Mobile development 1060 dni, 4 godziny, 11 minut temu rroszczyk 67 rozwiń

W ostatnim wpisie przedstawiłem zasadę działania modelu aktor. Zachęcam do przeczytania poprzedniego wpisu ponieważ dzisiaj skupię się na przykładzie, a nie podstawach teoretycznych. Jeśli poprzedni wpis nie był do końca zrozumiały, zachęcam do przeanalizowania przykładu z tego wpisu i potem powrócenia do poprzedniego postu – wtedy myślę, że wiele zagadnień będzie prostsze w zrozumieniu.

Wielowątkowość: przykład modelu aktor

Programowanie rozproszone 1061 dni, 11 godzin, 46 minut temu rroszczyk 180 rozwiń

Wyobraźmy sobie scenariusz…. Aplikacja spięta z bazą danych, na której pracuje wiele osób, (dzień jak co dzień 😀 kto takiego czegoś nie robił? :D) modyfikować dany rekord, wpis może tylko jedna osoba na raz. Przed rozpoczęciem wprowadzania danych leci do bazy zapytanie czy rekord można zablokować. Jeżeli tak to taki rekord w bazie zostaje zablokowany. Jeżeli dzieje się coś innego, jak na przykład, dostajemy informacje, że rekord został zmodyfikowany ale aktualnie klient nie posiada jego zmian to proszo...

Tagi: C#, WPF
Źródło: www.s.degambe.pl
Dziel się z innymi:
Blokowanie kontrolek przed ich edycją | Sebastian De Gambe - dev passion

Sztuka programowania 1063 dni, 23 godziny, 13 minut temu sdegambe 137 rozwiń

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 1063 dni, 23 godziny, 13 minut temu sdegambe 230 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 1068 dni, 9 godzin, 37 minut temu rroszczyk 315 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 1079 dni, 8 godzin, 52 minuty 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 1081 dni, 23 godziny, 51 minut temu rroszczyk 335 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 1081 dni, 23 godziny, 51 minut temu rroszczyk 61 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 1081 dni, 23 godziny, 51 minut temu rroszczyk 276 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 1084 dni, 8 godzin, 29 minut temu ozgrozo 116 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 1089 dni, 11 godzin, 42 minuty temu przemekwa 379 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 1090 dni, 13 godzin, 6 minut temu rroszczyk 199 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 1090 dni, 13 godzin, 6 minut temu rroszczyk 310 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 1096 dni, 13 godzin, 21 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 1096 dni, 13 godzin, 21 minut temu rroszczyk 163 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 1104 dni, 11 godzin, 38 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 1104 dni, 11 godzin, 38 minut temu rroszczyk 414 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 1108 dni, 6 godzin, 18 minut temu ozgrozo 173 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 1111 dni, 15 godzin, 33 minuty temu rroszczyk 123 rozwiń

1 2... 23 24 25 26 27 28... 65 66