METANIT.COM – Telegram
METANIT.COM
5.76K subscribers
1.64K photos
80 videos
9 files
974 links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Стратегии работы с базами данных
(продолжение предыдущего поста)

1. Когда нагрузка на чтение и запись высокая (сбалансированная нагрузка):
* Используйте основную базу данных для всех операций записи.
* Передавайте интенсивный трафик чтения на несколько реплик для чтения через асинхронную репликацию.
* Применяйте кэш Redis для обработки «горячих» ключей и снижения нагрузки на базу данных.
* Учитывайте, что иногда могут возникать промахи кэша (cache miss) — в таких случаях обращение будет перенаправлено к основной базе данных.
* Группируйте операции записи и оптимизируйте индексы, чтобы поддерживать стабильную производительность.

2. Когда нагрузка на запись постоянно растёт:
* Разделите базу данных на шарды (сегменты).
* Каждый шард хранит часть набора данных, благодаря чему операции записи распределяются.
* Ваше приложение должно уметь направлять запросы к нужному шарду.
* Подходит для масштабного развёртывания, но может быть сложным при выполнении комплексных запросов или транзакций между шардами.

3. Когда требуется гибридная масштабируемость (NewSQL):
* Системы вроде CockroachDB работают как SQL, но масштабируются как NoSQL.
* Встроенные функции автоматического шардирования и перераспределения нагрузки избавляют от необходимости вручную управлять шардами.
* Обеспечивается глобальная согласованность данных между узлами.
* Подходит для мультирегиональных приложений, где важны строгая согласованность и отказоустойчивость.

4. Когда требуются операции с высокой степенью надёжности (финансовые операции):
* Система разрабатывается специально для эконом. операций, например, бухгалтерского учёта, платежей...
* Очень высокая скорость работы, устойчивость к сбоям и подход, основанный на формальной верификации.
* В первую очередь обеспечивается корректность — предотвращаются двойные списания, условия гонки и частичные записи.
* Идеально подходит для операций с деньгами, когда каждая транзакция должна быть точной, надёжной и безопасной.
🔥5🥰1👏1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Как двоичные данные транслируются в инструкции ассемблера
👍24🤯16🤪4🤣2
Обучение с помощью чат-ботов приводит к поверхностному усваиванию материалов

Исследователи Шири Мелумад и Джин Хо Юн в ходе нескольких экспериментов с участием более 10 тысяч человек выяснили, что обучение с помощью ChatGPT и других чат-ботов приводит к тому, что материал усваивается более поверхностно.

Участников просили изучить определённую тему — например, как вырастить огород. Потом их случайным образом направляли либо к ChatGPT, либо к обычному поиску в Google. Далее испытуемый должен был написать совет «другу», основываясь на полученных знаниях.

Все эксперименты показали примерно одно и то же: участники, которые прибегали к помощи ИИ, чувствовали, что узнали меньше, тратили меньше усилий на последующее задание и писали советы, которые были короче, менее подробны и более общими. Кроме того, независимые читатели оценили такие советы как менее полезные и информативные.

Исследователи решили проверить, в чём кроется причина различий. Они давали один и тот же набор фактов — и в Google, и через ИИ — но те, кто получал готовые синтезированные ответы, демонстрировали более поверхностное понимание темы. Аналогичный тренд наблюдался при работе с поиском Google и его функцией AI Overview.

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

https://academic.oup.com/pnasnexus/article/4/10/pgaf316/8303888?login=false
👍15💯11👏1🤮1
Нейронный процессор (NPU) — это специализированный чип, оптимизированный для быстрых параллельных вычислений, особенно матричных и векторных операций. В теории вероятностей и статистике NPU ускоряют такие задачи, как моделирование методом Монте-Карло и байесовский вывод. В машинном обучении они ускоряют обучение нейронных сетей и вывод при низком энергопотреблении. В реальной жизни NPU обеспечивают работу таких функций, как разблокировка по лицу, распознавание речи, интеллектуальные камеры, автономное вождение и встроенный предиктивный ИИ на телефонах, автомобилях и устройствах Интернета вещей.
👍14🔥3🖕2🌚1
Традиционный обзор по рынку труда по статистике hh

В ноябре ситуация на рынке труда в сфере ИТ в целом продолжила ухудшаться. hh-индекс - показатель соотношения количества активных резюме к количеству активных вакансий снова ухудшился - рост до 19,4 (крайне мегасупервысокий уровень конкуренции соискателей за рабочие места)
А год к году снижение вакансий составило 43%, а по сранению с октябрем - уменьшение на 8%

Но есть и хорошие новости - немного повысились предлагаемые зарплаты - до 94915. При ожидаемой инфляции в районе 6-6,5% есть основания, что рост за год хотя бы перекроет годовую инфляцию - c начала года прирост предлагаемых зарплат составил 11,65%
https://stats.hh.ru/?hhIndexProfArea=information_technology&vacanciesProfArea=information_technology&countrySalaryDynamicChartProfArea=information_technology
😭28🤡31🤬1🎉1
3 декабря 2025 года вышла новая версия фреймворка для веб-разработки на Python - Django 6.0 (спустя два года после выпуска Django 5.0)

В Django 6.0 добавлено множество новых функций и улучшений. Основные нововведения:

- частичные шаблоны для модульного построения шаблонов (template partials for modularizing templates): модулизация шаблонов с помощью небольших именованных фрагментов для более чистого и удобного в поддержке кода;

- фоновые задачи: запуск кода вне цикла HTTP-запрос-ответ с помощью встроенной гибкой платформы задач;

- политика безопасности контента (CSP): простая настройка и применение политик безопасности на уровне браузера для защиты от внедрения контента;

- модернизированный API электронной почты: создание и отправка электронных писем с помощью класса Python EmailMessage для более чистого и удобного в поддержке интерфейса.

С релизом Django 6.0 версия Django 5.2 LTS перестанет получать основную поддержку, а версия 5.1 — расширенную.

https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/
🤮13👍4👀2
Как работает SSH Tunnels Remote Port Forwarding
(продолжение в следующем посте)
👍62👏1
Как работает SSH Tunnels Remote Port Forwarding
(продолжение предыдущего поста)

SSH Remote Port Forwarding («удалённое перенаправление портов») позволяет открыть порт на удалённом SSH-сервере, а трафик с этого порта перенаправить на локальный компьютер (или другую указанную цель). Это создаёт защищённый SSH-туннель между клиентом и сервером.
SSH Remote Port Forwarding позволяет безопасно «опубликовать» локальные сервисы в интернете через защищённый туннель, управляя трафиком между клиентом, сервером и внешними пользователями.

2. Основные компоненты на схеме

- SSH Client (клиент SSH) — локальная машина (например, компьютер Джеймса), где запущен сервис (веб-сервер на localhost:80).
- Public SSH Server (публичный SSH-сервер) — сервер, к которому подключается клиент для создания туннеля. Служит «мостом» между клиентом и внешним миром.
- Remote Side Private Network (удалённая приватная сеть) — сторона, откуда идёт запрос к публичному SSH-серверу (например, пользователь Кей).
- SSH Tunnel (SSH-туннель) — зашифрованный канал передачи данных между клиентом и сервером.

3. Процесс работы

Шаг 1. Установка SSH-соединения с параметром `-R`

Клиент (Джеймс) инициирует SSH-сессию с публичным сервером, используя команду:
ssh -R 0.0.0.0:8080:localhost:80 user@pub-ssh-server

Где:
- -R — флаг для удалённого перенаправления портов;
- 0.0.0.0:8080 — адрес и порт на SSH-сервере, которые будут слушать трафик (0.0.0.0 означает «все интерфейсы»);
- localhost:80 — локальный адрес и порт, куда перенаправляется трафик (веб-сервер Джеймса);
- user@pub-ssh-server — учётная запись и адрес SSH-сервера.

Шаг 2. Настройка GatewayPorts

По умолчанию SSH слушает только интерфейс 127.0.0.1 (loopback). Чтобы сервер принимал соединения со всех интерфейсов (0.0.0.0), нужно в файле sshd_config на SSH-сервере установить:
GatewayPorts yes

Альтернативно можно использовать GatewayPorts clientspecified, чтобы сервер использовал адрес из команды -R.

Шаг 3. Перенаправление трафика

1. Пользователь (Кей) на удалённой стороне отправляет запрос на публичный SSH-сервер (curl public-ssh-server:8080).
2. SSH-сервер получает запрос на порт 8080 и перенаправляет его через туннель на локальный компьютер Джеймса (localhost:80).
3. Веб-сервер Джеймса обрабатывает запрос и возвращает ответ через тот же туннель.
4. Публичный SSH-сервер передаёт ответ пользователю (Кей).

4. Ключевые особенности

- Безопасность: весь трафик зашифрован благодаря SSH-туннелю.
- Доступность локальных сервисов: сервисы, доступные только локально (например, веб-сервер на localhost:80), становятся доступны извне через публичный SSH-сервер.
- Гибкость: можно пробрасывать любые порты (базы данных, API, RDP и т. д.).
- Контроль доступа: доступ к перенаправленным портам можно ограничить настройками SSH-сервера.

5. Пример из схемы

- Джеймс запускает веб-сервер на localhost:80.
- Создаёт SSH-туннель с публичным сервером, пробрасывая порт 8080 на свой веб-сервер.
- Кей может открыть public-ssh-server:8080 в браузере и увидеть веб-страницу Джеймса, хотя сервер работает только в локальной сети.
13👍2👏1
Еще один мессенджер.

РФ и Китай создают собственную платформу для коммуникаций под кодовым названием Molniya. Разработкой «Молнии» занимаются китайская Passion и российская «Ред Софт». Планировалось, что в приложении будут доступны функции для общения, трансляций и коротких видео - сплав мессенджера и соцсетей.
Но мессенджер будет только одной из функциональных возможностей «Молнии», уже на начальном этапе разработчики собирались реализовать сервисы для бизнеса, в частности, планируется внедрение финансового сервиса, который позволит выполнять конвертацию валют, оплачивать покупки посредством QR-кодов, выполнять трансграничные переводы и т.д. В платформу будут добавлены инструменты для создания внутренних маркетплейсов, а также «социального слоя», говорит Михаил Толпышкин, генеральный директор компании «Молния».


Сам запуск мессенджера «Молния», разработкой которого занимаются специалисты из России и Китая, перенесли на начало 2026 года. Изначально планировалось, что мессенджер запустят в сентябре этого года.
Разработчики планировали, что в течение полутора лет после запуска аудитория «Молнии» достигнет 15 миллионов человек.

https://tass.ru/ekonomika/25811121
🤮25🤣19👍522💩2🔥1
Матрица вращения для трехмерных объектов
11🤓9👍4🤡1
Линус Торвальдс все еще использует Fedora с GNOME
Потому что, по его мнению, Fedora больше подходит для разработки ядра. В ней все для этого упрощено
В то время как Ubuntu более ориентированна на потребителя и меньше подходит для разработки ядра. И, как вспоминает Линус, когда он попробовал Ubuntu много-много лет назад, она усложнила для него обновление ядра,
18😈16🤣11😁6👍4🔥2🤯1🤮1😨1
OpenAI законтрактовала до 40% всех мировых поставок DRAM, а теперь производители пытаются выкупить память обратно у ритейлеров

Рынок оперативной памяти настолько перегрелся, что, по словам инсайдеров, крупнейшие бренды RAM уже пытаются выкупать свои модули обратно у розничных сетей, чтобы перебросить их под более выгодные корпоративные контракты. Одному из заказчиков при попытке оформить крупную поставку DDR5 назвали срок отгрузки уже на конец 2026 года.

Все начилось со сделки, которую OpenAI заключила в начале октября: компания объявила о партнерстве сразу с Samsung и SK hynix, речь идет примерно о 900 000 пластин DRAM в месяц, то есть до 40% прогнозируемой мировой мощности по выпуску DRAM в 2025 году. Память нужна для проекта дата-центров Stargate, бюджет которого оценивают в $500 млрд. По данным инсайдеров, даже сами Samsung и SK hynix до дня объявления не до конца представляли масштаб, так как не знали о соглашении с конкурентом. Рынок по сути проснулся в мире, где почти половину будущих поставок DRAM уже зарезервировали под одного клиента.

Ситуацию усугубляет то, что OpenAI покупает не готовые модули, а сырые пластины — неразрезанные, не протестированные и пока даже не привязанные к конкретному стандарту (DDR5, HBM и т.п.). По версии MLID, такие запасы проще всего трактовать не как "страховку от будущего спроса", а как попытку вывести память с рынка и оставить конкурентов без DRAM: пластины можно просто копить на складах и решать позже, в какой вид продукции их превратить.

Для конечных покупателей это уже обернулось ценовым безумием: 4-гигабайтные комплекты DDR5-6400 от TeamGroup и других производителей, которые еще летом можно было купить за $200–250, сейчас на Newegg торгуются за $700–800. России схожие комплекты тоже ушли в заоблачный диапазон.

По оценкам Moore's Law Is Dead, производители DRAM уже сейчас называют для новых партий DDR5 сроки поставки до 13 месяцев, а аналитики не ждут нормализации раньше 2026–2027 годов. И это очень оптимистичная оценка

https://www.mooreslawisdead.com/post/sam-altman-s-dirty-dram-deal
🤬20😱10🖕51
Что такое REST API?
(продолжение в следующем посте)
9👍2👏1
Что такое REST API?
(продолжение предыдущего поста)

REST API (Representational State Transfer) — архитектурный стиль взаимодействия компонентов распределённой системы для передачи данных между сервером и клиентом с использованием протокола HTTP. Проще говоря, это способ взаимодействия сайтов и веб-приложений с сервером для получения, изменения или удаления данных. REST API широко используется в веб-разработке, мобильных приложениях и облачных сервисах благодаря своей простоте и эффективности.

6 ключевых принципов работы REST API:

1. Client-Server (Клиент-сервер):
* клиент (пользовательский интерфейс, например, веб-страница или приложение) и сервер разделены;
* код запросов остаётся на стороне клиента, а код для доступа к данным — на стороне сервера;
* это упрощает масштабирование и перенос интерфейса на другие платформы.

2. Stateless (Отсутствие состояния):
* сервер не хранит информацию о состоянии клиента (истории запросов);
* каждый запрос от клиента должен содержать всю необходимую информацию для обработки;
* сервер и клиент не сохраняют данные о предыдущих взаимодействиях (как показано на схеме: «Do not store state info»).

3. Uniform Interface (Единый интерфейс):
* все запросы к данным выполняются через единый URL-адрес с использованием стандартных HTTP-методов (GET, POST, PUT, DELETE, PATCH);
* ресурсы (например, /products, /users) доступны по чётким URL-адресам (например, https://example.com/api/v3/products);
* это упрощает архитектуру и делает взаимодействие с сервером более понятным.

4. Cacheable (Кэшируемость):
* данные могут быть кэшированы (сохранены в буфере) для ускорения повторных запросов;
* клиент может обращаться к кэшу вместо сервера, если данные не изменились;
* пример на схеме: ответ сервера с заголовком Cache-Control: public, max-age=3600.

5. Layered Systems (Многоуровневая система):
* архитектура состоит из нескольких уровней (например, Load Balancer, Auth Service, Product Database), которые взаимодействуют только с ближайшими уровнями;
* это повышает безопасность, упрощает масштабирование и позволяет изолировать компоненты системы (как показано на схеме с Load Balancer и Auth Service).

6. Code on Demand (Код по запросу, опционально):
* сервер может отправлять клиенту код (например, скрипт noscript.js) по требованию;
* это позволяет усложнять логику приложения только при необходимости (пример на схеме: GET /noscript.js).

### Основные HTTP-методы, используемые в REST API:
* GET — получение данных (например, GET /products);
* POST — добавление новых данных;
* PUT — обновление данных;
* DELETE — удаление данных;
* PATCH — частичное обновление данных.
14👍2🤝2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно типы кабелей
💩2111😁9👍5🗿3🥱2
Шпаргалка по утилите grep и регулярным выражениям
12🔥2👏1🙏1
Минцифры предупредило о постепенном отказе от входа на «Госуслуги» по смс
Ведомство объясняет такие меры борьбой с мошенничеством. Пока это решение касается только входа на «Госуслуги» через мобильные устройства

Некоторые пользователи портала «Госуслуги» уже столкнулись с проблемой при авторизации. После входа в аккаунт пользователям предлагают установить мессенджр MAX, однако возможность нажать кнопку «пропустить» отсутствует.

Мобильная версия сервиса настаивает на установке приложения, и избежать этого невозможно. При этом при входе в аккаунт через браузер на компьютере, пользователи могут нажать на кнопку «пропустить».

https://www.rbc.ru/society/05/12/2025/6932ee189a794711fc60e3ab?from=from_main_2
🤡48👎7😁7💩2🤬1😡1
5 популярных архитектурных паттернов: VIPER, MVVM, MVC, MVP, MVI
(продолжение в следующем посте)
5🔥1🥰1