Często unit testy nie są przez programistów traktowane jak prawdziwy kod. Są dla nich jedynie narzędziem do osiągnięcia określonego celu – sprawdzenia poprawności implementacji. Przez to testy stają się trudne w utrzymaniu albo wykonują się zbyt długo. Przez co uniemożliwiają pracę zgodnie z TDD i nie mają wartości dokumentacyjnej. Istnieją jednak proste zasady tłumaczące, jak powinny wyglądać dobrze napisane testy. Pisząc kod powinniśmy trzymać się zasad SOLID, czyli kod powinien być solidny, a dodat...
Sztuka programowania 2017 dni, 2 godziny, 43 minuty temu 160 źrodło rozwiń
A few days ago, I watched an excellent talk by Erik Meijer called „The hacker way„. In a nutshell, he presented an opposite approach to Agile called Hacker Way which is successfully used by Facebook. The idea is very simple – continuous improvement and iteration. Instead of hours of planning and discussing whether something is possible to implement, just try to prototype this because it will probably take less time than plenty different meetings. And what if you’ll fa...
Testy jednostkowe – temat rzeka. W każdej technologii, z którą miałem do czynienia, jednym z ważniejszych tematów były testy jednostkowe. Powstała już cała masa artykułów opisujących dobre praktyki czy różnego typu metodyki takie jak TDD lub BDD. Wspominając swoje początki, gdy odpalając kod nie wiedziałem czy się odpali i dlaczego nie, zrozumiałem, jak słaby nacisk w procesie edukacji kładzie się na testowanie oprogramowania. Pragnąc nieść kaganek oświaty chciałbym dołożyć swoją cegiełkę i przedstawić w...
Sztuka programowania 2019 dni, 5 godzin, 7 minut temu 157 źrodło rozwiń
This post shows how SSL Acceleration (Offloading) scenario can be supported in ASP.NET Core.
Posted on by krystiankolad Przyszedł czas na post nieco bardziej zahaczający o .Net Core. Spojrzymy dziś na przetwarzanie asynchroniczne w C#. Pozwoli nam to na wykonywanie pewnych procesów w tle, bez konieczności blokowania wątku naszej aplikacji. Przetwarzanie takie przydaje się między innymi w pracy nad plikami – na przykład odczytem i zapisem plików, które wykonywane są w osobnym wątku, dzięki czemu użytkownik korzystający z naszej aplikacji może wykonywać w niej inne czynności. Używane są one równi...
Sztuka programowania 2020 dni, 4 godziny, 48 minut temu 326 źrodło rozwiń
Każdy z programistów, który choć raz miał do czynienia z wielowątkowością, chociaż raz musiał użyć konstrukcjo lock(). Dlaczego nie wolno tego używać razem z async/await? I co użyć zamiast tego? O tym w dzisiejszym wpisie.
Sztuka programowania 2021 dni, 5 godzin, 3 minuty temu 311 źrodło rozwiń
Paczka wartościowych materiałów, które możecie znaleźć w sieci. Jeżeli chcesz zapoznać się z pozostałymi ciekawymi linkami możesz zrobić to tutaj.
Welcome to the final, twenty-fourth episode of my course “Becoming a software developer” in which we will talk about the idea behind the distributed systems.
W poprzednich częściach cyklu skupiałem się na korzyściach płynących z TDD. Jeżeli ta metoda wejdzie nam w krew, te korzyści zachęcą nas, abyśmy pisali w ten sposób zawsze i wszędzie. Motywują nas do tego również eksperci mówiący, że każda linia kodu powinna być przetestowana. Okazuje się jednak, że nie zawsze testowanie wszystkiego na siłę jest dobrym rozwiązaniem. W tym artykule opiszę sytuacje, kiedy nie opłaca się używać TDD. Programując czasem natrafiamy na problemy, co do których nie mamy z góry...
Sztuka programowania 2021 dni, 5 godzin, 3 minuty temu 189 źrodło rozwiń
W tym wpisie zajmiemy się tworzeniem tabeli, którą możemy wykorzystać na naszym portfolio. Ja swoją tabelę umieściłam w zakładce BLOG. Dla ładniejszego efektu w każdej zakładce zamieściłam to samo tło oraz przełączniki nawigacji.
O tym, jak zarządzać kontenerami przy użyciu Docker Cloud.
Dziś zajmiemy się tematem logów w Dokerze. Czym one są? Informacją o tym, co dzieje się w naszym programie, systemie. Dają nam informacje między innymi o tym, jakie wydarzenia miały miejsce oraz jakie błędy wystąpiły w naszym programie. Do sprawdzania logów służy komenda: docker logs [args] [containerId] Może ona zostać wywołana z argumentami takimi jak: -f – dzięki niemu mamy ciągły podgląd na nasze logi; –details – pozwala nam wyświetlić dodatkowe informacje o naszych l...
Architektura 2024 dni, 2 godziny, 52 minuty temu 67 źrodło rozwiń
ConnectionManagement is a property found in app.config that allows to put a limit on number of connections to a specific host at tcp level. This affects http calls, every one of these need estabilished tcp connection “underneath”, client needs to reuse or open a new port to listen for the response fr...
Próbując wprowadzić TDD w projekcie najczęściej spotkamy się z oporem. Argumenty przeciwko tej technice ze strony developerów i osób decyzyjnych, które nie miały z nią do czynienia często się powtarzają. Postanowiłem więc w tym wpisie zebrać te argumenty i je omówić. Krytyka TDD ze strony osób mających doświadczenie w temacie zwykle przybiera inną formę i jest to temat na osobny wpis. Brak czasu to podstawowy argument przeciwko pisaniu testów. Jest bardzo często używany przez managerów oraz przez niek...
Sztuka programowania 2025 dni, 4 godziny, 56 minut temu 238 źrodło rozwiń
Lato dobiegło końca, zaczyna się nowy sezon, a wraz z nim zaczęło pojawiać się coraz więcej wydarzeń. Spośród nich wybrałam to, co najbardziej mnie interesuje czyli… Darmowe konferencje :)
In the last post I wrote about one of the .Net Core 2.0 features – Razor Pages. Today, we will crawl a little bit in this mud… I mean, we will write some code. I chose a simple BMI calculator as a demo project (you can download the code from github). You know, 2 inputs and the code-behind that will tell us if we are very fat or just slightly fat or we are OK and it’s time for another cookie. Because, there is always a time for a cookie, no matter what! A warm up Last time we crea...
Cześć. Ostatnio przedstawiłem wam zamysł mojego modułowego systemu do tworzenia tooli CLI w .NET Core. To co będę prezentował w tym poście jest to implementacja POC, więc kod momentami jest robiony na szybko. Będę pisał o tym co myślę, że można jeszcze poprawić w dalszej części artykułu. Na początku zanim pojawi się kodzik opiszę na czym opiera się całe rozwiązanie. Aplikacje CLI postanowiłem zamodelować za pomocą handlerów. To co wpisujemy do k...
Architektura 2026 dni, 2 godziny, 57 minut temu 50 źrodło rozwiń
Siemanko W dzisiejszym poście pragnę nieco przybliżyć temat automatycznych testów end2end i pokazać przykładowy teścik. Jak wszyscy pracujący m.in. przy webie wiemy, że ostateczne testy wykonują zazwyczaj ludzie klikając myszką i stukając w klawiaturę. Bez względu na fakt pokrycia kodu testami jednostkowymi, które przed r...
W minionym tygodniu miałem przyjemność migracji z .NET Core’a 1.1 do mającego kilka dni wcześniej finalny release .NET Core’a 2.0. Po krótkim obeznaniu się z tematem miałem mieszane uczucia, połowa wpisów opisywała to zadanie jako mission impossible, druga jako przysłowiową bułkę z masłem..
O mnie Posted on niedz. 20 sierpień 2017 in .NET Cześć. Dawno mnie nie było, ale ostatnio w większym stopniu skupiłem się na 2DXngine, więc czasu na pisanie postów automatycznie jest mniej. Ze względu na to, że obecnie implementuję narzędzia potrzebne do pracy z silnikiem (repo jest TU) chciałem nieco napisać o mechanizmach, które tam tworzę. Po pierwsze całość będzie napisana w .Net Core ze względu na to, że jest to framework multiplatformowy, a ja jeszcze Core nie próbowałem, a uważam, że ...
Sztuka programowania 2028 dni, 4 godziny, 45 minut temu 91 źrodło rozwiń