METANIT.COM – Telegram
METANIT.COM
5.88K subscribers
1.67K photos
81 videos
9 files
1.03K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Как работают каналы (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
Многие думают, что Delphi умер, либо умирает, а вот и нет. Он даже обновляется. Так, в новой версии Delphi/Object Pascal будет добавлен тернарный оператор. Для сравнения:

// Классическая конструкция if
if Left < 100 then
X := 22
else
X := 45;

// присвоение с помощью if-оператора
X := if Left < 100 then 22 else 45;

"Тернарный, или условный, оператор — это оператор, который работает как оператор if с условием и двумя возможными значениями. Во многих других языках программирования тернарный оператор обозначается с помощью синтаксиса ?: В Delphi мы хотим максимально сохранить привычный синтаксис, ориентированный на Pascal, поэтому решили использовать символ if в качестве оператора. Другими словами, if теперь может обозначать оператор или выражение в зависимости от позиции в исходном коде."

https://blogs.embarcadero.com/coming-in-rad-studio-13-a-conditional-ternary-operator-for-the-delphi-language/
😁39👍117🤣5🥰3🤩3🤡3😎2😢1
Шпаргалка по работе со строками в языке C++ #cpp #cplusplus
🤣10👍6🔥32