METANIT.COM – Telegram
METANIT.COM
5.89K subscribers
1.68K photos
81 videos
9 files
1.04K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
C# возглавил рейтинг самых обсуждаемых языков программирования

Аналитики компании Sidorin Lab изучили, какие ИТ-профессии и цифровые навыки чаще всего обсуждали в российских медиа и соцсетях. В фокусе исследования — объем упоминаний, тональность сообщений, вовлеченность аудитории, а также социально-демографический профиль участников дискуссий. Анализ охватил 1,9 млн сообщений с общей аудиторией более 10 млрд человек и показал, какие компетенции и технологии формируют сегодняшнюю повестку в ИТ. Об этом CNews сообщили представители Sidorin Lab.

Среди ключевых результатов исследования — лидерство языка C# по упоминаниям в контексте ИТ-навыков (1,3 млн сообщений). Востребованность C# связана с его активным использованием в энтерпрайз-разработке и геймдеве. Интересно, что лишь 10,9% обсуждений носят позитивный оттенок, что может свидетельствовать о сложности самого языка, высоких требованиях к квалификации специалистов или трудности задач.

В топ-5 языков по обсуждаемости также вошли C++ (78 тыс. сообщений), Python (70 тыс.), Java (49 тыс.), SQL (36 тыс.) и Go (34 тыс.). Среди них Python и Java получили минимальный уровень негатива — 3,5% и 3,6% соответственно, что подтверждает их стабильную востребованность и положительный отклик у сообщества.

https://www.cnews.ru/news/line/2025-07-14_c_vozglavil_rejting_samyh
30👍6🥱5🥰2😐2🤡1
В руководство по языку Си добавлена статья про X-макросы
https://metanit.com/c/tutorial/12.6.php
#c_ansi
9👍5🔥3🤯2
Генеральный директор Nvidia Дженсен Хуанг выразил мнение в интервью CNN, что страхи относительно масштабных увольнений вследствие распространения технологий искусственного интеллекта сильно преувеличены. По его убеждению, ИИ не является причиной сокращения рабочих мест, а скорее трансформирует характер труда, создавая совершенно новые формы деятельности. Он подчеркивает, что, хотя некоторые работники могут утратить свои позиции из-за активного внедрения ИИ, большинство сотрудников получит доступ к другим перспективным возможностям. Это касается и самой работы самого Хуна, чья деятельность тоже претерпела изменения благодаря ИИ.

Более того, Хуанг убежден, что риск увольнения работников возрастает не столько из-за влияния ИИ, сколько из-за нежелания самих организаций внедрять инновационные технологии, включая искусственный интеллект. Вместо страха перед новыми технологиями, он призывает воспринимать ИИ как мощный инструмент, позволяющий сократить разрыв между человеком и возможностями технологического прогресса.
https://edition.cnn.com/2025/07/11/business/nvidia-jensen-huang-ai-job-loss
💩19🤡9😁8👍4🥴2👎1
Госдума рассмотрит штрафы за поиск экстремистского контента и рекламу VPN
На рассмотрение в Госдуму внесли поправки в КоАП, предполагающие штрафы «за умышленный поиск» в интернете экстремистских материалов.

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

Штраф, предусмотренный за такое правонарушение может составить от 3 до 5 тыс. руб.

Кроме того, данный законопроект вводит штрафы за рекламу «программных средств», напоминающих своим функционалом VPN. От 50 до 80 тыс. руб. — для граждан, от 80 до 100 тыс. руб. — для должностных лиц и от 200 до 500 тыс. руб. — для юрлиц.

Госдума рассмотрит введение штрафов до 500 тысяч рублей за рекламу VPN-сервисов
https://www.kommersant.ru/doc/7890064

То есть если с помощью VPN вы искали запрещенные законодательством материалы, вы уже нарушаете закон.
🖕55👎9🤡8😁7😭3💩2
Как работает API Gateway (API Шлюз)
8🔥1👏1
Как работает API Gateway (API Шлюз)

По мере роста приложения увеличивается и количество API. Без правильных инструментов и инфраструктуры управление этими API может быстро превратиться в сложную задачу. Именно здесь в игру вступает API Gateway.

Этот API располагается между клиентами (например, браузерами, мобильными приложениями) и внутренними службами, обеспечивая единую точку входа, которая управляет, оптимизирует и защищает вызовы API в вашей системе.

Основные функции API Gateway:

1. Аутентификация и авторизация. Обеспечивает доступ к ресурсам только для авторизованных пользователей через JWT, OAuth или API-ключи.

2. Ограничение частоты запросов. Предотвращает злоупотребления и защищает внутренние службы от DDoS-атак и перегрузок путём ограничения количества запросов на пользователя, IP-адрес или API-ключ.

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

4. Кэширование. Сохраняет часто запрашиваемые ответы, чтобы снизить нагрузку на внутренние службы и ускорить вызовы API.

5. Преобразование запросов. Модифицирует запросы и ответы «на лету» (например, преобразует XML в JSON, изменяет заголовки).

6. Обнаружение служб. Динамически направляет запросы к доступным экземплярам по мере масштабирования микросервисов.

7. Предохранитель (Circuit Breaking). Предотвращает каскадные сбои, возвращая стандартные ответы при выходе служб из строя.

8. Логирование и мониторинг. Обеспечивает видимость производительности API, ошибок и задержек в режиме реального времени для отладки.
9🔥1👏1
Шпаргалка по событиям в JavaScript #js #javanoscript
5👍4🤯2
4 способа обмена значений переменных на примере языка Python #python
14🤯7👏1🤮1
Microsoft уволит 200 сотрудников игровой студии King и заменит их инструментами искусственного интеллекта. Над ними трудились эти же самые разработчики, то есть Microsoft поставит вместо них их же детище.

Корпорация Microsoft собирается уволить около 200 сотрудников игровой студии King, создавшей очень популярную мобильную игру Candy Crush. Это происходит в рамках грандиозного сокращения игрового подразделения Microsoft, которое продолжается несколько месяцев и затрагивает тысячи сотрудников – только с начала июля 2025 г. работы лишились около 4000 человек.

Однако случай с King особенный с точки зрения морали и этики: Microsoft намерена заменить работников этой студии искусственным интеллектом. С одной стороны, в этом нет ничего примечательного – нейросети заменяют людей разных профессий по всему миру. С другой стороны, сотрудников King Microsoft решила променять на искусственный интеллект, который они же и создавали в течение длительного времени.
https://www.pcgamer.com/gaming-industry/microsofts-200-laid-off-king-devs-are-reportedly-being-replaced-by-ai-they-helped-build-while-its-absolute-s-show-hr-department-looks-away-and-whistles/
🤡49😁14🤮10👀4👎3🤷‍♂21🤔1
Структура памяти процесса в Linux
👍15👎1🥰1👏1
Структура памяти процесса в Linux (описание к рисунку из предыдущего поста)

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

Далее следует сегмент BSS (Block Started by Symbol), куда помещаются неинициализированные глобальные переменные, и система обнуляет их при запуске.

Динамическая память (heap) начинается сразу после BSS и растёт вверх по мере того, как программа динамически выделяет больше памяти с помощью таких функций, как malloc.

Выше располагается стек, который начинается в верхней части пользовательского пространства и растёт вниз. Он отвечает за локальные переменные, вызовы функций и адреса возврата. Между heap и стеком обычно есть промежуток, чтобы предотвратить их столкновение, если один из них слишком сильно разрастается.

В 32-разрядных системах общее адресное пространство составляет 4 ГБ, причём верхние 1 ГБ часто резервируются для ядра. Однако в 64-разрядных системах пространство огромно — около 128 ТБ для пользовательских процессов, поэтому структура может немного различаться в зависимости от архитектуры.

Отображения ядра располагаются в самом верху и отвечают за системные вызовы и взаимодействие с оборудованием. Общие библиотеки загружаются в память по мере необходимости, часто отображаясь между heap и стеком.

Проверить карту памяти процесса можно с помощью таких инструментов, как pmap, или просмотрев файл /proc/pid/maps. Например, если запустить простую программу на C и изучить её карту, можно чётко увидеть эти сегменты, причём адреса начинаются с низких значений для текстового сегмента и увеличиваются вверх.

Иногда управление памятью включает такие элементы, как mmap для отображения файлов или анонимные области. Они могут появляться в разных местах, что обеспечивает гибкость. Функции безопасности, такие как рандомизация размещения адресного пространства, перемешивают элементы, чтобы усложнить эксплуатацию уязвимостей.
👍132🔥2
С 1 ноября 2025 года все новые приложения Android и обновления существующих приложений, использующих нативный код C/C++ и ориентированных на устройства с Android 15 и выше, должны поддерживать 16 КБ страницы памяти для публикации в Google Play. Это требование направлено на обеспечение максимальной производительности приложений на современных устройствах Android. Приложения, написанные исключительно на Kotlin или Java, уже совместимы, но для приложений с нативным кодом необходимы действия.

Преимущества перехода на 16 КБ страницы памяти:
- Увеличение общей производительности на 5–10%.
- Ускорение запуска приложений в среднем на 3,16%, в некоторых случаях до 30%.
- Снижение энергопотребления на 4,56%.
- Ускорение запуска камеры на 4,48–6,60%.
- Ускорение загрузки системы примерно на 0,8 секунды.

Необходимые шаги для разработчиков:
1. Проверка нативного кода: Если приложение использует C/C++ код или зависит от SDK с нативным кодом, его нужно перекомпилировать для совместимости с 16 КБ. APK Analyzer в Android Studio помогает выявить наличие нативных библиотек (.so файлы) и проверить их совместимость.
2. Обновление инструментов: Используйте Android Gradle Plugin (AGP) версии 8.5.1 или выше и Android NDK r28 или выше, которые автоматически поддерживают 16 КБ выравнивание.
3. Удаление жестко закодированных предположений: Исключите в коде зависимости от размера страницы 4 КБ (например, 4096), используя функции getpagesize() или sysconf(_SC_PAGESIZE) для получения актуального размера страницы во время выполнения.
4. Тестирование: Android Studio предоставляет эмулятор с поддержкой 16 КБ страниц для arm64 и x86_64. На устройствах Pixel 8 и новее (с Android 15 QPR1) доступна опция переключения между 4 КБ и 16 КБ для тестирования. Проверяйте размер страницы с помощью команды adb shell getconf PAGE_SIZE.

Инструменты Android Studio для упрощения перехода:
- APK Analyzer: Определяет наличие нативных библиотек и их совместимость с 16 КБ.
- Lint: Выделяет библиотеки, не соответствующие 16 КБ выравниванию.
- Эмулятор: Позволяет тестировать приложения в среде с 16 КБ страницами.

Рекомендации:
- Проверьте зависимости на совместимость с 16 КБ, при необходимости обратитесь к разработчикам SDK.
- Тестируйте приложения на устройствах и эмуляторах с 16 КБ страницами, чтобы избежать проблем с производительностью.
- Обновите код и инструменты заранее, чтобы соответствовать требованиям Google Play и обеспечить лучший пользовательский опыт.

Переход на 16 КБ страницы памяти улучшит производительность и подготовит приложения к будущим инновациям Android. Разработчикам рекомендуется начать подготовку уже сейчас, используя инструменты Android Studio и предоставленные ресурсы
https://android-developers.googleblog.com/2025/07/transition-to-16-kb-page-sizes-android-apps-games-android-studio.html
13🤔6👍3
Query Optimization Techniques .pdf
148.7 KB
10 рекомендаций по оптимизации SQL-запросов

Любая база данных позволяет извлекать информацию с помощью SQL-команд. Но если вы когда-либо работали с базами данных для получения информации, вы сталкивались с медленными запросами

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

Несколько способов оптимизации SQL:

1. Используйте имена столбцов вместо символа * в инструкции SELECT

2. Избегайте использования предложения HAVING в SQL-запросах

3. Исключайте ненужные условия в предложении WHERE

4. Избегайте вложенных подзапросов

5. Рассмотрите возможность использования предиката IN при запросе к индексированному столбцу

6. Используйте EXISTS вместо DELETE при работе с объединениями таблиц, которые включают таблицы с отношениями «один ко многим»

7. Старайтесь использовать UNION ALL вместо UNION

8. Избегайте использования оператора OR в условиях соединения

9. Избегайте функций в правой части оператора

10. Удалите все избыточные вычисления
👍17🤔92
Компания JetBrains изменила политику распространения среды IntelliJ IDEA: начиная с версии 2025.3, IntelliJ IDEA будет распространяться в виде единого дистрибутива, вместо отдельных версий Community и Ultimate.

Теперь будет доступен только один установщик IntelliJ IDEA, который заменит отдельные дистрибутивы для Community Edition и Ultimate Edition. В новой схеме распространения IntelliJ IDEA все функции Ultimate по-прежнему будут требовать подписку для их активации. Однако, как обещает JetBrains, даже без подписки среда разработки останется полностью функциональной, бесплатной как для коммерческого, так и для некоммерческого использования, и будет включать больше возможностей, чем когда-либо предлагала версия Community Edition.

Если вы сейчас используете Community Edition, ваша среда разработки автоматически обновится до единого дистрибутива через стандартный механизм патч-обновлений. Вы получите доступ к дополнительным функциям бесплатно и более целостный пользовательский опыт. Кроме того, вы сможете попробовать функции Ultimate в один клик.
Для пользователей Ultimate изменения минимальны: среда разработки будет называться просто IntelliJ IDEA, без суффикса «Ultimate».

https://blog.jetbrains.com/idea/2025/07/intellij-idea-unified-distribution-plan/
🔥27👍63
10 важнейших алгоритмов работы с графами
91
10 важнейших алгоритмов работы с графами: (описание к рисунку из предыдущего поста)

1. Поиск в глубину (Depth First Search, DFS) — алгоритм обхода графа, который максимально глубоко исследует каждую ветвь перед переходом к следующей.

2. Поиск в ширину (Breadth First Search, BFS) — алгоритм обхода графа, который сначала исследует все соседние вершины, прежде чем перейти к вершинам на следующем уровне.

3. Топологическая сортировка (Topological Sort) — алгоритм упорядочивания вершин ориентированного ацикличного графа таким образом, что для каждого ребра (u, v) вершина u предшествует вершине v.

4. Объединение-поиск (Union Find) — структура данных для эффективного управления разбиением множества на непересекающиеся подмножества.

5. Обнаружение циклов (Cycle Detection) — алгоритм для выявления наличия циклов в графе.

6. Связанные компоненты (Connected Components) — алгоритм для нахождения подграфов, где между любыми двумя вершинами существует путь.

7. Двудольные графы (Bipartite Graphs) — графы, вершины которых можно разделить на две независимые группы так, что рёбра соединяют только вершины из разных групп.

8. Заполнение области (Flood Fill) — алгоритм для определения и заполнения связанных областей одинакового цвета или типа.

9. Минимальное остовное дерево (Minimum Spanning Tree) — алгоритм для нахождения подграфа-дерева с минимальным суммарным весом рёбер, включающего все вершины исходного графа.

10. Кратчайший путь (Shortest Path) — алгоритм для нахождения пути минимальной длины между двумя вершинами графа.
4👍3🔥3🥰1
Количество вакансий для IT-специалистов начало сокращаться впервые за три года

Несмотря на импортозамещение и цифровизацию, число открытых вакансий для разработчиков софта в РФ впервые с 2022 года сократилось и составило, по данным HeadHunter за первое полугодие, 291 тыс. против свыше 300 тыс. год назад. Снижение числа объявлений о вакансиях для IT-специалистов заметили и в других кадровых агентствах.

По данным HeadHunter, на площадке количество размещенных объявлений снизилось за полугодие на 20%, до 220 тыс. вакансий. «Еще в прошлом году на рынке начала формироваться тенденция к сокращению персонала в крупных IT-компаниях, в том числе среди разработчиков, в пользу перераспределения нагрузки у тех, кто остается, и повышения их зарплат»,— говорит представитель HeadHunter. Однако, уточняет он, если на должности младших специалистов наблюдается профицит кадров (11,1 резюме на одну вакансию), то среди высококвалифицированных специалистов (senior) наблюдается дефицит — 2,3 резюме на одну вакансию.
Многие компании начали оптимизацию этого сегмента бизнеса, в том числе посредством сокращения дорогостоящих специалистов, объясняют участники рынка. Параллельно начинается процесс внедрения искусственного интеллекта в IT-сфере, что, по текущим оценкам, способно сэкономить до 30–50% бюджетов. Однако заменить разработчиков высокой квалификации ИИ не в состоянии, по крайней мере пока.

https://www.kommersant.ru/doc/7891622
😁8👍3🔥2🐳2👎1🤬1