Czytamy sobie dokument, w którym napisane jest, że system będzie posiadał 3 bazy danych: jedną OLTP i dwie OLAP. Myślimy sobie od razu, że pewnie to jakiś wielki system za grube miliony. Jakież jest nasze zdziwienie, gdy okazuje się, że to mały “systemik”, a każda baza ma tak naprawdę po 3 tabele. Nasuwa się od razu pytanie — po co ta cała komplikacja? Czyż nie uczono nas na studiach, że baza ma by...
Strona głównaUżytkownik
gordon_shumway | użytkownik
Bazy danych i XML 5377 dni, 8 godzin, 41 minut temu 157 źrodło rozwiń
System kontroli wersji zbierający WSZYSTKO z naszego working copy byłby bardzo ciężki w użyciu. Dlatego też każdy z nich w ten czy inny sposób umożliwia ignorowanie wybranej zawartości. Kiedyś pisałem o obsłudze tego scenariusza w SVN (post "Ignorowanie "zewnętrznych" plików w repozytorium SVN"), zobaczmy więc dla porównania jak to jest zrealizowane w Gicie.
Oryginalny post: Elegance Autor: Joel Spolsky Alain de Botton w swojej książce The Architecture of Happiness (wyd. Pantheon Books, 2006) zawarł sekcję dotyczącą elegancji, która każdemu projektantowi oprogramowania wyda się znajoma. Porównuje on most Salginatobel w Szwajcarii... ... z mostem Clifton Suspension w Anglii: ... w jednej z najbardziej niesamowitych książek o architekturze jakie kiedykolwiek przeczytałem:Obydwa mosty – Salginatobel, Roberta Maillarta oraz Clifton Suspension, Isambarda Brunel...
Instalacja Git na Windows Najprostsze co mogę zrobić to podać link do instalatora: http://code.google.com/p/msysgit/downloads/list. Ładny wizard przeprowadzi nas przez cały proces instalacji. Wstępna konfiguracja Przed rozpoczęciem pracy z Git zalecana jest wstępna konfiguracja narzędzia. Najpierw zidentyfikujemy się na poziomie całej maszyny w konfigu wspólnym dla wszystkich repozytoriów:
Ostatnim razem ponarzekałem trochę na SVN i scentralizowany model systemów kontroli wersji. Jedną z wspomnianych alternatyw, realizującą model rozproszony, jest Git - i o nim dzisiaj kilka słów. Nie zamierzam pisać tutoriala dla Git czy nawet omawiać zasad jego działania. Zamiast tego zbiorę i zaprezentuję garść linków, które warto odwiedzić chcąc zająć się Gitem na poważne. Muszę ostrzec, że zabawa ta nie jest banalna - i nie zawsze przyjemna. Ja korzystam z Gita od ponad pół roku, a mimo to jeszcze do...
Bruce Eckel zręcznie identyfikuje źródło wszystkich problemów związanych z tworzeniem oprogramowania: Pracujemy w młodej branży. W zasadzie to prymitywnej -- nie wiemy za bardzo co działa i wydaje nam się, że znaleźliśmy prosty sposób, który rozwiązuje wszystkie problemy. W rezultacie przechodzimy przez wieloletnie okresy wzlotów i upadków, w miarę jak nowe pomysły się pojawiają, startujemy, wyczerpujemy możliw...
Niejednokrotnie pisałem o SVN, zachwycając się cudownością tego narzędzia. Wpłynęło ono na moje życie zawodowe dość znacząco - tak naprawdę od niego zacząłem przygodę z kontrolą wersji. A kontrola wersji całkowicie zmienia sposób pracy, o czym przekonał się każdy kto zaczął korzystać z jakiegokolwiek systemu z tej rodziny (wtrącenie: jeśli czyta to ktoś ignorujący te systemy, niechaj natychmiast się nawróci! to nie jest trudne, a naprawdę niezbędne!). Subversion było też (albo jest nadal) standardem w te...
Chciałbym nawiązać tą notką do mojej pierwszej notki z tego bloga. Była to analiza dostępnych technik odwracania zależności w kontekście aplikacji o tzw. architekturze cebulowej. Od tego czasu moje poglądy na ten temat nieco się zmieniły, stąd nagląca potrzeba aktualizacji. Dlaczego w ogóle zajmuję się tym tematem? Wujek Bob, w jednej ze swoich ostatnich notek, poruszył problem uzależnienia od technicznych aspektów ...
Architektura 5379 dni, 12 godzin temu 149 źrodło rozwiń
Oryginalny post: How To Achieve Ultimate Blog Success In One Easy Step Autor: Jeff Atwood Zawsze szturchaj. Zawsze dostarczaj. Zawsze strzelaj. To ta sama rada wyrażona w różnych formach dla różnych odbiorców. Według mojej teorii, pozyskiwanie potencjalnych klientów wywodzi się z rankingu Google, a najlepszym sposobem na zwiększenie tego rankingu jest postępowanie jak zawodowy wojownik: ani uderzenia, ani sierpowe nie wystarczają. Musisz zawsze szturchać i regularnie uderzać sierpowym. Bloguj nieust...
Jakiś czas temu nagrałem kilka filmów omawiających tematy poruszane przeze mnie w kursie o WPF. Postanowiłem, że kilka z nich umieszczę na blogu jako, że w chwili obecnej nie mam dla nich lepszego zastosowania a mam mało czasu na pisanie nowych postów :). Miłego oglądania. Uwagi, jak zawsze, mile widziane.
Mając wartość enuma w postaci napisowej, pobraną na ten przykład z bazy, bardzo łatwo jest z powrotem sparsować ją do właściwego dla aplikacji typu: 1: public enum MyEnum 2: { 3: FirstVal, 4: SecondVal 5: } 6: //... 7: (MyEnum)Enum.Parse(typeof(MyEnum), "FirstVal");
Przechowywanie obiektów w sesji nie jest ogólnie wskazane ze względu na szybkość działania strony (poza typem InProc) jak i ulotność miejsca składowania (InProc). Mimo wszystko czasami trzeba. Aby ułatwić sobie pracę z obiektem sesji napisałem kilka pomocniczych metod rozszerzających możliwości HttpSessionStateBase. Bardzo często zdarzają się przypadki przechowania czegoś na chwilę w kontekści...
BugNET i TRAC – porównanie. Część I Nie tak dawno wspominałem o startupie devpytania.pl. Niewiele cykli procesora upłynęło od tego czasu a ja muszę przyznać, że devpytania przypadły mi do gustu. Widać tam grupę ludzi angażujących się w pomoc innym, ciekawe pytania i rozważania. Co ważne – nie oderwane od naszego lokalnego podwórka. W informatyce wiele problemów jest “poza podziałami”, są jednak i takie dość mocno związane z konkretnym regionem. Devpytania stają się jednym z podstaw...
Tym razem w ramach rozwinięcia tematyki integracji SVN z systemem BugNET pokażę trochę bardziej zaawansowane rozwiązanie. Integracja oparta jest o stabilną (nie beta i nie RC) wersję BugNET: 0.7.921. Niestety w tej wersji BugNet nie jest wyposażony w żadne mechanizmy (np. web-serwisy), które mogą zapewnić integrację (zgodnie z zapewnieniami autora BugNet jakieś web-serwisy pozwalające na integrację mają być dodane od wersji 0.8). Ten post proponuje, jaki web-serwis można dodać do BugNet by umożliwić inte...
"Decimal byte array constructor requires an array of length four containing valid decimal bytes" Z takim błędem spotkałem się ostatnio pisząc kod komunikujący się z bazą danych. Niestety ale błąd ten miał również dwie utrudniające jego poprawienie właściwości. Po pierwsze pojawiał się na kilku komputerach ale nie na moim. No cóż syndrom "a u mnie działa" zdarza się każdemu. Po drugie kod w jakim występował zdawał się wyglądać całkowicie niewinnie...
Bazy danych i XML 5385 dni, 10 godzin, 18 minut temu 47 źrodło rozwiń
Przy pisaniu kilku ostatnich stron WWW potrzebowałem dość często tworzenia elementów HTML na podstawie konkretnego źródła danych - coś co zwykle załatwia ASP:Repeater czy ASP:ListView (i jeszcze kilka innych kontrolek serwerowych). Problem polegał jednak na tym, że naprawdę nie chciałem zaprzęgać do tego wszystkiego ASP.NET, mogę większość rzeczy zrobić w JavaScript to po co mi do tego code behind?
Zaleta takiego sposobu schowania warstwy (popupa) jest taka, że nie spowoduje PostBacka. AjaxControlToolkit.PopupControlBehavior.__VisiblePopup.hidePopup();
Jakiś czas temu natknąłem się na problem podczas pracy z PropertyGrid'em. Aby móc edytować obiekty przy pomocy PrpopertyGrid'a należy nadawać odpowiednim właściwością klasy (której obiekty chcemy edytować) atrybuty. Jednak ja dodatkowo potrzebowałem, by edytor danego obiektu zmieniał się w czasie działania aplikacji, pojawiło się więc pytanie: "Jak zmienić (w c#, .NET) wartość atrybutu klasy, funkcji, właściwości podczas działania aplikacji z poziomu kodu programu?"
Joel Spolsky wczoraj opublikował na łamach gazety Inc. przyszły (bo z datą 1 lutego ;)) artykuł na temat problemów przepełnienia kanałów komunikacji. W artykule głównie porusza obserwacje z wyśmienitej książki Mityczny osobomiesiąc autorstwa Frederick P. Brooks i już w merlinie i wydawnictwie WNT nie dostępnej (ale na Amazon tak, za $26,02) - osobiście gorąco polecam tą książkę każdemu programiście i nie tylko...
Poprawne widoki w projekcie asp.net mvc nie powinny posiadać plików codebehind. Ponadto nie powinny posiadać żadnej logiki. Mają służyć jedynie prezentacji/wizualizacji danych oraz zbierania informacji, które będą przesyłane do kontrolera. W związku z tym całe ustrojstowo typu auto-zdarzenia (znane z WebForms'ów), viewstate'y, czy nawet dostęp do obiektu sesji powinno być wyłączone/zablokowane. Wybra...