Reading time ~3 minutes This is a fifth part of a series:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellationpart 5 - Job continuation with ContinueWithpart 6 - Recurring jobs and cron expressions Part 3 covered almost all functions in BackgroundJob class except for ContinueWith functions family. So here we go :) The fact that it has the same name as a System.Threading.Tasks.Task funct...
[EN]Don't do it now! Part 5. Hangfire details - job continuation with ContinueWith – IndexOutOfRange
Architektura 2980 dni, 1 godzinę, 4 minuty temu 77 źrodło rozwiń
Każdy czegoś nie lubi, ja na przykład nie lubię gdy ktoś siada na moim krześle, a potem ja muszę na nim usiąść, fuj – takie ciepłe, zawsze chwilę odczekuje. Albo NULL – to ciągłe sprawdzanie czy zmienna nie jest nullem, a potem jeszcze specjalna obsługa tu i tam i jeszcze tam, a potem tam i tam niosą, się ify po całym projekcie, albo wyjątki – BLEHSposób Na szczęście na jedno i drugie jest sposób; każdemu mówię, że na moim krześle się nie siada i głośno warczę gdy ktoś łam...
Architektura 3009 dni, 44 minuty temu 348 źrodło rozwiń
Recently I've designed a mechanism to notify external systems (with which we cooperate) about changes in our system. This, obviously, can be done in multiple ways. Let's look at some considerations on a high level, some questions and how that affects our requirements.
Architektura 3118 dni, 22 godziny, 9 minut temu 25 źrodło rozwiń
If we think about advanced website development, sooner or later we’ll deal with JavaScript Task Runners. One of them is Gulp – a library available in NPM, which enables us to significantly automate our work. Gulp facilitates a compilation of Sass or Less files to CSS format; it allows to use Autoprefixer (a tool that will ensure the compatibility of our CSSs with multiple browsers) as well as to watch the progress of our work in many browsers/ devices in real time.
W kilku poprzednich postach pisałem o tym jak powinna wyglądać czysta i przejrzysta architektura aplikacji. Kluczową rzeczą w takiej architekturze jest jednokierunkowy przepływ wywołań od kontrolera do prezentera. Kłopot z taką architekturą pojawia się, gdy mamy narzucaną architekturę w której naszym punktem wejścia do obsługi zdarzenia jest metoda, która musi zwrócić wynik poprzez return...
Architektura 3317 dni, 4 godziny, 21 minut temu 365 ź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.
Architektura 3345 dni, 16 godzin, 38 minut temu 175 źrodło rozwiń
This is the first one of two posts concerning approach to build cost effective, but prepared for scaling systems, using ASP.NET Web API and Azure. In the era of building systems that aim to provide services at global scale, requirements for scalability and high availability are becoming our bread and butter. What is more, it is absolutely normal that stakeholders want first shippable version of software as soon as possible.
Architektura 3360 dni, 3 godziny, 48 minut temu 170 ź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.
Architektura 3365 dni, 6 godzin, 5 minut temu 104 źrodło rozwiń
In this article we focus on sample service based on WCF (Windows Communication Foundation), as we will only try to build sample service with claims-based authentication and authorization. All technical aspects connected with security e.g. configuration, certificates, encryption, signature or CRL will be described in details in the next posts.
Architektura 3436 dni, 4 godziny, 46 minut temu 146 źrodło rozwiń
In the previous article basic information about authentication and authorization process on .Net has been presented. Security Token Service is an integral part of claim based approach. As we remember from the previous article, STS is responsible for handling user’s requests and creating tokens; it can also work in two modes: active and passive. In this article we focus on Active STS, as we will only try to build sample STS.
Architektura 3470 dni, 16 godzin, 9 minut temu 167 źrodło rozwiń
I have started to think, what is the reason that people see it as hard and complex at the beginning? I have a theory: it has rules! Entering the world with rules is always uncomfortable, we need to adjust to rules. In this post I’d like to prove that in this case those rules are quite digestible.On the way to CQRS… Basically, we can say that CQRS is an implementation of Command Query Separation principle to the architecture of software. What I noticed during my work in this approach is that there is a c...
Architektura 3499 dni, 16 godzin, 27 minut temu 304 źrodło rozwiń
Authentication and Authorization Authentication and authorization are two closely related concepts, which are used to build security mechanism in systems and applications. Information security is the practice of protecting information from unauthorized access, use or even modification. Confidentiality, integrity and availability (known as CIA triad) is a model designed to guide policies of information security within an organization. In this article we are focusing on confidentiality, which refers to re...
Architektura 3541 dni, 2 godziny, 39 minut temu 125 źrodło rozwiń
Ten post jest pierwszym z cyklu poświęconego architekturze systemów informatycznych. Zaczynamy od wyjaśnienia pojęć logiki biznesowej i logiki aplikacji na przykładzie małej aplikacji ASP.NET MVC. Więcej na temat MVC w kolejnym artykule. Już teraz zapraszam. Uczestnicząc w dyskusjach zarówno w życiu zawodowym jak i wirtualnym spotykam się z myleniem wymienionych w tytule artykułu pojęć, bądź używaniem ich zamiennie...
Architektura 3632 dni, 21 godzin, 55 minut temu 886 źrodło rozwiń
Jak zdefiniować rozwój zawodowy? Rozwój zawodowy to proces zwiększania zakresu swojej wiedzy w czasie. Niby dobrze, ale jak to rozumieć? Może najprościej jak się da: każdego dnia uczymy się X nowych metod ( z danej klasy Frameworka etc.). I jeśli mówimy o początkach kariery zawodowej to jest to z pewnością prawda. Tylko, że jeśli z biegiem czasu dalej będziemy tak rozumieć rozwój to chyba coś z nami jest nie do końca w porządku. Chociaż to za dużo powiedziane. Może lepiej zabrzmi, że taka ścieżka r...
Architektura 3744 dni, 3 godziny, 38 minut temu 563 źrodło rozwiń
Software Architecture: design and documentation In my previous article I tried to present the role of the application architect on a general level. Today I’d like to focus on his specific aspects of his work, without which the term “architect” wouldn’t make any sense.Design and documentation A common image of architect’s work, consisting in drawing and describing blocks, puts two activities of design and documentation in one pot. Meanwhile, these are two independent activities. To explain why I...
Architektura 3849 dni, 6 godzin, 8 minut temu 122 źrodło rozwiń
We, software developers, are crazy. Surprisingly, that’s what we have been told at the very beginning of the DevDay conference. The speaker, an ABB guy (I didn’t catch his name because I came 5min late) with a strong Slavic accent made his point about passion, self-motivation and personal abilities in the world of software development. At the same time, he compared it to his hobby - running. We are crazy, because we get up early on Saturday and get together to devote the whole day to nerdy IT topics. The...
Do you find yourself repeating the same code fragments in your application layer over and over again? Get request, authorize user, validate request , maybe push to audit log, perform some operations, catch exceptions, log them, then commit/rollback transaction – all of these repeated in 90% of your application layer methods? Anyway, it is a case for me. Repeating such things is basically waste of time, money, energy and it is error/mistake prone, especially if performed by many developer...
Architektura 4184 dni, 11 godzin, 52 minuty temu 138 źrodło rozwiń