RavenDB właśnie został oficjalnie opublikowany. Przez kilka ostatnich dni popołudniami i ł eksperymentowałem z tą technologią. Teraz chciałbym się z Wami podzielić moimi odczuciami. Z początku byłem nastawiony bardzo sceptycznie — kolejna zabawka Ayende. Po Rhino DHT, Rhino PHT, Rhino Queues, Rhino ServiceBus i innych, których nie pamiętam, straciłem entuzjazm. W końcu jednak postanowiłem dać Raven’owi szanse. W końcu j...
Bazy danych i XML 4632 dni, 20 godzin, 44 minuty temu 360 źrodło rozwiń
Jak wiecie, Visual Studio 2010 ma menadżera dodatków zintegrowanego z IDE. Po aktualizacji do wersji RTM postanowiłem szerzej sprawdzić co tam jest i podzielić się z wami informacją o co ciekawszych rozszerzeniach. Sprawdzałem zarówno znane komercyjne rozszerzenia, jak również dodatki napisane przez hobbistów. Przyznam, że bez niektórych nie mogę się już obejść. Oto one: Visual Assist to po prostu must be dla programisty C/C++. Uzupełnia funkcjonalności Visual ...
Zasada O\C mówi, że oprogramowanie powinno być otwarte na rozszerzenia a zamknięte na modyfikacje. Innymi słowy programista powinien być w stanie uzyskać zamierzony efekt poprzez rozszerzenie klasy czy przeładowanie metody a nie zmianę już istniejącego kodu. Zasada jest szczególnie istotna w przypadku kodu produkcyjnego, w którym wszelkie możliwości modyfikacji kodu są ograniczone. Zasada pozwala budować modularne systemy. Użycie ENUM moim zdaniem jest złamaniem Open\Closed principle. Wykorzystując w kod...
Architektura 4634 dni, 10 godzin, 34 minuty temu 92 źrodło rozwiń
Temat postu z pewnością nie mówi Wam zbyt wiele, dlatego pozwolę sobie go wyjaśnić. W dzisiejszym wpisie chciałbym przedstawić Wam usługi, jakie zewnętrzne firmy dostarczają deweloperom aplikacji internetowych poprzez zwracanie obrazów z konfigurowalnych adresów URL. Mówiąc jaśniej, to, jaki obraz zostanie zwrócony, zależy od podanych w adresie parametrów.
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. No to wiemy już jak włączyć transakcje i co trzeba zrobić, zarówno po stronie serwisu jak i po stronie klienta, aby informacje o transakcji były przekazywane w obie strony. Dzisiaj dowiemy się więcej o obsłudze transakcji od strony kodu.Transakcje otoczenia W .NET Framework 2.0 w przestrzeni nazw System.Transaction zostały wprowadzone tzw. transakcje otoczenia (ang. Ambient Transactions). Polega to na tym, że ...
Programowanie rozproszone 4635 dni, 23 minuty temu 62 źrodło rozwiń
„Mamy aplikację napisaną dla .NET 2.0, która obsługuje wtyczki (plugin'y). Chcemy opracować dla niej wtyczkę, oferującą nową funkcjonalność. Z jakiegoś powodu (np. z wygody lub lepszych rozwiązań technicznych) wtyczkę chcielibyśmy przygotować w .NET 4.0. Czy nam się to uda?” Zobaczmy przykład.
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. W dzisiejszej lekcji powiemy sobie o wdrażaniu aplikacji internetowych w ASP.NET.Tworzenie projektu Web Setup Web setup jest narzędziem, które wspomaga wdrażanie naszej aplikacji internetowej. Projekt Web Setup jest bardzo podobny do standardowego projektu Setup, który mamy w aplikacjach Windows Forms, lecz dostarcza specjalnych właściwości wymaganych przez aplikację Web. Aby stworzyć nowy projekt typu Web Setup musimy podczas tworzenia pro...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Podstawową funkcją transakcji jest zagwarantowanie zasad ACID:atomowości (ang. atomicity),spójności (ang. consistency),izolacji (ang. isolation),trwałości (ang. durability). Kiedy operacje związane z bazą odbywają się na wielu maszynach i wielu zbiorach danych, nie jest to takie proste. WCF wspomaga programistę w tym zadaniu. W celu spełnienia zasad ACID najczęstszym podejściem jest wykorzystanie dwuetapowego ...
Programowanie rozproszone 4635 dni, 11 godzin, 30 minut temu 37 źrodło rozwiń
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. W dzisiejszej lekcji będzie na temat budowania, uruchamiania oraz testowania mobilnych wersji aplikacji webowych stworzonych w technologii ASP.NET. Tworzenie aplikacji mobilnych mocno nie różni się od tworzenia zwykłych aplikacji webowych. Trzeba tylko pamiętać, że w większości urządzenia mobilne mają większe ograniczenia w stosunku do normalnych komputerów. Dlatego wersje mobilne aplikacji powinny być jak najmniej skomplikowane oraz zawier...
.NET Framework pozwala na łatwe wczytywanie, uruchamianie i wykorzystywanie obcych assembly. Należy jednak pamiętać, że nie wolno mieć pełnego zaufania do cudzego kodu. Ma to jeszcze większe znaczenie gdy dopuszczamy sytuację, w której pozwalamy na wykonywanie kodu, którego nigdy nie testowaliśmy, z którym nigdy nie mieliśmy do czynienia. Oczywiście w takim przypadku otrzymujemy bardzo dobre wsparcie ze strony .NET Framework, a mianowicie obsługę tzw. Domen aplikacji. Domena aplikacji (ang. Application...
Programowanie rozproszone 4636 dni, 22 godziny, 45 minut temu 83 źrodło rozwiń
Może się zdarzyć, że aplikacjazostała skompilowana, by obsługiwać pewną wersję .NET Framework, jednak by chcemy ją zmusić by działała pod inną wersją. Okazuje się, że można to zrobić bez rekompialacji. Jak? Wystarczy wykorzystać element SupportedRuntime w pliku konfiguracyjnym aplikacji (app.config). Element supportedRuntime umieszczamy wewnątrz elementów
Jak już sam tytuł sugeruje chciałbym poświęcić tego posta wstążkom (ang. Ribbon). Dlaczego akurat nim? Sądzę, że Ribbon jest jednym z bardziej interesujących wynalazków, wobec którego żaden programista aplikacji użytkowych nie powinien przejść obojętnie.
W Inżynierii oprogramowania SOLID oznacza zestaw podstawowych zasad projektowania oprogramowania. Każda literka w wyrazie jest skrótem do jakieś zasady. ‘S’ oznacza Single Responsibility Principal. Podejrzewam, że większość osób doskonale zna już tą zasadę. Aby jednak zachować pewien porządek na blogu będę tłumaczył nawet te oczywiste reguły:). W skrócie zasada mówi, że każdy obiekt (klasa) powinien być odpowiedzialny za jak najmniejszy fragment logiki. Niedopuszczalne jest aby klasa wykonywała dwie nie...
Architektura 4637 dni, 18 godzin, 58 minut temu 247 źrodło rozwiń
Pewien kolega podesłał mi dziś ciekawy fragment kodu (znaleziony na jakimś blogu):int level =10; Func
Minęło właśnie sześć tygodni od opublikowania notki omawiającej szkic architektury systemu, nad którym właśnie pracuje. Tak, jak zakładaliśmy, wchodzimy właśnie z naszym systemem w fazę testów akceptacyjnych. Wdrożenie produkcyjne zbliża się wielkimi krokami. Przy tej okazji chciałbym Wam opowiedzieć, co zmieniło się w projekcie naszego systemu w ciągu tych pracowitych sześciu tygodni. Architektura Większość definicji architektury odnosi si...
Architektura 4637 dni, 20 godzin, 47 minut temu 86 źrodło rozwiń
No dobra wszyscy wiemy, że GIT jest fajny i wogóle, a w firmie musimy korzystać z SVN. SVN ma swoje zalety, ale wśród nich na pewno brak możliwości lokalnych commitów, brak wygodnego branchowania, czy stashingu(odkładania zmian na później bez commitowania). GIT SVN
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Do tej pory powiedzieliśmy sobie o profilach użytkowników, narzędziu WSAT, kontrolce Login czy też o podstawach membershipa. ASP.NET wspiera co najmniej 4 rodzaje uwierzytelniania są to:Windows authentication Forms authentication (which ASP.NET membership uses) Passport authentication Anonymous access Dzisiaj porozmawiamy w sposób ogólny jak można wykorzystać każdy z tych sposobów.Konfiguracja aplikacji webowej która wymaga uwierzytelnieni...
Dziś będzie prosty artykulik o katalogach, plikach, assembly, typach, interfejsach itp... Czyli pokazane zostanie jak wykorzystać te wspomniane elementy, by zaimplementować prosty mechanizm wtyczek (plugin'ów) dla aplikacji. Założenia: Chcemy mieć aplikację, która wykorzystuje mechanizm wtyczek; Wtyczka ma dostarczać pewien tekst (może robić co tylko zechcemy, ale przykład z założenia ma być prosty); Wtyczka będzie plikiem DLL, który znajdować się będzie w tym samym katalogu co aplikacja korzystając...
Korzystając z Viusal Studio i .NET mamy łatwy sposób konfigurowania aplikacji przy pomocy plików app.config oraz Settings.Settings. Pisałem już o tym na tym blogu w artykule: „Przechowywanie i edycja ustawień aplikacji w .NET (prosto, szybko, sprawnie i elegancko)(przykłady oparte o .NET, w języku C#)”. Niestety można natknąć się na „schody”, gdy ustawienia chcemy przenosić pomiędzy różnymi assembly. Zobaczmy na prostym przykładzie jak to rozwiązać...
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. W dzisiejszym artykule powiemy sobie o używaniu kontrolki logowania, zarządzaniu użytkownikami, informacjami na ich temat oraz o rolach. To wszystko zrealizujemy używając mechanizmu Membership.Użycie WSAT do konfigurowania zabezpieczeń Do zarządzania użytkownikami, rolami oraz zabezpieczeniami na naszej stronie możemy użyć wbudowanego narzędzia Web Site Administration Tool (WSAT).Tworzenie użytkowników Aby uruchomić WSAT należy wybrać z men...