TGViewer
Channel Public Channel
CodeShadow

CodeShadow

@codeshadowcources

👋 Я Артемий — преподаватель Python и фрилансер.

💻 Показываю, как код и нейросети помогают зарабатывать и упрощать работу.

🚀 Делюсь проектами, опытом и лайфхаками из реальной практики.

✍🏻 Вопросы и идеи: @MifmanRu
Subscribers
76
Photos
288
Videos
47
Links
150

Showing posts older than #607 · Back to latest

Older Posts 20 shown
Post #606 111
😁 Тихо, без громких анонсов: DeepSeek стал заметно мощнее

В одном из последних обновлений DeepSeek неожиданно прокачали. Контекстное окно увеличили со 128K до 1 миллиона токенов, а база знаний теперь обновлена до мая 2025 года (ранее модель ориентировалась на данные до июля 2024-го).

🧠 Это значит, что теперь можно загрузить в DeepSeek годовую переписку команды, многотомные научные материалы или сложную техническую документацию — и модель будет помнить начало разговора даже спустя долгий диалог. Раньше подобные возможности были доступны только в GPT-5 и Gemini 3 Pro.
  • 🤩 1
Post #604 81

Forwarded from INNOPROG — здесь об IT

🔗Это второй урок мини курса «Конвертер учебных файлов»

Скорее переходите в наш бот и забирайте урок для изучения 🤓
  • 🤩 3
  • 🎉 2
Post #603 87
😭 Разработчики 98 ещё те прикалисты
  • 👏 2
Post #602 71

Forwarded from INNOPROG — здесь об IT

📌Первый урок мини-курса по созданию конвертера учебных файлов доступен к изучению

📚Переходите в наш бот и забирайте урок
  • 👏 4
Post #601 72
⚙️ Лайфхак: Быстрый замер времени выполнения кода

Хочешь узнать, какой метод работает быстрее? Используй time.

import time

start = time.time()
# Твой код здесь
print(f"Время выполнения: {time.time() - start} сек")


Оптимизация начинается с точных цифр, а не с догадок.
  • 🤩 3
Post #600 61

Forwarded from INNOPROG — здесь об IT

Анонс мини-курса «Конвертер учебных файлов» от Артемия - преподавателя INNOPROG📚

🔗В этом мини-курсе мы создадим удобный и функциональный конвертер различных файлов, который позволит адаптировать учебные материалы в удобный и подходящий формат.

📌Даты выхода уроков:
Блок 1 – 9 февраля
Блок 2 – 12 февраля

Ставьте напоминание в календаре, чтобы не пропустить 🦾
  • 🎉 3
Post #599 69
«Я, презентующий код, который работает, но я не знаю почему» 😮
Post #598 60
💬 Мотивация: Почему фриланс на Python — это реально?

На рынке море задач: спарсить сайт, переложить данные из Excel в базу, сделать телеграм-бота.
Для профи это 20 минут работы. Для тебя — отличная практика и первые деньги.

Тебе не нужно знать всё.
Тебе нужно уметь гуглить, разбираться и адаптировать чужой опыт под задачу.
Post #597 73
🗒 На бирже увидел интересный проект. По своей сути он достаточно простой, особенно если его завайбкодить. Простой пример реализации:

Стек: Python + aiogram для тг бота

Придумать систему генерации квиза

Сделать возможность для админа делать рассылку

Настроить текст рассылки


👩‍💻 Упрощённая версия бота:

import asyncio
from aiogram import Bot, Dispatcher, types, F
from aiogram.filters import CommandStart
from aiogram.fsm.context import FSMContext
from aiogram.fsm.state import State, StatesGroup

# Настройка состояний квиза
class QuizStates(StatesGroup):
question1 = State()
question2 = State()
phone = State()

bot = Bot(token="YOUR_TELEGRAM_TOKEN")
dp = Dispatcher()

@dp.message(CommandStart())
async def start_cmd(message: types.Message, state: FSMContext):
await message.answer("Привет! Ответь на 2 вопроса, и мы подберем решение. Какой у вас бюджет?")
await state.set_state(QuizStates.question1)

@dp.message(QuizStates.question1)
async def process_q1(message: types.Message, state: FSMContext):
await state.update_data(budget=message.text)
await message.answer("Какая сфера вашего бизнеса?")
await state.set_state(QuizStates.question2)

@dp.message(QuizStates.question2)
async def process_q2(message: types.Message, state: FSMContext):
await state.update_data(sphere=message.text)
await message.answer("Оставьте ваш номер телефона для связи:")
await state.set_state(QuizStates.phone)

@dp.message(QuizStates.phone)
async def process_phone(message: types.Message, state: FSMContext):
user_data = await state.get_data()
phone = message.text

# Имитация интеграции с CRM (Bitrix24/AmoCRM)
print(f"Отправка в CRM: Бюджет: {user_data['budget']}, Сфера: {user_data['sphere']}, Тел: {phone}")

await message.answer("Спасибо! Менеджер свяжется с вами в течение 15 минут.")
await state.clear()

async def main():
await dp.start_polling(bot)

if __name__ == "__main__":
asyncio.run(main())


Если брать то ТЗ, которое написал заказчик, работы на 1-3 часа. И 20к уже в кармане 😎

Из нюансов: заказчик нанимал 0% исполнителей и уже 30+ откликов
Post #596 70
📌 Мини-скрипт: Проверка скорости интернета на Python

Если работаешь на удаленке или фрилансе, важно знать, не подводит ли провайдер.

# pip install speedtest-cli
import speedtest

st = speedtest.Speedtest()
print(f"Загрузка: {st.download() / 10**6:.2f} Mbit/s")


Быстрый способ проверить канал без лишних вкладок в браузере.
Post #595 81
🛠 Совет: Виртуальное окружение — это база

Никогда не ставь библиотеки глобально в систему.
Рано или поздно версии разных проектов конфликтуют, и всё ломается.


# Создать окружение
python -m venv venv
# Активировать (Windows)
venv\Scripts\activate


Приучай себя к этому с первого дня. Это экономит кучу времени при поддержке кода.
Post #591 80
👍 Лайфхак: Как ChatGPT помогает писать код быстрее

Не проси нейросеть "написать программу целиком" — она может ошибиться в логике.
Лучше используй её для рутины:
– Оптимизировать готовый цикл
– Добавить обработку ошибок в функцию
– Написать документацию или тесты

Это твой бесплатный ассистент, который учит тебя писать чище.
Post #590 90
Как быстро летит время

Вроде неделю назад говорил себе, что займёшься спортом на следующей. 3 дня назад сказал, что сделаешь выходной, ещё вчера думал, как бы больше проводить время с близкими. И вот, сегодня сидишь и понимаешь, как быстро летит повозка времени, в то время как ты небрежно поспеваешь за ней сзади, весь в пыли и разочаровании в том, что не успел выполнить свои мечты…

Очень хотел затронуть эту тему в канале, так как считаю, что проблема быстроты времени есть у многих людей. Порой кажется, что ты достигаешь своих целей: снимать квартиру, обновить ПК, начать зарабатывать, иметь возможность работать удалённо или на худой конец сдать эту сраную сессию. Но проблема в том, что это будто бы всё «спецэффекты», что это как бы цель, но не совсем та, которая сделает тебя по-настоящему счастливым.

Время действительно неумолимо летит, но каждый сам в своей жизни определяет ей темп.

А какие ты ставишь перед собой цели? 😔
  • 🤔 3
Post #589 93
Благодарю за тёплый отзыв! 💎💎💎
  • 🎉 6
  • 👏 4
  • 🗿 1
Post #588 104
👩‍💻 Мини-скрипт: Автоматическая сортировка файлов в папке

Полезно для студентов и фрилансеров, у которых в "Загрузках" вечный хаос.

import os
import shutil

for file in os.listdir("."):
if file.endswith(".pdf"):
os.makedirs("PDFs",
exist_ok=True)
shutil.move(file, "PDFs")


Пять строк кода — и идеальный порядок в отчетах или учебных материалах.
Post #587 102
💡 Совет фрилансеру: Комментируй код для будущего себя

Когда пишешь проект на заказ, кажется, что логика очевидна.
Но через месяц заказчик попросит правку, и ты потратишь часы только на то, чтобы вспомнить свой же алгоритм.

Пиши комментарии перед сложными частями.
Это не признак новичка, а признак профессионала, который ценит свое время.
Post #586 96
Запуск, ошибки и адаптация под ChatterBox

Собираем всё в рабочий кейс 💼

Как запустить
☀️ Установить зависимости (TTS, torch)
☀️ Скачать модель XTTS (она подтянется автоматически при первом запуске)
☀️ Положить text.txt с текстом + voice_example.mp3 с примером голоса

☀️ Запустить:
python voice.py


Если модель скачана — всё работает офлайн. 😳

Частые ошибки ⛔️
➡️ не найден speaker_wav
➡️ слишком длинный текст без enable_text_splitting
➡️ нет GPU — медленно, но работает
➡️ плохой пример голоса — "робот"

Адаптация под ChatterBox
Сама идея не меняется.

Меняется только импорт библиотеки, способ вызова генерации, формат передачи параметров


Готовый проект можно получить бесплатно ➡️ ЗДЕСЬ
Post #585 80
⚙️ Лайфхак: Используй f-строки как профи

Забудь про склеивание строк через плюс. Это неудобно и часто ведет к ошибкам.
В Python есть f-строки, которые позволяют вставлять переменные и даже код прямо в текст.

name = "Артемий"
income = 50000
print(f"Фрилансер {name} заработал {income / 80:.2f} $ за вечер")


Это делает код чище, а структуру понятнее — особенно когда данные сложные.
  • 🤔 1
  • 🤩 1
Post #584 67
Генерируем голос из текста (XTTS) 👩‍💻

Продолжаем.
Теперь напишем сам скрипт, который читает текст и превращает его в голос.

Создаём файл voice.py.


Сначала базовые импорты и загрузка текста:
from TTS.api import TTS
import torch
from config import *

text = open('text.txt', 'r', encoding='utf-8').read()


Теперь инициализация модели:
print("🔄 Загрузка модели...")
tts = TTS(
CONFIG["model"],
progress_bar=True,
gpu=torch.cuda.is_available()
)


🗣И вот самый главный кусок — генерация аудио:
print("🎤 Генерация аудио...")
tts.tts_to_file(
text=text,
file_path=CONFIG["output_file"],
speaker_wav=CONFIG["speaker_wav"],
language=CONFIG["language"],

temperature=CONFIG["temperature"],
length_penalty=CONFIG["length_penalty"],
repetition_penalty=CONFIG["repetition_penalty"],
top_k=CONFIG["top_k"],
top_p=CONFIG["top_p"],
speed=CONFIG["speed"],
enable_text_splitting=CONFIG["enable_text_splitting"]
)


Если всё ок — после запуска появится файл result.wav.

Что важно:
❗️ speaker_wav сильно влияет на результат
❗️ короткий, чистый голос работает лучше
❗️ параметры можно крутить бесконечно (и это кайф)

В следующем посте:
💎 как запускать это стабильно
💎 как адаптировать под ChatterBox
💎 и где чаще всего всё ломается 🙂
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →