fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Программистика

Программистика

کانال بسته

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

نمایش بیشتر
5 791
مشترکین
-624 ساعت
+157 روز
-4130 روز
آرشیو پست ها
🧠 Отгадка: что выведет этот код?
funcs = [lambda i=i: i for i in range(3)]
print([f() for f in funcs])
✔️ Правильный ответ: 1. `[0, 1, 2]` 📖 Почему так происходит? Внутри спискового включения создаётся три лямбда-функции. Ключевая деталь — lambda i=i: i. Обычно лямбда захватывает переменную i из внешней области видимости (замыкание), и из-за позднего связывания (late binding) все три функции вернули бы последнее значение i (2). Но здесь мы добавили аргумент по умолчанию i=i, который вычисляется в момент создания каждой лямбды. На каждой итерации цикла текущее значение i (0, затем 1, затем 2) фиксируется как значение по умолчанию для параметра i внутри функции. Таким образом:
- Первая лямбда: lambda i=0: i - Вторая: lambda i=1: i - Третья: lambda i=2: i
При вызове без аргумента каждая лямбда возвращает своё сохранённое значение по умолчанию. Поэтому получаем [0, 1, 2]. Без аргумента по умолчанию (lambda: i) все функции вернули бы одно и то же последнее значение 2. 🛠 Как запомнить? Аргумент по умолчанию в лямбде — это способ «заморозить» переменную цикла, чтобы избежать классической ловушки. Хитрость, которую стоит знать и использовать. Ставьте 🔥, если было полезно! Программистика || #quiz

👩‍💻 InquirerPy — это Python-форк знаменитой библиотеки Inquirer.js, позволяющий создавать красивые интерактивные интерфейсы
👩‍💻 InquirerPy — это Python-форк знаменитой библиотеки Inquirer.js, позволяющий создавать красивые интерактивные интерфейсы в терминале. Библиотека поддерживает все популярные типы диалогов: текстовый ввод, подтверждения, списки (одиночный выбор), чекбоксы (множественный выбор) и даже ввод пароля. InquirerPy написан на чистом Python с использованием prompt_toolkit, работает на всех платформах (Windows, macOS, Linux) и предлагает два варианта синтаксиса: классический (для обратной совместимости с PyInquirer) и альтернативный (гибкий, с подсказками от IDE).
🐱 Ссылка на GitHub Программистика|| #Репозиторий

💻 Логово Сфинкса — самое активное ИБ-комьюнити во всём телеграме! Сам Сфинкс очень умелый молодой специалист, который уже, у
💻 Логово Сфинкса — самое активное ИБ-комьюнити во всём телеграме! Сам Сфинкс очень умелый молодой специалист, который уже, учась в унике, получал офферы на +300к💰 И на своём канале он освещает такие темы, как: — атаки на актив директори — атаки на инфру — обход различных средств защиты и фишинг — C2 Фреймворк — И много опыта из жизни и работы Так же он помогает своим подписчикам обучиться ИБ и составить успешное резюме! Подпишись и ты точно найдёшь работу🫵

Что происходит с наймом Python Backend?
📱 Первоисточник
Программистика|| #video

🗑 Сборка мусора в Python: кто и когда убирает за тобой? Вы когда-нибудь создавали миллион объектов в цикле и не думали о том, куда они деваются? Память не бесконечна. Кто-то же должен убирать мусор. В C/C++ вы вызываете free(). В Python это делает автоматический сборщик мусора (GC). Разбираемся, как он работает, простыми словами. 🧱 Проблема: как объекты умирают? Каждый объект в Python имеет счётчик ссылок. Сколько переменных на него указывают.
x = [1, 2, 3]  # счётчик = 1
y = x          # счётчик = 2
del x          # счётчик = 1
del y          # счётчик = 0 → объект удаляется сразу
Это подсчёт ссылок (reference counting) — основной метод. Работает быстро, удаляет объект мгновенно, когда на него больше никто не ссылается. 🧪 А что с циклическими ссылками? Вот где начинаются проблемы:
class Node:
    def __init__(self):
        self.next = None

a = Node()
b = Node()
a.next = b
b.next = a
del a
del b
Теперь два объекта ссылаются друг на друга, но из программы на них никто не указывает. Счётчики = 1. Подсчёт ссылок не может их удалить. Это утечка памяти. 🛠 Как управлять GC вручную Модуль gc даёт контроль:
import gc

# Показать пороги срабатывания
print(gc.get_threshold())  # (700, 10, 10)

# Запустить сборку принудительно
gc.collect()

# Отключить GC (не делайте без причины)
# gc.disable()
Программистика || #Статья

🧠 Загадка на ночь: что выведет этот код?
funcs = [lambda i=i: i for i in range(3)]
print([f() for f in funcs])
Варианты: 1. [0, 1, 2] 2. [2, 2, 2] 3. [0, 0, 0] 4. Ошибка Пиши свой вариант в комментарии! Ответ и разбор — через пару часов 🔥 Программистика || #quiz

⚡️ Tyro — это библиотека для создания CLI-приложений прямо из аннотаций типов Python. Забудьте про многострочный argparse: до
⚡️ Tyro — это библиотека для создания CLI-приложений прямо из аннотаций типов Python. Забудьте про многострочный argparse: достаточно описать функцию с типами, добавить tyro.cli() — и у вас готово приложение с авто-документацией, парсингом, проверкой типов и поддержкой вложенных dataclass-структур. IDE и mypy подскажут все аргументы, а ошибки в конфигурации отловятся до запуска. Программистика|| #Репозиторий

Айтишник, который не умеет использовать командную строку bash – так себе специалист. Если посетить несколько собеседований уровня от миддл, то можно убедиться, что вопросы про опыт работы в консоли появляются довольно часто. Сходу научиться всем командам bash нереально – их очень много. К счастью, появился канал BashMaster, в котором каждый день можно узнавать по одной небольшой связке команд и сразу же внедрять их в свою работу. Подпишись, освоишь bash на изи 👍

Beginner Guide to Python - Tasks Задания для открытого курса по Python, подходит всем - от новичков в программировании до тех
Beginner Guide to Python - Tasks Задания для открытого курса по Python, подходит всем - от новичков в программировании до тех, кто захотел изучить стремительно развивающуюся технологию в мире ИТ (Python занимает 1-3 место в популярности среди языков программирования за 2019 год)
🌐 Ссылка
Программистика || #Course

🍿 Решаю задачи с собеседований на Python Junior
📱 Первоисточник
Программистика|| #video

На Stepik запустили годный курс по «Troubleshooting Docker и Kubernetes: поиск и устранение проблем» В программе только важны
На Stepik запустили годный курс по «Troubleshooting Docker и Kubernetes: поиск и устранение проблем» В программе только важные аспекты: — troubleshooting Docker и образов — диагностика сетевых проблем — настройка readiness/liveness probes — отладка pod’ов, деплоев и ingress — анализ логов контейнеров и кластера — разбор ошибок CrashLoopBackOff, OOMKilled, ImagePullBackOff и других Собеседования на DevOps/SRE сейчас всё чаще строятся вокруг реальных инцидентов. Данный курс фокусируется именно на таких сценариях и помогает в подготовке к практическим вопросам 48 часов доступен со скидкой 25% ↗️ Пройти курс на Stepik

👩‍💻 python-mss — модуль для создания снимков экрана (скриншотов) на нескольких платформах, таких как Windows, macOS и Linux
👩‍💻 python-mss — модуль для создания снимков экрана (скриншотов) на нескольких платформах, таких как Windows, macOS и Linux!
Модуль реализован на чистом Python с использованием ctypes, что делает его лёгким, быстрым и не зависящим от внешних библиотек. MSS поддерживает захват скриншотов с отдельных мониторов или всех мониторов одновременно, а также интеграцию с библиотеками, такими как Pillow, Numpy и OpenCV, для последующей обработки изображений.
Программистика|| #Репозиторий

⚡️ Linux теперь в Telegram! Ребята делают реально классный канал про IT - просто, понятно и без воды. О Linux, DevOps, разраб
+4
⚡️ Linux теперь в Telegram! Ребята делают реально классный канал про IT - просто, понятно и без воды. О Linux, DevOps, разработке, безопасности и инструментах, которые помогают работать эффективнее. Подписывайтесь: @recura_tech

📦 `None` в Python: не просто «ничего», а полноценный объект Многие новички думают, что None — это как «пустота» или «ничего». На самом деле None — полноценный объект со своим типом NoneType. Он существует в единственном экземпляре на всю программу (синглтон). Что важно знать: 1. None используется для обозначения отсутствия значения:
   def func():
       print("Привет")
   result = func()  # result = None
2. Сравнивать с None нужно через is, а не ==:
   if value is None:   # правильно
   if value == None:   # работает, но так не делают
3. None — ложное значение в булевом контексте:
   if not value:  # сработает и для None, и для 0, и для []
4. Функция без return возвращает None. Запомните: None — не ошибка и не баг, а сигнал «значения нет». Уважайте объект None как полноправного гражданина Python. Программистика || #doc

🧠 Отгадка: что выведет этот код?
def add_one(x=[]):
    x.append(1)
    return x

print(add_one())
print(add_one())
✅ Правильный ответ: 2. `[1]` и `[1, 1]` 📖 Почему так происходит? Аргумент по умолчанию (x=[]) создаётся один раз, в момент определения функции, а не при каждом вызове. Список [] сохраняется внутри функции и используется во всех вызовах, куда не передали явный аргумент. 🟢 Первый вызов: x указывает на тот самый список → добавляем 1 → возвращаем [1]. 🟢 Второй вызов: x снова указывает на тот же самый список (теперь он [1]) → добавляем ещё 1 → возвращаем [1, 1]. Это классическая ловушка с изменяемыми объектами в аргументах по умолчанию. 🛠 Как правильно? Если нужен новый список при каждом вызове, используйте None:
def add_one(x=None):
    if x is None:
        x = []
    x.append(1)
    return x

print(add_one())  # [1]
print(add_one())  # [1]
Запомните: аргументы по умолчанию вычисляются один раз — для неизменяемых типов (int, str, tuple) это безопасно, для изменяемых (list, dict, set) Больше загадок — ставьте 🔥 Программистика || #quiz

Кажись началось! Толпы вайбкодеров рухнули на рынок труда! ☺️ С лёгкой подачи чатгпт повсюду появились дыры🤯 Проблему надо р
Кажись началось! Толпы вайбкодеров рухнули на рынок труда! ☺️ С лёгкой подачи чатгпт повсюду появились дыры🤯 Проблему надо решать👍 Поэтому ИБ'ешники, как никогда требуются на рынке труда😶 Так что заходите в Логово Сфинкса, там вы поймёте что к чему, разберётесь что можно читать а что нельзя и наконец получите чёткое представление о том, что должен уметь безопаснк🐈‍⬛ Так же скоро начнëтся второй поток на его курс по атакам на инфру, где он проведëт вас от самых основ и поможет составить резюме для успешного трудоустройства🥡 Не думай, просто, подпишись и скоро ты окажешься на работе мечты: https://t.me/+TCtuSVJObBAyYTBk

🧠 Загадка на ночь: что выведет этот код?
def add_one(x=[]):
    x.append(1)
    return x

print(add_one())
print(add_one())
Варианты: 1. [1] и [1] 2. [1] и [1, 1] 3. [1] и [] 4. Ошибка Пиши свой вариант в комментарии! Ответ и разбор — через пару часов 🔥 Программистика || #quiz

1 миллион в год - именно столько я добавил к зарплате, просто составив грамотное резюме Безусловно, уметь кодить - важный асп
1 миллион в год - именно столько я добавил к зарплате, просто составив грамотное резюме Безусловно, уметь кодить - важный аспект, но на самом деле именно резюме решает, попадёте ли вы на собеседование или нет Максим Аверин (Senior Python Dev) у себя в канале подробно разобрал вопросы, которыми тимлид мгновенно отсекает неопытных разработчиков и дал шаблон резюме, которое поможет тебе выбить более жирный оффер Также для подписчиков есть бесплатный гайд «Как получить первую работу на Python с зарплатой от 150к» Осень — самый горячий сезон найма. У тебя ещё есть возможность получить тот самый оффер, подписывайся: @maksim_python

😒 Подборка каналов по информационной безопасности Проверенные каналы по безопасности, которые реально помогают расти. 👍 Zer
😒 Подборка каналов по информационной безопасности Проверенные каналы по безопасности, которые реально помогают расти. 👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля 👍 Белый Хакер — Свежие новости из мира ИБ 😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг 👨‍💻 Серверная Админа — Настройка и уроки по компьютерным сетям 📂 Подписывайся