Program szkolenia: Narzędzia podnoszące jakość procesu wytwarzania i wdrażania Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Narzędzia podnoszące jakość procesu wytwarzania i wdrażania NET-tools-.Net Tools Narzędzia.NET developerzy 2-4 dni 50% wykłady / 50% warsztaty Uczestnicy szkolenia nabędą praktyczne umiejętności, które przyczyniają się do usprawnienie procesu wytwarzania na każdym etapie, począwszy od momentu pisania kodu aż do wdrożenia systemu. *Ilość dni zależy od wyboru punktów programu, które znajdą się w szkoleniu. Zalety szkolenia: Dostęp do wiedzy weteranów Najnowsze i sprawdzone narzędzia Krytyczne spojrzenie na proces tworzenia Strona: 1/6
Szczegółowy program: 1. Usprawnienie codziennej pracy programisty 1.1. Cele 1.1.1. zwiększenie biegłości w poruszaniu się po kodzie 1.1.2. szybsze tworzenie kodu za pomocą narzędzi generujących potrzebne instrukcje 1.1.3. automatyzacja powtarzalnych zadań 1.1.4. wspomaganie procesu testowania 1.2. Visual Studio - pełne wykorzystanie możliwości IDE 1.2.1. skróty klawiszowe 1.2.2. rozszerzenia 1.2.3. analiza kodu 1.2.4. możliwości debuggera 1.3. Resharper - niezbędny dodatek do Visual Studio 1.3.1. dostępne okna 1.3.2. nawigacja w kodzie 1.3.2.1. wyszukiwanie klas/metod 1.3.2.2. wyszukiwanie odwołań do kodu 1.3.2.3. zakładki 1.3.2.4. śledzenie przepływu wartości 1.3.3. quick fixes 1.3.4. uruchamianie testów 1.3.5. zaawansowane formatowanie kodu 1.3.6. generowanie kodu 1.3.6.1. szablony Strona: 2/6
1.3.7. refactoring 1.3.8. dekompilacja kodu 1.3.9. ciągła analiza całego rozwiązania w tle 1.3.10. wyłączanie Resharpera w kodzie 1.3.11. wsparcie dla aplikacji webowych 1.3.11.1. ASP.NET MVC 1.3.11.2. Javascript 1.3.11.3. CSS 1.3.12. Reshaper w trybie command line 1.3.13. zarządzanie ustawieniami / konfiguracją Resharpera 1.3.14. rozszerzenia Resharpera 1.4. NCrunch - ciągłe uruchamianie testów automatycznych 1.4.1. pokrycie kodu 1.4.2. wbudowany profiler 1.4.3. uruchamianie/debuggowanie testów na żądanie 1.4.4. uruchamianie testów na wielu maszynach 1.4.5. wykorzystanie ramdysku 1.5. Logowanie informacji z aplikacji 1.5.1. jak i kiedy logować? 1.5.2. ELMAH - najprostsze z możliwych logowanie błędów w aplikacjach ASP.NET 1.5.3. nlog - najbardziej przyjazna biblioteka do logowania dla programisty.net 1.5.4. semantic logging 1.5.4.1. wyjaśnienie pojęcia 1.5.4.2. Serilog - biblioteka implementująca semantic logging 1.5.4.3. logowanie do plików tekstowych Strona: 3/6
1.5.4.4. logowanie do bazy danych 1.5.4.5. zaawansowane przechowywanie i analiza logów 1.5.4.6. ElasticSearch 1.5.4.7. Seq 1.6. NDepend - najbardziej rozbudowana analiza kodu.net 1.6.1. możliwości narzędzia 1.6.2. porównywanie wersji assemblies 1.6.3. wykrywanie podejrzanych scenariuszy 1.7. Kontrola wersji 1.7.1. najważniejsze aspekty kontroli wersji 1.7.2. kontrola wersji jako kluczowy element w procesie wytwarzania 1.7.3. model scentralizowany vs model zdecentralizowany 1.7.4. Git - rozproszony system kontroli wersji 1.7.4.1. Git w Visual Studio 1.7.4.2. Git Bash 1.8. Narzędzia dodatkowe 1.8.1. autohotkey dla programisty - przykładowe skrypty 1.8.1.1. usprawnianie pracy z Gitem 1.8.1.2. zmiana przezroczystości okien 1.8.1.3. symulacja myszki za pomocą klawiatury 1.8.2. alternatywa dla ALT+TAB 1.8.3. alternatywa dla PrintScreen 1.8.4. chocolatey - manager pakietów dla Windows 2. Dobre praktyki podczas tworzenia programowania Strona: 4/6
2.1. zastosowanie poznanych narzędzi w praktyce 2.2. testy jednostkowe 2.2.1. po co i jak testować oprogramowanie? 2.3. SOLID 2.3.1. sprawdzone zasady pomagające w sprawnym tworzeniu 2.4. refactoring 2.4.1. jak dbać o istniejący kod? kilka sprawdzonych technik 3. Budowanie projektu 3.1. na czym polega "build" 3.2. co potrafi MSBuild 3.3. alternatywy dla MSBuild 3.3.1. PSake (Powershell Make) 3.3.2. Rake (Ruby Make) 3.3.3. pozostałe (Fake, Jake...) 3.4. kluczowe metadane w assemblies 3.4.1. wersja systemu 3.4.2. commit id 4. Dystrybucja bibliotek 4.1. NuGet - package manager dla.net 4.1.1. jak stworzyć pakiet podczas buildu 4.1.2. MyGet - prywatne hostowane repozytorium nuget 4.1.3. własne lokalne repozytorium nuget 5. Wersjonowanie bazy danych 5.1. dostępne gotowe narzędzia zarządzania bazą danych 5.2. rekomendowana własna struktura skryptów bazodanowych Strona: 5/6
5.2.1. DbUp - biblioteka.net do zarządzania zmianami w bazie danych 6. Team City - serwer Continuous Integration 6.1. instalacja 6.2. zarządzanie 6.3. konfiguracja projektów 6.3.1. integracja z Gitem 6.3.2. wykonywanie builda 6.3.3. uruchamianie testów 6.3.4. dodawanie informacji o wersji do repozytorium 6.3.5. wykorzystanie paczek NuGet wytworzonych podczas builda 6.4. Team City jako serwer NuGet 6.5. Team City w Visual Studio 6.6. powiadomienia z Team City w Windows 7. Octopus Deploy - proste i bezpieczne zarządzanie wdrożeniami projektów.netowych 7.1. przedstawienie komponentów Octopus 7.2. instalacja serwera 7.3. instalacja klientów ("Tentacle") 7.4. Octopack - tworzenie paczek NuGet dedykowanych do wdrożenia 7.5. tworzenie paczek wdrożeniowych dla bazy danych 7.6. octo.exe - sterowanie Octopusem z linii komend 7.7. przykładowe skrypty wdrożeniowe 7.7.1. aplikacja www hostowana na IIS 7.7.2. Windows service 7.7.3. baza danych Strona: 6/6