JavaRush /Курси /Кар'єрний центр /Ще трохи про Github

Ще трохи про Github

Кар'єрний центр
Рівень 2 , Лекція 9
Відкрита

Давайте підсумуємо сказане Андрієм. Звичайно ж, ти знайомий з більшістю згаданих у лекції технологій. Однак дещо могло забутися.

Оформлення Readme Github

Грамотно оформлене Readme на Github суттєво допоможе рекрутеру розгледіти в тобі цікаву людину в команду. І зробити це можна за допомогою Markdown.

Markdown — це полегшена мова розмітки, і вона перетворює текст на структурований HTML. Ця мова настільки проста, що ти міг її швидко вивчити і так само швидко забути.

Для Python-проєкту критично важливо вказати в README, як запустити проєкт. Обов'язково опиши кроки: створення віртуального оточення (venv), встановлення залежностей (pip install -r requirements.txt або poetry install) та запуск сервера. Це правило хорошого тону.

Якщо тобі хочеться зробити Readme швидше, можна скористатися рекомендованим лектором сайтом для генерації профайлу: GPRM

Як підготувати проєкти: головні тези

Зрозуміло, найважливіше — підготувати проєкти. Кожен проєкт повинен мати Readme, в якому мають бути наступні відомості:

  • Тема і суть проєкту.
  • Як проєкт запускати і збирати локально (Docker compose up або python manage.py runserver).
  • Найголовніше в проєкті (класи або модулі, які можуть показати кодинг-скіли, наприклад, складна бізнес-логіка або асинхронна обробка).
  • Посилання на демо на хмарному репозиторії (у випадку веб-проєкту).

Популярні веб-репозиторії: Fly.io, Heroku, Google Cloud, AWS, Microsoft Azure, DigitalOcean

Які проєкти викладати на Github?

У відеолекції Андрій згадав, що потрібно викладати на своєму «офіційному» Github і на що варто звернути увагу. Додай усі проєкти від Python-університету. А якщо не хочеш їх показувати, можна написати 2-3 невеликих проєкти, що демонструють твої скіли.

1. Невеликий пет-проєкт, що демонструє розуміння кількох важливих тем:

  • Чистий код (PEP8, лінтери Flake8/Black);
  • SOLID принципи;
  • Тестування (Pytest);
  • CI/CD (GitHub Actions).

2. CRUD-проєкт на Django або FastAPI повинен розкривати такі теми:

  • Робота з фреймворком (ORM, Serializers/Pydantic);
  • REST API;
  • Навички роботи з Базами Даних (PostgreSQL);
  • Тестування (Pytest, FactoryBoy);
  • Авторизація та аутентифікація (JWT, OAuth2).

3. Проєкт, побудований на мікросервісній архітектурі (або з використанням асинхронності). Повинен враховувати наступні топіки:

  • API (FastAPI);
  • Комунікацію між сервісами (REST або RabbitMQ);
  • Контейнеризація (Docker, Docker Compose);
  • Асинхронна обробка завдань (Celery/Redis).

І ще: обов'язково зверніть увагу на логічність та своєчасність ваших комітів та історію проєкту.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ