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 3752 dni, 21 godzin, 30 minut temu 34 ź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 3754 dni, 5 godzin, 5 minut temu 42 ź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 3755 dni, 5 godzin, 3 minuty temu 100 ź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 3755 dni, 5 godzin, 3 minuty temu 43 ź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 3755 dni, 21 godzin, 59 minut temu 35 ź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 3756 dni, 7 godzin, 47 minut temu 122 źrodło rozwiń
Jednym z ostatnich rodzajów długów jakie chcę poruszyć to testy. Testy we wszelakiej postaci, od jednostkowych, przez integracyjne, specyfikacji, smoke, white i black box do obrzydliwych ręcznych. Brak testów to najgorsza rzecz jaką możemy zrobić. W każdej normalnej branży (a nie takiej, gdzie większość to pryszczaci kolesie z problemami interpersonalnymi ) czyli takiej o solidnych podstawach ukształtowanych przez lata praktyki, normą są testy. Budowlańcy robią testy wytrzymałości beton...
Sztuka programowania 3757 dni, 8 godzin, 11 minut temu 157 źrodło rozwiń
Zapraszam na kolejny post na temat "podstawowych podstaw" języka JavaScript. Tak jak w temacie, zajmiemy się słowem kluczowym "this". Oczywiście przypominam, że wpis ten należy do większego cyklu, dotyczącego moich przygotowań do egzaminu MCSD 70-480: Programming in HTML5 with JavaScript and CSS3 i moich notatek na ten temat.
Wszyscy w zawodzie zaczynaliśmy podobnie: nie wiedząc nic. Każdy z nas jest teraz na innym poziomie: jedni nadal nie wiedzą nic, inni mało, jeszcze inni dużo… ale nikt nie wie wszystkiego. Z biegiem lat kształtujemy sobie opinie na sposoby tworzenia oprogramowania – w końcu pochłania to sporą część naszego życia.
Witam ponownie i zapraszam na kolejny odcinek cyklu "przygotowania do MCSD 70-480". Zgodnie z tytułem, w dzisiejszym wpisie zajmiemy się kwestią obiektów i metod w JavaScript oraz ogólnie tematem programowania obiektowego w tym języku. Tym oto sposobem zamkniemy omawianie pierwszego z czterech głównych tematów jakie należy opanować przed egzaminem - mowa o "Implement and Manipulate Document Structures and Objects" stanowiącym 24% wszystkich pytań podczas testu.
W poprzedniej części uczyniliśmy spostrzeżenie, że z dotychczasowych klas można wyodrębnić niezależną funkcjonalność – interpretację odczytywanych danych. Obecnie zajmiemy się jej implementacją. Nie będzie ona specjalnie trudna, ponieważ większość kodu już istnieje – zawierają go metody Extract() klas potomnych klasy FileOfValuesReader. Przypomnijmy je sobie wszystkie...
Sztuka programowania 3757 dni, 19 godzin, 29 minut temu 35 źrodło rozwiń