Witam w kolejnym już wpisie z serii „Testowanie z Jasmine”. Tak jak obiecałem ostatnio, tym razem zajmiemy się bardzo przydatnym elementem frameworka Jasmine, a konkretnie tytułowymi szpiegami (ang. spy – w dalszej części wpisu będę posługiwał się zamiennie terminem polskim i angielskim). Generalnie, jak sama nazwa wskazuje, taki szpieg służy do szpiegowania… A konkretniej szpiegowania wywołań funkcji oraz przekazywanych do niej argumentów. Zobaczmy z czym t...
Nieraz zdarza się, że musimy samodzielnie napisać jakąś klasę implementującą interfejs IDisposable. Wszyscy na pewno znają wzorzec implementowania Dispose. Osobiście proponuję inną implementację.
In Scrum, every Sprint (iteration) begins with a Sprint Planning Meeting. This meeting has one basic goal, creating a list of user stories which will be delivered in the next sprint. Of course, requirements may also be presented as features, scenarios, etc. I always use user stories, but these rules can also be applied to different types of requirements. Looking from my experience, it is the most difficult event to conduct in the whole Scrum Cycle. Product Owner and Development Team have to work togethe...
Pewien czas temu postanowiłem przeanalizować swoją zawodową listę TODO. Z przykrością zauważyłem, że pomimo dużej rotacji jest na niej jedna rzecz, która wisi już od pewnego czasu. Zrozumiałem, że mniej lub bardziej świadomie unikam tej pozycji. Mogę zrobić wszystko tylko nie to. Tym czymś był JavaScript wraz z wybranym frameworkiem. Postanowiłem, że nie będę robił niczego innego dopóki nie zacznę tej pozycji. Ponieważ jestem człowiekiem, który jak sobie coś postanowi to już nie ma przeproś to … pr...
Prosty sposób na zastosowanie wzorca MVVM w aplikacjach Windows Store tworzonych z pomocą HTML i JavaScript.
Mobile development 2874 dni, 7 godzin, 7 minut temu 170 źrodło rozwiń
Witam ponownie! Dziś, tak jak zapowiadałem w ostatnim wpisie, znów powraca temat „Testowanie z Jasmine” Powoli robi się z tego taki mini kurs (czy jak to nazwać) no ale temat zdecydowanie wymaga kontynuowania… Zatem dziś kolejne aspekty frameworka Jasmine, a konkretniej matchery czyli odpowiedniki asercji znanych z innych frameworków testowych; ponadto „setup” oraz „teardown” czyli sposób na inicjowanie testów i sprzątanie po nich; wspomnę także o metodach w...
Tyle się mówi o rozwoju programistów. Ba, sam o tym często gadam. Że to dobre, że trzeba, żeby nie stać w miejscu a iść do przodu… Ale powiedzcie mi: jak ma się rozwijać programista w typowym programistycznym polskim (i pewnie nie tylko) dev-kołhozie? Przychodzi do roboty, siada do projektu, po 8h wstaje i wychodzi. Niby normalka, ale… niekoniecznie. Moim zdaniem kluczowe jest pytanie: do jakiego projektu ten pr...
Powiadomienia mailowe bezpośrednio z poziomu serwera bazodanowego, to niezwykle przydatna funkcjonalność. W artykule zaprezentowane są możliwości, architektura Database Mail w SQL Server oraz opis najczęściej pojawiających się problemów z rozwiązaniami
Bazy danych i XML 2875 dni, 17 godzin, 48 minut temu 138 źrodło rozwiń
TortoiseSVN has a function named simply “rename” which allows you to change the file name and keep the file history as well. But what if we change the file name for example during refactoring using Visual Studio? Are we fated to lose file history?
Przez ostatnie kilka tygodni miałem okazję pracować nad dość nietypowym projektem - stroną promocyjną działu IT, w którym pracuję. Projekt okazał się niezwykle ciekawą odskocznią od tworzonych na co dzień serwisów biznesowych, a przy okazji było to spore wyzwanie na wielu polach ...
Ostatnio programując w javie (sic!) spodobała mi się jedna rzecz, którą chciałem wprowadzić do swoich projektów w .NET, a mianowicie Interceptor. Pozwala on w prosty sposób udekorować metodę własną logiką i to wszystko za pomocą jednej adnotacji...
Potrzebowałem pewien czas temu uzyskać taki w gruncie rzeczy prosty efekt. Po kliknięciu lewym przyciskiem myszki na butonie otwiera się menu z którego wybieramy interesującą opcję. Niby nic trudnego, ale ja przekombinowałem (nie pierwszy zresztą raz i nie ostatni). Na początek może jak wyglądałby kod takiego buttona: Nic niezwykłego jak sądzę. Teraz tylko tak to zaimplementować aby otwierało się na lewy przycisk a nie na prawy. Najpierw może pokaże jak zrobiłem to w code-behind. Pierwsze co m...
This post is part of the series: iOS for C# Developer. C# developers works with Visual Studio. Recently, some are trying to switch to SublimeText. However, I will assume that you, as C# Developer are familiar with VS. To write iOS applications, you need Xcode. I haven’t heard about nobody who created an working app in a different editor (more advanced than Hello World)...
Poprzedni wpis dotyczył cyklu życia strony w ASP.NET. Był związany z pytaniem, które trafiło mi się na jednej z rozmów kwalifikacyjnych. Po ukończeniu tamtego posta, zaczęły mi się przypominać również inne pytania. Stwierdziłem, że przez następne kilka tygodni będę tutaj na blogu zadawał jedno z takich pytań i starał się je rozwiązać, rozwiewając wszelkie wątpliwości. Pytanie brzmiało: jaka jest różnica pomiędzy słowem new, a słowem override? Zaczynając od przykładu: class Program { stat...
Sztuka programowania 2880 dni, 12 godzin, 22 minuty temu 451 źrodło rozwiń
Kompresja gZIP czyli najprostszy (chyba) sposób na odchudzenie strony. Wiadomo, że należy stosować odpowiednie podejście do tworzenia layoutów, jednak kiedy zdarzy się już tak rozbudowany widok, a nie można z niego po prostu wyrzucić danych czy podielić ich na kilka innych widoków to warto się tym rozwiązaniem zainteresować. W sumie warto się nim zainteresować tak czy tak.
Sztuka programowania 2880 dni, 12 godzin, 22 minuty temu 169 źrodło rozwiń
Zgodnie z obietnicą pora na przekazywanie danych pomiędzy oknami(widokami). Jak możemy zaimplementować taką bądź co bądź podstawową funkcjonalność (na razie nie myślmy w ogóle o WPF a tym bardziej o Caliburn.Micro).Public Property Najprostszym sposobem (nie znaczy, że złym) może być zastosowanie jakiejś publicznej property np. w takim stylu: private void GetAddress_Click(object sender, EventArgs e) { AddressForm addressForm=new AddressForm (); addressForm.ShowDialog(); string ad...
W dzisiejszym wpisie pokażę dosyć mało znaną konstrukcję TOP…WITH TIES. Muszę przyznać, że sam trafiłem na nią całkiem niedawno mimo, iż była ona dostępna już w SQL Server 2000.
Bazy danych i XML 2882 dni, 18 godzin, 58 minut temu 284 źrodło rozwiń
Jakiś czas temu opisałem jak utowrzyć instalator dla uslugi Windows w środowisku Visual Studio. Jest to sposób dość skomplikowany i czasochłonny. Z drugiej strony daje duże możliwości konfiguracyjne i rozszerzające. Nie o tym jednak. W niniejszym artykule opisuję jak zainstalować usługę Windows wyłącznie za pomoca kodu.
Sztuka programowania 2882 dni, 18 godzin, 58 minut temu 245 źrodło rozwiń
W dotychczasowo opisanych częściach cyklu na temat MVVM (z wykorzystaniem Caliburn.Micro) wszystko było pokazane na przykładzie aplikacji mającej wyłącznie jedno okno. W rzeczywistym świecie takie aplikacje należą do mniejszości. Programy mają zwykle kilka okien i tym właśnie teraz się zajmiemy.Podejście klasyczne W klasycznie zbudowanej aplikacji jeśli chcemy wejść np. opcje aplikacji to otwiera się nam nowe okno. Spróbujmy zmodyfikować aplikację z ostatniego przykładu. Modyfikacja View jest pr...