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 2462 dni, 1 godzinę, 32 minuty temu 81 źrodło rozwiń
Czasem dostępność java skryptu powoduje, że w zapomnienie mogą odejść pewne funkcjonalności MVC. W moim przypadku było tak gdy chciałem wyświetlać zawartość kanału z wiadomościami. Klik na kanale, a w tle myk-myk leci ajax i wracają wiadomości. Zrobiłem pewne zmiany w kodzie, tak że teraz kliknięcie na kanale powoduje przeładowanie strony i dopiero teraz użytkownikowi pokazują się wiadomości. Co za tym idzie lista kanałów renderowana jest w dwóch miejscach: na głównej liście, ...
Daj się poznać 2016 2463 dni, 16 godzin, 42 minuty temu 80 źrodło rozwiń
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 2465 dni, 20 godzin, 15 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 2462 dni, 22 godziny, 46 minut 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 2465 dni, 20 godzin, 15 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 2466 dni, 2 godziny, 50 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 2465 dni, 5 godzin, 14 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 2472 dni, 4 godziny, 36 minut temu 48 źrodło rozwiń
Jak już nie raz wspominałem, chciałbym by sercem MemoryVisualizera był język zapytań oparty o Cypher, a właściwie leżąca pod spodem baza grafowa Neo4j. Ma mi to zapewnić dużą ekspresyjność zapytań oraz (mam nadzieję) dużą szybkość działania. Tutaj pojawia się pewien drobny temat do przemy...
Daj się poznać 2016 2473 dni, 5 godzin, 6 minut temu 93 źrodło rozwiń
Pierwsze dwa to jedne z ulubionych (a może dla niektórych znienawidzonych) skrótów w świecie IT. Trzecie to zagadnienie, które jest trochę jak UFO wszyscy o nim mówią, ale mało kto widział. Dzisiaj krótko, ale istotnie na ten temat w Social Cooking.
Daj się poznać 2016 2473 dni, 5 godzin, 6 minut temu 286 źrodło rozwiń
Pagination is (should be) a well-known concept for most of the developers. Whether we want to execute an optimized query on a database that will fetch just a small subset of all available records or increase the web service throughput by returning less data than it’s needed – it all boils down to the efficient usage of the pagination. I’m going to present my approach to this mechanism, both for the MSSQL and MongoDB databases, yet it can be also used in any other scenario such as in memory pagination.
Daj się poznać 2016 2480 dni, 1 godzinę, 22 minuty temu 75 źrodło rozwiń
In my latest post, I’ve stated that one day I’d like to provide some kind of UI for the users, that would visualize what’s going on in their system that is being monitored by the Warden. As you may have noticed, this special day has come quite fast. In this post, I’ll present the first prototype of the web interface design (that took me just a couple of minutes to complete).
Daj się poznać 2016 2481 dni, 5 godzin, 5 minut temu 75 źrodło rozwiń
Big changes related to the Warden project – it has been totally rewritten to the new .NET Core in order to support cross-platform capabilities (at least in a future). The functionality per se (including API) didn’t change, yet from now on you can use Warden with the new DNX runtime. If you’re interested in the migration process, a current status of this update (including the supported parts of the project) and what are the next goals – take a look at the whole post.
Daj się poznać 2016 2482 dni, 5 minut temu 76 źrodło rozwiń
In today’s post, I’ll briefly describe one of the most recent watchers responsible for the Redis monitoring. Of course, it is a part of the Warden project, therefore, all of the features such as hooks and integrations are available. Let’s not waste anymore time and start with the code examples.
Daj się poznać 2016 2488 dni, 5 godzin, 18 minut temu 50 źrodło rozwiń
Dzisiaj artykuł o wstrzykiwaniu zależności. Każda poważniejsza aplikacja w obiektowym języku programowania powinna implementować zasadę odwróconego sterowania (IoC), a jej poszczególne modułu powinny być luźno powiązane (loose coupling).
Sztuka programowania 2487 dni, 2 godziny, 35 minut temu 871 źrodło rozwiń
.NET framework in version 4.5 provides a cool improvement into Garbage Collector – server mode. This option allows GC to be more efficient on modern hardware. MSDN contains a great article about this feature, which I really recommend you to read. ASP.NET has Server mode turned on by default. Nothing stands on the way of enabling server mode on console app. You can do it with app.config and three lines in xml. My project Kronos is a distributed cache system, where GC will have a lot of work. How to en...
Daj się poznać 2016 2487 dni, 2 godziny, 35 minut temu 140 źrodło rozwiń
W dzisiejszym wpisie chciałbym przedstawić nowe narzędzie udostępnione w Visual Studio 2015 jakim jest okno C# Interactive. Jest ono dostępne od wydania Update 1. Jeśli kiedykolwiek zdarzało wam się irytować podczas tworzenia kolejnego projektu Console Application tylko po to aby wypróbować działanie kawałka kodu na pewno ucieszy was fakt że za pomocą C# Interactive już tego nie będziecie musieli robić Okno to dostarcza mechanizm REPL...
Quite recently I’ve started working on new features for the Warden project and published the first prelease version to the NuGet (along with other packages that are meant to be additional plugins). In this post, I will discuss the available extensions that are basically responsible for making the fluent API even more fluent and the integrations that are a totally new thing, implemented as separate plugins (similarly to the watchers), which provide a quick access to the external services that can be part...
Daj się poznać 2016 2489 dni, 19 godzin, 5 minut temu 38 źrodło rozwiń
Jak wiemy delegaty w języku C# zawierają referencje do metod o określonych wcześniej parametrach oraz typie jaki dana metoda zwraca.
Sztuka programowania 2489 dni, 5 godzin, 15 minut temu 138 źrodło rozwiń