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

- List: Используется для представления последовательности элементов. Пример применения — ленты новостей в Twitter.
- Array: Массив, где элементы хранятся по индексам. Применяется для математических операций и работы с большими наборами данных.
- Stack: Структуры данных типа «последним пришёл — первым вышел». Используется для функций отмены/возврата в текстовых редакторах
- Queue: Очередь, где элементы обрабатываются по принципу «первым пришёл — первым вышел». Применяется для управления заданиями принтера и пользовательскими действиями в играх.
- Heap: Используется для планирования задач.
- Tree: Иерархическая структура, применяемая для анализа HTML-документов и принятия решений в ИИ.
- Suffix Tree: Применяется для поиска строк в документах.
- Graph: Используется для отслеживания связей между людьми (например, в социальных сетях) и поиска путей.
- R-tree: Применяется для поиска ближайших соседей.
- Hash Table: Используется в системах кэширования
👍15🔥21👏1
Какой способ инициализации числового массива более интуитивен?
Anonymous Poll
2%
numbers = 1, 2, 3, 4, 5;
27%
numbers = {1, 2, 3, 4, 5};
69%
numbers = [1, 2, 3, 4, 5];
1%
numbers = (1, 2, 3, 4, 5);
🔥18🤨14🍾5👨‍💻32🤡2
Основные способы масштабирования баз данных (описание в следующем посте)
3👍1👎1🔥1👏1
Основные способы масштабирования баз данных:
(описание к предыдущему посту)

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