Что такое инженерия?
«минимальная стоимость, максимальная производительность» звучит красиво, но в программировании размеры разные. Стабильность, эластичность, совместимость, производительность — да, это четырехмерный мир.

С точки зрения конечного пользователя стабильные программы более ценны, чем что-либо еще. Может быть, причина отнимает время, а время = деньги. независимо от того.

Я попытаюсь выяснить сходство между реальными (3D) инженерными решениями и программными решениями.

Правило 1. Контрольные точки.

Компании, выпускающие видеоигры, всегда используют эту стратегию, чтобы удерживать внимание своих клиентов в игре. если что-то сломалось, вернитесь к ближайшему блокпосту, начните снова с минимальными потерями.

Реальное инженерное решение: перекачка питьевой воды через высокие точки

Решение для первокурсников

Главное решение

Объяснение: 10-метровый водяной столб создает давление 1 бар на дне, и если вам нужно пересечь 300-метровый холм, вам нужно выдержать давление 30 бар на уровне источника воды, так как нет воды. труба может выдерживать 30 бар (максимум 12 бар), инженеры должны разделить это давление наиболее равным и раздельным образом. на первом рисунке (я все еще не могу использовать фотошоп и не спрашивайте, почему, пожалуйста) труба должна создавать высокое давление, и это вызывает слабое место на уровне воды и дома на трубе.

Это напоминает мне тип «одна функция, делай все». в любом случае.

Решение для программирования: просмотр веб-страниц

давайте предположим, что нам нужны определенные данные на веб-сайте, и нам нужно удалить 10 000 страниц на этом веб-сайте.

Решение для первокурсников

Вы можете себе представить давление на «цикл for»?

Главное решение

Шаг 1. Использование базы данных будет хорошей практикой в ​​любой ситуации стихийного бедствия, так как вы сможете начать с того места, где вы остановились, например, с контрольно-пропускного пункта, да?

Шаг 2. Необработанные данные важны. Вы никогда не знаете, когда вам это нужно. Как только вы перегружаете сеть, хорошей практикой будет сохранение необработанных данных. Вы можете легко хешировать ссылку и использовать ее в качестве имени файла, чтобы вы могли использовать ее в качестве первичного ключа между строками базы данных и сохраненными вами файлами. Сетевые соединения имеют много нестабильных состояний, слабых мест и большинство из них не на вашей стороне.

Шаг 3. Работа с файлами вместо данных о доходах в эфире будет наиболее стабильным способом программирования. кто может возразить против этого? Пришло время удалить данные с помощью регулярных выражений и сохранить их в базе данных. Написание регулярных выражений с супер безусловными кодами HTML требует некоторых циклов повторных попыток. Как только вы поймете, что ваше регулярное выражение имеет некоторые слабые места и не может поймать данные. угадайте что, мы уже прошли еще один блокпост и у нас нет потерь.

Шаг 4.Обновление базы данных каждой частью входящих данных будет еще одной хорошей практикой. Если что-то пойдет не так, вы можете легко начать с того места, где остановились в прошлый раз, с помощью очень простого запроса «where table.data is NULL».

Подводя итог: контрольно-пропускные пункты стары, но золоты.

Удачного кодирования :)