====== Propozycje tematów ====== **Narzędzia wzpierające pracę zespołow programistycznych: DevOps, 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 (może być na przykładzie projektu realizowanego aktualnie w ramach Pracowni Programowania Zespołowego). \\ Najważniejsze zagadnienia: * wsparcie dla pracy zespołowej, zarządzanie zespołem i zadaniami, issue tracker, wybrana metodologia wytwórcza (agile, scrum, ...) * repozytorium kodu (system kontroli wersji) i workflow w zespole, np.: * Github workflow: branch -> commit -> Pull Request -> Review -> Deploy -> Merge * [[https://dev.to/heratpatel/git-flow-a-successful-git-branching-model-1j6f|A Successful Git branching model]] Git Flow * automatyzacja procesów wytwórczych: budowanie, testy, deployment Propozycje narzędzi CI/CD: * [[https://azure.microsoft.com/pl-pl/services/devops/|Azure DevOPs]] (Repos, Boards, Pipelines, itd. ), ewentualnie integracja z innymi usługami (np. GitHub) * [[https://bitbucket.org/product/features/pipelines|BitBucket pipelines]] * [[https://www.atlassian.com/software/jira/features|Jira Software]] + BitBucket + [[https://www.atlassian.com/software/bamboo|Bamboo]] (CI, free for 30 days) * [[https://about.gitlab.com/|GitLab]] * git + [[https://www.buildbot.net/|Buildbot]] * GitHub + [[https://www.jenkins.io/|Jenkins]] automation server * [[https://www.gocd.org/|GoCD]] free & open source ci/cd server * [[https://northflank.com/|Northflank]] a comprehensive suite of features to support you from inception to production. Put your DevOps lifecycle on autopilot. * GitHub/BitBucket + * build * [[https://circleci.com/|CircleCI]] (up to 6,000 build minutes and 5 active users per month) * [[https://www.appveyor.com/|AppVeyor]] * web deployment * [[https://render.com/|Render]] a unified cloud to build and run all your apps and websites * [[https://www.cyclic.sh/|Cyclic]] build and run modern cloud-native serverless applications without piling on to the full stack. * [[https://qoddi.com/|Qoddi]] * [[https://www.koyeb.com/|Koyeb]] push code to production, everywhere, in minutes * GitHub + [[https://www.jetbrains.com/teamcity/|TeamCity]] powerful continuous integration for DevOps-centric teams * inne kombinacje wspomnianych (lub nie wspomnianych) platform, np. [[https://www.simplilearn.com/tutorials/devops-tutorial/devops-tools|30 Best DevOps Tools to Learn and Master In 2023]] **Inne propozycje (dla pojedynczych osób):** * [[https://www.jetbrains.com/resharper/|Resharper]] - narzędzia wspomagające produktywność (nawigacja, generowanie kodu, refaktoring, ...) + analiza kodu * Narzędzia wspierające testowanie jednostkowe * techniki izolacji, atrapy (mocki), wzorce w testowaniu jednostkowym, biblioteki: [[https://github.com/devlooped/moq|Moq]], [[https://fakeiteasy.github.io/|FakeItEasy]], [[https://hibernatingrhinos.com/oss/rhino-mocks|RhinoMocks]], [[https://nsubstitute.github.io/|NSubstitute]], .. * generowanie testów i danych do testów, np. biblioteka AutoData, [[https://autofixture.github.io/|AutoFixture]], ... * Profilowanie aplikacji, np.: narzędzia diagnostyczne w Visual Studio, instrumentacja, profilowanie statystyczne (sampling), debugowanie pamięci * narzędzia do wirtualizacji Docker * **wykorzystanie sztucznej inteligencji w programowaniu** * [[https://learn.microsoft.com/en-us/visualstudio/ide/ai-assisted-development-visual-studio?view=vs-2022|AI-assisted development in Visual Studio]] * [[https://www.machinet.net/|Machinet]] - AI assistant for developers * inne narzędzia spotykane w firmach informatycznych a nieobecne w programie nauczania IS. * ... jakich narzędzi używacie?