Praca daje duże możliwości rozwoju programiście. To właśnie w pracy nabieramy doświadczenia, popełniamy błędy i staramy się wyciągać z nich wnioski oraz oczywiście zarabiamy na życie. Na rynku, nie brakuje ogłoszeń na .Net developera. Czego można się spodziewać na takich rozmowach? W tym wpisie postaram podzielić się swoimi doświadczeniami i odpowiedzieć na to pytanie. Pracodawcy zamieszczając ogłoszenie z...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Jak macie R# 8 zainstalowanego to odpalajcie jego extension manager (alt+r+x) i instalujcie Resharper Mnemonics Live Templates (możliwe że restart vs będzie wymagany albo po prostu się powiesi przy pierwszym wykorzystaniu). Rozszerzenie to dodaje szablony do tworzenia klas (c), metod (m), własności (p), opcji macie wiele, najważniejsza zasada to taka, że jeżeli pierwsza litera jest mała to jest to metoda/klasa/własność publiczna, jak jest duża to jest to statyczna publiczna. Wasza praca stała się właśn...
W sprawie wydajności wyjątków można znaleźć wiele opinii, często sprzecznych ze sobą. W dzisiejszym wpisie przedstawię kilka programików, mających na celu, wyjaśnienie jaki wpływ mają wyjątki oraz ich łapanie na wydajność aplikacji. Zacznijmy od przykładów a potem przejdziemy do analizy wyników. Kod z wyrzucaniem wyjątków: internalclass Program { privatestaticvoid Main(string[] args) { constint n =20000; Stopwatch stopwatch = Stopwatch.StartNew(); for (int i =0; i < n;="" i+...
Sztuka programowania 4163 dni, 10 godzin, 25 minut temu 285 źrodło rozwiń
Opublikowano O ScriptCS było głośno kilka miesięcy temu (bodajże w marcu) gdy pojawił się na .netowej scenie. W dużym skrócie jest to uskryptowiona wersja C#-a. To powoduje, że jeśli chcemy zbudował/przetestować kawałek kodu, nie musimy odpalać całego Visuala. Wystarczy napisać: Console.WriteLine(“hello scriptcs”) i powinno się wykonać (tak – na końcu nawet nie ma średnika). Do wykonania powyższego będziemy potrzebowali najnowszych źródeł ScriptCS-a https://github.com/scriptcs/scriptcs któr...
Opublikowano W poniedziałek pisałem, że nie testowałem scriptcs-sublime. To się już zmieniło. Zainstalowałem i działa. Co więcej zainstalowałem drugi plugin build-with-input a to wszystko po to aby móc do skryptu przesłać coś za pomocą klawiatury bezpośrednio z poziomu samego sublime text-a.Instalacja: w konsoli gita teleportuję się do C:\Users[uzytkownik]\AppData\Roaming\Sublime Text 2\Packages i wpisujemy magiczne znaki runiczne: git clone https://github.com/scriptcs/scriptcs-sublime.git oraz gi...
http://www.devday.pl/2013/Register Właśnie ruszyły zapisy na najlepszą w tej szerokości geograficznej konferencję dla developerów. Zapisy potrwają do 16-tego sierpnia. Dobrze zastanów się dlaczego to Ty powinieneś otrzymać zaproszenie bo lista uczestników jest bardzo zacna a będzie jeszcze bardziej zacna jak wszyscy prelegenci zostaną ogłoszeni To też może Cię zainteresować:DevDay – ruszają zapisyDevDay–konferencja na którą mogę jeździć co miesiącHTTP Caching 101 – wideo prawie z D...
Jeżeli korzystasz z Twitter Bootstrap w ASP.NET MVC to najprawdopodobniej po kilku godzinach korzystania z tej świetnej biblioteki poczujesz nieodpartą potrzebę napisania kilku HtmlExtensions, aby choć trochę ułatwić sobie życie. Dobrym przykładem jest RadioButton, który w podstawowej wersji, dostępnej w ASP.NET MVC, “trochę” różni się od tego co oferuje nam Bootstrap. Napisałem HtmlExtensions do bootstrapowej wersji elementu jednocześnie dodając obsługę generowania z enuma. Takie radio na...
Wyobraźmy sobie, że mamy jakiś zestaw zmiennych, którym chcielibyśmy nadawać wartości w zależności od kategorii, która je opisuje. Jednocześnie – pomimo przynależności do tej kategorii – jeżeli wartość zmiennej dla owej kategorii nie została zdefiniowana – chcielibyśmy, aby taka zmienna używała wartości domyślnej. Zakładamy też, że wartości domyślne posiadają wszystkie zmienne i jeśli zajdzie potrzeba uzależnienia wartości zmiennej od posiadanej przez nią kategorii, nie ma to oznaczać...
Bazy danych i XML 4189 dni, 2 godziny, 59 minut temu 114 źrodło rozwiń
Integrujemy ASP.NET z PayU Cykl artykułów dotyczących integracji strony w ASP.NET z systemem płatności on-line PayU. Artykuły, krok po kroku opisują tworzenie strony zamówienia, następnie tworzenie stron powrotów oraz raportów...
Czasami w WPF zachodzi potrzeba stworzenia dependency property ale tylko do odczytu. Zwykłą właściwość bardzo łatwo zaimplementować tzn.:publicdouble Area { get { return width*height; } } Jeśli korzystamy z binding’u danych, wtedy powyższe rozwiązanie jest niewystarczające i należy skorzystać z dependnecy property. Dla przypomnienia, standardowa deklaracja wygląda następująco:publicclass MyStateControl : ButtonBase { public MyStateControl() : base() { } public Boolean State { g...
AutoResetEvent\ManualResetEvent może być używany do synchronizacji międzyprocesowej tak samo jak np. mutex. Posiada podobny zestaw metod do tworzenia obiektu z nazwą oraz późniejszego jego otwierania. Aby móc go użyć do synchronizacji międzyprocesowej należy oczywiście nadać obiektowi nazwę – tak samo jak to jest z Mutex. W tym problem, że konstruktory ManualResetEvent czy AutoResetEvent nie przyjmują takich parametrów. Zaglądając jednak do dokumentacji dowiemy się, że:publicsealedclass ManualResetEvent...
Sztuka programowania 4200 dni, 9 godzin, 20 minut temu 68 źrodło rozwiń
Zakładam, że polecenia update języka T-SQL nie trzeba nikomu przedstawiać. Jest to jedno z jego czterech podstawowych poleceń. Służy do aktualizacji zawartości kolumn tabeli. Zakładam jednak, że niewiele osób wie, iż polecenie to potrafi także aktualizować...
Bazy danych i XML 4202 dni, 10 godzin, 17 minut temu 167 źrodło rozwiń
Ten wpis będzie po trosze prywatą ;). Nazbierało mi się kilka różnych skryptów, zazwyczaj są to pojedyncze polecenia SQL, które warto mieć pod ręką. No właśnie ;). Rzecz w tym, że nie zawsze pod tą ręką są, a tu na blogu praktycznie w 99% przypadków by były. Zatem dzielę się nimi, a przy okazji zapewniam sobie ich większą dostępność dla siebie. Na początek skrypt ...
Bazy danych i XML 4196 dni, 1 godzinę, 47 minut temu 219 źrodło rozwiń
ReaderWriterLockSlim jest klasą, która ma zastąpić ReadWriterLock, znanego ze starych wersji framework’a. Ale zacznijmy od początku… Dlaczego zwykły lock nie zawsze jest wystarczający? ReaderWriterLockSlim pracuje w trzech trybach:mutual lock – inaczej writer lock. Wyłącznie jedna taka blokada może zostać nadana. Jest to typowy lock i należy z niego korzystać, gdy modyfikujemy dane. shared (reader) lock – wiele wątków może mieć dostęp do tych samych danych. Można nadać wiele shared lock, pod warunkiem, ...
Sztuka programowania 4224 dni, 10 godzin, 57 minut temu 80 źrodło rozwiń
Kilka dni temu musiałem opublikować aplikację która korzystała z bardzo prymitywnej bazy danych, zdecydowałem się na SQL CE jako, że wszystko mam już in place i nic nie musiałem dodatkowo robić. Z SQL Lite sprawa jest prosta, ściągamy wersję dla .NET i tworzymy strukturę katalogów jak opisane zostało to tutaj. Z SQL CE było podobnie, w VS 2010 za pomocą jednej magicznej opcji wszystko, co potrzebowaliśmy trafiało w odpowiednie miejsce: W VS 2012, niestety opcja ta została usunięta, więc bardzo łatwo j...
Kiedy wprowadza się reguły? Zazwyczaj wówczas, kiedy zjawiska zachodzące w danym środowisku zaczynają wymykać się spod kontroli. Weźmy np. pojazd komunikacji miejskiej. Jeżeli jest on praktycznie pusty, to można z niego wysiadać w tym samym momencie, w którym ktoś chce wsiąść – ta garstka pasażerów wyminie się w drzwiach w sposób intuicyjny. Jeśli jednak liczba wysiadających jak i wsiadających zwiększy się, to konieczna będzie już jakaś regulacja – np. ...
Architektura 4212 dni, 51 minut temu 105 źrodło rozwiń
Dzisiaj zajmiemy się kolejnym wzorcem przeznaczonym dla środowiska wielowątkowego. W dokumentacji\artykułach możemy go spotkać pod nazwą “condition pattern”. Załóżmy, że jeden wątek musi sprawdzić pewien warunek aby móc wykonać jakąś pracę. Innymi słowy, mamy współdzielony zestaw zmiennych, modyfikowanych przez różne wątki. Jeden z wątków może wykonać swój kod wyłącznie, gdy te współdzielone zmienne spełnią jakiś warunek. W jaki sposób moglibyśmy podejść do problemu? Najprostszym rozwiązaniem byłaby pęt...
Programowanie rozproszone 4212 dni, 51 minut temu 168 źrodło rozwiń
Czasem na prawdę małe rzeczy potrafią poprawić humor programiście. Takie drobne rozwiązania, które pozwalają na przyspieszenie tworzenia programu… Ostatnio musiałem zrobić instalator aplikacji – wybór padł na WiXa. A tam przy każdym elemencie wchodzącym w skład instalatora trzeba podać GUID.
Informatyka z racji swojego sformalizowania kocha się w regułach. Nie można się praktycznie ruszyć, by w jakąś nie wdepnąć. Zaczynam się powoli zastanawiać, czy nie mamy tutaj do czynienia ze zjawiskiem podobnym do eksplozji klas – eksplozją reguł. Bezsprzecznie do tego stanu rzeczy przyczyniają się także blogi. Widywałem na blogach wpisy, w których ...
Sztuka programowania 4223 dni, 4 godziny, 35 minut temu 219 źrodło rozwiń
Reguły, zasady – przemyślenia na ich temat ostatnio opanowały mój umysł, więc naturalną konsekwencją jego stanu są kolejne moje wpisy. I czuję, że to jeszcze nie koniec. Na blogu ostatnio jest bardziej filozoficznie, ale tak bywa, kiedy dokonuje się retrospekcji. Dziś co nieco o regule nazywania warunków (wywodzącej się z reguły wydzielania metody). Chodzi w niej o to, aby wyrażenia logiczne występujące w kodzie...
Sztuka programowania 4217 dni, 22 godziny, 2 minuty temu 191 źrodło rozwiń