METANIT.COM – Telegram
METANIT.COM
5.98K subscribers
1.69K photos
81 videos
9 files
1.08K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
ОТрисовка различных диаграмм и графиков на языке Python #python
👍17🔥84
До конца 2025 г. российские компании сократят 15-20% ИТ-персонала. В первую очередь увольнения коснутся начинающих специалистов, а также тех, чьи знания лежат в плоскости устаревших и неактуальных в России технологий.
Сокращения сотрудников в российском ИТ-секторе до конца 2025 г. могут достигнуть отметки 15-20%, сообщили представители финтех-разработчика и интегратора Fork-Tech
Этому способствует несколько факторов. В первую очередь – это необходимость сокращения расходов для стабилизации финансового положения. Вторым по значимости остается оптимизация структуры для повышения эффективности
Первыми в очереди на увольнение окажутся стажеры и специалисты начального уровня – джуны. Угроза увольнения висит также над теми, чей даже массивный багаж знаний мало ценится в современных российских реалиях, те, кто пишет на малоиспользуемых языках, и просто работники с низкой производительностью
https://www.cnews.ru/news/top/2025-02-21_rossiya_na_poroge_massovogo
🤬12🤡3🤔2💩21👍1🤯1🎉1
В февраля 2025 года исполняется 30 лет выпуску Delphi от Borland, которая объединила версию Object Pascal от Borland, а также конструктор графического интерфейса и доступ к базе данных в единое целое.
Появление в столь раннем 1995 году означало, что сам Delphi появился на шесть месяцев раньше Windows 95: он начинался как 16-разрядный инструмент для Windows 3.1.
Кодовое название, которое после долгих внутренних споров стало названием продукта, отражало, что он был задуман как локальный инструмент быстрой разработки приложений, который помогал общаться с Oracle.
В настоящее время Delphi поддерживается и развивается компанией Embarcadero. На сегодняшний день Delphi поддерживает создание большого спектра приложений, в том числе мобильные приложения. Для пользователей доступен как платный, так и бесплатный выпуск Delphi Community Edition 12
https://blogs.embarcadero.com/celebrating-the-30th-anniversary-of-delphi-version-1-0s-launch/
🔥135🎉3👏1🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Типы памяти AI-агента

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

𝟮. Семантическая - любая внешняя информация, доступная агенту, и любые знания, которые агент должен иметь о себе. Это могут быть внутренние знания, доступные только агенту

𝟯. Процедурная - системная информация, такая как структура системного промта, доступные инструменты, защитные механизмы и т.д. Обычно хранится в реестрах Git, реестрах промта и интрументов

𝟰. Иногда приложение-агент при необходимости извлекает информацию из долговременной памяти и сохраняет ее локально

𝟱. Вся информация, собранная из долговременной или хранящейся в локальной памяти, называется кратковременной или рабочей памятью. Компиляция всего этого через промт передается в LLM и указывает на дальнейшие действия, которые должна выполнить система
Лучший способ найчиться программировать
😁19🔥5😨4
Устаревание кэша

Кэшировать легко, но поддерживать его актуальность сложно. Кэш устаревает при изменении данных в БД.
Смягчить эту проблему можно через политику обновления, которая периодически извлекает последние данные и обновленяет кэш
Процесс:
• Таймер запускает операцию обновления через фиксированный интервал
• Кэш отправляет запрос в БД на обновление данных
• БД предоставляет самые последние данные
• Кэш обновляет сохраненное значение

Но более короткие интервалы обновления увеличивают затраты ресурсов.

Альтернативный вариант - обновить кэш или сделать его недействительным
Процесс:
• Клиент отправляет запрос на обновление/удаление в БД
• БД обрабатывает запрос и подтверждает изменение
• БД запускает событие недействительности кэша, чтобы уведомить кэш об изменении
• Кэш либо удаляет, либо обновляет соответствующую запись

Периодическое обновление просто, но может привести к устареванию данных. Политика недействительности кэша сохраняет данные свежими, увеличивает сложность
👍9
Вышла новая версия IDE Apache Netbeans - Netbeans 25. Netbeans - это кросплатформенная IDE (Windows, Linux, MacOS), которая поддерживает работу с различными языками и технологиями, в частности, Java, C/C++, JavaScript, TypeScript, PHP, Groovy и т.д.
В новой версии улучшена поддержка Gradle и Maven, а также языков Java, TypeScript и PHP, добавлена поддержка для последних подверсий веб-серверов GlassFish 7 и GlassFish 8, улучше поддержка Jakarta EE 11 и ряд других изменений.
https://netbeans.apache.org/front/main/download/nb25/
👍13
Apple ограничила разработчикам из России доступ к инструментам для создания корпоративных бизнес‑приложений Apple Developer Enterprise Program (ADEP).
Доступ к инфраструктуре ADEP позволяет корпоративным клиентам разрабатывать приложения для операционной системы iOS и распространять их среди своих сотрудников без публикации в магазине App Store.
В экосистеме Apple существует два типа программ для разработчиков: Apple Developer Program (ADP) и Apple Developer Enterprise Program. ADP — это стандартный аккаунт, который позволяет публиковать приложения в App Store, который могут получить как физлица, так и компании. ADEP — программа, предназначенная исключительно для юрлиц.
Решения на базе ADEP активно применяли практически все крупные корпорации и компании‑разработчики РФ, чтобы обеспечить сотрудников цифровыми инструментами внутри своей экосистемы. Кроме того, различные разработчики активно использовали Enterprise‑аккаунт для ускорения процесса тестирования приложений без необходимости выкладки в публичный магазин App Store.
Блокировка и удаление аккаунтов корпоративных разработчиков Apple может серьёзно повлиять на рынок мобильных приложений. Компании будут вынуждены пересматривать свои стратегии, искать обходные пути и инвестировать в альтернативные платформы
https://www.rbc.ru/technology_and_media/24/02/2025/67b9be389a79470a2de2be8a
👎15😁7👍4💩4🥱3🤡1
Как работае Apache Kafka
7
Новое исследование GitClear, основанное на анализе 211 миллионов строк кода, предполагает, что применение AI-агентов при программировании снижает качество кода, увеличивая дублированный и скопированный/вставленный код и уменьшая рефакторинг.

GitClear проанализировал код клиентов, а также проектов с открытым исходным кодом, изучая метрики для изменений кода, таких как добавление, удаление, перемещение и обновление. Исследователи обнаружили, что количество блоков кода с 5 или более дублированными строками увеличилось в 8 раз в течение 2024 года. Дублированный код может работать правильно, но часто является признаком плохого качества кода, поскольку он добавляет раздувание, предполагает отсутствие четкой структуры и увеличивает риск дефектов, когда один и тот же код обновляется в одном месте, но не в других. GitClear добавляет, что функции, которые вызываются из разных мест, в отличие от скопированных/вставленных, более «проверены в бою».

Исследователи также отметили снижение количества перемещенных строк на 39,9 процента. Перемещение кода свидетельствует о рефакторинге, то есть о улучшении качества кода без изменения его функций. Согласно GitClear, способность «объединять предыдущую работу в повторно используемые модули» является существенным преимуществом программистов-людей перед AI-агентами. 2024 год стал первым годом, когда количество скопированных/вставленных строк превысило количество перемещенных строк.

Исследование GitClear показывает, как увеличивается количество нового и скопированного кода, но уменьшается количество рефакторинга.

Причина, по словам GitClear, в том, что AI-агенты упрощают вставку новых блоков кода простым нажатием клавиши Tab. Менее вероятно, что ИИ предложит повторно использовать похожую функцию в другом месте кода, отчасти из-за ограниченного размера контекста, то есть объема окружающего кода, который используется для предложений ИИ.
https://devclass.com/2025/02/20/ai-is-eroding-code-quality-states-new-in-depth-report/
10👍3👏21
Как работает SSO.
Поэтапный процесс:

1️⃣ Запрос на доступ к сервису
Пользователь пытается получить доступ к сервису (Service Provider A)


2️⃣ Перенаправление к поставщику удостоверений (IdP или Identity Provider)
Service Provider A перенаправляет пользователя к IdP с запросом на вход

3️⃣ Пользователю предлагается войти в систему
IdP просит пользователя пройти аутентификацию, введя свои учетные данные (например, имя пользователя, пароль или MFA).

4️⃣ Предоставление учетных данных
Пользователь отправляет свои учетные данные в IdP для проверки.

5️⃣ Проверка учетных данных
IdP проверяет учетные данные пользователя по своей базе данных для подтверждения его личности.

6️⃣ Отправка токена
После проверки IdP генерирует защищенный подписанный токен (SAML или OAuth JWT) и отправляет его обратно поставщику услуг A (Service Provider A)

7️⃣ Доступ предоставлен
Поставщик услуг A проверяет токен и предоставляет доступ. Пользователь также может беспрепятственно получить доступ к другим подключенным услугам (Service Provider B) без повторного входа в систему.

SSO vs OAuth

OAuth
◾️ Протокол авторизации.
◾️ Позволяет приложениям получать доступ к ресурсам от имени пользователя.

SSO
◾️ Процесс аутентификации.
◾️ Позволяет пользователям получать доступ к нескольким приложениям с помощью одного входа.

Отношение
◾️ SSO часто использует OAuth + OIDC.
◾️ Также может полагаться на другие протоколы, такие как SAML или Kerberos, в зависимости от реализации
👍10🔥2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
[К предыдущему посту]
👍72🤝2
Шпаргалка по команде grep и использованию регулярных выражений в Linux
8🔥2👍1🥰1
Из текста в аудио и из аудио в текст с помощью Python #python
🔥91😁1
В Индустриальном центре компетенций (ИЦК) «Финансы» (состоит из системно значимых банков и финансовых организаций) обратились в Минобрнауки РФ с просьбой скорректировать программы подготовки IT‑специалистов под нужды финансовых организаций из‑за оторванности текущего уровня образования от реальных потребностей рынка.
В ИЦК «Финансы» пояснили, что «сделали запрос в Минобрнауки, для того чтобы была проведена корректировка программ профессионального обучения для дальнейшего обсуждения с министерством и понимания тех потребностей, которые могут быть закрыты учебными заведениями».
Профильные эксперты пояснили СМИ, что в настоящее время эта проблема имеет общий характер, так как во всех отраслях, включая финтех, ситуация с обучением IT‑специалистов показывает оторванность академических знаний, получаемых студентами, от реалий бизнеса...
https://habr.com/ru/news/885612/
👍4🔥21🤬1🤡1
Как работает API-шлюз (API gateway)
API-шлюз действует как единая точка входа для клиентов, обрабатывая маршрутизацию запросов, составление ответов и трансляцию протоколов. Он упрощает взаимодействие клиентов с микросервисами и предлагает дополнительные функции, такие как ограничение скорости, аутентификация, мониторинг и многое другое.
Чтобы лучше понять, как работает API-шлюз, рассмотрим, как он обрабатывает запрос:

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

2) Валидация запроса
API-шлюз обрабатывает и проверяет атрибуты запроса, чтобы убедиться в его правильном форматировании.

3) Проверки безопасности
Затем он выполняет проверки по спискам разрешенных и запрещенных запросов, чтобы отфильтровать неавторизованные или вредоносные запросы.

4) Аутентификация и авторизация
API-шлюз проверяет запрос, проверяя аутентификацию пользователя (например, проверяя токены или учетные данные) и гарантируя, что у клиента есть необходимые разрешения (авторизация) для доступа к запрашиваемым ресурсам.

5) Ограничение скорости
Применяются правила ограничения скорости; если запрос превышает допустимый лимит, он отклоняется.

6) Поиск сервисов и маршрутизация
После прохождения базовых проверок API-шлюз для обработки запроса находит соответствующий сервис, с которым сопоставлен путь запроса.

7) Перевод протокола
API-шлюз преобразует запрос в соответствующий протокол и отправляет его сервису.

8) Агрегация ответов
Если запрос требует данных из нескольких сервисов, API-шлюз агрегирует ответы. Он отправляет запросы в каждый соответствующий сервис, собирает результаты и объединяет их в единый связный ответ.

9) Отправка ответа
Шлюз отправляет результат обработки запроса обратно клиенту, гарантируя его доставку в ожидаемом формате и в оптимальные сроки.

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

В конечном счете, API-шлюз — это мощный инструмент, который не только упрощает взаимодействие клиентов с микросервисами, но и повышает безопасность, производительность и надежность за счет комплексной обработки и мониторинга запросов.
👍5
«Яндекс» запустила SourceCraft — платформу для разработки, тестирования и сборки проектов

26 февраля 2025 года «Яндекс» запустила SourceCraft — платформу для разработки, тестирования и сборки проектов. Пока система работает в тестовом режиме. Позже появится стабильная версия.
Компания отмечает, что в SourceCraft есть всё необходимое для работы с кодом, включая навигацию по проектам, CI/CD-систему и нейросетевого агента для генерации кода. Также в интерфейсе есть опция для анализа структуры проектов, чтобы было удобнее анализировать большие пул-реквесты.
Для автоматического дополнения в платформу встроен нейросетевой ассистент SourceCraft Code Assistant. Он поддерживает более 30 языков программирования, включая C++, Go, Java, Kotlin и Python. Также Yandex отметил, что вскоре в SourceCraft Code Assistant появится режим чата, чтобы ассистенту можно было задавать вопросы. Уже сейчас инструмент можно добавить в VS Code в виде плагина.
Платформа пока доступна в виде веб-приложения
https://sourcecraft.dev/
👍81