{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Фронтенд",
    "_rss_description": "Фронтенд (frontend) — это часть веб-разработки, которая отвечает за создание пользовательского интерфейса веб-сайтов и веб-приложений. Это то, что видит и с чем взаимодействует пользователь. ",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/modenov.ru\/blog\/tags\/frontend\/",
    "feed_url": "https:\/\/modenov.ru\/blog\/tags\/frontend\/json\/",
    "icon": "https:\/\/modenov.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1756117061",
    "authors": [
        {
            "name": "Владимир Моденов",
            "url": "https:\/\/modenov.ru\/blog\/",
            "avatar": "https:\/\/modenov.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1756117061"
        }
    ],
    "items": [
        {
            "id": "87",
            "url": "https:\/\/modenov.ru\/blog\/all\/poluchil-dva-novyh-sertifikata-s-purpleschool\/",
            "title": "Получил два новых сертификата в школе PurpleSchool",
            "content_html": "<p>По Git’у и общим принципам современной разработки.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1697\" data-ratio=\"1.4141666666667\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/modenov-cert-code-basics-purpleschool.jpg\" width=\"1697\" height=\"1200\" alt=\"PurpleSchool сертификат\" \/>\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/modenov-cert-git-purpleschool.jpg\" width=\"1697\" height=\"1200\" alt=\"PurpleSchool сертификат\" \/>\n<\/div>\n<\/div>\n<p>Недавно увлёкся веб-разработкой и решил с самого начала потихонечку идти по собственному роадмапу в этом направлении. В качестве основного источника знаний выбрал школу <a href=\"https:\/\/purpleschool.ru\/profession\/frontend?utm_source=ref&utm_campaign=ref&referralId=9601\">PurpleSchool<\/a>. В отличие от других российских онлайн-школ, PurpleSchool не тратит деньги на агрессивный маркетинг и бездумный набор учеников, а концентрируется на точечном обучении своих студентов фронтенду и бекенду.<\/p>\n<p>Основатель и преподаватель школы — разработчик Антон Ларичев, и мне очень нравится, как он объясняет материал. Пока закончил два модуля и буду двигаться дальше.<\/p>\n<h2>Мои области развития потихонечку, но ползут вперёд:<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/purpleschool.png\" width=\"2117\" height=\"1411\" alt=\"PurpleSchool карта развития фронтенд\" \/>\n<\/div>\n<p>Если вам тоже хочется развиваться в этом направлении — вот <a href=\"https:\/\/purpleschool.ru\/profession\/frontend?utm_source=ref&utm_campaign=ref&referralId=9601\">ссылка на курс<\/a>, который я сейчас сам прохожу.<\/p>\n",
            "summary": "Рассказываю про школу онлайн образования PurpleSchool, в которой я сейчас прохожу курс фронтенд-разработчика.",
            "date_published": "2024-08-29T18:39:48+03:00",
            "date_modified": "2024-08-31T23:37:53+03:00",
            "tags": [
                "git",
                "образование",
                "разработка",
                "сервисы",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/modenov-cert-code-basics-purpleschool.jpg",
            "_date_published_rfc2822": "Thu, 29 Aug 2024 18:39:48 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "87",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/modenov-cert-code-basics-purpleschool.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/modenov-cert-git-purpleschool.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/purpleschool.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/git-logo.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/2024-04-26-00-40-34-Nastroika-Yandeks.Diska.png"
                ]
            }
        },
        {
            "id": "83",
            "url": "https:\/\/modenov.ru\/blog\/all\/display-flex\/",
            "title": "Display: flex",
            "content_html": "<p><i>Продолжаю разбираться в дебрях <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Learn\/Getting_started_with_the_web\/CSS_basics\">CSS<\/a>, а заодно и пытаться пересказывать полученные знания в своём блоге (для себя и для интересующихся читателей).<\/i><\/p>\n<p>Сегодня говорим про свойство <tt>display: flex<\/tt> .<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png\" width=\"2560\" height=\"1640.6349206349\" alt=\"Display: flex CSS\" \/>\n<\/div>\n<p><tt>display: flex<\/tt> — это свойство CSS, которое позволяет управлять расположением элементов внутри контейнера, превращая его в так называемый «флекс-контейнер». Давайте представим, что у нас есть коробка (контейнер) с игрушками (элементами). <tt>Display: flex<\/tt> дает нам инструменты, чтобы упорядочить эти игрушки в ряд, колонку или как-нибудь по-другому, как нам нужно.<\/p>\n<h2>Где применяется?<\/h2>\n<ul>\n<li><b>Навигационные меню<\/b>: для выравнивания пунктов меню.<\/li>\n<li><b>Карточки продуктов<\/b>: для создания гибких сеток товаров.<\/li>\n<li><b>Формы<\/b>: для выравнивания полей ввода и кнопок.<\/li>\n<li><b>Галереи изображений<\/b>: для создания адаптивных галерей.<\/li>\n<\/ul>\n<h2>Как это работает?<\/h2>\n<p>Когда вы применяете <tt>display: flex<\/tt> к контейнеру, все его непосредственные дочерние элементы становятся flex-элементами. Это означает, что вы можете управлять их размером, порядком и выравниванием с помощью различных свойств Flexbox.<\/p>\n<p><b>Основные свойства:<\/b><\/p>\n<p><tt>flex-direction<\/tt> — определяет направление, в котором располагаются flex-элементы (по горизонтали или вертикали).<br \/>\n<tt>row<\/tt> (по умолчанию) — элементы располагаются в строку.<br \/>\n<tt>column<\/tt> — элементы располагаются в столбик.<br \/>\n<tt>justify-content<\/tt> — определяет, как элементы распределяются по основной оси (горизонтально или вертикально).<br \/>\n<tt>flex-start<\/tt> — элементы выравниваются по началу.<br \/>\n<tt>flex-end<\/tt> — элементы выравниваются по концу.<br \/>\n<tt>center<\/tt> — элементы выравниваются по центру.<br \/>\n<tt>space-between<\/tt> — элементы распределяются с равными промежутками между ними.<br \/>\n<tt>space-around<\/tt> — элементы распределяются с равными промежутками вокруг них.<br \/>\n<tt>align-items<\/tt> — определяет, как элементы выравниваются по поперечной оси (перпендикулярно основной оси).<br \/>\n<tt>flex-start<\/tt> — элементы выравниваются по началу.<br \/>\n<tt>flex-end<\/tt> — элементы выравниваются по концу.<br \/>\n<tt>center<\/tt> — элементы выравниваются по центру.<br \/>\n<tt>baseline<\/tt> — элементы выравниваются по базовой линии текста.<br \/>\n<tt>stretch<\/tt> — элементы растягиваются, чтобы заполнить контейнер.<\/p>\n<h2>Примеры кода:<\/h2>\n<p><b>Простой пример применения флексбокса:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;ru&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Flexbox Пример&lt;\/title&gt;\n    &lt;style&gt;\n        .container {\n            display: flex; \/* Включаем Flexbox *\/\n            flex-direction: row; \/* Элементы располагаются в строку *\/\n            justify-content: space-between; \/* Равные промежутки между элементами *\/\n            align-items: center; \/* Выравнивание по центру по вертикали *\/\n            height: 100px; \/* Высота контейнера *\/\n            background-color: #f0f0f0; \/* Цвет фона контейнера *\/\n            padding: 10px; \/* Отступы внутри контейнера *\/\n        }\n\n        .item {\n            background-color: #4CAF50; \/* Цвет фона элементов *\/\n            color: white; \/* Цвет текста *\/\n            padding: 20px; \/* Отступы внутри элементов *\/\n            border-radius: 5px; \/* Закругленные углы *\/\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\n&lt;div class=&quot;container&quot;&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 1&lt;\/div&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 2&lt;\/div&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 3&lt;\/div&gt;\n&lt;\/div&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><ul>\n<li>В этом примере мы создали контейнер с классом <tt>container<\/tt>, который использует <tt>display: flex<\/tt>.<\/li>\n<li>Элементы внутри контейнера (с классом <tt>item<\/tt>) располагаются в строку благодаря <tt>flex-direction: row<\/tt>.<\/li>\n<li>Свойство <tt>justify-content: space-between<\/tt> распределяет элементы с равными промежутками между ними.<\/li>\n<li>Свойство <tt>align-items: center<\/tt> выравнивает элементы по центру по вертикали.<\/li>\n<\/ul>\n<p><b>Пример с навигационным меню:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;ru&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Flexbox Menu&lt;\/title&gt;\n    &lt;style&gt;\n        .menu {\n            display: flex; \/* Включаем flexbox *\/\n            list-style-type: none;\n            padding: 0;\n            margin: 0;\n        }\n        .menu li {\n            margin-right: 20px;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;nav&gt;\n        &lt;ul class=&quot;menu&quot;&gt;\n            &lt;li&gt;Главная&lt;\/li&gt;\n            &lt;li&gt;О нас&lt;\/li&gt;\n            &lt;li&gt;Услуги&lt;\/li&gt;\n            &lt;li&gt;Контакты&lt;\/li&gt;\n        &lt;\/ul&gt;\n    &lt;\/nav&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><ul>\n<li>Здесь <tt>.menu<\/tt> использует <tt>display: flex<\/tt> для выравнивания пунктов меню в строку.<\/li>\n<li>Свойство <tt>list-style-type: none<\/tt> убирает маркеры списка для навигационных пунктов.<\/li>\n<\/ul>\n",
            "summary": "Display: flex — это свойство CSS, которое позволяет управлять расположением элементов внутри контейнера, превращая его в так называемый \"флекс-контейнер\". В этой статье я расскажу про свойство display: flex подробнее.",
            "date_published": "2024-08-26T23:40:21+03:00",
            "date_modified": "2024-08-26T23:41:21+03:00",
            "tags": [
                "css",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png",
            "_date_published_rfc2822": "Mon, 26 Aug 2024 23:40:21 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "83",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "82",
            "url": "https:\/\/modenov.ru\/blog\/all\/display-inline-block-inline-block\/",
            "title": "Свойство display и значения inline, block, inline-block",
            "content_html": "<p><i>Объясняя читателям одну из самых непростых тем в CSS, я сам лучше закрепляю эти знания. <\/i><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png\" width=\"731\" height=\"343\" alt=\"Свойство display и его значения inline, block, inline-block\" \/>\n<\/div>\n<p>Свойство <b>display<\/b> в <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Learn\/Getting_started_with_the_web\/CSS_basics\">CSS<\/a> определяет, как элемент отображается на веб-странице. Оно влияет на поведение элемента, его размеры, расположение и взаимодействие с другими элементами.<\/p>\n<h2>В зависимости от значения, элемент может быть:<\/h2>\n<p>✵ <b>Строчным (inline)<\/b> — отображается как часть текста, занимает столько места, сколько нужно для его содержимого. Идеально для коротких фрагментов (слова, аббревиатуры, ссылки) или элементов, которые должны «плыть» в тексте, не создавая новых строк.<br \/>\n✵ <b>Блочным (block)<\/b> — отображается как отдельный блок, занимает всю ширину родительского элемента, имеет отступ сверху и снизу. Данное свойство балансирует макет, формирует блоки контента (заголовки, параграфы, кнопки) и позволяет применять фиксированную ширину и высоту.<br \/>\n✵ <b>Строчно-блочным (inline-block)<\/b> — сочетает в себе свойства <b>inline<\/b> и <b>block<\/b>, отображается как часть текста, но может иметь ширину и высоту, а также отступы. Например, идеально подходит для вёрстки навигационных меню, карточек, элементов с фиксированной формой внутри динамичного контента.<\/p>\n<h2>Применение<\/h2>\n<p>В современной веб-разработке <b>display<\/b> используется повсеместно:<\/p>\n<p>✵ структурирование контента: с помощью <b>display: block <\/b> можно создавать разделы, блоки текста, заголовки и другие элементы, которые должны занимать всю ширину родительского элемента.<br \/>\n✵ оформление элементов: <b>display: inline-block<\/b> позволяет размещать элементы в строке, но при этом задавать им ширину и высоту, что позволяет создавать более сложные макеты.<br \/>\n✵ скрытие элементов: с помощью <b>display: none<\/b> можно скрывать элементы с страницы, что удобно для управления отображением контента.<br \/>\n✵ создание гибких макетов: <b>display<\/b> в сочетании с другими свойствами CSS позволяет создавать сложные макеты с адаптивным отображением элементов на разных устройствах.<\/p>\n<h2>Примеры:<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Пример display&lt;\/title&gt;\n    &lt;style&gt;\n        .inline {\n            display: inline;\n            background-color: lightblue;\n            padding: 10px;\n        }\n\n        .block {\n            display: block;\n            background-color: lightgreen;\n            padding: 10px;\n            margin-bottom: 10px;\n        }\n\n        .inline-block {\n            display: inline-block;\n            background-color: lightcoral;\n            padding: 10px;\n            width: 100px;\n            height: 50px;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;inline&quot;&gt;Inline элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline&quot;&gt;Inline элемент&lt;\/div&gt;\n    &lt;div class=&quot;block&quot;&gt;Block элемент&lt;\/div&gt;\n    &lt;div class=&quot;block&quot;&gt;Block элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline-block&quot;&gt;Inline-block элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline-block&quot;&gt;Inline-block элемент&lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>",
            "summary": "Рассказываю про важное CSS свойство display и его значения — inline, block, inline-block. Блог Владимира Моденова. Всё про фронтенд-разработку и не только.",
            "date_published": "2024-08-24T23:09:12+03:00",
            "date_modified": "2024-08-26T23:40:59+03:00",
            "tags": [
                "css",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png",
            "_date_published_rfc2822": "Sat, 24 Aug 2024 23:09:12 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "82",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "79",
            "url": "https:\/\/modenov.ru\/blog\/all\/chto-takoe-veb-dostupnost\/",
            "title": "Что такое веб-доступность?",
            "content_html": "<p>Недавно я решил погрузиться в веб-разработку: хочу узнать о том, как работают интернет и сети, различные протоколы, веб-доступность, HTML, CSS, JavaScript, а также другие базовые инструменты, на которых сегодня работают совершенно все сайты в интернете. Эти знания помогут мне в своих личных проектах и работе.<\/p>\n<p>Чтобы закреплять усвоенное лучше, я решил вести в своём блоге конспекты. Возможно, эти небольшие шпаргалки помогут не только мне, но и другим начинающим разработчикам.<\/p>\n<p>Сегодня говорим о веб-доступности и о том, зачем она нужна.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg\" width=\"2500\" height=\"1663\" alt=\"Что такое веб-доступность и как она работает?\" \/>\n<\/div>\n<p><b>Веб-доступность <\/b>(или <b>accessibility<\/b>) — это подход к разработке веб-сайтов и приложений, который делает их удобными и доступными для всех пользователей, включая людей с ограниченными возможностями.<\/p>\n<h2>Основные понятия веб-доступности:<\/h2>\n<ol start=\"1\">\n<li><b>Перцептивность (Perceivable)<\/b>: Информация и элементы интерфейса должны быть представлены таким образом, чтобы их могли воспринимать все пользователи. Например, добавление текстовых описаний к изображениям для людей с нарушениями зрения.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Управляемость (Operable)<\/b>: Пользователи должны иметь возможность взаимодействовать с интерфейсом всеми доступными способами, включая клавиатуру и вспомогательные технологии. Например, все функции сайта должны быть доступны с клавиатуры.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Понятность (Understandable)<\/b>: Интерфейс и его элементы должны быть понятны и предсказуемы. Например, использование простого и ясного языка, а также логичная структура навигации.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Надежность (Robust)<\/b>: Контент должен быть доступен и корректно отображаться на различных устройствах и с использованием различных вспомогательных технологий. Например, использование стандартов HTML и CSS.<\/li>\n<\/ol>\n<h2>Основные задачи веб-доступности:<\/h2>\n<ol start=\"1\">\n<li><b>Добавление альтернативного текста (alt-текста) к изображениям<\/b>: Это помогает людям с нарушениями зрения понять, что изображено на картинке.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Создание доступной навигации<\/b>: Убедитесь, что все элементы навигации доступны с клавиатуры и имеют логичную структуру.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Использование семантической разметки<\/b>: Правильное использование HTML-тегов помогает вспомогательным технологиям правильно интерпретировать контент.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Контрастность цветов<\/b>: Убедитесь, что текст контрастирует с фоном, чтобы его было легко читать людям с нарушениями зрения.<\/li>\n<\/ol>\n<ol start=\"5\">\n<li><b>Тестирование с помощью вспомогательных технологий<\/b>: Проверяйте ваш сайт с использованием экранных читалок и других вспомогательных технологий, чтобы убедиться в его доступности.<\/li>\n<\/ol>\n<h2>Почему это важно?<\/h2>\n<p>Веб-доступность не только улучшает пользовательский опыт для людей с ограниченными возможностями, но и делает сайт более удобным для всех пользователей. Это также может улучшить SEO, так как поисковые системы лучше понимают структурированный и семантически правильный контент.<\/p>\n<h2>Дополнительные материалы для изучения:<\/h2>\n<p>✵ <a href=\"https:\/\/techrocks.ru\/2021\/02\/21\/learning-web-accessibility\/\">Что такое веб-доступность и как научиться делать доступные сайты<\/a><br \/>\n✵ <a href=\"https:\/\/doka.guide\/a11y\/\">Доступность — Doka Guide<\/a><br \/>\n✵ <a href=\"https:\/\/result.school\/roadmap\/frontend\/article\/availability\">Доступность — Result School<\/a><br \/>\n✵ <a href=\"https:\/\/web.dev\/articles\/accessibility?hl=ru\">Доступность от Google<\/a><br \/>\n✵ <a href=\"https:\/\/medium.com\/nuances-of-programming\/%D1%82%D0%BE%D0%BF-5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC-%D1%81-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D1%87%D0%B0%D1%89%D0%B5-%D0%B2%D1%81%D0%B5%D0%B3%D0%BE-%D0%B8%D0%B3%D0%BD%D0%BE%D1%80%D0%B8%D1%80%D1%83%D1%8E%D1%82-30f094c51504\">ТОП-5 проблем с доступностью, которые чаще всего игнорируют<\/a><br \/>\n✵ <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/720704\/\">Основы веба, которые должен знать начинающий разработчик<\/a><br \/>\n✵ <a href=\"https:\/\/www.purrweb.com\/ru\/blog\/web-razrabotchik\/\">Веб-разработчик: кто это, что делает, сколько зарабатывает и как им стать<\/a><br \/>\n✵ <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\">Веб-технологии для разработчиков | MDN<\/a><\/p>\n",
            "summary": "Веб-доступность — это подход к разработке веб-сайтов и приложений, который делает их удобными и доступными для всех пользователей. Сегодня говорим о веб-доступности подробнее.",
            "date_published": "2024-08-17T15:37:59+03:00",
            "date_modified": "2024-08-26T23:41:46+03:00",
            "tags": [
                "css",
                "html",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg",
            "_date_published_rfc2822": "Sat, 17 Aug 2024 15:37:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "79",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/html5-logo.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "78",
            "url": "https:\/\/modenov.ru\/blog\/all\/kak-rabotayut-protokoly-tcp-ip\/",
            "title": "Как работают протоколы TCP\/IP? Если совсем по-простому",
            "content_html": "<p>Недавно я решил погрузиться в веб-разработку: хочу узнать о том, как работают интернет и сети, различные протоколы, веб-доступность, HTML, CSS, JavaScript, а также другие базовые инструменты, на которых сегодня работают совершенно все сайты в интернете. Эти знания помогут мне в своих личных проектах и работе.<\/p>\n<p>Чтобы усвоенное закреплялось лучше, я решил писать конспекты  в своём блоге. Возможно, эти небольшие шпаргалки помогут не только мне, но и другим начинающим разработчикам. Тексты пишу как сам, так и прибегая к чатам GPT (там, где требуются простые сухие определения либо код).<\/p>\n<p>Начинаем с базы: TCP\/IP.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/TCP-IP-Modenov-Blog.jpg\" width=\"1262\" height=\"600\" alt=\"Как работают протоколы TCP\/IP\" \/>\n<\/div>\n<h2>База TCP\/IP<\/h2>\n<p>Протоколы <b>TCP\/IP<\/b> — это основа интернета, которая позволяет компьютерам и другим устройствам обмениваться данными. Давайте разберем это на простом примере.<\/p>\n<p>Представьте себе почтовую службу.<\/p>\n<ol start=\"1\">\n<li><b>IP (Internet Protocol)<\/b> — это как адрес на конверте. Он указывает, куда нужно доставить данные. Каждый компьютер в сети имеет уникальный IP-адрес, как дом имеет свой почтовый адрес.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>TCP (Transmission Control Protocol)<\/b> — это как почтальон, который следит за тем, чтобы письмо дошло до адресата. Он разбивает данные на маленькие кусочки (пакеты), отправляет их и проверяет, что все пакеты дошли в правильном порядке и без ошибок.<\/li>\n<\/ol>\n<p>И как  это работает вместе?<\/p>\n<ul>\n<li><b>Отправка данных<\/b> — когда вы отправляете данные (например, сообщение или файл), TCP разбивает их на пакеты и нумерует их.<\/li>\n<li><b>Маршрутизация<\/b> — IP отвечает за то, чтобы каждый пакет нашел правильный путь к получателю, даже если они идут разными маршрутами.<\/li>\n<li><b>Получение данных<\/b> — на стороне получателя TCP собирает пакеты обратно в исходное сообщение и проверяет, что все пакеты на месте и в правильном порядке.<\/li>\n<\/ul>\n<p>Представьте, что вы отправляете письмо другу. Вы пишете письмо (данные), кладете его в конверт и пишете адрес (IP). Почтальон (TCP) берет конверт, проверяет адрес и доставляет его вашему другу. Если письмо потеряется, почтальон попросит вас отправить его снова.<\/p>\n<h2>Пример простейшего TCP-соединения<\/h2>\n<p>Ниже представлен листинг простейшего TCP-соединения на Python. Этот код включает <b>сервер<\/b> и <b>клиент<\/b>, которые могут обмениваться сообщениями.<\/p>\n<p>Код сервера:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">import socket\n\n# Настройки сервера\nHOST = &#039;127.0.0.1&#039;  # Локальный хост\nPORT = 65432        # Порт для прослушивания\n\nwith socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n    s.bind((HOST, PORT))\n    s.listen()\n    print(f&quot;Сервер запущен на {HOST}:{PORT}&quot;)\n    conn, addr = s.accept()\n    with conn:\n        print(f&quot;Подключение от {addr}&quot;)\n        while True:\n            data = conn.recv(1024)\n            if not data:\n                break\n            print(f&quot;Получено: {data.decode()}&quot;)\n            conn.sendall(data)<\/code><\/pre><p>Код клиента:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">import socket\n\n# Настройки клиента\nHOST = &#039;127.0.0.1&#039;  # Серверный хост\nPORT = 65432        # Порт сервера\n\nwith socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n    s.connect((HOST, PORT))\n    s.sendall(b&#039;Привет, сервер!&#039;)\n    data = s.recv(1024)\n\nprint(f&quot;Получено от сервера: {data.decode()}&quot;)<\/code><\/pre><h3>Как работает этот код?<\/h3>\n<ol start=\"1\">\n<li><b>Сервер<\/b> — создает сокет, привязывает его к адресу и порту, и начинает слушать входящие соединения.<\/li>\n<li><b>Клиент<\/b> — создает сокет и подключается к серверу.<\/li>\n<li><b>Обмен сообщениями<\/b> — клиент отправляет сообщение серверу, сервер получает его и отправляет ответ.<\/li>\n<\/ol>\n<h2>Дополнительный материал для изучения темы:<\/h2>\n<p>✺ <a href=\"https:\/\/ru.wikipedia.org\/wiki\/TCP\">TCP — Википедия<\/a><br \/>\n✺ <a href=\"https:\/\/timeweb.com\/ru\/community\/articles\/chto-takoe-tcp-ip\">Что такое TCP\/IP и как работает этот протокол<\/a><br \/>\n✺ <a href=\"https:\/\/www.nic.ru\/help\/chto-takoe-tcpip_11168.html\">Что такое TCP\/IP — как работает, как настроить на Windows, MacOS<\/a><br \/>\n✺ <a href=\"https:\/\/www.youtube.com\/watch?v=2I1HnSN1H9o\">Что такое TCP\/IP: Объясняем на пальцах — видео<\/a><br \/>\n✺ <a href=\"https:\/\/www.youtube.com\/watch?v=rLUzYeLdM0k\">TCP\/IP: что это и зачем нужно — видео<\/a><br \/>\n✺ <a href=\"https:\/\/www.youtube.com\/watch?v=--PQwWXv8L0\">Стек протоколов TCP\/IP. Особенности технологии и многоуровневая модель — видео<\/a><br \/>\n✺ <a href=\"https:\/\/zvenst.ru\/kak-nastroit-protokol-tcpip-pravilnaya-nastroika-i-osnovnye-principy\/\">Как настроить протокол TCP\/IP: пошаговая инструкция для начинающих<\/a><br \/>\n✺ <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/759988\/\">Протоколы семейства TCP\/IP. Теория и практика \/ Хабр<\/a><br \/>\n✺ <a href=\"https:\/\/samlit.net\/lessons\/informatika\/tcp_ip\/tcp17.html\">TCP: Transmission Control Protocol<\/a><br \/>\n✺ <a href=\"https:\/\/www.guru99.com\/ru\/tcp-ip-model.html\">Модель TCP\/IP: что такое уровни и протоколы? Стек TCP\/IP<\/a><\/p>\n",
            "summary": "Протоколы TCP\/IP — это основа интернета, которая позволяет компьютерам и другим устройствам обмениваться данными. В этой статье мы разберём работу этих протоколов на простом примере.",
            "date_published": "2024-08-17T15:15:47+03:00",
            "date_modified": "2024-08-17T15:15:22+03:00",
            "tags": [
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/TCP-IP-Modenov-Blog.jpg",
            "_date_published_rfc2822": "Sat, 17 Aug 2024 15:15:47 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "78",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/TCP-IP-Modenov-Blog.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "40",
            "url": "https:\/\/modenov.ru\/blog\/all\/kak-obuchitsya-frontendu-s-nulya-otvechaet-chatgpt\/",
            "title": "Как обучиться фронтенду с нуля? Отвечает ChatGPT",
            "content_html": "<p>Решил пообщаться с ChatGPT и попросил составить для себя подробный план по обучению веб-разработке на русском и английском языках. И вот что у меня получилось.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/recursosprogramadores.png.jpg\" width=\"2560\" height=\"1280\" alt=\"Как обучиться программированию с нуля\" \/>\n<\/div>\n<p>Практически весь текст ниже — ответы чатбота. Свои промты я оформил курсивом. Активных ссылок на оставленные ресурсы и книги я, понятное дело, не оставляю, но все они без труда гуглятся в сети.<\/p>\n<h2>Версия с платными ресурсами<\/h2>\n<p><i><b>Промт<\/b>: Я хотел бы изучить программирование. Я абсолютный новичок. Моя цель — заниматься в роли frontend-разработчика. Я готов уделять 10 часов в неделю, чтобы освоить новый навык. Я предпочитаю читать и смотреть различные видео на русском и реже английском языках. Составь для меня пошаговую программу курса, включая все учебные ресурсы.<\/i><\/p>\n<p>Конечно, я могу предложить вам пошаговый план для изучения программирования и подготовки к работе в сфере frontend-разработки. Ваше решение оставаться преимущественно на русскоязычных ресурсах облегчит процесс изучения. Вот пошаговая программа для вас:<\/p>\n<h2>Шаг 1: Основы программирования<\/h2>\n<p>Начните с освоения основ программирования. Это поможет вам понять базовые концепции, которые в будущем будут полезны при изучении фронтенд-технологий.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Книга «JavaScript для детей. Самоучитель по программированию» автора Э. Брауна;<\/li>\n<li>Курс «Основы программирования на Python» на Stepik.<\/li>\n<\/ul>\n<h2>Шаг 2: Введение в веб-технологии<\/h2>\n<p>Перейдите к изучению основ веб-технологий, таких как HTML и CSS. Эти языки являются фундаментом фронтенд-разработки.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс HTML и CSS на сайте HTML Academy;<\/li>\n<li>Курс «Основы HTML и CSS» на Udemy (на русском).<\/li>\n<\/ul>\n<h2>Шаг 3: Основы JavaScript<\/h2>\n<p>JavaScript является ключевым языком для фронтенд-разработки. Освойте его основы, чтобы начать создавать интерактивные веб-страницы.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс «JavaScript. Уровень 1» на GeekBrains;<\/li>\n<li>Курс «Основы JavaScript» на Codecademy (на английском, но легко усваиваемый).<\/li>\n<\/ul>\n<h2>Шаг 4: Работа с библиотеками и фреймворками<\/h2>\n<p>Изучите библиотеки и фреймворки, которые используются во фронтенд-разработке для упрощения процесса создания веб-приложений.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс «Введение в jQuery» на Coursera (на английском, но легко усваиваемый);<\/li>\n<li>Курс «Основы Vue.js» на Udemy (на русском).<\/li>\n<\/ul>\n<h2>Шаг 5: Глубже в JavaScript и современные стандарты<\/h2>\n<p>Углубитесь в более сложные аспекты JavaScript, изучите ES6 и более новые стандарты.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Книга «Выразительный JavaScript» М. Хавербеке;<\/li>\n<li>Курс «Современный JavaScript с нуля» на Learn.Javascript.ru.<\/li>\n<\/ul>\n<h2>Шаг 6: Работа с инструментами разработчика и отладка<\/h2>\n<p>Научитесь эффективно использовать инструменты разработчика браузера, чтобы отлаживать и оптимизировать свой код.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс «Основы DevTools» на HTML Academy;<\/li>\n<li>Видеоуроки по DevTools на YouTube канале «WebDev».<\/li>\n<\/ul>\n<h2>Шаг 7: Работа с системами контроля версий<\/h2>\n<p>Изучите Git и GitHub для эффективного управления версиями вашего кода.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс «Основы Git» на Codecademy (на английском, но понятный);<\/li>\n<li>Книга «Pro Git» С. Чакон, Б. Страуб.<\/li>\n<\/ul>\n<h2>Шаг 8: Создание своих проектов<\/h2>\n<p>Начните создавать свои собственные маленькие проекты, чтобы применить полученные знания на практике.<\/p>\n<h2>Шаг 9: Углубление в фреймворки<\/h2>\n<p>Изучите более популярные фронтенд-фреймворки, такие как React или Angular.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Курс «Основы React» на Udemy (на русском);<\/li>\n<li>Курс «Angular — Полное руководство» на Udemy (на русском).<\/li>\n<\/ul>\n<h2>Шаг 10: Практика и портфолио<\/h2>\n<p>Продолжайте создавать проекты, расширяя свой опыт, и собирайте свой личный портфолио для демонстрации потенциальным работодателям. Следуйте этому плану, и с течением времени вы сможете стать квалифицированным frontend-разработчиком. Помните, что практика и терпение играют ключевую роль в вашем успехе!<\/p>\n<h2>***<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/razrabotka.jpg\" width=\"1600\" height=\"800\" alt=\"\" \/>\n<\/div>\n<p>Заметив, что в списке много платных и довольно сомнительных ресурсов (к GeekBrains у меня доверия нет — это оценочное суждение), я попросил чат переписать список, используя только бесплатные ресурсы. Получилось, конечно, мощно. Изучайте официальную документацию, гайз!<\/p>\n<h2>Версия с бесплатными ресурсами<\/h2>\n<p><i><b>Промт<\/b>: В твоём плане есть платные ресурсы, такие как GeekBrains и Udemy. Можешь переписать программу обучения, используя только свободно распространяемые материалы?<\/i><\/p>\n<p>Конечно! Вот пересмотренная программа обучения, используя только свободно распространяемые ресурсы:<\/p>\n<h2>Шаг 1: Основы программирования<\/h2>\n<p>Изучение базовых концепций программирования.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: Хекслет — Основы программирования<\/li>\n<li>Сайт: Codecademy’s «Learn Python» (на английском, но интерфейс понятен).<\/li>\n<\/ul>\n<h2>Шаг 2: Введение в веб-технологии<\/h2>\n<p>Освоение HTML и CSS.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: MDN Web Docs — HTML,<\/li>\n<li>Сайт: MDN Web Docs — CSS.<\/li>\n<\/ul>\n<h2>Шаг 3: Основы JavaScript<\/h2>\n<p>Освоение основ JavaScript.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: JavaScript учебник — самоучитель по JS online<\/li>\n<li>Сайт: freeCodeCamp — JavaScript Algorithms and Data Structures Certification.<\/li>\n<\/ul>\n<h2>Шаг 4: Работа с библиотеками и фреймворками<\/h2>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Изучение jQuery: книга: «jQuery для начинающих» Д. Костюкевич;<\/li>\n<li>Ознакомление с Vue.js: официальная документация: Vue.js Guide.<\/li>\n<\/ul>\n<h2>Шаг 5: Глубже в JavaScript и современные стандарты<\/h2>\n<p>Освоение более сложных аспектов JavaScript.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: Learn JavaScript (learnjavascript.online).<\/li>\n<\/ul>\n<h2>Шаг 6: Работа с инструментами разработчика и отладка<\/h2>\n<p>Изучение инструментов разработчика.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: DevDocs (devdocs.io) — справочник по инструментам разработчика.<\/li>\n<\/ul>\n<h2>Шаг 7: Работа с системами контроля версий<\/h2>\n<p>Освоение Git и GitHub.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Сайт: Git Handbook (guides.github.com\/introduction\/git-handbook\/).<\/li>\n<\/ul>\n<h2>Шаг 8: Создание своих проектов<\/h2>\n<p>Практика создания маленьких проектов: ваши собственные идеи и задачи, чтобы применять полученные знания.<\/p>\n<h2>Шаг 9: Углубление в фреймворки<\/h2>\n<p>Ознакомление с React.<\/p>\n<h3>Ресурсы:<\/h3>\n<ul>\n<li>Официальная документация: React.js Documentation.<\/li>\n<\/ul>\n<h2>Шаг 10: Практика и портфолио<\/h2>\n<p>Продолжайте создавать проекты и развивать свой личный портфолио.<\/p>\n<p>Этот план обучения использует бесплатные ресурсы, которые позволят вам освоить необходимые навыки для работы в роли frontend-разработчика. Не забывайте практиковаться и создавать свои собственные проекты, чтобы закрепить знания на практике.<\/p>\n<h2>***<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/luchshie-knigi-po-programmirovaniyu.jpg\" width=\"2200\" height=\"1100\" alt=\"\" \/>\n<\/div>\n<p>Ну и какое же изучение программирования без хороших книг? Отвечает ChatGPT.<\/p>\n<h2>Книги<\/h2>\n<p><i><b>Промт<\/b>: Можешь также написать список из самых полезных книг по веб-разработке?<\/i><\/p>\n<p>Конечно, вот список нескольких полезных книг по веб-разработке, которые могут быть вам полезны:<\/p>\n<ul>\n<li><b>«HTML и CSS. Дизайн и верстка сайтов» Дж. Дакетт<\/b><br \/>\nЭта книга предоставляет хороший вводный уровень знаний о HTML и CSS, основы дизайна и верстки веб-сайтов.<\/li>\n<\/ul>\n<ul>\n<li><b>«Выразительный JavaScript» М. Хавербеке<\/b><br \/>\nЭта книга более глубоко рассматривает JavaScript, его принципы и концепции. Отлично подойдет для углубленного изучения языка.<\/li>\n<\/ul>\n<ul>\n<li><b>«CSS Secrets. Техники работы с CSS» Л. Макфарланд<\/b><br \/>\nЕсли вы хотите улучшить свои навыки в CSS, эта книга предоставляет множество техник и советов для более эффективной и продвинутой работы с каскадными таблицами стилей.<\/li>\n<\/ul>\n<ul>\n<li><b>«React. Быстрый старт» С. Вэнсен<\/b><br \/>\nЕсли вы хотите погрузиться в мир React, данная книга предоставляет вводный уровень знаний и практические примеры.<\/li>\n<\/ul>\n<ul>\n<li><b>«Eloquent JavaScript» М. Хавербеке<\/b><br \/>\nЭта книга доступна онлайн и предоставляет уникальный подход к изучению JavaScript через интересные проекты и задачи.<\/li>\n<\/ul>\n<ul>\n<li><b>«Learning Web Design» Дж. Роббинс<\/b><br \/>\nЭто отличное руководство для начинающих веб-разработчиков, покрывающее все аспекты веб-дизайна и разработки.<\/li>\n<\/ul>\n<ul>\n<li><b>«You Don’t Know JS» К. Симпсон<\/b><br \/>\nСерия книг, которая углубленно рассматривает различные аспекты JavaScript, помогая вам освоить язык более глубоко.<\/li>\n<\/ul>\n<ul>\n<li><b>«Designing with Web Standards» Д. Зельдман<\/b><br \/>\nЭта книга поможет вам понять, как создавать веб-сайты, соблюдая современные стандарты и методы, которые улучшают доступность и производительность.<\/li>\n<\/ul>\n<ul>\n<li><b>«The Pragmatic Programmer» Э. Хант, Д. Томас<\/b><br \/>\nХотя эта книга не напрямую связана с веб-разработкой, она предоставляет множество ценных советов и практик, которые могут помочь вам стать более эффективным разработчиком.<\/li>\n<\/ul>\n<ul>\n<li><b>«Responsive Web Design» Э. Эткинсон<\/b><br \/>\nЭта книга рассматривает методы создания адаптивных веб-сайтов, которые хорошо выглядят на разных устройствах и разрешениях экрана.<\/li>\n<\/ul>\n<p>Обратите внимание, что мир веб-разработки постоянно меняется, поэтому рекомендуется также следить за актуальными онлайн ресурсами и блогами, чтобы быть в курсе последних тенденций и технологий.<\/p>\n<h2>***<\/h2>\n<p>Вот такой диалог с чатом у меня получился. Сейчас я сам постигаю дебри веб-разработки и пишу свой собственный сайт самостоятельно и постоянно нахожусь в режиме обучения новым навыкам и поисках нужной мне информации. Лишним такой план точно не будет.<\/p>\n",
            "summary": "Решил пообщаться с ChatGPT и попросил составить для себя подробный план по обучению веб-разработке на русском и английском языках. И вот что у меня получилось.",
            "date_published": "2023-08-09T15:50:11+03:00",
            "date_modified": "2024-08-29T18:40:28+03:00",
            "tags": [
                "chatgpt",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/recursosprogramadores.png.jpg",
            "_date_published_rfc2822": "Wed, 09 Aug 2023 15:50:11 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "40",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/recursosprogramadores.png.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/razrabotka.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/luchshie-knigi-po-programmirovaniyu.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}