Добавил новый раздела про хостинг - https://metanit.com/hosting
В него добавил три обзора:
Про виртуальный хостинг для приложений на PHP
https://metanit.com/hosting/php.php
Про виртуальный хостинг для приложений на Python
https://metanit.com/hosting/python.php
Про виртуальный хостинг для приложений на Node.js
https://metanit.com/hosting/nodejs.php
В него добавил три обзора:
Про виртуальный хостинг для приложений на PHP
https://metanit.com/hosting/php.php
Про виртуальный хостинг для приложений на Python
https://metanit.com/hosting/python.php
Про виртуальный хостинг для приложений на Node.js
https://metanit.com/hosting/nodejs.php
🔥16👍3❤1👏1🖕1
Власти рассмотрят запрет на авторизацию на российских сайтах через Gmail
От российских владельцев сайтов могут потребовать проводить авторизацию пользователей только через российские e-mail. С 2025-го действует запрет на иностранные адреса при регистрации, но он не касался уже зарегистрированных юзеров
https://www.rbc.ru/technology_and_media/05/06/2025/6841d06e9a7947448ca0bab5?from=from_main_3
От российских владельцев сайтов могут потребовать проводить авторизацию пользователей только через российские e-mail. С 2025-го действует запрет на иностранные адреса при регистрации, но он не касался уже зарегистрированных юзеров
https://www.rbc.ru/technology_and_media/05/06/2025/6841d06e9a7947448ca0bab5?from=from_main_3
РБК
Власти рассмотрят запрет на авторизацию на российских сайтах через Gmail
От российских владельцев сайтов могут потребовать проводить авторизацию пользователей только через российские e-mail. С 2025-го действует запрет на иностранные адреса при регистрации, но он не
🤡57👎3👏2🤬2😐2❤1🔥1😁1
Внутренняя фрагментация при выделении памяти фиксированными блоками (описание к предыдущей иллюстрации)
Допустим, у нас есть пространство памяти, разбитое на блоки, некоторые из которых выделены, некоторые используются впустую, а некоторые все еще свободны, размеры которых обозначены в килобайтах (КБ).
Проблема здесь в том, что процесс 𝟏𝟎 𝐊𝐁 должен вписываться в блок 𝟏𝟎𝟎 𝐊𝐁 , но есть одна загвоздка
Блок в 100 КБ уже частично использован 𝟖𝟓 𝐊𝐁 выделен, оставляя всего 15 КБ свободными. Этих 15 КБ кажется достаточно для процесса в 10 КБ.
Но вот тут-то и вступает в действие внутренняя фрагментация. Когда память выделяется блоками фиксированного размера, оставшееся пространство в этом блоке не может быть использовано другим процессом.
Итак, хотя 𝟏𝟓 𝐊𝐁 свободно, после получение процессом памяти в 𝟏𝟎 𝐊𝐁 у нас остается 𝟓 𝐊𝐁 , которые просто пустуют. Вот на что указывают желтые блоки.
Если посмотреть на остальную часть памяти, то там есть блок 𝟓𝟎 𝐊𝐁 с выделенным 𝟒𝟎 𝐊𝐁 , оставляя еще один небольшой кусок неиспользуемого пространства. Затем у нас есть несколько других блоков — некоторые свободны, некоторые используются. Диаграмма показывает, как образуется эта фрагментация.
Эти небольшие куски потерянного пространства в каждом блоке могут показаться незначительными, но когда у нас много процессов, которые приходят и уходят, это может действительно снизить эффективности. Система в итоге имеет меньше полезной памяти, чем должна была бы иметь.
Внутренняя фрагментация происходит из-за этой настройки фиксированного блока. Если размер блока не соответствует размеру процесса в точности, у нас всегда будет некоторое остаточное пространство, которое нельзя использовать.
Другой подход, например, динамическое распределение памяти, может помочь уменьшить этот показатель, но он имеет свои недостатки, такие как внешняя фрагментация.
Допустим, у нас есть пространство памяти, разбитое на блоки, некоторые из которых выделены, некоторые используются впустую, а некоторые все еще свободны, размеры которых обозначены в килобайтах (КБ).
Проблема здесь в том, что процесс 𝟏𝟎 𝐊𝐁 должен вписываться в блок 𝟏𝟎𝟎 𝐊𝐁 , но есть одна загвоздка
Блок в 100 КБ уже частично использован 𝟖𝟓 𝐊𝐁 выделен, оставляя всего 15 КБ свободными. Этих 15 КБ кажется достаточно для процесса в 10 КБ.
Но вот тут-то и вступает в действие внутренняя фрагментация. Когда память выделяется блоками фиксированного размера, оставшееся пространство в этом блоке не может быть использовано другим процессом.
Итак, хотя 𝟏𝟓 𝐊𝐁 свободно, после получение процессом памяти в 𝟏𝟎 𝐊𝐁 у нас остается 𝟓 𝐊𝐁 , которые просто пустуют. Вот на что указывают желтые блоки.
Если посмотреть на остальную часть памяти, то там есть блок 𝟓𝟎 𝐊𝐁 с выделенным 𝟒𝟎 𝐊𝐁 , оставляя еще один небольшой кусок неиспользуемого пространства. Затем у нас есть несколько других блоков — некоторые свободны, некоторые используются. Диаграмма показывает, как образуется эта фрагментация.
Эти небольшие куски потерянного пространства в каждом блоке могут показаться незначительными, но когда у нас много процессов, которые приходят и уходят, это может действительно снизить эффективности. Система в итоге имеет меньше полезной памяти, чем должна была бы иметь.
Внутренняя фрагментация происходит из-за этой настройки фиксированного блока. Если размер блока не соответствует размеру процесса в точности, у нас всегда будет некоторое остаточное пространство, которое нельзя использовать.
Другой подход, например, динамическое распределение памяти, может помочь уменьшить этот показатель, но он имеет свои недостатки, такие как внешняя фрагментация.
👍14❤3👏1🍌1
Фрагментация памяти. Часть 2: Разрозненные свободные блоки - внешняя фрагментация памяти. Описание (к рисунку из предыдущего поста)
Пусть у нас есть куча блоков памяти, некоторые из которых используются, некоторые свободны, и процесс размером 50 КБ, который нужно где-то разместить. Проблема здесь в том, как разместить этот процесс размером 50 КБ в этой разбросанной памяти.
Обратите внимание на свободные блоки: 10 КБ, 5 КБ, 15 КБ, 5 КБ, 10 КБ и 5 КБ. Если их сложить, то получится 50 КБ свободного места. Похоже, что это достаточно для процесса с потребностью в 50 КБ
Но эти свободные блоки не находятся в одном непрерывном куске. Они разбросаны, разделены выделенной памятью.
Вот как выглядит внешняя фрагментация: достаточно общего пространства, но не в едином куске, достаточно большом для использования. Самый большой свободный блок — 15 КБ, что слишком мало для 50 КБ.
Этот тип фрагментации происходит в системах динамической памяти, где процессы приходят и уходят. По мере того, как память выделяется и освобождается, вы в конечном итоге получаете эти небольшие, разбросанные свободные пространства.
Это как куча маленьких пустых мест на парковке — места в целом предостаточно, но ни одного достаточно большого для большого грузовика.
На схеме показано, как эти промежутки (10 КБ, 5 КБ, 15 КБ и т. д.) не могут быть объединены для размещения процесса объемом 50 КБ, в результате чего он не может быть запущен, даже если технически имеется достаточно свободной памяти.
Один из способов исправить это — сжатие, когда вы перемещаете всю выделенную память вместе, чтобы создать больший свободный блок. Но это требует времени и ресурсов, и не все системы могут это сделать.
Другой подход заключается в использовании более эффективных стратегий распределения, таких как «наилучшее соответствие» (best-fit) или «первое соответствие» (first-fit), чтобы уменьшить частоту возникновения подобных ситуаций.
Пусть у нас есть куча блоков памяти, некоторые из которых используются, некоторые свободны, и процесс размером 50 КБ, который нужно где-то разместить. Проблема здесь в том, как разместить этот процесс размером 50 КБ в этой разбросанной памяти.
Обратите внимание на свободные блоки: 10 КБ, 5 КБ, 15 КБ, 5 КБ, 10 КБ и 5 КБ. Если их сложить, то получится 50 КБ свободного места. Похоже, что это достаточно для процесса с потребностью в 50 КБ
Но эти свободные блоки не находятся в одном непрерывном куске. Они разбросаны, разделены выделенной памятью.
Вот как выглядит внешняя фрагментация: достаточно общего пространства, но не в едином куске, достаточно большом для использования. Самый большой свободный блок — 15 КБ, что слишком мало для 50 КБ.
Этот тип фрагментации происходит в системах динамической памяти, где процессы приходят и уходят. По мере того, как память выделяется и освобождается, вы в конечном итоге получаете эти небольшие, разбросанные свободные пространства.
Это как куча маленьких пустых мест на парковке — места в целом предостаточно, но ни одного достаточно большого для большого грузовика.
На схеме показано, как эти промежутки (10 КБ, 5 КБ, 15 КБ и т. д.) не могут быть объединены для размещения процесса объемом 50 КБ, в результате чего он не может быть запущен, даже если технически имеется достаточно свободной памяти.
Один из способов исправить это — сжатие, когда вы перемещаете всю выделенную память вместе, чтобы создать больший свободный блок. Но это требует времени и ресурсов, и не все системы могут это сделать.
Другой подход заключается в использовании более эффективных стратегий распределения, таких как «наилучшее соответствие» (best-fit) или «первое соответствие» (first-fit), чтобы уменьшить частоту возникновения подобных ситуаций.
👍6🥰1👏1🍌1
Добавлена статья про Классы хранения (Storage class) в языке программирования Си
https://metanit.com/c/tutorial/4.8.php
#c_ansi
https://metanit.com/c/tutorial/4.8.php
#c_ansi
🔥19👍4❤2👏1🖕1
Microsoft выпустила скрипт на PowerShell, который создаёт папку «C:\inetpub», если она была удалена в Windows 11
Microsoft выпустила скрипт на PowerShell под названием Set-InetpubFolderAcl, который создаёт папку «C:\inetpub», если она была удалена в Windows 11. Это необходимо, даже если в системе нет Internet Information Services (IIS), причём но эту папку не нужно удалять из-за соображений безопасности.
Как объяснили в компании, скрипт установит правильные разрешения IIS для предотвращения несанкционированного доступа и потенциальных уязвимостей, связанных с CVE-2025-21204. Эта уязвимость связана с неправильной отработкой разрешения ссылок в стеке обновлений Windows. Это, вероятно, означает, что Центр обновления Windows может следовать символическим ссылкам на непропатченых устройствах (например, без обновления KB5055523) таким образом, что может позволить локальным злоумышленникам обмануть ОС, чтобы получить доступ или изменить непреднамеренные файлы или папки. Microsoft утверждает, что успешная эксплуатация позволяет злоумышленникам с низкими привилегиями повышать свои разрешения в системе и манипулировать или выполнять операции по управлению файлами в контексте учётной записи NT AUTHORITY\SYSTEM.
https://www.bleepingcomputer.com/news/microsoft/microsoft-shares-noscript-to-restore-inetpub-folder-you-shouldnt-delete/
Microsoft выпустила скрипт на PowerShell под названием Set-InetpubFolderAcl, который создаёт папку «C:\inetpub», если она была удалена в Windows 11. Это необходимо, даже если в системе нет Internet Information Services (IIS), причём но эту папку не нужно удалять из-за соображений безопасности.
Как объяснили в компании, скрипт установит правильные разрешения IIS для предотвращения несанкционированного доступа и потенциальных уязвимостей, связанных с CVE-2025-21204. Эта уязвимость связана с неправильной отработкой разрешения ссылок в стеке обновлений Windows. Это, вероятно, означает, что Центр обновления Windows может следовать символическим ссылкам на непропатченых устройствах (например, без обновления KB5055523) таким образом, что может позволить локальным злоумышленникам обмануть ОС, чтобы получить доступ или изменить непреднамеренные файлы или папки. Microsoft утверждает, что успешная эксплуатация позволяет злоумышленникам с низкими привилегиями повышать свои разрешения в системе и манипулировать или выполнять операции по управлению файлами в контексте учётной записи NT AUTHORITY\SYSTEM.
https://www.bleepingcomputer.com/news/microsoft/microsoft-shares-noscript-to-restore-inetpub-folder-you-shouldnt-delete/
BleepingComputer
Microsoft shares noscript to restore inetpub folder you shouldn’t delete
Microsoft has released a PowerShell noscript to help restore an empty 'inetpub' folder created by the April 2025 Windows security updates if deleted. As Microsoft previously warned, this folder helps mitigate a high-severity Windows Process Activation privilege…
🤣4
Рабочие специальности, которые сейчас наиболее востребованы, сократили зарплатный разрыв с IT-сферой. Об этом сообщил генеральный директор "Хэдхантер" Дмитрий Сергиенков.
Зарплаты там растут быстрее, чем в IT, скажем. В IT по-прежнему держится высокий уровень почти везде. Но рабочие специальности уже этот разрыв с IT довольно сильно сократили", - сказал он.
Также на уровень IT-сферы вышли зарплаты курьеров и водителей.
https://tass.ru/ekonomika/24164909
К слову, из вчерашнего резюме ЦБ касательно решения по ключевой ставке:
"Есть тенденция к сокращению числа вакансий и уменьшению зарплатных предложений в наиболее перегретых сегментах — например, в сфере IT."
Не удивлюсь, если в ближайщее время зарплаты в ИТ не только перестанут расти, но даже начнут сокращаться вслед за занятостью в этой сфере
Зарплаты там растут быстрее, чем в IT, скажем. В IT по-прежнему держится высокий уровень почти везде. Но рабочие специальности уже этот разрыв с IT довольно сильно сократили", - сказал он.
Также на уровень IT-сферы вышли зарплаты курьеров и водителей.
https://tass.ru/ekonomika/24164909
К слову, из вчерашнего резюме ЦБ касательно решения по ключевой ставке:
"Есть тенденция к сокращению числа вакансий и уменьшению зарплатных предложений в наиболее перегретых сегментах — например, в сфере IT."
Не удивлюсь, если в ближайщее время зарплаты в ИТ не только перестанут расти, но даже начнут сокращаться вслед за занятостью в этой сфере
TACC
Директор HeadHunter: рабочие специальности сократили зарплатный разрыв с IT-сферой
Дмитрий Сергиенков отметил, что зарплаты на уровень IT-сферы приблизились у курьеров и водителей
👌3👻3❤2👍2👎2😁2👀1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Сундар Пичаи, глава компании Google, заявил, что программистам не нужно бояться, что ИИ отберет у них работу. В качестве примера он привел свою компанию - Google: сейчас в Google 30% пишется ИИ, что увеличило скорость работы программистов на 10%. Но тем Google продолжает нанимать программистов, так как внедрение ИИ увеличивает возможности разработчиков и количество вещей, которые они могут сделать, расширяет диапазон проектов и соответственно ведет к большей потребности в разработчиках.
💯38👍5👏5🤡2🍌2🔥1🤮1
Руководство по выбору паттерна проектирования (текстовое описание к предыдущему посту)
Чтобы выбрать паттерн, сначала необходимо идентификацировать проблему. Если проблема связана с:
🔸 Созданием объектов? → Порождающие паттерны
🔸 Сборкой объектов? → Структурные паттерны
🔸 Взаимодействием объектов? → Поведенческие паттерны
𝟭. Порождающие паттерны
🔹 Singleton: Используйте, когда нужен один экземпляр класса. Некоторые примеры — это логирование и соединения с базой данных.
🔹 Фабричный метод: Отделите создание объекта от использования. Например, вы создаете различные типы подключений к базе данных на основе конфигурации.
🔹 Абстрактная фабрика: Создание семейств связанных объектов. Например, я создаю парсеры для разных форматов файлов.
🔹 Строитель: Построение сложных объектов шаг за шагом. Например, если вам нужно создать сложный доменный объект.
🔹 Прототип: создание дубликатов объектов и повторное использование кэшированных объектов для сокращения обращений к базе данных.
𝟮. Структурные паттерны
🔹 Адаптер: делает несовместимые интерфейсы совместимыми. Например, он интегрирует новую библиотеку журналирования в существующую систему, которая ожидает другой интерфейс.
🔹 Компоновщик: представляет иерархии часть-целое. Например, графические объекты в приложении для рисования могут быть сгруппированы и обработаны единообразно
🔹 Прокси: Управление доступом к объектам. Например, ленивая загрузка изображения высокого разрешения в веб-приложении.
🔹 Декоратор: Динамически добавлять/удалять поведение. Например, мы реализуем сжатие или шифрование поверх потоков файлов.
🔹 Мост: Отделите абстракцию от реализации. Например, я отделяю платформенно-зависимый код от базовой логики.
𝟯. Поведенческие паттерны
🔹 Стратегия: Определяет семейство алгоритмов. Эти алгоритмы позволяют пользователям выбирать из различных алгоритмов сортировки или сжатия.
🔹 Наблюдатель: Поддерживайте единообразное состояние, получая уведомления об изменениях и, например, уведомляя подписчиков о событиях в системе обмена сообщениями.
🔹 Команда: Инкапсулировать запрос как объект. Например, я реализую функциональность отмены/повтора в текстовом или графическом редакторе.
🔹 Состояние: инкапсулировать поведение, специфичное для состояния. Например, мы обрабатываем различные состояния элемента пользовательского интерфейса (например, включено, отключено, выбрано).
🔹 Шаблонный метод: определение скелета работающего алгоритма с передачей некоторых шагов подклассам и реализацией базового класса для модульного тестирования с настраиваемыми шагами настройки и демонтажа.
Чтобы выбрать паттерн, сначала необходимо идентификацировать проблему. Если проблема связана с:
🔸 Созданием объектов? → Порождающие паттерны
🔸 Сборкой объектов? → Структурные паттерны
🔸 Взаимодействием объектов? → Поведенческие паттерны
𝟭. Порождающие паттерны
🔹 Singleton: Используйте, когда нужен один экземпляр класса. Некоторые примеры — это логирование и соединения с базой данных.
🔹 Фабричный метод: Отделите создание объекта от использования. Например, вы создаете различные типы подключений к базе данных на основе конфигурации.
🔹 Абстрактная фабрика: Создание семейств связанных объектов. Например, я создаю парсеры для разных форматов файлов.
🔹 Строитель: Построение сложных объектов шаг за шагом. Например, если вам нужно создать сложный доменный объект.
🔹 Прототип: создание дубликатов объектов и повторное использование кэшированных объектов для сокращения обращений к базе данных.
𝟮. Структурные паттерны
🔹 Адаптер: делает несовместимые интерфейсы совместимыми. Например, он интегрирует новую библиотеку журналирования в существующую систему, которая ожидает другой интерфейс.
🔹 Компоновщик: представляет иерархии часть-целое. Например, графические объекты в приложении для рисования могут быть сгруппированы и обработаны единообразно
🔹 Прокси: Управление доступом к объектам. Например, ленивая загрузка изображения высокого разрешения в веб-приложении.
🔹 Декоратор: Динамически добавлять/удалять поведение. Например, мы реализуем сжатие или шифрование поверх потоков файлов.
🔹 Мост: Отделите абстракцию от реализации. Например, я отделяю платформенно-зависимый код от базовой логики.
𝟯. Поведенческие паттерны
🔹 Стратегия: Определяет семейство алгоритмов. Эти алгоритмы позволяют пользователям выбирать из различных алгоритмов сортировки или сжатия.
🔹 Наблюдатель: Поддерживайте единообразное состояние, получая уведомления об изменениях и, например, уведомляя подписчиков о событиях в системе обмена сообщениями.
🔹 Команда: Инкапсулировать запрос как объект. Например, я реализую функциональность отмены/повтора в текстовом или графическом редакторе.
🔹 Состояние: инкапсулировать поведение, специфичное для состояния. Например, мы обрабатываем различные состояния элемента пользовательского интерфейса (например, включено, отключено, выбрано).
🔹 Шаблонный метод: определение скелета работающего алгоритма с передачей некоторых шагов подклассам и реализацией базового класса для модульного тестирования с настраиваемыми шагами настройки и демонтажа.
❤13🔥8👏4👍1
Добавлено сравнение определения и использования Указателей в языках программирования
https://metanit.com/common/langs/2.23.php
https://metanit.com/common/langs/2.23.php
👍9🔥5🥰3😡1
Что такое MQTT? (описание к предыдущему посту)
MQTT (изначально "Message Queueing Telemetry Transport") — это легкий протокол обмена сообщениями типа "публикация-подписка".
Он предназначен для быстрой, эффективной и надежной связи между устройствами, особенно в средах с ограниченной пропускной способностью и высокой задержкой.
MQTT использует брокер для маршрутизации сообщений от издателей (устройств, отправляющих данные) к подписчикам (устройствам или приложениям, заинтересованным в этих данных) без необходимости знать друг о друге.
Издатель публикует сообщения в тему, а подписчик подписывается на эту тему. Брокер гарантирует доставку сообщений в соответствии с выбранным уровнем качества обслуживания (QoS).
Немного истории
Изобретен в 1999 году Энди Стэнфорд-Кларком (IBM) и Арленом Ниппером (Arcom) для мониторинга нефтепроводов по ненадежным спутниковым каналам связи.
Основная цель => минимальное использование полосы пропускания и расход заряда батареи.
=> IBM выпустила MQTT 3.1 как открытый протокол в 2010 году
=> Стандартизировано OASIS в 2013 г.
=> MQTT 5 выпущен в 2019 г.
Сегодня MQTT является фактическим стандартом обмена сообщениями в Интернете вещей и широко используется в различных отраслях.
Реальный пример использования:
Умная домашняя автоматизация
=> Умный термостат публикует данные о температуре на брокере MQTT.
=> Умные системы освещения или HVAC подписываются на эти данные и автоматически регулируют настройки.
=> Владельцы домов могут управлять и контролировать все устройства с помощью одного приложения.
MQTT (изначально "Message Queueing Telemetry Transport") — это легкий протокол обмена сообщениями типа "публикация-подписка".
Он предназначен для быстрой, эффективной и надежной связи между устройствами, особенно в средах с ограниченной пропускной способностью и высокой задержкой.
MQTT использует брокер для маршрутизации сообщений от издателей (устройств, отправляющих данные) к подписчикам (устройствам или приложениям, заинтересованным в этих данных) без необходимости знать друг о друге.
Издатель публикует сообщения в тему, а подписчик подписывается на эту тему. Брокер гарантирует доставку сообщений в соответствии с выбранным уровнем качества обслуживания (QoS).
Немного истории
Изобретен в 1999 году Энди Стэнфорд-Кларком (IBM) и Арленом Ниппером (Arcom) для мониторинга нефтепроводов по ненадежным спутниковым каналам связи.
Основная цель => минимальное использование полосы пропускания и расход заряда батареи.
=> IBM выпустила MQTT 3.1 как открытый протокол в 2010 году
=> Стандартизировано OASIS в 2013 г.
=> MQTT 5 выпущен в 2019 г.
Сегодня MQTT является фактическим стандартом обмена сообщениями в Интернете вещей и широко используется в различных отраслях.
Реальный пример использования:
Умная домашняя автоматизация
=> Умный термостат публикует данные о температуре на брокере MQTT.
=> Умные системы освещения или HVAC подписываются на эти данные и автоматически регулируют настройки.
=> Владельцы домов могут управлять и контролировать все устройства с помощью одного приложения.
❤8🔥3👏2
Зарплаты выпускников-айтишников лидера рейтинга вузов превысили ₽300 тыс...
Superjob назвал вузы с самой высокой зарплатой выпускников-айтишников
Первое место в рейтинге снова занял Московский физико-технический институт (МФТИ). У выпускников-айтишников этого вуза за год зарплата увеличилась на 30 тыс. и в среднем уже составляет 330 тыс. руб.
Рейтинг выглядит следующим образом
1) Московский физико-технический институт (МФТИ) — 330 тыс. руб.
2) Московский государственный университет (МГУ) — 290 тыс. руб.
3) Университет ИТМО — 290 тыс. руб.
4) Московский государственный технический университет им. Н.Э.Баумана, Национальный исследовательский ядерный университет «МИФИ», Высшая школа экономики — 280 тыс. руб.
5) Санкт-Петербургский государственный университет — 270 тыс. руб.
6) Университет Иннополис — 250 тыс. руб.
7) Национальный исследовательский университет «МЭИ», Московский авиационный институт (МАИ), «СТАНКИН» — 240 тыс. руб.
8) Казанский федеральный университет (КФУ), МИСИС, Новосибирский национальный исследовательский государственный университет — 230 тыс. руб.
9) Санкт-Петербургский политехнический университет Петра Великого — 220 тыс. руб.
10) Санкт-Петербургский государственный электротехнический университет «ЛЭТИ», Новосибирский государственный технический университет — 190 тыс. руб.
11) Национальный исследовательский Нижегородский государственный университет, Национальный исследовательский Томский политехнический университет, НИУ «Московский институт электронной техники», Санкт-Петербургский госуниверситет телекоммуникаций, Уральский федеральный университет — 180 тыс. руб.
https://www.rbc.ru/society/09/06/2025/6842e28d9a7947b2ca8a2f2a?from=newsfeed
Superjob назвал вузы с самой высокой зарплатой выпускников-айтишников
Первое место в рейтинге снова занял Московский физико-технический институт (МФТИ). У выпускников-айтишников этого вуза за год зарплата увеличилась на 30 тыс. и в среднем уже составляет 330 тыс. руб.
Рейтинг выглядит следующим образом
1) Московский физико-технический институт (МФТИ) — 330 тыс. руб.
2) Московский государственный университет (МГУ) — 290 тыс. руб.
3) Университет ИТМО — 290 тыс. руб.
4) Московский государственный технический университет им. Н.Э.Баумана, Национальный исследовательский ядерный университет «МИФИ», Высшая школа экономики — 280 тыс. руб.
5) Санкт-Петербургский государственный университет — 270 тыс. руб.
6) Университет Иннополис — 250 тыс. руб.
7) Национальный исследовательский университет «МЭИ», Московский авиационный институт (МАИ), «СТАНКИН» — 240 тыс. руб.
8) Казанский федеральный университет (КФУ), МИСИС, Новосибирский национальный исследовательский государственный университет — 230 тыс. руб.
9) Санкт-Петербургский политехнический университет Петра Великого — 220 тыс. руб.
10) Санкт-Петербургский государственный электротехнический университет «ЛЭТИ», Новосибирский государственный технический университет — 190 тыс. руб.
11) Национальный исследовательский Нижегородский государственный университет, Национальный исследовательский Томский политехнический университет, НИУ «Московский институт электронной техники», Санкт-Петербургский госуниверситет телекоммуникаций, Уральский федеральный университет — 180 тыс. руб.
https://www.rbc.ru/society/09/06/2025/6842e28d9a7947b2ca8a2f2a?from=newsfeed
РБК
Зарплаты выпускников-айтишников лидера рейтинга вузов превысили ₽300 тыс.
МГУ вернул себе второе место в рейтинге SuperJob по зарплатам айтишников, первое сохранил МФТИ. Средние зарплаты у выпускников первой пятерки за год выросли и составили от 250 тыс. до 330 тыс. руб. в
🤡28❤6😁6👍1😢1🏆1