Semantyczny model dostarcza nam wiele informacji o kodzie, które zwykle uzyskuje się po kompilacji. Na przykład przeładowanie metod jest dużo łatwiejsze do określenia już po kompilacji. Oznacza to, że nie jest już to klasyczna, statyczna analiza kodu. Z tego względu, najpierw danych kod należy skompilować za pomocą...
Roslyn to nie tylko parsowanie kodu, ale również zarządzanie projektem\solucją za pomocą WorkspaceAPI. Pisząc różne narzędzia dla programistów, oprócz analizy kodu, zwykle chcemy mieć informacje o kontekście danego kodu – np. nazwie pliku czy projekcie w którym znajduje się dana klasa. Workspace API, jak nie trudno domyślić się, opiera się na abstrakcyjnej klasie Workspace. Zwykle jednak pracować będziemy z MSBuildWorkspace, która pozwala nam zarządzać .sln czy .csproj:MSBuildWorkspace msWorkspace = M...
W poprzednim wpisie, w dużym skrócie przedstawiłem po co powstał Roslyn i komu może przydać się. W kilku kolejnych postach, zaprezentuję w praktyce jego najważniejsze funkcje. Zaczynami od scripting API. APi szczególnie przydatne w przypadku edytorów do gier czy bardziej zaawansowanych reguł biznesowych. Zacznijmy od klasycznego “hello world”...
O projekcie Roslyn od dawna już słychać, ale jeszcze nigdy nie miałem okazji z niego poważnie korzystać, ani wspomnieć o tym na blogu. Czym jest więc Roslyn? W skrócie pisząc jest to “compiler as service”. Roslyn dostarcza API za pomocą, którego możemy komunikować się kompilatorem. Możemy zatem pisać programy, które rozpoznają kod (C#) i mogą go dynamicznie wykonywać. Innymi słowy, dzięki Roslyn jesteśmy w stanie załadować kod w formie czystego tekstu i w pamięci analizować go już jako strukturę dany...
ReSharper is a intelligent extension for Visual studio that supports C#, XAML, XML, ASP.NET and ASP.NET MVC. Using this tool makes code cleaner and more efficient. It’s not cheap but definitely worth it. Below I put some interesting shortcuts to help us daily work
Web essentials jest zestawem narzędzi usprawniającym pracę z aplikacjami webowymi. Wersję 2013 można ściągnąć z stąd: https://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361 Po zainstalowaniu pakietu i odpaleniu aplikacji z Visual Studio, w przeglądarce na samym dole zobaczymy nowy pasek: Zacznijmy od “inspekcji”. Naciskając na przycisk Inspect, możemy zaznaczyć dowolny fragment strony: Na powyższym screenie zaznaczyłem tekst. Przechodząc teraz do Visual Studio, zost...
Wraz z pojawieniem się Roslyn, powstaje wiele interesujących narzędzi. Jednym z nich jest Alive, zachęcam do obejrzenia tego video: https://youtu.be/YipNsoTapho W skrócie – pozwala wykonywać kod w tle, co oznacza, że wiele błędów będziemy w stanie wykrywać na etapie design a nie runtime. Bardzo przypomina nCrunch, ale jeszcze bardziej usprawnia ten proces…
Niedawno pojawiła się wersja RC VS 2015. Wraz z nią, dodano nowe narzędzie diagnostyczne. O performance hub pisałem już wielokrotnie. Visual Studio coraz więcej narzędzi zewnętrznych wbudowuje w IDE. Mamy zatem już do dyspozycji profilery jak i o RC, diagnozowanie ruchu sieciowego....
Tego się nie spodziewałem, ale… MS wypuściłem całkiem ładny edytor tekstu ze wsparciem intellisense i debug który działa na wszystkich platformach! Co prawda wykorzystuje on OmniShartp i do tego Electron ale, ok jest spoko, wygląda trochę jak Atom czy Sublime (ma nawet podobne jak nie te same skróty), do tego ma wsparcie dla GIT i pewnie w przyszłości dla rozszerzeń (głosować! ;)). Już teraz można pobrać jego previ...
NavigationStrona głównaO MniePrelekcjeGutek30th April, 2015pro , asp.net vnext, docker, windows Chcielibyście móc przetestować własną aplikację ASP.NET 5 na linuxie będąc na windowsie? Nic prawie prostszego :) Jednak zanim to będzie możliwe potrzebne jest zainstalowanie Dockera. By tego dokonać możecie zrobić przejść przez kroki tutaj lub przeczytać niżej jak ja to zrobiłem. Najpierw trzeba zainstalować Boot2Docker (link do instalki), z tego względu, że docker nie działa na razie na Windowsach, wymaga...
Każdy z nas jest choć trochę leniwy. Jedni troszkę mniej, inni troszkę bardziej. Ja na ten przykład czasem się rozpędzam i piszę kod, który potrzebuje. Potem o nim opowiadam, a potem ktoś pyta czemu nie skorzystałem z jakiejś tam gotowej biblioteki. Wiem, że każdy z nas należy do mensy i wie, że ten wpis nie wziął się z powietrza.
Już od jakiegoś czasu dość aktywnie (choć z przerwami) udzielam się na StackOverflow wokół tagów .NET/C#. Pomyślałem, że przekroczenie okrągłych 10k punktów jest dobrą okazją do spisania swoich różnorakich przemyśleń na temat tego serwisu.
Czasami zachodzi potrzeba ponownego wykonania jakiegoś kodu, w przypadku np. wyrzucenia błędu. Można samemu zaimplementować to za pomocą np. pętli, kontynuować daną operację w kolejnych iteracjach. Problem w tym, że taki mechanizm można dość znacząco rozbudowywać. Zwykle, chcemy poczekać przed następną iteracją ponieważ szanse, że ponowna próba, natychmiast po pierwszej próbie zakończy się sukcesem jest niska. Ponadto, zdefiniowanie “niepowodzenia” też jest dość skomplikowane. Polly to mała, ale dość ...
Node.js plugin for Visual Studio allows you to create Node.js application within the Visual Studio. It supports editing with IntelliSense, debugging and deployment of Node.js projects. It is a free and available for download
Z życia wzięta historia .NETowca, który po przeprowadzce zaczął nowe życie z MSSQL. Ku pokrzepieniu serc, że jest jeszcze nadzieja. A SSDT może pomóc ją urzeczywistnić.
Dzisiaj chciałbym pokazać Swagger, doskonałe narzędzie służące do dokumentacji REST API. Swagger, korzysta z plików JSON, którymi można opisać nasze API. W przypadku RESTful api m.in. możemy określić:Nazwę zasobuTyp zwracanych danychOpis obiektówWersję APIZwracane kody statusu HTTPParametry (np. query lub HTTP body)HTTP verbs (PUT, GET, POST etc)
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...
Zwykle używałem Moq w swoich projektach, ale ostatnio miałem do czynienia z NSubstitute i jego składnia dużo bardziej podoba mi się.
Boost your dev productivity with cmder + ConEmu Posted on by Michal FrancUnix world and awesome tmux In unix world there is a nice ‘tool’ ‘tmux’ - terminal multiplexer. With ‘Terminal Multiplexer’, you can nicely split up screen and have multiple terminals visible in front of your eyes. While working with python, on one of the screens I had vim running, then there was a screen for interactive Python plus small terminal to issue git commands. I could easily jump between ‘screens’ and also have diffe...
Przez długi czas w mojej karierze w branży IT, pracowałem w małej firmie. Taka praca ma swoje wady i zalety, ale dla mnie największym problem był fakt, że nie bardzo miałem możliwości nauczenia się pracy w grupie. Sytuacja zmieniła się diametralnie w ubiegłym roku, kiedy to zmieniłem firmę na większą, gdzie większe są również same projekty. W praktyce, w krótkim czasie musiałem nauczyć się przynajmniej podstaw pracy grupowej.