Друзья, сегодня СберТеху 14 лет! 🎉
Каждый день мы становимся лучше и стараемся для вас! И, по традиции, дальше — больше!
Спасибо, что вы с нами🧡
Каждый день мы становимся лучше и стараемся для вас! И, по традиции, дальше — больше!
Спасибо, что вы с нами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤44🔥19🎉12 11
#GitVerseНовости
Интересное из мира open source
⭐️ Вышли новые версии языков Perl и Rust. Теперь багов меньше, а писать код удобнее.
⭐️ Есть что почитать? Применение книг для обучения AI-моделей признано добросовестным использованием.
⭐️ На смену лицензии GPLv3 придет Copyleft-next. Основные новшества: а) через 15 лет лицензия превращается в тыкву разрешительную, б) если проект выходит под двумя лицензиями — Copyleft-next и коммерческой — копилефт-защита аннулируется.
⭐️ Автор Node.js добивается отмены торговой марки JavaScript. По словам истца, слово "JavaScript" стало общеупотребительным термином, не связанным с конкретными продуктами Oracle, и широко используется людьми и компаниями.
Нашли что-то интересное в сети? Делитесь со всеми!
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Интересное из мира open source
Нашли что-то интересное в сети? Делитесь со всеми!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🤩3 2
Подробный гайд по опенсорсу для новичков 🚀
Друзья, как вы помните, не так давно у нас прошла совместная с Хабром Live-студия, на которой было много чего интересного! Например, Никита Соболев, Core-разработчик CPython, первый российский GitHub Star, сделал целый туториал по опенсорсу для новичков, в котором рассказал абсолютно все — от чек-листа по отправке запроса на слияние до особенностей отношений с мейнтейнерами. В общем, невероятно полезно!
Смотреть гайд – по ссылке (сохранили нужный таймкод с трансляции)
Сохраняйте, пересматривайте и делитесь!
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Друзья, как вы помните, не так давно у нас прошла совместная с Хабром Live-студия, на которой было много чего интересного! Например, Никита Соболев, Core-разработчик CPython, первый российский GitHub Star, сделал целый туториал по опенсорсу для новичков, в котором рассказал абсолютно все — от чек-листа по отправке запроса на слияние до особенностей отношений с мейнтейнерами. В общем, невероятно полезно!
Смотреть гайд – по ссылке (сохранили нужный таймкод с трансляции)
Сохраняйте, пересматривайте и делитесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
#GitVerseКейс
Смотри, какой репозиторий!🚀
Всем привет! В этот летний день делимся крутым проектом от наших друзей из ИТМО – TorchCNNBuilder! Это платформа с открытым исходным кодом для автоматического создания архитектур CNN. Погнали разбираться!🔥
О проекте🚀
TorchCNNBuilder изначально разрабатывался для прогнозирования n-мерных временных рядов (включая геоданные), поэтому в нем есть готовые шаблоны прогнозных моделей. Проект создан в рамках Фонда содействия инновациям КОД-ИИ и помогает исследователям применять модели CNN к широкому спектру задач, беря на себя рутину написания архитектурного кода.
Основные фичи фреймворка:
✅ Расчет размеров тензоров после сверточных слоев.
✅ Предобработка n-мерных временных рядов в TensorDataset.
✅ Автоматическое создание сверточных последовательностей.
✅ Генерация сверточных слоев и блоков.
✅ Создание моделей энкодера-декодера.
✅ Гибкая настройка параметров скрытого пространства для кодировщика/декодера.
И еще о полезностях👍
TorchCNNBuilder упрощает разработку сложных CNN-архитектур, экономит время и помогает исследователям сосредоточиться на экспериментах, а не на рутинном коде.
Переходите по ссылке в репозиторий и следите за развитием!
#GitVerse_Разработчикам
Смотри, какой репозиторий!
Всем привет! В этот летний день делимся крутым проектом от наших друзей из ИТМО – TorchCNNBuilder! Это платформа с открытым исходным кодом для автоматического создания архитектур CNN. Погнали разбираться!
О проекте
TorchCNNBuilder изначально разрабатывался для прогнозирования n-мерных временных рядов (включая геоданные), поэтому в нем есть готовые шаблоны прогнозных моделей. Проект создан в рамках Фонда содействия инновациям КОД-ИИ и помогает исследователям применять модели CNN к широкому спектру задач, беря на себя рутину написания архитектурного кода.
Основные фичи фреймворка:
И еще о полезностях
TorchCNNBuilder упрощает разработку сложных CNN-архитектур, экономит время и помогает исследователям сосредоточиться на экспериментах, а не на рутинном коде.
Переходите по ссылке в репозиторий и следите за развитием!
#GitVerse_Разработчикам
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14 4❤3
Привет, сообщество! ✋
Маленькая приятная новость среды:
если подавали заявку на ранний доступ к публичному API — проверяйте. Мы подключили новую порцию пользователей — всех, кто оставлял заявки до сегодняшнего дня.
🚀 Вся нужная инфа для начала работы уже есть в Документации.
🚀 А если тоже хотите попробовать новую фичу, оставляйте заявку.
Не забывайте, что мы всегда ждем ваших отзывов и пожеланий — смело пишите нам в Bug report или Feature request.
Ваш GitVerse😉
🌟 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Маленькая приятная новость среды:
если подавали заявку на ранний доступ к публичному API — проверяйте. Мы подключили новую порцию пользователей — всех, кто оставлял заявки до сегодняшнего дня.
Не забывайте, что мы всегда ждем ваших отзывов и пожеланий — смело пишите нам в Bug report или Feature request.
Ваш GitVerse
Please open Telegram to view this post
VIEW IN TELEGRAM
#GitVerseПолезное
Must read📚
Дайте угадаем – в такую жаркую погоду ну совсеем не работается? Мы знаем, как не мучить себя и в то же время сделать что-то полезное – ложитесь под кондиционер и открывайте статьи, которые мы вам принесли🏖 Кстати, с кондиционером лучше не переусердствовать, а со статьями – можно!
⏩ Open source профессиональный и любительский — взять лучшее от двух миров? [Что думают эксперты и лидеры индустрии]
В опенсорс-чатах до сих пор спорят, является ли тот или иной проект по-настоящему открытым и по-любительски правильным. Дмитрий Кабанов в своем Хабр-блоге поговорил с экспертами из индустрии о том, как взять лучшее от двух миров: опенсорса профессионального (на плечах компаний) и любительского (на энтузиазме специалистов). Кстати, в статье вы найдете и мнение Саши Белоцерковского, технологического евангелиста СберТеха.
Читать статью — по ссылке
⏩ Мапы в Go: Полное руководство для начинающих
В Go, как и во многих других языках, часто нужно хранить данные в формате ключ-значение. Для этого предназначен встроенный тип данных map. В нашем блоге объясняем, как создавать мапы, добавлять и изменять элементы. Сохраняйте!
Читать статью — по ссылке
⏩ Stream API в Java
Stream API в Java представляет данные в виде потоков (стримов), над которыми можно выполнять последовательные операции. В статье рассмотрели основные концепции механизма, способы создания потоков и выполнения операций. А в конце найдете еще полезную шпаргалку!
Читать статью — по ссылке
🌟 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Must read
Дайте угадаем – в такую жаркую погоду ну совсеем не работается? Мы знаем, как не мучить себя и в то же время сделать что-то полезное – ложитесь под кондиционер и открывайте статьи, которые мы вам принесли
В опенсорс-чатах до сих пор спорят, является ли тот или иной проект по-настоящему открытым и по-любительски правильным. Дмитрий Кабанов в своем Хабр-блоге поговорил с экспертами из индустрии о том, как взять лучшее от двух миров: опенсорса профессионального (на плечах компаний) и любительского (на энтузиазме специалистов). Кстати, в статье вы найдете и мнение Саши Белоцерковского, технологического евангелиста СберТеха.
Читать статью — по ссылке
В Go, как и во многих других языках, часто нужно хранить данные в формате ключ-значение. Для этого предназначен встроенный тип данных map. В нашем блоге объясняем, как создавать мапы, добавлять и изменять элементы. Сохраняйте!
Читать статью — по ссылке
Stream API в Java представляет данные в виде потоков (стримов), над которыми можно выполнять последовательные операции. В статье рассмотрели основные концепции механизма, способы создания потоков и выполнения операций. А в конце найдете еще полезную шпаргалку!
Читать статью — по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, у нас вчера выдался такой интересный минор-релиз, что хочется рассказать о нем отдельно!
Релиз 18.3.0🚀
Что нового
❗️ Улучшения и изменения:
добавлена поддержка синтаксиса LaTeX и Mermaid в md-файлах.
⚡️ CI/CD:
workflow_dispatch (ручной запуск потоков).
⬇️ Для тех, кто любит читать:
- матричные сборки;
- удаление конфиденциальных данных из репозитория.
Пофиксили
🌟 проверку на максимальный размер файла при загрузке в GIT LFS;
🌟 некорректное отображение лимитов GIT LFS в начале нового месяца;
🌟 некорректное отображение статуса синхронизации репозитория-зеркала в закрепленных репозиториях на дашборде;
🌟 некорректное отображение заглушки для закрепленных репозиториев в профиле пользователя при смене его видимости.
Релиз 18.3.0
Что нового
добавлена поддержка синтаксиса LaTeX и Mermaid в md-файлах.
workflow_dispatch (ручной запуск потоков).
- матричные сборки;
- удаление конфиденциальных данных из репозитория.
Пофиксили
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19 12❤8🎉2🤩2
#GitVerseНовости
Интересное из мира open source
⏩ Новые релизы: протокол Wayland 1.24, командная оболочка Bash 5.3 и инструмент Multipass 1.16 для развертывания Ubuntu в виртуальных машинах.
⏩ Стала доступна система обнаружения атак Suricata 8.0 от Open Information Security Foundation, которая помогает инспектировать различные виды трафика.
⏩ Появились корректирующие выпуски Git 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1 и 2.50.1. В них устранены уязвимости, которые позволяют выполнить свой код на системе пользователя при клонировании репозитория, подконтрольного атакующему. Подробнее тут.
Нашли что-то интересное в сети? Делитесь со всеми!
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Интересное из мира open source
Нашли что-то интересное в сети? Делитесь со всеми!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6 6🔥4
#GitVerseКейс
Смотри, какой репозиторий!🚀
Всем вдохновляющего вторника! Сегодня мы расскажем об одном интересном и полезном проекте — сервере open source системы для автоматического парсинга и обработки данных SCDB. Давайте разберемся подробнее, что это и зачем нужно!😉
О проекте🔥
Итак, SCDB Server — это REST API сервер, разработанный на Go с использованием Gin framework и PostgreSQL. Система включает два компонента: API и парсер. Основная цель проекта — автоматический сбор и обработка сырых данных об образовательных учреждениях из открытых источников.
📎 Интересный факт: база данных содержит инфо о 57 693 образовательных учреждений (в том числе – за пределами РФ) 1 117 городов!
Основные фичи сервера:
⏩ Парсинг сырых данных: сервер извлекает большие объемы данных из открытых источников и обрабатывает их, оставляя только нужную информацию в удобном виде.
⏩ Получение информации об образовательных организациях.
⏩ Поиск организаций с фильтрацией и пагинацией.
⏩ Статистика по базам данных.
⏩ Поддержка разных типов образовательных учреждений.
И немного про технические особенности проекта:
🌟 Go версии 1.24.3.
🌟 Gin Web Framework для построения API.
🌟 PostgreSQL версии 17.4.
🌟 Контейнеризация с помощью Docker и Docker Compose.
Что дальше?❗️
В своем роадмапе команда отметила, что планирует повышение безопасности, внедрение авторизации, оптимизацию производительности системы, а также расширение функциональности API и много-многое другое!
Переходите по ссылке в репозиторий и присоединяйтесь к развитию проекта!✋
#GitVerse_Разработчикам
Смотри, какой репозиторий!
Всем вдохновляющего вторника! Сегодня мы расскажем об одном интересном и полезном проекте — сервере open source системы для автоматического парсинга и обработки данных SCDB. Давайте разберемся подробнее, что это и зачем нужно!
О проекте
Итак, SCDB Server — это REST API сервер, разработанный на Go с использованием Gin framework и PostgreSQL. Система включает два компонента: API и парсер. Основная цель проекта — автоматический сбор и обработка сырых данных об образовательных учреждениях из открытых источников.
Основные фичи сервера:
И немного про технические особенности проекта:
Что дальше?
В своем роадмапе команда отметила, что планирует повышение безопасности, внедрение авторизации, оптимизацию производительности системы, а также расширение функциональности API и много-многое другое!
Переходите по ссылке в репозиторий и присоединяйтесь к развитию проекта!
#GitVerse_Разработчикам
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8 8👏4❤1
Поддержка разметки LaTeX и Mermaid 🔥
Друзья, в релизе 18.3.0 появилась долгожданная поддержка разметки LaTeX и Mermaid прямо внутри markdown-файлов, о чем мы и хотим отдельно рассказать🚀
Теперь вы можете легко интегрировать сложные математические формулы и структурированные графики в свои файлы📈
Кому это может быть полезно?
➖ Ученым для быстрой подготовки статьи с уравнениями;
➖ Разработчикам для детального описания архитектуры приложений;
➖ Преподавателям для создания полезных лекций с поясняющими блок-схемами;
➖ Техническим писателям и системным аналитикам для создания руководства с API-схемами.
И для многих других сценариев!
Еще для вашего удобства мы сделали отдельные репозитории с примерами:
⏩ Репозиторий с примерами LaTeX
⏩ Репозиторий с примерами Mermaid
Пробуйте и делитесь мнением в комментариях😉
Друзья, в релизе 18.3.0 появилась долгожданная поддержка разметки LaTeX и Mermaid прямо внутри markdown-файлов, о чем мы и хотим отдельно рассказать
Теперь вы можете легко интегрировать сложные математические формулы и структурированные графики в свои файлы
Кому это может быть полезно?
И для многих других сценариев!
Еще для вашего удобства мы сделали отдельные репозитории с примерами:
Пробуйте и делитесь мнением в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34 16👏6❤3
Хорошей летней пятницы, друзья! ✋
Июль – самый разгар сезона отпусков (ставьте лайк, если сейчас читаете это где-нибудь на пляже под пальмой). Но чтобы отдых точно удался, а из рабочих чатов никто не беспокоил – нужно хорошо подготовиться!
Например, во всех мессенджерах сменить аватарки, чтобы все точно знали, что вам лучше не писать🌴 Об этом мы побеспокоились за вас и приготовили крутые обложки
Ставьте на аву, смело уезжайте и наслаждайтесь этой жизнью (хотя бы на какое-то время)🔥
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Июль – самый разгар сезона отпусков
Например, во всех мессенджерах сменить аватарки, чтобы все точно знали, что вам лучше не писать
Ставьте на аву, смело уезжайте и наслаждайтесь этой жизнью (хотя бы на какое-то время)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤12 7🤩3
#GitVerseНовости
Интересное из мира open source
😯 PHP меняет лицензию
Разработчики PHP планируют перевести интерпретатор PHP и движок Zend Engine на 3-пунктовую лицензию BSD (BSD-3).
Это упростит условия лицензирования и обеспечит совместимость с GPL, сохранив при этом все права пользователей и разработчиков.
💀 Intel сворачивает проект Clear Linux
Проект развивал дистрибутив со строгой изоляцией приложений при помощи контейнеров.
Начиная с этой недели Intel прекращает сопровождение и больше не будет выпускать обновления и устранять уязвимости. Репозитории проекта в ближайшее время перейдут в архивный режим.
🤖 Chrome OS и Android перейдут на единую платформу
В прошлом году Google начала перевод системного окружения ChromeOS на вариант ядра Linux, фреймворки и системные компоненты платформы Android. А в последних выпусках платформы Android началось активное развитие режима рабочего стола и возможностей для работы на устройствах с большими экранами.
🌟 Еще больше новостей индустрии ищите в нашем блоге и обязательно делитесь своими интересными находками!
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Интересное из мира open source
Разработчики PHP планируют перевести интерпретатор PHP и движок Zend Engine на 3-пунктовую лицензию BSD (BSD-3).
Это упростит условия лицензирования и обеспечит совместимость с GPL, сохранив при этом все права пользователей и разработчиков.
Проект развивал дистрибутив со строгой изоляцией приложений при помощи контейнеров.
Начиная с этой недели Intel прекращает сопровождение и больше не будет выпускать обновления и устранять уязвимости. Репозитории проекта в ближайшее время перейдут в архивный режим.
В прошлом году Google начала перевод системного окружения ChromeOS на вариант ядра Linux, фреймворки и системные компоненты платформы Android. А в последних выпусках платформы Android началось активное развитие режима рабочего стола и возможностей для работы на устройствах с большими экранами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, как ваше понедельничное настроение? ✋
Очередная партия счастливчиков получила доступ к публичному API. Если подавали заявку до 25 июля, то новая функциональность уже доступна вам! Проверяйте, пробуйте и обязательно делитесь мнением!
🚀 Вся нужная инфа для начала работы уже есть в Документации.
🚀 А если тоже хотите получить доступ к API, оставляйте заявку.
Отзывы и замечания ждем в репозиториях Bug report или Feature request.
Хорошей недели😉
🌟 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Очередная партия счастливчиков получила доступ к публичному API. Если подавали заявку до 25 июля, то новая функциональность уже доступна вам! Проверяйте, пробуйте и обязательно делитесь мнением!
Отзывы и замечания ждем в репозиториях Bug report или Feature request.
Хорошей недели
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1 1
#GitVerseКейс
Смотри, какой репозиторий!🚀
Бодрой среды, сообщество! Сегодня хотим поделиться интересным проектом, который родился из практической потребности – Index Investor. Это веб-приложение для составления инвестиционного портфеля по индексу ММВБ. О нем и расскажем!
О проекте⬇️
Index Investor — прогрессивное веб-приложение (PWA) от команды энтузиастов-инвесторов. Создано для облегчения составления инвестиционного портфеля. Идея его создания возникла после блокировок ETF-фондов компании FinEx. Авторы решили создать инструмент, который помог бы следовать принципам разумного инвестирования, а вдохновением послужила легендарная книга Бенджамина Грэма «Разумный инвестор».
Как работает и для чего нужно:
Индекс ММВБ состоит из большого числа акций, и у каждой акции есть вес. Давайте на примере: 15% акций — это Х, при условии что денег Y — сколько это в штуках? А если таких позиций бесчисленное множество?
Раньше авторы проекта делали все в Excel, что занимало много времени. А потом создали этот инструмент. Он сам посчитает, сколько и каких акций надо купить при вашем капитале, чтобы портфель был максимально близок к индексу ММВБ😉
Проект открыт — каждый может присоединиться и внести вклад в развитие инструмента!
Переходите по ссылке в репозиторий🚀
🚀 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Смотри, какой репозиторий!
Бодрой среды, сообщество! Сегодня хотим поделиться интересным проектом, который родился из практической потребности – Index Investor. Это веб-приложение для составления инвестиционного портфеля по индексу ММВБ. О нем и расскажем!
О проекте
Index Investor — прогрессивное веб-приложение (PWA) от команды энтузиастов-инвесторов. Создано для облегчения составления инвестиционного портфеля. Идея его создания возникла после блокировок ETF-фондов компании FinEx. Авторы решили создать инструмент, который помог бы следовать принципам разумного инвестирования, а вдохновением послужила легендарная книга Бенджамина Грэма «Разумный инвестор».
Как работает и для чего нужно:
Индекс ММВБ состоит из большого числа акций, и у каждой акции есть вес. Давайте на примере: 15% акций — это Х, при условии что денег Y — сколько это в штуках? А если таких позиций бесчисленное множество?
Раньше авторы проекта делали все в Excel, что занимало много времени. А потом создали этот инструмент. Он сам посчитает, сколько и каких акций надо купить при вашем капитале, чтобы портфель был максимально близок к индексу ММВБ
Проект открыт — каждый может присоединиться и внести вклад в развитие инструмента!
Переходите по ссылке в репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
#GitVerseПолезное
Must read📚
Традиционное время полезностей! Без лишних слов – откладывайте дела, присаживайтесь поудобнее и открывайте интересное чтение:
⏩ PEP-734: Субинтерпретаторы в Python 3.14
Никита Соболев, core-разработчик языка программирования CPython, продолжает свой цикл статей про детали реализации питона. В этот раз он рассказал про субинтерпертаторы, их устройство, прошлое и светлое будущее. В материале нейдете много интересного про новые питоновские API для ускорения и паралеллизации программ, управление памятью и дублирование данных. Ну и много кода на C!
Читать статью — по ссылке
⏩ Как выжать из СУБД больше производительности? Подкручиваем параметры по урокам Майка Вазовски
Администраторы БД часто ломают голову, как подобрать оптимальные настройки под задачи СУБД. И чтобы помочь им разобраться, наши друзья из команды СУБД Pangolin обратились к опыту Майка Вазовски — тренера легендарного монстра Салли из «Корпорации монстров». Вдохновились секретами его тренировок и разработали утилиту Pangolin Tuner — аналог Вазовски для настройки параметров конфигурации.
Читать статью — по ссылке
⏩ DOCTYPE: история и варианты применения
Ии наконец – разобрали в нашем блоге одну из первых строчек, которую вы видите в любом HTML-файле — загадочную <!DOCTYPE html>. Эта короткая запись напрямую влияет на то, как браузер отображает страницу и какую версию HTML он будет использовать. Итак, если задавались вопросом, что такое DOCTYPE и для чего он нужен, то вам сюда!
Читать статью — по ссылке
🌟 ЧАТ GITVERSE | ЗДЕСЬ ЖИВЕТ OPEN SOURCE
Must read
Традиционное время полезностей! Без лишних слов – откладывайте дела, присаживайтесь поудобнее и открывайте интересное чтение:
Никита Соболев, core-разработчик языка программирования CPython, продолжает свой цикл статей про детали реализации питона. В этот раз он рассказал про субинтерпертаторы, их устройство, прошлое и светлое будущее. В материале нейдете много интересного про новые питоновские API для ускорения и паралеллизации программ, управление памятью и дублирование данных. Ну и много кода на C!
Читать статью — по ссылке
Администраторы БД часто ломают голову, как подобрать оптимальные настройки под задачи СУБД. И чтобы помочь им разобраться, наши друзья из команды СУБД Pangolin обратились к опыту Майка Вазовски — тренера легендарного монстра Салли из «Корпорации монстров». Вдохновились секретами его тренировок и разработали утилиту Pangolin Tuner — аналог Вазовски для настройки параметров конфигурации.
Читать статью — по ссылке
Ии наконец – разобрали в нашем блоге одну из первых строчек, которую вы видите в любом HTML-файле — загадочную <!DOCTYPE html>. Эта короткая запись напрямую влияет на то, как браузер отображает страницу и какую версию HTML он будет использовать. Итак, если задавались вопросом, что такое DOCTYPE и для чего он нужен, то вам сюда!
Читать статью — по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5 3