METANIT.COM – Telegram
METANIT.COM
5.92K subscribers
1.68K photos
81 videos
9 files
1.05K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
9 основных архитектурных паттернов для взаимодействия между компонентами приложения
👍231
Сообщество Eclipse представило платформу Jakarta EE 11, которая предназначена для разработки корпоративных Java-приложений и которая пришла на смену Java EE.
Основной акцент сделан на повышении производительности разработчиков, оптимизации процессов тестирования и поддержке последних версий Java LTS (Java 17 и 21).
Ключевые особенности релиза включают:

- Для упрощения работы с данными добавлена новая спецификация Jakarta Data, которая предоставляет ряд интерфейсов: BasicRepository (для базовых операций с данными, минимизирующий шаблонный код), CrudRepository (для поддержки полного набора CRUD-операций для интуитивного взаимодействия с базами данных),
Pagination (для поддержки постраничной навигации (offset и cursor-based) для эффективной работы с большими наборами данных) и упрощённый язык для определения запросов на уровне методов в репозиториях.

- Модернизация Test Compatibility Kit (TCK): Обновлённые тестовые наборы с использованием JUnit 5 и Maven повышают удобство и гибкость тестирования, снижая барьеры для новых участников и способствуя инновациям в экосистеме Jakarta EE.

- Добавлена поддержка Java 21, в том числе таких возможностей, как виртуальные потоки (Virtual Threads), которые повышают масштабируемость и производительность за счёт снижения накладных расходов.

Ряд продуктов уже поддерживают данную спецификацию, в частности, Eclipse GlassFish (Web Profile), Open Liberty, WildFly, Payara Platform Community Edition и Fujitsu Software Enterprise Application Platform (Core Profile)

https://newsroom.eclipse.org/news/announcements/eclipse-foundation%E2%80%99s-jakarta-ee-working-group-announces-jakarta-ee-11-release
#java #jakarta_ee
6👀3❤‍🔥2👏1
Вкратце схематично, что представляет собой Jakarta EE 11
🔥72🥰1
Минспорта подготовил новый федеральный стандарт для подготовки киберспортсменов. Чтобы подтвердить квалификацию, киберспортсмену придется сдать нормативы по бегу на 30 метров, отжиманию от пола, а также выполнить клик-тест «ведущей рукой» — за 30 секунд нажать левую кнопку мыши не менее 180 раз.
Чтобы стать мастером спорта России по киберспорту, нужно будет помимо спортивных достижений накликать мышь 210-220 раз за полминуты.
Уполномоченная за обучение киберспортсменов организация должна обеспечить всем игрокам, которые в ней числятся, необходимую спортивную экипировку, оплатить проезд и жилье в случае проведения соревнований, а также доступ к тренажёрному залу. У каждого киберспортсмена должен быть отдельный ПК с видеокартой с 12 ГБ памяти.
https://www.kommersant.ru/doc/7835676
🤡71🤣32😁12🔥5🤮1
Список тревожных сигналов программного кода:

𝟭. 𝗦𝗵𝗮𝗹𝗹𝗼𝘄 𝗺𝗼𝗱𝘂𝗹𝗲. Интерфейс класса или метода не намного проще, чем реализация

𝟮. 𝗜𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻 𝗹𝗲𝗮𝗸𝗮𝗴𝗲. Решение по дизайну системы отражается сразу в нескольких модулях.

𝟯. 𝗧𝗲𝗺𝗽𝗼𝗿𝗮𝗹 𝗱𝗲𝗰𝗼𝗺𝗽𝗼𝘀𝗶𝘁𝗶𝗼𝗻. Структура кода основана на порядке выполнения операций, а не на сокрытии информации.

𝟰. 𝗢𝘃𝗲𝗿𝗲𝘅𝗽𝗼𝘀𝘂𝗿𝗲. API заставляет вызывающих абонентов знать о редко используемых функциях, чтобы использовать часто используемые функции

𝟱. 𝗣𝗮𝘀𝘀-𝘁𝗵𝗿𝗼𝘂𝗴𝗵 𝗺𝗲𝘁𝗵𝗼𝗱. Метод почти ничего не делает, кроме передачи своих аргументов другому методу с похожей сигнатурой

𝟲. 𝗥𝗲𝗽𝗲𝘁𝗶𝘁𝗶𝗼𝗻. Нетривиальный фрагмент кода повторяется снова и снова

𝟳. 𝗦𝗽𝗲𝗰𝗶𝗮𝗹-𝗴𝗲𝗻𝗲𝗿𝗮𝗹 𝗺𝗶𝘅𝘁𝘂𝗿𝗲. Cпециализированный код не отделен четко от кода общего назначения

𝟴. 𝗖𝗼𝗻𝗷𝗼𝗶𝗻𝗲𝗱 𝗺𝗲𝘁𝗵𝗼𝗱𝘀. Два метода настолько сильно зависят друг от друга, что понимание реализации одного требует понимания другого.

𝟵. 𝗖𝗼𝗺𝗺𝗲𝗻𝘁 𝗿𝗲𝗽𝗲𝗮𝘁𝘀 𝗰𝗼𝗱𝗲. Вся информация комментария очевидна из непосредственно следующего за ним исходного кода.

𝟭𝟬. 𝗜𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 𝗱𝗼𝗰𝘂𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 𝗰𝗼𝗻𝘁𝗮𝗺𝗶𝗻𝗮𝘁𝗲𝘀 𝗶𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲. Комментарий к интерфейсу описывает детали реализации, которые не нужны пользователям документируемого кода.

𝟭𝟭. 𝗩𝗮𝗴𝘂𝗲 𝗻𝗮𝗺𝗲. Название переменной или метода настолько неопределённое, что практически не несёт полезной информации

𝟭𝟮. 𝗛𝗮𝗿𝗱 𝘁𝗼 𝗽𝗶𝗰𝗸 𝗮 𝗻𝗮𝗺𝗲. Нелегко придумать точное и интуитивно понятное название для сущности

𝟭𝟯. 𝗛𝗮𝗿𝗱 𝘁𝗼 𝗱𝗲𝘀𝗰𝗿𝗶𝗯𝗲. Для полноты документация по переменной или методу должна быть расширена.

𝟭𝟰. 𝗡𝗼𝗻𝗼𝗯𝘃𝗶𝗼𝘂𝘀 𝗰𝗼𝗱𝗲. Поведение или смысл фрагмента кода невозможно понять.
23👍9🤮6🤔2
В руководство по языку Kotlin добавлена статья про Функции расширения с получателем (extension function with receiver)
https://metanit.com/kotlin/tutorial/5.9.php
#kotlin
👍125🤔2🤯1
Краткий совет по Linux:

Если вы хотите удалить пустые каталоги, команда find может облегчить эту задачу:

$ find . -type d -empty -exec rmdir -v {} +

Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст, прежде чем удалить его.

В качестве альтернативы вы также можете использовать эту команду для выполнения той же задачи:

$ find . -type d -empty -delete
👍13🤔3👌21
Добавленая новая статья про измерение времени выполнения программы на языке программирования Си
https://metanit.com/c/tutorial/10.4.php
#c_ansi
❤‍🔥12👍5👏2🔥1
Релиз Windows 11 версии 25H2 состоится до конца текущего года, подтвердила Microsoft. На это указывает информация в сборке операционной системы на канале Dev для участников программы Windows Insider.

Как и Windows 11 24H2, новая версия будет построена на платформе Germanium. Обе версии имеют одну и ту же ветку обслуживания. Функции 25H2 со временем появятся и в 24H2.

Новые функции будут включать новое меню «Пуск» для Windows 11, которое стало более настраиваемым, ИИ-агент в приложении «Параметры» и многое другое.
https://techcommunity.microsoft.com/blog/windows-itpro-blog/get-ready-for-windows-11-version-25h2/4426437
#windows
👎8🤮6👍5🤔3👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда компьютеры не могут в математику и что такое flloat
👏22🥰4🔥2🤔1🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают AI-агенты
👍4😁2🔥1🤔1🤮1
Краткий совет по Linux:

Хотите проверить, какой у вас дистрибутив? Используйте команду

$ cat /etc/os-release

Вывод команды отображает поля имени дистрибутива, версии и идентификатора.
Работает на большинстве современных систем Linux.
😁9🤯6🤣5🔥2👏2🥰1🍌1
Нормальные формы баз данных #sql #database
🔥15🥰1👏1
7 ключевых сложностей времени исполнения
👍144👏1
7 ключевых сложностей времени исполнения:
(описание к предыдущему посту)

1. O(1) — Постоянная сложность
- Время выполнения не зависит от размера входных данных.
- Пример: Доступ к элементу массива по индексу.

2. O(log n) — Логарифмическая сложность

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

3. O(n) — Линейная сложность

- Время выполнения растёт линейно вместе с размером входных данных.
- Пример: Поиск элемента в массиве путём последовательного перебора всех элементов.

4. O(n log n) — Линеаризованно-логарифмическая сложность
- Время выполнения возрастает чуть быстрее, чем линейно. Включает выполнение логарифмического числа операций для каждого элемента входных данных.
- Пример: Алгоритмы сортировки, такие как быстрая сортировка (quicksort) или сортировка слиянием (mergesort).

5. O(n²) — Квадратичная сложность
- Время выполнения пропорционально квадрату размера входных данных.
- Пример: Алгоритм пузырьковой сортировки, который сравнивает и потенциально меняет местами каждую пару элементов.

6. O(2ⁿ) — Экспоненциальная сложность
- Время выполнения удваивается с каждым добавлением нового элемента к входным данным. Такие алгоритмы становятся непрактичными для больших размеров входных данных.
- Пример: Генерация всех подмножеств множества.

7. O(n! ) — Факториальная сложность
- Время выполнения пропорционально факториалу размера входных данных.
- Пример: Генерация всех перестановок множества.
👍19🔥31👏1🙏1
Пользовательская база операционной системы Windows сократилась примерно на 400 миллионов пользователей за последние три года. Об этом свидетельствуют официальные заявления Microsoft. В 2022 году в годовом отчете компании указывалось, что Windows 10 и 11 использовались на более чем 1,4 миллиарда устройств, тогда как в недавнем посте исполнительного вице-президента Microsoft Юсуфа Мехди сообщается о «более чем одном миллиарде активных устройств» по состоянию на июнь 2025 года. Это указывает на значительное сокращение числа пользователей.
Основные причины сокращения:

- Смещение приоритетов к мобильным устройствам: Пользователи всё чаще заменяют ПК смартфонами и планшетами, которые становятся всё более мощными. Этот тренд начался ещё в 2019 году, но был временно приостановлен из-за пандемии, вызвавшей рост продаж ПК. Однако после пандемии тенденция к снижению использования ПК возобновилась.

- Конкуренция со стороны macOS и других систем: Хотя macOS (особенно после появления Apple Silicon) представляет угрозу, продажи Mac также снижаются (с 85% доходов Apple в прошлом до 7,7% в 2023 году). Это указывает на то, что пользователи не массово переходят на Mac, а скорее отказываются от ПК в пользу мобильных устройств.

- Агрессивное продвижение Windows 11: Microsoft активно побуждает пользователей переходить на Windows 11, так как поддержка Windows 10 прекратится в октябре 2025 года. Однако строгие аппаратные требования Windows 11 (например, необходимость TPM 2.0 и современных процессоров) ограничивают возможность обновления для многих устройств, что может способствовать оттоку пользователей.

Основные потребительские сегменты, продолжающие использовать Windows, — это геймеры и профессионалы, зависящие от специализированного ПО, доступного только на Windows. Тем не менее, даже в этих нишах наблюдается рост использования мобильных устройств и облачных решений, что снижает зависимость от традиционных ПК.

https://www.tomshardware.com/software/windows/windows-seemingly-lost-400-million-users-in-the-past-three-years-official-microsoft-statements-show-hints-of-a-shrinking-user-base

#вендекапец #windows
7🙉5🤔42🤩2🐳2
Спустя десятилетия это наконец случилось: в C++ была добавлена функция вывода в выходной поток - std::print, в том числе с применением форматирования. Правда, не все компиляторы полноценно поддерживают ее, либо степень поддержки может отличаться. Но тем не менее вскоре можно будет отправить std::cout на пенсию.
#cpp
24😢11😁7🤯4👎32😴2🎉1😐1
Из интервью Михаила Автухова, заместителя председателя правления Совкомбанка:
"ИИ действует как экзоскелет, многократно усиливая возможности сотрудников. Уже сейчас мы видим впечатляющие результаты:
Сотрудники без навыков программирования создают код с помощью ИИ"

https://finance.mail.ru/2025-06-30/bankir-avtuhov-bez-razvitiya-ii-banki-vstanut-66716644/

Если честно, стало страшно за Совкомбанк
🤣46😁152👍1
Агенты ИИ выполняют офисные задачи неправильно примерно в 70% случаев, и многие из них вообще не являются ИИ
Для проверки реальности исследователи разработали эталон для оценки того, как агенты ИИ выполняют общие рабочие задачи, такие как просмотр веб-страниц, написание кода, запуск приложений и общение с коллегами - среду моделирования, разработанную для имитации небольшой компании-разработчика программного обеспечения и ее бизнес-операций.

Исследователи проверили следующие модели и оценили их на основе показателей успешности выполнения задач. Результаты оказались неутешительными.
В ходе экспериментов обнаружилось, что самая производительная модель Gemini 2.5 Pro смогла автономно выполнить 30,3% предоставленных тестов до конца. Весь рейтинг протестированных ИИ-моделей:

Gemini-2.5-Pro ​​(30,3%)
Claude-3.7-Sonnet (26,3%)
Claude-3.5-Sonnet (24%)
Gemini-2.0-Flash (11,4%)
GPT-4o (8,6%)
o3-mini (4,0%)
Gemini-1.5-Pro ​​(3,4%)
Amazon-Nova-Pro-v1 (1,7%)
Llama-3.1-405b (7,4%)
Llama-3.3-70b (6,9%)
Qwen-2.5-72b (5,7%)
Llama-3.1-70b (1,7%)
Qwen-2-72b (1,1%)

https://www.theregister.com/2025/06/29/ai_agents_fail_a_lot/
😁175👍3👏2🔥1🤮1💯1
Асинхронная коммуникация и потеря данных