METANIT.COM – Telegram
METANIT.COM
5.89K subscribers
1.68K photos
81 videos
9 files
1.04K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Шпаргалка по событиям в 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
Вкратце все версии Java/JDK #java
👍15
В ГосДуме призвали WhatsApp готовиться к уходу с российского рынка

Первый зампред Госдумы по информполитике Антон Горелкин считает, что мессенджер WhatsApp вскоре может попасть под ограничения.
По словам депутата, мессенджер может войти в список ПО из недружественных стран, который правительство разрабатывает по поручению президента России. Telegram ограничения не коснутся, но регистрация мессенджера на Виргинских островах вызывает вопросы, подчеркнул господин Горелкин.

Сейчас примерно 68% россиян пользуются WhatsApp ежедневно, около 55% заходят в Telegram, рассказал депутат, По его мнению, долю лидера в случае запрета может получить национальный мессенджер Max. Господин Горелкин ожидает, что в нем будут реализованы «уникальные функции».

Накануне Владимир Путин поручил правительству разработать ограничения для ПО, произведенного в недружественных странах. Доклад должен быть готов к 1 сентября.
https://www.kommersant.ru/doc/7897955
🤡53👍10🤮7🤬5💩5👏1🥱1
REST API vs GraphQL
🤷‍♂17🔥8👌4
Исследователи из Microsoft изучили, какие профессии больше всего подвержены влиянию генеративного ИИ. Результаты исследования основаны исключительно на использовании Microsoft Copilot в США и могут не распространяться на другие платформы или страны.

Чтобы оценить влияние ИИ на разные профессии, исследователи разработали «показатель применимости ИИ», который учитывает частоту использования, процент успешных решений и то, насколько хорошо ИИ справляется с каждой задачей. Наивысшие баллы получили переводчики, историки, писатели, специалисты в области СМИ, консультанты по работе с клиентами и продавцы. Технические специалисты, такие как программисты ЧПУ и специалисты по обработке данных, также получили высокие оценки.

На другом конце шкалы находятся профессии, требующие физического труда, — сиделки, разнорабочие, уборщики и операторы станков, — на которые современные инструменты генеративного ИИ оказывают незначительное влияние. Исследование показало, что почти нет корреляции между тем, насколько ИИ подходит для той или иной работы, и уровнем заработной платы или образования. Хотя профессии, для которых требуется высшее образование, в меньшей степени подвержены влиянию искусственного интеллекта.

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

Авторы предостерегают от поспешных выводов о том, что возможности ИИ автоматически приведут к автоматизации или сокращению рабочих мест. Во многих случаях ИИ выступает в роли помощника, поддерживая и улучшая работу людей, а не заменяя её. Они приводят в пример банкоматы в банковской сфере: автоматизация изменила подход к работе, но также создала новые рабочие места в отрасли.
https://the-decoder.com/microsoft-study-shows-these-professions-are-most-affected-by-generative-ai/
👍8😁5🤮4🫡3
Вкратце как работает аутентификация через куки, сессии, токены, JWT, SSO и OAuth2
👍17🤔4🔥21