Trzy tygodnie temu opublikowałem pierwszy wpis z mini serii poświęconej tworzeniu aplikacji multi tenant. Tamten wpis dotyczył wprowadzenie w temat, gdzie głównie skupiłem się na plusach i minusach tego rozwiązania. W tym natomiast zajmiemy się pierwszym problemem, który musimy rozwiązać, a jest nim sposób określenia, z jakim tenantem aktualnie mamy do czynienia.Jak określić tenanta? Jednym z pierwszych problemów, jaki musimy rozwiązać, jest sposób określenia ...
Strona głównaUżytkownik
cieszak | użytkownik
Architektura 1288 dni, 9 godzin, 58 minut temu 143 źrodło rozwiń
Używanie kontenerów bardzo ułatwia lokalne programowanie. W szczególności gdy nasz projekt jest rozbudowany i wykorzystuje różne elementy infrastrukturalne, takie jak baza danych, storage, kolejki i tym podobne rzeczy. Dzięki dockerowi możemy w kilka chwil postawić lokalne środowisko do pracy bez konieczności spędzania długich godzin na instalowaniu niezbędnych komponentów. W tym wpisie pokażę Ci, w jaki sposób postawić w dockerze SQL Server, jak go skonfigurow...
Bazy danych i XML 1317 dni, 9 godzin, 47 minut temu 145 źrodło rozwiń
Publikowałem na blogu już kilka wpisów na temat testowania API z wykorzystaniem świetnego narzędzia jakim jest Postman. W tym w jaki sposób automatycznie testować API podczas każdego release w Azure DevOps. W tym wpisie natomiast chciałbym przedstawić alternatywę dla takich testów, w postaci narzędzia Karate.Karate Karate jest narzędziem, za pomocą którego możemy wykonać różnego rodzaju testy. Od testów API, które pokażę Ci w tym wpisie, po testy interfejsu uż...
W ubiegłym tygodniu przygotowałem ogólne podsumowanie zmian w .NET 5. Natomiast w tym wpisie przyszedł czas na bardziej szczegółowe zmiany w najnowszej wersji języka C# 9.0. Jest ich kilka, a największą jest wprowadzenie rekordów. Dla każdej zmiany przygotowałem interaktywny przykład, który możesz uruchomić bezpośrednio z poziomu bloga. Dzięki czemu szybko sprawdzisz, jak zachowa się kod aplikacji. Gorąco zachęcam do zmian w kodzie i własnych eksperymentów!Top...
W dzisiejszym wpisie będę chciał Ci pokazać dość ciekawą bibliotekę – Ben.Demystifier. Może uznasz ją za ciekawostkę, ale jej dodanie i wykorzystywanie nie jest problematyczne czy czasochłonne. A może później ułatwić szukanie błędów i analizowanie logów. Tytułowy Ben.Demystifier to biblioteka, która zmienia zawartość wygenerowanego stack trace w momencie wystąpienie wyjątku. Na przestrzeni 20 lat istnienia C# Microsoft dodawał nowe funkcjonalności do języka, z...
W ciągu ostatnich paru miesięcy bardzo głośno było o tak zwanych “chmurach”. Po raz pierwszy technologia zaprezentowana podczas Mix dzisiaj może być już śmiało wykorzystywana przez programistów i duże firmy do modelowania problemów biznesowych. Warto jednak zauważyć, że to wciąż wersja CTP.O co w ogóle tyle zamieszania, przecież już kilkadziesiąt lat temu powstały podwaliny pod tak zwany utility computing w systemach Unix. To co było kiedyś jednak znacząco różni się od tego co dostajemy dzisiaj. Teraz do...
Programowanie rozproszone 5658 dni, 12 godzin, 16 minut temu 89 źrodło rozwiń
Michał Żyliński w ostatnią sobotę wziął udział w warszawskiej edycji konferencji Code Camp 2009. Prezentował przy tej okazji bieżący stan prac nad IronPythonem, .NET-ową implementacją kochanego przez wielu języka. Nas swoim blogu odpisał na część komentarzy jakie pojawiły się po prezentacji.
Dzień dobry! Dzisiaj kończymy dyskusję rozpoczęta w poprzednim odcinku, czyli przechodzimy przez pozostałe cztery poziomy planowania i wymieniamy praktyki z nimi związane. Mamy nadzieję, że te dwa podcasty pozwolą spojrzeć na Agile jako spójny metamodel rozwoju oprogramowania.
Niedługo dostępny będzie C# 4.0. Z ciekawych rzeczy, które mają wprowadzić:dynamic - ciekawy, aczkolwiek niepokojący feature. W skrócie - dostaniemy typy nieokreślone z możliwością wywoływania na nich dowolnych metod, które będą bindowane dopiero w czasie wykonywania (w przypadku klas .NET-owych; dla obiektów COM i obiektów z interfejsem IDynamicObject magia jest jeszcze głębsza)...
Użycie 'partial classes' w scenariuszu innym niż generacja kodu Kilka miesięcy temu spod krzywej ręki mojej wydostał się post o "klasach i metodach częściowych" ("Partial classes & partial methods - explained"). Wniosek z niego można było wysnuć jeden: trzymaj się z dala od tych mechanizmów, jeśli nie generujesz kodu. Muszę jednak przyznać, że ostatnio natknąłem się na kolejny scenariusz, gdzie klasy częściowe są... przydatne. Weźmy za przykład standardową aplikację www. Zdarza się, że strony przekaz...
Bartosz Miłosierny: Ostatnio przy implementacji aplikacji dla platformy Mediaroom, napotkałem na problem ustalania podzbioru pewnego danego zbioru napisów, który to podzbiór miałby zawierać wszystkie stringi rozpoczynające się ustalonym prefiksem. Jak nietrudno się domyśleć, procedura potrzebna mi była do implementacji listy podpowiedzi - użytkownik rozpoczyna wprowadzanie tekstu, ...
Architektura 5654 dni, 11 godzin, 24 minuty temu 199 źrodło rozwiń
Przegląd dostępnych metod rysowania grafik w .NET CF i OpenNETCF, testy wydajnościowe oraz krótkie podsumowanie.
Mobile development 5643 dni, 5 godzin, 38 minut temu 68 źrodło rozwiń
Przyjrzyjmy się bliżej nowej funkcji VS 2010 NavigateTo...
VS 2010 udostępnia nam funkcjonalność zwaną Call Hierarchy. Dzięki niej jesteśmy wstanie dokładnie prześledzić w jaki sposób i gdzie nasz kod jest wywoływany. Funkcja ta jest podobna do Find All References, z tą różnicą iż pozwala ona na hierarchiczne przeglądanie wywołań funkcji wraz z możliwością zagłębienia się w głąb wywołań (a nie tak jak w Find All... lista miejsc gdzie nasz kod jest wywoływany, ale podobnie do tego jak wygląda opcja Analyzer w .NET Reflector).
Sesję pod tym kontrowersyjnym tytułem poprowadził na TechEd 200 Juval Lowy. Ponieważ była to jedna z tych sesji, które najbardziej zapadły mi w pamięć, chciałbym poświęcić jej osobną notkę. Juval, jako główny powód zmiany miłościwie nam panującego paradygmatu obiektowego, na zorientowany na usługi podaje konieczność zrównoleglania obliczeń wymuszoną przez nowe, wielordzeniowe procesory. Słusznie zauważa, że model tradycyjny, czyli programowanie w oparciu o obiekty posiadające stan, źle się skaluje. OK, ...
Programowanie rozproszone 5630 dni, 20 godzin, 26 minut temu 74 źrodło rozwiń
Dzisiaj kiedy podejścia do tworzenia oprogramowania opatrzone tajemniczymi literkami typu SOA, S+S i SaaS są na TOPie trudno sobie wyobrazić brak zastanowienia nad tym jak można wystawić swoją bazę danych w serwisie web. Okazuje się, że Microsoft w najnowszym wydaniu Visual Studio 2008 z SP1 podarował nam prosty kreator do tworzenia właśnie takiego cuda. ADO.NET Data Service to często jedyna metoda by udostępnić aplikacji Silverlight dostęp do danych. Jak to działa? Tutaj ...
Architektura 5670 dni, 10 godzin, 26 minut temu 47 źrodło rozwiń
Silverlight jest implementacją .NET dla przeglądarek internetowych. Zawiera to samo środowisko uruchomieniowe co .NET 3.0 dzięki czemu możemy pisać aplikacje w językach C# oraz Visual Basic. Obecna implementacja pozwala nam na dostęp do kolekcji, refleksji, komponentów sieciowych, LINQ dla obiektów i XML, serializacji oraz WebService’ów. Napisany kod jest uruchamiany w przestrzeni izolowanej co uniemożliwia interakcję z systemem operacyjnym...
Silverlight 5668 dni, 2 godziny, 3 minuty temu 118 źrodło rozwiń
Artykuł może nie dotyczy bezpośredniow platformy .NET, ale dotyczy bardzo przydantego dodatku: Subversion i klienta Tortoise. Ponieważ pewnie wielu z czytelników dotNETomaniaka, je wykorzystuje (ja korzystam), dlatego artykuł polecam. W artykule autor przedstawia sposbób w jaki można ingnorować niepotrzebne pliki i przedstawia taki scenariusz: ściągamy repozytorium SVN na lokalny dysk. Nie życzymy sobie jednak, aby ograniczało to w jakiś sposób naszą możliwość przechowywania tam plików związanych z proje...
Czy spotkaliście się z takim błędem pomimo, że byliście pewni, że poprawnie zasilacie kontrolkę lub powiązane z nią źródło danych? Jeśli tak to problem był związany z użytymi strukturami danych. Przykładowy kod, który spowoduje powyższy błąd został przedstawiony poniżej. Zacznijmy od prostej klasy, którą chcemy zaprezentować na kontrolce G...