Структура проекта

Постановка задачи по разработке будущего проекта и определение используемых подходов. Предполагаемая структура проекта.

  • 00:00:35 - Проект аукциона
  • 00:00:50 - Разработка API
  • 00:01:13 - Модульная структура
  • 00:02:00 - Тестирование кода и проекта
  • 00:03:23 - Эмуляторы сторонних сервисов
  • 00:04:23 - Уведомления по WebSocket
  • 00:04:49 - Разделение на фронтенд и бэкенд
  • 00:07:20 - Браузерные E2E тесты
  • 00:08:27 - Pipeline для проверок и деплоя
  • 00:12:28 - Суть CI и CD с CD
  • 00:13:29 - Польза от разных тестов
  • 00:14:08 - Работа с Docker
  • 00:15:04 - Практики деплоя
Скрытый контент (код, слайды, ...) для подписчиков. Открыть →
Дмитрий Елисеев
elisdn.ru
Комментарии (50)
Александр Кулик

Подскажите пожалуйста, будет react + redux или + mobx?

Ответить
Дмитрий Елисеев

Redux. И расскажем про альтернативу MobX.

Ответить
Александр Кулик

Спасибо

Ответить
Standalone

Подскажите, а будут рассказаны моменты про SEO? Насколько я знаю, сейчас только гугл может анализировать страницы на JS. В будущем планирую разрабатывать маркет узкоспециализированный, вот тревожит что не попаду в органическую выдачу. Спасибо за курс, он будет очень-очень полезен.

Ответить
Дмитрий Елисеев

Да, расскажем про SSR.

Ответить
Александр Кулик

Вообще супер

Ответить
Aёct'ann

Супер план! Если все, о чем было сказано, будет реализовано - это будет самый крутой курс)

Ответить
voodooism

Классный курс! Уже хочется по скорее начать :) Дмитрий, а как много будет серий и с какой периодичностью они будут выходить?

Ответить
Дмитрий Елисеев

Серий много, так как будет разделение на удобные части по темам. По две-три в неделю.

Ответить
Alex

Дмитрий, с нетерпением жду курс.

Ответить
Alex

Есть возможность рассмотреть вариант выбора между redux и mobx ? Немного пользовался redux и mobx. С mobx кода меньше раза в два да и въезжать быстрее. А вот примеров в сети ещё мало. По моему mobx в ближайшее время вытеснит redux, от слова, совсем.

Ответить
Дмитрий Елисеев

Да, все попробуем.

Ответить
Ruslan

План грандиозный, а сколько лет это будет идти? :) Пожелание: неплохо бы что у нас была диаграмма проекта, чтоб не потерятся и изменениях.

Ответить
Дмитрий Елисеев

С Symfony предыдущий большой проект по одной трансляции в неделю сделали за три-четыре месяца.

Ответить
Стариков Андрей

Добрый день, а где можно найти трансляции этого проекта?

Ответить
Сергей

Да, про kubernetes было бы интересно послушать.

Ответить
Bondarenko Alexandr

Это да

Ответить
Альберт

Супер, ждем )! Дмитрий будем ли писать документацию, либо может покажете на каком-то компоненте, не обязательно делать все.

Ответить
Дмитрий Елисеев

Будем делать автодокументацию для API.

Ответить
Arunas

А про SSL будет (https://) ?

Ответить
Дмитрий Елисеев

Да.

Ответить
Роман

Вопрос, почему Slim а не Laravel или yii2 ?

Ответить
Дмитрий Елисеев

Yii2 уже заброшен, а Yii3 ещё не вышел. Laravel и Symfony (если не рассматривать его как микроядро) - это крупные тяжеловесные фреймворки, более удобные для классических сайтов. Для API удобнее и быстрее именно микрофреймворки.

Ответить
Роман

Но симфони же можно тоже в "голом" виде собрать (вроде skeleton) и работать в режиме микрофреймворка на нем, да?

Ответить
Дмитрий Елисеев

Да, можно. Но к нему всё равно чаще через flex доставляют остальные его же бандлы и получается тот же Symfony Website Skeleton. И помимо этого он не поддерживает middleware.

Ответить
Руслан

Интересует Ваше мнение насчет Lumen, или есть определенные преимущества выбора именно Slim? Спасибо.

Ответить
Дмитрий Елисеев

Lumen идёт изначально от Laravel. Микроскелетон Symfony идёт от Symfony. Оба Laravel и Symfony построены на symfony/http-foundation, а не на основе PSR-7. Да, можно поставить бридж для PSR-7, но это будет оверхедом.

Slim в этом плане абсолютно нейтральный PSR-совместимый микрофреймворк.

Ответить
Павел

Звучит "вкусно"

Ответить
Максим (@myks92)

А как использовать docker на macOS? Знаю, что у вас тоже есть мак. Пробовал использовать специальное приложение для macOS, но такой докер почему-то у меня тормозит. Если настраиваю виртуалке Ubuntu на macOS и там настраиваю докер, то работает быстрее, чем на приложении докер для мака. Но, что-то мне подсказывает, есть другие варианты. Подскажете как это делать? Может быть есть статьи?

Ответить
Дмитрий Елисеев

Да, там медленные вольюмы, так что запрос "Slow Docker on Mac" в Google весьма популярен.

Решается копированием файлов из вольюма в локальную папку внутри контейнера с синхронизацией изменений утилитами вроде docker-sync.

Ответить
solidniy

Хотелось, что бы подробнее разбирали работу с rabbitmq и его конфигурированию. Варианты запуска воркеров на php (systemd, supervisor, etc..) и как следить на жизнью воркера ? Как понять, веркер работает, или просто повис (мертвый).

Ответить
Huang

Я китаец и не понимаю по-русски. Содержание этого письма переведено через Google. Надеюсь, вы его понимаете.

Ваш видеоурок очень хорош, я надеюсь увидеть их все, но я не знаю, как платить как китаец?

Конечно, я не понимаю голос. Надеюсь, есть автоматически переводимые субтитры. Интересно, можно ли решить эту проблему?

Ждем Вашего ответа! Большое спасибо!

Брайан Хуанг.

Ответить
Дмитрий Елисеев

Sorry, but I do not have English subtitles still. I will think about it.

Ответить
Huang

Спасибо за ваш ответ, я понял платеж после небольшого исследования. Я смотрю ваше видео, но совсем не понимаю. Я думаю, что пропущу очень хорошее объяснение, а жаль. Но большое спасибо за ответ. Мой комментарий переведен через гугл, надеюсь, вы понимаете.

Ответить
Дядя Женя

Добрый день. А если строить мультисайтовое (мультидоменное) приложение? Как его лучше организовать и могли бы на эту тему сделать ролики?

Ответить
Дмитрий Елисеев

Про отдельные подразделы одного сайта? Или про приявку личного поддомена к каждому пользователю?

Ответить
Дядя Женя

Нет, не подразделы. Видел подобную штуку на Вордпресе. Принцип такой: есть центральный сайт. Жмешь на кнопочку - получаешь "копию" сайта с некоторыми общими БД и некоторыми параллельными, не пересекающимися, но одинаковыми по структуре БД. Внутри копии все одинаковые, но друг с другом не пересекаются, ни админы этих копий, ни другие пользователи о других копиях не знают. Но если на "центральном" что-то сделали, напр, какой-то апдейт, то он автоматом применился у всех. "Центральный" админ видит и может менять админов у "копии". Админы копий могут менять шаблоны тем, возможно дотачивать какие-то запросы к БД, но основу поменять не могут. Естественно, могут включить/отключить какие-то модули/плагины вшитые в "копию". Копии могут ложиться хоть на ваш хостинг, хоть куда ещё. И имена так же само. Хоть в одном домене, хоть разные. Фактически центральный выступает в роли мониторинга и управления копий.

Ответить
Ivan Klimchuk

Это называется multi tenant architecture, актуально для больших SaaS приложений, но не думаю, что это актуально для аукциона. Хотя, если делать международный, то варианты такой архитектуры можно придумать, конечно.

Ответить
Владимир Перепеченко

Здравствуйте! Не нашел кода этого проекта. Еще не выкладывали в репу? thanks!

Ответить
Дмитрий Елисеев

Все ссылки обычно приложены под описанием в блоке скрытого контента.

Ответить
Владимир Перепеченко

Понятно, просто здесь такого блока нет, несмотря на логин и оплату https://i.imgur.com/qNuxnJA.png

Ответить
Дмитрий Елисеев

Под описанием каждого видео, а не под описанием серии.

Ответить
drakulitka

Не деплоится Jenkins :-(

    Building wheel for pynacl (PEP 517): started
    Building wheel for pynacl (PEP 517): finished with status 'error'
    ERROR: Command errored out with exit status 1:
        command: /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp9bivucdf
        cwd: /tmp/pip-install-ef6kkbzs/pynacl_3560192d6d244a1f9bbbb2351ce12d90
    Complete output (322 lines)
Ответить
Дмитрий Елисеев

А текст ошибки в выводе какой?

Ответить
drakulitka

Failed to build pynacl

ERROR: Could not build wheels for pynacl which use PEP 517 and cannot be installed directly
Service 'jenkins' failed to build : The command '/bin/sh -c apk add --no-cache py-pip python3-dev libffi-dev openssl-dev gcc libc-dev rust cargo make gettext     && pip3 install docker-compose' returned a non-zero code: 1
Ответить
Дмитрий Елисеев

Весьма странно.

Ответить
Владимир Перепеченко

Ну очень таймингов не хватает .. То есть, какая тема освещается с какого момента. Возвращаешься посмотреть конкретный вопрос более детально, и начинаешь просматривать видосы часами без толку, только ради поиска например, конфигурации PHP-DI :.

Ответить
Юлия Елисеева

В первых эпизодах действительно пока нет таймкодов. Мы их добавим по мере возможностей и не в ущерб общему прогрессу по записи эпизодов.

Ещё в планах сделать поиск по сайту и комментариям для удобства работы с материалом.

Ответить
Anton

Дело закисло? Интересно было подписаться, но давненько не было новых выпусков.

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Google
GitHub
Yandex
MailRu