Z LINQPad korzystam niemalże codziennie. Wykonuje w nim dowolny kod języka C#. Zdarza się, że zastępuje mi Visual Studio. Wyparł całkowicie SQL Server Management Studio we wszystkich rodzajach zapytań SQL do bazy danych. LINQPad jest lekki i szybki (w odróżnieniu od VS i SSMS). Jeśli chcesz przekonać się jak bardzo wartościowe jest to narzędzie, to zapraszam do lektury. ...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
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 2652 dni, 9 godzin, 42 minuty temu 159 źrodło rozwiń
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 2653 dni, 9 godzin, 23 minuty 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 2654 dni, 9 godzin, 39 minut temu 314 źrodło rozwiń
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 2654 dni, 9 godzin, 39 minut temu 190 źrodło rozwiń
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 2657 dni, 7 godzin, 27 minut temu 69 ź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...
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 2659 dni, 7 godzin, 32 minuty temu 51 źrodło rozwiń
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...
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 2658 dni, 9 godzin, 31 minut temu 239 źrodło rozwiń
Cześć. Ostatni post o automatycznej rejestracji komponentów w Autofac był jedynie wstępem do tego co chcę osiągnąć w narzędziach, które obecnie pisze. Co do samych narzędzi to chciałbym mieć takie oto rozwiązania:Texture packer - narzędzie do pakowanie spritesheetów i animacji, które będzie rozumiał 2DXngine,Project generator - generuje podstawowy projekt 2DXngine z odpowiednią wersją silnika. Tworzy podstawową strukturę plików, kompiluje proj...
Architektura 2663 dni, 10 godzin, 1 minutę temu 50 ź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 :)
Last time we finished with all the pieces except the common:MahAppsPopupWindowAction used in XAML. Prism already has a PopupWindowAction (it wasn't there a few years ago) so let's use that to create our own popup window action that will show MahApps-metro-style-dialog.
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...
Nie mam talentu do programowania – to nie dla mnie. Chciałbym tworzyć bloga, ale brakuje mi motywacji. Nie wyjdę na scenę, bo nie czuję się pewnie. Moja samoocena jest zbyt niska, żeby zostać liderem zespołu. Czekam na przypływ inspiracji – wtedy zacznę działać… Tak się składa, że jestem świeżo po przeczytaniu dwóch książek które przyglądają się takim opiniom jak te, które właśnie wymieniłem. Dzisiaj chciałbym przedstawić wam te książki oraz przekazać kilka najważ...
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 2661 dni, 9 godzin, 21 minut temu 91 źrodło rozwiń
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..
Przestawienie się na Test Driven Development z pisania metodą tradycyjną nie jest łatwym zadaniem. Szczególnie na początku musimy walczyć ze starymi nawykami, a kiedy napotykamy trudności, naturalnym rozwiązaniem jest stosowanie metod, które znamy i rozumiemy. Poza tym początkowo TDD może nam się wydawać nieintuicyjne, a wkład pracy wydaje się większy. Jak to zwykle bywa w takich przypadkach, kluczem jest wytrwałość. Każda umiejętność wymaga czasu, aby ją dobrze opanować. Kiedy już nam się to uda, zauważ...
Sztuka programowania 2662 dni, 7 godzin, 32 minuty temu 93 źrodło rozwiń
Witam w 1. praktycznym cyklu programistycznym, od czasu wpisów na temat Java i Android, teraz C#, ASP.net Core i Docker'y. W 1. części zajmę się tworzeniem web serwisu na bazie .net Core 2.0