METANIT.COM – Telegram
METANIT.COM
5.88K subscribers
1.67K photos
81 videos
9 files
1.03K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Что такое принципы 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
JWT-токены и API-ключи
(описание в следующем посте)
JWT-токены и API-ключи
(описание к предыдущему посту)

Токены (JWT)
- Описание: Временные, самодостаточные учетные данные, которые содержат информацию о пользователе и автоматически истекают. Похожи на билет в кино с информацией о вашем месте, напечатанной на нем.
- Особенности:
- Содержат данные пользователя (утверждения)
- Имеют срок действия
- Могут быть проверены без обращения к базе данных
- Бесконтекстная аутентификация
- Идеально подходят для пользовательских сессий

API Ключи
- Описание: Долговечные, простые учетные данные, которые идентифицируют приложения или сервисы. Похожи на ключ от дома — простые, постоянные и предоставляют доступ.
- Особенности:
- Простой строковый идентификатор
- Долговечные (до отзыва)
- Идентифицируют приложения/сервисы
- Легко реализовать
- Отлично подходят для аутентификации между сервисами

Поток токенов
1. Пользователь входит в систему, предоставляя имя пользователя и пароль.
2. Сервер проверяет учетные данные против базы данных.
3. Создается JWT с утверждениями пользователя и сроком действия.
4. Токен отправляется клиенту и сохраняется локально.
5. Токен используется для аутентификации при последующих вызовах API.
6. Токен проверяется на сервере и проверяется подпись и срок действия.
7. Предоставляется доступ к службе.

Поток API ключей
1. Разработчик регистрируется в системе.
2. Система создает уникальный ключ и сохраняет его в базе данных.
3. Разработчик получает API ключ.
4. API ключ передается в качестве параметра при вызове API.
5. Ключ проверяется на сервере.
6. Предоставляется доступ к службе.

Сравнение
- Безопасность: Токены (JWT) — высокая, API ключи — средняя
- Срок действия: Токены (JWT) — автоматически истекают, API ключи — ручной отзыв
- Контекст пользователя: Токены (JWT) — содержат данные пользователя, API ключи — только на уровне приложения
- Масштабируемость: Токены (JWT) — бесконтекстные, высокая масштабируемость, API ключи — требуют обращения к базе данных
- Реализация: Токены (JWT) — сложная (поток аутентификации), API ключи — простая
👍9🔥2👏1
Стратегии аварийного восстановления облачных систем и веб-приложений
(описание в следующем посте)
2🔥1👏1
Стратегии аварийного восстановления облачных систем и веб-приложений
(описание к предыдущему посту)

Любая стратегия аварийного восстановления начинается с определения следующих параметров:

1. RTO (Recovery Time Objective) — целевое время восстановления:
* Какое время простоя допустимо для вашей системы?

2. RPO (Recovery Point Objective) — целевая точка восстановления:
* Какой объем потери данных допустим?

Стратегии аварийного восстановления

1. Резервное копирование и восстановление
Создание периодических копий данных и систем для последующего восстановления при возникновении аварии.

Характеристики:
* RTO: от нескольких часов до нескольких дней
* RPO: от последнего успешного резервного копирования до нескольких часов

2. Пилотный лайт (холодный резерв)
Поддержание основных компонентов в режиме ожидания для быстрого масштабирования инфраструктуры при аварии.

Характеристики:
* RTO: от нескольких минут до нескольких часов
* RPO: зависит от частоты синхронизации данных

3. Warm Standby (теплый резерв)
Подготовка частично функционирующей среды с актуальными данными для минимизации времени простоя при восстановлении.

Характеристики:
* RTO: от нескольких минут до нескольких часов
* RPO: последние несколько минут или часов

4. Hot Site / Multi Site (горячий резерв)
Работа полностью дублирующей, активной производственной среды параллельно с основной системой, обеспечивающей непрерывность бизнес-процессов.

Характеристики:
* RTO: практически нулевое или несколько минут
* RPO: минимальный, часто в пределах последних нескольких секунд
9🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают большие языковые модели LLM наглядно
🤨15🤣12👾3🔥2🤯2👍1
Подборка полезных команд для Windows

Explorer.exe — в нормальном режиме работы вызывает «Проводник». Если в системе произошел сбой, и привычные элементы вроде панели задач и меню «Пуск» пропали, эта команда поможет вернуть их.

Msconfig.exe — вызывает меню «Конфигурация системы». Здесь можно удалить лишние операционные системы из списка загрузки, изменить параметры при загрузке системы, запустить встроенные утилиты для диагностики, а также отключить работающие службы.

Charmap.exe — открывает таблицу символов. Полезно, если нужно вставить какой-то особый символ в текст.

Mrt.exe — запускает утилиту «Средство удаления вредоносных программ Microsoft Windows». Ее можно использовать для проверки системы на вирусы

Diskmgmt.msc — открывает утилиту управления дисками. Это довольно мощный инструмент, который позволяет видеть скрытые разделы, преобразовывать MBR в GPT, создавать виртуальные жесткие диски и многое другое.


Также стоит отметить и другие команды:

regedit.exe — запускает редактор реестра, но без должных знаний никакие параметры менять не стоит;

lpksetup — установка или удаление языков системы;

intl.cpl — установка региональных и языковых параметров;

winver.exe — показывает сведения об операционной системе. В частности, можно узнать версию и сборку ОС;

msinfo32 — показывает сведения о системе. В отличие от предыдущего пункта здесь содержится более подробная информация;

dxdiag — диагностика компонентов DirectX;

mdsched — проверка оперативной памяти на ошибки;

joy.cpl — настройка геймпадов, джойстиков или других игровых контроллеров;

osk.exe — выводит экранную клавиатуру. Может быть полезно, если ваша физическая клавиатура по какой-то причине не работает;

control — открывает «Панель управления Windows»;

control folders — открывает свойства проводника, где можно задать видимость папок и настроить другие параметры;

appwiz.cpl — открывает «Программы и компоненты»;

devmgmt.msc — открывает «Диспетчер устройств»;

ncpa.cpl — открывает сетевые подключения;

powercfg.cpl — открывает настройки электропитания;

sysdm.cpl — открывает «Свойства системы»;

perfmon /res — мониторинг ресурсов ПК, позволяет увидеть загрузку комплектующих;

netplwiz — открывает настройки учетных записей пользователей;

cmd — запускает командную строку, с помощью которой можно отформатировать диск, проверить пинг или восстановить системные файлы;

powershell — запускает оболочку PowerShell.


Полезные команды для командной строки:

Ping — полезная команда, которая позволит узнать сетевые задержки. Пригодится, если возникают проблемы в онлайн-играх или с доступом к сайтам. Например, "ping google.com -n 50" отправит 50 пакетов к серверу google.com.

Sfc — проверка и восстановления целостности системных файлов. Не помешает проверить после сбоев, вызванных вредоносными программами или действиями пользователя. Доступно несколько параметров. Если вам нужно только проверить — Sfc /verifyonly, если проверить и по возможности исправить — Sfc /scannow.

Chkdsk — проверка диска на ошибки. Полезно, если возникают неполадки с накопителем. Стоит сразу запускать с параметрами для исправления ошибок и проверки секторов — chkdsk C: /F /R, где вместо C: поставьте букву нужного диска. Это может занять продолжительное время, а также потребует перезагрузки.

Format — позволяет отформатировать выбранный диск. Если нужно отформатировать накопитель, но в графическом интерфейсе системы нет нужных параметров, можно использовать командную строку. Введите "format D: /Q /FS:exFAT /A:2048 /V:name", где D: — буква диска, FS — файловая система, А — размер кластера, V — метка тома.

CLS — очищает окно командной строки. Полезно, когда вы уже продолжительное время пользуетесь командной строкой и она переполнена командами.

#windows
👍2310🔥8