METANIT.COM – Telegram
METANIT.COM
5.88K subscribers
1.67K photos
81 videos
9 files
1.03K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Основные способы масштабирования баз данных:
(описание к предыдущему посту)

1. Индексирование (Indexing):
- Анализируйте шаблоны запросов вашего приложения и создавайте правильные индексы.
- Пример: создание индекса для столбца order_amount в таблице Orders.

2. Материализованные представления (Materialized Views):
- Предварительно вычисляйте результаты сложных запросов и храните их для более быстрого доступа.
- Пример: создание материализованного представления для таблицы Orders с фильтрами.

3. Денормализация (Denormalization):
- Уменьшайте количество сложных объединений для улучшения производительности запросов.
- Пример: объединение таблиц Customers и Orders в одну таблицу Customer Orders.

4. Кэширование базы данных (Database Caching):
- Храните часто запрашиваемые данные в более быстром слое хранения.
- Пример: кэширование данных в приложении.

5. Репликация (Replication):
- Создавайте копии вашей основной базы данных на разных серверах для масштабирования чтения.
- Пример: создание реплик основной базы данных.

6. Вертикальное масштабирование (Vertical Scaling):
- Повышайте производительность сервера базы данных, добавляя больше CPU, RAM или хранилища.
- Пример: добавление ресурсов на сервер базы данных.

7. Шардинг (Sharding):
- Распределяйте ресурсы, которые потребуются до того, как они понадобятся.
- Пример: разделение таблицы Orders на несколько шардов.

Эти стратегии помогают улучшить производительность и масштабируемость баз данных, позволяя справляться с возрастающими нагрузками и требованиями приложений.
👎6👍42👏1
Как работают каналы (pipes) в Linux
(описание в следующем посте)
#linux
4👍2👏1
Как работают каналы (pipes) в Linux:
(описание к предыдущему посту)
#linux

1. Каналы (Pipes):
- Позволяют межпроцессное взаимодействие путем отправки данных из вывода одного процесса (stdout) на ввод другого (stdin).
- Однонаправленные: данные текут только в одном направлении — от писателя к читателю.
- Концептуальный поток: Процесс A (stdout) → [PIPE] → (stdin) Процесс B.

2. Анонимные каналы (Anonymous Pipes):
- Временный, однонаправленный канал связи между двумя связанными процессами.
- Однонаправленные: данные текут только в одном направлении.
- Область видимости: существует только во время выполнения процессов.
- Создание: создаются программно с помощью системного вызова pipe() или неявно через оператор | в командной оболочке.
- Использование: обычно используются для связывания команд в конвейере.
- Пример: cat file.txt | grep "keyword" | wc -l
- cat читает файл.
- Вывод фильтруется с помощью grep.
- Отфильтрованные строки подсчитываются с помощью wc.

3. Именованные каналы (Named Pipe, FIFO):
- Также известны как FIFO (First In, First Out).
- Постоянный канал связи, который существует как специальный файл в файловой системе, позволяющий не связанным процессам общаться.
- Однонаправленные: как анонимные каналы, данные текут в одном направлении.
- Постоянство: остается в файловой системе до явного удаления.
- Создание: создается с помощью команд mkfifo или mknod.
- Область видимости: может быть доступен через разные сессии или несвязанные процессы.
- Пример:
1. Создание именованного канала: mkfifo my_pipe
2. Запись в канал: echo "Hello, World!" > my_pipe &
3. Чтение из канала: cat < my_pipe

4. Важные примечания:
- Анонимные каналы идеальны для простых, временных задач, таких как связывание команд в конвейере.
- Именованные каналы лучше подходят для сложных рабочих процессов, требующих межпроцессного взаимодействия между несвязанными процессами или сессиями.
5🔥3👏1
Какой способ установки типа переменной более интуитивен (перед переменной или после переменной) ?
Anonymous Poll
90%
int n = 5;
10%
n: int = 5;
🤡22🌚12👍8😁6🤨43🔥2
В руководство по языку Python добавлена новая статья про Пакетный менеджер uv
https://metanit.com/python/tutorial/6.10.php
#python
👍133🔥2🤮2🆒2
Тем временем в июле ситуация в российском ИТ прододжила ухудщаться.
hh.индекс, который показывает соотношение количества активных резюме к количеству активных вакансий на рынке в выбранной профобласти, достиг 13, 7 (больше или равно 12 — крайне высокий уровень конкуренции соискателей за рабочие места)
Предлашаемые зарплаты за последние полгода застыли на уровне 90 000 рублей (медианный уровень дохода в вакансиях)
Количество вакансий уменьшилось год к году на 33%, а колиество резюме возросло на 28%
https://stats.hh.ru/?hhIndexProfArea=information_technology
😢31😁6😱5👎4🌚4🤣2🎅2
Что такое принципы SOLID?
(описание в следующем посте)
👍7
Что такое принципы SOLID?
(описание к предыдущему посту)

SOLID — это набор рекомендаций по созданию программного обеспечения, которое легко понимать, модифицировать и расширять.

Аббревиатура SOLID расшифровывается следующим образом:

S → Принцип единственной ответственности
O → Принцип открытости/закрытости
L → Принцип подстановки Лисков
I → Принцип разделения интерфейсов
D → Принцип инверсии зависимостей

* Принцип единственной ответственности (SRP) гласит, что у класса должна быть только одна причина для изменения. Другими словами, у него должна быть единственная чётко определённая обязанность или задача в программной системе.

* Принцип открытости/закрытости (OCP) утверждает, что программные сущности (например, классы) должны быть открыты для расширения, но закрыты для модификации. Это означает, что можно добавлять новую функциональность, не изменяя существующий код.

* Принцип подстановки Лисков (LSP) утверждает, что объекты производного класса должны иметь возможность заменять объекты базового класса без нарушения корректности программы.

* Принцип разделения интерфейсов (ISP) подчёркивает, что классы или компоненты, использующие интерфейсы, не должны зависеть от интерфейсов, которые они не используют.

* Принцип инверсии зависимостей (DIP) гласит, что высокоуровневые модули (или классы) не должны зависеть от низкоуровневых модулей; оба должны зависеть от абстракций, таких как интерфейсы.
👍15🔥3👏1
Мессенджер Max станет обязательным для предустановки на все новые смартфоны в РФ с 1 сентября. Вкратце о мессенджере:

"Max сочетает в себе функции общения (чаты, звонки, передача файлов до 4 ГБ), интеграцию с государственными сервисами (Госуслуги, цифровая подпись), а также финансовые инструменты через систему быстрых платежей."
"Приложение собирает IP-адреса, данные о местоположении и активностях пользователей, а его политика допускает передачу этих сведений государственным органам. End-to-end шифрование, в отличие от других мессенджеров, пока не реализовано - используется защита канала связи, что оставляет данные уязвимыми на серверах"
https://ria.ru/20250806/yurist-2033592622.html
🤡64💩28👎6👍5🤣3😁21🤔1
Библиотеки для работы с анализом данных в языке Python #python
🤮6👍2🔥1👏1😱1
Вице-президент Microsoft Дэвид Уэстон поделился смелыми прогнозами относительно будущего Windows-ПК. По мнению Уэстона, к 2030 году взаимодействия людей с компьютерами кардинально изменится.

В Microsoft говорят, что центральным элементом Windows станет искусственный интеллект. ИИ-модель Copilot уже интегрирована в каждый уголок системы, но в ближайшие 5 лет нейросеть проникнет еще глубже.

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

https://www.pcgamer.com/software/windows/kiss-goodbye-to-your-keyboard-and-mouse-in-microsofts-vision-for-the-windows-os-in-2030-theyll-both-feel-as-alien-as-it-does-for-gen-z-to-use-dos/
🤡60😁6👍3🤬2🤮2💩21👎1👻1
Гендиректор GitHub: программисты, учитесь работать с ИИ, или уходите из профессии

Генеральный директор GitHub Томас Домке заявил, что у программистов в текущих реалиях уже нет выбора. Им нужно смириться с ИИ и продолжать карьеру вместе с этой технологией, или сменить профессию.

Домке пояснил, что разработчики, которые раньше скептически или несерьёзно относились к ИИ‑инструментам, например, к GitHub Copilot, а теперь интегрируют его в работу, активно растут в техническом плане. Они становятся более амбициозными и больше удовлетворены своей работой. По мнению главы GitHub, такие разработчики не просто пишут меньше кода благодаря ИИ, но и способны выполнять более сложную, системную работу, повышая потолок своих возможностей и становясь более ценными специалистами на IT-рынке.

По прогнозу Домке, в течение ближайших 2-5 лет ИИ будет писать 90% кода. А для разработчиков приобретут значения новые навыки: дирижирование агентами, итеративное взаимодействие с ними и критическая оценка их результатов.

Домке добавил, что ИИ — это не конец профессии для разработчиков, но её полное переосмысление и перерождение. И эта трансформация не какая‑то гипотетическая, она происходит уже сейчас в настоящее время, предупредил глава GitHub.
https://ashtom.github.io/developers-reinvented
🤡41🔥5🤔5👍4🥴21
This media is not supported in your browser
VIEW IN TELEGRAM
Сколько времени потребуется на прочтение мануалов по определенному языку программирования
(не знаю, как они считали и какие мануалы взяты за основу, но, на мой взгляд, значения преуменьшены, даже если просто по диагонали читать)
🤔53🤡9😁6🙈2🤣1
ФСБ не разрешила подключить мессенджер MAX к «Госуслугам» из-за угроз безопасности

ФСБ выдвинула к национальному мессенджеру MAX обширный перечень претензий, касающихся защиты персональных данных (ПД) пользователей.
Претензии ФСБ расписаны на несколько страниц и включают требования о создании модели угроз, обеспечивающей защищенность персональных данных пользователей, а также о заключении договоров с лицензиатами Федеральной службы по техническому и экспортному контролю и ФСБ для проведения аудита
Согласно сообщениям, силовики требуют внедрить криптозащиту определенного класса, сертифицированную ФСБ, а также предоставить исходный код мессенджера для проверки.
https://habr.com/ru/news/934874/
🤣74👍248👏5🔥2🥰1🍓1
Шпаргалка по форматированию в языке C++ #cpp #cplusplus
🤣7🔥4👍3🤪32🤮1😎1
Этапы работы больших языковых моделей LLM (Large-Language Models) (Описание в следующем посте)
Этапы работы больших языковых моделей LLM (Large-Language Models):
(продолжение предыдущего поста)

1. Сбор данных и токенизация (Data Collection and Tokenization):
- На этом этапе происходит сбор большого объема текстовых данных и их токенизация, то есть разделение на отдельные элементы (токены).

2. Очистка и токенизация (Cleaning and Tokenizing):
- Данные очищаются от ненужной информации и повторно токенизируются для подготовки к обучению модели.

3. Механизм само-внимания (Self-Attention Mechanism):
- Используется для обработки данных с учетом контекста и взаимосвязей между токенами.

4. Оптимизация на основе градиента (Gradient-based optimization):
- Применяется для улучшения параметров модели на основе анализа ошибок.

5. Обучение с использованием архитектуры трансформера (Pretraining with Transformer Architecture):
- Модель обучается на больших текстовых наборах данных с использованием архитектуры трансформера.

6. Файн-тюнинг для конкретных задач (Fine-Tuning for Specific Tasks):
- Модель настраивается для выполнения конкретных задач, таких как классификация текста или генерация ответов.

7. Квантование, обрезка, дистилляция (Quantization, Pruning, Distillation):
- Применяются методы оптимизации модели для уменьшения ее размера и повышения эффективности.

8. Меры безопасности (Safety Measures):
- Включают проверку модели на соответствие этическим стандартам и безопасность использования.

9. Оптимизация и развертывание (Optimization & Deployment):
- Модель оптимизируется для работы в производственных условиях и развертывается для использования.

10. Генерация вывода и ответов (Inference & Response Generation):
- Модель используется для генерации ответов на запросы пользователей.

11. Стратегии декодирования (Decoding strategies):
- Применяются различные стратегии для улучшения качества генерируемых ответов.

12. Поиск и извлечение информации (RAG):
- Используется для поиска и извлечения информации из внешних источников для улучшения ответов модели.
🔥82🤔2