Wczoraj wpis o klonowaniu a dziś zauważyłem, że powstał klon najlepszego moim zdaniem społecznościowego(?) serwisu programistycznego – stackoverflow.com.
Z tego co zauważyłem premiera devpytania.pl miała miejsce 3 stycznia. Ja jednak dopiero dziś wpadłem na informację o tym startupie.
Pytanie tylko – czy się to przyjmie? Stackoverflow.com ma niesamowitą siłę rażenia. Ilość pytań (i dobrych odpowiedzi) jest ogromna a chyba język angielski w przypadku programowania to żadna bariera.
Uważam jednak, że sama idea jest niezła. Polska “społeczność” osób związanych z programowaniem powoli wychodzi z ukrycia ;) Oby tylko z tego serwisu nie zrobił się śmietnik.
Dla mnie najwspanialsza w tego typu serwisach jest czytelność. Każda odpowiedź ma ocenę i od razu widać, co jest wartościowe. Niesamowicie to pomocne w codziennym pędzie.
Sam chętnie będę zaglądał i (być może) służył radą tam i ówdzie ;)
W każdym razie – powodzenia.
Niesamowicie spodobał mi się wpis dotyczący programowania, zamieszczony na nonsensopedii.
Polecam zapoznanie się przy porannej kawie:
http://nonsensopedia.wikia.com/wiki/Programowanie
Mam nadzieję, że poprawi humor, podniesie biorytm i odpędzi złe duchy ;)
Rozróżnia się dwie możliwości klonowania obiektów:
- shallow copy – tzw. płytka kopia. Najczęściej wykonywana przy użyciu metody MemberwiseClone z klasy Object.
- deep copy – tzw. głęboka, pełna kopia. Przyjrzymy się jednej z możliwości jej realizacji – wykorzystania serializacji do strumienia w pamięci.
Zapewne wszyscy wiedzą o istnieniu metody MemberwiseClone w klasie Object.
Pozwala ona na wykonanie tzw. “shallow copy”, czyli “płytkiej kopii” obiektu. Kopia taka nie radzi sobie jednak z typami referencyjnymi zagnieżdżonymi w klonowanym obiekcie. Potrafi poprawnie kopiować tylko Value Types.
Najprostsze rozwiązania często są w Visual Studio sprytnie ukryte. Takie czasem odnoszę wrażenie. Jedną z rzeczy, na które narzekałem przy debugowaniu np. WebService’ów czy aplikacji współdzielących niektóre zasoby był brak możliwości ustawienia jako “Startup” kilku projektów w ramach jednej solucji. Okazuje się jednak, że jest to banalnie proste..
Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…
Witam po krótkiej przerwie ;)
Zdobywanie tytułu magistra i mały projekt, który kończę “po godzinach” normalnej pracy spowodował, że czasu na bloga nie zostawało. Postaram się jednak częściej pisać, by biorący udział w konkursie na dotnetomaniaku mieli dodatkowe źródło ;)
Dziś podczas kończenia niewielkiej aplikacji do zarządzania zadaniami przeprowadzałem testy pod tytułem “była sobie baza danych a teraz nie ma” ;) Szlag mnie trafiał po dwudziestym powtórzeniu detach / attach, więc postanowiłem sprawę załatwić bez klikania. Potrzebne do tego były jednak zapytania, które pozwalały wykonać odpowiednie akcje. Może komuś oszczędzi to kilku dłuższych chwil na szukanie…
Zmiana wyglądu
W poprzedniej skórce bloga czegoś mi brakowało. To jeden z tych przypadków, gdy wiadomo, że coś jest nie tak ale nie wiadomo do końca co ;)
Na wstępie “krótkie” wprowadzenie – opis książki, którą męczyłem przez ostatnie ładnych “kilka” dni ;)
Co uważniejsi z czytelników zauważyli malutki widget po prawej stronie – “Obecnie czytam”. Właśnie wymieniła się w niej książka. Skończyłem czytać “CLR VIA C#” Richtera, zabieram się za “VISUAL C# 2005: THE BASE CLASS LIBRARY” Balena. Z tą książką powinno pójść łatwiej i szybciej niż z Richterem (takie mam wrażenie).
CLR VIA C# jest bardzo interesującą pozycją, którą polecam każdemu. Richter w dość swoisty sposób rozebrał na części pierwsze wszystko, z czym spotykamy się na co dzień. Pierwsza część jest mocno teoretyczna – operacja na otwartym sercu .NET, czyli CLR właśnie. Ciekawostki, ogólny zarys i założenia, które zapadają w pamięć i sporo rozjaśniają. Część “Working with types” – dość ciekawa. Nie zanudza, mimo, iż opisuje rzeczy oczywiste. “Designing parts” – wspaniałe kompendium dla każdego, kto programuje współdzielone komponenty lub po prostu dąży do tego, by jego kod był zgodny ze standardem, skalowalny, bezpieczny i zoptymalizowany. 70 stron czyta się z miłym odczuciem, że nareszcie ktoś uporządkował to nad czym zawsze zastanawiałem się “czy robię to dobrze?”.


