W ubiegłym tygodniu w implementowanym systemie zajmowałem się datą i czasem. I tak mnie tknęło... dlaczego w ogromnej większości systemów, które przyszło mi oglądać, datę zapisuje się w sposób następujący? 1: article.PublishedTime = DateTime.Now Niby co jest z tym złego? Właściwie... to zależy od kontekstu i rodzaju tworzonego systemu. Korzystając z powyższej konstrukcji trzeba zdawać sobie sprawę z tego, że tak zapisany czas jest ZALEŻNY od maszyny, na której operacja ma miejsce. Wartość ta odczytana...
Strona głównaUżytkownik
http://ksciana.wordpress.com/ | użytkownik
W każdy poniedziałek od 20:30 organizowane będą wirtualne spotkania. Pierwsze już się odbyło 15 lutego. Więcej na www.virtualstudy.pl
Bazy danych i XML 5370 dni, 14 godzin, 24 minuty temu 68 źrodło rozwiń
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...
W poście przedstawiającym Gita wspomniałem o możliwości modyfikacji historii - i dzisiaj więcej na ten temat. Jest to funkcjonalność naprawdę nie do przecenienia. Commit nie jest już czynnością ostateczną, z którą nie można nic zrobić, jak nas przyzwyczaił SVN. Wtedy przed puszczeniem zmian trzeba się było zastanawiać i analizować dokonane zmiany. Tutaj natomiast bardzo sensownym trybem pracy jest lokalne zatwierdzanie zmian tak często jak mamy na to ochotę - ja na przykład nienawidzę mieć jednocześnie z...
W języku C# mamy kilka mechanizmów tworzenia wątków. Różnią się one zarówno wydajnością jak i przeznaczeniem. Zacznijmy więc od najpopularniejszego sposobu a mianowicie klasy System.Threading.Thread. Stworzenie wątku polega na inicjalizacji klasy oraz wywołania metody Start:publicclass ThreadExample { public CreateThread() { System.Threading.Thread thread =new System.Threading.Thread(ThreadMethod); thread.Start(null); } privatevoid ThreadMethod(object parameters) { ...
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...
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ę ...
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!
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...
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...
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...
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...
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:
W przeciwieństwie do mitu, nie ma czternastu rodzajów programistów. Są tylko dwa, jak przypomniał nam Ben Collins-Sussman. W świecie tworzenia oprogramowania istnieją dwie "klasy" programistów: nazwę ich 20% i 80%.
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...
Od kiedy Maciej Zbrzezny 19 lipca 2009 opublikował post grupujący blogi .NET wiele się zmieniło. Doszły nowe blogi, część nie została wymieniona a część wymarła śmiercią naturalną lub zmieniła swój adres zamieszkania. Przez ten okres większość z nas korzystała albo z linków na starym CodeGuru (aktualnie ich brakuje ) albo korzystała z takich portali jak Dotnetomaniak czy Develway by poznać nowy blog lub zapoznać się z ciekawym postem. Brakowało miejsca w którym nie tylko wszystkie blogi by były zgrupow...
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");
Ostatnio przeraziłem się, ponieważ po zainstalowaniu .NET Framework 3.5 na serwerze oczekiwałem, ze pojawi się możliwość wybrania ASP.NET 3.5 w IIS Managerze...
Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu "jak to jest?", "jak zacząć?", "jakie są plusy i minusy?"... Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na "swoje" i pracy w domu. Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po le...