<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блог Дмитрия Серженко: заметки с тегом программирование</title>
<link>https://serzhenko.ru/tags/programmirovanie/</link>
<description>Всю сознательную жизнь работаю в образовании.

В настоящее время — открываю Лицей информационных технологий Приморского района Санкт-Петербурга.
Ранее (в т.ч. по совместительству): зам. директора и  руководитель центра цифрового образования «ИнфинITи» школы № 509, сотрудник СПбЦОКОиИТ и Инспекции Комитета по образованию Санкт-Петербурга, заведующий ЦИО ИМЦ Петродворцового района, сотрудник поддержки ВКонтакте, инженер ЦИО ИМЦ Красносельского района, педагог дополнительного образования УМЦ «ИНФОБ» и лицея № 395, переводчик, индивидуальный предприниматель и проч., проч., проч.…

Disclaimer. Вся информация, опубликованная в этом блоге, отражает персональное мнение частного лица, даже если затрагивает рабочие темы, и не представляет официальную позицию какой-либо организации или органа власти (хотя и может с таковой позицией совпадать… или не совпадать).</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Всю сознательную жизнь работаю в образовании.

В настоящее время — открываю Лицей информационных технологий Приморского района Санкт-Петербурга.
Ранее (в т.ч. по совместительству): зам. директора и  руководитель центра цифрового образования «ИнфинITи» школы № 509, сотрудник СПбЦОКОиИТ и Инспекции Комитета по образованию Санкт-Петербурга, заведующий ЦИО ИМЦ Петродворцового района, сотрудник поддержки ВКонтакте, инженер ЦИО ИМЦ Красносельского района, педагог дополнительного образования УМЦ «ИНФОБ» и лицея № 395, переводчик, индивидуальный предприниматель и проч., проч., проч.…

Disclaimer. Вся информация, опубликованная в этом блоге, отражает персональное мнение частного лица, даже если затрагивает рабочие темы, и не представляет официальную позицию какой-либо организации или органа власти (хотя и может с таковой позицией совпадать… или не совпадать).</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Семинар «Цифровая трансформация образования: новые вызовы — новые умения»</title>
<guid isPermaLink="false">28</guid>
<link>https://serzhenko.ru/all/seminar-itns-2021/</link>
<pubDate>Wed, 24 Mar 2021 16:37:00 +0300</pubDate>
<author></author>
<comments>https://serzhenko.ru/all/seminar-itns-2021/</comments>
<description>
&lt;p&gt;24 марта 2021 года в &lt;a href="https://school509.spb.ru"&gt;школе № 509&lt;/a&gt; прошёл &lt;a href="https://itns2021.school509.spb.ru/"&gt;выездной онлайн-семинар «Цифровая трансформация образования: новые вызовы — новые умения»&lt;/a&gt; &lt;a href="https://conf.spbcokoit.ru/"&gt;XII Всероссийской конференции с международным участием «Информационные технологии для Новой школы»&lt;/a&gt;. Конференция проводится ежегодно в рамках &lt;a href="https://eduforum.spb.ru/"&gt;Петербургского международного образовательного форума&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;В рамках семинара представлено 14 видеодокладов суммарной продолжительностью более двух часов. Административная команда и педагогический коллектив ГБОУ № 509 представили новые подходы к развитию методической системы школы, поделились опытом трансформации отдельных сегментов образовательной среды и своими ноу-хау — в части проектирования и реализации новых инструментов, преобразующих образовательную среду в соответствии с формирующимся образом цифровой школы.&lt;/p&gt;
&lt;p&gt;С материалами семинара ознакомились более 150 посетителей из Санкт-Петербурга, Москвы, Ленинградской, Кемеровской, Вологодской, Нижегородской, Омской, Калининградской, Ярославской, Амурской, Кировской, Свердловской областей, республик Карелия, Башкортостан, Татарстан, Пермского края, а также из города Минск республики Беларусь.&lt;/p&gt;
&lt;p&gt;В форме обратной связи посетители семинара отметили «интересное, содержательное знакомство с опытом школы» и высоко оценили актуальность и доступность изложения представленных материалов.&lt;/p&gt;
&lt;p&gt;В нескольких докладах — одном пленарном и нескольких секционных — поучаствовал и я.&lt;/p&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/Tc9gyrBzaUQ?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/vZtdeKHMTnQ?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/Xz8d0lFPFbs?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/ZUlTFV9EJ4g?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/s1ihVib-aPw?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Все видеодоклады конференции постоянно доступны по ссылке: &lt;a href="https://itns2021.school509.spb.ru/"&gt;https://itns2021.school509.spb.ru/&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Бот для акции «Помним»</title>
<guid isPermaLink="false">25</guid>
<link>https://serzhenko.ru/all/bot-dlya-akcii-pomnim/</link>
<pubDate>Thu, 07 May 2020 12:51:45 +0300</pubDate>
<author></author>
<comments>https://serzhenko.ru/all/bot-dlya-akcii-pomnim/</comments>
<description>
&lt;p&gt;В преддверии Дня Победы ежегодно и повсеместно проходят акции в формате &lt;a href="https://www.moypolk.ru/" class="nu"&gt;«&lt;u&gt;Бессмертного полка&lt;/u&gt;»&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;В этом году, в связи с известными коронавирусными обстоятельствами, бо́льшая часть акций перешла в онлайн-формат. В частности «Российское движение школьников» &lt;a href="https://vk.com/wall-122623791_193161"&gt;запустило акцию «Помним»&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Участникам акции предлагается:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Скачать файл с рамкой;&lt;/li&gt;
&lt;li&gt;Наложить слой с рамкой на слой с фото в нужном порядке (да, рамка должна быть на переднем слое, т. к. у неё есть «уголочки», которые должны быть на фотографии, а не под);&lt;/li&gt;
&lt;li&gt;Добавить подписи (желательно — уместным шрифтом);&lt;/li&gt;
&lt;li&gt;Сохранить фото.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Очевидно, что для многих потенциальных участников акции выполнение алгоритма станет не такой уж тривиальной задачей: требуются навыки работы с графическими редакторами или хотя бы онлайн-сервисами аналогичного назначения. Либо &lt;a href="https://vk.com/@rms_spb-kak-sdelat-fotografiu-bessmertnogo-polka"&gt;использования «костылей» вроде PowerPoint’а&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Для того, чтобы повысить потенциальную вовлечённость наших обучающихся и их родителей в акцию, мы решили поэкспериментировать и максимально оптимизировать  процесс подготовки фото в рамке для публикации в школьной онлайн-колонне  «Бессмертного полка».&lt;/p&gt;
&lt;div id="vk_post_-194939024_5"&gt;&lt;/div&gt;&lt;script type="text/javascript" src="https://vk.com/js/api/openapi.js?168"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    VK.Widgets.Post("vk_post_-194939024_5", -194939024, 5, 'Y45j8dVxdCE5SxHgfw_WoQ');
  }());
&lt;/script&gt;
&lt;p&gt;Был реализован следующий пользовательский сценарий:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Бот в сети ВКонтакте принимает в качестве входных данных фотографию, ФИО и (опционально) звание героя.&lt;/li&gt;
&lt;li&gt;Подготавливает изображение, присылает его пользователю.&lt;/li&gt;
&lt;li&gt;Предлагает пользователю выполнить публикацию в сообществе.&lt;/li&gt;
&lt;li&gt;Если пользователь соглашается, фото загружается в альбом сообщества и публикуется на стене с заранее заготовленным набором соответствующих хэштегов. Получившийся пост отправляется пользователю, который может принять решение о лайке, репосте (или каком-либо другом действии в рамках стандартного взаимодействия с соцсетью).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Важно, что без прямого на то намерения пользователя ничего никуда не публикуется и, пока пользователь не примет такого решения, никакие данные не выходят за пределы диалога «пользователь — бот».&lt;/p&gt;
&lt;p&gt;По сути сейчас нет никакой технической фильтрации ни текстового, ни графического контента, которые подаются на вход боту (кроме, разве что, «загрузите, пожалуйста, вертикальное фото»). Поэтому в целях предупреждения потенциального вандализма была организована команда модераторов, состоящая из педагогов и ребят-активистов, готовых оперативно устранять последствия актов вандализма, если таковые будут иметь место.&lt;/p&gt;
&lt;p&gt;Вот что получилось:&lt;/p&gt;
&lt;!-- VK Widget --&gt;&lt;div id="vk_groups"&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;
VK.Widgets.Group("vk_groups", {mode: 4, wide: 1, height: "600", width: "auto", no_cover: 1}, 194939024);
&lt;/script&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;Дальше — чуть-чуть технических подробностей разработки. Можете смело пропустить два следующих абзаца, если вас пугают слова и аббревиатуры PHP, API, SDK, NoSQL, «токен» или «standalone» :)&lt;/p&gt;
&lt;p&gt;Технически взаимодействие с пользователем осуществляется через &lt;a href="https://vk.com/dev/bots_docs"&gt;чат-бота VK&lt;/a&gt;, серверной частью которого является PHP-приложение, написанное с использованием &lt;a href="https://github.com/VKCOM/vk-php-sdk"&gt;официального SDK VK&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Для генерации изображений используются библиотеки-обёртки над &lt;a href="https://www.php.net/manual/ru/book.image.php"&gt;GD&lt;/a&gt;: &lt;a href="https://github.com/Treinetic/ImageArtist"&gt;ImageArtist&lt;/a&gt; и &lt;a href="https://github.com/stil/gd-text"&gt;gd-text&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Для хранения состояния сессии взаимодействия с пользователем используется NoSQL-хранилище &lt;a href="https://redis.io/"&gt;Redis&lt;/a&gt; и его &lt;a href="https://github.com/nrk/predis"&gt;PHP-клиент Predis&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;В целом архитектура проекта такова, что при желании можно изменить (или расширить) платформы взаимодействия с ботом на другие соцсети и/или мессенджеры, используя их API.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Взаимодействие с пользователем осуществляется от имени специально созданного сообщества, однако в процессе разработки я столкнулся с одним логически неочевидным ограничением (однако прямо оговорённым в документации): токен доступа сообщества не позволяет загружать фотографии в альбомы сообщества и создавать записи на его стене. Это возможно только с ключом доступа пользователя, обладающего правами на такие действия в конкретном сообществе. Из этой ситуации был найден следующий выход: создано техническое standalone-приложение, для которого был получен токен пользователя-администратора сообщества с неограниченным сроком действия.&lt;/p&gt;
</description>
</item>

<item>
<title>[TED Talk] Mitch Resnick — Let’s teach kids to code</title>
<guid isPermaLink="false">16</guid>
<link>https://serzhenko.ru/all/ted-talk-mitch-resnick-lets-teach-kids-to-code/</link>
<pubDate>Tue, 22 May 2018 09:44:59 +0300</pubDate>
<author></author>
<comments>https://serzhenko.ru/all/ted-talk-mitch-resnick-lets-teach-kids-to-code/</comments>
<description>
&lt;div style="max-width:854px"&gt;&lt;div style="position:relative;height:0;padding-bottom:56.25%"&gt;&lt;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&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/div&gt;</description>
</item>


</channel>
</rss>