Narzędzia programistyczne
W semestrze zimowym 2020/2021 laboratorium odbywa się zdalnie za pośrednictwem Moodle https://moodle.umk.pl/WFAIIS we wtorki o godz. 17:30
Zaliczenie zajęć
Warunki zaliczenia laboratorium:
- Kolokwium zaliczeniowe (test) …
- … lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min. na osobę). W prezentacji, obok części prowadzającej teoretycznie, należy zawrzeć przykłady demonstracyjne.
Przebieg zajęć/ prezentacje
| Data | Temat | Prowadzący |
|---|---|---|
| 6.10.2020 | Sprawy organizacyjne | |
| 27.10.2020 g. 17:30 | BitBucket pipelines + SourceTre | BP, MR |
| 1.12.2020 g. 17:30 | Azure DevOps | MC, MC, MM |
| 8.12.2020 g. 17:30 | GitLab | JE, KK, MM |
| ? | | KL |
Propozycje tematów
Narzędzia CI/CD (continuous integration, continuous delivery, continuous deployment).
Prezentacja dla zespołu 3-4 osobowego demonstrująca pełen pipeline wytwórczy na przykładowym projekcie deweloperskim.
- wsparcie dla pracy zespołowej, zarządzanie zespołem i zadaniami, issue tracker, wybrana metodologia (np. scrum)
- repozytorium kodu (system kontroli wersji) i workflow w zespole, np.:
- Github workflow: branch → commit → Pull Request → Review → Deploy → Merge
- A Successful Git branching model]] Git Flow
- automatyzacja procesów: budowania, testów, deployment
Propozycje:
- Azure DevOPs (Repos, Boards, itd. ), ewentualnie integracja z innymi usługami (np. GitHub)
- Jira Software + BitBucket + Bamboo (CI, free for 30 days)
- git + Buildbot
- GitHub + Jenkins automation server
- GoCD free & open source ci/cd server
- GitHub + TeamCity
- inne kombinacje wspomnianych (lub nie wspomnianych) platform
Inne propozycje dla pojedynczych osób:
- Resharper - narzędzia wspomagające produktywność (nawigacja, generowanie kodu, refaktoring, …) + analiza kodu
- Narzędzia wspoierające testowanie jednostkowe
- techniki izolacji, atrapy (mocki), wzorce w testowaniu jednostkowym, biblioteki: Moq, FakeItEasy, RhinoMocks, NSubstitute, ..
- generowanie testów i danych do testów, np. biblioteka AutoData, AutoFixture, …
- Profilowanie aplikacji, np.: narzędzia diagnostyczne w Visual Studio, instrumentacja, profilowanie statystyczne (sampling), debugowanie pamięci
<fs large>Inne: jakich narzędzi używacie? </fs>