O tym, że od dawna można w VS używać transformacji web|app.config pewnie każdy już wie (jeżeli nie do zapraszam do przeczytania podstaw w poście Web Deployment: Web.Config Transformation). Jak i każdy wie, że łatwo jest zmienić wartość jednej wartości z appSettings czy też ją kompletnie usunąć. Tak jak łatwo jest usunąć lub zamienić inne elementy które już istnieją. Czy jednak kiedykolwiek, próbowaliście coś dodać? Dla przykładu, jeżeli będziecie chcieli dodać tag
Sztuka programowania 4080 dni, 3 godziny, 18 minut temu 97 źrodło rozwiń
WCF service allows you to use a huge functionality even though you have a slow local machine. Sounds good? Yes, it does. Let’s create a simple WCF service to add people. All coding is done with VS 2010 Ultimate. What you need to do first is to create a new WCF Service Library. When it is already done, please delete all default classes, which creator has added to your project automatically. Now follow these steps: 1) Prepare a simple class which will be responsible for a new ...
OWIN stands for The Open Web Interface for .NET. It is a standard for communication between .NET web servers and web applications. It defines required elements for HTTP request. It is inspired by Rack from Ruby on Rails World. Katana is implementation of this standard. We can say that it is a lightweight web server for .NET. In fact, it is more than that.
12.13.12 by MJ In September I wrote a short article about writing a clean code. I told you that it is a good habit to implement programs with a one and good style. Today I am going to wrtie something about a special tools which are very useful during programming. First of all, you need to have a JetBrains ReSharper installed at your local machine. Then you have to download a StyleCop, which is a plugin designed for ReSharper (http://stylecop.codeplex.com/releases/view/79972). ReSharper allows...
W tym wpisie chciałbym przedstawić co to jest system ekspercki i jak można taki system stworzyć w .Net. System ekspercki lub doradczy to taki system, który na podstawie uzyskanych faktów (danych od użytkownika) potrafi wybrać lub doradzić najlepsze rozwiązanie jakiegoś problemu. Użytkownik przekazuje informację do systemu odpowiadając na pytania. Istnieje wiele przykładów takich systemów np. system diagnozujący co mogło popsuć się w aucie. Człow...
O Simple.Data parokrotnie już pisałem na blogu. W aktualnym projekcie używamy tej biblioteki dość intensywnie – tak naprawdę zastąpiliśmy nią całkowicie NHibernate i jest to nasz jedyny sposób na kontakt z bazą. W większości scenariuszy w tym systemie ów wybór sprawdził się znakomicie. Ma to także swoje wady, ale o tym może kiedy indziej. Problem pojawia się w momencie, gdy chcemy wykorzystać Simple.Data z bazą danych, która nie jest...
Bazy danych i XML 4086 dni, 4 godziny, 45 minut temu 195 źrodło rozwiń
by MJ How many times have you heard about building a well designed web application? 3-4? I mean in your daily work. How many times have you faced a problem with code written before? Wrong naming, wrong spacing, wrong design, wrong patterns/no patterns, wrong repository, wrong database connection, wrong architecture. There are a lot of mistakes done, before you have first seen the project. Then, the most common situation is that your boss comes to you with a request, that the previous web application s...
07.27.13 by MJ My friend has asked this question one week ago. He was not able to understand the usage of interfaces in his small projects. I decided to explain it, but I knew that it would be a long journey, from the beginning to the end. FInally he got the idea. Today I will try to explain this to you, audience. “Q” is defined as a question. “A” as an answer. Q: What is interface? A: We can say that interface is a kind of class which has declarations of all methods, properties or events. I...
Sztuka programowania 4087 dni, 6 godzin, 38 minut temu 251 źrodło rozwiń
W tym wpisie zamieszczę kilka wskazówek i informacji jak w miarę bezboleśnie rozpocząć naukę i pracę z Linq i na co warto zwrócić uwagę. Praca z linq daje możliwość obsługi wielu źródeł danych za pomocą tych samych metod, jako przykład wykorzystam bazę danych, którą pokazałem kilka wpisów temu. Do połączenia z bazą danych używam EntityFramework. Dla przypomnienia schemat poniżej. Składania W linq mamy możl...
Domyślne ustawienia UAC w Windows 7 (a także Windows 8) nie zapewniają nam niestety pełnego bezpieczeństwa. Istnieje kilka znanych sposobów ‘ataku’ na UAC, które pozwalają na wykonanie kodu z podniesionymi uprawnieniami bez konieczności potwierdzania komunikatów UAC. Spróbuję opisać jeden z nich, który wydaje mi się szczególnie interesujący ze względu na wykorzystane mechanizmy. Konfiguracja UAC Po instalacji systemu domyślnie mamy ustawiony poziom 3 (Rys 1), który jest o jeden szczebelek niżej od najw...
Opublikowano Z okazji dzisiejszego dnia programisty: Wszystkiego najlepszego, mniej bugów, więcej testów, szybszych maszyn, łatwej współbieżności i nieupierdliwych „product ownerów”, „product managerów”. Oby kod zawsze robił to co chcesz.
“A single conversation with a wise man is better than ten years of study” Powyższe chińskie powiedzenie jest myślą przewodnią konferencji 33degree. Konferencji bardzo mocno nakierowanej na Javę. Znalazłem się na niej praktycznie tylko i wyłącznie dzięki Robertowi C. Martinowi. To jego wykład przyciągną mnie na tą konferencje. Rok później również udało mi się na nią pojechać bo okazało się, że jest bardzo wartościowa, a w dodatku wybierając ciekawe dla mnie (.netowca) tematy nie miałem naw...
Po dłuższej urlopowej przerwie w blogowaniu zacznę od zagadki z serii co zostanie wypisane na ekran, którą podsunął mi kolega Przemek: decimal d = 2; Console.WriteLine("d == 2 = {0}", d == 2); Console.WriteLine("d == (decimal)2 = {0}", d == (decimal)2); Console.WriteLine("d.Equals(2) = {0}", d.Equals(2)); Console.WriteLine("d.Equals((decimal)2) = {0}", d.Equals((decimal)2)); Tutaj jeszcze nie ma haczyka i odpowiedź to 4XTrue. Zmieńmy jednak jedną liniję: decimal? d = 2; Tym razem odpowiedź jes...
Sztuka programowania 4092 dni, 8 godzin, 51 minut temu 167 źrodło rozwiń
Niedawno napotkałem w Gicie dziwny problem… tak naprawdę jeden z dwóch poważnych, które utrzymywały się przez długi czas (drugi to line-endings które do dziś potrafią mnie w zad uszczypnąć). Mianowicie mój kochany, uwielbiany Git pokazywał mi podczas merge konflikty w każdym jednym pliku, niezależnie od tego czy coś było w nim faktycznie zmieniane czy też nie. Po otwarciu mergetool okazywało się, że nawet jeśli jakieś zmiany nastąp...
Dalsze rozważania na temat nullanle.
Sztuka programowania 4092 dni, 8 godzin, 51 minut temu 183 źrodło rozwiń
Do napisania niniejszego wpisu zainspirowała mnie pewna dyskusja, którą prowadziłem z kolegą po fachu. Dyskusje wywołało niefortunnie(wg. mojego kolegi) użyte przez ze mnie słowo mock zamiast stub. Za nim przejdę do opisywania dyskusji szybko trochę teorii i nomenklatury. W tym wpisie celowo pomijam techniki takie jak TDD czy BDD i pewnie tracę przez to wielu czytelników;). Pragnę skupić się na tym czym jest i był...
Sztuka programowania 4094 dni, 5 godzin, 33 minuty temu 457 źrodło rozwiń
It was always bothering me, when I wanted to run one simple command, and I needed to create new C# console project in Visual Studio to do that. With scriptcs I can finally do that in console. Project scriptcs allows you to run single commands and also C# script files.
IKVM.NET to wirtualna maszyna Javy napisana w .NET oraz zbiór implementacji podstawowych klasy z Javy dzięki którym możliwe jest uruchamianie kodu Javy bezpośrednio w środowisku .NET/Mono. Paczka IKVM.NET zawiera dwa główne narzędzia ikvm.exe (maszyna wirtualna) oraz ikvmc.exe – translator bytekodu Javy do .NET IL. IKVM.NET (ikvmc) umożliwia wykonanie szybkiego portu (translacji) biblioteki Javy do .NET. W moim przypadku była to biblioteka Morofologik – analizator morfologiczny, słownik morfologiczny i ...
Sztuka programowania 4094 dni, 5 godzin, 33 minuty temu 226 źrodło rozwiń
Posted by kamilhawdziejuk on If you ever wondered how programming can change your home environment this post will show you how this can be done in .NET world. There are a few open source projects developed in Microsoft Research that will change the world in near future about which developers should know: 1. HomeOS (http://research.microsoft.com/en-us/projects/homeos/ with http://homeos.codeplex.com/) Lab of things (http://www.lab-of-things.com/ with http://labofthings.codeplex.com/) .NET G...
Zauważyłem, że czasami programiści używają Debug.WriteLine, aby wyświetlić jakieś informacje w oknie output: Debug.WriteLine("Jakies informacje."); Nie ma w tym nic złego, ale czasami dodawana jest powyższa linia tylko tymczasowo, aby ułatwić sobie debugowanie (szczególnie aplikacji wielowątkowej). Visual Studio pozwala osiągnąć ten sam efekt, za pomocą zwykłego breakpoint’a. Wystarczy najpierw ustawić breakpoint (naciskamy F9), a potem kliknąć na nim i wybrać When Hit: Zostanie otworzone nowe ok...