Browsing Category

jetbrains

Daj Się Poznać 2017 jetbrains steganography

StegoCore – podsumowanie po 7 tygodniach

Kolejne, szybkie podsumowanie tego, co słychać w projekcie.

Co słychać?

  • Implementacja algorytmu Zhao & Koch trwa dłużej niż się spodziewałem. Aktualnie kończę algorytm umieszczania znaku w pliku graficznym. Myślę więc, że do końca tygodnia uporam się z całym tematem. Wtedy też implementacja pojawi się na githubie. A po przejściu testów, wypuszczę kolejną wersję demo aplikacji.
  • Na jakiś czas zmieniłem IDE na Rider. Sprawuje się zaskakująco dobrze, więc warto sprawdzić. Jeśli ktoś nie słyszał, to zapraszam na moją recenzję.
  • I to w sumie tyle 😀 a z takich mniej technicznych informacji – w trakcie ostatnich świat wielkanocnych nie dałem rady zająć się aplikacją, więc chcąc nie chcąc zrobiłem sobie tygodniową przerwę.

Co dalej?

Dokończenie implementacji algorytmu Zhao & Koch. To główny cel na najbliższy tydzień. Dalsze plany zależą od otrzymanych wyników. Jeśli będą one zadawalające (czyli gdy ukryty sekret w pliku graficznym będzie odporny na kompresję JPEG), zajmę się kolejnym algorytmem. Jeśli nie – optymalizacja algorytmu Zhao & Koch.

Daj Się Poznać 2017 dotnetcore jetbrains os x

Alternatywa dla Visual Studio? Rider od JetBrains

Kiedy programujemy w C#, w większości przypadków jesteśmy skazani na Visual Studio. Czy słyszał ktoś kiedy o alternatywie? Jakiś czas temu, całkiem przypadkiem, natrafiłem na Rider – nowe IDE dla .NET od JetBrains. Jest on wciąż w trakcie powstawania, jednak stwierdziłem, że warto sprawdzić czy jest na co czekać. Testowany przeze mnie build to:  EAP build 20. Narzędzie jest multiplatformowe, więc testowałem na Windowsie i macOS.

Firmę JetBrains programiści .NET mogą kojarzyć z rozszerzenia do Visual Studio – Resharper. Jedni uważają, że jest świetne, bo pomaga programiście pisać szybciej kod i utrzymać w nim porządek. Inni nie przepadają za nim, w sumie nie wiem dlaczego. Być może dlatego, że szczególnie młodzi programiści mogą ślepo ufać Resharperowi i korzystać ze wszystkich jego podpowiedzi. Może to spowodować, że taki kod będzie mniej czytelny. Moim zdaniem Resharper jest świetnym narzędziem, ale trzeba wiedzieć kiedy i jak z niego korzystać.

Programiści Java mogą kojarzyć JetBrains z IntelliJ – IDE do Javy właśnie. Nigdy z niego nie korzystałem, ale słyszę że wśród kolegów z pracy zbiera dobre recenzje.

Dochodzimy tutaj do Rider’a, który jest połączeniem IntelliJ i Resharpera. Jak on się prezentuje? Sprawdźmy! 🙂

Instalacja

Ze strony JetBrains należy pobrać odpowiednią dla naszego systemu paczkę. Paczka ma około 300mb. Czas instalacji to kilka minut. Każdy kto instalował Visual Studio, wie że ten proces może potrwać kilkadziesiąt minut, więc tutaj duży plus dla Rider’a.

Po instalacji kreator przeprowadzi nas przez wstępną konfigurację, wybór kolorystyki, klawiszologii. Możemy również zainstalować opcjonalne rozszerzenia. Po tym możemy przystąpić do pracy. Do wyboru mamy otwarcie gotowego projektu lub stworzenie nowego.

Nowy projekt

Do wyboru mamy kilka szablonów dla .NET, Xamarin i .NET Core:

Do testów zdecydowałem się na MVC ASP.NEt Core Web App. Otrzymujemy gotowy szablon do pracy. Edytor prezentuje się następująco:

Edytor Rider

Zarówno na macOS i Windows buildowanie oraz uruchomienie aplikacji przebiegło bez żadnych problemów. Pozytywnie zaskoczyło mnie buildowanie na Windows dużej solucji z aplikacją w .NET. Wszystko działa jak należy. Jedyny problem jaki napotkałem to brak możliwości debugowania aplikacji w .NET Core. Nie jest to winą Rider’a, a postanowień licencyjnych. Wykorzystanie pakietu umożliwiającego debugowanie aplikacji .NET Core możliwe jest tylko w Visual Studio, Visual Studio Code i Xamarin Studio.

Pomyślałem, że jednak najlepiej będzie jak przetestuję Rider’a w praktyce. Uruchomiłem więc projekt StegoCore i przystąpiłem do pracy. Poniżej moje uwagi podzielone na plusy i minusy.

Plusy

  • Wspiera większość projektów .NET, .NET Core i opartych na Mono
  • Multiplatformowy – działa na Windows, macOS i Linux
  • Działa bardzo płynnie, nie zauważyłem żadnych przycięć itp; zdarzają się czasami jakieś błędy, ale nie powodują wyłączania aplikacji
  • Wbudowany Resharper – refaktoryzacja kodu, analiza kodu
  • W pełni sprawny menadżer pakietów NuGet

    Rider NuGet

  • Unit test runner – pozwala uruchamiać i debugować testy NUnit i xUnit.net

    Rider Unit Test Runner

  • Wbudowane wsparcie dla systemów kontroli wersji: Git, Subversion, Mercurial, Perforce i TFS
  • Możliwość połączenia się do bazy danych (testowałem na MS SQL)
  • Dekompilator

    Rider decompilator

    Przy użyciu Go to Declaration na dowolnym elemencie biblioteki zostaniemy przeniesieni do jej kodu źródłowego. W sytuacji gdy jest on niedostępny dekompilator Rider’a przygotowuje dla nas kod C# biblioteki.

  • Rozszerzalność przez pluginy

Minusy

  • Pojawiające się błędy; przy czym trzeba mieć na uwadze że jest to wciąć wersja early build
  • Podczas otwarcia istniejącego projektu ASP.NET MVC nie zostały wczytane pliki widoków *.cshtml
  • Brak Package Manager Console
  • Brak możliwoście debugowania aplikacji w .NET Core

Podsumowanie

Pierwszy kontakt z Rider wyszedł pozytywnie. Praca w tym IDE jest przyjemna i szybka, a o to przecież chodzi. Projekt rozwija się bardzo dobrze i trzeba się cieszyć, że w końcu rośnie konkurencja dla Visual Studio. Być może zmotywuje to Microsoft do lepszej pracy nad swoim produktem. Mocno na to liczę, bo myślę że wielu z programistów wolałoby mieć jakąś alternatywę przy wyborze IDE.

Zachęcam również Was do spojrzenia na Rider’a. Aktualna wersja umożliwia darmowe przetestowanie i zapoznanie się z IDE.