Tę serię przede wszystkim należy zacząć od pytania – po co nam to? To z kolei możemy rozbić na dwa kolejne. Po co nam w ogóle programowanie równoległe oraz po co nam TPL – przecież już mamy dostępne narzędzia.Po co nam to w ogóle Mam nadzieję, iż tak na prawdę na to pytanie odpowiadać nie trzeba, ale dla porządku zróbmy to. Potrzebujemy bo prawo Moore’a przestaje działać. Nie możemy już powiedzieć naszemu klientowi, który narzeka na słabą wydajność aplikacji, że gdy będziemy wydawać to oprogramowanie to...
Strona głównaUżytkownik
gordon_shumway | użytkownik
Git posiada możliwość nadawania własnych aliasów jego komendom. W konfiguracji wygląda to tak: 1: [alias] 2: ci = commit A więcej na ten temat można poczytać w WIKI. Ja jednak zamiast korzystać z aliasów, napisałem swój skrypt do miniaplikacji AutoHotkey. Przechwytuje ona zdefiniowane sekwencje klawiszy, w locie zamieniając na inne akcje. (tym, którzy go nie znają, gorąco polecam ściągnięcie i kilka chwil zabawy, świetna sprawa). Mój poniższy skrypt jest banalny: ogranicza się do rozwijania 2...
W C++ nie ma mechanizmu typu garbage collector, więc jedyne automatyczne zwalnianie obiektów, jakie w tym języku występuje, dotyczy tych lokalnych - tworzonych na stosie. Dlatego wszelkiego typu pomocnicze obiekty (np. uchwyty do zewnętrznych zasobów, jak pliki) deklaruje się tu zwykle jako właśnie zmienne lokalne. W innych językach z kolei - dokładniej: w tych, w których GC występuje - praktycznie wszystkie...
Dawno już nie pisałem na blogu. Nie chcę tłumaczyć się, że zarobiony jestem i nie mam na nic czasu (choć tak jest :)) wiec postanowiłem zamiast tego wyznaczyć sobie temat, o którym będę pisał i starać się pisać przynajmniej raz w tygodniu. Dzięki temu stworzę kurs jak w przypadku WPF oraz będę dość regularnie pojawiały się nowe wpisy na blogu.O czym więc będzie kurs? Task Parallel Library (TPL) – bo o tym chcę rozpocząć nowy cykl postów to nowe podejście do programowania równoległego, które pojawiło się ...
Oryginalny post: Why testers? Autor: Joel Spolsky Moja siostra sprawiła swoim dzieciom szczeniaczka i one próbowały go wytresować. Aby mieszkać z psem pod jednym dachem, musisz nauczyć go, by nie skakał na ludzi, nie robił kupy w domu, siadał na zawołanie oraz nigdy, przenigdy nie przeżuwał iPada. Nigdy. Dobra dziewczynka. Z tresowaniem psów jest tak, że reakcja musi być natychmiastowa. Jeśli po powrocie do domu odkrywasz, że parę godzin wcześniej pies wywalił kubeł ze śmieciami w kuchni, jest już z...
Jakiś czas temu pisałem o dostępności Visual Studio 2010 Beta 2, a w ostatnim tygodniu pojawiła się kolejna przedpremierowa wersja, czyli Visual Studio 2010 and .NET Framework 4 Release Candidate (oczywiście tutaj również linki do pobierania). Miłego testowania!
Wspominałem o "nienajświetniejszym" działaniu Git pod Windows oraz o tym, że w Mercurialu udało mi się zrobić WIĘCEJ przez 2 godziny niż w Git przez kilka miesięcy. Główną czynnością, którą miałem wówczas na myśli, było udostępnienie swojego repozytorium na zewnątrz. Linuxowa wersja Gita rozprowadzana jest z komendą git-daemon pozwalającą na zdalne dobranie się do repo po protokole git://. Taki odpowiednik svnserve. Niestety po zainstalowaniu msysgit okazuje się, że w tej wersji deamona po prostu nie ma...
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...
Bazy danych i XML 5185 dni, 22 godziny, 6 minut temu 155 ź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 5188 dni, 1 godzinę, 25 minut 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...