Как работает валидация форм
Телеграм — Frontend.school()
Телеграм — Frontend.school()
Источник: Выпуск "Информационное насилие и НЕ безопасный интернет / JavaScript - ЗЛО!/ PhD Андрей Столяров" на канале АйтиБорода
Если вы используете Zustand, то знаете, что computed значения реализуются с помощью селекторов.
const userPrs = useChartsStore((state) => {
return state.pullRequests.filter(pr => pr.author.id === state.user.id);
});
В примере выше:
- при каждом обновлении стейта значение селектора будет вычисляться заново
- это приведёт к ре-рендеру компонента, так как каждый раз мы постоянно возвращает новый массив по ссылке, а по-умолчанию используется строгое сравнение (old === new).
Чтобы решить эту проблему в Zustand есть хук useShallow , который сделает “поверхностное” сравнение предыдущего и нового значения. Если они равны — ре-рендер не произойдёт.
const userPrs = useChartsStore(useShallow((state) => {
return state.pullRequests.filter(pr => pr.author.id === state.user.id);
}));
Но при этом селектор всё равно выполнится, и в большинстве случаев нам не нужно об этом заботиться. Проблема появляется если выполнение селектора занимает много времени или же он вызывается много раз в различных компонентах или других селекторах.
Автор Zustand упоминает, что можно нарушить согласованность данных и просто положить вычисляемые данные в стейт (но в этом случае нужно вручную следить за их актуальностью).
Также он отмечает, что для этих целей можно использовать метод memoize из его библиотеки proxy-memoize (для redux есть reselect).
Аналогично immer’у proxy-memoize работает на основе Proxy. memoize запоминает предыдущий параметр функции и свойства к которым обращались в селекторе (для этого и нужен Proxy). При следующем выполнении функции, он проверит изменились ли используемые свойства, если нет — вернёт значение, вычисленное в прошлый раз.
const authorSelector = memoize((state) => state.pullRequests.filter(pr => pr.author.id === state.user.id));
const userPrs = useChartsStore(authorSelector);
Конечно, нужно помнить, что мемоизировать можно только “чистую” функцию — если она возвращает одни и те же значения в ответ на одни и те же аргументы
Так, обернув пару селекторов в memoize, я ускорил фильтрацию пул-реквестов в более чем 20 раз (900мс ⇒ 40мс).
Недавно делал код ревью и заметил, что в pnpm-lock.yaml (альтернатива yarn.lock в pnpm) добавлена 17-я версия реакта, хотя на проекте мы используем 18-ю. Нам не нужно тянуть в проект 2 версии реакта — поэтому идём разбираться.
Дело в том, что в библиотеке react-cheetah-grid, которую мы используем для рендера длинных таблиц, реакт указан в секции dependencies вместо peerDependencies.
dependencies vs peerDependencies
- dependencies: пакеты, которые необходимы для работы вашего приложения и устанавливаются автоматически
- peerDependencies: пакеты, которые должны быть уже установлены в среде, где используется ваш пакет, чтобы избежать конфликтов версий
Чтобы быстро исправить проблему — можно переопределить версию реакта для определённого пакета в pnpm с помощью метода readPackage. Также нужно откатить изменения в pnpm-lock.yaml и запустить pnpm install .
// .pnpmfile.cjs
const package = require('./package.json');
function readPackage(pkg, context) {
if (pkg.name === "react-cheetah-grid") {
pkg.dependencies['react'] = package.dependencies['react'];
pkg.dependencies['react-dom'] = package.dependencies['react-dom'];
}
return pkg;
}
module.exports = {
hooks: {
readPackage,
},
};
Но затем лучше создать ишью в репозитории библиотеки или отправить пул реквест.
В этой статье сравниваем ТОП-15 лучших онлайн-курсов по обучению фронтенд-разработчиков + рассматриваем бесплатные курсы.
Фронтенд-разработка – это процесс создания интерфейсов сайтов и приложений, с которыми взаимодействуют пользователи. Для этого используются языки программирования, такие как HTML, CSS и JavaScript, чтобы создавать интерактивные и привлекательные пользовательские интерфейсы. Фронтенд-разработчики занимаются созданием визуальной части веб-страниц, разработкой структуры интерфейса и оптимизацией производительности. Они также применяют различные инструменты и фреймворки, такие как React, Vue.js и Angular, для упрощения разработки и улучшения удобства использования приложений.
Информация о курсе: стоимость — от 4 412 ₽ / мес. в рассрочку на 34 месяца, длительность - 9 месяцев
Особенности: Практика на вебинарах с разработчиками из российских компаний. Подробная обратная связь от кураторов-экспертов в течение 24 часов с момента отправки работы. Помощь в трудоустройстве - оформление резюме и портфолио, подготовка к собеседованию, доступ к закрытому каналу с вакансиями. В конце обучения получите сертификат установленного образца.
Приобретаемые навыки:
Владею адаптивной вёрсткой на HTML и CSS
Работаю в графическом редакторе Figma
Использую редактор кода VS Code
Владею препроцессором Sass
Работаю с системой контроля версий Git
Оптимизирую изображения и код
Верстаю по принципу Pixel Perfect
Программирую на JavaScript и использую REST API
Программирую на TypeScript
Работаю со сборщиками Webpack и Vite
Пишу тесты на Jest и Vitest
Владею React.js/Vue.js
Придерживаюсь компонентного подхода
Коммуникабельный, понимаю свою роль в команде разработки.
Программа курса:
Погружение в веб-разработку:
Узнаете, как работает интернет, познакомитесь с профессией и изучите основные инструменты.
Веб-вёрстка 3.0:
Научитесь создавать адаптивные и анимированные страницы.
JavaScript:
Освоите анимацию верстки, настройку взаимодействия с сервером и создание простых веб-приложений.
Возможность работать на фрилансе:
Сможете брать заказы на фриланс-биржах или искать работу верстальщиком.
TypeScript и инструменты разработчика:
Изучите востребованный язык программирования TypeScript.
React.js (на выбор):
Научитесь создавать и тестировать React-компоненты, разрабатывать сложные веб-приложения.
Vue.js (на выбор):
Научитесь разрабатывать веб-приложения на Vue 3 с использованием Composition API, Pinia и vue-router.
Трудоустройство:
Центр Карьеры Skillbox поможет вам подготовиться к трудоустройству.
Информация о курсе: стоимость — 168 594 ₽ или рассрочка - от 4 684 ₽ / мес., длительность - 9 месяцев
Особенности: 240 часов практики на реальных задачах. Получите диплом о проф. переподготовке. Помощь в трудоустройстве - резюме, портфолио, вакансии, собеседования.
Освойте создание сайтов и веб-сервисов с использованием HTML, CSS, JavaScript, а также библиотек React и Redux.
Программа курса:
Введение в программирование
Основы контроля версий
Знакомство с веб-технологиями
Основы JavaScript
Продвинутый курс JavaScript
JavaScript и ECMAScript
Основы Node.js
Углубленный JavaScript
Работа с API браузеров
Фреймворк Vue.js
Углубленный контроль версий (Git)
Операционные системы и виртуализация (Linux)
Подготовка дипломной работы
Защита диплома
Подготовка к трудоустройству.
Информация о курсе: стоимость — от 2 780 руб. / мес. в рассрочку на 36 месяцев, длительность - 9 месяцев (или 360 часов)
Особенности: Реальные проекты в портфолио. Участие в стажировках и хакатонах. Опыт работы над проектом в команде.
Чему вы научитесь:
Разрабатывать веб-страницы с использованием HTML и CSS, адаптируя их для различных устройств
Использовать JavaScript и Bootstrap для создания интерактивных страниц и элементов
Работать с фреймворком React.js для создания сложных проектов
Подключаться к бэкенду с помощью Node.js и управлять кодом через Git.
Программа обучения:
Вёрстка веб-страниц
Программирование на JavaScript
Разработка приложений с использованием React.js
Архитектура приложений и бекенд
Карьерный трек
Финальный проект — создание сервиса для поиска публикаций в СМИ.
Информация о курсе: стоимость — 96 900 ₽ или рассрочка на 36 месяцев - 2 833 ₽ / мес., длительность - 13 месяцев
Особенности: Соберёте портфолио из 16 проектов. Сможете претендовать на junior-позицию или уйти на фриланс через 6 месяцев обучения. Получите диплом о профессиональной переподготовке.
Чему вы научитесь:
Верстать сайты и приложения для различных устройств
Освоите нюансы адаптивной вёрстки под iOS и другие мобильные операционные системы
Оформлять решения как профессиональные разработчики
Изучите методы решения задач и практическое применение инструментов
Решать задачи с помощью JavaScript
Познакомитесь с основами JavaScript и научитесь использовать его для создания сайтов
Использовать JavaScript для работы в браузере
Сможете настраивать взаимодействие с веб-сервером и обрабатывать действия пользователя.
Программа обучения:
HTML-вёрстка от нуля до первого макета
Адаптивная и мобильная вёрстка
Основы программирования
Система контроля версий Git
Основы JavaScript
JavaScript в браузере для фронтенд-разработчика
Продвинутый JavaScript и основы React
Основы графического дизайна
Английский язык для начинающих разработчиков
Алгоритмы и структуры данных
Построение карьеры и работа на фрилансе
Дипломный проект.
Информация о курсе: стоимость — 134 100 ₽ - 209 000 ₽ или рассрочка на 24 месяца - от 6 300 ₽ / мес., длительность - 10 месяцев
Особенности: Практика с первого дня. 14 проектов в портфолио на GitHub. Собеседования в компаниях-партнерах. По окончании курса получите сертификат.
Освойте программирование на JavaScript и создание пользовательских интерфейсов для веб-сайтов и приложений.
Вы научитесь:
Работать с HTML, CSS, JavaScript и TypeScript
Понимать серверные технологии
Разрабатывать веб-приложения и сайты
Использовать CSS-препроцессоры
Применять ООП и библиотеку React
Взаимодействовать с командой через Git
Публиковать веб-приложения и сайты в интернете
Тестировать и исправлять готовые продукты
Мыслить как профессиональный фронтенд-разработчик.
Программа обучения:
Основы вёрстки и позиционирования
Основы веб-программирования
Профессиональный JavaScript
Разработка браузерных приложений
Создание React-приложений.
Информация о курсе: стоимость — 129 600 ₽ - 266 643 ₽ или рассрочка - от 6 000 ₽ / мес., длительность - 10 месяцев
Особенности: Помощь в трудоустройстве, более 10 проектов в портфолио.
Чему вы научитесь:
Создавать сайты с помощью HTML и CSS, улучшать пользовательский опыт и добиваться идеальной верстки.
Работать со структурами и библиотеками JavaScript, писать легко читаемый код и разрабатывать свой первый сайт.
Не только верстать, но и искать баги в работе сайтов и приложений, используя автоматизированное и ручное тестирование.
Освоить TypeScript и Node.js, создавать сложные сайты и выполнять задачи как фронтенд-, так и бэкенд-разработчика.
Программа курса:
Базовые навыки разработчика
Основы языков программирования
Принципы HTML
Объекты HTML и DOM-модель
Расширенные возможности HTML и CSS
Системы контроля версий
Инструменты верстки и UX
Работа с Figma
Основы JavaScript
Методология тестирования ПО
Расширенные возможности JavaScript
Библиотека React
Современные методологии управления разработкой
TypeScript
SQL
JavaScript на серверной стороне: основы Node.js
Основы DevOps для программистов
ChatGPT для разработчиков
Дипломная работа.
Информация о курсе: стоимость — 119 000 ₽, длительность - 1 год и 4 месяца
Программа курса:
Введение в профессию
Модуль предназначен для того, чтобы подготовить абсолютных новичков к успешному освоению навыков фронтенд-разработки.
HTML и CSS: Профессиональная вёрстка
Вы научитесь создавать структурированную и доступную разметку, работать с графическими макетами, создавать сетки страниц, оформлять декоративные элементы и текстовое содержание, оптимизировать код и подготавливать проект к публикации.
HTML и CSS: Адаптивная вёрстка и автоматизация
Вы освоите методологию БЭМ, научитесь использовать препроцессоры, создавать адаптивные сетки, работать с адаптивной и ретиновой графикой, а также использовать инструменты автоматизации и настраивать сборку проекта для публикации.
JavaScript: Профессиональная разработка веб-интерфейсов
Вы изучите основы JavaScript, познакомитесь с современными возможностями стандарта ECMAScript, научитесь алгоритмическому мышлению, оживлять статичные страницы, валидировать данные в формах, взаимодействовать с серверами и решать типовые задачи.
Подготовка вёрстки для систем управления контентом (CMS)
Вы узнаете, как интегрировать верстку в CMS, создавая шаблоны, в которые система подставляет контент. Это позволяет клиентам самостоятельно обновлять содержание, поэтому важно сделать верстку удобной для интеграции.
Вёрстка React-компонентов
Вы научитесь верстке с нуля в экосистеме React и созданию интерактивных компонентов на React.
Акселератор с открытой стажировкой
В этом модуле вы будете выполнять сложные проекты самостоятельно, улучшая свои навыки и скорость разработки.
Информация о курсе: стоимость — 140 000 ₽ или рассрочка - 15 500 ₽ / мес., длительность - 10 месяцев
Чему вы научитесь:
Писать код на HTML, CSS, JavaScript и TypeScript
Разрабатывать сайты и веб-приложения для различных бизнес-задач
Использовать паттерны проектирования и ООП
Создавать приложения с использованием библиотеки React
Понимать технические задания от заказчиков
Проектировать решения для бизнес-задач через разработку
Работать с кодом в реальной среде разработки веб-приложений
Тестировать и исправлять ошибки на сайтах и в веб-приложениях
Размещать сайты и веб-приложения в интернете.
Информация о курсе: стоимость — 40 700 ₽, длительность - 14 недель
Практический курс, на котором вы освоите HTML, CSS, JavaScript и научитесь разрабатывать веб-приложения для пользователей.
Вы научитесь:
Применять HTML и CSS для адаптивной вёрстки и стилизации страниц
Создавать интерактивные сайты и веб-приложения
Использовать библиотеку React.js для разработки современных веб-приложений.
Информация о курсе: стоимость — 238 690 ₽ - 275 890 ₽, длительность - от 4 до 8 месяцев (432 ак.ч.)
Программа обучения включает в себя следующее:
Использование системы управления версиями Git
HTML и CSS: начальный уровень. Создание веб-сайтов с использованием HTML 5 и CSS 3
HTML и CSS: продвинутый уровень. Углубленное изучение CSS и создание макетов
HTML и CSS: экспертный уровень. Продвинутые методы и инструменты верстки
JavaScript: начальный уровень. Основы языка JavaScript
JavaScript: продвинутый уровень. Расширенные возможности языка
JavaScript: экспертный уровень. Изучение новых возможностей в стандарте ESNext
JavaScript: HTML5 API. Использование HTML5 API в разработке
Веб-серверы Nginx и Apache
JavaScript: работа с сетью. Использование Fetch/AJAX API для обмена данными с сервером
JavaScript: библиотека React.js. Создание веб-приложений с использованием React.js
JavaScript: Redux и react-router. Применение библиотек Redux и react-router в разработке.
Информация о курсе: стоимость — 133 790 ₽ - 157 790 ₽, длительность - от 3 до 6 месяцев (272 ак.ч.)
По завершении обучения на этой программе вы сможете:
Создавать веб-страницы с полным набором элементов: текстовыми блоками, ссылками, изображениями;
Производить верстку веб-страниц с применением современных методов HTML и CSS, таких как анимация, трансформация, различные способы отображения элементов, включая использование flex, а также адаптировать страницы для мобильных устройств;
Применять CSS-фреймворки Bootstrap, Foundation для создания визуально привлекательных страниц с использованием эффектов типа 3D и параллакс;
Управлять браузерами и элементами веб-страницы с помощью JavaScript;
Тестировать и собирать веб-приложения с использованием React.js;
Проектировать структуру данных и архитектуру проекта;
Создавать компоненты и работать с API.
В дипломной программе входят следующие курсы:
"HTML и CSS. Уровень 1. Создание веб-сайтов на HTML 5 и CSS 3"
"HTML и CSS. Уровень 2. Глубокое погружение в CSS и верстку макетов"
"HTML и CSS. Уровень 3. Продвинутые методы и инструменты верстки"
"JavaScript. Уровень 1. Основы языка JavaScript"
"JavaScript. Уровень 2. Расширенные возможности JavaScript"
"JavaScript. Уровень 6. Изучение библиотеки React.js"
"Практика разработки веб-приложения (фронтенд)"
Информация о курсе: стоимость — от 2 630 руб. / мес., длительность - 12 месяцев
Учебный курс состоит из следующих разделов:
Знакомство с основами веб-технологий. Основы HTML и форматирование текста с помощью этого языка разметки
Применение CSS для форматирования. Создание списков. Использование отступов и полей в CSS
Изучение Materialize и Bootstrap для создания навигации и оформления веб-страниц
Изучение Less: история, цели и подключение этого препроцессора к CSS
Введение в объектно-ориентированное программирование (ООП)
Работа с событиями и обработка их в JavaScript
Знакомство с Browser Object Model (BOM) и Document Object Model (DOM)
Взаимодействие с DOM и работа с формами в HTML
Проверка достоверности форм и использование Cookies
Использование Canvas для рисования и поддержки медиа-возможностей
Изучение JSON и Ajax для обмена данными между клиентом и сервером
Знакомство с ECMAScript 6 (ES6)
Модульное тестирование кода
Изучение паттернов проектирования и их анализ с использованием UML
Применение паттерна проектирования MVC (Model-View-Controller)
Освоение принципов проектирования классов SOLID
Введение в jQuery и его основные функции для работы с элементами веб-страницы
Создание обработчиков событий с использованием jQuery
Отображение и скрытие элементов страницы, создание эффектов с помощью jQuery
Использование REST API, методов GET и POST
Применение jQuery плагинов
Работа в команде и управление программными проектами
Изучение программной платформы Node.js
Использование фреймворков Angular и React.
Информация о курсе: стоимость — нет информации, длительность - 3 месяца
Образовательная программа включает в себя следующие этапы:
Рабочий процесс
Vue.js
Оригинальный JavaScript
Vue.js, одностраничное приложение (SPA)
Практическое применение
Завершение работы над проектом.
Информация о курсе: стоимость — 11 400 руб., длительность - 254 ч.
Курс включает в себя следующие этапы обучения:
Предисловие
Основы дизайна для веба
Введение в Photoshop
Программирование для веба
Язык JavaScript
Основы работы с базами данных MySQL
HTML5 и CSS3
Фреймворк React.
Учебные материалы включают в себя следующие видеоуроки:
Основы
Знакомство с HTML, его базовая структура и использование мета-тегов
Понятие семантики, важность валидности и доступности контента
Использование тегов глобальной структуры веб-страницы, таких как header, nav, main, footer
Разбор тегов для разметки текстовых элементов, включая h1-h6, p, q, blockquote
Использование тегов для создания списков: ul, ol, dl
Подробный обзор тегов для вставки изображений: img, picture, source, figure, figcaption
Работа с видео и аудио контентом: audio, video, source и соответствующие атрибуты
Создание ссылок и кнопок при помощи тегов a и button
Использование таблиц для структурирования данных: table, th, tr, td, caption, thead, tbody, tfoot
и многое другое.
Совместно с опытным разработчиком Даниилом Пилипенко вы освоите актуальные веб-технологии, научитесь создавать веб-страницы при помощи HTML, начнете писать свои первые скрипты на PHP и JavaScript, и выясните, что вас больше заинтересовано — работа с серверной частью или клиентской частью приложений.
Содержание уроков:
Введение в фронтенд-разработку. С чего начать?
Выбор редактора кода. Почему стоит выбрать VS Code?
Работа с CSS и его препроцессорами.
Изучение Angular, TypeScript, ES6.
Максимальное использование доступных инструментов.
Подведение итогов.
Видеоуроки:
Начало обучения
Разборка макета
Организация контента на странице
Создание первой веб-страницы
Формирование списков в HTML
Создание гиперссылок в HTML
Вставка изображений на веб-страницу
Создание таблицы в HTML
Оформление текста при помощи HTML-тегов
Работа с формами в HTML
и многое другое.
Чтобы стать фронтенд-разработчиком, вам нужно изучить несколько ключевых областей и технологий. Вот основные из них:
HTML (HyperText Markup Language): Основной язык для создания структуры веб-страниц.
CSS (Cascading Style Sheets): Стиль и оформление веб-страниц.
JavaScript: Основной язык программирования для веба, используется для добавления интерактивности на веб-страницы.
CSS препроцессоры: Например, Sass или Less для более удобного и структурированного написания CSS.
JavaScript фреймворки и библиотеки:
React: Популярная библиотека для создания пользовательских интерфейсов.
Vue.js: Прогрессивный фреймворк для построения пользовательских интерфейсов.
Angular: Фреймворк для создания динамичных веб-приложений.
Git и GitHub: Система контроля версий и платформа для хостинга кода.
Webpack, Gulp или другие сборщики проектов: Инструменты для автоматизации задач и сборки проектов.
NPM или Yarn: Менеджеры пакетов для установки и управления зависимостями.
Адаптивный дизайн: Создание сайтов, которые корректно отображаются на устройствах с различными разрешениями экрана.
Кроссбраузерная совместимость: Умение создавать сайты, которые одинаково работают в разных браузерах.
Принципы дизайна пользовательских интерфейсов: Основные концепции и лучшие практики.
Инструменты для создания макетов и прототипов: Например, Figma, Sketch или Adobe XD.
TypeScript: Надстройка над JavaScript, которая добавляет статическую типизацию.
REST и GraphQL: Принципы работы с API.
Основы тестирования: Jest, Cypress и другие инструменты для тестирования фронтенд-кода.
Коммуникация и работа в команде: Взаимодействие с другими разработчиками, дизайнерами и менеджерами.
Адаптивность и непрерывное обучение: Веб-разработка постоянно меняется, важно быть в курсе новых технологий и подходов.
Эти навыки и знания помогут вам стать успешным фронтенд-разработчиком. Начните с изучения основ, а затем постепенно углубляйтесь в более сложные темы.
Средняя зарплата фронтенд-разработчика в России в 2024 году составляет примерно 110,000 - 112,000 рублей в месяц. Эти цифры могут варьироваться в зависимости от региона, опыта и компании. Например, в Москве средняя зарплата фронтенд-разработчика может достигать 200,000 рублей в месяц, тогда как в других городах, таких как Санкт-Петербург, она может быть несколько ниже.
Зарплаты также могут значительно отличаться в зависимости от уровня квалификации. Начинающие специалисты (Junior) могут зарабатывать от 40,000 до 80,000 рублей в месяц, тогда как опытные разработчики (Senior) и тимлиды могут получать от 150,000 до 300,000 рублей и выше.
Факторы, влияющие на зарплату, включают уровень знаний в таких областях, как современные JavaScript-фреймворки (React, Vue.js, Angular), навыки работы с системами контроля версий (Git), и опыт в адаптивной и кроссбраузерной разработке. Чем более обширные и глубокие навыки и опыт у разработчика, тем выше его потенциальная заработная плата.
Время, необходимое для изучения фронтенд-разработки, может значительно варьироваться в зависимости от ряда факторов, включая начальный уровень знаний, интенсивность обучения и целевой уровень мастерства. В целом, можно выделить несколько этапов обучения:
Основы HTML, CSS и JavaScript: 2-3 месяца интенсивного обучения.
Основы адаптивного дизайна и кроссбраузерной совместимости: 1-2 месяца.
Изучение основных инструментов разработки (Git, npm): 1 месяц.
Всего: 4-6 месяцев для получения начальных знаний и навыков, чтобы начать работу на позиции Junior.
Изучение одного или нескольких фреймворков (React, Vue.js, Angular): 3-6 месяцев.
Глубокое понимание JavaScript (ES6 и выше): 2-3 месяца.
Работа с препроцессорами CSS (Sass, Less): 1 месяц.
Изучение и внедрение систем сборки (Webpack, Gulp): 1-2 месяца.
Всего: 7-12 месяцев дополнительного обучения после начального уровня.
Опыт работы в реальных проектах: 1-2 года.
Глубокое изучение архитектурных паттернов и лучших практик разработки: 6-12 месяцев.
Участие в разработке сложных интерфейсов и оптимизация производительности: 6-12 месяцев.
Всего: 2-3 года опыта и дополнительного обучения после достижения среднего уровня.
Для достижения уровня Junior может потребоваться от 4 до 6 месяцев. Для перехода на уровень Mid-Level потребуется еще от 7 до 12 месяцев. Для достижения уровня Senior может понадобиться от 2 до 3 лет опыта работы в дополнение к предыдущим этапам обучения.
В целом, чтобы стать профессиональным фронтенд-разработчиком, потребуется от 2 до 3 лет интенсивного обучения и практики, чтобы достичь уровня Senior. Однако даже на начальных этапах (через 4-6 месяцев) можно начать работать на позиции Junior и продолжать обучение на практике
Я добавлю.
1. Этот хлебозавод будет производить 8987567 грамм хлеба в день вне зависимости от необходимости. Причем только булочки с корицей.
2. Для булочек с маком нужен другой хлебозавод.
3. При попытке изменить техпроцесс, добавив кунжут - завод встает, пока в радиусе 100 км останется хоть одно зернышко кунжута.
4. Внезапно может встать и требовать апгрейда для лучшей выпечки. После апгрейда запуск возможен после перестройки 50% завода.
5. Внезапно он может встать по причине истекших ТУ на корицу. Запустить можно только после оплаты ТУ на корицу, соль и сахар, после чего требуется замена оборудования для поддержки новых ТУ на сахар.
6. Если попытаться использовать муку другого производителя - он встанет на неделю, после чего главный цех саморазрушится.
7. Если у РФ санкции - хлебозавод начинает перерабатывать муку на дерьмо, не забывая, впрочем, посыпать конечный продукт корицей.
8. Заказчик боится упоминать о том, что ему нужен был чёрный и белый хлеб. Не без оснований.
9. Заказчик проходит все предыдущие пункты, после чего, если ему очень - очень нужен хлеб и остались деньги - начинает печь хлеб вручную.
Это не юмор, это злой сарказм. Гореть в аду этим "сеньорам"!
И так еще один способ. Имхо самым простой. Но 26 секунд. А автор писал про 10 :)