Конфигуриране на GitHub classroom и Visual Studio - УПП, Седмица 1, 06.10.2023



Конфигуриране на GitHub classroom и Visual Studiо

Теория относно GitHub classroom

Ще използваме активно GitHub classroom за упражненията. Едва ли знаете какво е, затова ще трябва да поясня някои неща.

Проблемът със синхронизиране на работа

Git

git е програма (система) за контрол на версиите. В един проект, git пази списък от всички commit-и. Един commit в себе си съдържа какви са точно промените, кой ги е направил, кога са направени, защо са направени и так. нат. Този списък, заедно с още неща за които не е нужно да мислите, се нарича repository.

Обаче, commit-ове не се правят автоматично, не е като историята с промени в един Word файл. Commit се прави от разработчика, и то за предпочитане на всеки няколко (свързани) промени.

Така, когато смесваме кода от многото разработчици, ще можем да засечем какви точно са различията между работата на двама човека.
Често промените не си “противоречат” и могат да бъдат смесени директно, понякога се налага ръчно да решим какво точно да се случи с тези парчета код.

GitHub

Всички repository-та трябва да се пазят някъде и да може лесно да се споделят и гледат. Има много сайтове за тази цел, най-популярния се нарича GitHub.

Напомням, че git и GitHub са напълно отделни неща, направени от различни хора с различни функционалности. Свързаността с имената е както свързаността между думите “чар” и “чаршаф”.

Сега всички трябва да си направят GitHub акаунти

Отивате на github.com/signup, въвеждате си данните една по една и се регистрирате

След това, като влезете в акаунтите си (което става автоматично след регистрация), на заглавната страница ще имате нещо такова:

В горния десен ъгъл, където е иконката с квадрати на бял фон, след натискане получавате sidebar. От него, може да достъпите профила си, repository-та които имате, и так. нат.

Проверете дали сте маркирани!

Понякога при създаване на нов акаунт, GitHub го маркира (като “проблемен”). В такава ситуация, няма да можете сами да го изтриете и няма да можете да го ползвате за GitHub classroom.

Най-простия начин, който намерих, е да отворите support.github.com/contact/reinstatement
Ако отгоре пише “Your account has been flagged”, тогава имаме проблем.

GitHub classroom

За всеки практикум ще ви направя линк, чрез който след малко кликане ще се създаде ново лично repository за всеки от вас.

До 12:20 трябва да сте качили работата си по време на упражнението в това repository. GitHub предоставя лесни начини да правите промени по файлове директно чрез браузъра, така че за незаинтересуваните, може да го ползвате като усложнен Google Drive.

След това аз ще направя отзиви върху вашата работа. Те ще се намират в таба “Pull Requests” на конкретното repository. Четете ги, отговаряйте, целта е да дискутираме какво сте направили.

Как ползваме GitHub classroom

За всяко упражнение ще има отделен линк.
Този за днеска е: classroom.github.com/a/W7hZDMgC

След като го отворите, ще видите съобщение за разрешение, авторизирайте го.

При първо влизане ще получите страница с имената и факултетните имена на всички студенти от групата.

Изберете своето.

Това се прави само веднъж, и след това никога пак.

След това, би трябвало да видите страницата за “Приемане на заданието”.

След като го приемете, на новата страница, изчакайте няколко секунди и презаредете. Трябва да видите това:

Сега сте готови, кликнете върху синия линк и ще стигнете във вашето GitHub repository.

Вътре в това конкретно repository очаквам да качвате работата ви през упражнението. Повтарям, дори да е недовършено, дори да има някакви празни файлове и такива, трябва да го качите.

Който иска спокойно може да прави няколко commit-и, да им прави съобщения и так. нат., ама към този етап, това не е нужно.

В края на презентация показвам как точно е най-лесно да качите работата си.

В таба “Pull requests”, още от началото, ще имате едно “Feedback”. В него ще ви връщам отзиви относно работата ви, и вие също можете да пишете неща и да ми отговаряте.

Целта е да видя какво правите и да ви помогна, моля проверявайте какво съм ви писал, по подразбиране би трябвало да получавате известия на имейл-а.

Къде пишем код?

Кодът е чисто и просто текст, компилаторът е специалната програма, която превръща този текст в нещо, което може компютъра да изпълни.

За писане и редактиране на текст ползваме текстови редактори. Програмистите са искали да улеснят работата си, затова модерните текстови редактори поддържат много помощни функционалности: показване на грешки на точния ред, автоматично форматиране, …

За някои и това не е било достатъчно удобно, затова са създадени Integrated Development Environment (IDE), програми които съдържат в себе си всичко нужно за разработка на код. Тоест, те са текстови редактори, но “вградено” могат да компилират код, да менижират сегашното repository, …

Главно очакваме да пишете на IDE-то наречено Visual Studio. Разработено е от Microsoft и е едно от най-използваните и развитите IDE-та на пазара.

Разбира се, може да ползвате и текстови редактори като Visual Studio Code, vim, emacs, …

  • Главния проблем с тях е, че ще се налага повече конфигурация, но пък ще са по-леки и по-флексибилни
  • Главния плюс е, че те са налични за операционни системи извън Microsoft Windows, за разлика от Visual Studio

Ивана ви говори за Visual Studio Code, аз ще ви говоря за Visual Studio.

Извън това, по лично желание, с мен може да говорите за vim, а за neovim може би ще мога да ви насоча към някой с опит.

Инсталация

Намираме се в компютърна зала, така че всички предоставени компютри би трябвало вече да са налични на предоставените компютри. За ваши лични машини, ще минем набързо през информацията тук.

За Visual Studio Code, отивате на code.visualstudio.com/Download, избирате своята операционна система (за Уиндоус, ако не сте сигурни, изберете “System Installer x64”) и инсталирате.

За Visual Studio, отивате на visualstudio.microsoft.com, скролвате малко надолу, избирате “Download Visual Studio” и след това “Community 2022”.

След като изтеглите инсталатора за Visual Studio и след като изчакате да заредят работи, би трябвало да имате прозорец на име “Installing - Visual Studio Community 2022”.

Единствено избирате “Desktop development with C++” в таба Worloads, и натискате “Install”. Би трябвало да заема към 11 GB памет и в моето тестване се инсталира за 10тина минути.

Когато е готово, би трябвало да се включи автоматично и да имате прозорец с име “Sign in to Visual Studio”. За сега това не е нужно, спокойно изберете “Not now, maybe later.”

След това, на “Start with a familiar environment”, отново, не е нужно да променяте нищо, просто натиснете “Start Visual Studio”.

Как да създадем проект с Visual Studio

Това е първия прозорец, който се отваря. В лявата колона имате скорошни проекти, в дясната имате начини да създадете нов проект.

Нека да направим нов проект, кликнете “Create a new project”. В този прозорец избирате началната “конфигурация” на проекта. В този курс ще работим само и единствено с “Console App”, затова изберете него и кликнете “Next”.

Последния прозорец преди писането на код е за конфигурация на проекта. Тук единствено може да искате да промените Project Name и Location, другото не е важно.

Бърза вметка, какво и защо конзолата?

През 19ти век са изобретени teleprinters: пишещи машини с възможности да печат текст от електрически сигнал. Използвали са се в телеграфията: пишеш като на пишеща машина съобщението и отговора се напечатва на същия лист хартия.

В ранните години на компютрите, точно тези teleprinters са били използвани, все пак са били съществуваща технология, която “изпраща” текст като ел. сигнали и може да принтира ел. сигнали като текст.

Имало е неудобства, използвало се е много хартия, и механиката на бутоните е била сложна. С времето компаниите са разработвали такива устройства, който обаче ползват електронно-лъчева тръба и “нормални” бутони за клавиши.

Чисто практически, ние това знаем като конзолата: устройство (или в модерно време, програма) което може да получи входен текст и да изкара текст.

Как да компилираме с Visual Studio

След малко чакане, най-после ще се намираме в средата за писане на код.

В Solution Explorer имате всички файлове от проекта (Visual Studio позволява да групирате няколко проекта в едно, наречено Solution, не е нужно да се занимавате).

Тук единственото важно за вас се намира в папката “Source Files”. В нея ще се намира вашия код, всичко останало са допълнителни неща, които са релевантни за по-големи проекти.

Компилирането на код става от менюто “Debug” най-отгоре, и след това избиране на “Start Without Debugging”.

След малко чакане, би трябвало да излезе един прозорец, който изглежда горе-долу така:

Как да дебъгваме с Visual Studio

Bug е когато нещо непланирано се случи в кода. Debuging е глаголът за откриване на причината за един bug. Visual Studio предоставя много функционалности, които да ускорят debugging.

Нека да въведем една грешка, в реда на който изкараме “Hello, World!”, нека да махнем последната “;”.

При компилиране, ще получим съобщение за грешки по време на компилирането.

Нека да натиснем “No” и да погледнем Visual Studio.

Грешките, или поне където то си мисли че са, ще бъдат подчертани с червена зигзагообразна линия. Ако сложим мишката върху тях, ще получим popup, в който ще пише каква е грешката на това място. Грешки също се виждат в така наречения “Error List”, който се намира директно под кода. Той се появява когато при компилиране получим грешки и изчезва когато няма.

Качване на решенията

След като сте решили една задача, имате два варианта за писане на следващата: или да създадете нов проект, или да презапишете кода. Второто е най-лесно.

Във всеки случай, ще се наложи сегашния файл с код да го качите. Най-елементарния начин: копирате всичко, след това отивате на вашето GitHub repository, кликвате “Add”, после “Create new file”.

Отгоре на “Name your file…” пишете някакво име, което моля да завърша на .cpp! Това показва, че файла съдържа код на C++. Също, когато решавате много задачи и създавате много такива файлове, напомням че имената на файловете трябва да са различни.

В “Enter file contents here” пействате копирания код. Горе в дясно натискате “Commit changes…”, в pop-up-a после пак натискате “Commit changes” (ако искате, променяйте “Commit message” и “Extended description”, но не е нужно) и сте готови с този файл/задача.

Вече имате достатъчно информация да пишете код сами, време е за задачи


  1. Може би има трикове с които да инсталирате 2022 версията, но те не са официални и затова няма да го преподам