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

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

Canal cerrado

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

Mostrar más
5 579
Suscriptores
-324 horas
-427 días
-12830 días
Archivo de publicaciones
Нейросеть слила самую крупную базу частных паролей ❗️ Появился ИИ, который умеет находить твой пароль среди миллиардов утечек
Нейросеть слила самую крупную базу частных паролей ❗️ Появился ИИ, который умеет находить твой пароль среди миллиардов утечек — под угрозой соцсети, банки и все аккаунты Канал «BezBrain» собирает все важные новости из мира технологий и выложила ссылку на данный ИИ Заходи и за минуту проверь, не слит ли твой пароль: https://t.me/+ZMIsaHoWamllYjNi

👩‍💻 `zip`: Когда нужно итерировать по нескольким спискам одновременно Многие, когда нужно работать с двумя списками параллельно, до сих пор пишут циклы с индексами:
names = ["Алиса", "Боб", "Карл"]
ages = [25, 30, 35]

for i in range(len(names)):
    print(f"{names[i]}: {ages[i]} лет")
🟢 Формально работает, но это хрупко и не по-питонячьи. Стоит изменить один список — и всё сломается. Что делает `zip` zip объединяет несколько итерируемых объектов, возвращая кортежи из соответствующих элементов:
names = ["Алиса", "Боб", "Карл"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name}: {age} лет")
Преимущества: 🟢 Нет привязки к индексам — код читается как предложение. 🟢 Работает с любым количеством итерируемых объектов. 🟢 Автоматически останавливается на самом коротком списке (без IndexError). Практический пример с тремя списками:
products = ["Яблоки", "Бананы", "Апельсины"]
prices = [100, 80, 120]
quantities = [5, 3, 2]

for product, price, qty in zip(products, prices, quantities):
    total = price * qty
    print(f"{product}: {total} руб.")
Когда списки разной длины (и нужно это обработать) По умолчанию zip обрезает по самому короткому. Если нужны все значения:
from itertools import zip_longest

names = ["Алиса", "Боб", "Карл", "Дина"]
ages = [25, 30, 35]

for name, age in zip_longest(names, ages, fillvalue="неизвестно"):
    print(f"{name}, возраст: {age}")
# Дина, возраст: неизвестно
А если всё-таки нужны индексы? Используйте enumerate вместе с zip:
for i, (name, age) in enumerate(zip(names, ages), start=1):
    print(f"{i}. {name}: {age} лет")
Когда `range(len(...))` может быть уместен? Только если действительно нужны именно индексы для манипуляций (например, алгоритм сортировки с перемещениями). Но даже тогда часто есть лучшие способы. Запомни: 🟢 zip — для параллельной итерации 🟢 enumerate — когда нужны и индекс, и значение 🟢 Вместе они заменяют 95% циклов с range(len(...)) Работайте с данными напрямую, а не через их индексы — код станет чище и надёжнее. Программистика|| #doc

«Сделано по ГОСТу»: как обеспечить защищенный канал Компании-разработчики редко сталкиваются со строгими требованиями по безо
«Сделано по ГОСТу»: как обеспечить защищенный канал Компании-разработчики редко сталкиваются со строгими требованиями по безопасности. Часто под «безопасностью» понимается именно защита персональных данных (ПД) сотрудников и контрагентов. Остальные требования устанавливают заказчики. Так, если компания разрабатывает приложение для банка, то заказчик может потребовать, чтобы был соблюден стандарт PCI DSS. Или, например, при разработке сайта с обработкой ПД может понадобиться выполнить требования 152-ФЗ и 21 Приказа ФСТЭК по конкретному уровню защищенности. Инфраструктура, на базе которой происходит разработка или находится само приложение, тоже должна соответствовать данным стандартам. Более того, если компания начинает оказывать услуги для государственных организаций или организаций, относящихся к КИИ, необходимо задуматься о передаче данных. Именно об этом мы и поговорим в статье. ➡️ Читать статью Программистика || #article

👀 Изучаем Python: теория, практика, настройка инструментов Рассказываем, что изучать после основ: как настраивать инструмент
👀 Изучаем Python: теория, практика, настройка инструментов Рассказываем, что изучать после основ: как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга. А еще собрали интересные задачи, чтобы можно было закрепить знания.
🌐 Ссылка
Программистика || #Course

💻 Вопрос с собеса: Чем отличается list от tuple? Это один из тех вопросов, который задают почти всем - и все равно на нем спотыкаются. Просто сказать «list изменяемый, а tuple нет» - мало. Надо понимать последствия. 👉 Базовый ответ (которого ждут): - list - изменяемый (mutable). Можно менять, добавлять, удалять элементы. - tuple - неизменяемый (immutable). После создания его нельзя изменить. 👉 Глубокий разбор (который ждут от мидла+): 1. Производительность и память: Из-за неизменяемости tuple работает быстрее и занимает меньше памяти. Python может кэшировать и оптимизировать их.
import sys
import timeit

lst = [1, 2, 3]
tup = (1, 2, 3)

print(sys.getsizeof(lst))  # 120 байт (может меняться)
print(sys.getsizeof(tup))  # 72 байта
2. Безопасность и хэшируемость: tuple можно использовать как ключ в словаре, list - нет. Это важно для кэшей, индексов.
valid_cache = {(1, 2): "result"}  # Работает
invalid_cache = {[1, 2]: "result"}  # TypeError: unhashable type
3. Семантическое различие: - list - это однородная коллекция (все элементы обычно одного типа). - tuple - это гетерогенная коллекция, часто используется как запись с полями (как namedtuple или дата-класс).
# Плохо: tuple как list
for item in ("apple", "banana", "cherry"):
    print(item)

# Хорошо: tuple как структура
person = ("Alice", 30, "engineer")  # имя, возраст, профессия
4. Неизменяемость - только на верхнем уровне: Важный подвох! Если внутри tuple лежит изменяемый объект - его можно изменить.
danger = (1, 2, [3, 4])
danger[2].append(5)  # Опасно! Работает!
print(danger)  # (1, 2, [3, 4, 5])
💡 Итоговый ответ для собеса:
1. Основное: list - mutable, tuple - immutable 2. Следствия: tuple быстрее, занимает меньше памяти, хэшируем 3. Семантика: list для однородных данных, tuple для структур 4. Ловушка: неизменяемость только на верхнем уровне 5. Когда что использовать: - tuple для константных данных, ключей словаря - list для динамических коллекций
Запомни: на джуньорских позициях хватит первого пункта, но сеньоры ждут все пять. Программистика||#jobs

👩‍💻 Ruff: Забудь про Flake8, isort и Black — теперь всё в одном Держать в проекте 5 разных линтеров, форматтеров и сортиров
👩‍💻 Ruff: Забудь про Flake8, isort и Black — теперь всё в одном Держать в проекте 5 разных линтеров, форматтеров и сортировщиков импортов - это боль. Конфликты конфигов, разная скорость работы, тонны зависимостей. Пора объединять силы. Ruff - это не просто линтер. Это невероятно быстрый инструмент, написанный на Rust, который заменяет собой Flake8, isort, pydocstyle, eradicate и даже частично Black. Он работает в 10-100 раз быстрее аналогов. 👉 Как это меняет жизнь: Раньше (все отдельно):
flake8 .
isort .
black .
pydocstyle .
# ждешь... ждешь... 
Теперь (один Ruff):
ruff check .          # линтинг
ruff format .         # форматирование
ruff check --fix .    # автоФИКС!
# готово за секунды
Преимущества: 🟢 Скорость света: На больших кодовых базах разница не минуты, а десятки секунд против часов. 🟢 Всё в одном: Единственный инструмент для проверки стиля, качества, сортировки импортов и форматирования. 🟢 Автофикс: Может сам исправить ~50% найденных проблем. Не просто ругается, а чинит. 🟢 Совместимость: Понимает pyproject.toml, может работать вместе с Black (если пока не готов полностью переходить). Особенность:Молодой проект: Не покрывает 100% правил всех legacy-инструментов, но закрывает 95% реальных нужд. Активно развивается. 🧪 Бонус: Базовая конфигурация Создай pyproject.toml и добавь:
[tool.ruff]
lint.select = ["E", "F", "I", "B", "C90"]  # основные категории ошибок
target-version = "py311"

[tool.ruff.format]
quote-style = "double"
💡 Запомни: 🟢 Ruff - это следующий шаг эволюции Python-тулчейна. 🟢 Он экономит не минуты, а часы жизни всей команды. 🟢 Если проект тормозят линтеры - это прямой сигнал попробовать Ruff. 🐱 Ссылка на репозиторий Программистика|| #doc

👩‍💻 Black: Форматируй код одним нажатием — забудь о спорах в ревью Вечные споры в ревью из-за пробелов, переносов строк и з
👩‍💻 Black: Форматируй код одним нажатием — забудь о спорах в ревью Вечные споры в ревью из-за пробелов, переносов строк и запятых? Тратишь минуты (и нервы) на ручное выравнивание кода? Пора остановить это. Black — это не просто «еще один форматтер». Это бескомпромиссный форматтер кода для Python. Он принимает все решения за тебя. Нет конфигов, нет стилей, нет вариантов. Единственный выбор — использовать его или нет. 👉 Как это выглядит: До (как у многих):
def very_important_function(template: str, *variables, file: os.PathLike, debug: bool = False):
    """Применяет |template| к |variables| для записи в |file|."""
    with open(file, 'w') as f:
        # ...
После (магия Black):
def very_important_function(
    template: str,
    *variables,
    file: os.PathLike,
    debug: bool = False,
):
    """Применяет |template| к |variables| для записи в |file|."""
    with open(file, "w") as f:
        # ...
Преимущества:
🟢 Ноль конфигурации: Установил → запустил → забыл. Black сам знает, как должно быть. 🟢 Скорость: Форматирует большие файлы быстрее, чем ты найдешь споры о стиле в документации PEP 8. 🟢 Детерминированность: Один и тот же код всегда форматируется одинаково. В команде у всех будет идентичный стиль. 🟢 Интеграция: Работает из консоли, как плагин для Pre-commit, в CI/CD (например, GitHub Actions).
Особенность (не недостаток): Бескомпромиссность: Не спрашивает мнения. Переносы строк, кавычки, запятые — всё по его правилам. Сначала раздражает, потом вызывает зависимость. 🧪 Бонус: Интеграция с pre-commit Не нужно ничего запускать вручную. Добавь в .pre-commit-config.yaml:
repos:
  - repo: https://github.com/psf/black
    rev: 23.12.1
    hooks:
      - id: black
Теперь код будет форматироваться автоматически перед каждым коммитом. 💡 Запомни: 🟢 Black — это не про вкус, это про согласованность. 🟢 Он экономит время, которое ты тратил на обсуждение стиля. 🟢 Идеальный код по мнению Black может не нравиться лично тебе, но он будет нравиться всей команде и любой системе. 🐱 Ссылка на репозиторий Программистика|| #doc

2 YEARS of PYTHON Game Development in 5 Minutes!!
🎥 Первоисточник
Программистика|| #video

👩‍💻 Графика на Python. Создание 2D- и 3D-изображений для научной графики и презентаций В книге на наглядных примерах показа
👩‍💻 Графика на Python. Создание 2D- и 3D-изображений для научной графики и презентаций
В книге на наглядных примерах показано, как использовать встроенные графические примитивы Python – точки, линии и стрелки — для создания сложной графики, визуализации двух- и трехмерных объектов, диаграмм с данными и технических иллюстраций. После прочтения вы сможете создавать привлекательные графические изображения, не ограничиваясь функциями, доступными в существующих библиотеках Python. Приведены примеры из физики (визуализация электронных облаков, изменение климата), астрономии, биологии (изменение динамики популяций), экономики (управление ресурсами) и др. Исходный код Python включен во все приложения, что делает материал более доступным для начинающих программистов.
Программистика|| #doc

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

👀 Как работает Интернет Вы пользуетесь интернетом. Но знаете ли вы, как он работает? Если вы когда-то слышали слова домен, м
👀 Как работает Интернет Вы пользуетесь интернетом. Но знаете ли вы, как он работает?  Если вы когда-то слышали слова домен, маршрутизация, IP-адрес, протокол, порт, но не уверены в том, что они означают, мы поможем вам разобраться! В этом мини-курсе вы в деталях  узнаете о том, как устроены сети, и а также: - Кончится ли интернет у тех, кому не хватит IP-адреса; - Чем пОрты отличаются от портОв; - Что такое протокол для управления кофеваркой.
🌐 Ссылка
Программистика || #Course

🌐 I2P — анонимная сеть для безопасного серфинга I2P (Invisible Internet Project) — это анонимная сеть, предназначенная для з
🌐 I2P — анонимная сеть для безопасного серфинга I2P (Invisible Internet Project) — это анонимная сеть, предназначенная для защиты конфиденциальности пользователей в интернете.Она позволяет отправлять данные анонимно и безопасно, используя децентрализованный подход, что делает связь зашифрованной и устойчивой к слежке. Особенности сети:
1. Оверлейная — работает поверх других сетей, например привычного интернета; 2. Децентрализованная — в сети нет главного узла, поэтому выход из строя любого из них не приводит к её полному выключению; 3. Одноранговая — все участники равны и имеют равные права.
🐱 Ссылка на GitHub CyberGuardе| Вакансии | Чат || #Репозиторий

HTML, CSS, JS, Node.JS, 🤯 - пора бы всё объединить! Все для изучения веба 👉 Фронтенд - самый большой канал для изучения фро
HTML, CSS, JS, Node.JS, 🤯 - пора бы всё объединить! Все для изучения веба 👉 Фронтенд - самый большой канал для изучения фронта 👉 Верстка - все о верстке 👉 Node.JS - для тех кто хочет писать бэк на JS Собрано всё, проверяй🔥

Погружаемся в реальные цифры Python Если вы уже не новичок в Python и хотите понять, что действительно важно для производител
Погружаемся в реальные цифры Python Если вы уже не новичок в Python и хотите понять, что действительно важно для производительного и грамотного кода, простых туториалов уже недостаточно. В новой статье на Хабре собраны ключевые параметры Python, которые реально нужно знать каждому продвинутому разработчику — от скорости операций до затрат памяти и влияния на производительность при выборе структур данных. Здесь не просто перечисляются конструкции языка: автор приводит конкретные измерения, сравнения и объяснения, чем отличается быстрый код от медленного, сколько времени занимает доступ к словарю vs вызов функции, как влияет размер объекта на память и многое другое. ➡️ Читать статью Программистика || #article

Как быстро войти в Python без лишней теории Короткий и практичный гайд для тех, кто хочет начать программировать без перегруз
Как быстро войти в Python без лишней теории Короткий и практичный гайд для тех, кто хочет начать программировать без перегруза. В статье — 8-недельный план изучения Python по принципу 80/20: только то, что реально используется и даёт быстрый результат. Без воды, с фокусом на практику, понимание основ и выход на первые проекты. Отлично подойдёт, если не хотите «учить всё подряд» и терять мотивацию. ➡️ Читать полностью Программистика || #article

⚡️Слита База из 1000+ топовых курсов и материалов для айтишников Отсортировали их для вашего удобства и выложили в телеграм-каналы по категориям: 🤖 Нейросети – 855+ материалов 🖥 Python — 1558+ материалов 👩‍💻 Frontend — 1241+ материалов 👩‍💻 Backend — 1095+ материалов ⚙️ Программы — 978+ материалов 📚 Книги по IT — 779+ материалов Всё лучшее про IT бесплатно — уже на Базе 🚀

Пара слов о старте в программировании и AI Если давно хотели войти в разработку, но терялись между десятками языков и направл
Пара слов о старте в программировании и AI Если давно хотели войти в разработку, но терялись между десятками языков и направлений, этот материал даёт понятный по шагам маршрут именно под 2026 год. В статье разбирают, с чего начать Python, какие скрипты написать в первую очередь, как подружиться с AI‑инструментами и превратить их в ускоритель обучения, а не «магическую кнопку». Автор показывает, как за несколько месяцев собрать первые проекты, оформить портфолио и выйти на уровень, с которого уже можно претендовать на стажировки и junior‑позиции. Если ищете конкретный план «что делать по месяцам», а не абстрактные советы, этот текст закроет сразу много вопросов и сэкономит время на выборе следующего шага. ➡️ Читать полностью Программистика || #article

Курс Python с Абсолютного нуля
🎥 Первоисточник
Программистика|| #video