Dwa słowa o udziale w hackathonie DevMuster, a następnie jak można wykorzystać AJAX w widokach ASP.NET MVC z odpowiednią paczką NuGetową.
Behavior-driven development (BDD) is a process of developing the software that has evolved from the TDD (test-driven development). We can think of a BDD such as the feature driven approach to the TDD. The main advantage of the BDD over the TDD is the way the tests are being written, in a form of the story that can be understood both by the developers and the customers. In short, we can simply state that the BDD is the TDD done right – it makes use of the so called ubiquitous language which is the core pa...
Sztuka programowania 3195 dni, 9 godzin, 47 minut temu 65 źrodło rozwiń
In this talk, I will present techniques for efficient incremental processing of complex analytical queries, ranging from classical SQL queries to linear algebra programs. Our system, called DBToaster, compiles declarative database queries into high-performance stream processing engines that keep query results (views) fresh at very high update rates. DBToaster uses a recursive query compilation algorithm that materializes a supporting set of higher-order delta views to achieve a substantially lower view m...
Sztuka programowania 3195 dni, 9 godzin, 47 minut temu 26 źrodło rozwiń
Po moim ostatnim poście dostałem maila z dość ciekawym pytaniem dotyczącym zapisywania klasy Money w bazie danych. Pytanie brzmi następująco: […]mam pytanie, którego nie było w temacie, co prawda nie tego dotyczyło, ale może mogę uzyskać wskazówkę, pomoc co w przypadku zapisania takiej struktury do bazy, np wykorzystując EF ? EF domyślnie nie wspiera struct, dlatego mam pytanie, jak to dobrze i prawidłowo zapisywać do bazy ? Jakas podpowiedz ?
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 265 źrodło rozwiń
Udało mi się w ostatnim czasie dodać kilka nowych funkcjonalności do aplikacji Shopping Advisor. A zatem co nowego udało się zrobić:włączyć autouzupełnianie w formularzu dodawania nowego zakupu tak, aby użytkownik wybierał już istniejący z listy – wówczas tylko dodajemy nowy rekord z nową datą do tabeli z historią zakupówprzenieść poniewierające się gdzieniegdzie luźne napisy na przyciskach czy inne tytuły do pliku strings.xml, gdzie ich miejsceopanować sprawę „Floating Action Button” czyli tego fajnego ...
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 142 źrodło rozwiń
Korzystając z Entity Frameworka warto zwracać uwagę na sposób pobierania danych. W przypadku, gdy nie będziemy ich modyfikować, a chcemy jedynie pobrać dane tylko do odczytu, przydatna okaże się metoda AsNoTracking(). Wywołanie metody skutkuje brakiem śledzenia danych przez kontekst. Dzięki temu nie marnujemy niepotrzebnie zasobów. Przyjrzyjmy się poniższemu przykładowi, w którym porównamy pobieranie danych z i bez metody AsNoTracking(). Na początek pobieramy dane standardowo. W tym celu modyfikujemy...
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 269 źrodło rozwiń
Problem chyba tak stary jak stare są aplikacje liczące pieniądze – jak reprezentować kasę w kodzie aplikacji? W świecie .NET jedną z częściej pojawiających się odpowiedzi jest po prostu decimal jednak tak naprawdę jest to tylko połowa odpowiedzi. W każdym razie jeśli chcielibyśmy to zrobić w duchu OOP i OOD.
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 269 źrodło rozwiń
Implementacja INotifyPropertyChanged w aplikacjach wykorzystujących MVVM potrafi przysporzyć o niemały ból głowy. Redundantny kod, monotonia zapisu, rozwlekłe klasy, a wszystko to opatrzone niezliczoną ilością niepotrzebnego kodu. Wraz z ewolucją języka i rozwojem bibliotek starano się optymalizować użycie tego mechanizmu poprzez coraz to nowocześniejsze rozwiązania. Lambdy, refleksje, wykorzystanie atrybutu [CallerMemberName] z C# 5.0 – wszystko to jedna...
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 197 źrodło rozwiń
Programowanie jest powtarzalne. Nic z tym nie da się zrobić. Można jednak to nieco uprościć i zrzucić część rzeczy na dostępne na rynku biblioteki.
Daj się poznać 2016 3196 dni, 17 godzin, 42 minuty temu 168 źrodło rozwiń
Napisany przez paweltymura on Swift to szybki, bystry czy chyży. Słowo to oznacza również sympatycznego ptaka jeżyka. Jest też samochód firmy Suzuki o tej nazwie i chyba do niego najbardziej podobny jest ten język. Taki trochę ciasny, mały i średnio dopracowany. Ale o co chodzi? Dowiecie się w artykule...
Daj się poznać 2016 3196 dni, 20 godzin, 24 minuty temu 182 źrodło rozwiń
Ost. czasy bardzo popularnym językiem jest javascript. Ten język istnieje od dosyć dawna, jednak przez wiele lat traktowny był "po macoszemu". Ost. kilka lat, to jednak zdecydowany "boom" na ten konkretny język. Ilość bibliotek i frameworków jaka powstaje jest wprost niesamowita. Javascript przez wiele lat kojarzony był głównie z frontendem, czyli tą częścią strony www, która wykonuje się bezpośrednio w przeglądarce internetowej. Teraz jednak javascript dorobił się porządnego rozwiązania serwerowego, z...
Czasami tak projektujemy naszą aplikacje, że każdy model ma jedną lub kilka cech wspólnych. Od najbardziej oczywistych, jak na przykład ID, poprzez czas i datę utworzenia, modyfikacji, czy-usunięty, czy-opublikowany i inne czy-? W zależności od poziomu lenistwa cechy te definiowane i utrzymywane są w każdej z klas z osobna lub w jednym lub-lub w kilku interfejsach który jest implementowany przez modele.Do momentu pisania posta byłem gościem, który posiadał jeden wsp...
Bazy danych i XML 3197 dni, 11 godzin, 54 minuty temu 158 źrodło rozwiń
Dzisiaj podstawy, ale wcześniej nie miałem potrzeby skorzystania z funkcji GroupJoin. Myślę, że prosty przykład jest najlepszą dokumentacją. Dosyć częstą używaną funkcją jest GroupBy. Jeśli mamy np. listę zamówień w postaci (IdCustomer, Name), wykonując GroupBy na IdCustomer otrzymamy słownik, gdzie kluczem jest identyfikator zamówienia, a wartością lista zamówień danego klienta. GroupJoin, jak sama nazwa sugeruje jest połączeniem Join z GroupBy. Załóżmy, że mamy nast...
Bazy danych i XML 3197 dni, 11 godzin, 54 minuty temu 170 źrodło rozwiń
Ponieważ bardzo ciężko pisać kod „na sucho”, postanowiłem rozpocząć tworzenie pierwszej aplikacji. W trakcie jej pisania wyjdą na jaw prawie wszystkie elementy mojego projektu, które muszą być zdefiniowane i po części zaimplementowane. Dodatkowo będę mógł odpalić mój Runtime bez wyjątków mówiących, że czegoś mi brakuje.
Daj się poznać 2016 3197 dni, 11 godzin, 54 minuty temu 82 źrodło rozwiń
Do napisania tego tekstu skłoniła mnie dyskusja z jednym z moich młodszych kolegów, zajmujących się (podobnie jak niżej podpisany) tworzeniem rozwiązań opartych o platformę Dynamics CRM. Rozmowa ta wynikła z poczucia rozczarowania, które mój rozmówca odczuwał z w związku ze swoimi zadaniami w pracy. Wyżej wymienione odczucie najlepiej odda następujący cytat: „Wszyscy wokół [czyt. koledzy-programiści] zajmują się ciekawymi rzeczami, a ja napierd[auto-cenzura] kole...
Wskazówka, jak wyłączyc CTRL+Scroll zoom w windows. Zwlaszcza przydatne przy myszkach z tzw. smooth scrollem.
Daj się poznać 2016 3197 dni, 11 godzin, 54 minuty temu 50 źrodło rozwiń
Czy Ciebie też męczy ciągłe przełączanie się pomiędzy środowiskiem pisania kodu a przeglądarką gdy debugujesz JS? Dzięki VS Code nie musisz już tego więcej robić.
Napisany przez paweltymura on W ciągu swojej 10 letniej kariery zmieniłem kilkunastu pracodawców. Pracowałem w różnych miejscowościach i województwach naszego pięknego kraju. Ale do tej pory miałem tylko 4 komputery przenośne. W tym artykule postaram się je opisać i jakoś porównać. Np do samochodów, które znam :)
Network layer is really hard to test and debug. XGain works on the Socket class level and this class doesn’t have an interface. That means testing of any component references to this type is really hard, but everything is possible.
Daj się poznać 2016 3198 dni, 14 godzin, 47 minut temu 44 źrodło rozwiń
The new type of the watcher for the API monitoring is already available. Actually, it has much in common with the website watcher (very akin configuration, and under the hood uses the HttpClient as well), however it does serve a different purpose, which is making the request to the API and validating its response, whereas the website watcher basically pings the given url (well, it can validate its response too), and does not really care about any other HTTP method different than GET. In this POST (did yo...
Daj się poznać 2016 3198 dni, 14 godzin, 47 minut temu 64 źrodło rozwiń