fa
Feedback
Записки IT специалиста

Записки IT специалиста

رفتن به کانال در Telegram

IT-канал, просто о сложном https://interface31.ru Купить рекламу: https://telega.in/c/interface31

نمایش بیشتر
8 873
مشترکین
+124 ساعت
+187 روز
+8230 روز
آرشیو پست ها
​​Пятничное, о жизни. Информационный шум. Мне кажется, если сейчас каким-нибудь образом переместить сюда человека 20-летней давности и выдать ему современные гаджеты, то он очень быстро сойдет с ума. Ну или наложит на себя руки. Практически вся наша повседневная жизнь проходит в условиях сильного информационного шума. С самого утра и до позднего вечера к нам приходят сообщения электронной почты, SMS, мессенджеров. Пуши приложений и т.д. и т.п. Фактически мы уже к этому привыкли и если тот же телефон долго молчит, то начинаем беспокоиться, а все ли в порядке со связью? И, пожалуй, остаться без связи для современного человека, это пострашнее чем остаться без трусов. Срам можно и лопухом прикрыть, а вот что делать без гаджета? Навигация в незнакомом месте, такси, деньги, контакты – все сосредоточено в одном месте. И если мы находимся вне дома, то это место – телефон. Это настолько плотно вошло в нашу жизнь, что наши дети уже с трудом представляют себе, что был когда-то мир без интернета и смартфонов. Что такси заказывали по телефону и предварительно еще надо было узнать точный адрес куда вызываешь. А таксист мог попросить показать дорогу… Сегодня же, не вставая с дивана можно вызвать такси, заказать еду, купить билеты, забронировать отель и т.д. и т.п. Это, уже не говоря о таких банальных вещах, как заплатить за интернет, коммуналку или саму связь. Обратная сторона – постоянные сообщения и уведомления. Нужные, не совсем нужные, совсем не нужные. От приложений, сайтов, сервисов, организаций и наконец самых разных людей. И так каждый день, с утра до вечера. Но современный человек воспринимает это нормально, хотя и жалуется периодически на информационный шум. Но если после оплаты на сайте сразу не пришло подтверждение, то он уже начинает нервничать. Если представитель организации в мессенджере молчит более 5 минут – тоже, ну действительно, что там у них случилось… На мой взгляд, информационный шум – это примерно тоже самое что и шум большого города. Нравится, не нравится, но он есть, и мы среди него живем. Это неотъемлемая часть нашей жизни, а когда он пропадает, то современный человек не вздыхает облегченно, а наоборот начинает нервничать, потому что это все равно что замер за окном крупный город. Первый признак, что что-то идет не так.

​​EasyAstra - по следам наших публикаций Совсем недавно мы опубликовали материал, посвященный порталу EasyAsta и представленному там магазину приложений для Astra Linux. Статья получила хороший читательский отклик и очень скоро после публикации произошло два важных события: была выпущена новая версия магазина и с нами связался его автор, который охотно ответил на наши вопросы и рассказал недостающие подробности. Сначала мы хотели переписать исходную статью, но перечитав решили ее оставить, как независимый взгляд со стороны, а все необходимые разъяснения и дополнения выпустить отдельным материалом. https://interface31.ru/tech_it/2023/08/easyastra-po-sledam-nashih-publikaciy.html

​​Сегодня в обсуждении возник вопрос о влиянии виртуализации на производительность. Поэтому решили провести небольшой экспресс-тест. Для начала хост, компьютер не очень мощный, даже наоборот, но в данном случае это не имеет никакого значения. Processor: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz CPU cores: 2 Frequency: 2428.759 MHz RAM: 15Gi Swap: 8.0Gi Kernel: Linux 5.15.108-1-pve x86_64 Disks: sda 223.6G SSD CPU: SHA256-hashing 500 MB 5.458 seconds CPU: bzip2-compressing 500 MB 10.662 seconds CPU: AES-encrypting 500 MB 2.635 seconds ioping: seek rate min/avg/max/mdev = 103.4 us / 146.3 us / 6.43 ms / 67.6 us ioping: sequential read speed generated 8.81 k requests in 5.00 s, 2.15 GiB, 1.76 k iops, 440.4 MiB/s Теперь LXC контейнер: Processor: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz CPU cores: 2 Frequency: 2500.000 MHz RAM: 2,0Gi Swap: 512Mi Kernel: Linux 5.15.108-1-pve x86_64 Disks: sda 223,6G SSD CPU: SHA256-hashing 500 MB 5,858 seconds CPU: bzip2-compressing 500 MB 11,333 seconds CPU: AES-encrypting 500 MB 2,666 seconds ioping: seek rate min/avg/max/mdev = 110.8 us / 163.9 us / 4.42 ms / 62.5 us ioping: sequential read speed generated 8.16 k requests in 5.00 s, 1.99 GiB, 1.63 k iops, 408.1 MiB/s Как видим - разница на уровне погрешности измерений. Поэтому можно смело говорить, что производительность контейнеров примерно равна производительности хоста. Теперь KVM виртуальная машина, значения по умолчанию. Processor: Common KVM processor CPU cores: 2 Frequency: 1996.800 MHz RAM: 3,9Gi Swap: 974Mi Kernel: Linux 4.19.0-20-amd64 x86_64 Disks: sda 8G HDD CPU: SHA256-hashing 500 MB 8,569 seconds CPU: bzip2-compressing 500 MB 15,707 seconds CPU: AES-encrypting 500 MB 15,507 seconds ioping: seek rate min/avg/max/mdev = 257.1 us / 698.5 us / 29.7 ms / 742.4 us ioping: sequential read speed generated 2.75 k requests in 5.00 s, 686.5 MiB, 549 iops, 137.3 MiB/s В отличии от контейнера виртуалка добавляет отдельный слой виртуального железа и это вносит свои издержки. Так как у нас эмулируется Common KVM processor, то сразу видим провал по частоте до номинальной и первые два процессорных теста примерно соответствуют разнице в частоте. А вот третий полностью зависит от поддержки аппаратных инструкций процессора и здесь разница довольно серьезная. Но зато Common KVM processor является универсальным и переносимым. Дисковая система по умолчанию без кеширования и результат тоже хуже, чем на хосте. Но и виртуальные машины применяются там. где нужна более серьезная изоляция на уровне железа, либо его специальная эмуляция, так как не все сценарии поддерживаются в контейнерах. Если же нужна производительность, то смело берем LXC.

​​Федя, дичь! Лето начало клониться к концу, а заодно начали оживать некоторые новые проекты, которые были поставлены на паузу ввиду сезона отпусков. Новые проекты – это новые люди: сотрудники заказчика, смежники, подрядчики и т.д. и т.п. Ну и конечно это новые обсуждения о том, как именно бы будем все это реализовывать, где чья зона ответственности и к кому по каким вопросам обращаться. Но чего я совершенно не ожидал, так это что я за эти три дня наслушаюсь такой отборной дичи, что просто уши завянут. В общем выслушал я типовой набор бородатых историй и типичных заблуждений про Linux и 1С, как по отдельности, так и вместе взятых. В итоге, на вопрос: «Ребята, а как давно вы сами это все делали, как часто и с каким результатом?» Отвечали что-то от «очень давно» до «мы не делали, но вот Васян…» а дальше шли всякие страсти-мордасти… У кого-то всплывали разные «детские» травмы, после чего мне на полном серьезе рассказывали, что Proxmox – страшная вещь, там нет виртуальных дисков, все непонятно как хранится, упадет – данные никогда не достанешь… А вроде бы все взрослые, серьезные люди, вполне квалифицированные в своей области… Но такую дичь порой несут… Да и ладно бы, если бы это были байки в админской курилке, но, чего я так и не могу понять, зачем рассказывать этот бред тем, кто именно этим профессионально занимается на постоянной основе???

​​Поучительная история про 1С и «упавший» FTP Утро сегодня началось не с кофе, а с сообщения от одного из заказчиков что полностью легла синхронизация в сети магазинов и лежит уже второй час. Местный администратор сообщил, что со связью все в порядке, FTP сервер, через который идет синхронизация пингуется. Странно, сервер действительно на связи, FTP жив и работает. При этом другие клиенты этого же сервера проблем не испытывают. А так как все клиенты работают из общего периметра, то проблемы прохождения пакетов на конкретном маршруте тоже отбрасываем. Очевидно, что проблема где-то на стороне сервера 1С, тем более что сама 1С в логах говорит, что у нас Ошибка инициации подключения. Превышено время ожидания. Вот здесь мы снова кинем камень в огород 1С, точнее ее логов, так как в данном случае именно они наводят тень на плетень. Что можно подумать, получив такое сообщение? Что 1С не может подключиться к серверу FTP и отваливается по таймауту. Значит проблема где-то на сервере 1С, для начала посмотрим сетевые соединения. И какое было наше удивление, когда мы увидели, что 1С нормально соединяется с сервером и соединение переходит в установленное состояние ESTABLISHED. Что за ерунда такая? Криворукие программисты? Но ведь вчера все работало, никто ничего не трогал. А ну ка, посмотрим чем-нибудь другим. Первым под руку подвернулся mc и сразу стало все ясно… Клиент нормально подключился к серверу и глубоко задумался на этапе получения списка файлов из каталога… Дело в том, что FTP-клиент 1С любит создавать для проверки соединения файлы типа ConnectionCheckFile_3be37bce-5716-4496-8c85-ca64a4a86d60.tmp и очень не любит их удалять. Вот они копятся, копятся и копятся. А так как протокол FTP старый и очень простой то, чтобы узнать есть ли там интересующий нас файл нам надо предварительно получить список файлов. А файлов этих там оказалось ни много, ни мало – чуть больше 40 тысяч. Вот 1С и отваливалась по таймауту на операции получения списка файлов. Файлы почистили – синхронизация взлетела. Мораль сей басни проста: в нашей работе все имеет значение, даже такие простые и неочевидные вещи. И да, чудес не бывает, бывает что вы чего-то не заметили. А также не всегда стоит слепо верить тому, что сообщает приложение, всегда полезно убедиться в этом самостоятельно.

«Базальт СПО» стала партнером Российского Альянса RISC-V «Базальт СПО» подписала меморандум о сотрудничестве и взаимодействии
«Базальт СПО» стала партнером Российского Альянса RISC-V «Базальт СПО» подписала меморандум о сотрудничестве и взаимодействии с Альянсом RISC-V. В планах: 🔸разработка отраслевых стандартов RISC-V 🔸разработка рекомендаций для совершенствования законодательства в области регулирования технических стандартов 🔸организация мероприятий в сфере разработки и применения продуктов с микропроцессорной архитектурой RISC-V 🔸просветительская и исследовательская деятельность «Базальт СПО» также входит в международный альянс RISC-V International в статусе «Стратегический участник», что позволяет участвовать в формировании и реализации стратегии развития RISC-V. 💬 Генеральный директор «Базальт СПО» Сергей Трандин отметил необходимость поддержки платформы RISC-V в ОС «Альт», о чем читайте в статье @basealtspo

Не все доживут до long-term или естественный отбор в среде Mikrotik RouterOS 7 диктует свои требования к оборудованию и не вс
Не все доживут до long-term или естественный отбор в среде Mikrotik RouterOS 7 диктует свои требования к оборудованию и не все оно будет нормально работать с новой системой, даже если позволяло сделать апгрейд. На днях выяснили, что с дистанции сошел hAP lite. Причина банальна - мало места во внутренней памяти. Но это даже и к лучшему, в среде ROS 7 вела себя данная железка очень тоскливо, показывая практически всегда 100% CPU там, где на ROS 6 было 50-60%. А вообще есть подозрения, что постепенно с дистанции сойдет все MMIPS / SMIPS семейство. А вы как думаете?

⚡ Приглашаем на бесплатный вебинар “Custom Resource Definitions в Kubernetes. Операторы”, который состоится 17 августа, в 20:
⚡ Приглашаем на бесплатный вебинар “Custom Resource Definitions в Kubernetes. Операторы”, который состоится 17 августа, в 20:00 по Москве.   Вебинар приурочен к старту онлайн- курса «Инфраструктурная платформа на основе Kubernetes» в Отус.   ✅ В рамках вебинара вы поймете: – Различия между операторами и контролерами – Как разрабатывать контроллеры на Bash – Особенности работы контролеров   ✅ Вы изучите следующие темы: – Определение контроллеров в Kubernetes – Обзор событийной модели, используемой в Kubernetes – Разработка Custom Resource Definitions и их работа – Практика создания контроллеров на Bash – Примеры контроллеров и их логика работы   👉  Записаться на вебинар:  https://otus.pw/5WV8/   Нативная интеграция. Информация о продукте www.otus.ru

Аптайм должен быть
Anonymous voting

​​Аптайм Когда-то давно, когда деревья были выше, трава зеленее, а пиво вкуснее, аптайм был некой «сакральной» величиной, которой было принято меряться и его величина считалась признаком крутости, которая была прямо пропорциональна величине аптайма. А те, у кого был короткий (аптайм, разумеется), подверглись насмешкам и не допускались в почтенное общество гигантов системного администрирования. Но те времена давно прошли и в нашу эпоху интернета с доступом туда каждого чайника и утюга большой аптайм стал признаком низкой квалификации и непрофессионализма. Как минимум это означает, что все это время система находилась без обслуживания, как на программном, так и на аппаратном уровне. Также это означает, что на нее не ставились обновления и вообще не уделяли внимания. А это, особенно если к системе есть доступ из интернета – очень плохо. Сегодня толпы ботов только и делают, что рыщут по просторам сети в поисках различных уязвимостей. Еще одна популярная отмазка: «мол у меня там важные сервисы 24/7 и совсем-совсем никак» — это ничто иное как завуалированное признание собственной низкой квалификации. Ее следует понимать как: вот тут у меня огромная точка отказа, сюда столько всего накручено и завязано, что даже перезагружать страшно. Можно приводить массу контраргументов, но, по сути, они не меняют главного: если ваша инфраструктура не позволяет перезагрузить узел, то она построена плохо. Особенно сегодня, когда даже самым маленьким за очень недорого доступны и виртуализация, и кластеризация и много-много чего другого. Поэтому меряться аптаймом сегодня глупо, он просто есть и никакой ценной информации не несет. Системы должны обслуживаться и перезагружаться, это нормально. Равно как не стоит говорить о «важных» и «круглосуточных» сервисах. Если они построены так, что их нельзя вывести на облуживание – значит они построены плохо. И нужно не бравировать этим, а думать, как сделать хорошо. Или пригласить того, кто может это сделать. А критерием хорошо построенной и работающей системы должен быть не аптайм, а высокий уровень доступности ее сервисов для пользователя. Ему все равно, сколько система проработала без перезагрузки, ему надо чтобы она просто работала.

​​EasyAstra - Astra Linux становится ближе Astra Linux занимает ведущее место среди предназначенных для импортозамещения дистрибутивов и так получается, что ее пользователями становятся не только те, кому действительно нужна повышенная безопасность и мандатная система доступа, но и простые пользователи, которым нужен всего лишь Linux из реестра отечественного ПО. Одной из таких категорий пользователей стали учебные заведения и именно для них предназначен портал EasyAstra, который должен помочь во внедрении и освоении новой операционной системы. Но полезен он может оказаться не только школам. https://interface31.ru/tech_it/2023/08/easyastra-astra-linux-stanovitsya-blizhe.html

Hi-end устройство Flipper Zero. Это по-настоящему многофункциональный тамагочи, который заменит вам пульты управления, магнит
Hi-end устройство Flipper Zero. Это по-настоящему многофункциональный тамагочи, который заменит вам пульты управления, магнитные ключи и карты, а ещё в него можно поиграть, например, в Doom! Это устройство особенно понравится людям с большим количеством периферии, разработчикам и как стартовый инструмент программирования. А если у вас есть друг-гик, то это идеальный подарок, который принесёт массу позитивных эмоций. Успевай забрать Flipper Zero со скидкой на Джум по ссылке 👈

​​Настраиваем Honeypot для внутренней сети на роутерах Mikrotik Не так давно мы рассматривали как настроить классический Honeypot (приманку) на роутерах Mikrotik. Такой подход позволяет выявить и впоследствии заблокировать адреса с которых проявляют нездоровый интерес к вашей сети, однако в современных условиях эффективность данного метода низкая. В тоже время имеет смысл создать подобную приманку и внутри локальной сети, благодаря этому мы сможем своевременно выявить вредоносную активность внутри периметра, а также различные подозрительные действия пользователей, которые могут и не являться вредоносными, но выходить за рамки их должностных обязанностей. https://interface31.ru/tech_it/2023/08/nastraivaem-honeypot-dlya-vnutrenney-seti-na-routerah-mikrotik.html

🙄Вечерние мысли 👩🏿‍💻Есть мнение, что уже через несколько лет подавляющая часть контента в интернете будет создана нейросетями. И это лишь стимулируется появлением все новых и новых сервисов: 🗿Книги уже пишутся при помощи нейросетей, и даже продаются на Amazon. 🗿Изображение не генерировал при помощи Midjourney, Stable Diffusion или банального Kandinsky от Сбер-а только ленивый🙃 🗿Photoshop за мгновения дорисует недостающие элементы на вашем фото 🗿Написать музыку и даже спеть точно так же помогут нейросети 🗿И составить по быстрому презентацию на любую тему - тоже помогут нейросети 🗿И примеров становится все больше... даже дипфейками никого не удивишь, а Intel создали сервис для их определения С развитием метавселенных и дополненной реальности нас будет окружать таргетированный контент, который будет создаваться индивидуально для каждого... нейросетями. 🙃Но есть проблема. На данном моменте развития технологий зафиксировано, что если в материалы, на которых обучается нейросеть, попадет сгенерированный контент - то спустя какое-то время это новая обученная нейросеть начнет деградировать и выдавать результат все хуже и это будет исправляться только уничтожением этой #нейросети и обучением новой. Т.е. спустя время, когда 99,999% доступного контента будет сгенерировано при помощи нейросетей - их обучение будет крайне сложным... 😎Запасайтесь качественными датасетами, продадите их потом за много биткойнов😱 P.S.: На изображении я на коне, сгенерированный нейросетью от Сбер-а. К слову, не похож😏 @HardMultimedia

​​Списки GeoIP для Mikrotik Иногда нужно ограничить доступ к различным сетевым ресурсам на основании географического расположения посетителя. Для этой цели нужны списки диапазонов адресов принадлежащим разным странам. Для Mikrotik можно использовать ресурс iwik.org, который предоставляет готовые и постоянно обновляемые списки адресов прямо в формате импорта на устройство. Использовать их не просто, а очень просто. Прямо в терминале Mikrotik выполняем пару простых команд. Для RouterOS 7: /tool fetch url=http://www.iwik.org/ipcountry/mikrotik/RU /import file-name=RU где в конце команды указываете буквенный код страны, коды можно посмотреть, открыв сам сайт. Для RouterOS 6: /tool fetch url=http://www.iwik.org/ipcountry/mikrotik6/RU /import file-name=RU Основное отличие между командами в том, что для ROS 6 не грузятся списки адресов IPv6, так как поддержка IPv6 в таких устройствах обычно по умолчанию не установлена.

💼 Управленческий учет для макетплейсов: Освободите время и увеличьте прибыль! 📈🧐 Устали терять время на сложную бухгалтери
💼 Управленческий учет для макетплейсов: Освободите время и увеличьте прибыль! 📈🧐 Устали терять время на сложную бухгалтерию и не знать реальной прибыли? 🥵 Постоянно связываться с бухгалтерией отнимает время на развитие бизнеса? 🙅‍♀️📈 Пришло время упростить учет и контролировать финансы! Наше решение – управленческий учет! 💃💪 Эффективно планируйте свои финансы и экономьте до 10% от оборота! 😱 🌐 Не теряйте контроль над бизнесом! Дашборды для контроля бизнеса из любой точки мира! 😍 Освободите себя для новых проектов! Полное контроль над финансами и четкая отчетность позволят вам заняться развитием других идей и проектов.👯‍♀️ 🚀 Направьте свой бизнес к новым высотам с управленческим учетом! 💼 Обратите внимание: Управленческий учет – это ключ к успеху вашего бизнеса. Не упустите возможность контролировать финансы и увеличивать прибыль! 💪 Начать эффективное управление своим бизнесом 👉 Заявка на консультацию

Не так давно я рассказывал о новом «дорожном» ноутбуке Depo, который я купил за 10 тыс. руб. Теперь, по возвращении из отпуска можно подвести некоторые итоги. В целом устройством я доволен. Ноутбук действительно хороший и сбалансированный. Автономность высокая, для обычной работы: интернет, удаленка, офисные пакеты, при наличии фоновой музыки спокойно тянет 7-8 часов. Заряжается достаточно быстро. В целом, если в досягаемости есть розетки – то вопрос питания остро не стоит. Сразу недостаток – не умеет заряжаться через Type-C, в то время как в отеле практически на каждом углу можно было взять Powerbank с этим разъемом. Второй большой плюс – это широкие возможности по разнообразному управлению. Есть где повозить мышкой - берем мышь, нет – используем тачпад, также можно управлять сенсорно, пальцами или пером. Пером удобнее, особенно по ссылкам на сайтах переходить или по мелким элементам управления. А вот крепление для пера совсем не понравилось, там дерматиновая петелька, очень быстро перестает держать и потерять перо становится совсем несложно. В общем надо что-то думать. Также для походной жизни важно наличие биометрии, разблокировать отпечатком пальца устройство намного быстрее и приятнее, чем вводить пароль, особенно если устройство разложено в планшетный режим. Модуль беспроводной связи двухдиапазонный, хороший, проблем со связью не возникало. Наличие на борту Bluetooth позволяет экономить небольшое количество USB, подключив через него ту же мышку или наушники. Клавиатура неплохая, с набором в темноте проблем не возникло, хотя к определенным особенностям надо привыкать, ну это с любой ноутбучной клавиатурой так. Стабильность работы тоже не высоте: не перегревается, даже под нагрузкой. Сын без проблем играл в Minecraft и GTA Vice City c HD модом. Поэтому можно смело сказать, что проверку ноутбук прошел. Все что нужно для «походного» устройства в нем есть. Работать можно как в комфортных условиях, так и буквально на коленке. А учитывая его смешную стоимость есть мысли прикупить еще одно такое устройство, сугубо для домашних нужд.

Управленческий учет - ключ к успешному развитию вашего бизнеса! 📊💼 Откройте для себя настоящую прибыль! 💰 🤯 Вы много рабо
Управленческий учет - ключ к успешному развитию вашего бизнеса! 📊💼 Откройте для себя настоящую прибыль! 💰 🤯 Вы много работаете, заключаете сделки и увеличиваете оборот, но все еще не уверены, приносит ли ваш бизнес прибыль или работает в убыток? 📉 Чувствуете себя перегруженным управлением несколькими проектами с разными сроками и графиками платежей? Боретесь с кассовыми разрывами? Пришло время решения! 🚀 💼 Откройте для себя всю мощь управленческого учета! 💪 Эффективно планируйте свои финансы и экономьте до 10% от оборота! 💵 🌐 Оставайтесь под контролем, где бы вы ни находились! Благодаря удобным дашбордам контролируйте свой бизнес из любой точки мира. 📲 🚀 Освободите себя для новых начинаний! Не позволяйте сложным финансам удерживать вас от раскрытия потенциала. 👩‍💼👨‍💼 Вниманию владельцев бизнеса: Управленческий учет — ключ к раскрытию финансового потенциала бизнеса. Не упустите эту возможность! 🌟

​​EasyAstra Читатели дали наводку на портал EasyAstra - https://easyastra.ru/TEST/resources/store.php Предназначен он в первую очередь для образовательных заведений, которые переходят на ASTRA LINUX SPECIAL EDITION, но может быть полезен и другим пользователям этой ОС. В частности представляет интерес Магазин приложений в котором содержатся собранные для Astra DEB-пакеты популярного ПО, которого либо нет в основных репозиториях, либо содержатся сильно устаревшие версии.

Повышается цена на флагманский курс “Из бухгалтера в 1С-программиста” от Action Digital School Актион более 25 лет является г
Повышается цена на флагманский курс “Из бухгалтера в 1С-программиста” от Action Digital School Актион более 25 лет является главной образовательной площадкой для бухгалтеров. Курс подойдет действующим бухгалтерам для повышения навыков работы в 1С и освоения новой профессии. Вы научитесь: ◾ создавать понятные и удобные интерфейсы для пользователей на платформе 1С; ◾ интегрировать приложения, разработанные на платформе 1С, с другими системами (бухгалтерские программы, системы управления складом или интернет-магазины); ◾ создавать внешние отчеты, которые могут быть использованы для представления данных в Excel или PDF и т.д. По итогу обучения вы получите: ◾ Диплом гособразца ◾ Сертификат от компании 1С ВАЖНО! С 10 августа стоимость обучения возрастет. Успейте приобрести курс по старой цене – сэкономьте 20 тысяч рублей. В рассрочку стоимость курса от 2500 рублей в месяц. 👉 Забронировать курс по старой цене.