Post zawiera opis jak zacząć używanie mongoDB oraz implementacje wzorca repozytorium, który znacznie przyspieszy pracę z danymi.
Bazy danych i XML 2691 dni, 13 godzin, 54 minuty temu 323 źrodło rozwiń
Recently I've been coding some WCF methods and I've got a strange exception during WCF message serialization. I needed to send list of enums to the WCF service. There are couple of ways to do that. First solution is using [Flag] attribute to combine several enum values into one variable - but then you need to use powers of 2 for enum values. I couldn't do that because of the requirements and actual big number of that enums stored in current database. It would require writing and applying a lot of scrip...
Sztuka programowania 2695 dni, 18 godzin, 55 minut temu 160 źrodło rozwiń
by Marcin Borecki Dzisiaj artykuł z serii poważnych– choć po przeczytaniu części tekstu mogło by się wydawać, że żartuję to chciałbym położyć nacisk na to by wszyscy zrozumieli jak działają dyski podłączone automatycznie do maszyny wirtualnej. Chciałbym dzisiaj zainspirować wszystkich do czytania tego bloga, albo chociaż do przeczytania dokumentacji w Windows Azure do komponentów, których zamierzacie używać. W ramach usługi Windows Azure możemy założyć maszyny wirtualne zarówno z systemem Linux jak I W...
Programowanie rozproszone 2695 dni, 18 godzin, 55 minut temu 138 źrodło rozwiń
Opublikowano Używanie najnowszych wersji, często jeszcze nie oficjalnie wydanych ma oprócz niekwestionowanej radości z nowych ficzerów rownież i ciemną stronę. To się czasem coś wywali, coś nie działa etc. Projekt nad którym pracuje rozwijany jest już w VS2013 ale instalka jest buildowana w VS2012 – autor WiX-a jakoś nie spieszy się do wspierania VS2013 więc trzeba się w starej wersji babrać. Teoretycznie projekty są zgodne, ale jeśli w solution założymy nowy projekt w VS2013 to VS2012 jakoś tego nie ...
Tytuł tego posta określa wg mnie ten kawałek viżuala: Naszukałem się swego czasu baaardzo sporo, aby odnaleźć sposób na otwarcie tego z klawiatury, głównie dla komendy “open containing folder”. I się nie udało. Znalazłem nawet dedykowane temu problemowi pytanie na SO pozostające bez poprawnej odpowiedzi, więc uznałem, że się nie da. Ale ostatnio całkowicie niechcący… udało się.
by MJ Decorator is a design pattern used to dynamically ”decorate” (e.g. add new actions) another classes. Let’s say that you have class which describes Window. It can be opened or closed. Then, you decide to decorate it with curtains or to clean it – you will do it yourself or hire somebody, who will be a decorator. Let’s create a simple project: 1) First of all, you need to add “Decorator” folder. Inside of this folder please create Window.cs class which will describe our window in the real world...
Architektura 2695 dni, 18 godzin, 55 minut temu 163 źrodło rozwiń
by MJ Prototype design pattern. You should use it whenever you need to clone model classes. A simple example is when you have 1000 clients and you need to provide them invoices. Then, you only need to change e,g, names, surnames and total amount – you don’t need to create another invoice from the beginning. Again, the same situation is when your class is a parent for other classes – in this situation, it is not easy to create new – you should clone existing instance and then try to modify it. Here is a...
Architektura 2696 dni, 1 godzinę, 44 minuty temu 117 źrodło rozwiń
Jeżeli po przeczytaniu tytułu tego wpisu masz mieszane uczucia, bo niby co wspólnego może mieć psychologia z programowaniem, to zanim postanowisz zrezygnować z dalszej lektury, przypomnij sobie o wzorcach projektowych, a dokładnie skąd się one wzięły. Tak, początkowo to nie był pomysł programisty, ale architekta. Okazał się on jednak nie przystawać do tej dziedziny, za to zgrabnie dał się zaadaptować do naszego podwórka. W przypadku psychologii analogia nie jest może aż tak bezpośrednia, niemniej ...
Sztuka programowania 2697 dni, 21 godzin, 33 minuty temu 296 źrodło rozwiń
Recently I've passed last exam required to obtain Microsoft Certified Solutions Developer. Now I'm fully certified in web development in .NET framework. That wasn't my first meeting with exams from Microsoft and because of that I want to leave some comments about them. First of all I must say that preparation for some of them took me more time than I thought. That's because exams are testing knowledge in a very detailed way. In my opinion sometimes in too detailed way. Of course they should be diffic...
Ostatnio czytając jedną z książek o programowaniu w Objective-C natrafiłem na sformułowanie o polimorfizmie, które spowodowało u mnie wodę z mózgu. Musiałem się nad nim naprawdę zastanowić, gdyż do tej pory w ogóle o tym w takich kategoriach, a jednak. Po dłuższym zastanowieniu się zrewidowałem swoje pojęcie co to jest polimorfizm. Wszystko zaczęło się od tego zdania:Polymorphism enables programs to be developed so that objects from different classes can define methods that share the same name. Kod w O...
Sztuka programowania 2697 dni, 21 godzin, 33 minuty temu 217 źrodło rozwiń
Dane w postaci tekstowej mogą posiadać różnorodne formaty. Poszczególne wartości mogą być w nich odseparowane od siebie w dowolny sposób: albo za pomocą dedykowanego znaku, albo poprzez przyjęcie, że każda wartość zajmuje z góry ustalony obszar, a jeśli nie wypełnia jego całości, to jest on uzupełniany spacjami. Same wartości mogą mieć różną postać, wystarczy chociażby pomyśleć o dacie...
Bazy danych i XML 2697 dni, 21 godzin, 33 minuty temu 277 źrodło rozwiń
Wpadłem na pomysł rozwiązania pewnego dręczącego mnie problemu (o którym pewnie wkrótce) w aplikacji webowej. Pomysł ten polega na wstrzyknięciu informacji o aktualnym użytkowniku w postaci JSON do HTMLa zwracanego do przeglądarki. Ot, po prostu żeby strona kliencka wiedziała z kim ma do czynienia. Aplikacja ta powstaje w Nancy – bardzo eleganckim frameworku, o którym chyba kiedyś wspomniałem, ale też którego nigdy w technicznym poście nie poruszyłem. W Nancy ...
We, software developers, are crazy. Surprisingly, that’s what we have been told at the very beginning of the DevDay conference. The speaker, an ABB guy (I didn’t catch his name because I came 5min late) with a strong Slavic accent made his point about passion, self-motivation and personal abilities in the world of software development. At the same time, he compared it to his hobby - running. We are crazy, because we get up early on Saturday and get together to devote the whole day to nerdy IT topics. The...
by MJ Facade is one of design patterns which are used most frequently. To explain what it is and how to use it, we can compare it to a black box. In black box test, tester is only allowed to create the input and get the output. He doesn’t know anything about processing inside of the system. You will meet similar situation in Facade – you don’t want to show out the whole functionality, you need to create some kind of interface which enables user to use the functonality, but he cannot look into the syste...
Architektura 2700 dni, 14 godzin, 27 minut temu 175 źrodło rozwiń
Gdybyś mnie dziś zapytał jakie książki warto przeczytać aby lepiej programować to odpowiedziałbym:Pragmatyczny programista. Od czeladnika do mistrza.Czysty kod. Podręcznik dobrego programisty (Uncle Bob)Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C# (również Uncle Bob) Ot taki starter. Wszystkie książki czytałem już kilka lat temu więc nie pamiętam dokładnie co w...
Przeładowania metod to podstawy języka. Niestety, nieumiejętnie stosowane, mogą przystworzyć problemów nawet zaawansowanym programistom. Z tego względu, uważam, że należy po prostu unikać tych przeładować, które są zbyt trudne w zrozumieniu – powodują niepotrzebne zamieszanie. Zacznijmy od klasycznego przykładu, który jest zrozumiały dla każdego
Sztuka programowania 2703 dni, 20 godzin, 6 minut temu 241 źrodło rozwiń
Ukrywanie folderów i plików w systemie Windows za pomocą komend cmd.
Nie wiem jak wy, ale od kiedy w FF mogłem pierwszy raz użyć console.x (log etc), zakochałem się w tym czymś od razu. Alert poszedł w niepamięć, zaś by wspierać IE pisało się proste wrappery które wywoływały alert wtedy kiedy trzeba było. Ale sam nie wiem czy to przez moją nieuwagę czy też przez niechęć do czytania niektórych artykułów dłuższych niż dwa akapity (głównie tych w dokumentacji produktu :)) w ogóle nie zauważyłem metody która odmieniła ponownie moje życie :)
Chcemy zaznaczyć, że klasa możemy być użyta w jakiś sposób, jednocześnie nie definiując żadnych metod, które klasa miałaby implementować. Może się wydawać, że takie coś nie powinno mieć miejsca, bo zawsze chcemy wykonać logikę która została zaimplementowana dzięki kontraktowi zwanemu interfejsem. Przykładami, że jednak czasem tak bywa są INamingContainer w ASP.NET oraz Serializable w Javie.
Sztuka programowania 2703 dni, 20 godzin, 6 minut temu 236 źrodło rozwiń
Raz na jakiś czas, od dawna, dość regularnie, szczególnie w okresie około-wakacyjnym, dostaję maile z pytaniami od osób zastanawiających się nad własną, szeroko pojętą, przyszłością. Przyszłością w kontekście zostania słodkim, wymiatającym, wypasionym programistą. Nie wiem właściwie skąd przeświadczenie że ja, “complete-stranger”, mogę posiadać odpowiedź na to pytanie:), ale jako że do mnie jest ono właśnie adresowanie, ...