fa
Feedback
METANIT.COM

METANIT.COM

رفتن به کانال در Telegram

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

نمایش بیشتر
6 083
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-77 روز
-5530 روز
آرشیو پست ها
5 базовых концепций для высокой доступности приложения (продолжение предыдущего поста) Постоянная доступность приложения, особенно высоконагруженного, является одной из распространенных проблем при разработке и поддержке приложения. Рассмотрим 5 базовых концепций для высокой доступности на основе схемы: 1. Распределение нагрузки (Load Balancing) - Суть: распределение входящих задач или запросов между несколькими экземплярами системы. - Как реализовано на схеме: центральный элемент — Load Balancer — принимает запросы от клиентов (например, с ноутбуков или мобильных устройств) и направляет их на доступные экземпляры сервисов (Payments API, Orders API). - Цель: предотвратить перегрузку отдельных компонентов, равномерно распределить нагрузку, повысить общую производительность и доступность системы. - Дополнительно: Load Balancer выполняет проверки работоспособности (health checks) и перенаправляет трафик, если один из экземпляров выходит из строя. 2. Микросервисная архитектура (независимые сервисы) - Суть: разбиение системы на небольшие независимые сервисы, которые работают автономно. - Как реализовано на схеме: показаны отдельные сервисы — Payments API (с собственной базой данных — Payments Database) и Orders API. - Цель: изоляция сбоев — если один сервис выходит из строя, это не влияет на работу других. Это повышает устойчивость системы (resilience). - Пример: сбой в Orders API не затронет Payments API, и платежи продолжат обрабатываться. 3. Избыточность экземпляров (Multiple Instances) - Суть: запуск нескольких копий (экземпляров) ключевых компонентов системы, готовых заменить основные в случае сбоя. - Как реализовано на схеме: подразумевается, что для каждого сервиса (например, Payments API, Orders API) работают несколько экземпляров. - Цель: гарантировать непрерывную работу системы — если основной экземпляр падает, его заменяет резервный. - Преимущества: минимизация простоев, быстрое восстановление после сбоев. 4. Репликация данных (Data Replication) - Суть: автоматическое копирование данных из основной базы данных (Primary Database) в резервную (Secondary Database). - Как реализовано на схеме: стрелка с подписью «Replication» между Primary Database и Secondary Database показывает процесс синхронизации данных. - Цель: защита данных от потери при сбое основной базы. Если Primary Database становится недоступной, система переключается на Secondary Database. - Особенности: репликация может быть синхронной (данные копируются в реальном времени) или асинхронной (с небольшой задержкой). 5. Аварийное переключение (Failover) - Суть: автоматический переход на резервный компонент (сервис, база данных) при сбое основного. - Как реализовано на схеме: если основной компонент (например, Primary Database) выходит из строя, система переключается на Secondary Database (указано: «If a main component fails, you switch to a backup»). - Цель: обеспечить непрерывность работы системы при отказах ключевых компонентов. - Ключевые элементы: - мониторинг состояния компонентов; - автоматизация процесса переключения; - минимизация времени простоя (RTO — Recovery Time Objective). Итог: сочетание этих пяти концепций (балансировка нагрузки, микросервисы, избыточность, репликация и аварийное переключение) позволяет создать отказоустойчивую систему с высокой доступностью, способную быстро восстанавливаться после сбоев и обеспечивать непрерывную работу сервисов.

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

Продвижение в Telegram с помощью Яндекс Директа ⚡Запустите продвижение в телеграм-каналах и привлекайте целевую аудиторию 📱
+3
Продвижение в Telegram с помощью Яндекс Директа ⚡Запустите продвижение в телеграм-каналах и привлекайте целевую аудиторию 📱 Таргетинг по тематикам, регионам и каналам в Telegram Попробовать #реклама yandex.ru О рекламодателе

ИТ-шники из Индии уже в России. Но есть нюансы... "«В основном я работал в компаниях вроде Microsoft и использовал новые инструменты — ИИ, чат-боты, чат GPT и тому подобные, по сути я разработчик», — улыбаясь рассказывает журналистам смуглый мужчина в шапке и рабочей форме. С корреспондентами он говорит на английском. Индийского IT-шника отвлекли от подметания улицы в Санкт-Петербурге. Вместе с другими 16 трудовыми мигрантами он приехал из Индии в северную столицу еще осенью прошлого года. Их устроило к себе ​​АО «Коломяжское», которое занимается уборкой и очисткой территории...." https://www.gazeta.ru/social/2026/01/14/22334203.shtml

В сети представлен скрипт PowerShell для удаления функций ИИ из Windows. Скрипт доступен в репозитории на gtihub: https://github.com/zoicware/RemoveWindowsAI?tab=readme-ov-file Как сказано в преамбуле проекта, цель скрипта — удалить ВСЕ ИИ функции для улучшения пользовательского опыта, конфиденциальности и безопасности, так как текущая сборка Windows 11 25H2 и будущие сборки будут включать в себя всё больше функций и компонентов ИИ. Среди функций скрипта, в частности: Отключение Copilot Отключение Recall Отключение Input Insights и сбора данных о наборе текста Copilot в Edge Image Creator в Paint Удаление службы AI Fabric Отключение действий ИИ Отключение ИИ в Paint Отключение голосового доступа Отключение голосовых эффектов ИИ Отключение ИИ в поиске по настройкам

Краткая шпаргалка по архитектурным паттернам и стилям (продолжение предыдущего поста) 1. Архитектурные паттерны (Architectural Patterns) — это проверенные решения для типичных задач проектирования архитектуры ПО. На схеме представлены ключевые паттерны: * MVP (Model-View-Presenter) — разделяет логику представления, данные и управление взаимодействием; * MVC (Model-View-Controller) — классическая схема разделения на модель (данные), представление (UI) и контроллер (логика взаимодействия); * MVVM (Model-View-ViewModel) — улучшает MVC, добавляя слой ViewModel для привязки данных; * DDD (Domain-Driven Design) — фокусируется на модели предметной области, отделяя бизнес-логику от инфраструктуры. 2. Архитектурные стили (Architecture Styles) — определяют общую структуру и взаимодействие компонентов системы. Примеры на схеме: * Monolith — монолитная архитектура, где всё приложение — единый блок; * Layered — слоистая архитектура (например, UI, бизнес-логика, данные); * Event-Driven — управление через события (асинхронные взаимодействия); * Microservices — система из независимых сервисов, взаимодействующих через API; * Space-Based — архитектура, ориентированная на распределённое хранение данных; * Master-Slave — главный (Master) управляет подчинёнными (Slave) узлами; * SOA (Service-Oriented Architecture) — сервисы взаимодействуют по стандартизированным интерфейсам; * Mikrokernel — ядро с минимальным функционалом и подключаемыми модулями; * Serverless — выполнение кода без управления серверами (например, через облачные функции); * Hexagonal — разделение на ядро (бизнес-логика) и адаптеры (интеграция с внешними системами); * Clean — чёткое разделение на слои: домен, приложение, инфраструктура; * REST — архитектурный стиль для веб-сервисов с принципами stateless, cacheable и др. 3. Дизайн-паттерны (Design Patterns) — шаблоны для решения конкретных задач на уровне классов и объектов. Разделены на три группы: * Creational (порождающие) — управляют созданием объектов: * Factory Method, Abstract Factory, Builder, Prototype, Singleton. * Structural (структурные) — организуют структуру классов: * Adapter, Bridge, Decorator, Composite, Facade, Flyweight, Proxy. * Behavioral (поведенческие) — определяют взаимодействие и алгоритмы: * Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor. Итог: * Архитектурные стили задают «скелет» системы (как компоненты взаимодействуют). * Архитектурные паттерны — готовые схемы для конкретных задач (например, разделение логики в MVC). * Дизайн-паттерны — микрорешения для кода (как создавать, структурировать и связывать объекты). Все эти элементы помогают проектировать ПО, балансируя между гибкостью, масштабируемостью и поддерживаемостью.

Краткая шпаргалка по архитектурным паттернам и стилям (продолжение в следующем посте)
Краткая шпаргалка по архитектурным паттернам и стилям (продолжение в следующем посте)

Зарабатывайте на установках Яндекс Браузера Партнёрская программа для сервисных центров, магазинов компьютерной техники, сайт
Зарабатывайте на установках Яндекс Браузера Партнёрская программа для сервисных центров, магазинов компьютерной техники, сайтов для скачивания файлов и авторов статей. Вы можете предлагать его своим клиентам и аудитории — и зарабатывать на новых установках. Выплаты до 500₽ за каждую установку Яндекс Браузера. Подать заявку #реклама 0+ partner.browser.yandex.ru О рекламодателе

Как изменятся зарплаты айтишников в 2026 году «Золотой век» начинающих айтишников (джунов) закончился, а рынок IT переживает перезагрузку после бурного роста, сообщили в SuperJob. По данным рекрутингового сервиса, вакансий стало меньше (-13%), а конкуренция среди начинающих специалистов резко выросла (+11% резюме). Предложение зарплаты в целом по IT-сфере за 2025 год выросло на 8,8%. Среди самых высокооплачиваемых направлений для IТ-специалистов остается область разработки ИИ. В это направление входят такие специальности, как написание LLM на Fine tuning и инференс-моделях, RAG, AI-продакты. «Зарплатная вилка здесь составляет от 500 тыс. до 1 млн руб., так как спрос рынка на этих специалистов только растет и эта тенденция продолжится». Второе место занимают направления AppSec/DevSecOps. Мидл-специалисты здесь могут получать от 400 тыс. до 700 тыс. руб. Также востребованы сейчас и Go-разработчики (специалисты по ПО на языке программирования Go), зарплаты которых начинаются от 400 тыс. руб. В топ попадают менеджеры по развитию бизнеса и специалисты по продажам в области IT. В 2026 году ситуация останется похожей. Максимальные доходы традиционно сохраняются у solution-архитекторов и техлидов, где зарплаты senior-уровня достигают самых высоких значений благодаря ответственности за архитектурные решения и стратегию развития продуктов. Чуть ниже, но также в верхнем сегменте находятся специалисты по AI и ML, так как компании продолжают активно внедрять инструменты анализа данных и автоматизации. Следующую позицию занимают эксперты по DevOps и SRE, обеспечивающие стабильность и масштабирование систем. В группе высоких доходов остаются специалисты по кибербезопасности, на которых растет нагрузка из-за увеличения числа киберугроз. Пятерку замыкают опытные full-stack-разработчики, особенно если они работают со сложными и востребованными стеками, совмещая несколько направлений разработки. В 2026 году в зарплатах айтишников не стоит ожидать резкого роста. Повышение сохранится точечно, прежде всего для специалистов по кибербезу, ИИ и инфраструктуре, с наибольшим спросом на опытных специалистов и более сдержанными ожиданиями по джунам. На рынке труда в IТ в 2025 году значительно усилилась конкуренция за вакансии на фоне сокращения общего числа открытых позиций. Рост зарплат по отдельным специальностям и уровням в ряде случаев не покрывает уровень инфляции. Наиболее сложная ситуация сохраняется для специалистов начального уровня: компании все реже инвестируют в массовый наем джунов, отдавая приоритет более эффективным сотрудникам. В то же время конкуренция работодателей за специалистов middle+ остается высокой, и именно в этом сегменте возможна точечная корректировка зарплат в 2026 году. В целом в IT-сфере из-за эффекта высокой базы темпы прироста доходов будут снижаться, в прогнозе SuperJob на 2026 год указан средний рост зарплат на 8–10%. Однако у стратегически важных IT-специалистов (архитекторов, DevOps, разработчиков senior-уровня, ML-инженеров) заработные платы будут расти быстрее — на 12–15%. Разрыв в зарплатах между junior- (начинающими) и senior- (старшими) специалистами продолжит расти, констатировали в рекрутинговом сервисе. https://www.rbc.ru/life/news/695241d59a79474610e80e31

Бесплатный курс по дизайну от ТОП 3 дизайн студии РФ Забирай курс по дизайну от ТОП3 дизайн студии РФ с личным наставником бе
Бесплатный курс по дизайну от ТОП 3 дизайн студии РФ Забирай курс по дизайну от ТОП3 дизайн студии РФ с личным наставником бесплатно 🎓 6 кейсов в Figma с нуля: граф,веб,UX/UI дизайн 📊 Готовое Reels Портфолио: сайты, карточки МП, баннеры, презентации 💰 Алгоритм заработка на дизайне: без фриланс-бирж и продаж Попробовать #реклама 16+ study.logomachine.ru О рекламодателе

Сервис по поиску работы HH выпустил статистику по состоянию рынка труда на декабрь, и для ИТ тут стабильность - все стабильно
+2
Сервис по поиску работы HH выпустил статистику по состоянию рынка труда на декабрь, и для ИТ тут стабильность - все стабильно плохо Предлагаемые зарплаты по сравнению с ноябрем даже снизились - с 94 915 до 93 410. Если смотреть на годовую динамику, то в зп, конечно, рост - почти на 10% (по крайней мере выше оф. инфляции в 6%) hh-индекс - показатель соотношения количества активных резюме к количеству активных вакансий снова ухудшился - рост до 20,7 (с 19,4 в ноябре). То есть в ИТ крайне мегасупервысокий уровень конкуренции соискателей за рабочие места Хотя по сранению с ноябрем количество вакансий уменьшилось только на 8%, но год к году снижение составило аж 39%. С другой стороны, количество резюме по сравнению с ноябрем снизилось на 3% (возможно, сказались праздники), но год к году выросло на 29% https://stats.hh.ru/?countrySalaryDynamicChartProfArea=information_technology&hhIndexProfArea=information_technology&vacanciesProfArea=information_technology&vacanciesPeriod=month

Шпаргалка по разрядам чисел, максимальным и минимальным значениям
Шпаргалка по разрядам чисел, максимальным и минимальным значениям

Свежо предание... Но, думается мне, и к концу 2026 года эти прогнозы не сбудутся.
Свежо предание... Но, думается мне, и к концу 2026 года эти прогнозы не сбудутся.

Линус Торвальдс признался, что не умеет писать на Python. И использовал ИИ Линус Торвальдс выложил на GitHub новый хобби-проект AudioNoise — набор цифровых эффектов для гитары. В README Торвальдс честно написал, что Python-визуализатор сделан с помощью вайб-кодинга через Google Antigravity. Причина проста: в Python он разбирается даже хуже, чем в аналоговых фильтрах. Основной код проекта написан на C вручную, ИИ использовался только для визуализации аудиосэмплов. Торвальдс описал эволюцию своего подхода: раньше он гуглил примеры и копировал код в стиле "обезьянка видит — обезьянка делает" ("google and do the monkey-see-monkey-do"), а теперь "убрал посредника — себя". AudioNoise продолжает его увлечение самодельными гитарными педалями — в анонсе Linux 6.13 он назвал это хобби "LEGO для взрослых с паяльником". Новый проект эмулирует аналоговые эффекты (фейзер, фленжер, эхо) через цифровые IIR-фильтры, работающие без задержек по принципу "один сэмпл на входе — один на выходе". Сам проект Торвальдса - https://github.com/torvalds/AudioNoise

Из-за внедрения ИИ сотрудники начали чаще уставать и быть менее продуктивными Генеральный директор стартапа в сфере программного обеспечения Convictional Роджер Киркнесс рассказал, что после внедрения инструментов искусственного интеллекта для сортировки электронной почты, ведения протоколов совещаний и составления отчётов о расходах наблюдался прирост производительности на 20%. При этом в стартапе обнаружили, что сотрудники столкнулись с выгоранием от высокого темпа высокоуровневой когнитивной работы. Киркнесс заметил, что после того, как ИИ снял с его команды рутинную работу, сотрудники посвятили себя задачам, связанным с интенсивным мышлением, но к пятнице все они оказывались истощены и были непродуктивными. Компания перешла на четырёхдневную рабочую неделю, но объём работы остался прежним. Основная проблема, по словам экономиста и социолога из Бостонского колледжа Джульет Шор, заключается в том, что предприятия, как правило, просто перераспределяют время, сэкономленное ИИ. От работников, которые раньше умственно снижали концентрацию внимания при таких задачах, как ввод данных, теперь ожидается поддержание высокой концентрации на протяжении более длительных периодов. «Если вы просто заставляете людей работать в высоком темпе без перерывов, вы рискуете подавить творчество», — говорит Шор. То есть условно бесполезная или монотонная работа, которую призван заменить ИИ, в реальности позволяла в какой-то мере челевоку "передохнуть" (работать в меньшем темпе, с меньшими усилиями), а без этой "бесполезной работы" усилилось выгорание и уменьшился творческий потенциал работников. https://www.msn.com/en-us/technology/artificial-intelligence/the-downside-to-using-ai-for-all-those-boring-tasks-at-work/ar-AA1TMuha

Где я окажусь в конце 2026? Нет лучшего момента помечтать о будущем, чем перед праздниками. Команда Selectel подумала ровно т
Где я окажусь в конце 2026? Нет лучшего момента помечтать о будущем, чем перед праздниками. Команда Selectel подумала ровно так же и выделила целый новогодний сервер для твоих планов на будущий год ✨ На сайте можно отправить письмо себе в будущее: записать самые смелые и амбициозные мечты на 2026-й. Ровно на год послание сохранится на сервере, а потом ты получишь его обратно на почту — будет возможность сравнить желаемое с действительным. Прыгнуть с парашютом, наконец разгрести бэклог или стать лидом? Отправляй хотелки на Новогодний сервер — это весело и секьюрно. Попробовать #реклама 16+ careers.selectel.ru О рекламодателе

Распределние памяти: Paging (страничное распределение) и Segmentation (сегментное распределение) (продолжение предыдущего поста) 1. Принцип разделения памяти - Paging (страничное распределение): - Логическое адресное пространство процесса делится на блоки фиксированного размера, называемые страницами (pages). - Физическая память делится на блоки фиксированного размера, называемые фреймами (frames). - На изображении видно, что логический адрес состоит из номера страницы (Page Number, 3 бита) и смещения (Offset, 10 бит), а физический адрес — из номера фрейма (Frame Number, 2 бита) и смещения (Offset, 10 бит). - Используется таблица страниц (Page Table) для сопоставления номеров страниц с номерами фреймов. - Segmentation (сегментное распределение): - Память делится на сегменты переменного размера, которые соответствуют логическим частям программы (функции, объекты, массивы данных). - На изображении логический адрес состоит из номера сегмента (Segment Number) и смещения (Offset). - Используется таблица сегментов (Segment Table), где для каждого сегмента указаны базовый адрес (Base Address) и предел (Limit) — максимальный размер сегмента. - Перед обращением к памяти проверяется условие Offset < Limit (если нет — генерируется прерывание Trap). 2. Структура адреса - В Paging: адрес состоит из двух частей — номер страницы и смещение. Преобразование логического адреса в физический происходит через таблицу страниц. - В Segmentation: адрес также состоит из двух частей — номер сегмента и смещение, но преобразование учитывает базовый адрес сегмента и его предел. 3. Преимущества - Paging: - Устраняет внешнюю фрагментацию (fragmentation) за счёт использования фиксированных блоков. - Упрощает распределение памяти. - Поддерживает эффективное перемещение (своппинг) и использование виртуальной памяти. - Segmentation: - Обеспечивает логическое разделение частей программы, что упрощает управление кодом и данными. - Позволяет защищать и совместно использовать сегменты между процессами. - Упрощает управление растущими структурами данных (например, динамическими массивами). 4. Недостатки - Paging: - Требует поддержания таблицы страниц, что влечёт дополнительные накладные расходы. - Возможны задержки из-за частых обращений к таблице страниц. - Segmentation: - Переменные размеры сегментов могут приводить к внешней фрагментации. - Управление таблицей сегментов может быть сложнее, особенно при большом количестве сегментов. 5. Применение - Paging чаще используется в системах, где важны простота и производительность, а память управляется через унифицированные размеры страниц. - Segmentation предпочтительна в средах, где структура программы и шаблоны использования памяти динамичны и разнообразны. В качестве резюме: Paging ориентирован на эффективность и простоту за счёт фиксированных блоков, а Segmentation — на гибкость и соответствие логической структуре программы за счёт переменных сегментов.

Распределние памяти: Paging (страничное распределение) и Segmentation (сегментное распределение) (продолжение в следующем пос
Распределние памяти: Paging (страничное распределение) и Segmentation (сегментное распределение) (продолжение в следующем посте)

ПО итогам голосования на канале на звание языка 2025 года победил C#, с чем мы его поздравляем. Я лично голосовал за Python и
ПО итогам голосования на канале на звание языка 2025 года победил C#, с чем мы его поздравляем. Я лично голосовал за Python и Rust, хотя ни один из них не является моим любимым языком. За Python голосовал в основном из-за ML/Deep Learning/AI/Data Science и за то, что Python все чаще рассматривается в качестве стартового За Rust голосовал из-за его внедрения в Windows, Linux, Android, плюс этот язык все чаще применяется как базовый для приложений, где требуется высокая производительность, которые иначе разрабатывались бы на C/C++. Да здесь есть немало хайпа. Тем не менее экосистема Rust развивалась в прошлом году очень активно Мог бы проголосовать еще за Go - тоже очень активно внедряется, особенно активно откусывает долю PHP в корпорат. секторе. Но это развитие было менее выраженным В конечном счете, голосовал за Python и Rust только из-за развития экосистемы. С точки зрения же непосредственно развития самого языка ни один язык из списка голосования, по моему мнению, ничего экстраординарного не показал

Одним глазом заглянем к Яндекс Путешествиям чтобы ничего не забыть: они как раз к сезону подготовили целый сайт о поездке на
Одним глазом заглянем к Яндекс Путешествиям чтобы ничего не забыть: они как раз к сезону подготовили целый сайт о поездке на Ближний Восток. Там и что посмотреть, и что купить, и во что одеться, и где загорать, и на чём ездить. Забронировать #реклама 16+ special.travel.yandex.ru О рекламодателе