Reading time ~2 minutes This is the third part of a series discussing job scheduling and Hangfire details:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellation This part will focus on the basic scheduling API of Hangfire. The easiest way to create a fire and forget job is by using the classHangfire.BackgroundJob and its minimalistic (and this is a complement) API of static functions:Enqu...
Architektura 3034 dni, 18 godzin, 38 minut temu 99 ź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 3039 dni, 2 godziny, 9 minut temu 348 źrodło rozwiń
Reading time ~2 minutes In the previous post I’ve wrote about why I think the ability to schedule tasks for later execution is a fundamental technical feature, but also a must have from a business point of view. We are passed the whys, so lets get to the hows. The answer is simple - Hangfire. I’ve wrote about it here, here and here, so yeah, I like it. Hangfire is an amazing library. It has proved itself in my pet project (cookit.pl) and in a huge ERP system that we are building at work, where we repla...
Architektura 3046 dni, 5 godzin, 58 minut temu 153 źrodło rozwiń
On my track from Zero to Hero I was looking for an idea of a meaningful, profitable online business. As there are various ways of achieving that goal I was wondering which path should I take. I’ve gathered my ideas and wrote this blog post. Some time after, one of the readers of that particular post (and also my colleague) asked me to be a co-founder of a new online business. I took it into consideration, examined pros and cons and finally decided to accept the offer. We’re starting this business fr...
Wysyłanie maili, aktualizowanie bazy danych, sprawdzaniem spójności danych, aktualizacje wpisów, boty, sztuczny ruch, te inne rzeczy można robić w tle naszej aplikacji, nie mówię że to najlepszy sposób – trzeba uważać na słówka. Jak to robić dobrze? Na pewno nie odpalałbym osobnego wątku z aplikacji. Poszukałem i znalazłem u Hanselmana, mówiłem wam że mam z nim zdjęcie? Na blogu Scota jest taki wpis: http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.asp...
Daj się poznać 2016 3134 dni, 5 godzin, 50 minut temu 150 źrodło rozwiń
Mało czasu Czas goni, a rąk i głów i czasu do implementacji ficzerów brakuje. Co wtedy robić, od którego zacząć robić żeby było lepiej dla aplikacji i dla ludzi, a na końcu dla mnie i mojego portfela? Zamiast zastanawiać się w ten sposób, może warto oddać głos użytkownikom? Niech oni klikają w system, system zbiera te informacje i w krótkim czasie można się dowiedzieć co było klikane najczęściej i właśnie na tym skupić kolejna działania rozwojowe.Mój pomysł Jak ja do tego podszedłe...
Daj się poznać 2016 3173 dni, 3 godziny, 22 minuty temu 114 źrodło rozwiń
POSIADAĆ CZY MIEĆ? Jest to pytanie warte setki tysięcy, a czasami nawet milionów złotych, z którym firmy czy organizacje, a właściwie osoby, które nimi kierują muszą się zmierzyć. Z pozoru proste słowa będące synonimami w dzisiejszych czasach nabierają nie...
Kilka słów o początkach pracy z SharePoint'em z punktu widzenia osoby nietechnicznej.
~ Jarosław StadnickiBogowie Słuchając wystąpień wujka Boba czy innych wielkich mówiących o czystym kodzie, solidzie, testach, architekturze, devopsach i innych słowach kluczowych można popaść w depresję: „O żesz, mój kod nigdy taki nie będzie, lepiej nikomu go nie pokaże, sam zamknę się w piwnicy i do końca życia będę żywic się ziemniakami i robakami które będą do mnie przypełzać”. Czy naprawdę tak jest? Czy kod który piszemy musi być jak kryształ?Obrazek Słuchając różnych podcastów, usłyszałem taka ...
Sztuka programowania 3207 dni, 15 godzin, 53 minuty temu 192 źrodło rozwiń
Uwaga: wpis kontrowersyjny, czytanie grozi trwałym kalectwem umysłowym. Zdarza mi się w pracy i poza nią obmyślać różne architektury, projekty itd., na niższym czy to wyższym poziomie. Na różnych etapach, szczególnie projektowania, trzeba sobie pomóc jakoś ogarnąć całość.
Architektura 3259 dni, 16 godzin, 18 minut temu 170 źrodło rozwiń
W 25 odcinku DevTalk wracamy do tematu architektury. Tym razem moim Gościem jest Szymon Kulec: programista, blogger, prelegent i jeden z liderów Warszawskiej Grupy .NET. Na Twitterze: @scooletz. Dyskutujemy o Event Driven Architecture. Z odcinka dowiecie się czym jest EDA, o jakich zdarzeniach mowa i jak z nich korzystać. Do tego: jak ma się do tego CQRS i Event Sourcing, na czym polega eventual consistency oraz jak obsługiwać/przetwarzać zdarzenia? I… oczywiście, wiele więcej :). Zapraszam do słuchania...
Architektura 3328 dni, 33 minuty temu 206 źrodło rozwiń
Wiadomo, że każdy projekcie są testy. W części z nich są testy jednostkowe, w innych są testy integracyjne, w innych testy programistyczne - programista klika i jak działa to działa, a w jeszcze innych test na produkcji u klienta razem z milionami użytkowników. Generalnie każdy jakieś test ma. Wiadomo jak jest w projektach komercyjnych, klient chce aplikację działająca, wykonaną z najnowszymi i najlepszymi technikami, najlepiej napisaną przez juniorów, bez testerów i PM...
Sztuka programowania 3523 dni, 16 godzin, 51 minut temu 284 źrodło rozwiń
Tyle się mówi o rozwoju programistów. Ba, sam o tym często gadam. Że to dobre, że trzeba, żeby nie stać w miejscu a iść do przodu… Ale powiedzcie mi: jak ma się rozwijać programista w typowym programistycznym polskim (i pewnie nie tylko) dev-kołhozie? Przychodzi do roboty, siada do projektu, po 8h wstaje i wychodzi. Niby normalka, ale… niekoniecznie. Moim zdaniem kluczowe jest pytanie: do jakiego projektu ten pr...
Spodobała mi się sama nazwa „Onion Architecture” jak i to co pod tą nazwą przedstawił Jeffrey Palermo. Niby zasady znane od dawna, a jednak zostały one umiejętnie pokazane na nowo. Niestety na sieci ciężko znaleźć szkielet przykładowej aplikacji, która spełniała by podstawowe założenia. W związku z tym na szybko zmontowałem takowy.
Architektura 3932 dni, 16 godzin, 21 minut temu 358 źrodło rozwiń
… parafrazując słowa Bena Parkera, wujka Spidermana (wiem, że dla niektórych to żenada tego nie wiedzieć, lecz mimo to wyjaśniam)… Temat wyszedł z moich refleksji o architekturze oprogramowania, więc postanowiłam zrobić z niego prezentację, którą przedstawiłam po raz pierwszy w Białymstoku na grupie .Net. Wiele wątków, które tu umieszczę pochodzi od słuchaczy, post będzie więc kumulacją naszych wspólnych przemyśleń. O co więc chodzi z tą władzą i odpowiedzialnością? Zacznę od tego, że każdy z nasz deve...
Architektura 3964 dni, 22 godziny, 5 minut temu 242 źrodło rozwiń
Praktycznie każdy jako-tako przemyślany system z jaką-taką architekturą zawiera “klasy z logiką”. Przez “jako-tako przemyślaną architekturę” rozumiem fakt, że cała logika nie siedzi bezpośrednio w kontrolerach czy innym tego typu bycie, a w dedykowanych… “miejscach”.
Architektura 3964 dni, 22 godziny, 5 minut temu 307 źrodło rozwiń
Pierwszym etapem przy wdrażaniu się w nowy projekt jest poznanie jego funkcjonalności. Nie będziemy w stanie zrozumieć kodu, nie wiedząc do czego dana aplikacja służy. Jeżeli nieuchronnie zbliża się deadline i nie możemy poznać projektu w całości, skupmy się na jednej funkcjonalności. Ludzie, jakkolwiek nie pisaliby kiepsko, to zwykli pisać konwencyjnie. To znaczy, że opanowanie jednego modułu, otworzy nam drzwi do zrozumienia kolejnych modułów. Wyjaśnijmy to na przykładzie systemu TravelCRM, który pr...
Sztuka programowania 4144 dni, 5 godzin, 41 minut temu 216 źrodło rozwiń
Zawód programisty to jeden z tych, w których powiedzenie nabiera szczególnego znaczenia. Tworząc oprogramowanie niejednokrotnie stanąłem przed problemem, który został przez kogoś już wcześniej rozwiązany, dlatego tylko jeśli na czymkolwiek się to od razu sięgam do wujka Google. Podobnie sprawa ma się w przypadku pewnych schematycznych rozwiązań. Tworząc specjalne klasy do obsługi logowania, bazy danych, czy kolekcji, trzeba liczyć się z tym, że ktoś już coś podobnego wcześniej zrobił. Jeśli określone ...
Architektura 4245 dni, 7 godzin, 30 minut temu 343 źrodło rozwiń
Hi everyone, I was thinking about subject of this post. I tried invent something what wasn't written yet. After few days I asked myself: "What should I expect during reading about programming in Metro?" .The answer: "Workshop!" But not basic "hands-on-lab" which give you some information and recommend you to read many articles if you would like to know more. I was expecting "driving" through all process of project . From bussiness case, architecture, development backend, to Metro application im...
Mobile development 4432 dni, 13 godzin, 2 minuty temu 50 źrodło rozwiń
Jak przyjmować i jak zwracać kulturalnie – zastanawialiście się kiedyś na tym? Taki programistyczny savoir-vivre. Jak to zrobić, żeby mi (programiście) było wygodnie, a jednocześnie uszcześliwić przyszłego użytkownika API które tworzymy? Przecież to może być właśnie ja (ja piszący tego bloga)! Sprzedam wam dwie proste reguły (na bank są inne o których nie wiem), które warto zapamiętać lub przynajmniej sie nad nimi zastanowić. Przyjmowany parametr powinien być możliwie wysoko w drzewie dziedziczen...
Sztuka programowania 4443 dni, 14 godzin, 4 minuty temu 146 źrodło rozwiń