Программирование – перспективное направление деятельности, которое активно развивается на рынке труда. Каждый разработчик может создавать утилиты и игры для широкой публики. Для этого необходимо знать языки программирования, а также разбираться в методологиях разработки. Это поможет оптимизировать весь процесс, достичь максимальных результатов с минимальными затратами.
В данной статье будет рассказано о том, какие методологии программирования существуют. Каждый вариант рассмотрен с его преимуществами и недостатками. Также предложена разница между разработкой и программированием программного продукта, раскрыто понятие жизненного цикла. С «базой» по терминологии тоже предстоит ознакомиться. Предложенная информация будет одинаково полезна как новичкам, так и опытным создателям приложений.
Программирование – это…
Программирование – процесс создания компьютерных, мобильных или консольных утилит. Базируется на применении так называемых языков программирования. На них получается исходных текст утилиты.
Сегодня существует более 300 ЯП, но знать их для успешного продвижения по карьерной лестнице вовсе не обязательно. Огромным спросом пользуются:
- Java;
- Си-семейство (C Sharp, C++, C);
- Python;
- JavaScript.
Перед тем, как заучивать тот или иной язык, необходимо разобраться с методологиями создания программного обеспечения. А еще – определиться с нишей, для которой будет осуществляться коддинг приложений. Все это поможет сделать максимально правильный и грамотный выбор.
Разработка или программирование
При рассмотрении темы, связанной с созданием программного обеспечения, часто встречаются два схожих между собой термина – «разработка» и «программирование». Отсюда произошли «разработчики» и «программисты».
Многие называют соответствующими терминами одни и те же «вещи». Это не совсем правильно. Такой подход является заведомо проигрышным, если человек хочет работать в выбранном направлении.
Программирование в узком смысле – это процедура написания решений для конкретной задачи. Программисты занимаются созданием кодов, которые необходимы при возникновении обозначенной проблемы. Код – это все, что их интересует.
Разработка – это тоже создание приложений и программных проектов, но в более широком понятии. Здесь предстоит разбираться в:
- архитектуре контента;
- методологиях создания ПО;
- функциональных возможностях ЯП;
-
тестировании;
- принципах релиза.
Разработчики – это своеобразные мастера-универсалы. Они создают программное обеспечение «с нуля», полностью продумывая его концепции. Также отвечают за взаимодействие внутри команды, сопровождение утилиты вплоть до релизов и обновлений.
Термины – что может пригодиться
Во время процесса разработки и написания исходного кода программеру потребуются хорошие знания в области терминологии. Стоит обратить внимание на то, что, в зависимости от выбранного ЯП, будут меняться ключевые понятия, связанные с коддингом.
Вот «база», которая потребуется при любой разработке:
- Алгоритм – набор инструкций, а также указаний и принципов, которые помогают решать конкретную задачу/проблему.
- API – интерфейс прикладного программирования. Правила, структуры и протоколы, помогающие софту взаимодействовать друг с другом. Позволяет улучшать код и обеспечивает контактирование ПО с разного рода службами.
- Переменная – именованная ячейка хранения в памяти. Может быть сохранена, изменена, а также считана или удалена.
- Аргумент – значение, передаваемое в команды, функции.
- ASCII – американский стандартный код для обмена информацией. Присваивает буквам, цифрам и иным символам слоты, доступные в 8-битном коде.
- Символ – элементарная единица информации. Выражается одной цифирной или буквенной записью.
- Объект – комбинация связанных между собой переменных, констант и иных структурных данных. Они могут быть выбраны и обработаны совместным образом
- Класс – набор связанных объектов с общими свойствами.
- Компиляция – процедура получения исполняемой утилиты при помощи кода, прописанного на скомпилированном ЯП.
- Константы – значения, которые ни при каких обстоятельствах не подлежат корректировке. Они сохраняют свое значение на протяжении всей работы ПО.
- Тип данных – классификация информации определенного типа.
- Массив – множество значений. Схожие типы данных, которые выбраны совместным образом.
- Фреймворк – готовый блок кода, необходимый для ускорения разработки. Программер может его корректировать для собственных утилит.
- Итерация – один проход через набор операций, работающих с программным кодом.
- Ключевое слово – в разработке это зарезервированные при помощи ЯП специальные слова. Они помогают обозначать функции, инструменты или команды.
- Операнд – объекты, которыми можно управлять через операторы.
- Оператор – элемент кодификации, управляющий операндами.
- Указатель – переменная, содержащая адрес места в памяти.
- Пакет – организованный модуль связанных интерфейсов и классов.
Для разработки программного обеспечения также требуется понимание термина «синтаксис». Это – принципы и правила передачи операторов в пределах выбранного ЯП. То, как будет выглядеть исходный код во время работы программера.
Жизненный цикл
Несколько ключевых терминов и понятий изучить получилось. Перед тем, как рассматривать основные методики и модели разработки, необходимо разобраться с жизненным циклом утилиты.
Это – этапы, через которые проходит ПО от начала создания до конца разработки, а также релиза. Обычно сюда включены следующие шаги:
- подготовка;
- проектирование;
- создание;
- поддержка.
Этапы могут дробиться на более мелкие и важные основные части, а также иметь различные названия.
Особенности ЖЦ
У всех программ есть жизненный цикл. Чтобы лучше понимать каждый из ключевых его этапов, стоит обратить внимание на наглядные примеры. В основе заложен интернет-магазин:
- Подготовка. Заказчик решает собственный интернет-магазин по продаже книг. Он проводит анализ того, какие подобные сервисы уже представлены потенциальной целевой аудитории. Далее происходит сбор данных о трафике и функциональности.
- Проектирование. Потенциальный заказчик обращается к подрядчикам и обсуждает будущий софт со специалистами. В этот момент ведется разработка архитектуры и дизайна.
- Создание. Происходит заключение договора с программерами. Сотрудники начали писать итоговую кодификацию, заниматься отрисовкой дизайна, составлять документацию, необходимую юзерам в будущем.
- Поддержка. Подписан акт приемки-передачи. Подрядчики разместили магазин на «боевых» серверах. Пользователи стали его посещать и говорить об обнаруженных багах и неполадках, направляя обращения в службу поддержки. Программеры оперативно и быстро все исправляют.
Модель написания ПО – это описание того, какие стадии жизненного цикла проходит утилита. А еще – что происходит на каждом шаге.
Методология – набор методов по управлению разработкой. Это – принципы, техники, а также правила, которые делают процедуру коддинга наиболее эффективной.
Типы методологий
Каждую идею будущего проекта необходимо тщательно продумывать. От организации коддинга зависит не только скорость релиза, но и его успех. Перед выбором методологии стоит обратить внимание на их типы. От данного момента будет зависеть, какой ЯП использовать.
Процедурное
Проблема (задача) разбивается на отдельные блоки кода или процедуры. Каждая «часть» отвечает за выполнение конкретной операции. Все процедуры, взятые вместе – это итоговый контент. Подход годится для небольших проектов с низким уровнем сложности.
Пример – это калькуляторы. Сложение, вычитание и другие математические операции – это самостоятельные задачи.
Объектно-ориентированное
Решение будет вращаться около сущностей и объектов. Они – часть поставленной задачи. Решение будет иметь дело с тем, как осуществлять хранение информации, связанной с объектами. А еще – как соответствующие элементы ведут себя, взаимодействуют друг с другом для выдачи оптимальных решений.
Пример – создание системы управления зарплатой. Там должны быть пункты «Сотрудники», «Структура выплат», «Правила отпуска» и так далее. Вокруг них строятся непосредственные решения.
Функциональное
Проблема или желаемое решение делится на функциональные единицы. Каждый юнит – самостоятелен. Он отвечает за выполнение конкретной задачи. Единицы смешиваются вместе для формирования полного решения.
Пример – разработка платежной ведомости. Обработка этой «документации» может иметь функциональные единицы: ведение данных о подчиненных, расчет базы з/п, брутто-зарплата, обработка отпусков, погашение займов и так далее.
Логическое
Возможно применение логической разработки. Первоначальная задача разбивается на логические единицы. Программеры могут выбрать одну или комбинацию представленных методологий для получения на выходе качественного ПО.
Каждый вариант предусматривает разбиение задачи на более мелкие составляющие. Для этого применяется:
- нисходящий подход;
- «снизу-вверх».
Все это важно понимать при реализации желаемого проекта. Если используется не самая лучшая «метода», разработка доставит немало хлопот. Программерам предстоит вносить множество изменений, а также снова продумывать концепции оптимизации проекта.
Нисходящий подход
Модульный подход предусматривает ситуацию, когда проблема разбита на более мелкие составляющие. Они тоже могут дробиться в будущем. Каждый блок – это модуль. Он выступает в качестве самодостаточного. В таких «блоках» есть все необходимое для выполнения обозначенной функции.
Снизу-вверх
Можно писать c использованием подхода «снизу-вверх». Тут проектирование систему осуществляется с самого низкого уровня компонентов. Они будут группироваться и формировать компоненты более высокого значения.
Процесс продолжается до тех пор, пока в не получите сгенерированную иерархию всех элементов системы. В реальном сценарии их достаточно трудно распознать. Модель пригодится, если речь идет о программировании элементарных задач.
Основные модели разработки ПО
Программеры разрабатывают софт различными подходами. Вот основные:
- code and fix – устранение ошибок и кодирование;
- waterfall – «водопад» или каскадная модель;
- V-model – разработка через тестирование;
- spiral – спиральная;
- chaos – модель так называемого хаоса;
- prototype – прототипирование;
- incremental – инкрементная модель;
- iterative – итерационная.
В случаях «эффективного программирования» принято использовать пять ключевых вариантов: «каскад», V-образ, инкремент, итерационный вариант, спиральный. Четко понимая их до последнего, разраб сможет осуществить анализ требований заказчика и получить на выходе максимально эффективное приложение.
«Водопад»
Разбираясь в методологиях программирования, стоит обратить внимание на «водопад». Здесь написание ПО происходит поэтапно: каждая следующая стадия начинается лишь после того, как предыдущая подошла к концу.
Если все реализовывать правильно, «каскад» позволит быстро и просто писать софт любой сложности. Этот вариант применяется на практике с 1970-х годов.
Преимущества и недостатки
К сильным сторонам относят:
- возможность быстрой и простой разработки с тщательным контролем;
- стоимость проекта будет определяться на начальном этапе;
- не нужно нанимать тестировщиков с хорошей технической подготовкой.
К слабым сторонам водопада относят:
- тестирование ПО, которое создали, осуществляется достаточно поздно;
- обратную связь от заказчика можно получить только в самом конце;
- разработчикам приходится создавать объемную документацию.
Основная задача, если хочется использовать модель «водопад» — это создание подробного технического задания.
V-образ
Следующая «версия» к быстрой разработке ПО – это V model. Усовершенствованный каскадный вариант, в которой требования к системе и описание составляется заказчиком вместе с программерами. Здесь фиксируется, как происходит тестинг на каждом шаге.
Подход, который позволяет к минимуму свести ошибки и рассмотреть сразу требования к системе. Но такой прием обойдется дорого при обнаружении неполадок.
Инкрементный вариант
Чтобы давать максимальную эффективность в коддинге, можно составлять ПО частями – инкрементно. Вот пример с социальной сетью:
- Появилась идея, заказчик составляет ТЗ. Программеры предлагают реализовывать основные функции – страницы с анкетами и чат. Далее – провести тестинг на ЦА.
- Разработчики показали продукт заказчику, выпустили его на рынок. Если клиент и ЦА довольны результатом разработанных утилит, можно продолжать их поддержку и реализацию. Происходит это по частям.
- Программеры создают и внедряют новые функции вроде сервисов для загрузки мультимедиа, обмена документацией, прослушивания музыки. Инкремент за инкрементом они совершенствуют софт.
На первоначальном этапе здесь не нужно тратить много денег. Прием обеспечивает качественный фидбек в короткий срок. А еще – ошибки обходятся дешевле.
Возможны конфликты между командами разрабов, так как каждая из них видит ПО «собственными глазами». В больших проектах это – настоящая проблема. Программеры также часто откладывают релиз» и «допиливают мелочевку».
Итератив
Модель, где заказчик не должен понимать, какой продукт он хочет получить в итоге. Оценка происходит через техническое задание, которое обсуждается с разрабами.
Подход славится быстрой реализацией продукта, а также оперативностью обратной связи от заказчика и пользователей. Также выделяется постоянным тестированием. Но на первых порах возникают сложности с базами данных и серверами. Расходы и сроки не имеют четких границ.
Спираль
С ее помощью заказчики и разрабы будут анализировать риски проекта. Далее – выполнять его итерациями. Последующие стадии опираются на предыдущие. В конце каждого «витка» — цикла итераций – принимается решение относительно продолжения идеи.
Здесь огромное значение уделяется проработке возможных рисков. Если они обнаруживаются на первоначальных этапах, можно бесконечно долго заниматься «началом», не переходя к новым версиям. Подход дорогой и долгий.
RAD
Но есть и еще один интересный вариант. Это – модель быстрой разработки приложений. Носит названием RAD. Представлена концепцией организации технологического процесса разработки ПО, ориентированной на максимально быстрое получение итога в условиях сильных ограничений по срокам и бюджету. Требования к контенту будут размыты. Ускорение происходит за счет использования специального инструментария и постоянного, параллельного с написанием контента, уточнения пожеланий.
Здесь стоит учитывать следующее:
- Программер должен уметь работать с CASE-инструментами. Это – ПО для проектирования приложений.
- Подходит тем, кто пишет софт с независимыми или слабосвязанными модулями.
- Обеспечивает качественный уровень для пользователей.
- Можно оперативно корректировать проект.
RAD необходимо использовать только в больших командах. Результат зависит от вовлеченности заказчика в работу.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Методологии разработки: как можно создавать контент OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Программирование – перспективное направление деятельности, которое активно развивается на рынке труда. Каждый разработчик может создавать утилиты и игры для широкой публики. Для этого необходимо знать языки программирования, а также разбираться в методологиях разработки. Это поможет оптимизировать весь процесс, достичь максимальных результатов с минимальными затратами. В данной статье будет рассказано о том, какие методологии программирования существуют." />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/metodologii-razrabotki-kak-mozhno-sozdavat-kontent/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#article","name":"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438: \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442 OTUS","headline":"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438: \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/06\/oj-1080x720-12.png","width":1080,"height":720},"datePublished":"2022-06-21T18:44:27+00:00","dateModified":"2022-06-21T18:44:29+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#listItem","position":2,"name":"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438: \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#webpage","url":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/","name":"\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438: \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442 OTUS","description":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u2013 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u0442\u0440\u0443\u0434\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0438 \u0438\u0433\u0440\u044b \u0434\u043b\u044f \u0448\u0438\u0440\u043e\u043a\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u043d\u0430\u0442\u044c \u044f\u0437\u044b\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442.","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/06\/oj-1080x720-12.png","@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#mainImage","width":1080,"height":720},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/#mainImage"},"datePublished":"2022-06-21T18:44:27+00:00","dateModified":"2022-06-21T18:44:29+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/3841" /><link rel='shortlink' href='https://otus.ru/journal/?p=3841' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-3841 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-3841" class="the-post post-3841 post type-post status-publish format-standard has-post-thumbnail category-polza tag-programmirovanie">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Методологии разработки: как можно создавать контент
</h1>
<a href="https://otus.ru/journal/metodologii-razrabotki-kak-mozhno-sozdavat-kontent/" class="date-link" data-wpel-link="internal"><time class="post-date">21 июня, 2022</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Методологии разработки: как можно создавать контент" title="Методологии разработки: как можно создавать контент" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-12-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6" title="Программирование – это…">Программирование – это…</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8%D0%BB%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Разработка или программирование">Разработка или программирование</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D1%8B_%E2%80%93_%D1%87%D1%82%D0%BE_%D0%BC%D0%BE%D0%B6%D0%B5%D1%82_%D0%BF%D1%80%D0%B8%D0%B3%D0%BE%D0%B4%D0%B8%D1%82%D1%8C%D1%81%D1%8F" title="Термины – что может пригодиться">Термины – что может пригодиться</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%96%D0%B8%D0%B7%D0%BD%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%86%D0%B8%D0%BA%D0%BB" title="Жизненный цикл">Жизненный цикл</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%96%D0%A6" title="Особенности ЖЦ">Особенности ЖЦ</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%A2%D0%B8%D0%BF%D1%8B_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B9" title="Типы методологий">Типы методологий</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%BD%D0%BE%D0%B5" title="Процедурное">Процедурное</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5" title="Объектно-ориентированное">Объектно-ориентированное</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5" title="Функциональное">Функциональное</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5" title="Логическое">Логическое</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%9D%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4" title="Нисходящий подход">Нисходящий подход</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%A1%D0%BD%D0%B8%D0%B7%D1%83-%D0%B2%D0%B2%D0%B5%D1%80%D1%85" title="Снизу-вверх">Снизу-вверх</a></li></ul></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%9F%D0%9E" title="Основные модели разработки ПО">Основные модели разработки ПО</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#%C2%AB%D0%92%D0%BE%D0%B4%D0%BE%D0%BF%D0%B0%D0%B4%C2%BB" title="«Водопад»">«Водопад»</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-15" href="#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8" title="Преимущества и недостатки">Преимущества и недостатки</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-16" href="#V-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7" title="V-образ">V-образ</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-17" href="#%D0%98%D0%BD%D0%BA%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82" title="Инкрементный вариант">Инкрементный вариант</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-18" href="#%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2" title="Итератив">Итератив</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-19" href="#%D0%A1%D0%BF%D0%B8%D1%80%D0%B0%D0%BB%D1%8C" title="Спираль">Спираль</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-20" href="#RAD" title="RAD">RAD</a></li></ul></nav></div>
<p>Программирование – перспективное направление деятельности, которое активно развивается на рынке труда. Каждый разработчик может создавать утилиты и игры для широкой публики. Для этого необходимо знать <a href="https://otus.ru/journal/yazyki-programmirovaniya-harakteristika-opisanie-vidy/" data-wpel-link="internal">языки программирования</a>, а также разбираться в методологиях разработки. Это поможет оптимизировать весь процесс, достичь максимальных результатов с минимальными затратами.</p>
<p>В данной статье будет рассказано о том, какие методологии программирования существуют. Каждый вариант рассмотрен с его преимуществами и недостатками. Также предложена разница между разработкой и программированием программного продукта, раскрыто понятие жизненного цикла. С «базой» по терминологии тоже предстоит ознакомиться. Предложенная информация будет одинаково полезна как новичкам, так и опытным создателям приложений.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6"></span>Программирование – это…<span class="ez-toc-section-end"></span></h2>
<p>Программирование – процесс создания компьютерных, мобильных или консольных утилит. Базируется на применении так называемых языков программирования. На них получается исходных текст утилиты.</p>
<p>Сегодня существует более 300 ЯП, но знать их для успешного продвижения по карьерной лестнице вовсе не обязательно. Огромным спросом пользуются:</p>
<ul><li>Java;</li><li>Си-семейство (C Sharp, C++, C);</li><li>Python;</li><li>JavaScript.</li></ul>
<p>Перед тем, как заучивать тот или иной язык, необходимо разобраться с методологиями создания программного обеспечения. А еще – определиться с нишей, для которой будет осуществляться коддинг приложений. Все это поможет сделать максимально правильный и грамотный выбор.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B8%D0%BB%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"></span>Разработка или программирование<span class="ez-toc-section-end"></span></h3>
<p>При рассмотрении темы, связанной с созданием программного обеспечения, часто встречаются два схожих между собой термина – «разработка» и «программирование». Отсюда произошли «разработчики» и «программисты».</p>
<p>Многие называют соответствующими терминами одни и те же «вещи». Это не совсем правильно. Такой подход является заведомо проигрышным, если человек хочет работать в выбранном направлении.</p>
<p>Программирование в узком смысле – это процедура написания решений для конкретной задачи. Программисты занимаются созданием кодов, которые необходимы при возникновении обозначенной проблемы. Код – это все, что их интересует.</p>
<p>Разработка – это тоже создание приложений и программных проектов, но в более широком понятии. Здесь предстоит разбираться в:</p>
<ul><li>архитектуре контента;</li><li>методологиях создания ПО;</li><li>функциональных возможностях ЯП;</li><li><a href="https://otus.ru/journal/testirovanie-ot-a-do-ya/" data-wpel-link="internal">тестировании</a>;</li><li>принципах релиза.</li></ul>
<p>Разработчики – это своеобразные мастера-универсалы. Они создают программное обеспечение «с нуля», полностью продумывая его концепции. Также отвечают за взаимодействие внутри команды, сопровождение утилиты вплоть до релизов и обновлений.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D1%8B_%E2%80%93_%D1%87%D1%82%D0%BE_%D0%BC%D0%BE%D0%B6%D0%B5%D1%82_%D0%BF%D1%80%D0%B8%D0%B3%D0%BE%D0%B4%D0%B8%D1%82%D1%8C%D1%81%D1%8F"></span>Термины – что может пригодиться<span class="ez-toc-section-end"></span></h2>
<p>Во время процесса разработки и написания исходного кода программеру потребуются хорошие знания в области терминологии. Стоит обратить внимание на то, что, в зависимости от выбранного ЯП, будут меняться ключевые понятия, связанные с коддингом.</p>
<p>Вот «база», которая потребуется при любой разработке:</p>
<ol type="1"><li>Алгоритм – набор инструкций, а также указаний и принципов, которые помогают решать конкретную задачу/проблему.</li><li>API – интерфейс прикладного программирования. Правила, структуры и <a href="https://otus.ru/journal/protokoly-i-ip-chto-nuzhno-znat-programmistu/" data-wpel-link="internal">протоколы</a>, помогающие софту взаимодействовать друг с другом. Позволяет улучшать код и обеспечивает контактирование ПО с разного рода службами.</li><li>Переменная – именованная ячейка хранения в памяти. Может быть сохранена, изменена, а также считана или удалена.</li><li>Аргумент – значение, передаваемое в команды, функции.</li><li>ASCII – американский стандартный код для обмена информацией. Присваивает буквам, цифрам и иным символам слоты, доступные в 8-битном коде.</li><li>Символ – элементарная единица информации. Выражается одной цифирной или буквенной записью.</li><li>Объект – комбинация связанных между собой переменных, констант и иных структурных данных. Они могут быть выбраны и обработаны совместным образом</li><li>Класс – набор связанных объектов с общими свойствами.</li><li>Компиляция – процедура получения исполняемой утилиты при помощи кода, прописанного на скомпилированном ЯП.</li><li>Константы – значения, которые ни при каких обстоятельствах не подлежат корректировке. Они сохраняют свое значение на протяжении всей работы ПО.</li><li>Тип данных – классификация информации определенного типа.</li><li>Массив – множество значений. Схожие типы данных, которые выбраны совместным образом.</li><li>Фреймворк – готовый блок кода, необходимый для ускорения разработки. Программер может его корректировать для собственных утилит.</li><li>Итерация – один проход через набор операций, работающих с программным кодом.</li><li>Ключевое слово – <a href="https://otus.ru/journal/patterny-v-razrabotke-chto-eto/" data-wpel-link="internal">в разработке это</a> зарезервированные при помощи ЯП специальные слова. Они помогают обозначать функции, инструменты или команды.</li><li>Операнд – объекты, которыми можно управлять через операторы.</li><li>Оператор – элемент кодификации, управляющий операндами.</li><li>Указатель – переменная, содержащая адрес места в памяти.</li><li>Пакет – организованный модуль связанных интерфейсов и классов.</li></ol>
<p>Для разработки программного обеспечения также требуется понимание термина «синтаксис». Это – принципы и правила передачи операторов в пределах выбранного ЯП. То, как будет выглядеть исходный код во время работы программера.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%96%D0%B8%D0%B7%D0%BD%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%86%D0%B8%D0%BA%D0%BB"></span>Жизненный цикл<span class="ez-toc-section-end"></span></h2>
<p>Несколько ключевых терминов и понятий изучить получилось. Перед тем, как рассматривать основные методики и модели разработки, необходимо разобраться с жизненным циклом утилиты.</p>
<p>Это – этапы, через которые проходит ПО от начала создания до конца разработки, а также релиза. Обычно сюда включены следующие шаги:</p>
<ul><li>подготовка;</li><li>проектирование;</li><li>создание;</li><li>поддержка.</li></ul>
<p>Этапы могут дробиться на более мелкие и важные основные части, а также иметь различные названия.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%96%D0%A6"></span>Особенности ЖЦ<span class="ez-toc-section-end"></span></h3>
<p>У всех программ есть жизненный <a href="https://otus.ru/journal/cikl-osobennosti-i-opredelenie/" data-wpel-link="internal">цикл</a>. Чтобы лучше понимать каждый из ключевых его этапов, стоит обратить внимание на наглядные примеры. В основе заложен интернет-магазин:</p>
<ol type="1"><li>Подготовка. Заказчик решает собственный интернет-магазин по продаже книг. Он проводит анализ того, какие подобные сервисы уже представлены потенциальной целевой аудитории. Далее происходит сбор данных о трафике и функциональности.</li><li>Проектирование. Потенциальный заказчик обращается к подрядчикам и обсуждает будущий софт со специалистами. В этот момент ведется разработка архитектуры и дизайна.</li><li>Создание. Происходит заключение договора с программерами. Сотрудники начали писать итоговую кодификацию, заниматься отрисовкой дизайна, составлять документацию, необходимую юзерам в будущем.</li><li>Поддержка. Подписан акт приемки-передачи. Подрядчики разместили магазин на «боевых» серверах. Пользователи стали его посещать и говорить об обнаруженных багах и неполадках, направляя обращения в службу поддержки. Программеры оперативно и быстро все исправляют.</li></ol>
<p>Модель написания ПО – это описание того, какие стадии жизненного цикла проходит утилита. А еще – что происходит на каждом шаге.</p>
<p>Методология – набор методов по управлению разработкой. Это – принципы, техники, а также правила, которые делают процедуру коддинга наиболее эффективной.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B8%D0%BF%D1%8B_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B9"></span>Типы методологий<span class="ez-toc-section-end"></span></h2>
<p>Каждую идею будущего проекта необходимо тщательно продумывать. От организации коддинга зависит не только скорость релиза, но и его успех. Перед выбором методологии стоит обратить внимание на их типы. От данного момента будет зависеть, какой ЯП использовать.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%BD%D0%BE%D0%B5"></span>Процедурное<span class="ez-toc-section-end"></span></h3>
<p>Проблема (задача) разбивается на отдельные блоки кода или процедуры. Каждая «часть» отвечает за выполнение конкретной операции. Все процедуры, взятые вместе – это итоговый контент. Подход годится для небольших проектов с низким уровнем сложности.</p>
<p>Пример – это калькуляторы. Сложение, вычитание и другие математические операции – это самостоятельные задачи.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5"></span>Объектно-ориентированное<span class="ez-toc-section-end"></span></h3>
<p>Решение будет вращаться около сущностей и объектов. Они – часть поставленной задачи. Решение будет иметь дело с тем, как осуществлять хранение информации, связанной с объектами. А еще – как соответствующие элементы ведут себя, взаимодействуют друг с другом для выдачи оптимальных решений.</p>
<p>Пример – создание системы управления зарплатой. Там должны быть пункты «Сотрудники», «Структура выплат», «Правила отпуска» и так далее. Вокруг них строятся непосредственные решения.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5"></span>Функциональное<span class="ez-toc-section-end"></span></h3>
<p>Проблема или желаемое решение делится на функциональные единицы. Каждый юнит – самостоятелен. Он отвечает за выполнение конкретной задачи. Единицы смешиваются вместе для формирования полного решения.</p>
<p>Пример – разработка платежной ведомости. Обработка этой «документации» может иметь функциональные единицы: ведение данных о подчиненных, расчет базы з/п, брутто-зарплата, обработка отпусков, погашение займов и так далее.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5"></span>Логическое<span class="ez-toc-section-end"></span></h3>
<p>Возможно применение логической разработки. Первоначальная задача разбивается на логические единицы. Программеры могут выбрать одну или комбинацию представленных методологий для получения на выходе качественного ПО.</p>
<p>Каждый вариант предусматривает разбиение задачи на более мелкие составляющие. Для этого применяется:</p>
<ul><li>нисходящий подход;</li><li>«снизу-вверх».</li></ul>
<p>Все это важно понимать при реализации желаемого проекта. Если используется не самая лучшая «метода», разработка доставит немало хлопот. Программерам предстоит вносить множество изменений, а также снова продумывать концепции оптимизации проекта.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B8%D0%B9_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4"></span>Нисходящий подход<span class="ez-toc-section-end"></span></h4>
<p>Модульный подход предусматривает ситуацию, когда проблема разбита на более мелкие составляющие. Они тоже могут дробиться в будущем. Каждый блок – это модуль. Он выступает в качестве самодостаточного. В таких «блоках» есть все необходимое для выполнения обозначенной функции.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BD%D0%B8%D0%B7%D1%83-%D0%B2%D0%B2%D0%B5%D1%80%D1%85"></span>Снизу-вверх<span class="ez-toc-section-end"></span></h4>
<p>Можно писать c использованием подхода «снизу-вверх». Тут проектирование систему осуществляется с самого низкого уровня компонентов. Они будут группироваться и формировать компоненты более высокого значения.</p>
<p>Процесс продолжается до тех пор, пока в не получите сгенерированную иерархию всех элементов системы. В реальном сценарии их достаточно трудно распознать. Модель пригодится, если речь идет о программировании элементарных задач.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%9F%D0%9E"></span>Основные модели разработки ПО<span class="ez-toc-section-end"></span></h2>
<p>Программеры разрабатывают софт различными подходами. Вот основные:</p>
<ul><li>code and fix – устранение ошибок и кодирование;</li><li>waterfall – «водопад» или каскадная модель;</li><li>V-model – разработка через тестирование;</li><li>spiral – спиральная;</li><li>chaos – модель так называемого хаоса;</li><li>prototype – прототипирование;</li><li>incremental – инкрементная модель;</li><li>iterative – итерационная.</li></ul>
<p>В случаях «эффективного программирования» принято использовать пять ключевых вариантов: «каскад», V-образ, инкремент, итерационный вариант, спиральный. Четко понимая их до последнего, разраб сможет осуществить анализ требований заказчика и получить на выходе максимально эффективное приложение.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%C2%AB%D0%92%D0%BE%D0%B4%D0%BE%D0%BF%D0%B0%D0%B4%C2%BB"></span>«Водопад»<span class="ez-toc-section-end"></span></h3>
<p>Разбираясь в методологиях программирования, стоит обратить внимание на «водопад». Здесь написание ПО происходит поэтапно: каждая следующая стадия начинается лишь после того, как предыдущая подошла к концу.</p>
<figure class="wp-block-image size-large"><img decoding="async" width="545" height="329" src="https://otus.ru/journal/wp-content/uploads/2022/06/1-11.jpg" alt="Методологии разработки: как можно создавать контент" class="wp-image-3843" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/1-11.jpg 545w, https://otus.ru/journal/wp-content/uploads/2022/06/1-11-300x181.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/1-11-150x91.jpg 150w" sizes="(max-width: 545px) 100vw, 545px" /></figure>
<p>Если все реализовывать правильно, «каскад» позволит быстро и просто писать софт любой сложности. Этот вариант применяется на практике с 1970-х годов.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8"></span>Преимущества и недостатки<span class="ez-toc-section-end"></span></h4>
<p>К сильным сторонам относят:</p>
<ul><li>возможность быстрой и простой разработки с тщательным контролем;</li><li>стоимость проекта будет определяться на начальном этапе;</li><li>не нужно нанимать тестировщиков с хорошей технической подготовкой.</li></ul>
<p>К слабым сторонам водопада относят:</p>
<ul><li>тестирование ПО, которое создали, осуществляется достаточно поздно;</li><li>обратную связь от заказчика можно получить только в самом конце;</li><li>разработчикам приходится создавать объемную документацию.</li></ul>
<p>Основная задача, если хочется использовать модель «водопад» — это создание подробного технического задания.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="V-%D0%BE%D0%B1%D1%80%D0%B0%D0%B7"></span>V-образ<span class="ez-toc-section-end"></span></h3>
<p>Следующая «версия» к быстрой разработке ПО – это V model. Усовершенствованный каскадный вариант, в которой требования к системе и описание составляется заказчиком вместе с программерами. Здесь фиксируется, как происходит <a href="https://otus.ru/journal/testing-i-programmirovanie-kak-stat-testirovshhikom/" data-wpel-link="internal">тестинг</a> на каждом шаге.</p>
<p>Подход, который позволяет к минимуму свести ошибки и рассмотреть сразу требования к системе. Но такой прием обойдется дорого при обнаружении неполадок.</p>
<figure class="wp-block-image size-large"><img decoding="async" width="486" height="304" src="https://otus.ru/journal/wp-content/uploads/2022/06/2-11.jpg" alt="Методологии разработки: как можно создавать контент" class="wp-image-3847" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/2-11.jpg 486w, https://otus.ru/journal/wp-content/uploads/2022/06/2-11-300x188.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/2-11-150x94.jpg 150w" sizes="(max-width: 486px) 100vw, 486px" /></figure>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D0%BD%D0%BA%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82"></span>Инкрементный вариант<span class="ez-toc-section-end"></span></h3>
<p>Чтобы давать максимальную эффективность в коддинге, можно составлять ПО частями – инкрементно. Вот пример с социальной сетью:</p>
<ol type="1"><li>Появилась идея, заказчик составляет ТЗ. Программеры предлагают реализовывать основные функции – страницы с анкетами и чат. Далее – провести тестинг на ЦА.</li><li>Разработчики показали продукт заказчику, выпустили его на рынок. Если клиент и ЦА довольны результатом разработанных утилит, можно продолжать их поддержку и реализацию. Происходит это по частям.</li><li>Программеры создают и внедряют новые функции вроде сервисов для загрузки мультимедиа, обмена документацией, прослушивания музыки. Инкремент за инкрементом они совершенствуют софт.</li></ol>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="560" height="282" src="https://otus.ru/journal/wp-content/uploads/2022/06/3-11.jpg" alt="Методологии разработки: как можно создавать контент" class="wp-image-3848" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/3-11.jpg 560w, https://otus.ru/journal/wp-content/uploads/2022/06/3-11-300x151.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/3-11-150x76.jpg 150w" sizes="(max-width: 560px) 100vw, 560px" /></figure>
<p>На первоначальном этапе здесь не нужно тратить много денег. Прием обеспечивает качественный фидбек в короткий срок. А еще – ошибки обходятся дешевле.</p>
<p>Возможны конфликты между командами разрабов, так как каждая из них видит ПО «собственными глазами». В больших проектах это – настоящая проблема. Программеры также часто откладывают релиз» и «допиливают мелочевку».</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2"></span>Итератив<span class="ez-toc-section-end"></span></h3>
<p>Модель, где заказчик не должен понимать, какой продукт он хочет получить в итоге. Оценка происходит через техническое задание, которое обсуждается с разрабами.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="487" height="448" src="https://otus.ru/journal/wp-content/uploads/2022/06/4-10.jpg" alt="Методологии разработки: как можно создавать контент" class="wp-image-3849" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/4-10.jpg 487w, https://otus.ru/journal/wp-content/uploads/2022/06/4-10-300x276.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/4-10-150x138.jpg 150w" sizes="(max-width: 487px) 100vw, 487px" /></figure>
<p>Подход славится быстрой реализацией продукта, а также оперативностью обратной связи от заказчика и пользователей. Также выделяется постоянным тестированием. Но на первых порах возникают сложности с базами данных и серверами. Расходы и сроки не имеют четких границ.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BF%D0%B8%D1%80%D0%B0%D0%BB%D1%8C"></span>Спираль<span class="ez-toc-section-end"></span></h3>
<p>С ее помощью заказчики и разрабы будут анализировать риски проекта. Далее – выполнять его итерациями. Последующие стадии опираются на предыдущие. В конце каждого «витка» — цикла итераций – принимается решение относительно продолжения идеи.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="512" height="413" src="https://otus.ru/journal/wp-content/uploads/2022/06/5-8.jpg" alt="Методологии разработки: как можно создавать контент" class="wp-image-3850" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/5-8.jpg 512w, https://otus.ru/journal/wp-content/uploads/2022/06/5-8-300x242.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/5-8-150x121.jpg 150w" sizes="(max-width: 512px) 100vw, 512px" /></figure>
<p>Здесь огромное значение уделяется проработке возможных рисков. Если они обнаруживаются на первоначальных этапах, можно бесконечно долго заниматься «началом», не переходя к новым версиям. Подход дорогой и долгий.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="RAD"></span>RAD<span class="ez-toc-section-end"></span></h2>
<p>Но есть и еще один интересный вариант. Это – модель быстрой разработки приложений. Носит названием RAD. Представлена концепцией организации технологического процесса разработки ПО, ориентированной на максимально быстрое получение итога в условиях сильных ограничений по срокам и бюджету. Требования к контенту будут размыты. Ускорение происходит за счет использования специального инструментария и постоянного, параллельного с написанием контента, уточнения пожеланий.</p>
<p>Здесь стоит учитывать следующее:</p>
<ol type="1"><li>Программер должен уметь работать <a href="https://otus.ru/journal/operator-case-v-si/" data-wpel-link="internal">с CASE</a>-инструментами. Это – ПО для проектирования приложений.</li><li>Подходит тем, кто пишет софт с независимыми или слабосвязанными модулями.</li><li>Обеспечивает качественный уровень для пользователей.</li><li>Можно оперативно корректировать проект.</li></ol>
<p>RAD необходимо использовать только в больших командах. Результат зависит от вовлеченности заказчика в работу.</p>
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a href="https://otus.ru/?utm_source=oj" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Otus<span class="wpel-icon wpel-image wpel-icon-6"></span></a>!</em></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/programmirovanie/" rel="tag" data-wpel-link="internal">программирование</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F&text=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8%3A%20%D0%BA%D0%B0%D0%BA%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fmetodologii-razrabotki-kak-mozhno-sozdavat-kontent%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2022%2F06%2Foj-1080x720-12.png&description=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8%20%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8%3A%20%D0%BA%D0%B0%D0%BA%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/nasledovanie-v-programmirovanii-na-primere-c-i-java/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/nasledovanie-v-programmirovanii-na-primere-c-i-java/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Наследование в программировании на примере C++ и Java" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-11-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Наследование в программировании на примере C++ и Java" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/nasledovanie-v-programmirovanii-na-primere-c-i-java/" data-wpel-link="internal">Наследование в программировании на примере C++ и Java</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/nasledovanie-v-programmirovanii-na-primere-c-i-java/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-06-21T18:33:27+00:00">21 июня, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">9 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/lokalnaya-set-opisanie-i-principy-raboty/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/lokalnaya-set-opisanie-i-principy-raboty/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Локальная сеть: описание и принципы работы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x720-13-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Локальная сеть: описание и принципы работы" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/lokalnaya-set-opisanie-i-principy-raboty/" data-wpel-link="internal">Локальная сеть: описание и принципы работы</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/lokalnaya-set-opisanie-i-principy-raboty/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-06-21T18:52:40+00:00">21 июня, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">8 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/metodologii-razrabotki-kak-mozhno-sozdavat-kontent\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 15:06:15 GMT -->