Developers are mostly lazy. Nobody wants to do the same things every day. Doing the same activities can be very boring and non productive. Of course modern IDE should have multiple funcionalities that can improve speed of coding and development but it's really hard to satisfy all users at once. Below I present my favourite extensions to Visual Studio 2010. Working without them would be much slower and frustrating. This set isn't focused mainly to any of the Visual Studio project type but I've been usi...
GC nic nie wie o zasobach niezarządzanych. Nie wie ile pamięci one zajmują oraz oczywiście nie jest w stanie zwolnić takich zasobów. O zarządzaniu taką pamięcią pisałem już wiele razy. Opisywałem również zasadę działania GC. Zwykle jest on odpalany po przekroczeniu pewnego progu zużycia pamięci. Niestety, jak wspomniałem, GC nie wie nic o niezarządzanych zasobach. Co w przypadku gdy wrapper zużywa bardzo mało pamięci a zasoby niezarządzane w nim konsumują bardzo wiele pamięci? Dzięki metodom AddMemoryPre...
Sztuka programowania 4244 dni, 14 godzin, 15 minut temu 139 źrodło rozwiń
GTD – Getting Things Done. Let me make mod for it . CGTD – (clear getting things done)
Jak obiecałem – dziś uzupełnimy dotychczasowy zestaw testów o nowe testy. Co będziemy testować? Jeśli ktoś uważnie śledzi ten cykl zapewne oczekuje, że – zgodnie z wcześniejszymi zapowiedziami – przygotujemy test sprawdzający uruchamianie wszystkich metod biorących udział w przetwarzaniu pliku oraz dostosujemy stare testy sprawdzające powiadamianie o postępie przetwarzania. Tak – takie testy zostaną napisane. Ale najpierw utworzymy testy, których do tej pory nie było. Proszę zauważyć, że ...
Sztuka programowania 4247 dni, 41 minut temu 59 źrodło rozwiń
Zgodnie z tytułem tego wpisu, dziś zajmiemy się obsługą wyjątków w języku JavaScript. Biorąc więc pod uwagę wymagania egzaminacyjne zamieszczone na stronach Microsoftu, omówimy dziś takie zagadnienia jak: ustawianie i odpowiadanie na kody błędów; rzucanie wyjątków; sposoby sprawdzania wartości null; implementacja bloku try/catch/finally. Jak zwykle zapraszam do lektury! ;)Sprawdzenie "null check"
Visual Studio by default is showing a message when trying to attach to process. It is saying that: Attaching to this process can potentially harm your computer. If the information below looks suspicious or you are unsure, do not attach to this process. Because I'm attaching many times a day it becomes really annoying. Couple minutes of googling and here it is the solution for disabling it: First you need to make sure that Visual Studio isn't running.Next you need to modify registry key depending on...
Ostatnią z czynności refaktoryzacyjnych będzie przystosowanie dotychczasowej klasy MethodObject do używania powstałych w trakcie refaktoryzacji klas. Jak można sprawdzić w części drugiej, klasa ta posiadała cztery publiczne metody: ImportCSV(), ImportTabSeparated(), ImportFixed(), ImportBinary(). Metody te były następnie wykorzystywane przez interfejs użytkownika do wykonywania odpowiednich importów. Te metody muszą zostać zachowane, zmieni się natomiast ich implementacja. Zmianie ulegnie też...
Sztuka programowania 4247 dni, 41 minut temu 35 źrodło rozwiń
Witam, w kolejnej odsłonie mojego cyklu dotyczącego przygotowań do egzaminu "MCSD: 70-480 - Programming in HTML5 with JavaScript and CSS3". Tak jak można przeczytać w tytule, w dzisiejszym wpisie skupimy się na zdarzeniach w języku JavaScript. Zapoznamy się więc ze sposobami rejestracji funkcji obsługujących zdarzenia, poznamy zagadnienie bąbelkowego zachowania się zdarzeń, dowiemy się także jakie zdarzenia udostępniane są przez elementy DOM. Zapraszam do lektury.
Ostatnio dużo się piszę w polskim internecie na temat tego, że powinniśmy się cały czas rozwijać, sprawdzać nowe to rozwiązania, wykorzystywać coraz to nowsze biblioteki, może nawet i tworzyć takie, które nam ułatwią życie. Większość tych postów jest nastawiona negatywnie - w sposób jawny lub nie jawny – do osób/firm, które nie przechodzą lub nie mają możliwości przejścia na najnowsze technologię. Każdy z postów przeważnie zakłada, iż jak ktoś chce być programistą lub tworzyć oprogramowanie to trafia on ...
Opublikowano Z tematu dług technologiczny zrobił się całkiem spory cykl. Mimo, że nie wszystkie aspekty zostały poruszone, to myślę, że poruszone zostały wszystkie najważniejsze jego aspekty zatem nadszedł czas na odpowiedzenie sobie czy da się realizować projekty bez długu. Odpowiedź krótka brzmi NIE. Jeśli w każdym aspekcie będziemy korzystali z wszystkiego NAJ to przy dzisiejszym tempie rozwoju okaże się, że nie robimy nic oprócz zmian wersji narzędzi, bibliotek, framework-ów, wrzucaniu coraz to n...
W WPF przy wykorzystaniu stylów oraz szablonów w prosty sposób możemy stworzyć mechanizm skórek, dzięki któremu możliwa będzie zmiana wyglądu naszej aplikacji w trakcie jej działania. W dzisiejszym wpisie pokażę jak taki mechanizm stworzyć. Zacznijmy od prostego okna składającego się z kontenera Grid oraz trzech przycisków. Po naciśnięciu każdego z nich załadowana zostanie odpowiednia skórka...
W dotychczasowym procesie refaktoryzacji udało nam się stworzyć elastyczny mechanizm importu – uzyskaliśmy tym samym podstawową funkcjonalność w zadowalającej postaci. Pora zająć się pozostałymi operacjami, które są niezbędne, aby uzyskać kompletną, pierwotną funkcjonalność refaktoryzowanego kodu. Na implementację oczekują przecież: zdefiniowany na początku interfejs IFileSelector i jego pochodna IFilteredFileSelector. Konieczne jest też zaimplementowanie ...
Sztuka programowania 4248 dni, 8 godzin, 16 minut temu 43 źrodło rozwiń
Czasami zachodzi potrzeba wykonania krytycznego kodu, który zużywa dużo zasobów. Podobnie jak w CER, nie chcemy wykonywać kodu jeśli wiemy, że nie ma wystarczającej pamięci. W .NET istnieje klasa MemoryFailPoint, która potrafi z góry “zaalokować” określoną pamięć.publicsealedclass MemoryFailPoint : CriticalFinalizerObject, IDisposable { public MemoryFailPoint(Int32 sizeInMegabytes); ~MemoryFailPoint(); publicvoid Dispose(); } MemoryFailPoint sprawdzi czy jest dostępna pamięć. Jeśli jej nie...
Sztuka programowania 4249 dni, 8 godzin, 15 minut temu 103 źrodło rozwiń
Witajcie w drugim odcinku Coding News – nowej, cotygodniowej serii, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.
Nadeszła pora, by doprowadzić do współpracy klas odczytujących pliki i klas wyodrębniających z nich dane. Aby ta współpraca była jednak w ogóle możliwa – klasa FileOfValuesReader musi zostać zmodyfikowana, albowiem musi być możliwe „wstrzyknięcie” do niej obiektu implementującego interfejs IValuesExtractor. W rezultacie konstruktor zyska jeszcze jeden, dodatkowy parametr, poprzez który będzie można przekazać odpowiedni interpreter danych. Ponieważ ów interpreter trafia od razu do klasy bazowej ...
Sztuka programowania 4249 dni, 8 godzin, 15 minut temu 45 źrodło rozwiń
Dla wszystkich biednych duszyczek zmuszonych do korzystania z TfuFSa jako narzędzia do utraty kontroli nad wersją dobre kilkadziesiąt miesięcy temu narodził się projekt Git-TFS pozwalający na użycie lokalnie Gita w tym celu. O tym narzędziu już pisałem w poście “git-tfs – lek na prawie całe zło” (i jeszcze przy paru innych okazjach). Microsoft nie mógł pozostać dłużny i pół roku temu zrobił swoją wersję: Git-TF, o czym m...
W tym wpisie zaprezentuję dwie klasy dziedziczące po FileOfValuesReader i realizujące odczyt z plików tekstowych oraz binarnych. Obie klasy będą współpracować z odpowiadającymi im klasami wyodrębniającymi wartości z odczytanej zawartości. A ponieważ dopełnią one całości mechanizmu importu, to przygotuję także odpowiednie testy, które pozwolą upewnić się, że mechanizm importu nadal działa tak samo. Jako pierwszą zaimplementuję ...
Sztuka programowania 4250 dni, 1 godzinę, 10 minut temu 37 źrodło rozwiń
Recently Microsoft did something really interesting. Everybody knows that Internet Explorer (especially older versions) shouldn't be even called a browser. But still Microsoft Windows is the most popular operating system used commercially and so their browser is. Every web developer knows that making something to work on the IE is really challenging task. Microsoft learned a lesson in couple of recent years and wanted to repair their image in that field. Internet Explorer 9 and 10 aren't the best browse...
Jako, że ostatnim wpisem zakończyłem omawianie zagadnień związanych z manipulowaniem strukturą dokumentu oraz obiektami, w dzisiejszym poście przejdę do drugiego z czterech głównych tematów związanych z egzaminem 70-480. Mowa tutaj o "implementacji przepływu programu" (ang. Implement Program Flow), który to temat ma stanowić 25% wszystkich pytań na egzaminie. W związku z powyższym, wpis dzisiejszy zawierać będzie omówienie sposobów iterowania po kolekcjach i elementach tablic, zajmiemy się także podejmo...
Jedną z ciekawszych cech web developerki jest mnogość dostępnych na tym polu rozwiązań i technologii. Dlaczego uważam, że to dobrze? Poniekąd dlatego, że w ten sposób programista może przezwyciężyć spadek motywacji i nudę związaną z wykonywaniem kolejnego wielkiego projektu w młodym, dynamicznym zespole. Stwarza również pole do popisu i ciągłego rozwoju, pokazuje różne sposoby na zrobienie tego samego lepiej i szybciej. Niestety z punktu widzenia osób odpowiedzialnych za dostarczenie projektu klientowi ...
Sztuka programowania 4250 dni, 10 godzin, 58 minut temu 123 źrodło rozwiń