Pull to refresh
0
0

User

Send message
Выводы интересные в статье про экономический эффект, повышение стабильности и снижение трудозатрат.

Здесь хочу вспомнить цитату компьютерного учёного Дэвида Уилера: «Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности».

Наверное, DevOps — это новый уровень косвенности, который при росте сложности информационной системы становится просто необходим, чтобы сохранять контроль над ней.

И нужно понимать, что сама сложность с внедрением DevOps никуда не девается, а ещё даже и приумножается. Т.е. вам всё равно нужны будут дополнительные ресурсы, чтобы помимо разработки непосредственно программы, выделять их ещё и средствам автоматизации разработки.

Грубо говоря, раньше вы чинили программу. Сейчас вам нужно чинить ещё и DevOps, когда он ломается.

Что DevOps действительно даёт вам, так это резерв времени: вы узнаёте о том, что что-то сломалось раньше и успеваете починить программу до того, как дефект доходит до конечного пользователя.
Всё так, t.me/v8std веду я. Разбираю день по стандарту, чтобы было не скучно ехать в метро. Подписывайтесь!
Информации для анализа мало, но, возможно, вам для расследования ошибки поможет следующая рекомендация.
Бережное использование ресурсов

Оперативная память

Одним из самых главных и ценных ресурсов является оперативная память. Мы с вами мало про это помним, особенно в современные времена. Когда в настольных компьютерах стоит по 16Гб памяти, непонятно, зачем нужно экономить память?

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

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

Особенно осторожно следует относиться к формированию больших структур данных в памяти. Например, во встроенном языке есть возможность обрабатывать файлы целиком. Текстовые документы в ТекстовыйДокумент, XML в ДокументDOM или HTML в ДокументHTML. Это неправильные способы работы с большими файлами, потому что в этом случае весь файл загружается в оперативную память, создаётся много служебной информации, а файл может быть очень большим. На практике эти способы нужны в редких случаях, когда необходим произвольный доступ к содержимому файла, к какой-то конкретной его части. Но в подавляющем большинстве случаев практические задачи заключаются в том, чтобы обработать весь файл. И для этого нужно использовать последовательную запись и последовательное чтение: ЧтениеXML, ЧтениеТекста, ЗаписьXML, ЗаписьТекста. Эти методы читают файлы порциями и расходуют память экономно.

Information

Rating
Does not participate
Works in
Registered
Activity