dotnetomaniak.pl - Artykuły z tagiem .Net

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 3111 dni, 11 godzin, 9 minut temu rroszczyk 71 źrodło 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 3111 dni, 11 godzin, 9 minut temu rroszczyk 414 źrodło 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 3118 dni, 15 godzin, 3 minuty temu rroszczyk 123 źrodło rozwiń

Z SQL Injection jest jak z polio czy odrą: w drugiej dekadzie XXI wieku możemy o nim zapomnieć. Wystarczy się zaszczepić, czyli: nie sklejać ręcznie poleceń SQL. Prawda? “Użyj parametrów z ADO.NET, a będzie cacy” – mówili. “Użyj Simple.Data, a złęgo obawiać się nie musisz” – mówili. Ależ kłamali! Jakież przeogromne było moje zdziwienie, gdy niedawno dostałem buga mówiącego, iż “coś dziwnego się dzieje jeśli w nazwie rekordu wstawi się apostrof”. WTF, jak to? Oczywiście sugestią naprawienia błędu od str...

Tagi: .Net, ado, simpledata, SQL
Dziel się z innymi:
SQL Injection alert!

Bazy danych i XML 3123 dni, 11 godzin, 5 minut temu rroszczyk 274 źrodło rozwiń

It was always surprising to me that so few projects were started with data access concurrency in mind. I’ve heard many discussions about new fancy frameworks and UI controls the teams were about to use but possibility of concurrent access to users’ data didn’t appear to be a concern in their minds. Wen you think about it, it seems to be very logical. People have a natural tendency to avoid problems they haven’t encountered directly. There are so few people with attitude of challenging o...

[EN] Offline Pessimistic Lock in Entity Framework (or any other ORM) | WellDesignedSoftwareException

Architektura 3125 dni, 12 godzin, 52 minuty temu https://mkarczewski.wordpre... 99 źrodło rozwiń

This is the second one of two posts concerning approach to build cost effective, but prepared for scaling, systems using ASP.NET Web API and Azure.

[En]Microservices with minimum overhead using ASP.NET Web API and Azure – part 2 – Deployment | Future Processing

Architektura 3129 dni, 1 godzinę, 10 minut temu FutureProcessing 166 źrodło 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 3139 dni, 10 godzin, 4 minuty temu rroszczyk 253 źrodło 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 3148 dni, 14 godzin, 37 minut temu rroszczyk 125 źrodło rozwiń

In this post we’ll focus on security. We’ll try to prove that claims base authentication is safe. As we remember SAML tokens are issued by “trusted” STS. But what exactly does “trusted” issuer mean? In this post, we’ll try to find definition of “trusted issuer”, a list of attributes which decide that issuer is trusted.

[EN] Security in WIF | Future Processing

Architektura 3148 dni, 14 godzin, 37 minut temu FutureProcessing 102 źrodło rozwiń

Testy jednostkowe z natury muszą być wykonywane w izolacji. Wykonanie np. pierwszego testu nie powinno mieć żadnego znaczenia dla pozostałych. Analogicznie, kolejność ich wykonywania nie ma znaczenia. Zwykle jest to bardzo proste i osiąga się to poprzez np. mock’i. Czasami jednak może zajść potrzeba całkowitej izolacji poprzez wykonywanie każdego testu w osobnej AppDomain. Myślę, że w 99% przypadków jednak, można bez tego obyć się. Ostatnio jednak, pisząc pewne narzędzie do Visual Studio, musiałem odiz...

Tagi: .Net, NUnit, testy
Dziel się z innymi:
nUnit–Wykonywanie testów w osobnych AppDomain

Sztuka programowania 3176 dni, 23 godziny, 1 minutę temu rroszczyk 153 źrodło rozwiń

Technologie typu WPF, czy Universal Apps aż proszą się o zastosowanie MVVM, jednak wsparcie dla tej architektury po stronie tych rozwiązań, jest umówmy się - co najwyżej średnie. Bardzo mało kontrolek posiada wbudowaną obsługę komend. I nawet jeśli się ona pojawia, to i tak nie dotyczy ona wszystkich dostępnych w kontrolce zdarzeń. Poza tym, nie ma jawnego wsparcia dla ViewModeli. Standardowo zbudowana aplikacja składa się ze stron wykorzystujących code-behind. Na szczęścia oba te problemy można w pewnym...

Dziel się z innymi:
Więcej MVVM w Universal Apps dzięki Behaviors SDK

Sztuka programowania 3178 dni, 13 godzin, 31 minut temu rroszczyk 199 źrodło rozwiń

Dzisiaj chciałbym rozpocząć nowy cykl o bezpieczeństwie aplikacji webowych. Niejednokrotnie o tym pisałem już, ale były to luźno powiązane ze sobą wpisy. Od tego wpisu chciałbym to zmienić i przedstawić bardziej dogłębnie tą tematykę. Pierwsze wpisy będą stanowiły całkowite podstawy, ale mam nadzieję, że również bardziej zaawansowani programiści znajdą coś ciekawego w tym (np. wykorzystywane narzędzia).  Na końcu mam zamiar przedstaw...

Dziel się z innymi:
Bezpieczeństwo WEB: Wprowadzenie, mapowanie aplikacji część I

Web 3178 dni, 13 godzin, 31 minut temu rroszczyk 268 źrodło rozwiń

Semantyczny model dostarcza nam wiele informacji o kodzie, które zwykle uzyskuje się po kompilacji. Na przykład przeładowanie metod jest dużo łatwiejsze do określenia już po kompilacji.  Oznacza to, że nie jest już to  klasyczna, statyczna analiza kodu. Z tego względu, najpierw danych kod należy skompilować za pomocą...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn: Analiza przepływu danych–semantyczny model

Narzędzia 3193 dni, 13 godzin, 38 minut temu rroszczyk 127 źrodło rozwiń

Standardowy player Microsoftu (kontrolka MediaElement), z którego możemy korzystać m.in. w Universal Apps, ma wiele zalet i funkcjonalności, ale ma też niestety dwie poważne wady. Po pierwsze - nie jest do końca zgodny z MVVM. Nie mamy tutaj wsparcia dla komend, czy ViewModeli. Po drugie, jest bardzo słabo rozszerzalny. Jakakolwiek modyfikacja w większości przypadków jest bardzo trudna, a przecież przy kontrolkach tego typu, rozszerzalność, czy skalowalność to wręcz podstawa. Czy jest zatem jakieś wyjści...

Dziel się z innymi:
Player Framework by Microsoft - customizacja

Inne 3193 dni, 13 godzin, 38 minut temu rroszczyk 174 źrodło rozwiń

Roslyn to nie tylko parsowanie kodu, ale również zarządzanie projektem\solucją za pomocą WorkspaceAPI. Pisząc różne narzędzia dla programistów, oprócz analizy kodu, zwykle chcemy mieć informacje o kontekście danego kodu – np. nazwie pliku czy projekcie w którym znajduje się dana klasa. Workspace API, jak nie trudno domyślić się, opiera się na abstrakcyjnej klasie Workspace.  Zwykle jednak pracować będziemy z MSBuildWorkspace, która pozwala nam zarządzać .sln czy .csproj:MSBuildWorkspace msWorkspace = M...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn: Workspace API

Narzędzia 3193 dni, 13 godzin, 38 minut temu rroszczyk 117 źrodło rozwiń

W poprzednim wpisie przedstawiłem klasę CSharpSyntaxWalker – przydatną przy analizie drzewa kodu. Dzięki niej, automatycznie bez pisania kodu rekurencyjnego jesteśmy w stanie przejść przez każdy element kodu. Dzisiaj o analogicznym rozwiązaniu ale służącym do przepisywania kodu a nie tylko jego analizowania. Mechanizm działa bardzo podobnie do CSharpSyntaxWalker. Wystarczy, że stworzymy klasę dziedziczącą po CSharpSyntaxRewriter:publicclass CustomRewriter : CSharpSyntaxRewriter { publicoverride Synt...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn–przepisywanie kodu

Inne 3199 dni, 12 godzin, 48 minut temu rroszczyk 138 źrodło rozwiń

Tworzenie instrukcji warunkowych jest czymś naturalnym w praktycznie każdym języku programowania. Trudno sobie jest wyobrazić kod źródłowy nawet najprostszej aplikacji, który byłby pozbawiony konstrukcji IF - w pewnym sensie tego rodzaju instrukcje, kontrolują przepływ sterowania. Warto wiedzieć, że w C# nasze możliwości na tym polu są jeszcze większe m.in. dzięki dyrektywom preprocesora. Dyrektywy preprocesora wpływają na to co zostanie skompilowane. Możemy np. inny fragment kodu przeznaczyć dla kompila...

Dziel się z innymi:
Efektywne wykorzystanie dyrektyw preprocessora

Sztuka programowania 3207 dni, 10 godzin, 50 minut temu rroszczyk 362 źrodło rozwiń

W ostatnim poście pokazałem jak za pomocą LINQ można przeglądać drzewo kodu. Czasami jest to jednak niewygodne. Załóżmy, że piszemy konwerter z C# na jakiś inny język. W takiej sytuacji, prawdopodobnie chcemy mieć dostęp do każdego elementu kodu. Możemy to zrobić za pomocą LINQ, ale jest to mało wygodne. Musielibyśmy pisać kod rekurencyjny, który dla skomplikowanych kodów jest jak wiadomo mało wydajny, a nawet może zakończyć się wyjątkiem OutOfMemory. Do dyspozycji jednak mamy klasę CSharpSyntaxWalker. ...

Dziel się z innymi:
Roslyn – przeglądanie drzewa

Sztuka programowania 3207 dni, 10 godzin, 50 minut temu rroszczyk 129 źrodło rozwiń

Analiza kodu za pomocą LINQ to chyba esencja Roslyn.  Bez Roslyn, kod był dla nas jak zwykły tekst (string) i w przypadku jakiejkolwiek analizy, musieliśmy sami parsować tekst i rozpoznawać odpowiednie fragmenty....

Tagi: .Net, C#, Linq, roslyn
Dziel się z innymi:
Roslyn–analiza kodu za pomocą LINQ

Web 3207 dni, 10 godzin, 50 minut temu rroszczyk 238 źrodło rozwiń

W poprzednim wpisie, w dużym skrócie przedstawiłem po co powstał Roslyn i komu może przydać się. W kilku kolejnych postach, zaprezentuję w praktyce jego najważniejsze funkcje. Zaczynami od scripting API.  APi szczególnie przydatne w przypadku edytorów do gier czy bardziej zaawansowanych reguł biznesowych. Zacznijmy od klasycznego “hello world”...

Tagi: .Net, C#, roslyn
Dziel się z innymi:
Roslyn – Scripting API

Narzędzia 3212 dni, 32 minuty temu rroszczyk 138 źrodło rozwiń

1 2... 22 23 24 25 26 27... 50 51

Najaktywniejsi w tym miesiącu