A few days ago I’ve gave it a shot and posted a link to my project on the reddit. Amongst some positive comments, there was this one: "I would never use a library that is not documented at all". Although it was the very first version of the Sentry, a typical preview & work in progress thingy (which I did forget to mention in my post), I’ve realized that it’s high time to provide some form of documentation, otherwise why would anyone use that library, even if it was making a miracles? I thought that...
Kontynuacja pracy nad tworzeniem dynamicznego proxy w MiSeCo. Niestety zakonczona porażką.
Daj się poznać 2016 3188 dni, 14 godzin, 16 minut temu 46 źrodło rozwiń
Recently I’ve had this idea that came into my mind while working on the Sentry – let the users of my library (if there will be any) to configure not only the set of rules, connection strings, urls etc. but also the underlying providers that do all of the heavy lifting (e.g. the HttpClient responsible for communicating with the API). It means that as long as you’re not satisfied with the default solution, please feel free to provide your own engine that will for example talk to the database and perform a ...
Sztuka programowania 3189 dni, 5 godzin, 18 minut temu 84 źrodło rozwiń
How to do REST with Web API 2.0 KISS way? Here you have only required things. Nothing more, nothing less. Ohhh... have I told you that it's done on Ubuntu? Take a look.
This is third post in a series about MiSeCo – a project I am working on for the “Daj się poznać challenge” (in Polish). In the last post, I wrote about the structure of a MiSeCo project and how I am going to implement the base functionality. Today I would like to show you how I managed to create my first interface implementation dynamically in runtime. Just to remind you, I need them to be able to proxy the calls between microservices through some (to be defined) protocol – probably over HTTP co...
Daj się poznać 2016 3194 dni, 3 godziny, 32 minuty temu 94 źrodło rozwiń
Whats the difference between Vulkan and OpenGL? Is Vulkan worth learning?
Daj się poznać 2016 3194 dni, 3 godziny, 32 minuty temu 73 źrodło rozwiń
In the third post about XGain I would like to say something about the heart of server. TcpListener is a great class to build server. It has a normal and async methods, you can choose between Socket and TcpClient. Unfortunately writing this same logic for new project might be boring.
Architektura 3194 dni, 3 godziny, 32 minuty temu 42 źrodło rozwiń
Co to jest kontener IoC? IoC czyli Inversion of Control lub też odwrócenie zależności, brzmi bardzo ogólnie, ale co się pod tym kryje? Możemy tutaj zaliczyć wzorzec fabryki, service locatora (lub też antywzorzec), czy też dependency injection i na tym ostatnim się skupimy. Wzorzec ten może zostać zaimplementowany np. poprzez: constructor injection, property injection, jednak najbardziej sensowny jest ten pierwszy sposób. Polega on na wstrzyknięciu zależności poprzez konstruktor. Kontener IoC ma nam...
Daj się poznać 2016 3189 dni, 5 godzin, 18 minut temu 227 źrodło rozwiń
Behavior-driven development (BDD) is a process of developing the software that has evolved from the TDD (test-driven development). We can think of a BDD such as the feature driven approach to the TDD. The main advantage of the BDD over the TDD is the way the tests are being written, in a form of the story that can be understood both by the developers and the customers. In short, we can simply state that the BDD is the TDD done right – it makes use of the so called ubiquitous language which is the core pa...
Sztuka programowania 3194 dni, 16 godzin, 38 minut temu 65 źrodło rozwiń
Udało mi się w ostatnim czasie dodać kilka nowych funkcjonalności do aplikacji Shopping Advisor. A zatem co nowego udało się zrobić:włączyć autouzupełnianie w formularzu dodawania nowego zakupu tak, aby użytkownik wybierał już istniejący z listy – wówczas tylko dodajemy nowy rekord z nową datą do tabeli z historią zakupówprzenieść poniewierające się gdzieniegdzie luźne napisy na przyciskach czy inne tytuły do pliku strings.xml, gdzie ich miejsceopanować sprawę „Floating Action Button” czyli tego fajnego ...
Daj się poznać 2016 3196 dni, 33 minuty temu 142 źrodło rozwiń
Programowanie jest powtarzalne. Nic z tym nie da się zrobić. Można jednak to nieco uprościć i zrzucić część rzeczy na dostępne na rynku biblioteki.
Daj się poznać 2016 3196 dni, 33 minuty temu 168 źrodło rozwiń
Network layer is really hard to test and debug. XGain works on the Socket class level and this class doesn’t have an interface. That means testing of any component references to this type is really hard, but everything is possible.
Daj się poznać 2016 3197 dni, 21 godzin, 38 minut temu 44 źrodło rozwiń
The new type of the watcher for the API monitoring is already available. Actually, it has much in common with the website watcher (very akin configuration, and under the hood uses the HttpClient as well), however it does serve a different purpose, which is making the request to the API and validating its response, whereas the website watcher basically pings the given url (well, it can validate its response too), and does not really care about any other HTTP method different than GET. In this POST (did yo...
Daj się poznać 2016 3197 dni, 21 godzin, 38 minut temu 64 źrodło rozwiń
Problem chyba tak stary jak stare są aplikacje liczące pieniądze – jak reprezentować kasę w kodzie aplikacji? W świecie .NET jedną z częściej pojawiających się odpowiedzi jest po prostu decimal jednak tak naprawdę jest to tylko połowa odpowiedzi. W każdym razie jeśli chcielibyśmy to zrobić w duchu OOP i OOD.
Daj się poznać 2016 3196 dni, 33 minuty temu 269 źrodło rozwiń
Korzystając z Entity Frameworka warto zwracać uwagę na sposób pobierania danych. W przypadku, gdy nie będziemy ich modyfikować, a chcemy jedynie pobrać dane tylko do odczytu, przydatna okaże się metoda AsNoTracking(). Wywołanie metody skutkuje brakiem śledzenia danych przez kontekst. Dzięki temu nie marnujemy niepotrzebnie zasobów. Przyjrzyjmy się poniższemu przykładowi, w którym porównamy pobieranie danych z i bez metody AsNoTracking(). Na początek pobieramy dane standardowo. W tym celu modyfikujemy...
Daj się poznać 2016 3196 dni, 33 minuty temu 269 źrodło rozwiń
Kolejny wpis o MiSeCo. Tym razem opisuje strukturę projektu oraz wstępne założenia implementacji.
Daj się poznać 2016 3200 dni, 1 godzinę, 12 minut temu 60 źrodło rozwiń
Wstrzykiwanie zależności. Porównanie kontenerów IoC i wybór najlepszego do projektu WebAPI.
Daj się poznać 2016 3197 dni, 21 godzin, 38 minut temu 316 źrodło rozwiń
In today’s post, I’ll describe what kind of interfaces have been defined in the Sentry project, and how you can take advantage of this knowledge, e.g. in order to create the custom metrics. I’ve tried to keep these interfaces as simple as possible, yet some of them require an explanation, mostly due to the fact, that even though the library itself is rather simple to use (I want to believe that it’s also what you think), it does not mean that the main methods when being executed, will return for example,...
Daj się poznać 2016 3202 dni, 4 godziny, 27 minut temu 89 źrodło rozwiń
.NET framework has a Socket class to deal with low-level networking. Standalone synchronous server based on Socket is not so difficult, here is an example:. Microsoft has provided two ways of creating high performance TCP/IP server. The most cool is SocketAsyncEventArgs with event-based system
Daj się poznać 2016 3201 dni, 19 godzin, 33 minuty temu 97 źrodło rozwiń
Wstęp do MiSeCo: MicroServices framework based on ASP.NET Core. Mój projekt na #dajsiepoznac
Daj się poznać 2016 3203 dni, 6 godzin, 22 minuty temu 48 źrodło rozwiń