en
Feedback
METANIT.COM

METANIT.COM

Open in Telegram

Канал о программировании и разработке сайта metanit.com

Show more
6 083
Subscribers
No data24 hours
-77 days
-5530 days
Posts Archive
Краткая шпаргалка по сервис-ориентированной архитектуре (SOA) 1. Принципы SOA: - Loose Coupling (Слабая связанность): Сервисы
Краткая шпаргалка по сервис-ориентированной архитектуре (SOA) 1. Принципы SOA: - Loose Coupling (Слабая связанность): Сервисы независимы друг от друга. - Reusability (Многократное использование): Сервисы можно использовать повторно. - Interoperability (Совместимость): Сервисы могут взаимодействовать между собой на разных платформах. 2. Компоненты SOA: - Enterprise Service Bus (ESB): Центральный элемент, обеспечивающий маршрутизацию, преобразование протоколов и данных. - Сервисы: - Order Service: Управление заказами. - Customer Service: Работа с клиентами. - Data Service: Обработка данных. - Клиентские приложения: Используют сервисы через ESB. 3. Ключевые преимущества: - Гибкость и адаптивность: Легкость в изменении и настройке системы. - Масштабируемость: Возможность расширения системы. - Снижение затрат: Экономия ресурсов за счет повторного использования сервисов. - Упрощение интеграции: Легкость подключения новых компонентов.

Microsoft намерена превратить Edge на ПК в «агентский браузер» и позволить Copilot управлять им — перемещаться по вкладкам и выполнять задачи, пока пользователь просматривает контент. Об этом сообщил руководитель Microsoft AI Мустафа Сулейман в беседе с изданием The Verge. В отличие от других компаний (например, The Browser Company), Microsoft не планирует разрабатывать отдельный ИИ-браузер, рассказал Сулейман. Вместо этого Copilot будет глубже интегрирован в Edge. «Copilot будет объединять вкладки, создавать новые объекты, нажимать кнопки, искать информацию, а вы сможете наблюдать за развитием событий и время от времени вмешиваться, если захотите. Вы всегда будете контролировать ситуацию», — рассказывает Сулейман. Опция «агентского браузера» будет включаться по желанию. https://www.theverge.com/tech/783795/microsoft-ai-ceo-mustafa-suleyman-future-of-browser-interview-notepad

В руководство по языку Java добавлены новые статьи: Sealed-классы и интерфейсы https://metanit.com/java/tutorial/3.25.php" Pa
В руководство по языку Java добавлены новые статьи: Sealed-классы и интерфейсы https://metanit.com/java/tutorial/3.25.php" Pattern мatching. Паттерн типов https://metanit.com/java/tutorial/3.26.php" Pattern мatching. record-паттерн https://metanit.com/java/tutorial/3.27.php" #java

Ищу желающих заполнять карточки товаров на ВБ! Работа полностью на удаленке с зп до150 000 рублей в месяц. Без опыта, нужен т
Ищу желающих заполнять карточки товаров на ВБ! Работа полностью на удаленке с зп до150 000 рублей в месяц. Без опыта, нужен только телефон, занятость 3-6 часов в день. Всему обучат на бесплатном курсе и после возьму на работу: ✅ 3 дня уроков по 30 минут ✅ Домашки с проверкой и оплатой бонусами ✅ Плачу 10 тыс за каждую выполненную домашку Все кто пройдет курс, получат сертификат от школы с образовательной лицензией. ⚡ Набор заканчивается завтра. 👍 Для регистрации жмите кнопку "Зарегистрироваться": Зарегистрироваться #реклама 16+ course.wildmanager.ru О рекламодателе

Простой способ отправки email на Python: import smtplib HOST = "smtp.mydomain.com" SUBJECT = "Test email from Python" TO = "m
Простой способ отправки email на Python:
import smtplib

HOST = "smtp.mydomain.com"
SUBJECT = "Test email from Python"
TO = "mike@mydomain.com"
FROM = "python@mydomain.com"
text = "blah blah blah"
BODY = "\r\n".join((
    f"From: {FROM}",
    f"To: {TO}",
    f"Subject: {SUBJECT}",
    "",
    text
))

server = smtplib.SMTP(HOST)
server.sendmail(FROM, [TO], BODY)
server.quit()

Вкратце об эволюции Windows
Вкратце об эволюции Windows

Наглядно как идет взаимодействие между клиентом и базой данных. Но в разных СУБД различается принцип использования подключений: Postgres: process-per-connection MySQL: thread-per-connection

Основные структуры данных в одной таблице
Основные структуры данных в одной таблице

Инвестиция в себя — лучший вклад Текст: ✅Курс «Наука жизни» стоит денег, но его ценность выше: энергия, новые цели, гармоничные отношения и внутренний баланс. ✨Рассрочка 0% делает обучение доступным. ⚡Сделайте шаг к изменениям сегодня. Пробный курс действует до 24.10.2025 Записаться #реклама 16+ online.ivop.pro О рекламодателе

Наглядно, как изменялась производительность в .NET по версиям на примере одного запроса LINQ
Наглядно, как изменялась производительность в .NET по версиям на примере одного запроса LINQ

Ипортозамещение откладывается. Слишком сырое, очень дорогое. Названы причины, почему российские компании не хотят переходить на отечественное ПО Отечественный бизнес не очень стремится отказываться от иностранного ПО в пользу отечетсвенного. ПРичины такого отношения: дороговизна российского софта, его малофункциональность, его «сырость» и нестабильность работы, трудности внедрения, а также совмения в его безопасности Если российским компаниям приходится расставаться с зарубежным лицензионным софтом, то в качестве альтернативы они предпочитают Open Source, а не отечественные решения https://www.cnews.ru/news/top/2025-09-26_slishkom_syroeizbytochno

Пессимистическая и оптимистическая блокировки в базах данных (продолжение предыдущего поста) Пессимистическая и оптимистическая блокировки используются для управления доступом к данным в базах данных, чтобы избежать конфликтов при одновременном изменении одних и тех же данных разными пользователями или процессами. ### Пессимистическая блокировка Цель: Предотвратить конфликты заранее, блокируя данные до их изменения. Как работает: 1. Система блокирует данные сразу после их извлечения. 2. Другие пользователи не могут изменять эти данные, пока блокировка не будет снята. 3. После завершения транзакции блокировка снимается. Преимущества: - Гарантирует целостность данных. - Подходит для систем с высокой конкуренцией за данные (например, финансовые операции). Недостатки: - Может снижать производительность из-за ожидания других процессов. - Увеличивает вероятность взаимоблокировок (deadlocks). ### Оптимистическая блокировка Цель: Позволить параллельную работу, проверяя конфликты только при сохранении изменений. Как работает: 1. Данные читаются без блокировки. 2. При сохранении изменений система проверяет, не были ли данные изменены другими пользователями. 3. Если конфликт обнаружен, транзакция откатывается, и пользователь должен повторить попытку. Преимущества: - Высокая производительность, так как блокировки используются редко. - Меньше вероятность взаимоблокировок. Недостатки: - Подходит только для систем с низкой конкуренцией за данные. - Возможны потери изменений при частых конфликтах. ### Когда использовать? - Пессимистическая блокировка: - В системах с частыми изменениями одних и тех же данных. - Когда важна абсолютная целостность данных. - Оптимистическая блокировка: - В системах с большим количеством чтений и редкими изменениями. - Когда конфликты происходят редко, и их последствия незначительны.

Пессимистическая и оптимистическая блокировки в базах данных (описание в следующем посте)
Пессимистическая и оптимистическая блокировки в базах данных (описание в следующем посте)

25 сентября 2025 года состоялся релиз стабильной версии СУБД PostgreSQL 18, обновления для которой будут выходить в течение пяти лет до ноября 2030 года. PostgreSQL 18 включает множество новых функций и улучшений, среди которых: * Подсистема асинхронного ввода-вывода (AIO), которая способна повысить производительность последовательных сканирований, сканирований с использованием битовых карт, операций очистки (vacuum) и других операций. * Утилита pg_upgrade теперь сохраняет статистику оптимизатора. * Поддержка поиска skip scan, позволяющая использовать многоколоночные B-tree индексы в большем количестве случаев. * Функция uuidv7() для генерации UUID с упорядочиванием по временной метке. * Виртуальные генерируемые столбцы, которые вычисляют свои значения во время операций чтения. Теперь это настройка по умолчанию для генерируемых столбцов. * Поддержка аутентификации OAuth. * Поддержка OLD и NEW в предложениях RETURNING для команд INSERT, UPDATE, DELETE и MERGE. * Временные ограничения (или ограничения над диапазонами) для PRIMARY KEY, UNIQUE и FOREIGN KEY ограничений. https://www.postgresql.org/docs/18/release-18.html

Cравнение двух методов аутентификации и хранения данных в веб-приложениях: Куки и Сессии. (продолжение в предыдущего поста) ### Cookies - Хранение данных: Данные хранятся на стороне клиента (в браузере пользователя). - Процесс работы: 1. Пользователь отправляет свои учетные данные на сервер. 2. Сервер устанавливает Cookie с пользовательскими данными или токеном. 3. При последующих запросах браузер отправляет Cookie вместе с запросом. 4. Сервер отвечает данными, используя информацию из Cookie. ### Sessions - Хранение данных: Данные хранятся на сервере, а на стороне клиента сохраняется только идентификатор сессии (Session ID). - Процесс работы: 1. Пользователь отправляет свои учетные данные на сервер. 2. Сервер создает сессию и устанавливает Cookie с Session ID. 3. При последующих запросах браузер отправляет Session ID. 4. Сервер ищет сессию по идентификатору. 5. Сервер возвращает данные сессии. 6. Сервер отвечает данными пользователю. ### Основные различия - Cookies: - Данные хранятся в браузере пользователя. - Более подвержены уязвимостям, таким как атаки CSRF. - Ограничены по размеру (обычно до 4 КБ). - Sessions: - Данные хранятся на сервере, что повышает безопасность. - Требуют больше ресурсов на сервере. - Могут быть более сложными в реализации, особенно в распределенных системах.

Cравнение двух методов аутентификации и хранения данных в веб-приложениях: Куки и Сессии. (продолжение в следующем посте)
Cравнение двух методов аутентификации и хранения данных в веб-приложениях: Куки и Сессии. (продолжение в следующем посте)

Рекламируйте бизнес в МегаФон Таргет со 100% кешбэком До 30 ноября получите кешбэк 100% за запуск рекламы на сумму от 10 000
+1
Рекламируйте бизнес в МегаФон Таргет со 100% кешбэком До 30 ноября получите кешбэк 100% за запуск рекламы на сумму от 10 000 руб Находите новых клиентов для своего бизнеса через рекламную платформу МегаФон Таргет! — На платформе доступен запуск рекламы в Telegram Ads — 100+ готовых сегментов аудитории из базы Big Data МегаФона ПроБизнес — Более 78 млн потенциальных клиентов — Выгодная цена за смс от 3,5 руб — И многое другое Получить предложение #реклама megafon.ru О рекламодателе

Вкратце по шаблонам проектирования Почему шаблоны проектирования важны? 1. Возможность повторного использования * Проверенные решения, которые работают в разных проектах 2. Гибкость * Способствуют слабой связности компонентов и упрощают поддержку 3. Коммуникация * Создают общий язык для обсуждения проблем проектирования и их решений 4. Опыт * Инкапсулируют опыт опытных разработчиков, помогая другим избегать типичных ошибок и создавать более качественное ПО Рассмотрим основные задачи которые решают шаблоны. Порождающие шаблоны 1. Абстрактная фабрика * Создаёт семейства взаимосвязанных объектов через общий интерфейс 2. Строитель * Разделяет построение сложного объекта от его представления 3. Фабричный метод * Определяет интерфейс для создания объектов * Позволяет подклассам выбирать конкретный класс для создания 4. Прототип * Создаёт новые объекты путём копирования прототипа 5. Одиночка * Гарантирует, что класс имеет только один экземпляр Структурные шаблоны 6. Адаптер * Преобразует один интерфейс в другой, позволяя несовместимым классам работать вместе 7. Мост * Разделяет абстракцию и реализацию, позволяя им изменяться независимо 8. Компоновщик * Обрабатывает отдельные объекты и их композиции единообразно, представляя иерархии часть-целое 9. Декоратор * Динамически добавляет функциональность объекту без использования наследования 10. Фасад * Предоставляет упрощённый интерфейс к сложной подсистеме 11. Лёгковес * Разделяет объекты для уменьшения использования памяти при большом количестве мелких объектов 12. Заместитель * Контролирует доступ к объекту, предоставляя различные возможности, такие как отложенная загрузка или удалённый доступ Поведенческие шаблоны 13. Цепочка ответственности * Разделяет отправителей и получателей запросов, позволяя нескольким объектам обрабатывать запрос 14. Команда * Инкапсулирует запросы в объекты, позволяя вести логирование, создавать очереди и выполнять операции отмены/повтора 15. Интерпретатор * Определяет грамматику языка и интерпретатор для выполнения выражений 16. Итератор * Обеспечивает последовательный доступ к элементам агрегата без раскрытия внутреннего представления 17. Посредник * Инкапсулирует взаимодействие объектов, способствуя слабой связности 18. Хранитель * Сохраняет и восстанавливает состояние объекта без нарушения инкапсуляции 19. Наблюдатель * Автоматически уведомляет зависимые объекты при изменении состояния 20. Состояние * Изменяет поведение объекта при изменении его внутреннего состояния 21. Стратегия * Инкапсулирует взаимозаменяемые алгоритмы, позволяя клиентам выбирать их динамически 22. Шаблонный метод * Определяет скелет алгоритма, откладывая шаги реализации на подклассы 23. Посетитель * Добавляет новые операции к структурам объектов без изменения классов элементов

Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

Редакторы журнала IEEE Spectrum опубликовали ежегодный рейтинг языков программирования. В списке популярных языков традиционн
+1
Редакторы журнала IEEE Spectrum опубликовали ежегодный рейтинг языков программирования. В списке популярных языков традиционно лидируют Python, Java, C++ и SQL. В «Spectrum» отмечают, что самым большим изменением в пятёрке лидеров стало падение JavaScript с 3-его места в прошлом году на 6-ое в этом году. Издатели связывают это падение с тем, что, поскольку JavaScript часто используется для создания веб-страниц, а Vibe-кодинг такэе часто применяется для создания веб-сайтов, то это падение может быть связано с влиянием ИИ. В рейтинге «Jobs», который учитывает исключительно навыки, востребованные работодателями, Python также занял первое место, поднявшись со второго места в прошлом году, хотя знание SQL остаётся невероятно ценным навыком для резюме. https://spectrum.ieee.org/top-programming-languages-2025