{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блог Дмитрия Серженко: заметки с тегом программирование",
    "_rss_description": "Всю сознательную жизнь работаю в образовании.\r\n\r\nВ настоящее время — открываю Лицей информационных технологий Приморского района Санкт-Петербурга.\r\nРанее (в т.ч. по совместительству): зам. директора и  руководитель центра цифрового образования «ИнфинITи» школы № 509, сотрудник СПбЦОКОиИТ и Инспекции Комитета по образованию Санкт-Петербурга, заведующий ЦИО ИМЦ Петродворцового района, сотрудник поддержки ВКонтакте, инженер ЦИО ИМЦ Красносельского района, педагог дополнительного образования УМЦ «ИНФОБ» и лицея № 395, переводчик, индивидуальный предприниматель и проч., проч., проч.…\r\n\r\nDisclaimer. Вся информация, опубликованная в этом блоге, отражает персональное мнение частного лица, даже если затрагивает рабочие темы, и не представляет официальную позицию какой-либо организации или органа власти (хотя и может с таковой позицией совпадать… или не совпадать).",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/serzhenko.ru\/tags\/programmirovanie\/",
    "feed_url": "https:\/\/serzhenko.ru\/tags\/programmirovanie\/json\/",
    "icon": "https:\/\/serzhenko.ru\/pictures\/userpic\/userpic@2x.jpg?1762279385",
    "authors": [
        {
            "name": "Дмитрий Серженко",
            "url": "https:\/\/serzhenko.ru\/",
            "avatar": "https:\/\/serzhenko.ru\/pictures\/userpic\/userpic@2x.jpg?1762279385"
        }
    ],
    "items": [
        {
            "id": "28",
            "url": "https:\/\/serzhenko.ru\/all\/seminar-itns-2021\/",
            "title": "Семинар «Цифровая трансформация образования: новые вызовы — новые умения»",
            "content_html": "<p>24 марта 2021 года в <a href=\"https:\/\/school509.spb.ru\">школе № 509<\/a> прошёл <a href=\"https:\/\/itns2021.school509.spb.ru\/\">выездной онлайн-семинар «Цифровая трансформация образования: новые вызовы — новые умения»<\/a> <a href=\"https:\/\/conf.spbcokoit.ru\/\">XII Всероссийской конференции с международным участием «Информационные технологии для Новой школы»<\/a>. Конференция проводится ежегодно в рамках <a href=\"https:\/\/eduforum.spb.ru\/\">Петербургского международного образовательного форума<\/a>.<\/p>\n<p>В рамках семинара представлено 14 видеодокладов суммарной продолжительностью более двух часов. Административная команда и педагогический коллектив ГБОУ № 509 представили новые подходы к развитию методической системы школы, поделились опытом трансформации отдельных сегментов образовательной среды и своими ноу-хау — в части проектирования и реализации новых инструментов, преобразующих образовательную среду в соответствии с формирующимся образом цифровой школы.<\/p>\n<p>С материалами семинара ознакомились более 150 посетителей из Санкт-Петербурга, Москвы, Ленинградской, Кемеровской, Вологодской, Нижегородской, Омской, Калининградской, Ярославской, Амурской, Кировской, Свердловской областей, республик Карелия, Башкортостан, Татарстан, Пермского края, а также из города Минск республики Беларусь.<\/p>\n<p>В форме обратной связи посетители семинара отметили «интересное, содержательное знакомство с опытом школы» и высоко оценили актуальность и доступность изложения представленных материалов.<\/p>\n<p>В нескольких докладах — одном пленарном и нескольких секционных — поучаствовал и я.<\/p>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/Tc9gyrBzaUQ?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/vZtdeKHMTnQ?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/Xz8d0lFPFbs?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/ZUlTFV9EJ4g?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/s1ihVib-aPw?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<p>Все видеодоклады конференции постоянно доступны по ссылке: <a href=\"https:\/\/itns2021.school509.spb.ru\/\">https:\/\/itns2021.school509.spb.ru\/<\/a><\/p>\n",
            "date_published": "2021-03-24T16:37:00+03:00",
            "date_modified": "2021-04-04T16:43:12+03:00",
            "tags": [
                "Google Classroom",
                "боты",
                "ИТНШ",
                "квизы",
                "программирование",
                "ЦЦО",
                "школа № 509"
            ],
            "image": "https:\/\/serzhenko.ru\/pictures\/GBOU--509.jpg",
            "_date_published_rfc2822": "Wed, 24 Mar 2021 16:37:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "28",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/serzhenko.ru\/pictures\/GBOU--509.jpg",
                    "https:\/\/serzhenko.ru\/pictures\/remote\/youtube-Tc9gyrBzaUQ-cover.jpg",
                    "https:\/\/serzhenko.ru\/pictures\/remote\/youtube-vZtdeKHMTnQ-cover.jpg",
                    "https:\/\/serzhenko.ru\/pictures\/remote\/youtube-Xz8d0lFPFbs-cover.jpg",
                    "https:\/\/serzhenko.ru\/pictures\/remote\/youtube-ZUlTFV9EJ4g-cover.jpg",
                    "https:\/\/serzhenko.ru\/pictures\/remote\/youtube-s1ihVib-aPw-cover.jpg"
                ]
            }
        },
        {
            "id": "25",
            "url": "https:\/\/serzhenko.ru\/all\/bot-dlya-akcii-pomnim\/",
            "title": "Бот для акции «Помним»",
            "content_html": "<p>В преддверии Дня Победы ежегодно и повсеместно проходят акции в формате <a href=\"https:\/\/www.moypolk.ru\/\" class=\"nu\">«<u>Бессмертного полка<\/u>»<\/a>.<\/p>\n<p>В этом году, в связи с известными коронавирусными обстоятельствами, бо́льшая часть акций перешла в онлайн-формат. В частности «Российское движение школьников» <a href=\"https:\/\/vk.com\/wall-122623791_193161\">запустило акцию «Помним»<\/a>.<\/p>\n<p>Участникам акции предлагается:<\/p>\n<ol start=\"1\">\n<li>Скачать файл с рамкой;<\/li>\n<li>Наложить слой с рамкой на слой с фото в нужном порядке (да, рамка должна быть на переднем слое, т. к. у неё есть «уголочки», которые должны быть на фотографии, а не под);<\/li>\n<li>Добавить подписи (желательно — уместным шрифтом);<\/li>\n<li>Сохранить фото.<\/li>\n<\/ol>\n<p>Очевидно, что для многих потенциальных участников акции выполнение алгоритма станет не такой уж тривиальной задачей: требуются навыки работы с графическими редакторами или хотя бы онлайн-сервисами аналогичного назначения. Либо <a href=\"https:\/\/vk.com\/@rms_spb-kak-sdelat-fotografiu-bessmertnogo-polka\">использования «костылей» вроде PowerPoint’а<\/a>.<\/p>\n<p>Для того, чтобы повысить потенциальную вовлечённость наших обучающихся и их родителей в акцию, мы решили поэкспериментировать и максимально оптимизировать  процесс подготовки фото в рамке для публикации в школьной онлайн-колонне  «Бессмертного полка».<\/p>\n<div id=\"vk_post_-194939024_5\"><\/div><script type=\"text\/javascript\" src=\"https:\/\/vk.com\/js\/api\/openapi.js?168\"><\/script>\n<script type=\"text\/javascript\">\n  (function() {\n    VK.Widgets.Post(\"vk_post_-194939024_5\", -194939024, 5, 'Y45j8dVxdCE5SxHgfw_WoQ');\n  }());\n<\/script>\n<p>Был реализован следующий пользовательский сценарий:<\/p>\n<ol start=\"1\">\n<li>Бот в сети ВКонтакте принимает в качестве входных данных фотографию, ФИО и (опционально) звание героя.<\/li>\n<li>Подготавливает изображение, присылает его пользователю.<\/li>\n<li>Предлагает пользователю выполнить публикацию в сообществе.<\/li>\n<li>Если пользователь соглашается, фото загружается в альбом сообщества и публикуется на стене с заранее заготовленным набором соответствующих хэштегов. Получившийся пост отправляется пользователю, который может принять решение о лайке, репосте (или каком-либо другом действии в рамках стандартного взаимодействия с соцсетью).<\/li>\n<\/ol>\n<p>Важно, что без прямого на то намерения пользователя ничего никуда не публикуется и, пока пользователь не примет такого решения, никакие данные не выходят за пределы диалога «пользователь — бот».<\/p>\n<p>По сути сейчас нет никакой технической фильтрации ни текстового, ни графического контента, которые подаются на вход боту (кроме, разве что, «загрузите, пожалуйста, вертикальное фото»). Поэтому в целях предупреждения потенциального вандализма была организована команда модераторов, состоящая из педагогов и ребят-активистов, готовых оперативно устранять последствия актов вандализма, если таковые будут иметь место.<\/p>\n<p>Вот что получилось:<\/p>\n<!-- VK Widget --><div id=\"vk_groups\"><\/div><script type=\"text\/javascript\">\nVK.Widgets.Group(\"vk_groups\", {mode: 4, wide: 1, height: \"600\", width: \"auto\", no_cover: 1}, 194939024);\n<\/script>\n<p><hr><\/p>\n<p>Дальше — чуть-чуть технических подробностей разработки. Можете смело пропустить два следующих абзаца, если вас пугают слова и аббревиатуры PHP, API, SDK, NoSQL, «токен» или «standalone» :)<\/p>\n<p>Технически взаимодействие с пользователем осуществляется через <a href=\"https:\/\/vk.com\/dev\/bots_docs\">чат-бота VK<\/a>, серверной частью которого является PHP-приложение, написанное с использованием <a href=\"https:\/\/github.com\/VKCOM\/vk-php-sdk\">официального SDK VK<\/a>:<\/p>\n<ul>\n<li>Для генерации изображений используются библиотеки-обёртки над <a href=\"https:\/\/www.php.net\/manual\/ru\/book.image.php\">GD<\/a>: <a href=\"https:\/\/github.com\/Treinetic\/ImageArtist\">ImageArtist<\/a> и <a href=\"https:\/\/github.com\/stil\/gd-text\">gd-text<\/a>.<\/li>\n<li>Для хранения состояния сессии взаимодействия с пользователем используется NoSQL-хранилище <a href=\"https:\/\/redis.io\/\">Redis<\/a> и его <a href=\"https:\/\/github.com\/nrk\/predis\">PHP-клиент Predis<\/a>.<\/li>\n<li>В целом архитектура проекта такова, что при желании можно изменить (или расширить) платформы взаимодействия с ботом на другие соцсети и\/или мессенджеры, используя их API.<\/li>\n<\/ul>\n<p>Взаимодействие с пользователем осуществляется от имени специально созданного сообщества, однако в процессе разработки я столкнулся с одним логически неочевидным ограничением (однако прямо оговорённым в документации): токен доступа сообщества не позволяет загружать фотографии в альбомы сообщества и создавать записи на его стене. Это возможно только с ключом доступа пользователя, обладающего правами на такие действия в конкретном сообществе. Из этой ситуации был найден следующий выход: создано техническое standalone-приложение, для которого был получен токен пользователя-администратора сообщества с неограниченным сроком действия.<\/p>\n",
            "date_published": "2020-05-07T12:51:45+03:00",
            "date_modified": "2020-11-06T20:13:47+03:00",
            "tags": [
                "Бессмертный полк",
                "боты",
                "программирование",
                "школа № 509"
            ],
            "image": "https:\/\/serzhenko.ru\/pictures\/Bez-imeni-1.png",
            "_date_published_rfc2822": "Thu, 07 May 2020 12:51:45 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "25",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/serzhenko.ru\/pictures\/Bez-imeni-1.png"
                ]
            }
        },
        {
            "id": "16",
            "url": "https:\/\/serzhenko.ru\/all\/ted-talk-mitch-resnick-lets-teach-kids-to-code\/",
            "title": "[TED Talk] Mitch Resnick — Let’s teach kids to code",
            "content_html": "<div style=\"max-width:854px\"><div style=\"position:relative;height:0;padding-bottom:56.25%\"><iframe class=\"ted-video\" src=\"https:\/\/embed.ted.com\/talks\/lang\/ru\/mitch_resnick_let_s_teach_kids_to_code\" width=\"854\" height=\"480\" style=\"position:absolute;left:0;top:0;width:100%;height:100%\" frameborder=\"0\" scrolling=\"no\" allowfullscreen><\/iframe>\n<\/div><\/div>",
            "date_published": "2018-05-22T09:44:59+03:00",
            "date_modified": "2020-05-07T15:32:59+03:00",
            "tags": [
                "TED",
                "образование",
                "программирование"
            ],
            "_date_published_rfc2822": "Tue, 22 May 2018 09:44:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "16",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}