Jest wiele sposobów na znajdowanie błędów w aplikacji: dowody matematyczne, testy jednostkowe, ręczne testowanie i debugowanie. Niestety debugowanie może być bardzo czasochłonne jeśli nie wiemy, w którym miejscu znajduje się problem. Tworzenie logów może nam pomóc zlokalizować ten problem.
Daj się poznać 2016 2691 dni, 22 godziny, 15 minut temu 167 źrodło rozwiń
Aby wykonać dowolną transakcję w sieci Bitcoin, tak jak w przypadku klasycznych przelewów bankowych, musimy posługiwać się adresami kont. Korzystając z dowolnego klienta sieci, możemy wygenerować cały zestaw takich adresów. Możemy też poznać ich budowę i wygenerować je sobie sami. Zobaczmy jak do tego podejść :)
This is the latest (for the time being) integration available for the Warden, that provides an access to the custom HTTP API (with any URL that you’d like to use ) to which you may send a POST request including (or not) a body, headers etc. Additionally, you can make use of the available extensions that work out of the box with Warden Web Panel running the Azure cloud, which can be also hosted on your own (by cloning the repository) . If you’re interested in such feature, especially in case you’d like...
Daj się poznać 2016 2693 dni, 31 minut temu 34 źrodło rozwiń
Piszemy kod, commitujemy, pushujemy. I jesteśmy potem zajęci, zapominamy o kodzie. W tym czasie ktoś stwierdza, że ściągnie sobie nasze repo. Więc klonuje, pobiera paczki, odpala build i … nie działa. Powyższe spowodowane jest tym, że programista nie zawsze pamięta by skompilować, uruchomić, przetestować kod po wprowadzeniu zmian. Powinien pamiętać, ale zdarza się, trudno. To jest jeden ze scenariuszy gdzie CI, czyli Continuous Integration, może pomóc...
Daj się poznać 2016 2691 dni, 22 godziny, 15 minut temu 230 źrodło rozwiń
Do you remember when a few days ago, I’ve made a promise to post come cool stuff in the next days? Well, here it goes – my first video tutorial ever in which I describe the Warden project and create a sample console application. I do realize that this recording is far from being perfect, yet I’m happy with the outcome anyway because I’ve managed to record this video using free, open source tools without a special audio recording microphone etc. – just a regular headset Superlux HMC631. The screencast c...
Daj się poznać 2016 2702 dni, 21 godzin, 29 minut temu 30 źrodło rozwiń
Przygody z deadlockiem (czy jak kto woli – zakleszczeniem) w bibliotece ClrMd ciąg dalszy. W poprzedniej części obszedłem problem po stronie aplikacji, jednak chciałbym przyczynić się do poprawy życia ludzkości i naprawić ten problem w samej bibliotece. Widzę tu trzy wyjścia.
Daj się poznać 2016 2699 dni, 23 godziny, 56 minut temu 25 źrodło rozwiń
Czołowi blogerzy .Netowi zajmują się obecnie nowościami, które można będzie spotkać w stabilnej wersji 7.0 języka C#. W praktyce jednak, nie każdy może tak łatwo brnąć do przodu i podejrzewam, że jest sporo deweloperów, którzy wciąż nawet nie spróbowali szóstki. Przyczyną tego stanu rzeczy najczęściej jest praca w firmie, która już jakiś czas funkcjonuje na rynku. W takiej sytuacji duży nacisk stawiamy na stabilność kodu, a każda nowa wersja czegokolwiek, stwarza potencjalne ryzyko błędu. Kompatybilny ws...
Sztuka programowania 2694 dni, 23 godziny, 29 minut temu 381 źrodło rozwiń
O oknie “Interactive” pisałem już tutaj. Bardzo pożyteczna funkcja, w moim przypadku zastępująca LinqPad. W wersji 15 Preview (którą można pobrać z stąd), dodano możliwość wykonywania zaznaczonego kodu. Załóżmy, że funkcja Main wygląda następująco: Możliwe jest teraz zaznaczenie kodu i wykonanie go w oknie Interactive C#: Warto zwrócić uwagę również na skrót – Ctrl+E. To bardzo pożyteczne, gdy chcemy szybo coś przetestować. Okno otworzy się automatyczni...
Jakiś czas temu pisałem o DI i IoC oraz o tym, że będę używał kontenera do automatycznego ładowania wielu modułów podczas startu aplikacji. Początkowo zrobiłem metodę ContainerWrapper.AutoRegister(), która iterowała po wszystkich bibliotekach związanych z SharpOfficem i rejestrowała odpowiednie klasy. Ale było to dość zagmatwane, więc postanowiłem trochę to uprzątnąć...
Daj się poznać 2016 2702 dni, 21 godzin, 29 minut temu 81 źrodło rozwiń
Big updates related to the Warden project are coming this and the upcoming week. The first release (1.0.0) has just been published to the NuGet and additionally the Web Panel is almost completed. Not only the web interface will be available as a part of the repository, but also, it will be running in the Azure cloud in case you’d like to play with it or store your monitoring data without a need to provide own, hosting environment. And there is one more good news – Warden is getting a brand new logo.
Daj się poznać 2016 2703 dni, 18 godzin, 43 minuty temu 28 źrodło rozwiń
Static analysis is a powerful feature of Visual Studio that helps us to spot syntax and semantic errors in our code. It works very well on currently edited file and runs on the whole solution as one of the compilation stages. But it would be a waste of time to run compilation every time you make changes that affect code outside currently edited file, only to check that you didn't cause any compilation errors. Luckily, Resharper comes to the rescue with...
What is Interactive Extensions? It's a set of additional LINQ to Objects query operators based on the Reactive Extensions. This post covers all available API.
Sztuka programowania 2706 dni, 16 godzin, 13 minut temu 87 źrodło rozwiń
Dlaczego podejście drugie? Ponieważ już raz pisałem o generowaniu Menu, ale trochę w inny sposób i w innym środowisku. Wtedy po prostu tworzyłem obiekty Xwt.MenuItem. Teraz zmieniłem podejście. Interfejs IMenuElement określa minimalny wspólny interfejs obiektów menu w dowolnym frameworku jakiego będę używał. I na podstawie definicji menu złożenej z obiektów IMenuElement będę generował odpowiednią strukturę obiektów.
Daj się poznać 2016 2703 dni, 18 godzin, 43 minuty temu 77 źrodło rozwiń
Dzisiaj przyszedł czas na wzorzec agregujący w pewien sposób wszystkie poprzednie, a mianowicie wzorzec rekurencyjny. Załóżmy, że mamy następującą hierarchię klas (...) W poprzednich wersjach C#, było możliwe jedynie sprawdzenie czy obiekt jest ty...
Architektura 2706 dni, 16 godzin, 13 minut temu 184 źrodło rozwiń
The latest, 6th watcher, has been recently added to the Warden library. It’s probably the simplest one, but it doesn’t mean it’s barely useful. The performance watcher has been created in order to measure the CPU & RAM usage, simple as that. Sounds interesting? If that’s the case, you might find the whole note useful then.
Daj się poznać 2016 2706 dni, 22 godziny, 48 minut temu 37 źrodło rozwiń
O tym jak wygląda metoda Main() w aplikacji WPF oraz jak można dodać swoją własną, aby program się uruchamiał.
Daj się poznać 2016 2706 dni, 1 godzinę, 11 minut temu 112 źrodło rozwiń
In today’s post I’m going to briefly describe one of the latest watchers designed especially for the disk & file monitoring. If you’re looking for a new plugin to the Warden that will allow you to ensure e.g. that all of required files are available – you’ve found the right place.
Daj się poznać 2016 2713 dni, 33 minuty temu 48 źrodło rozwiń
Wpis tłumaczący wykorzystanie projektu Win2d dla wydajnej generacji bitmap. W poście opisywane jest wykorzystanie frameworka w celu aktualizacji kafelków aplikacji w tle.
Mobile development 2710 dni, 3 minuty temu 47 źrodło rozwiń
Post/Redirect/Get or PRG in short is a common pattern used amongst many web applications, that was designed to prevent duplicate submissions of the forms. Not using such pattern may result e.g. in multiple transactions by POSTing the same form twice, which is something that we definitely do not want to see in our applications. Although, it’s quite easy to be implemented in it’s purest form, it’s a little bit more tricky if we want to save the input data provided by the user (let’s say the form has a lo...
Daj się poznać 2016 2708 dni, 56 minut temu 148 źrodło rozwiń
Wspominałem niedawno, że w pracy nie trzeba robić wszystkiego szablonowo. Można się postarać i uczyć, rozwijać siebie i innych. Nieważna jest firma, korporacja w której pracujesz. Nieważne jest stanowisko, które zajmujesz. Ważne jest tylko czy chcesz. Dziś opiszę jak testować aplikację C# za pomocą F#. Po co to robić? To jeden z powodów. A właściwie 10 (i więcej). A oprócz tego dla przyjemności i rozwoju. Nauczenia się czegoś nowego w pracy zamiast po pracy...
Sztuka programowania 2713 dni, 33 minuty temu 155 źrodło rozwiń