METANIT.COM – Telegram
METANIT.COM
5.92K subscribers
1.68K photos
81 videos
9 files
1.05K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Полезные однострочные выражения на языке Python #python
👍121🔥1🥰1🤮1
Шпаргалка по EDA vs Rest

Архитектура, управляемая событиями (Event-Driven Architecture или EDA)

Асинхронный режим: сервисы генерируют и потребляют события.
Лучше всего подходит для: высокой масштабируемости, слабой связанности и реагирования в реальном времени.
Идеальные варианты использования: IoT, обнаружение мошенничества, обработка заказов, потоковая передача данных.

REST (Representational State Transfer)

Синхронный режим: следует модели «запрос-ответ» по HTTP.
Лучше всего подходит для: строгой согласованности, простоты и стандартных операций CRUD.
Идеальные варианты использования: общедоступные API, порталы администраторов, доступ на основе ресурсов.

⚠️ Предостережения

• REST может испытывать трудности с требованиями в реальном времени и динамическим масштабированием.
• EDA усложняет отладку, упорядочивание и конечную согласованность.

💡 Эти архитектуры не являются взаимоисключающими.

Многие современные системы сочетают в себе:
→ REST для управления
→ EDA для работы с данными
👍32
Краткий совет по Linux:

Используйте "du -h", чтобы быстро узнать размер всех файлов в текущем каталоге.

$ du -h

Флаг -h показывает размеры в удобном для восприятия формате (КБ, МБ, ГБ), поэтому вы можете легко обнаружить большие файлы и каталоги.
#linux
🔥61👏1👌1🤨1
Секретные (нет) коды для Android #android
👍24😁9👎7
Шпаргалка по отправке сигналов процессам в Linux #linux
12🔥1🥰1
Сооснователь и президент OpenAI Грег Брокман недавно заявил, что пока инструменты ИИ забрали у людей лишь самую интересную часть работы, а разработчикам приходится заниматься рутиной.

«Когда-нибудь ИИ возьмёт на себя всё больше рутины, проблемных задач, вещей, которыми людям не очень нравится заниматься. Но пока ИИ лишь отобрал ту часть работы с кодом, которая приносит удовольствие», — пояснил Брокман.
По его словам, инженерам приходится заниматься «невесёлыми» вещами, в том числе отладкой и развёртыванием кода. Брокман надеется, что ИИ станет лучше в этих задачах и будет «полноценным ИИ-сотрудником», которому можно делегировать рутинную работу.

Генеральный директор GitHub Томас Домке полагает, что ИИ может даже замедлить работу опытных программистов. Топ-менеджер заметил, что, «по сути заменили то, что я могу сделать за три секунды, на то, что может занять три минуты или даже больше».
https://www.businessinsider.com/openai-cofounder-greg-brockman-vibe-coding-fun-engineering-swe-quality-2025-6?IR=T
👍19💩8🤣3🤡21🔥1👏1🤮1
Госдума РФ приняла во втором и третьем чтении законопроект, который запретит компании Apple мешать установке RuStore на свои смартфоны и планшеты. Документ принят сразу во втором и третьем чтении. Документ устанавливает новые правила для приложений, которые работают на технически сложных товарах. В частности — на смартфонах и планшетах.
С 1 сентября 2025 года компании не смогут вводить ограничения, которые мешают использовать приложения российских разработчиков и единый российский магазин RuStore. Все такие устройства, продаваемые в России, должны будут:
- разрешать установку и обновление приложений;
- позволять оплачивать приложения и услуги внутри них с помощью RuStore.

Запрещается:
- блокировка программ из сторонних источников;
- отключение функций устройств из-за сторонних программ;
- навязывание ценовой политики разработчикам;
- ограничение способов оплаты в приложениях.

https://ria.ru/20250624/gosduma-2025104934.html

Ну и также сегодня президент подписал закон о создании в России национального мессенджера. Мессенджер должен объединить госуслуги, финансы и бизнес в одном приложении. Новый сервис станет продолжением «Госуслуг» и упростит повседневные задачи и снизит риски мошенничества.
С помощью новой платформы можно будет подтверждать личность, предъявлять водительские права и студенческие билеты, пользоваться льготами. Также через приложение можно будет отправлять документы в госорганы и получать ответы.
🤡50👍18🤮3🔥2🕊21👎1
В руководство по языку Go добавлены статьи про обработку ошибок:

Изоморфная обработка ошибок
https://metanit.com/go/tutorial/11.1.php

Тип error
https://metanit.com/go/tutorial/11.2.php

Оператор defer и отложенное выполнение функций
https://metanit.com/go/tutorial/2.18.php

Оператор panic
https://metanit.com/go/tutorial/11.3.php

Восстановление после ошибки и функция recover
https://metanit.com/go/tutorial/11.4.php

#go #golang
👍188🔥2🍌2👏1
6 структур данных для экономии места в базе данных

Фильтр Блума
Снижает стоимость поиска, проверяя, является ли элемент членом множества.

HyperLogLog (Гиперлоглог)
Оценивает количество уникальных элементов.

Cuckoo filter (Фильтр кукушки)
Проверяет, принадлежит ли элемент множеству.

Minhash (Минимальный хэш)
Находит сходство между множествами.

SkipList (Список с пропусками)
Эффективно ищет, вставляет и удаляет элементы из отсортированного списка.

Count-min sketch
Находит частоту элементов в большом потоке данных.
👍18🔥21👏1🤨1
Краткий совет по Linux:

Нужно быстро создать пустой файл? Используйте следующую команду:

$ touch notes.txt

touch создает новый файл (в данном случае с именем notes.txt), если он не существует, или обновляет его временную метку, если он существует.

Идеально подходит для запуска файлов конфигурации, скриптов или файлов-заполнителей.
#linux
🤯185🔥3😁3👏2💊2🍌1
12 популярных алгоритмов для системного дизайна

Bloom Filter
(Блум-фильтр)
🔹 Снижает затраты на поиск

Geohash
(Геохеш)
🔹 Службы, основанные на местоположении

Hyperloglog
(Гиперлоглог)
🔹 Оценка количества уникальных элементов

Consistent Hashing
(Консистентное хеширование)
🔹 Распределение объектов данных в кластере

Merkle Tree

(Дерево Меркла)
🔹 Обнаружение несоответствий между узлами

Raft Algorithm
(Алгоритм Raft)
🔹 Алгоритм консенсуса в базах данных

Lossy Count

🔹 Эффективный подсчёт частоты элементов

QuadTree
(Квадродерево)
🔹 Службы, основанные на местоположении

Operational Transformation
(Операционное преобразование)
🔹 Используется для совместного редактирования

Leaky Bucket
(Протекающее ведро)
🔹 Используется для ограничения скорости в API

Rsync
🔹 Синхронизация файлов и папок между устройствами

Ray Casting
(Трассировка лучей)
🔹 Обнаружение столкновений, рендеринг в компьютерной графике
🔥9
Как работает Python #python
🔥20👌8🤨5👏1🤮1🙏1
Новый отчёт Microsoft Work Trend Index демонстрирует размывание границ рабочего времени, когда сотрудники работают утром, вечером и по выходным. Авторы доклада отмечают, что ИИ может лишь усилить рабочую нагрузку.

Исследование базируется на анализе поведения миллионов пользователей Microsoft 365 и опросе более 31 тыс. сотрудников в 31 стране.

Согласно данным, активность в почте и мессенджерах начинается до 6 утра и продолжается после 20:00. Среднестатистический работник получает 117 писем в день — большинство из них просматриваются менее чем за 60 секунд. Стоит отметить, что активность в Microsoft Teams выше, чем в сервисах электронной почты, уже к 8 утра.
При этом более трети сотрудников отвечают на письма поздним вечером, а 16% участвуют в онлайн-встречах после официального окончания рабочего дня.
В выходные же приложения Word, Excel и PowerPoint используют более активно, чем Teams и другие, поскольку сотрудники «наконец-то выкраивают время для непрерывной сосредоточенной работы».

В итоге почти половина работников (48%) и более половины руководителей (52%) говорят, что их работа кажется хаотичной.

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

https://www.microsoft.com/en-us/worklab/work-trend-index/breaking-down-infinite-workday
🔥15👏3🥰1
Добавлена статья про Наборы символов и кодировки
https://metanit.com/common/langs/1.4.php
❤‍🔥11👍9👏1
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