🧠 Как работает eval и почему его нужно избегать
eval выполняет строку как код:
Мощно, но небезопасно. Лучше использовать ast.literal_eval для безопасного парсинга.
eval выполняет строку как код:
code
x = 10
print(eval("x * 5"))
Мощно, но небезопасно. Лучше использовать ast.literal_eval для безопасного парсинга.
📦 Архивация папки в ZIP
Без сторонних библиотек:
Работает и с подкаталогами.
Без сторонних библиотек:
code
import zipfile
import os
with zipfile.ZipFile("archive.zip", "w") as zipf:
for root, _, files in os.walk("project"):
for file in files:
path = os.path.join(root, file)
zipf.write(path)
Работает и с подкаталогами.
🌀 Что такое генераторы выражений
Генератор не хранит весь список:
Идеально для экономии памяти.
Генератор не хранит весь список:
code
gen = (x**2 for x in range(1000))
print(next(gen))
print(next(gen))
Идеально для экономии памяти.
🔥 Стартуй в IT с CodeShadow™!
Мечтаешь освоить программирование, но не знаешь, с чего начать?
CodeShadow — твой проводник в мир Python и IT-технологий!
🚀 Наши курсы:
• Python с нуля — пиши первые программы уже через месяц!
• PySQL — управляй базами данных как профи.
• Telegram-боты — создавай умных помощников с нуля.
• Кураторство проектов — реализуй свою идею с поддержкой ментора.
✅ Почему мы?
— Обучение без стресса: теория + практика на реальных кейсах.
— Гибкий график и доступ к материалам навсегда.
— Наставники рядом 24/7.
— Актуальные курсы: от нейросетей до крипто-трейдинга.
💻 Наши проекты говорят за нас:
• Бот для Steam-скидок,
• Торговый крипто-бот,
• Генетические алгоритмы на Python.
🎁 Специальные акции и скидки — на сайте!
Не просто учись — создавай, внедряй, расти!
С CodeShadow ты не станешь «еще одним учеником» — ты станешь разработчиком.
👉 Жми на ссылку и выбери свой курс!
Программирование — это не магия. Это CodeShadow.
👉 codeshadow.ru/
Мечтаешь освоить программирование, но не знаешь, с чего начать?
CodeShadow — твой проводник в мир Python и IT-технологий!
🚀 Наши курсы:
• Python с нуля — пиши первые программы уже через месяц!
• PySQL — управляй базами данных как профи.
• Telegram-боты — создавай умных помощников с нуля.
• Кураторство проектов — реализуй свою идею с поддержкой ментора.
✅ Почему мы?
— Обучение без стресса: теория + практика на реальных кейсах.
— Гибкий график и доступ к материалам навсегда.
— Наставники рядом 24/7.
— Актуальные курсы: от нейросетей до крипто-трейдинга.
💻 Наши проекты говорят за нас:
• Бот для Steam-скидок,
• Торговый крипто-бот,
• Генетические алгоритмы на Python.
🎁 Специальные акции и скидки — на сайте!
Не просто учись — создавай, внедряй, расти!
С CodeShadow ты не станешь «еще одним учеником» — ты станешь разработчиком.
👉 Жми на ссылку и выбери свой курс!
Программирование — это не магия. Это CodeShadow.
👉 codeshadow.ru/
🧠 Кейс: простая генерация текста с нейросетью GigaChat
Для начинающих отличный способ погрузиться в мир ИИ — поработать с GigaChat API.
Вот шаблон запроса для генерации текста (например, описания к товару):
📦 Установка:
📜 Пример:
🔑 Где применить:
* генерация постов и описаний
* чат-боты для сайтов
* идеи для проектов или видео
* даже автоответы на Kwork или Авито 😎
#CodeShadow #GigaChat #Python #Нейросети #ИИ #ДляНачинающих #Разработка #Кейс
Для начинающих отличный способ погрузиться в мир ИИ — поработать с GigaChat API.
Вот шаблон запроса для генерации текста (например, описания к товару):
📦 Установка:
pip install gigachat
📜 Пример:
from gigachat import GigaChat
TOKEN = 'ваш_токен_от_сбера'
with GigaChat(credentials=TOKEN) as giga:
response = giga.chat('Придумай название и описание для фитнес-приложения')
print(response.choices[0].message.content)
🔑 Где применить:
* генерация постов и описаний
* чат-боты для сайтов
* идеи для проектов или видео
* даже автоответы на Kwork или Авито 😎
🚀 Совет: получи токен в Сбер ID и пробуй — это проще, чем кажется.
#CodeShadow #GigaChat #Python #Нейросети #ИИ #ДляНачинающих #Разработка #Кейс
💼 Фриланс на Python: с чего начать?
Если ты знаешь Python, можно выйти на фриланс уже сегодня. Вот с чего начать:
1. Зарегистрируйся на биржах: Upwork, Kwork, Freelancer
2. Создай портфолио (можно из pet-проектов)
3. Ищи заказы по ключевым словам: “bot”, “parser”, “automation”, “telegram”
Даже простые задачи типа “парсинг сайта” или “бот для формы” — оплачиваются.
Если ты знаешь Python, можно выйти на фриланс уже сегодня. Вот с чего начать:
1. Зарегистрируйся на биржах: Upwork, Kwork, Freelancer
2. Создай портфолио (можно из pet-проектов)
3. Ищи заказы по ключевым словам: “bot”, “parser”, “automation”, “telegram”
Даже простые задачи типа “парсинг сайта” или “бот для формы” — оплачиваются.
📦 Полезный скрипт: бэкап файлов по расписанию
Если нужно автоматизировать резервные копии:
Удобно запускать через планировщик или cron.
Если нужно автоматизировать резервные копии:
code
import shutil
import datetime
src = "project"
dst = f"backup_{datetime.date.today()}.zip"
shutil.make_archive(dst.replace(".zip", ""), "zip", src)
print("Бэкап создан:", dst)
Удобно запускать через планировщик или cron.
🧑💻 Фриланс: какие задачи заказывают чаще всего?
Топовые запросы на биржах:
- Telegram-боты (aiogram, pyTelegramBotAPI)
- Парсинг сайтов и API
- Скрипты автоматизации (таблицы, email, отчёты)
- Обработка данных (pandas, openpyxl)
- Веб-приложения (Flask, FastAPI)
Совет: освоив одно из направлений, можно стабильно зарабатывать на фрилансе.
Топовые запросы на биржах:
- Telegram-боты (aiogram, pyTelegramBotAPI)
- Парсинг сайтов и API
- Скрипты автоматизации (таблицы, email, отчёты)
- Обработка данных (pandas, openpyxl)
- Веб-приложения (Flask, FastAPI)
Совет: освоив одно из направлений, можно стабильно зарабатывать на фрилансе.
📄 Полезный скрипт: сбор данных с сайта в Excel
Нужно собрать данные и сохранить их в таблицу:
Нужно собрать данные и сохранить их в таблицу:
code
import requests
from bs4 import BeautifulSoup
import openpyxl
res = requests.get("
soup = BeautifulSoup(res.text, "html.parser")
quotes = soup.find_all("span", class_="text")
wb = openpyxl.Workbook()
ws = wb.active
for i, q in enumerate(quotes, 1):
ws[f"A{i}"] = q.text
wb.save("quotes.xlsx")
💬 Фриланс: как вести себя с заказчиком?
1. Никогда не обещай того, чего не сделаешь.
2. Пиши простым языком: без жаргона, заказчику не интересны “декораторы”.
3. Предлагай решения, а не просто исполняй команды.
Уважительное общение = повторные заказы + хорошие отзывы.
1. Никогда не обещай того, чего не сделаешь.
2. Пиши простым языком: без жаргона, заказчику не интересны “декораторы”.
3. Предлагай решения, а не просто исполняй команды.
Уважительное общение = повторные заказы + хорошие отзывы.
📊 Полезный скрипт: конвертер валют с API
Сравни валюты с помощью ExchangeRate API:
Можно добавить GUI, бота, или автоотчёт по курсам.
Сравни валюты с помощью ExchangeRate API:
code
import requests
res = requests.get("
data = res.json()
eur = data["rates"]["EUR"]
print("1 USD =", eur, "EUR")
Можно добавить GUI, бота, или автоотчёт по курсам.
📌 Автоматизация: загрузка файлов с FTP
Сценарий: нужно каждый день забирать отчёты с FTP-сервера.
Сценарий: нужно каждый день забирать отчёты с FTP-сервера.
code
from ftplib import FTP
ftp = FTP("ftp.example.com")
ftp.login("user", "password")
ftp.cwd("/reports")
with open("report.csv", "wb") as f:
ftp.retrbinary("RETR report.csv", f.write)
ftp.quit()
💡 Фриланс-лайфхак: использовать Telegram-бота как CRM
Создай себе Telegram-бота, который:
- сохраняет заказы и дедлайны
- напоминает о платежах
- уведомляет об ответах на биржах
Мини-CMS прямо в Telegram. Можно сделать с помощью aiogram и SQLite.
Создай себе Telegram-бота, который:
- сохраняет заказы и дедлайны
- напоминает о платежах
- уведомляет об ответах на биржах
Мини-CMS прямо в Telegram. Можно сделать с помощью aiogram и SQLite.
🤖 Автоматизация: распознавание текста на изображениях
Когда присылают скан вместо Excel, выручает OCR:
Работает отлично с квитанциями, актами, сканами.
Когда присылают скан вместо Excel, выручает OCR:
code
import pytesseract
from PIL import Image
img = Image.open("invoice.jpg")
text = pytesseract.image_to_string(img, lang="rus")
print(text)
Работает отлично с квитанциями, актами, сканами.
🚀 Фриланс-лайфхак: ускорение откликов с помощью Python
Хочешь первым отвечать на заявки? Используй скрипт:
- мониторит страницу с заказами
- парсит HTML
- присылает тебе уведомление в Telegram
Это может дать тебе +3-5 заказов в месяц. Пишите — подскажу шаблон.
Хочешь первым отвечать на заявки? Используй скрипт:
- мониторит страницу с заказами
- парсит HTML
- присылает тебе уведомление в Telegram
Это может дать тебе +3-5 заказов в месяц. Пишите — подскажу шаблон.
📋 Автоматизация: перенос данных из Google Sheets в PostgreSQL
code
import gspread
import psycopg2
from oauth2client.service_account import ServiceAccountCredentials
scope = ["
creds = ServiceAccountCredentials.from_json_keyfile_name("cred.json", scope)
client = gspread.authorize(creds)
sheet = client.open("report").sheet1
rows = sheet.get_all_values()[1:]
conn = psycopg2.connect("dbname=test user=postgres")
cur = conn.cursor()
cur.executemany("INSERT INTO stats (col1, col2) VALUES (%s, %s)", rows)
conn.commit()
📦 Фриланс-лайфхак: создавай библиотеку своих решений
Сделай папку:
- email_sender.py
- parser_template.py
- image_resizer.py
- invoice_generator.py
Ты сэкономишь часы на следующем проекте. Это твоя личная "фабрика кода".
Сделай папку:
- email_sender.py
- parser_template.py
- image_resizer.py
- invoice_generator.py
Ты сэкономишь часы на следующем проекте. Это твоя личная "фабрика кода".
🧹 Автоматизация: удаление старых файлов
Подходит для серверов, папок с логами и видео:
Подходит для серверов, папок с логами и видео:
code
import os
import time
folder = "downloads"
now = time.time()
for f in os.listdir(folder):
path = os.path.join(folder, f)
if os.path.isfile(path) and now - os.path.getmtime(path) > 7 * 86400:
os.remove(path)
print("Удалено:", f)
📊 Фриланс-лайфхак: визуализируй результат для клиента
Иногда график лучше, чем 100 строк логов.
Сделал парсер? Покажи не только .csv, но и график в PNG.
Клиент это оценит — и даст тебе следующий проект.
Иногда график лучше, чем 100 строк логов.
Сделал парсер? Покажи не только .csv, но и график в PNG.
Клиент это оценит — и даст тебе следующий проект.
🧾 Автоматизация: генерация PDF-счёта
Отправка счёта — один импорт.
code
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Счёт на оплату", ln=1, align="C")
pdf.cell(200, 10, txt="Итого: 12 000 руб", ln=2)
pdf.output("invoice.pdf")
Отправка счёта — один импорт.
🤖 Что у меня сейчас происходит?
Работаю над Telegram-ботом, который автоматически рассылает посты по группам. Всё привязано к базе данных через Supabase: тексты, изображения, список каналов — всё подгружается динамически.
Посты отправляются ежедневно, в заданное время. Даже можно настроить через команду в Telegram — бот слушает
📦 Параллельно бот вытаскивает медиа и текст из Supabase, а затем рассылает случайный пост в заданные чаты — или просто текст, если изображения не загружены.
Уже работает автопланировщик и автообновление данных. Осталось допилить механику ручного запуска и добавить логирование рассылок.
#CodeShadow #DevLog #TelegramBot #Python #Фриланс
Работаю над Telegram-ботом, который автоматически рассылает посты по группам. Всё привязано к базе данных через Supabase: тексты, изображения, список каналов — всё подгружается динамически.
Посты отправляются ежедневно, в заданное время. Даже можно настроить через команду в Telegram — бот слушает
/settime прямо в личке 👇@client.on(events.NewMessage(pattern='/settime (\\d{1,2}:\\d{2})'))
async def set_time_handler(event):
time_str = event.pattern_match.group(1)
hour, minute = map(int, time_str.split(':'))
self.send_time = time(hour, minute)
await event.respond(f"✅ Время рассылки установлено на {time_str}")📦 Параллельно бот вытаскивает медиа и текст из Supabase, а затем рассылает случайный пост в заданные чаты — или просто текст, если изображения не загружены.
Уже работает автопланировщик и автообновление данных. Осталось допилить механику ручного запуска и добавить логирование рассылок.
#CodeShadow #DevLog #TelegramBot #Python #Фриланс