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

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

کانال بسته

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

نمایش بیشتر
5 568
مشترکین
-124 ساعت
-277 روز
+4830 روز
آرشیو پست ها
Профессия после службы — со скидкой к 8 Марта С 5 по 12 марта ОСЭК дает дополнительную скидку –8% на всё обучение. Это предло
Профессия после службы — со скидкой к 8 Марта С 5 по 12 марта ОСЭК дает дополнительную скидку –8% на всё обучение. Это предложение действует на всю программу, а не только на первый семестр. Ваша выгода — до 38 300 ₽ за семестр. Почему это удобно: дистанционное обучение — можно совмещать со службой поступление без ЕГЭ и ОГЭ диплом государственного образца возможность сократить обучение на полгода поддержка специалистов колледжа на всех этапах Это шанс получить новую профессию и подготовиться к следующему этапу карьеры. Акция действует только до 12 марта. Чтобы получить скидку: выберите специальность назовите промокод 8МАРТА оплатите семестр обучения Подать заявку #реклама О рекламодателе

🖥 ​Prefect — это фреймворк оркестрации рабочих процессов с открытым исходным кодом, предназначенный для создания надежных ко
🖥 Prefect — это фреймворк оркестрации рабочих процессов с открытым исходным кодом, предназначенный для создания надежных конвейеров обработки данных на Python! Он позволяет превращать Python-скрипты в производственные рабочие процессы с минимальными усилиями, обеспечивая автоматическое отслеживание состояния, обработку ошибок, планирование задач и мониторинг в реальном времени. С помощью Prefect вы можете строить динамические и устойчивые конвейеры данных, которые адаптируются к изменениям и восстанавливаются после сбоев.
🐱 Ссылка на GitHub Программистика || #Library

⚡️РОЗЫГРЫШ В ЧЕСТЬ ОТКРЫТИЯ В MAX Теперь наши каналы доступны не только здесь, но и на платформе MAX. В честь этого события р
⚡️РОЗЫГРЫШ В ЧЕСТЬ ОТКРЫТИЯ В MAX Теперь наши каналы доступны не только здесь, но и на платформе MAX.  В честь этого события разыгрываем три приза, которые усилят вашу защиту в сети. ПРИЗОВОЙ ФОНД: ⚠️ 1 МЕСТО: YubiKey 5 Series Физический ключ, который делает двухфакторную аутентификацию неуязвимой. Никакой фишинг и слив паролей не страшны, пока ключ у вас. ⚠️ 2 МЕСТО: SATOSHI VPN на 1 год Полная анонимность и шифрование трафика. Ваши данные под защитой в любых сетях. ⚠️ 3 МЕСТО: Книга "Хакерская самооборона" (Андрей Жуков, 2026) Актуальная новинка по активной обороне. Учитесь думать как хакер, чтобы защищаться от реальных угроз. 📎 УСЛОВИЯ ПРОСТЫЕ: Быть подписанным на этот канал (где вы читаете пост). Быть подписанным на все 4 канала в MAX по ссылкам ниже. → max.ru/becaps → max.ru/cyberins → max.ru/itbook_library → max.ru/nsis_cybersec 📌 Нажать кнопку "Участвую" под этим постом. Итоги подведём ровно через 20 дней с помощью рандомайзера 28.03.26 14:00MSK.

👀 Python. Уроки для начинающих В книге 22 урока, более 40 практических упражнений и заданий для самостоятельной работы. Опис
👀 Python. Уроки для начинающих
В книге 22 урока, более 40 практических упражнений и заданий для самостоятельной работы. Описан язык Python: его основы, типы данных, управляющие выражения, функции, объекты, классы, исключения, модули и пакеты. Рассмотрены более развитые инструменты языка: установка и применение дополнительных библиотек, многопоточное, многопроцессное и конкурентное программирование, аннотации типов. Рассказано о практическом применении Python и различных библиотек для загрузки данных из Интернета, парсинга веб-страниц, работы с базами данных, программирования графических и веб-приложений, математических расчетов, вывода графиков и работы с искусственным интеллектом. Электронный архив на сайте издательства содержит все примеры из книги.
Программистика || #doc

🔥 Подписка на easyoffer PRO на 1 год со скидкой 70% easyoffer – сайт для подготовки к собеседованию на программиста, тестиро
🔥 Подписка на easyoffer PRO на 1 год со скидкой 70% easyoffer – сайт для подготовки к собеседованию на программиста, тестировщика и другие IT-профессии становится еще доступнее со скидкой 70% до 10 марта. ⚙️ Актуальные функции: 1. База вопросов из реальных технических собеседований с вероятностью встречи и примерами ответов. 2. База задач с этапа live-coding. 3. База видеозаписей 1100+ реальных собеседований, в том числе в топовые компании (Сбер, Авито, Яндекс, WB, OZON, МТС и др.) на позиции Junior/Middle/Senior. 4. База 400+ тестовых заданий от компаний. 5. Аналитика ТОП-требований из вакансий для лучшего написания резюме по ключевым словам. 6. Тренажеры для подготовки к собеседованию. В том числе тренажер «Реальное собеседование» со сценарием вопросов под конкретную компанию. Акция до 10 марта (включительно) на PRO-тариф. – Подписка действует 1 год – Доступ ко всем профессиями сразу 👉 Смотри подробности тарифа и покупай на easyoffer

💻 Вопрос с собеседования: Что будет, если использовать изменяемый объект (например, список) в качестве аргумента по умолчанию в функции? Это один из самых коварных вопросов для новичков. Код выглядит безобидно, но ведёт себя странно. Половина джунов проваливается именно на нём, потому что не понимают, когда создаются аргументы по умолчанию. 📌 Базовый ответ (которого ждут от джуна): Аргументы по умолчанию создаются один раз в момент определения функции, а не каждый раз при её вызове. Если использовать изменяемый объект (список, словарь), то он будет общим для всех вызовов.
def add_user(name, user_list=[]):
    user_list.append(name)
    return user_list

print(add_user("Алиса"))  # ['Алиса']
print(add_user("Боб"))    # ['Алиса', 'Боб'] — сюрприз!
Ожидание новичка: каждый вызов создаёт новый пустой список. Реальность: список создаётся один раз и переиспользуется. 🧱 Почему так происходит и как это работает под капотом: В Python аргументы по умолчанию хранятся в атрибуте функции __defaults__. Они вычисляются в момент определения функции, а не вызова.
print(add_user.__defaults__)  # (['Алиса', 'Боб'],)
При каждом вызове без аргумента user_list используется тот же самый объект из __defaults__. Как это исправить: Правильный паттерн — использовать None как значение по умолчанию и создавать новый список внутри функции:
def add_user(name, user_list=None):
    if user_list is None:
        user_list = []
    user_list.append(name)
    return user_list

print(add_user("Алиса"))  # ['Алиса']
print(add_user("Боб"))    # ['Боб'] — теперь работает как ожидалось!
🧪 Другие примеры-ловушки: 1. Словарь в качестве аргумента по умолчанию:
def add_to_dict(key, value, cache={}):
    cache[key] = value
    return cache

print(add_to_dict("a", 1))  # {'a': 1}
print(add_to_dict("b", 2))  # {'a': 1, 'b': 2} — кеш общий!
2. Объекты datetime (будьте осторожны!):
from datetime import datetime

def log_message(msg, timestamp=datetime.now()):
    print(f"{timestamp}: {msg}")

log_message("Старт")  # 2024-03-09 10:00:00
log_message("Финиш")  # 2024-03-09 10:00:00 — время не обновилось!
datetime.now() вычисляется один раз при определении функции, а не при каждом вызове. ⚠️ Когда это особенно опасно:
🔴 В рекурсивных функциях с накоплением данных 🔴 В кэширующих функциях (неявное кеширование может привести к утечкам памяти) 🔴 В библиотечном коде, который будут вызывать другие разработчики 🔴 При работе с mutable объектами в классах (если забыть про копирование)
💡 Запомните: 1. Аргументы по умолчанию создаются один раз в момент определения функции. 2. Никогда не используйте изменяемые объекты (list, dict, set) как значения по умолчанию. 3. Правильный паттерн: def func(arg=None): if arg is None: arg = default_value. 4. Это касается любых объектов, которые могут изменяться: списки, словари, множества, экземпляры классов. 5. Исключение: если вам нужно разделяемое состояние между вызовами (редкий кейс), то можно использовать, но документируйте это явно. На собеседовании этот вопрос задают, чтобы проверить, понимаете ли вы, когда создаются объекты в Python. Джуны часто лепят [] в аргументах по умолчанию, а опытные разработчики всегда используют None. Программистика || #jobs

Ассемблер и Python - Дао общих интересов
📱 Первоисточник
Программистика|| #video

🔠 Слили 4 ТБ по IT, хакингу и разработке. ⚪️ Все лучшие инструкции, гайды, книги и инструменты — без воды. 🖥 Курсы & GitHub
🔠 Слили 4 ТБ по IT, хакингу и разработке. ⚪️ Все лучшие инструкции, гайды, книги и инструменты — без воды. 🖥 Курсы & GitHub — 579GB ☁️ Хакинг & ИБ — 756GB 🤒 OSINT — 315GB ⌨️ Python — 955GB 🙃 Linux & Bash — 459GB 😦 Работа в IT — 278GB 🖥 Общий архив — 946GB ➡️ Присоединяйтесь и скачивайте. Пост будет удален через 48 часов.

🌸 Программистика поздравляет с 8 Марта! Пусть код всегда компилируется с первого раза, баги обходят стороной, а вдохновение
🌸 Программистика поздравляет с 8 Марта!
Пусть код всегда компилируется с первого раза, баги обходят стороной, а вдохновение приходит чаще, чем новые фичи в Python. Желаем, чтобы в жизни было больше радостных моментов, тёплых улыбок и приятных сюрпризов. Оставайтесь такими же яркими и неповторимыми, как ваш любимый язык программирования.
С праздником, девчонки! 🔥💐

🔄 Меняем значения переменных без временной переменной Часто нужно поменять местами значения двух переменных. Новички обычно пишут так:
temp = a
a = b
b = temp
Три строки, временная переменная — работает, но в Python есть элегантный способ в одну строку:
a, b = b, a
Как это работает? Python сначала создаёт кортеж (b, a), а затем распаковывает его в переменные a и b. Всё происходит одновременно, без временной переменной и без риска потерять значение. Бонус: можно менять местами больше двух переменных:
a, b, c = c, a, b
🟢 Почему это круто: Короче и читаемее - Не нужно придумывать имя для временной переменной - Работает для любых типов данных Ещё один лайфхак: множественное присваивание можно использовать для разделения строки на части:
first, second = "Hello World".split()
Запомни: в Python обмен значений — это не боль, а одна строчка кода. Программистика|| #tips

📊 Генератор фейковых данных: создай 1000 пользователей за секунду Тестируешь приложение, а база данных пустая? Нужно заполнить таблицу пользователями, но вводить вручную "Иван Иванов" 50 раз — тоска зелёная? Пора автоматизировать создание тестовых данных. Этот скрипт генерирует сколько угодно вымышленных пользователей с реалистичными именами, адресами, телефонами и email. Данные сохраняются в CSV — готовый набор для загрузки в БД или тестов. 👉 Скрипт `fake_users_generator.py`:
#!/usr/bin/env python3
"""
Генератор фейковых пользователей для тестирования.
Сохраняет данные в CSV или JSON.
"""

import csv
import json
import argparse
from faker import Faker
from datetime import datetime

def generate_users(count=100, locale='ru_RU', output_file='users.csv', file_format='csv'):
    """
    Генерирует указанное количество фейковых пользователей
    и сохраняет в файл.
    """
    fake = Faker(locale)
    users = []
    
    print(f"👥 Генерирую {count} пользователей...")
    
    for _ in range(count):
        user = {
            'id': _ + 1,
            'first_name': fake.first_name(),
            'last_name': fake.last_name(),
            'email': fake.email(),
            'phone': fake.phone_number(),
            'address': fake.address().replace('\n', ', '),
            'city': fake.city(),
            'country': fake.country(),
            'birthdate': fake.date_of_birth(minimum_age=18, maximum_age=80).isoformat(),
            'created_at': datetime.now().isoformat()
        }
        users.append(user)
    
    # Сохраняем в файл
    if file_format == 'csv':
        with open(output_file, 'w', newline='', encoding='utf-8') as f:
            writer = csv.DictWriter(f, fieldnames=users[0].keys())
            writer.writeheader()
            writer.writerows(users)
        print(f"✅ CSV сохранён: {output_file}")
    
    elif file_format == 'json':
        with open(output_file, 'w', encoding='utf-8') as f:
            json.dump(users, f, ensure_ascii=False, indent=2)
        print(f"✅ JSON сохранён: {output_file}")
    
    return users

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Генератор фейковых пользователей")
    parser.add_argument('-n', '--number', type=int, default=100, help='Количество пользователей (по умолчанию 100)')
    parser.add_argument('-l', '--locale', default='ru_RU', help='Локаль: ru_RU, en_US, uk_UA и др.')
    parser.add_argument('-o', '--output', default='users.csv', help='Имя выходного файла')
    parser.add_argument('-f', '--format', choices=['csv', 'json'], default='csv', help='Формат файла')
    
    args = parser.parse_args()
    
    generate_users(
        count=args.number,
        locale=args.locale,
        output_file=args.output,
        file_format=args.format
    )
🛠 Установка зависимостей:
pip install faker
🚀 Запуск:
# 100 пользователей по-русски (по умолчанию)
python fake_users_generator.py

# 500 пользователей на английском в JSON
python fake_users_generator.py -n 500 -l en_US -o users.json -f json

# Украинские пользователи
python fake_users_generator.py -l uk_UA -o uk_users.csv
📋 Пример сгенерированных данных:
id,first_name,last_name,email,phone,address,city,country,birthdate,created_at
1,Иван,Петров,petrov@example.com,+7 (495) 123-4567,ул. Ленина 10, кв. 5,Москва,Россия,1990-05-15,2024-03-07T14:30:00
2,Анна,Смирнова,smirnova@example.com,+7 (812) 987-6543,пр. Невский 25,Санкт-Петербург,Россия,1985-11-23,2024-03-07T14:30:00
Программистика|| #scripts

Забудь про ChatGPT. Это как просить калькулятор нарисовать картину. Пока массы гоняют одни и те же скучные запросы в зацензур
Забудь про ChatGPT. Это как просить калькулятор нарисовать картину. Пока массы гоняют одни и те же скучные запросы в зацензуренные боты, реальная революция ИИ в канале «Техноразум»: — Нейросети, которые не боятся запретных тем ( 🔞) — Скрытые функции, которые другие ИИ прячут за платную подписку или цензурой — Настоящие инструкции и промты для взлома творческих шаблонов Переходи к настоящим возможностям, забудь про детский сад нейросетей: https://t.me/+7dOPAyODQ6

👩‍💻 Переменные в Python: это не коробки, а ярлыки Новички часто представляют переменную как коробку, в которую можно положить значение. Идут дальше: a = 5, b = a — и думают, что теперь в двух коробках лежат одинаковые числа. А потом меняют b и удивляются, почему a не изменилось. Или наоборот — меняют список через одну переменную, а вторая тоже меняется. Пора разобраться, как всё на самом деле. 🧱 Переменная — это имя, а не место хранения В Python переменная — это просто имя (ярлык), которое прикрепляется к объекту в памяти. У объекта есть тип и значение, а переменная только ссылается на него.
a = 5
b = a
Что происходит: 1. Создаётся объект int со значением 5. 2. Ярлык a вешается на этот объект. 3. b = a — берём объект, на который указывает a, и вешаем на него ещё один ярлык b. Теперь два имени указывают на один и тот же объект. Проверим через id() — адрес в памяти:
print(id(a))  # 12345678 (условно)
print(id(b))  # 12345678 — тот же объект!
🧱 Неизменяемые типы: числа, строки, кортежи Когда мы «меняем» неизменяемый объект, на самом деле создаётся новый объект, а старый ярлык перевешивается.
a = 5
b = a
a = a + 1

print(a)  # 6
print(b)  # 5 — b всё ещё смотрит на старый объект!
Частая ошибка: думать, что b должно было тоже измениться. ✔️ Правильно: a теперь ссылается на новый объект 6, а b остался на старом 5. 🧱 Изменяемые типы: списки, словари, множества Здесь объект можно изменить, не создавая нового. Тогда все ярлыки, ведущие на этот объект, увидят изменения.
list_a = [1, 2, 3]
list_b = list_a      # оба ярлыка на один список
list_a.append(4)

print(list_a)  # [1, 2, 3, 4]
print(list_b)  # [1, 2, 3, 4] — потому что это тот же список!
Ловушка: новички думают, что list_b — независимая копия. ✔️ Как создать реальную копию: list_b = list_a.copy() или list_b = list_a[:]. 🧱 Проверка: изменяемый или нет?
x = 10
y = x
print(x is y)  # True — один объект

x = 20
print(x is y)  # False — x перевесили на новый объект

lst1 = [1, 2]
lst2 = lst1
print(lst1 is lst2)  # True

lst1.append(3)
print(lst1 is lst2)  # True — объект тот же
🧱 Аргументы функций — тоже ярлыки При передаче в функцию копируется ссылка, а не объект. Поэтому:
def add_one(x):
    x += 1
    return x

a = 5
add_one(a)
print(a)  # 5 — число неизменяемо, x был локальной копией ссылки

def add_to_list(lst):
    lst.append(100)

my_list = [1, 2, 3]
add_to_list(my_list)
print(my_list)  # [1, 2, 3, 100] — список изменился!
💡 Запомни: 🟢 Переменные в Python — это ярлыки на объекты, а не ячейки памяти. 🟢 Присваивание b = a не копирует данные, а вешает ещё один ярлык. 🟢 Неизменяемые типы (int, float, str, tuple) при попытке изменения создают новый объект. 🟢 Изменяемые типы (list, dict, set) можно менять, и все ярлыки увидят изменения. 🟢 Для создания независимой копии изменяемого объекта используй .copy() или deepcopy() (для вложенных структур).
Понимание этой разницы убережёт тебя от часов отладки и неожиданных багов. Помни: в Python всё — объект, а переменные — просто имена.
Программистика|| #article

⏰ Библиотека Python: Arrow Arrow — это интуитивная библиотека для работы с датами и временем, предлагающая простой API для со
Библиотека Python: Arrow Arrow — это интуитивная библиотека для работы с датами и временем, предлагающая простой API для создания, форматирования и манипуляции датами. Она поддерживает часовые пояса, человекочитаемые интервалы и значительно упрощает код по сравнению со стандартным datetime. ✔️ Установка:
pip install arrow
🐱 Ссылка на репозиторий Программистика|| #Library

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

Переменные, функции, типы данных... Сразу хочется закрыть вкладку 🥲 Первый шаг в Python - самый страшный. Открываешь урок, а там термины сыплются один за другим. Кажется, что это какая-то сложная система для посвященных. И ты сидишь и думаешь: "Может, программирование - это вообще не мое?" ⁉️ На самом деле проблема не в тебе, а в подаче. Когда теория висит в воздухе без практики - мозг ее просто не принимает. ❇️ Ребята из Merion Academy (того самого YouTube-канала про IT) на бесплатных вводных уроках по Python сделали иначе. Сначала - воркшоп с ментором. Ты просто пишешь код руками и сразу видишь результат. А уже потом - термины и теория, когда есть понимание, зачем это нужно. Что еще внутри: ✔️ Основы Python (переменные, типы, функции) - не скучно, а с примерами ✔️ Твоя первая программа - воркшоп с ментором ✔️ Тест - проверишь, правда ли понял ➡️ Запишись на бесплатные вводные уроки Сначала напишешь код, потом разберешься с терминами.

Как финский гик ВЫНЕС Майкрософт
📱 Первоисточник
Linux Administration ||#Видеоt

💻 8 ключевых концепций в DDD(предметно-ориентированное проектирование) ⬇️ Наглядная шпаргалка на русском. Сохраняем, пригоди
💻 8 ключевых концепций в DDD(предметно-ориентированное проектирование) ⬇️ Наглядная шпаргалка на русском. Сохраняем, пригодится!

Программисты, это вам 👇 Держите 5 каналов, которые реально помогают изучать программирование и IT с полного нуля: 🖥 Easy Co
Программисты, это вам 👇 Держите 5 каналов, которые реально помогают изучать программирование и IT с полного нуля: 🖥 Easy Coder — все направления IT. 👩‍💻 Easy Python — всё о Python. 🌐 Easy WebDev — Frontend, Backend. 🔠 Easy InfoSec — ИБ, Хакинг. 🖥 Easy GitHub — лучшее с GitHub. Тонны бесплатной инфы для любого уровня подготовки ✔️