METANIT.COM
6.24K subscribers
1.79K photos
86 videos
10 files
1.26K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Россия вышла на третье место в мире по росту зарплат IT-инженеров

Россия вышла на третье место в мире по темпам роста зарплат IT-инженеров в пересчете на доллар США в соответствии с исследованием японской кадровой компании Human Resocia.
Согласно исследованию, доходы российских специалистов в сфере разработки ПО за 2025 год увеличились на 18,2%. По этому показателю РФ уступила только Панаме (рост на 39,6%) и Румынии (29,6%).

Авторы связывают ускоренный рост зарплат в этих странах с перераспределением офшорных IT-заказов и развитием центров разработки, в том числе в сфере искусственного интеллекта.

В целом более чем в 70% стран мира зарплаты IT-инженеров выросли, что свидетельствует о сохраняющемся глобальном восходящем тренде. При этом в развитых экономиках динамика была заметно скромнее: в США рост составил 2,8%, во Франции - 3,7%, в Германии - 4,9%, в Великобритании - 5,2%, в Италии - 6,3%, в Японии - на 5,3% за год. При этом отмечается, что в Японии средний годовой доход составил 29,8 тысячи долларов, что примерно в три раза ниже показателя США (в целом показатель Японии примерно аналогично средней зарплате IT-специалистов в России по текущему курсу USD).

https://ria.ru/20260216/rossija-2074579816.html

Вообще странно бы было, если бы в долларовом выражении зарплаты в России не выросли, учитывая укрепление рубля за год почти на 30%
🤔22🥴8🔥53😁1
Схема, как выбрать тип параметра в C++
🤯29😢8👍5🆒2
Американские студенты бросают учиться на программистов — теперь в моде специальности в сфере ИИ

Впервые со времен краха доткомов зафиксирован спад интереса к классическим компьютерным наукам в кампусах Калифорнийского университета (UC). Хотя общий поток абитуриентов в США растет, будущие специалисты массово мигрируют из традиционных IT-направлений на новые специальности, связанные с развитием искусственного интеллекта.

Американские университеты столкнулись с неожиданным оттоком студентов с факультетов компьютерных наук. Статистика Калифорнийского университета показала снижение числа поступающих на 6% в прошлом году и еще на 3% в 2024 году. Эта тенденция развивается на фоне общего национального роста количества студентов в колледжах (на 2%) . Единственным исключением в системе стал кампус в Сан-Диего, где своевременное открытие отдельной специальности по искусственному интеллекту позволило удержать показатели набора.

Эксперты расценивают происходящее не как отказ от технологий, а как миграцию в сторону более перспективной сферы. Опрос Ассоциации компьютерных исследований показал, что падение интереса к базовому программированию зафиксировали 62% профильных факультетов. Одновременно с этим вузы США фиксируют резкий рост спроса на программы по изучению нейросетей. Например, в Массачусетском технологическом институте (MIT) направление по принятию решений на основе ИИ уже вышло на второе место по популярности, а Университет Южной Флориды за один семестр набрал более 3000 студентов в новый профильный колледж.


https://techcrunch.com/2026/02/15/the-great-computer-science-exodus-and-where-students-are-going-instead/
🤡105🔥4🐳3😁2👍1👏1🖕1
Шардинг базы данных (Database Sharding)
(продолжение в следующем посте)
3👍2🔥2
Шардинг базы данных (Database Sharding)
(продолжение предыдущего поста)

1. Что такое шардинг?

Шардинг — это процесс разделения монолитной базы данных (Monolithic Database) на несколько меньших частей, называемых шардсами (shards). Цель шардинга — распределить нагрузку и увеличить масштабируемость системы. На изображении показано, как одна большая база данных разделяется на несколько шардов.

2. Типы шардинга

Существует несколько способов распределения данных по шардам:

- Range-based Sharding (шардинг по диапазонам): данные распределяются по шардам на основе диапазонов значений. Например, продукты с ценой от $0 до $75 попадают в Shard 1, а с ценой от $76 до $150 — в Shard 2. Это удобно, когда данные можно логично разделить по числовым диапазонам.
- Directory-based Sharding (шардинг на основе каталога): данные распределяются по шардам согласно определённым категориям (например, по географическому расположению клиентов). На изображении показано, как клиенты из разных регионов (North America, Europe, Asia) направляются в соответствующие шарды (Shard 1, Shard 2, Shard 3).
- Key-based Sharding (шардинг по ключу): используется хеш-функция (Hash Function) для распределения данных по шардам на основе уникального ключа. Например, ключ (Key) определяет, в какой shard попадёт запись. Это позволяет равномерно распределить нагрузку, если хеш-функция хорошо сбалансирована.

3. Выбор ключей шардинга (Shard Keys)

При выборе ключа шардинга важно учитывать три аспекта:

- Cardinality (кардинальность): лучше выбирать ключ с высокой кардинальностью (большим количеством уникальных значений). Это помогает избежать перегрузки отдельных шардов.
- Frequency (частота использования): чем больше подмножество возможных значений ключа, тем меньше вероятность «горячих разделов» (hot partitions) — ситуаций, когда один шард получает непропорционально много запросов.
- Monotonic Change (монотонное изменение): если ключ монотонно увеличивается или уменьшается (например, временные метки), это может привести к неравномерному распределению данных (один шард будет постоянно получать новые записи). Следует избегать таких ключей.

4. Маршрутизация запросов (Request Routing)

Чтобы система знала, к какому шарду обращаться, используется механизм маршрутизации запросов. Существуют три основных подхода:

- Shard-Aware Nodes (узлы, осведомлённые о шардах): узлы сами знают, где находятся данные, и напрямую обращаются к нужным шардам.
- Dedicated Routing Tier (выделенный уровень маршрутизации): специальный слой маршрутизации (Routing Tier) определяет, к какому шарду направить запрос. Это упрощает логику клиентов.
- Shard-Aware Client (клиент, осведомлённый о шардах): клиент сам решает, к какому шарду отправить запрос, основываясь на логике шардинга.

5. Репликация с шардингом (Replication with Sharding)

Для обеспечения отказоустойчивости и доступности данных используется репликация. На изображении показано, как данные шардов реплицируются между узлами (Node 1, Node 2, Node 3):

- Leader (лидер): основной узел, который обрабатывает записи (writes) для шарда.
- Follower (фолловер): реплицирует данные лидера, может обрабатывать только чтения (reads). Если лидер выходит из строя, один из фолловеров может стать новым лидером.

Например:
- Shard A Leader на Node 1 реплицируется на Shard A Follower на Node 2 и Node 3.
- Аналогично для Shard B и Shard C.

Итог

Шардинг позволяет:
- распределить нагрузку между несколькими серверами;
- увеличить производительность и масштабируемость системы;
- обеспечить отказоустойчивость за счёт репликации;
- оптимизировать доступ к данным с помощью грамотной маршрутизации запросов.

Ключевой момент — правильный выбор ключей шардинга и стратегии распределения данных, чтобы избежать «горячих разделов» и обеспечить равномерную нагрузку на систему.
4👍4🤝2
В руководство по языку Си добавлена статья про реализацию шаблона Result с помощью макросов и обработку ошибок
https://metanit.com/c/tutorial/12.7.php
#c_ansi
🔥16❤‍🔥5🥰3🆒2🏆1
Краткая шпаргалка по элементам ввода в HTML
👍8🔥5❤‍🔥3
Полная блокировка Telegram в России может начаться 1 апреля

Роскомнадзор может приступить к полной блокировке мессенджера Telegram на территории России уже с 1 апреля. О готовящихся мерах сообщает телеграм-канал Baza со ссылкой на источники в нескольких ведомствах.

По данным канала, с указанной даты регулятор начнет «тотальную блокировку» платформы по сценарию, который ранее применялся к другим заблокированным соцсетям.
Источники утверждают, что ограничения будут действовать на всей территории страны. Предполагается, что приложение перестанет загружаться и обновлять данные как через мобильные сети операторов связи, так и через стационарных интернет-провайдеров.

Со своей стороны Роскомнадзор прокомментировал слухи о полной блокировке Telegram следующим образом: «Ведомству нечего добавить к ранее опубликованной информации по данному вопросу»

https://www.kommersant.ru/doc/8441184
🤡43💊10😁61💔1🖕1
В проведенном опросе на тему, как пользователи будут отправлять сообщения при блокировке Телеграмма победил вариант "Передача сообщений с помощью костров". Голубиная почта только на втором.
https://t.me/devnull22/3395

К сожалению, забыл включить некоторые варианты. Например, если вообще замедлить интернет, то у Почты России тоже есть шанс. Так что при блокировке Телеграмма альтернативы есть.

Ну я также напоминаю, что в качестве альтернативы посты дублируются также в канале в Мах: https://max.ru/metanit на случай, если Телеграмм заблокируют (что в принципе уже стало понятно с момента запуска Max)
😁20💩6🤝53👎2
Роскомнадзор опроверг информацию о блокировке сервисов Windows

Решения уполномоченных органов по ограничению сервисов Windows в России не поступали. Об этом заявили в пресс-службе Роскомнадзора.

Сегодня появились сообщения о жалобах пользователей на работу Windows после обновления сервиса — россияне сообщали о «черных экранах смерти» и долгой загрузке компьютера. Также сообщается, что пользователям Windows перестали приходить обновления для операционной системы. В конечном счете это связали с работой РКН по замедлению мессенджера Telegram.

https://www.kommersant.ru/doc/8441415
🥴16🤣8😁6🤔2😢1
Стратегии повышения производительности системы
(продолжение в следующем посте)
🔥32👍2
Стратегии повышения производительности системы
(продолжение предыдущего поста)

1. Применение CAP-теоремы и PACELC-теоремы для выбора баланса характеристик системы

- CAP-теорема утверждает, что распределённая система может одновременно обеспечить только два из трёх свойств:
- Consistency (согласованность) — все узлы видят одинаковые данные;
- Availability (доступность) — каждый запрос получает ответ, даже если он не содержит самых актуальных данных;
- Partition Tolerance (устойчивость к разделению) — система работает при разрывах связи между узлами.

Варианты выбора:
- CP-системы (Consistency + Partition Tolerance) — приоритет точности данных (например, в финансах).
- AP-системы (Availability + Partition Tolerance) — приоритет доступности, временная несогласованность данных допустима (например, в развлекательных сервисах).
- CA-системы (Consistency + Availability) — возможны только при исключении сетевого разделения

- PACELC-теорема расширяет CAP-теорему:
- При разделении сети (P) система выбирает между доступностью (A) и согласованностью (C).
- В штатном режиме (E) — между задержками (L) и согласованностью (C). Это позволяет оптимизировать производительность за счёт снижения задержек в обычных условиях работы

2. Шардирование базы данных (Database Sharding)

- Суть: распределение данных по нескольким инстансам или серверам базы данных, где каждый шард содержит уникальный поднабор данных.
- Преимущества:
- Горизонтальное масштабирование — система легко адаптируется к росту нагрузки и объёму данных.
- Уменьшение нагрузки на отдельные узлы за счёт распределения запросов.
- Механизм: использование функции хеширования (Hash Function) для распределения ключей (Keys) по шардам (Shards) на основе вычисленного хеша.
- Пример на изображении: ключи A, B, C, D распределяются по двум шардам (Shard 1 и Shard 2) с помощью хеш-функции.

3. Кэширование базы данных (Database Caching)

- Суть: хранение часто используемых данных в кэше для ускорения доступа к ним.
- Компоненты:
- Webserver отправляет запросы к кэшу и базе данных.
- Cache хранит копии данных для быстрого доступа.
- DB — исходная база данных, к которой обращаются при «промахе кэша» (Cache Miss).
- Процессы:
- Read Path (Cache Miss): если данные отсутствуют в кэше, система обращается к БД, забирает данные, сохраняет их в кэше и возвращает клиенту.
- Write Path: при записи данных сначала обновляется кэш, затем — БД.
- Преимущества:
- Снижение нагрузки на БД.
- Уменьшение времени отклика системы.
- Повышение пропускной способности.

4. Согласованное хеширование (Consistent Hashing)

- Суть: метод распределения данных по узлам с минимизацией перераспределения при добавлении/удалении узлов.
- Как работает:
- Пространство ключей представляется как кольцо (на изображении — круг с ключами K1, K2, K3, K4).
- Узлы (серверы) также распределяются по этому кольцу.
- Каждый ключ назначается ближайшему по кольцу узлу.
- Преимущества:
- Балансировка нагрузки между узлами.
- Устойчивость к отказам узлов — данные перераспределяются только на соседние узлы.
- Лёгкость масштабирования — добавление/удаление узлов требует перераспределения лишь небольшой части данных.

5. Асинхронная обработка (Asynchronous Processing)

- Суть: отделение тяжёлых вычислительных задач от основного потока выполнения для повышения отзывчивости системы.
- Компоненты:
- Service A и Service B — сервисы, обменивающиеся сообщениями.
- Broker — посредник (очередь сообщений), который буферизирует запросы.
- Механизм:
- Сервис A отправляет запрос в брокер.
- Брокер сохраняет запрос и передаёт его сервису B, когда тот готов обработать.
- Сервис B обрабатывает запрос асинхронно, не блокируя основной поток сервиса A.
- Преимущества:
- Повышение пропускной способности — система не ждёт завершения операций.
- Разделение ответственности между сервисами.
- Устойчивость к временным сбоям — брокер сохраняет запросы до их обработки.
5🔥3👍2
Комбинация этих стратегий позволяет оптимизировать производительность системы с учётом конкретных требований: баланса между согласованностью и доступностью (CAP/PACELC), распределения нагрузки (шардирование, согласованное хеширование), ускорения доступа к данным (кэширование) и повышения отзывчивости (асинхронная обработка).
🔥3👍2🤝2
Unity пообещала разработать ИИ, который позволит создавать игры по текстовому описанию

Разработчик игрового движка Unity активно внедряет инструменты ИИ, обещая пользователям ускорение разработки, повышение узнаваемости и рост доходов от рекламы.

ИИ-помощник будет работать на основе уникального понимания контекста проекта и нашей среды выполнения, используя при этом лучшие существующие модели.
В Unity уверены, что в конечном итоге десятки миллионов людей будут создавать интерактивные развлечения, используя инструменты разработки с поддержкой ИИ, и подчеркмвают что Unity намерена возглавить этот процесс.

В компании заявили, что Unity AI даст доступ к разработке игр для тех, кто не занимается программированием, одновременно повышая производительность для всех пользователей. А цель компании - максимально упростить творческий процесс, став универсальным мостом между первой искрой творчества и успешным, масштабируемым и долговечным цифровым опытом.

https://www.gamedeveloper.com/programming/unity-says-its-ai-tech-will-soon-be-able-to-prompt-full-casual-games-into-existence-
😭32🤮22👎6🤔6🖕5👍3🥴2💩1🤡1🤣1
"Секретные практики" JavaScript
👻26😁8🤩1🤮1
VK закрыл мессенджер «ТамТам»

VK прекратит поддержку мессенджера «ТамТам» с 27 февраля. Ранее пользователи сервиса получили сообщения о закрытии приложения.

«Обращаем внимание, что в связи с закрытием «ТамТам» авторизация по номеру телефона в сервисе станет недоступна с 27 февраля», — сказано в сообщении техподдержки мессенджера.

Мессенджер был запущен в июле 2016 года под названием «ОК сообщения». В мае 2017-го приложение переименовали в «ТамТам», а в августе 2018 его стало возможно использовать независимо от «Одноклассников».

В апреле 2018 года на фоне блокировок Telegram в России Mail.Ru Group (ныне — VK) сообщил, что за несколько часов число новых регистраций в мессенджере «ТамТам» выросло в 10 раз. При этом точное количество скачиваний и пользователей компания не назвала.

В 2022 году Минцифры включило ТамТам в перечень российских аналогов иностранных мессенджеров после ухода ряда зарубежных сервисов с российского рынка и блокировок ресурсов Роскомнадзором.

https://www.rbc.ru/rbcfreenews/699562e09a7947012a863377
🔥13😁93🙊3🤡1
Claude написал код с ошибкой — криптоплатформа потеряла $1,78 млн за минуты

Криптовалютная платформа Moonwell потеряла $1,78 млн из-за бага в коде, написанном совместно с Claude Opus 4.6. Ошибка в ценовом оракуле — сервисе, который сообщает смарт-контрактам рыночные цены — привела к тому, что токен cbETH оценивался в $1,12 вместо реальных ~$2200. Торговые боты воспользовались этим за считаные минуты.

Инцидент произошел 15 февраля, когда было исполнено обновление MIP-X43, подключающее контракты ценовых оракулов Chainlink на сетях Base и Optimism. В одном из оракулов формула была неполной: вместо того чтобы умножить курс cbETH/ETH на цену ETH в долларах, система просто передавала курс cbETH/ETH как итоговую цену. Результат — вместо $2200 оракул показывал $1,12.

Торговые боты отреагировали мгновенно: по правилам платформы они погашали ~$1 долга и забирали взамен один cbETH стоимостью $2200. Мониторинг Moonwell обнаружил аномалию через четыре минуты, но остановить процесс было невозможно — исправление оракула требует голосования и пятидневного ожидания. Всего боты изъяли 1096 cbETH, а платформа осталась с безнадежным долгом в $1,78 млн.

https://forum.moonwell.fi/t/mip-x43-cbeth-oracle-incident-summary/2068
🤣56🔥7👍54😢2👾2
В Роскомнадзоре не получали требований заблокировать сервисы Linux для пользователей в РФ

В Роскомнадзоре сообщили СМИ, что ведомство не причастно к ситуации, что разработчикам и пользователям Linux из России оказался заблокирован доступ к обновлениям Linux. «Решения уполномоченных органов по ограничению сервисов Linux в России не поступали», — заявили в РКН.

Ранее пользователи сообщили, что РКН случайно заблокировал Linux, а также сайты с важными библиотеками для Linux. В середине февраля 2026 года разработчикам отечественных ОС пришлось использовать дополнительные сетевые средства, чтобы обновлять ядро. Некоторые разработчики пожаловались на ситуацию в чате Минцифры, но ответа не последовало.

Председатель совета директоров «Базальт СПО» (разработчик ОС «Альт») Алексей Смирнов подтвердил, что сайт международного проекта разработки ядра Linux был заблокирован. «Сейчас она [блокировка] уже снята, хотя, возможно, не везде», — отметил он. Смирнов добавил, что такая изоляция мешает нормальному развитию отечественной разработки.

О ситуации также написала глава Лиги безопасного интернета Екатерина Мизулина в своем Telegram-канале — по ее словам, IT-специалисты жалуются на ситуацию вокруг Linux уже несколько дней.

На профильных ресурсах предположили, что РКН через технические средства противодействия угрозам усилил фильтрацию трафика и забанил IP и домены, через которые проекты Microsoft и Linux получают обновления, на фоне работ по замедлению Telegram.

https://www.forbes.ru/tekhnologii/555740-pol-zovateli-pozalovalis-na-otsutstvie-obnovlenij-linux-na-fone-zamedlenia-telegram
🤡41😁6❤‍🔥2🥰2🙊2👏1
Добавил новую статью про Команды диагностики сетевых проблем в Linux на различных уровнях сетевой модели OSI
https://metanit.com/os/linux/7.4.php
#linux
23❤‍🔥7🔥6
Мейнтейнеры Godot жалуются, что репозиторий проекта заваливают сгенерированными пул-реквестами

Мейнтейнеры игрового движка Godot жалуются, что репозиторий проекта начали массово заваливать пул-реквестами с полностью сгенерированным кодом. У команды уходить много времени на проверку кода, что сильно деморализует.

Вместо проверки кода и помощи новичкам команда теперь детально изучает каждый пул-реквест и пытается понять, сгенерировали ли его. В коде от нейросетей часто бывают ошибки или простое непонимание контекста проекта. При это команда придерживается дружелюбного отношения к новичкам и считает, что любой желающий может внести вклад в развитие Godot. Теперь же не всегда ясно, кто стоит за пул-реквестом: неопытный программист или языковая модель.
Разработчики устают и не могут выделить время на важные задачи. Ситуацию усложняет то, что сторонние разработчики не указывают в своих пул-реквестах кто автор кода.

Решением может стать автоматическая проверка кода, но тогда проблема замкнётся: придётся использовать нейросети для обнаружения нейросетей. Команда не хочет прибегать к этому и поддерживать сторонние AI-проекты. Единственное приемлемое для Godot решение: нанять разработчиков, которые будут проверять пул-реквесты.

https://bsky.app/profile/akien.bsky.social/post/3meyerixvhs2p
😭26🤷‍♂9🤯8🤡4😁3👍2🔥1