Ponad rok temu, tj. w grudniu 2013 roku miałem okazję poznać nową bibliotekę, Simple.Data. Nawet zrobiłem nt. post na bloku w styczniu 2014 roku link. Teraz, po ponad roku komercyjnego używania tej biblioteki, mam na jej temat pewne przemyślenia, którymi chciałbym się podzielić. Czym jest Simple.Data? Jest to jeden, z coraz popularniejszych "microORM", który łączy ze sobą zalety ORM, przy okazji nie narzucając zbyt dużo konfiguracji oraz "dodatkowych bajerów", które oferują tradycyjne ORM takie jak E...
Strona głównaUżytkownik
jedmac | użytkownik
Ostatnio napotkałem dosyć nieciekawą sytuację podczas integracji ścieżki do folderu znajdującego się na Sharepoint przy użyciu WebDav. Chodziło o to, że po restarcie serwera traciłem uprawnienia do katalogu, przez co w aplikacji webowej nie wyświetlały się elementy z tej ścieżki...
Simple.Data, biblioteka o której wspomniałem w poprzednim wpisie, dostarcza nam możliwość dynamicznego operowania na bazie danych. Co, jeśli chcemy zmapować wyciągnięte dane np. na konkretny ViewModel?
Tuż przed końcem roku Michał opublikował post na temat swojego teamu. Szczerze, jak jeszcze nie czytaliście, to przeczytajcie a potem wróćcie tutaj :) No już to tylko 5-8min, nie pożałujecie :) Ok, już po lekturze? Super. To teraz wróćcie z powrotem i jeszcze raz przeczytajcie akapit poświęcony Feedbackowi. Śmiało, to tylko 2 min czytania. Już? Super. To teraz zapamiętajcie to co przeczytaliście u Michała. Bo feedbac...
Do dzisiejszego wpisu zainspirowała mnie aplikacja, którą współtworzymy z Tymkiem Kęstowiczem. Potrzebowaliśmy połączyć naszą aplikację napisaną w MVC z bazą danych (tu wybór padł na MySQL). Zdecydowanie chcieliśmy uniknąć strzelania z armaty ...
Sztuka programowania 3629 dni, 16 godzin, 42 minuty temu 280 źrodło rozwiń
Jednym z pytań, które zadawane jest na rozmowach kwalifikacyjnych jest to o Entity Framework i odpowiednim podejściu, które należy wybrać podczas tworzenia aplikacji...
Bazy danych i XML 3684 dni, 17 godzin, 4 minuty temu 644 źrodło rozwiń
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 3739 dni, 2 godziny, 35 minut temu 452 ź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 3746 dni, 27 minut temu 920 źrodło rozwiń
Dziś kolejny wpis na temat mikro-optymalizacji. Oczywiście dla większości aplikacji biznesowych taka różnica w wydajności nie ma kluczowego znaczenia. Myślę jednak, że jest to ciekawe z punktu widzenia IL i jak naprawdę działa język c#. Jeśli ktoś z kolei piszę np. grę albo aplikację czasu rzeczywistego, wtedy ma to już znaczenie, co robimy w każdej sekundzie. Zacznijmy od razu od wniosku: foreach w niektórych przypadkach jest znacząco wolniejszy od klasycznego for. Nie powinno to dziwić – w końcu iter...
W dzisiejszym wpisie skupię się na pokazaniu, w jaki sposób można stworzyć prostą metodę pomocniczą dla naszej aplikacji napisanej przy wykorzystaniu ASP.NET MVC. W przykładzie, metoda będzie wyświetlać wszystkie elementy przekazane za pomocą listy do widoku, dodając do nich tekst “Welcome in” (przykład nieco abstrakcyjny, jednak bardzo dobrze przekazuje wiedzę potrzebną na tworzenie helperów w przyszłości). Aby stworzyć metodę pomocniczą, możemy wybrać jedno z dwóch podstawowych podejść: - wewnętrzna...
Sztuka programowania 3748 dni, 8 godzin, 8 minut temu 241 źrodło rozwiń
W ostatnim poście było o SpecsFor, jako alternatywy dla SpecsFlow. Pokazane przykłady były ogólne i nie dotyczyły konkretnej technologii. Z BDD bardzo często korzysta się w celu przetestowania UI. W końcu wpisywane scenariusze, odzwierciedlają typową interakcję użytkownika z aplikacją. Osoby nietechniczne zwykle definiują wymagania z punktu widzenia użytkownika a nie wewnętrznej infrastruktury, która oczywiście nie jest im znana w szczegółach. Dla aplikacji ASP.NET MVC powstał SpecsFor MVC. Dobra wiadom...
Sztuka programowania 3794 dni, 22 godziny temu 120 źrodło rozwiń
Raz na jakiś czas, czyli zwykle przed rozpoczęciem nowego projektu, stajemy przed wyborem stosu technologicznego dla planowanej aplikacji. Jeśli mamy za zadanie stworzyć bogatą, „jedno-stronicową” (single-page??) aplikację webową, koniecznym wydaje się odpowiedni framework JavaScript. Co daje nam taki framework? Ano rzecz jasna oszczędza nam czasu i pieniędzy na pisanie wielu niezbędnych funkcji od zera – dobry framework MVC JavaScript umożliwia nam na przykł...
More experience I gain, more interested I am in how things work underneath the code level. In this post I want to provide short description of the Top 10 programming languages (by TIOBE Index), how they work and their super short history.
Sztuka programowania 3789 dni, 4 godziny, 17 minut temu 441 źrodło rozwiń
Sezon ogórkowy w pełni, dlatego i wpisy troszkę rzadziej niż zwykle, ale że u mnie w mieszkaniu remont to i urlop spędzam w domu i mogę nadrobić trochę zaległości… A w dzisiejszym wpisie temat, który często traktowany jest po macoszemu czyli testowanie JavaScript. O zaletach i konieczności testowania napisano już wiele, a jako profesjonalni programiści musimy wiedzieć, że dotyczy to nie tylko „backendu” ale i warstwy interfejsu użytkownika. Na całe szczęście,...
Istnieje wiele framework’ow ułatwiających izolację danych w testach jednostkowych. Nie opisuje ich na blogu, bo nie wiele od siebie różnią się . Microsoft Fakes jednak ma kilka ciekawych rzeczy i dlatego nim dzisiaj zajmiemy się. Niestety jest dostępny on wyłącznie w wersji Visual Studio Ultimate. Pierwszą wyróżniającą go cechą jest możliwość izolacji metod statycznych, które oczywiście nie mogą być w łatwy sposób mock’owane. Rozważmy klasyczny przykład:publicclass Person { publicvoid Method() ...
Może słyszeliście o takim ptaszku Fody. Ostatnim czasem ptaszek ten podbił moje serce. Korzystam z jego usług tak często jak się tylko da. Ogólnie muszę podziękować Pawłowi Łukasikowi za prezentacje na KGD.NET, która otworzyła mi oczy PropertyChanged.Fody To chyba mój ulubiony pakiet, ale zanim go opiszę muszę zrobić drobne wprowadzenie. Od początku mojej przygody z WPFem ( i ogólnie XAMLem) strasznie żmudnym procesem było bindowanie pomiędzy DataModelem a widokiem (niech zasłona milczenia zakryje fak...
Serię poświęconą WPF oraz MVVM czas zacząć. Wiem – wpisów tego typu jest w sieci sporo. Wiem, MVVM nie zawsze jest idealnym wyborem i istnieje wokół niego sporo kontrowersji. Wiem, emerytury w Polsce są za niskie. Nie zmienia to faktu, że przy okazji implementacji aplikacji WPFowej postanowiłem spróbować zaznać szczęścia w królestwie władcy ModelViewViewModel i jego rycerzy: ObservableCollection i Command. I muszę powiedzieć, że nie żałuję. Na pierwszy rzut oka różnic...
JSON.NET to darmowa i naprawdę prosta w użyciu biblioteka, która umożliwia parsowanie JSON z poziomu c#. Instalujemy ją oczywiście z NuGet: Następnie API jest na tyle proste, że wystarczy tak naprawdę nam tylko IntelliSense:var person =new Person() {FirstName ="Piotr", LastName ="Zielinski"}; string content = JsonConvert.SerializeObject(person); Console.WriteLine(content); Efektem będzie konwersja obiektu c# do JSON czyli: {"FirstName":"Piotr","LastName":"Zielinski"} Podobnie można dokonać deseri...
Scenka1 Facet idzie sobie przez las i napotyka gościa wycinającego siekierą choinki - Panie co pan robisz! Dlaczego dewastujesz las? Nie dewastuję lasu tylko zaciągam dług leśny. Będą święta, na choince powieszę bombki to rodzina będzie zadowolona. No a później posadzę nowe choinki w to miejsce. A kiedy to zrobisz? no za trzy sprinty... Scenka2 Facet idzie sobie przez osiedle i spotyka gościa, który wywala gruz do piaskownicy - Dlaczego dewastujesz plac zabaw? Nie dewastuję placu zab...
Sztuka programowania 3801 dni, 18 godzin, 21 minut temu 422 źrodło rozwiń
Recently I step upon an issue of compiling a project using Mono. Mono itself comes with nice tool called xbuild which is a msbuild brother in Mono world. Xbuild can be used to compile a project from command line. I wanted to compile my project targeting Mono under Visual Studio 2012. Unfortunately, targeting for Mono (profile=Mono) does not exists in Visual Studio. Following instructions will add new profile and then new target – Mono – will be available.Downloa...