dotnetomaniak.pl - Najnowsze artykuły o .NET w dziale Programowanie rozproszone - Strona 3

The first problem raised on the exam from WCF technology is Creating a WCF Service. Here are the subtasks for the problem: Create contracts (service, data, message callback, and fault);Implement message inspectors;Implement asynchronous operations in the service; First let's start from question what WCF is?

Tagi: .Net, C#, WCF
Dziel się z innymi:
Blog piwno-programistyczny: 70-487 [WCF] Create a WCF Service part 1

Programowanie rozproszone 2897 dni, 15 godzin, 11 minut temu markone 154 źrodło rozwiń

Not so long ago, I’ve eventually decided to dive into the world of microservices. I did look for an opportunity to make use of this architectural pattern for quite some time and finally was able to do so. After 3 months of trying out the new things and learning stuff mostly on my own (the hard way) I believe it’s a good time to share some of my experience. I have no doubts that at some point in the future when I look back at this post I might be like – “oh God, what was I thinking back then, it’s so wro...

Dziel się z innymi:
So I’ve been doing microservices | Piotr Gankiewicz

Programowanie rozproszone 2907 dni, 1 godzinę, 51 minut temu spetz 207 źrodło rozwiń

Walka! Tak wyglądały moje ostatnie 3 tygodnie pracy nad projektem isthereanynews.pl (jest już online). A z czym walczyłem? Z klasycznym, acz partyzanckim – u mnie działa.Social Modne i praktyczne, w zasadzie to drugie, jest logowanie się do różnego rodzaju serwisów przez użycie konta z G+, FB czy Twittera. Ja też tak chciałem – w ten sposób mogłem uciec od problemu trzymania hasła gdzieś u siebie i wszystkich problemów z tym związanych.#1 U siebie w projekcie korzystałem z samodzie...

Dziel się z innymi:
Logowanie przez owin – jak zaoszczędzić trzy tygodnie życia

Choosing a service bus that meets our demands is a crucial part when developing a distributed system. There are many services to choose from like MSMQ, Azure Service Bus or RabbitMQ and even more frameworks that you can use in your projects as an additional layer of abstraction that makes your coding much easier when it comes to dealing with the specific service bus implementation. In this article, I’d like to present how to use the RabbitMQ in .NET Core with the help of really nice RawRabbit library.

Dziel się z innymi:
.NET Core + RabbitMQ = RawRabbit | Piotr Gankiewicz

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:

Dziel się z innymi:
Odczytywanie współrzędnych geograficznych

Programowanie rozproszone 3069 dni, 3 godziny, 20 minut temu rroszczyk 95 źrodło rozwiń

Simulating microservices using F# and Suave.io Posted on by Michal Franc I have this small hobby project called Overseer. It is a tool used to debug and troubleshoot microservices. I was planning to use it in production, but because that is the only prototype. I decided to use it with simulated services. This way it will be a lot easier to create many different ‘test’ scenarios. The current solution for spawning those ‘tests services’ is implemented in Suave.io and F#. Why these technologies? I just ...

Tagi: F#
Źródło: www.mfranc.com
Dziel się z innymi:
[EN] Simulating microservices using F# and Suave.io | Pragmatic Developer

Programowanie rozproszone 3163 dni, 23 godziny, 52 minuty temu michalfranc 55 źrodło rozwiń

Jak wspomniałem w jednym z wcześniejszych już wpisów, nie ma znaczenia, gdzie aktor jest zlokalizowany. Dzięki AKKA.NET jest to szczegół  konfiguracyjny. Jeśli pewnego dnia, stwierdzimy, że wykonywanie obliczeń na jednym komputerze nie wystarcza, wtedy po prostu  zmieniamy konfigurację, aby hostować danego aktora gdzieś indziej. Framework zadba o komunikację (TCP) między węzłami znajdującymi się w innych sieciach. W ten sposób, bardzo łatwo jest sk...

Dziel się z innymi:
AKKA.NET – zdalni aktorzy

Programowanie rozproszone 3201 dni, 16 godzin, 1 minutę temu rroszczyk 81 źrodło rozwiń

W poprzednim wpisie pokazałem, w jaki sposób możemy zaprojektować obsługę błędów. Jak widać mamy do dyspozycji sporo opcji. Z punktu widzenia AKKA.NET nie jest to jednak tak skomplikowane. Wystarczy przeładować jedną metodę i zwrócić odpowiedni obiekt. Tak jak w poprzednim wpisie będziemy testować kod na następującym “systemie”: Dla przypomnienia nasz ApplicationUserActor wygląda następująco: public class ApplicationUserActor : UntypedActo...

Tagi: .Net, akka, C#, rozproszone
Dziel się z innymi:
AKKA.NET – Przykład obsługi błędów

W poprzednim poście użyliśmy metody ActorSelection w celu uzyskania referencji do aktora: var actor1 = system.ActorSelection("/user/ApplicationUserControllerActor/Piotr") Dzisiaj chciałbym bardziej skupić się na definiowaniu ścieżki do aktora. Pełna ścieżka może zawierać następujące elementy: – protokół – nazwa systemu – adres ip aktora – seria nazw aktorów opisująca hierarchie np. ApplicationUserControllerActor/actor1/actor2 itp.

Dziel się z innymi:
AKKA .NET – definiowanie ścieżki aktora

Programowanie rozproszone 3259 dni, 19 godzin, 42 minuty temu rroszczyk 62 źrodło rozwiń

Dzisiaj zacząłem pisać post o hierarchii aktorów. Jest to bardzo ważny element w celu osiągnięcia skalowalności i dobrej obsługi błędów (np. poprzez izolacje wadliwych aktorów). W połowie jednak stwierdziłem, że najpierw wypada napisać krótki wpis o zdarzeniach (hooks), jakie możemy zdefiniować w AKKA. Pozwoli nam to potem lepiej zrozumieć przepływ informacji w hierarchiach aktorów. Każdy aktor, może znajdować się w następujących etapach...

AKKA.NET – czas życia aktorów, zdarzenia (hooks)

Programowanie rozproszone 3265 dni, 1 godzinę, 4 minuty temu rroszczyk 78 źrodło rozwiń

Tym razem zaczyna się od kodu i od razu dowiemy się dlaczego jest on niebezpieczny...

Dziel się z innymi:
Code review: Async void

Programowanie rozproszone 3268 dni, 1 godzinę, 59 minut temu rroszczyk 243 źrodło rozwiń

Zanim będę kontynuował serię o AKKA.NET, warto zapoznać się z podstawami programowania reaktywnego. Pozwoli to później zrozumieć, w jaki sposób AKKA.NET implementuje założenia programowania reaktywnego. Dzisiaj zatem przedstawię tzw. “The Reactive Manifesto”, którego pełną treść można znaleźć tutaj. Moim zdaniem jednak, manifest może wydawać się trochę skomplikowany i dlatego zdecydowałem się wyjaśnić to po swojemu.

Programowanie reaktywne

Programowanie rozproszone 3272 dni, 1 godzinę, 56 minut temu rroszczyk 309 źrodło rozwiń

W ostatnich dwóch wpisach pokazałem zasady działania modelu aktor. W kolejnych postach będę korzystał już z Akka.net zamiast pseudokodu. Dzisiaj czysty opis podstaw API – bez konkretnego problemu do rozwiązania. Akka.net można zainstalować w formie pakietu Nuget: Install-Package Akka

Dziel się z innymi:
Akka.net – pierwszy przykład

Programowanie rozproszone 3283 dni, 16 godzin, 47 minut temu rroszczyk 289 źrodło 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

Aktor jest modelem budowania aplikacji wielowątkowych. Powstał w celu ułatwienia synchronizacji między różnymi wątkami. Programiści piszący aplikacje wielowątkowe zwykle korzystają z klasycznych blokad (lock) w celu opisania sekcji krytycznej. W wielu sytuacjach jest to najlepszy i najprostszy sposób. Niestety dla dużych i skomplikowanych systemów, utrzymywanie takiego kodu jest bardzo trudne, mozolne i niezwykłe podatne na powstanie deadlock lub livelock.

Wielowątkowość: Wzorzec aktor (actor based programming)

Programowanie rozproszone 3289 dni, 1 godzinę, 11 minut temu rroszczyk 300 źrodło 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 3291 dni, 22 godziny, 13 minut temu rroszczyk 316 źrodło 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 3305 dni, 12 godzin, 27 minut temu rroszczyk 283 źrodło 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 3305 dni, 12 godzin, 27 minut temu rroszczyk 67 źrodło 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 3314 dni, 1 godzinę, 43 minuty temu rroszczyk 341 ź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
1 2 3 4 5... 11 12