Программистика
Closed channel
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Show more5 791
Subscribers
-624 hours
+157 days
-4130 days
Posts Archive
5 791
🍿 Работа с файлами в FastAPI — Загрузка и умное скачивание
📱 ПервоисточникПрограммистика|| #video
5 791
⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ, чтобы выгрузить их курсы в Telegram
Юристы пытаются удалить каналы за Авторские Права🤡 – потому вот актуальные ссылки на архивы:
По школам:
├ Skillbox (1.12 ТБ)
├ Нетология (846 ГБ)
├ SkillFactory (720 ГБ)
├ GeekBrains (934 ГБ)
└ Другие (3.21 ТБ)
По ЯП:
├ Python (1.48 ТБ)
├ SQL (982 ГБ)
├ C++ (590 ГБ)
├ C (318 ГБ)
├ GoLang (290 ГБ)
└ Другие (3.17 ТБ)
Ссылка на общий архив: @schools_hack_arc
5 791
Python в Minecraft: Код, который строит миры
Ты когда-нибудь думал, как устроен Minecraft изнутри? Каждый блок, каждый моб, каждая постройка — это тысячи строк кода. В этом курсе ты научишься писать такой код сам.
Никаких скучных учебников. Только живые задачи: телепортируй Стива, построй башню за секунду, создай детектор лавы, напиши умного торговца. Каждый урок — это маленькое приключение, где Python — твоё главное оружие.
Крипер-учитель проведёт тебя от самой первой команды print() до настоящих программ, которые управляют игрой в реальном времени.
Чему вы научитесь
Что ты освоишь:
✅ Переменные, условия, циклы и функции — с нуля ✅ Подключение Python к Minecraft через mcpi ✅ Строительство из кода: стены, башни, лабиринты ✅ Координаты, телепортация, определение блоков ✅ Финальный проект: свой генератор мира
🌐 СсылкаПрограммистика || #Course
5 791
🔠 Слили 4 ТБ по IT, хакингу и разработке.
⚪️ Все лучшие инструкции, гайды, книги и инструменты — без воды.
🖥 Курсы & GitHub — 579GB
☁️ Хакинг & ИБ — 756GB
🤒 OSINT — 315GB
⌨️ Python — 955GB
🙃 Linux & Bash — 459GB
😦 Работа в IT — 278GB
🖥 Общий архив — 946GB
➡️ Присоединяйтесь и скачивайте.
Пост будет удален через 48 часов.
5 791
Здравствуйте, дорогие читатели! 😊
Хотим сообщить вам, что несколько наших каналов появились теперь в мессенджере Max:
Карманный хакер (Telegram | Max)
Linux Administration (Telegram | Max)
//code (Telegram | Max)
И сразу хотим сказать, что Телеграм мы не покидаем, ведь пока удобней площадки попросту нет.
И просим подписаться на нас в Max только тех, кто уже там зарегистрирован по каким-либо причинам. А те, кому не пришлось регистрироваться там, то лучше не надо☺️
Нам же пришлось там зарегистрироваться из-за учёбы, поэтому решили и перенести пару каналов, может появятся и другие, но позже. А телеграм остаётся нашей основной площадкой для публикации контента!
Всем спасибо за внимание и надеемся на ваше понимание в этом вопросе!😎
5 791
🏁На Stepik вышел курс по Claude Code: полное введение в разработку с нуля
Этот курс полноценное профессиональное введение в Claude Code, а также в практику создания ПО с его использованием.
Разберёшься:
- C настройкой, подписками и токенами
- Поймёшь, как не сливать бюджет и оптимизировать расходы
- Писать промпты
- Подключать Claude Code к GitHub, Notion, Slack, Google Workspace через MCP
- Подключишь MCP и расширишь возможности
- Cоздашь свой MCP
- Создашь агента и параллельные воркфлоу
- Автоматизируешь всё через свои Skills
- Получишь готовые шаблоны и хуки
- В конце чёткая дорожная карта
Действует скидка 30% в течении 48ч
5 791
🔐 Секрет `secrets`: не используй `random` для паролей и токенов
Многие генерируют случайные пароли через
random.randint() или random.choice(). Это опасно: random генерирует предсказуемые последовательности (псевдослучайные). Для безопасности нужен криптостойкий генератор.
❌ Плохо (предсказуемо):
import random
import string
token = ''.join(random.choices(string.ascii_letters, k=32))
✅ Хорошо (криптостойко):
import secrets
import string
token = secrets.token_hex(32) # 64 символа hex
# Или
token = ''.join(secrets.choice(string.ascii_letters) for _ in range(32))
🟢 Что умеет `secrets`:
- secrets.token_hex(n) — n байт в hex
- secrets.token_urlsafe(n) — безопасный для URL
- secrets.choice(sequence) — криптостойкий выбор
Используй secrets для паролей, токенов сброса, API-ключей. random оставь для игр и симуляций.
Программистика || #tips5 791
⏰ Pendulum — это современная замена стандартному datetime с удобным API и поддержкой часовых поясов. Умеет парсить даты из строк, правильно обрабатывает временные зоны, делает интервалы человеко-читаемыми («5 минут назад»). Идеально для проектов, где работа с датами вызывает боль.🐱 Ссылка на GitHub Программистика || #Репозиторий
5 791
ПО без сюрпризов: фиксированные сроки и 12 месяцев гарантии
DevProWeb создаёт IT-продукты, которыми удобно пользоваться и владеть.
Почему им доверяют:
• 120+ проектов сдано
• Рейтинг 4.9 / 5.0
• 6+ лет на рынке
• 98% довольных клиентов
Что делают:
→ Веб-приложения
→ Мобильные приложения (кроссплатформенно)
→ CRM / ERP системы
→ Интеграции (1С, платежные системы, маркетплейсы, телефония)
→ UI/UX дизайн
→ Техническое сопровождение
Ключевые условия:
✔️ Гарантия 12 месяцев
✔️ Исходный код передаётся
✔️ Официальный договор
✔️ Срок — от 2 недель
Работают по всей России. Бесплатная консультация.
https://devproweb.ru
5 791
👩💻 Как ускорить Python-код в 10 раз без переписывания на Rust (практические приёмы)
Вы написали код, он работает, но медленно. Вы думаете: «Надо переписать на Rust/C++/Go». Стоп. В 80% случаев можно ускорить Python в 5-10 раз, не меняя язык. Вот 5 приёмов, которые реально работают.
1. Используйте встроенные функции и библиотеки на C
Python-циклы медленные. Встроенные функции (
map, filter, sum, any, all) и методы списков/словарей работают на C.
❌ Медленно (чистый Python):
result = 0
for x in range(1_000_000):
result += x ** 2
✅ Быстро (C-уровень):
result = sum(x*x for x in range(1_000_000))
# Или ещё быстрее:
result = sum(map(lambda x: x*x, range(1_000_000)))
Разница: 0.2 сек против 0.08 сек — в 2.5 раза.
2. `numpy` для численных расчётов
Если вы работаете с числами и массивами, numpy ускоряет код в 10-100 раз за счёт векторизации (C/Fortran под капотом).
❌ Медленно (списки):
a = [i for i in range(1_000_000)]
b = [i*2 for i in a]
✅ Быстро (numpy):
import numpy as np
a = np.arange(1_000_000)
b = a * 2
Разница: 0.05 сек против 0.001 сек — в 50 раз.
3. `functools.lru_cache` для кэширования результатов
Если функция многократно вызывается с одними и теми же аргументами — кэшируйте.
❌ Медленно (рекурсия Фибоначчи):
def fib(n):
return n if n < 2 else fib(n-1) + fib(n-2)
# fib(40) считается 30 секунд
✅ Быстро (с кэшем):
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
return n if n < 2 else fib(n-1) + fib(n-2)
# fib(40) — мгновенно, 0.0001 сек
4. `array` или `bytearray` вместо списков для однотипных данных
Список хранит ссылки на объекты — это дорого. array хранит значения компактно.
❌ Медленно (список int):
data = [0] * 1_000_000
for i in range(1_000_000):
data[i] = i * 2
✅ Быстро (array):
from array import array
data = array('I', range(1_000_000)) # unsigned int
for i in range(1_000_000):
data[i] = i * 2
Разница в памяти: 28 МБ против 4 МБ. По скорости — тоже выигрыш.
5. `numba` — JIT-компиляция для математики
Одна строчка декоратора — и Python-функция компилируется в машинный код.
❌ Медленно (чистый Python):
def sum_of_squares(n):
total = 0
for i in range(n):
total += i * i
return total
✅ Быстро (numba):
from numba import jit
@jit(nopython=True)
def sum_of_squares(n):
total = 0
for i in range(n):
total += i * i
return total
Ускорение: с 0.2 сек до 0.005 сек — в 40 раз.
Главное правило: сначала напишите работающий код, потом профилируйте, потом оптимизируйте узкие места. Не оптимизируйте вслепую.
Программистика || #Статья5 791
Совет на 2026 год — переходите в ML.
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Артема Алехина.
Его бэкграунд: Руководитель команды в Сбере, валютная удаленка. К 22 годам вышел на доход 1 000 000+ ₽ в месяц.
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://t.me/+1m1AOqkcdxtmZjI6
5 791
🦆 DuckDB: SQLite для аналитики (обрабатывай гигабайты без сервера)
Данные не помещаются в память? Pandas тормозит на 10 ГБ CSV? Ставить PostgreSQL ради одного запроса — перебор. DuckDB решает всё одним пакетом: встраиваемая колоночная база данных, которая работает прямо в Python-процессе и выполняет сложные аналитические запросы быстрее, чем вы успеваете написать
pd.read_csv().
❌ Было (Pandas тормозит, база данных тяжелая):
import pandas as pd
df = pd.read_csv('sales_2024.csv') # 5 ГБ — добро пожаловать, MemoryError
✅ Стало (DuckDB: не загружает всё в память, работает как швейцарский нож):
import duckdb
conn = duckdb.connect()
result = conn.execute("""
SELECT category, SUM(sales)
FROM 'sales_2024.csv'
GROUP BY category
""").fetchdf()
📦 Установка:
pip install duckdb
🐱 Ссылка на GitHub
Программистика ||#Репозиторий5 791
Играй и выигрывай промокоды на 20 000 рублей!
Тот момент, когда в игре ❤️❤️❤️ закончились, а ответ на вопрос не знаешь!
Точно нужна помощь друзей, родных, девочек, Вани и Аннушки вместе взятых! Тем более, когда на кону промокоды по 20 000 рублей на покупки в Спортмастере...
Ждем тебя:
Переходи в бота, следуй инструкциям и запускай игру
Создавай своего персонажа и выбирай, на чем он будет гонять
Управляй наклоном телефона и докажи, кто здесь главный гонщик
Топ-10 лучших игроков получат промокоды по 20 000 рублей, чтобы экипироваться к новому сезону на колёсах.
Играем до 30 апреля, погнали!
Перейти на сайт
#реклама 16+
О рекламодателе
5 791
🔑 Секрет `dict.get()`: забудь про `if key in dict`
Новички часто проверяют наличие ключа в словаре, чтобы безопасно прочитать значение:
if 'score' in data:
value = data['score']
else:
value = 0
В Python есть элегантный способ в одну строку:
value = data.get('score', 0)
Что здесь происходит:
get(key, default) пытается вернуть значение по ключу. Если ключа нет — возвращает default (по умолчанию None). Никаких исключений, никаких if.
Где пригодится:
# Счётчик без defaultdict
count = {}
words = ['a', 'b', 'a']
for w in words:
count[w] = count.get(w, 0) + 1 # {'a': 2, 'b': 1}
# Безопасное чтение вложенных данных
user = {'name': 'Алиса'}
age = user.get('age', 'не указан') # 'не указан'
🟢 Почему круто:
Короче, быстрее, читаемее. Встроено в Python, не требует импортов.
Запомни: dict.get() — твой друг при работе со словарями.
Программистика || #tips5 791
💻 Вопрос с собеседования: Чем отличается `@staticmethod` от `@classmethod`?
Оба декоратора используются в классах, и оба не требуют экземпляра для вызова. Но начинающие путают их, а опытные разработчики чётко знают, когда что использовать. Разбираемся раз и навсегда.
📌 Базовый ответ (которого ждут от джуна):
-
@staticmethod — это обычная функция внутри класса. Она не получает ни self, ни cls. Работает как независимая утилита, просто сгруппированная внутри класса для удобства.
- @classmethod — получает первым аргументом класс (cls). Может обращаться к атрибутам класса и создавать экземпляры класса.
class MyClass:
@staticmethod
def static_method(x):
return x * 2
@classmethod
def class_method(cls, x):
return cls() # может создать экземпляр
obj = MyClass()
print(MyClass.static_method(5)) # 10
print(MyClass.class_method(5)) # <__main__.MyClass object at ...>
🧱 Глубокий разбор (для мидла и сеньора):
1. `@staticmethod` — просто функция внутри класса
- Не знает о классе и его атрибутах.
- Не может изменить состояние класса или экземпляра.
- Используется как хелпер, логически связанный с классом.
class MathUtils:
@staticmethod
def is_even(n):
return n % 2 == 0
# Вызов возможен и от класса, и от экземпляра
print(MathUtils.is_even(4)) # True
2. `@classmethod` — работает с классом
- Получает cls — ссылку на сам класс.
- Может читать и менять атрибуты класса.
- Часто используется как альтернативный конструктор (factory method).
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
@classmethod
def from_birth_year(cls, name, birth_year):
age = 2025 - birth_year
return cls(name, age) # вызывает __init__
p = Person.from_birth_year("Алиса", 1995)
print(p.age) # 30
⚠️ Частые ошибки и ловушки
1. Вызывать `@staticmethod` через `self` — можно, но бессмысленно, проще через класс.
2. Пытаться изменить атрибут класса через `@staticmethod` — не получится без явного указания имени класса.
3. Забыть про `cls` в `@classmethod` — метод перестанет быть классовым, вы получите обычный метод с первым аргументом, который будет восприниматься как self.
4. Использовать `@staticmethod` там, где нужна логика с классом — тогда лучше @classmethod.
# ❌ Плохо: статический метод, который должен работать с классом
class Counter:
count = 0
@staticmethod
def increment():
Counter.count += 1 # привязка к конкретному классу — негибко
# ✅ Хорошо: классовый метод
class Counter:
count = 0
@classmethod
def increment(cls):
cls.count += 1 # работает с любым наследником
💡 Итоговый ответ для собеседования:
1. @staticmethod — обычная функция, просто лежащая в пространстве имён класса. Не получает ни self, ни cls.
2. @classmethod — получает первым аргументом класс (cls). Может читать/менять атрибуты класса и создавать экземпляры.
3. Главное применение @classmethod — альтернативные конструкторы (например, from_dict, from_string, from_birth_year).
4. @staticmethod используйте для вспомогательных функций, которые логически связаны с классом, но не зависят от его состояния.
5. При наследовании @classmethod будет получать дочерний класс — это даёт гибкость для фабрик.
Запомните: если внутри метода вы используете имя класса жёстко — почти всегда лучше сделать его @classmethod и использовать cls. Код станет более расширяемым.
Программистика || #jobs5 791
Марафон данных: первое знакомство с SQL и Python
Этот курс для тех, кто хочет познакомиться с профессией аналитика данных. Если вы никогда ранее не сталкивались с SQL, Python и продуктовыми метриками, то Data Марафон – для вас! Мы расскажем про самые важные инструменты аналитика данных, и объясним всю суть аналитической работы максимально просто и на реальных примерах.
Чему вы научитесь:
💠Познакомитесь с профессией и примерите на себя роль аналитика данных 💠Узнаете, как выглядят реальные данные и поработаете с ними 💠Изучите и посчитаете основные продуктовые и маркетинговые метрики 💠Научитесь обрабатывать данные с помощью таких инструментов, как SQL и Python 💠Сможете принять решение, развиваться ли Вам в этой профессии
🌐 СсылкаПрограммистика || #Course
5 791
🔥 Мастхев подборка для каждого айтишника
Держите подборку авторских IT-каналов по всем направлениям: курсы, книги, статьи, практики, примеры кода, шпаргалки и прохождение собесов.
▪️ Python ▪️ Java
▪️ Frontend ▪️ C / C++
▪️ ИБ & Хакинг ▪️ DevOps
▪️ Data Science ▪️ Linux
▪️ C# & GameDev ▪️ Курсы IT
▪️ ИИ-бот для IT ▪️ Весь IT
👉🏻 Подписывайся и прокачивай свои навыки
