28 ноября приходите на новый хабрасеминар. В этот раз мы поговорим про HR-бренд, создающий образ компании, привлекательный для будущих сотрудников. Подробности и регистрация
Обо мне

https://gitlab.com/dkmarchuk/

instagram.com/marchdimk

vk.com/mardim

Профессиональные навыки
PythonDjangoSQLRedisGitRegex
Опыт работы
Частная практика, работа без зачисления в штат
Программист
Январь 2017 — По настоящее время (2 года и 11 месяцев)

Парсинг данных, небольшие скрипты для бухгалтерии.

PythonSQLDjangoXMLООПGit
Высшее образование
Барнаульский государственный педагогический университет; БГПИ
Барнаул
Факультет: Математики и информатики
Сентябрь 2005—Май 2008 (2 года и 8 месяцев)
Прикладная информатика и математика.
Дополнительное образование
Стопроцентное онлайн-обучение от лучших университетов и компаний мира
Создание Web- сервисов на Python.
Апрель 2019—По настоящее время (7 месяцев)

Неделя 1. Web

  • TCP/ IP, tcpdump + nc + telnet
  • Http + DNS
  • requests
  • re

Неделя 2. Beautiful Soup, Web API.

  • обзор методов Beautiful Soup
  • сложный поиск и замена с Beautiful Soup
  • Web API
  • requests, vk

Неделя 3. SQL, NoSQL

  • MySQL (на уровне Create Read Update Delete)
  • Redis (на уровне CRUD)

Неделя 4. Django, Twitter Bootstrap

  • Django
  • Bootstrap

Неделя 5. Git. Heroku.

  • Git
  • Heroku
ООП и паттерны проектирования
Февраль 2019—Апрель 2019 (2 месяца)

Неделя 1. Тестирование и отладка.

  • Структурное программирование. WaterFall. Декомпозиция
  • PEP8
  • Тестирование и отладка. TDD, контрактное программирование
    • @Contract
    • doctest
    • unittest

Неделя 2. Объектно- ориентированное программирование.

  • Парадигмы ООП. Наследование, инкапсуляция и полиморфизм
  • Принципы SOLID
  • Разработка систем классов
    • С3- линеаризация
    • abstractmethod, ABC
  • UML- нотация
  • рефакторинг, оптимизация, реинженеринг

Неделя 3. Паттерны проектирования.

  • Архитектурные шаблоны
  • Паттерны проектирования
    • Decorator
    • Adapter
    • Observer

Неделя 4. Паттерны проектирования. Часть 2. - Chain of Responsibility - Abstract Factory

  • Конфигурация через YAML.

Неделя 5. Игра. Рыцарь в подземелье.

  • Самостоятельная работа. Использование паттернов, YAML и abc.
Введение в Python
Декабрь 2018—Февраль 2019 (2 месяца)

Неделя 1. Введение.

  • Базовые типы данных и конструкции управления потоком (if, for, while)
  • Модули и пакеты
  • Virtualenv (установка, запуск)
  • Jupiter Notebook (установка, запуск)
  • Байткод (func().__code_.co_code)

Неделя 2. Структуры данных и функции.

  • list, tuple, set, dict
  • Функции
  • Файлы
  • Функциональное программирование, замыкание функции
  • Декораторы
  • Генераторы

Неделя 3. ООП.

  • Классы и экземпляры
  • Методы
  • Наследование
  • Композиция
  • Исключения, BaseExeption, try/ except/ else/ finally, raise, exception(text, ex)

Неделя 4. Углубленный Python.

  • Магические методы __methods__()
  • Итераторы
  • Контекстные менеджеры
  • Дескрипторы классов
  • Метаклассы
  • pdb
  • unittest

Неделя 5. Многопоточное и асинхронное программирование.

  • Процесс. bash: top, strace. os.fork()
  • Поток. threading.Thread()
  • Очереди. queue.Queue()
  • Блокировки. Threading.Rlock(), acquire(), release()
  • условные переменные. threading.Condition(self._mutex)
  • GIL
  • socket. Создание сервера и клиента.
    • контекстный менеджер создания
    • таймауты, обработка ошибок
    • обработка нескольких соединений (socket + threading)
  • Асинхронное программирование
    • select, неблокирующий ввод/ вывод без потоков, epoll (не запускал в mac os, не работает!)
    • генераторы и корутины, yield from
    • asyncio
TypingStudy
 
Touch typing online course
Январь 2019—По настоящее время (10 месяцев)

150 chars/ min.