Gulp is a streaming build system (aka task runner). It contains plugins, which allows you to run tasks such as TypeScript to JavaScript compilation, Less to CSS compilation, bundling, minification, running you own scripts, and much, much more...
Strona głównaUżytkownik
wopi | użytkownik
Nieuchronnie zbliża się moment, w którym aplikacja, za którą jestem współodpowiedzialny zostanie opublikowana i zacznie działać u klienta. Lubię ten moment bo jest to ostateczna weryfikacja naszej pracy. Zdaje sobie jednak sprawę, że wiąże się to z wprowadzeniem pewnych dodatkowych funkcjonalności w aplikacji, które w fazie rozwojowej są (całkowicie?) zbędne. I właśnie jedyną z takich funkcjonalności chciałem omówić a konkretnie migrację bazy danych. Pamiętam jak dziś moment, w którym oddaliśmy (na...
Sztuka programowania 3653 dni, 6 godzin, 16 minut temu 201 źrodło rozwiń
23/10/20141 Commentdevtalk, jakub gutkowski, javascript, news, podcastprocentpro Od kiedy zacząłem świadomie organizować swój czas, zajęcia i – przede wszystkim – myśli (o czym można poczytać pod tagiem GTD), żaden mój pomysł się nie “marnuje”. Nic magicznie nie “znika”. Wszystko co wymyślę – ląduje w OneNote. Moja głowa okazuje się dość sprawnie działającym, póki co, narzędziem, bo listę “todo kiedyś” mam wypchaną pomysłami. A zaleta trzymania wszystkiego w ON jest taka, że co jakiś czas do pomysłów ...
Pamiętam jak dawnymi czasami każde exception przyprawiało mnie o gęsią skórkę. Szukałem sposobu jak tu je wyeliminować (choć już wtedy wiedziałem, że niektórych źródeł nie wyeliminuje nigdy). Dziś z perspektywy czasu wiem jaki byłem głupi. Czasami exception to rzecz, o której wprost marzymy. A jak to z marzeniami bywa rzadko się one spełniają. Kilka “ciekawszych” problemów z którymi się zetknąłem:1. Backup bazy danych działa wybiórczo Wdrażając oprogramowanie u klienta liczyłem tylko na jedno ni...
Sztuka programowania 3673 dni, 1 godzinę, 12 minut temu 398 źrodło rozwiń
Z poprzedniego posta “DI: profesjonalne kontenery” wiemy, że wykorzystujemy kontener. Wiemy też, że użycie własnej implementacji to głupota. Pomyśleliśmy również jakimi kryteriami się kierować wybierając kontener do naszego projektu. Tak jak napisałem: ja używam Autofac. I właśnie ta biblioteka wyląduje w przedstawianym demo. Pierwsze co robię to: Install-Package Autofac Mając na pokładzie Autofaca mogę z nie...
Sztuka programowania 3680 dni, 21 minut temu 364 źrodło rozwiń
Po długiej przerwie cykl, wraz ze mną, wraca do życia. W poprzednim odcinku padło stwierdzenie, że rozwiązaniem problemu wielu skomplikowanych zależności jest kontener. I że najlepszy jest własny. O ile drugie stwierdzenie na pewno jest durne i bezsensowne, to z pierwszym też można polemizować. A może tak bez kontenera? Użycie kontenera jest jedną z opcji zarządzania zależnośc...
Na ostatnim (tj. 90) spotkaniu KGD.NET miały miejsce dwie prezentacje. Prezentacja Procenta o DI to było to na co czekałem (tzn. potwierdzenie, że idę słuszną drogą oraz rozwianie pewnych wątpliwości). Druga prezentacja (a może lepiej powiedzieć pierwsza) była poświęcona F#. Nie spodziewałem się nic specjalnego po niej. Co tu dużo mówić pewien czas temu stworzyłem nawet coś w tym języku, ale mówiąc szczerze jakoś specjalnie mi to nie podchodziło. Jednak Michał Łusiak pokazał, że F# to język, którem...
Sztuka programowania 3695 dni, 8 godzin, 31 minut temu 183 źrodło rozwiń
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...
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...
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...
Hej, sorry za tę przerwę! Dopadło mnie chyba to samo o czym pisał ostatnio procent… No ale nic to, oto jestem z powrotem z nowymi siłami do blogowania! A dzisiejszym wpisem postanowiłem kontynuować temat testowania kodu napisanego w JavaScript. Ostatnio zrobiłem krótki wstęp do frameworka Jasmine – jeśli jesteś nowicjuszem w temacie testów jednostkowych w JavaScript lub nie wiesz zupełnie nic na temat frameworka Jasmine, to zachęcam do przeczytania tego wpis...
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...
Nie jestem specjalistą od WCF – właściwie to nawet nie za bardzo lubiłem tę technologię. Było w niej dużo konfigurowania i XMLi, a ja jednak wolę pisać kod. Serwis w WCF Popełniłem kiedyś Serwis, który potem trzeba było utrzymywać. Wszystko było dobrze dopóki inne .NETowe końcówki się z nim łączyły. Dodaje się referencję poprzez „Add service reference” — generują się wszystkie potrzebne klasy — można od...
This post is part of the series: iOS for C# Developer. Previous parts: part 1 (Classes and creating objects), part 2 (strings). The most typical scenario to use multithreading is to maintain responsive UI when we do some resource-consuming computation.C# Let’s consider simple button click action in C#...
Czasami są takie dni w życiu człowieka (a nawet programisty), że wszystko idzie zgodnie z planem. Każde zadanie, które dostaje jest banalne albo (lepsza opcja) zrobione już wcześniej. Miałem kiedyś taki dzień. Jakby to powiedział Skipper dzień idealny. Niestety w moim przypadku to się nie sprawdziło. W moim przypadku sprawdza się raczej “jeśli wszystko idzie zgodnie z planem to znaczy, że to zasadzka”. No ale wracając do meritum dostałem kiedyś “banalne” zadanie musiałem wymienić tło w głównym okni...
Ostatnio znalazłem fajny przykład pokazujący jak można nieoczekiwanie pogorszyć wydajność aplikacji. Załóżmy, że mamy metodę, która jako parametr wejściowy przyjmuje funkcję...
Sztuka programowania 3715 dni, 6 godzin, 21 minut temu 391 źrodło rozwiń
Dzisiejszy wpis będzie dotyczył oczywistej oczywistości. Ale czy na pewno? Zostałem kiedyś zapytany na jednej z pierwszych rozmów o pracę, żeby wymienić jak najwięcej zdarzeń związanych z cyklem życia strony. Pierwszymi (i niestety jedynymi)...
Architektura 3715 dni, 21 godzin, 42 minuty temu 920 źrodło rozwiń
Chyba każdy programista piszący w C# usłyszał kiedyś (najczęściej na rozmowie kwalifikacyjnej) pytanie o typy danych występujących w tym języku. Naturalną odpowiedzią są typy wartościowe i typy referencyjne (taka nierozłączna para bliźniąt), mówimy jakie są różnice pomiędzy nimi, mówimy mądre zdania o stosie i o stercie. Czasem dostajemy “podchwytliwe” pytanie w stylu: String to typ referencyjny czy wartościowy? String to jest przechowywany na stosie czy na stercie? Tablica intów to typ refer...
Sztuka programowania 3716 dni, 20 godzin, 11 minut temu 286 źrodło rozwiń
Jeśli ktoś czytał moje poprzednie posty na temat MVVMa to z pewnością wie, że jednym z plusów jego stosowania jest możliwość odseparowania(w mniejszym lub większym zakresie) pracy programisty od pracy osoby odpowiedzialnej za design aplikacji. Oczywiście tak mówi teoria i często programista sam musi opracować wygląd okna aplikacji (no ale takie jest już życie). Wyobraźmy więc sobie, że dostaliśmy wytyczne jak ma wyglądać okno (takie a takie przyciski, tutaj grid, jakiś checkbox, szerokość elementu ...