ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

IT Ready

IT Ready

关闭频道

Качественные IT ресурсы, сайты, репозитории, курсы и инструменты для обучения. Информация ежедневно пополняется! Cотрудничество: @energy_c Реклама на бирже: https://telega.in/channels/+oQDlPHBPTg82MmU6/card РКН: https://clck.ru/3NJE9E

显示更多

📈 Telegram 频道 IT Ready 的分析概览

频道 IT Ready 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 17 220 名订阅者,在 技术与应用 类别中位列第 7 556,并在 俄罗斯 地区排名第 37 989 位。

📊 受众指标与增长动态

自 невідомо 创建以来,项目保持高速增长,吸引了 17 220 名订阅者。

根据 14 十一月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 88,过去 24 小时变化为 -10,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 8.73%。内容发布后 24 小时内通常能获得 4.63% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 1 503 次浏览,首日通常累积 797 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 19。
  • 主题关注点: 内容集中在 github, api, habr, собеседование, хабре 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
“Качественные IT ресурсы, сайты, репозитории, курсы и инструменты для обучения. Информация ежедневно пополняется! Cотрудничество: @energy_c Реклама на бирже: https://telega.in/channels/+oQDlPHBPTg82MmU6/card РКН: https://clck.ru/3NJE9E”

凭借高频更新(最新数据采集于 15 十一月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

17 220
订阅者
-1024 小时
-807 天
+8830 天
帖子存档
IT Ready
17 220
👨‍💻 BrowserWire — API для автоматизации браузера с помощью AI-агентов! Сервис предоставляет программный интерфейс для взаимодействия AI-агентов с веб-сайтами. Позволяет интегрировать браузерные операции в приложения и автоматизированные процессы. Основная идея — детерминированное выполнение браузерных действий через API, чтобы сделать взаимодействие AI-агентов с веб-интерфейсами более предсказуемым и управляемым. 📌 Оставляю ссылочку: browserwire.io ➡️ IT Ready | #нейросеть

IT Ready
17 220
Диагностируем сетевые проблемы в Linux через tcpdump! Иногда приложение не может подключиться к удалённому серверу, хотя маршруты настроены правильно и firewall не показывает явных блокировок. В таких случаях полезно посмотреть, что происходит с пакетами на самом деле. Например, запрос завершается ошибкой:
curl https://api.example.com
Получаем Connection timed out, но непонятно, где именно возникает проблема. Для диагностики используем tcpdump, который позволяет перехватывать сетевые пакеты прямо на интерфейсах Linux. Посмотрим весь TCP-трафик на HTTPS-порту:
sudo tcpdump -nn -i any 'tcp port 443'
Параметр -nn отключает преобразование адресов и портов в имена, а -i any захватывает трафик со всех доступных интерфейсов. Если в выводе видим:
IP 10.0.0.15.42310 > 203.0.113.10.443: Flags [S]
Это SYN-пакет — попытка установить TCP-соединение. Если SYN повторяется, но ответа нет, стоит проверить маршрутизацию, сетевую фильтрацию и доступность удалённого сервера. Если приходит ответ:
IP 203.0.113.10.443 > 10.0.0.15.42310: Flags [S.]
Это SYN-ACK — сервер отвечает на запрос соединения. Если клиент затем отправляет ACK, TCP handshake завершён, и дальнейшую диагностику можно сосредоточить на TLS или приложении. На production удобнее фильтровать пакеты по конкретному адресу и порту. Например, при проверке соединения с PostgreSQL:
sudo tcpdump -nn -i any 'host 10.0.0.5 and tcp port 5432'
Так можно увидеть попытки подключения, повторные передачи и сбросы соединений, не анализируя посторонний трафик. Для просмотра содержимого незашифрованных HTTP-запросов:
sudo tcpdump -A -s 0 -i any 'tcp port 80'
Флаг -A отображает данные в ASCII, а -s 0 захватывает пакеты целиком. Для HTTPS содержимое HTTP-запросов останется зашифрованным. Если нужно сохранить трафик для последующего анализа в Wireshark:
sudo tcpdump -i any 'tcp port 443' -c 100 -w capture.pcap
Команда запишет первые 100 подходящих пакетов в файл, который можно изучить отдельно. 🔥 tcpdump помогает быстро определить, на каком этапе возникает сетевая проблема: при отправке пакетов, получении ответа или уже после установки TCP-соединения. Особенно полезно, когда логи приложения не дают никаких зацепок. ➡️ IT Ready | #практика

IT Ready
17 220
❤️ Интересная статья на Хабре: «Деньги быстрее железа: что на самом деле обвалило акции ИИ‑компаний»! В этой статье: • Узнает
❤️ Интересная статья на Хабре: «Деньги быстрее железа: что на самом деле обвалило акции ИИ‑компаний»! В этой статье: • Узнаете, почему акции Intel, Alphabet и Amazon резко упали, несмотря на сильные финансовые показатели и рост ИИ-направлений; • Разберётесь, как дефицит оперативной памяти, нехватка электроэнергии и задержки строительства дата-центров тормозят развитие ИИ; • Поймёте, почему миллиардные инвестиции в нейросети пока не обеспечивают ожидаемой отдачи и чем нынешняя ситуация отличается от пузыря доткомов.
🔊 Продолжай читать на Habr!
➡️ IT Ready | #статья

IT Ready
17 220
Bash позволяет повторно использовать команды из истории без их поиска и ручного ввода! Например, набрали длинную команду, но
Bash позволяет повторно использовать команды из истории без их поиска и ручного ввода! Например, набрали длинную команду, но забыли sudo и получили ошибку доступа. Вместо повторного ввода достаточно написать:
apt install nginx
sudo !!
Bash подставит вместо !! предыдущую команду целиком и выполнит её с повышенными правами. А если нужно повторить команду, которую запускали несколько шагов назад, используйте относительный номер:
!-2
Bash выполнит команду, находящуюся на две позиции раньше в истории текущей оболочки. Если помните только начало команды, можно найти последнее совпадение:
!docker
!grep
Bash найдёт последнюю команду, начинающуюся с указанного текста, и сразу выполнит её. Команду можно сначала посмотреть, не выполняя. Для этого добавьте :p:
!docker:p
!grep:p
Так Bash покажет найденную команду, чтобы вы могли проверить её перед запуском. 🔥 Подстановка команд из истории Bash экономит время при работе с длинными командами и избавляет от постоянного поиска уже введённых инструкций. Главное помнить, что без :p найденная команда выполняется сразу. ➡️ IT Ready | #совет

IT Ready
17 220
🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют По данным Минфин 32% граждан покинули своё место р
🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют По данным Минфин 32% граждан покинули своё место работы поскольку в среднем уже в первый месяц смогли заработать 250 000 рублей, а через 2-3 месяца с легкостью вышли на семизначные числа. Самое смешное, что лишь 8% россиян что-то слышали об этой профессии хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют Там объясняют, как имея телефон и доступ в интернет заработать свои первые $3000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка! Ссылка для входа — https://t.me/+lvVed8tyOGg5ZWNi

IT Ready
17 220
😎 Awesome RU — большая подборка интересных проектов с открытым исходным кодом от русскоязычных разработчиков! В репозитории собраны библиотеки, инструменты и готовые решения для веб-разработки, машинного обучения, работы с базами данных, серверной инфраструктурой и не только. Среди них есть как известные проекты вроде ClickHouse, CatBoost и Nginx, так и менее популярные, но полезные разработки. У каждого проекта есть краткое описание и ссылка на исходный код.
Оставляю ссылочку: GitHub 📱
➡️ IT Ready | #репозиторий

IT Ready
17 220
Как безопасно проверить конфигурацию nftables на удалённом линукс сервере? Ошибки в правилах nftables могут привести к блокировке SSH-доступа, особенно при использовании политики drop или изменении разрешённых портов. Перед применением новой конфигурации полезно проверить её и изучить действующие правила, не изменяя firewall. Практика рассчитана на линукс с установленным nftables. Все команды ниже не изменяют активные правила фильтрации. Сначала посмотрим текущий набор правил:
sudo nft list ruleset
Команда покажет таблицы, цепочки, правила и другие объекты nftables. Сохраним снимок текущих правил для диагностики:
sudo sh -c 'umask 077; nft list ruleset > /root/nft-rules-snapshot.conf'
Файл будет доступен только root. Это диагностический снимок, а не гарантированная резервная копия для восстановления динамических правил. Теперь проверим подготовленную конфигурацию, например /etc/nftables.conf:
sudo nft -c -f /etc/nftables.conf
Параметр -c проверяет конфигурацию без применения изменений. Если обнаружены ошибки, nft выведет диагностическое сообщение. Успешная проверка не гарантирует сохранения SSH-доступа после применения правил. Дополнительно посмотрим действующие цепочки, политики и идентификаторы правил:
sudo nft -a list ruleset
Особое внимание уделим базовым цепочкам с hook input, их приоритетам и политикам accept или drop. Проверим, на каких TCP-портах сервер принимает подключения:
sudo ss -ltnp
Найдём SSH-сервер в выводе и убедимся, что его порт учтён в планируемой конфигурации. Прослушивание порта само по себе не гарантирует доступность через firewall. Команды не изменяют действующие правила. Для их применения на удалённом сервере необходимы отдельный механизм отката и резервный консольный доступ. 🔥 Предварительная проверка через nft -c помогает обнаружить ошибки конфигурации без риска заблокировать SSH из-за её применения. ➡️ IT Ready | #практика

IT Ready
17 220
😎 Handium — нейросеть для распознавания рукописного текста! Сервис превращает фотографии, сканы и PDF с рукописным текстом в редактируемый документ. Нейросеть распознаёт прописной и печатный почерк, курсив, мелкие и трудночитаемые записи, а результат можно проверить и исправить во встроенном редакторе. Handium старается сохранить исходную структуру страницы: заголовки, списки, таблицы, расположение блоков и формулы. 📌 Оставляю ссылочку: handium.ru 🚪 AI Ready | #нейросеть

IT Ready
17 220
Как получить стек вызовов зависшей программы без отладчика? Если Python-программа перестала отвечать и не выдаёт ошибок, опре
Как получить стек вызовов зависшей программы без отладчика? Если Python-программа перестала отвечать и не выдаёт ошибок, определить причину бывает непросто. Для таких ситуаций в стандартной библиотеке есть модуль faulthandler. Он позволяет вывести стеки вызовов Python-потоков по истечении заданного времени.
import faulthandler

faulthandler.dump_traceback_later(5)

while True:
    pass
Через пять секунд Python выведет текущие стеки вызовов в stderr с указанием файлов и номеров строк. Это работает даже тогда, когда программа продолжает выполняться без исключений. Для наблюдения за длительными зависаниями можно включить периодический вывод.
faulthandler.dump_traceback_later(5, repeat=True)
Теперь стеки будут выводиться каждые пять секунд, помогая определить, на каком участке кода находится каждый поток. После завершения проверяемой операции запланированный вывод можно отменить.
faulthandler.cancel_dump_traceback_later()
Важно учитывать, что faulthandler не определяет зависание автоматически: вывод происходит по таймеру независимо от состояния программы. 🔥 faulthandler.dump_traceback_later() помогает диагностировать зависания без отладчика, показывая стеки Python-потоков с указанием файлов и номеров строк. ➡️ IT Ready | #совет

IT Ready
17 220
photo content

IT Ready
17 220
Как научить AI-агента определять, когда нужен поиск в интернете? Не каждый запрос требует внешних источников, базовые вопросы можно обрабатывать без поиска, а сведения о последних релизах и изменениях API необходимо проверять. Постоянные обращения к поисковым сервисам увеличивают задержку и расходы. Реализуем LLM-маршрутизатор через OpenAI Responses API. Модель будет определять необходимость поиска и возвращать типизированное решение. Установим зависимости и настроим API-ключ:
pip install -U openai pydantic
export OPENAI_API_KEY="your_api_key"
Опишем структуру ответа через Pydantic. Поле need_search отвечает за выбор маршрута, а query содержит поисковую строку:
from openai import OpenAI
from pydantic import BaseModel

client = OpenAI()

class SearchDecision(BaseModel):
    need_search: bool
    query: str
Создадим функцию классификации. responses.parse() обеспечивает структурированный вывод согласно заданной схеме без ручного разбора JSON:
def route(question: str) -> SearchDecision:
    response = client.responses.parse(
        model="gpt-4.1-mini",
        instructions=(
            "Определи, нужен ли интернет-поиск. "
            "Для актуальных данных используй поиск. "
            "Для общих вопросов поиск не нужен. "
            "Если поиск не нужен, query пустой."
        ),
        input=question,
        text_format=SearchDecision,
    )
    if response.output_parsed is None:
        raise RuntimeError("No routing decision")
    return response.output_parsed
Проверим маршрутизатор на двух запросах. Первый не требует актуальных данных, второй предполагает проверку последнего релиза библиотеки:
for question in [
    "Что такое декоратор в Python?",
    "Что изменилось в последней версии FastAPI?",
]:
    print(route(question).model_dump())
Один из возможных результатов показывает, что модель выбирает разные маршруты. Конкретная поисковая строка может отличаться между запусками:
{'need_search': False, 'query': ''}
{'need_search': True, 'query': 'FastAPI latest release changes'}
Результат классификации используется в обработчике агента. При необходимости приложение выполняет поиск и передаёт найденные данные модели. Ниже показан фрагмент интеграции; search_web() и answer_with_llm() реализуются отдельно:
def handle(question: str):
    decision = route(question)
    if decision.need_search:
        results = search_web(decision.query or question)
        return answer_with_llm(question, context=results)
    return answer_with_llm(question)
Маршрутизация не гарантирует правильного выбора и требует тестирования на реальных запросах. Дополнительный LLM-вызов также имеет стоимость, поэтому эффективность определяется экономией на поиске и общей задержкой обработки. 🔥 LLM-маршрутизация позволяет управлять вызовами внешних инструментов и исключать избыточный поиск там, где достаточно знаний модели. ➡️ IT Ready | #практика

IT Ready
17 220
Gemini Pro Argon на пол года по цене кофе? Gemini Pro на 6 месяцев можно купить за 6$ (480₽ вместо 10.000₽), в 20 раз выгодне
Gemini Pro Argon на пол года по цене кофе? Gemini Pro на 6 месяцев можно купить за 6$ (480₽ вместо 10.000₽), в 20 раз выгоднее чем официальная подписка. > 4.0 Argon топ для вайбкодеров > Nano Banana 2 PRO (картинки) > Видео генерация (видео, нарезки, мувики) > 5 ТБ облака в Google One Для вайбкодеров есть API-токены в 2-3 раза дешевле официальных! Приобрести можно в Магазине с 20.000+ покупок и 2000+ отзывов (есть возвраты и замены).

IT Ready
17 220
🤔 Свежая и очень интересная статья с Хабр: «Как IaC, документация и бэкапы помогли восстановить сервисы, когда пострадали да
🤔 Свежая и очень интересная статья с Хабр: «Как IaC, документация и бэкапы помогли восстановить сервисы, когда пострадали дата-центры Яндекса»! В этой статье: • Узнаете, как команда восстановила критичные сервисы на новой площадке менее чем за сутки после масштабной аварии; • Разберёте, какую роль сыграли Terraform, Ansible, GitOps, документация и заранее проверенные бэкапы; • Поймёте, почему для аварийного восстановления недостаточно просто сохранить данные и как правильно учитывать зависимости между сервисами.
🔊 Продолжай читать на Habr!
➡️ IT Ready | #статья

IT Ready
17 220
Запускаем инференс ML-модели на python через ONNX Runtime! После обучения модели в scikit-learn её можно экспортировать в ONNX и выполнять предсказания через ONNX Runtime. Это позволяет запускать модель без установленного scikit-learn в окружении инференса, а в некоторых случаях — ускорить обработку данных за счёт оптимизированного выполнения. Разберём, как конвертировать обученную модель в ONNX, запустить инференс и проверить корректность предсказаний. Для начала установим зависимости:
pip install scikit-learn skl2onnx onnxruntime numpy
Обучим классификатор RandomForestClassifier на встроенном датасете Iris. Он содержит характеристики цветков трёх видов ириса, а наша модель будет определять вид по четырём числовым признакам:
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier

X, y = load_iris(return_X_y=True)

model = RandomForestClassifier(
    n_estimators=100,
    random_state=42
)
model.fit(X, y)
Теперь экспортируем обученную модель в ONNX с помощью skl2onnx. Конвертер преобразует структуру Random Forest в операции ONNX, сохраняя обученные параметры. Переданный массив задаёт тип входных данных float32 и количество признаков, а размер батча остаётся переменным:
from skl2onnx import to_onnx
import numpy as np

onnx_model = to_onnx(
    model,
    X[:1].astype(np.float32),
    target_opset=12
)

with open("model.onnx", "wb") as f:
    f.write(onnx_model.SerializeToString())
Получили файл model.onnx, содержащий всё необходимое для выполнения модели. Теперь создадим сессию ONNX Runtime, которая загрузит вычислительный граф и подготовит его к инференсу. Через CPUExecutionProvider явно укажем выполнение на процессоре:
import onnxruntime as ort

session = ort.InferenceSession(
    "model.onnx",
    providers=["CPUExecutionProvider"]
)

input_name = session.get_inputs()[0].name
Имя входного тензора получаем непосредственно из модели, поэтому его не нужно прописывать вручную. Передадим сразу пять объектов одним батчем, предварительно приведя данные к float32 — именно такой тип ожидает экспортированная модель:
samples = X[:5].astype(np.float32)

predictions = session.run(
    None,
    {input_name: samples}
)

print(predictions[0])
Метод session.run() выполняет инференс и возвращает список выходных значений. Для нашего классификатора первый элемент содержит предсказанные классы, а второй — вероятности классов. Осталось проверить, что конвертация не изменила результат классификации. Получим предсказания исходной модели на тех же данных и сравним их с результатом ONNX Runtime:
sklearn_preds = model.predict(samples)
onnx_preds = predictions[0]

print(np.array_equal(
    sklearn_preds,
    onnx_preds
))
Ожидаемый результат — True. Предсказанные классы совпадают, но для других моделей после конвертации возможны численные расхождения. ONNX Runtime может ускорить инференс за счёт оптимизаций, однако результат зависит от модели, размера батча и оборудования. Не все операции scikit-learn поддерживают конвертацию, а прирост скорости стоит проверять бенчмарками. 🔥 ONNX Runtime позволяет запускать ML-модели без зависимости от обучающего фреймворка, что удобно при развёртывании API и сервисов инференса. ➡️ IT Ready | #практика

IT Ready
17 220
Потолок зарплаты в IT — ВСЁ Даже Senior-разработчики упираются в потолок. Дальше — менеджмент, смена компании или годы ожидания повышения. Но есть другой путь — зарабатывать больше на уже накопленном IT-опыте. И для этого необязательно переучиваться с нуля. Как именно, рассказывает Артём Алехин — экс-тимлид Сбера, работавший на валютных удаленках. Он совмещал российский найм с валютным контрактом, зарабатывая $8–9 тысяч в месяц. Артем создал проект в рамках которого получил для своих 200 учеников 40+ офферов на 200к+. Три направления, с которыми работает Артём: — Валютная удалёнка: выход на зарубежный рынок и поиск офферов от $5 000. — Монетизация экспертизы: превращать свой IT-опыт в доход через обучение и менторство — Свой IT-продукт: запуск SaaS с проверкой спроса сервиса для селлеров. Артём помогает выбрать подходящий путь и выстроить стратегию роста дохода, чтобы перестать зависеть от одного работодателя. Переходи в канал Артёма и изучай: @artem_itishnaya

IT Ready
17 220
🧐 Meshy AI — нейросеть для создания 3D-моделей по тексту и изображениям! Сервис позволяет генерировать трёхмерные объекты по текстовому описанию или обычной картинке. Достаточно описать нужный предмет или загрузить референс — AI создаст 3D-модель, которую можно доработать и использовать в собственных проектах. Meshy поддерживает генерацию текстур, настройку материалов и экспорт моделей в популярные 3D-форматы. Помогает создавать персонажей, игровые объекты, реквизит, элементы окружения и другие модели без необходимости моделировать всё вручную. 📌 Оставляю ссылочку: meshy.ai 🚪 AI Ready | #нейросеть

IT Ready
17 220
Запускаем инференс ML-модели на python через ONNX Runtime! После обучения модели в scikit-learn её можно экспортировать в ONNX и выполнять предсказания через ONNX Runtime. Это позволяет запускать модель без установленного scikit-learn в окружении инференса, а в некоторых случаях — ускорить обработку данных за счёт оптимизированного выполнения. Разберём, как конвертировать обученную модель в ONNX, запустить инференс и проверить корректность предсказаний. Для начала установим зависимости:
pip install scikit-learn skl2onnx onnxruntime numpy
Обучим классификатор RandomForestClassifier на встроенном датасете Iris. Он содержит характеристики цветков трёх видов ириса, а наша модель будет определять вид по четырём числовым признакам:
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier

X, y = load_iris(return_X_y=True)

model = RandomForestClassifier(
    n_estimators=100,
    random_state=42
)
model.fit(X, y)
Теперь экспортируем обученную модель в ONNX с помощью skl2onnx. Конвертер преобразует структуру Random Forest в операции ONNX, сохраняя обученные параметры. Переданный массив задаёт тип входных данных float32 и количество признаков, а размер батча остаётся переменным:
from skl2onnx import to_onnx
import numpy as np

onnx_model = to_onnx(
    model,
    X[:1].astype(np.float32),
    target_opset=12
)

with open("model.onnx", "wb") as f:
    f.write(onnx_model.SerializeToString())
Получили файл model.onnx, содержащий всё необходимое для выполнения модели. Теперь создадим сессию ONNX Runtime, которая загрузит вычислительный граф и подготовит его к инференсу. Через CPUExecutionProvider явно укажем выполнение на процессоре:
import onnxruntime as ort

session = ort.InferenceSession(
    "model.onnx",
    providers=["CPUExecutionProvider"]
)

input_name = session.get_inputs()[0].name
Имя входного тензора получаем непосредственно из модели, поэтому его не нужно прописывать вручную. Передадим сразу пять объектов одним батчем, предварительно приведя данные к float32 — именно такой тип ожидает экспортированная модель:
samples = X[:5].astype(np.float32)

predictions = session.run(
    None,
    {input_name: samples}
)

print(predictions[0])
Метод session.run() выполняет инференс и возвращает список выходных значений. Для нашего классификатора первый элемент содержит предсказанные классы, а второй — вероятности классов. Осталось проверить, что конвертация не изменила результат классификации. Получим предсказания исходной модели на тех же данных и сравним их с результатом ONNX Runtime:
sklearn_preds = model.predict(samples)
onnx_preds = predictions[0]

print(np.array_equal(
    sklearn_preds,
    onnx_preds
))
Ожидаемый результат — True. Предсказанные классы совпадают, но для других моделей после конвертации возможны численные расхождения. ONNX Runtime может ускорить инференс за счёт оптимизаций, однако результат зависит от модели, размера батча и оборудования. Не все операции scikit-learn поддерживают конвертацию, а прирост скорости стоит проверять бенчмарками. 🔥 ONNX Runtime позволяет запускать ML-модели без зависимости от обучающего фреймворка, что удобно при развёртывании API и сервисов инференса. ➡️ IT Ready | #практика

IT Ready
17 220
Очнись, твои крипта уже исчезла Хакеры вынесли $6,3 млрд с Binance — через один ноутбук инженера. Крупнейший взлом в истории
Очнись, твои крипта уже исчезла Хакеры вынесли $6,3 млрд с Binance — через один ноутбук инженера. Крупнейший взлом в истории крипты занял 20 минут. Теперь помни: твои деньги не только в крипте. Интернет-банк, карты, СМС-коды — всё это ломается через тот же самый ноутбук и смартфон. Через твой. Если хочешь сохранить свои деньги и не стать следующей жертвой — подписывайся на «Пакет безопасности» Здесь разбирают самые актуальные схемы мошенничества, инструменты приватности базу кибергигиены. Без шуток, сейчас это один из самых полезных каналов в Телеге. Надеемся на лучшее, но к чему нужно готовиться — вы и сами понимаете: @package_security

IT Ready
17 220
😍 MLCheatSheets — большая подборка шпаргалок по ключевым алгоритмам и методам! В репозитории собраны краткие материалы, которые помогают разобраться в основных концепциях машинного обучения, повторить математические основы и освежить знания перед практикой. Удобный справочник, когда нужно быстро вспомнить важную формулу, принцип работы алгоритма или подготовиться к техническому собеседованию.
Оставляю ссылочку: GitHub 📱
➡️ IT Ready | #репозиторий

IT Ready
17 220
Самостоятельные стрелочные структуры в Python! В Python объекты могут хранить ссылки на самих себя, образуя циклические струк
Самостоятельные стрелочные структуры в Python! В Python объекты могут хранить ссылки на самих себя, образуя циклические структуры данных. Например, список можно добавить в качестве элемента этого же списка.
data = [1, 2, 3]
data.append(data)
После такой операции последний элемент не становится копией исходного списка. Он ссылается на тот же объект, что легко проверить с помощью оператора is.
print(data[-1] is data)  # True
Интересно, что Python умеет корректно отображать подобные структуры. При выводе механизм repr() списка обнаруживает рекурсивную ссылку и обозначает её многоточием, предотвращая бесконечный вывод.
print(data)  # [1, 2, 3, [...]]
Подобные связи встречаются в графах, объектных моделях и структурах с обратными ссылками. Однако при самостоятельном обходе таких данных необходимо учитывать циклы, иначе рекурсивный алгоритм может зациклиться. Например, поверхностное копирование создаёт новый список, но сохраняет ссылки на исходные элементы:
copy = data.copy()
print(copy[-1] is data)  # True
print(copy[-1] is copy)  # False
При работе с циклическими структурами важно различать копирование контейнера и копирование всей связанной структуры объектов. 🔥 Понимание самоссылочных объектов помогает избегать ошибок при копировании, рекурсивном обходе и обработке графовых структур, где один объект может встречаться несколько раз. 👉 IT Ready | #совет