autor: Dzisiaj wrócę do tematu użycia języka C# jako języka skryptowego przy pomocy Mono.CSharp.dll i opiszę w jaki sposób przekazać parametry do takiego skryptu. Pominę podejście opierające się o wklejanie do skryptu string'owej reprezentacji takich parametrów i od razu przejdę do bardziej eleganckiego rozwiązania. Bazuje ono na tym co przeczytałem w tym poście. Zaczynamy od utworzenia statycznej klasy ScriptContext, która posłuży nam do wymiany danych pomiędzy skryptem, a naszym programem...
autor: Od jakiegoś czasu pracuję nad aplikacją do generowania i analizowania wykresów rekurencyjnych. Temat sam w sobie jest bardzo ciekawy, więc może do niego wrócę w przyszłości, ale dzisiejszy post będzie o czymś innym. Moja aplikacja między innymi wykonuje obliczenia na wektorach np.: oblicza różne odległości (euklidesową, Manhattan czy normę maksimum) między nimi. Dodawanie kolejnych algorytmów wymagało jednak każdorazowej rekompilacji aplikacji. Zacząłem więc szukać sposobu aby umożl...
W miniony weekend postanowiłem zaradzić coraz większemu zamulaniu pracowego laptopa. Wziąłem swój zakurzony, nieużywany od wielu miesięcy 120GB SSD OCZ Vertex2, wsadziłem jako główny dysk do Vostro i, dając się ponieść chwili, wrzuciłem nań Windows 8. Wszystko poszło zadziwiająco sprawnie i prawie bez problemów, i wreszcie komputer jest gotowy do pracy po 15 sekundach od wciśnięcia "on" a nie po 15 minutach. Ale ja nie do końca o tym...
Po ostatniej prezentacji dotyczącej Behaviour-Driven Development (BDD) postanowiliśmy przedstawić tą tematykę w bardziej przystępnej dla internautów formie. Stąd też poniższy wpis, gdzie zostaną przedstawione podstawowe założenia BDD, a już wkrótce pojawi się kolejny – opisujący zastosowanie tej metodyki w aplikacji ASP.NET MVC.
Sztuka tworzenia oprogramowania otoczona jest baaardzo wieloma "złotymi zasadami". Ich przestrzeganie nie gwarantuje co prawda sukcesu, lecz może znacznie poprawić jakość efektów naszej pracy. Chociażby SOLID... Dobrze jest zdawać sobie sprawę z tego, że nie tylko na poziomie kodu możemy pozytywnie wpłynąć na kształt projektu. Tak banalna pozornie sprawa jak sposób tworzenia commitów do systemu kontroli wersji może drastycznie zwiększyć komfort pracy nad systemem oraz ułatwić jego rozwijanie. Niestety sc...
Z Gitem pracuję na co dzień już dobre trzy lata, czy nawet więcej. I kocham ten soft. Uważam go za najlepsze narzędzie z jakim kiedykolwiek spotkałem się w swojej programistycznej karierze - we wszystkich kategoriach. Nic nigdy aż tak bardzo mi nie zaimponowało. Zresztą rozwodzić się nie będę - o tym można poczytać we wszystkich moich postach dotyczących Gita. Nie mam jednak w zwyczaju wpadać w jedno narzędzie i od razu zakładać, że jest ono "the only one". Z tego też powodu do projektów pobocznych przez...
Opublikowano Ostatnio pisałem o Web Essentials 2012 dzięki, któremu możemy szybko i łatwo generować klasy na podstawie json-a a dzisiaj zobaczymy co jeszcze daje dodatek Web Essentials 2012. W plikach CSS mamy dodatkowe menu Web Essentials: Minify selection – minimalizuje naszego css-a (w MVC4 można to również zrobić za pomocą bundle-s ale nie każdy używa przecież MVC)Remove Duplicate Properties – usuwa powielone właściwości. Bardzo przydatne jeśli nad css-em pracuje więcej niż jedna osoba lub css...
Używam bardzo popularnego narzędzia Azure Storage Explorer, który pozwala w prosty sposób sterować rzeczami jakie mamy w Azure Storage. Od pewnego czasu całą zawartość statyczną stron PlaceChallenge wynoszę z hostowania pod serwerem aplikacyjnym (IIS/Apache) do magazynu danych Storage, który oferuje chmura Azure. Jest to bardzo wygodna opcja, ponieważ prócz znacznego poprawienie wydajności samej aplikacji (serwera aplikacyjnego) zdejmując z niego obowiązek hostowania plików i utrzymywania połączeń z pr...
Tworząc na platformę Windows Embedded Compact (Windows CE) oraz Windows Embedded Handheld (Windows Mobile) programista .NET nie ma zbyt dużego wyboru. Komplet Visual Studio 2008 i .NET 2/3.5 CF jest standardem. Co prawda VS2008 to całkiem solidny kombajn z którym można żyć w zgodzi (zresztą robię to codziennie :)). Nie zmienia to jednak faktu, że nowsze wersje są po prostu lepsze.
JSON-a pełno wszędzie ale jeśli jeszcze się jakimś trafem z nim nie spotkałeś to warto poczytać co to jest json. Jeśli natomiast głowisz się jak z jsona wygenerować klasy to masz mamy kilka możliwości: klepiemy mozolnie kod lub szukamy jakiegoś generatorka który to zrobi lub….. wklejamy przykładowego jsona do Visual Studio 2012. i tak oto z przykładowego JSON-a z wikipedii (link na początku) otrzymujemy: szybko i wygodnie, szybciej się nie da. Jeśli nie widzisz w menu Paste JS...
Jak często zdarza się, że szukamy jakiejś opcji w IDE i nie możemy znaleźć miejsca w którym się ona znajduje? IDE jakim jest VS przez lata ewolucji rozrosło się do tak dużych rozmiarów, że znalezienie odpowiedniej funkcjonalności może zająć całkiem sporo czasu. Microsoft zauważył ten problem i w nowym VS 2012 wprowadził Quick Launch...
Visual Studio to potężne narzędzie i tak na dobrą sprawę ciężko wykorzystać wiele z możliwości dostarczonych przez projektantów Microsoftu. Spora grupka programistów ogranicza się do podstawowego zakresu funkcji - Solution Explorerem>, IntelliSense i ewentualne prostego debugowania. Tymczasem liczba opcji dostępnych w tym IDE jest porażająca. Sam często odkrywam nowe funkcje przez przypadek, lub wynajduję ich opis w Internecie. Po jakimś czasie zastanawiam się tylko, jak mogłem wcześniej programować bez ...
Z komendy Make Object ID korzystam już od bardzo dawna, nie codziennie ale w niektórych sytuacjach jest ona nieodzowna. Ostatnio zorientowałem się jednak, że nawet doświadczeni użytkownicy VS mogą o niej wiedzieć i stąd pojawił się pomysł na ten post.
Jeżeli korzystamy z najnowszego Visual Studio 2012 Windows Desktop możemy się rozczarować gdy zamiast dobrze znanego okienka dostaniemy irytujące modalne okienko.
Niniejszy blog oparłem na dotnetowym CMS'ie Orchard, jednak w standardowym zestawie modułów brakowało mi takiego, który wyświetlałby najnowsze komentarze do postów w formie listy. Postanowiłem więc stworzyć własny widget, który byłby za to odpowiedzialny (efekt można obejrzeć w lewym dolnym placeholderze na tej stronie). Poniżej opis tworzenia własnego widgetu.Przygotowanie modułu Na początek należy utworzyć nowy moduł Orcharda (dokumentacja dostępa tutaj). Na początek, trzeba upewnić się, że mamy zains...
Mr Jenkins in Metro Some weeks ago I started work on Metro Apps. For me the most difficult was forget about Entity Framework or SQL Server. New framework from Microsoft is very interesting but require many changes in thinking in programming. Mobile applications cannot be so heavy as PC or web applications. Small devices even that they are stronger and stronger but they are not so strong as servers or desktops. On my blog I will try to show you my experiences with new WinRT and I will try exchange...
VSpniff is a simple tool to find missing references to files in the VS project. You could avoid excluded files problem after bad merge or something else.
I’ve just published a little project of mine on GitHub, called VsDebugFx. It’s a NuGet package which you can install into your .NET project and get more expressiveness during your debugging sessions inside Visual Studio. It’ll let you evaluate expressions that use C# features which are not normally allowed by the IDE, namely: lambda expressions, anonymous types, LINQ queries and implicitly-typed arrays. I don’t want to repeat myself (DRY anyone?), so if you’re interested in knowing more, go check out th...
W ostatnim czasie zapoznawałem się trochę bliżej z narzędziem o nazwie NDepend. Przez ten czas na pewno nie stałem się ekspertem w korzystaniu z NDepend, chciałbym jednak podzielić się moimi subiektywnymi odczuciami na jego temat. Nie będę tutaj wymieniał jego funkcji (można to znaleźć na stronie producenta lub w wielu innych wpisach), nie będę pisał jak zainstalować (bo to proste, choć mi się nie podobało - lubię instalować a nie rozpakowywać :) ), nie będę się zastanawiać czy warto tego narzędzia używ...
krótki artykuł dotyczący integracji i konfiguracji systemu SVN z TeamCity.