Абьюзер СhatGPT 💄 REBORN
9.45K subscribers
318 photos
47 videos
56 files
164 links
ЕСЛИ БЕРЁТЕ МОИ ПРОЕКТЫ - УКАЗЫВАЙТЕ АВТОРА
Download Telegram
Доброе утро. Все, у кого сломался злюка (бот-модератор) и теперь при заходе в комментарии отправляется его меню - зайдите в диалог с ним и отправьте:

/hide_menu


Я упустил момент и один человек этим воспользовался, немного сломав опыт использования. Меню пропадет после отправки команды. Сам убрать у Вас это не могу, т.к. это индивидуальные настройки Вашего чата.
🤯31👍7🥰51
🚀 Нашел вменяемый перевод CS50, аллелуя.

Тут каждый день в чатах пишут, что хотят начать, не знают с чего. Вот Вам самый лучший на сегодня БЕСПЛАТНЫЙ курс для "вкатки" , как это можно называть.

Он сейчас почему-то не на хайпе, ну и ладно... Значит, ссылка на плейлист:

ТЫК.

Немного инфы: CS50 (Computer Science 50) — это легендарный и очень популярный вводный курс по информатике и основам программирования, разработанный Гарвардским университетом. С 2015 года он также преподается в Йельском университете.

🖥 Вот ключевые моменты о CS50:

1. Для кого? Курс рассчитан на абсолютных новичков или тех, у кого есть минимальные начальные знания в программировании. Он является отличной отправной точкой для всех, кто интересуется компьютерными науками, независимо от их предыдущего опыта;
2. Чему учит? CS50 знакомит с фундаментальными концепциями информатики и программирования. Вы изучите:
- Базовые основы программирования (циклы, условные переходы, функции и т.д.);
- Принципы работы с командной строкой в Linux;
- Системы счисления;
- Алгоритмы и структуры данных;
- Введение в различные языки программирования, такие как C, Python, SQL, а также основы HTML, CSS и JavaScript;
- Также затрагивают основы кибербезопасности и искусственного интеллекта.


👀 Курс акцентирует внимание на решении реальных задач и проблем, что помогает студентам применять полученные знания на практике. Если вкатит - есть еще CS50P (посвященный Python), CS50W (веб-разработка), CS50AI (искусственный интеллект) и другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
108❤‍🔥16👍14🔥6🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
✈️ Пост ворованный, но мне все равно, ибо этот пабос мои видосы без подписи автора у себя выставляет.

Найден
способ узнать аниме по любому кадру. Бесплатно и моментально определит сериал, эпизод и таймкод по вашему скриншоту. Распознает даже мемы.

Ссылка

PS: сайт поднялся!
Please open Telegram to view this post
VIEW IN TELEGRAM
145🤣27🥰19🤷‍♀11👍9❤‍🔥6🙏2😡2
🚀 ReelsMaker, который на 15к обещал. Внутри инструкция по настройке авто-выгрузки в YouTube.

👀 Сори, сейчас прям нет возможности канал вести, слишком много хаоса, отстаю по срокам перед людьми, в следствие того, что ночью не сплю/работаю а сижу в подвале, в укрытии...

Всем хорошего вечера!

👨‍💻 Из того, что в видосах не показывал, добавил обрезку черных полос, но уже не захардкодил, а делаем это интеллектуально, для каждого видео индивидуально. + не только для скачанных с youtube, а и для локальных файлов. + добавил возможность наложить звук, а также регулировать громкость наложенного/родного звука видео, чтобы их можно было смешать или добавить фоновую музыку.


СКАЧАТЬ

P.S. постарался FFPEG и yt-dlp упаковать, но на своей системе корректность работы проверить не могу, ибо они у меня в PATH по умолчанию. Но вроде, должно работать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14344👍19❤‍🔥4😢3🥰1🌭1😡1
🚀 Мне в руки попала занимательная информация. И хоть я не фанат пиратства, преступлением было бы не поделиться бесплатными знаниями.

🖥 Значит, эти все курсы являются платными изначально, но вот они бесплатно (слиты):

- Полное овладение Python (2023);
- Bogdan Stashchuk(Udemy) Полный курс по Python (2022);
- Python для хакера . Серия статей . Изучаем Python на практических примерах (2022);

- Основы математики для Data Science;
- Профессия 1с-разработчик c нуля до PRO;
- Сквозная аналитика;

- Adobe After Effects с 0 до PRO;
- Веб-аналитик с нуля до Junior;
- Fashion-скетчинг.

Кто с Украины, используем VPN, ибо все на облаке mail.ru выложено.

👨‍💻 Хорошего вам обучения!

P.S. качество курсов по понятным причинам проверить не смог. Знаю только, что в общем доступе их нет и изначально они платные. Если у кого-то был опыт, делитесь в комментариях советами.
Please open Telegram to view this post
VIEW IN TELEGRAM
147👍31🥰15❤‍🔥3🏆3🤨1
🖥 В очередной раз прочитал комментарии гениев о том, что Python медленный, а С++ и Java - быстрые. Вероятно, люди не совсем еще понимают, в чем идея огромного количества языков программирования и что у каждого из них своя задача. Я же не идиот, что начал Python учить, зная могучий C++ (или мне просто нечего делать было?)

Давайте сравним на казуальной задаче: парсинг веб-страницы. Задача
- собрать все заголовки с главной страницы Wikipedia.

На Python для этого нужно использовать только: requests, BeautifulSoup. А вот на C++ придется по-мучится с libcurl и Gumbo-parser.

Что у нас получается на Python
? Буквально 7 строк. А вот, что получится для С++:

#include <iostream>
#include <string>
#include <vector>
#include <curl/curl.h>
#include <gumbo.h>

size_t write_callback(void *contents, size_t size, size_t nmemb, std::string *s) {
size_t new_length = size * nmemb;
try {
s->append((char*)contents, new_length);
} catch(std::bad_alloc &e) {
return 0;
}
return new_length;
}

void search_for_headers(GumboNode* node, std::vector<std::string>& headers) {
if (node->type != GUMBO_NODE_ELEMENT) {
return;
}

GumboTag tag = node->v.element.tag;
if (tag >= GUMBO_TAG_H1 && tag <= GUMBO_TAG_H6) {
GumboVector* children = &node->v.element.children;
for (unsigned int i = 0; i < children->length; ++i) {
GumboNode* child = static_cast<GumboNode*>(children->data[i]);
if (child->type == GUMBO_NODE_TEXT) {
headers.push_back(child->v.text.text);
}
}
}

GumboVector* children = &node->v.element.children;
for (unsigned int i = 0; i < children->length; ++i) {
search_for_headers(static_cast<GumboNode*>(children->data[i]), headers);
}
}

int main() {
CURL *curl;
CURLcode res;
std::string html_content;

curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://ru.wikipedia.org/wiki/Заглавная_страница");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &html_content);

res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "Ошибка curl_easy_perform(): " << curl_easy_strerror(res) << std::endl;
}

curl_easy_cleanup(curl);
}

if (html_content.empty()) {
std::cerr << "Не удалось загрузить HTML." << std::endl;
return 1;
}

GumboOutput* output = gumbo_parse(html_content.c_str());

std::vector<std::string> headers;
search_for_headers(output->root, headers);

std::cout << "Найденные заголовки:" << std::endl;
for (const auto& header : headers) {
std::cout << "- " << header << std::endl;
}

gumbo_destroy_output(&kGumboDefaultOptions, output);

return 0;
}


Как видите, код на C++ требует:

- ручного управления зависимостями: нужно установить и слинковать библиотеки;
- более низкоуровневой работы: вы вручную настраиваете curl, пишете callback-функцию для сохранения данных;
- явного обхода дерева: вы рекурсивно обходите DOM-дерево, построенное Gumbo;
- ручного управления памятью: вы обязаны вызвать gumbo_destroy_output, чтобы избежать утечек памяти.

🚀 Задача одна, объем кода и время на выполнение - кардинально разные. На С++ это +- час, на Python - 5 минут. А в скорости работы при таком сценарии разницы нет. Я это к чему: у всех языков свои преимущества, назначения. Python не существует для того, чтобы на уровне ядра с ОС взаимодействовать. Он нужен, чтобы упростить разработку в типизированных сценариях, сделать ее быстрой и приятной.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10039🤯6❤‍🔥4🔥2🥰1🌭1
🚀 Нашел интересную штуку, может пригодиться. Не уверен, что для кодинга - но сферы применения точно имеются.

✍️ Prompt Cannon - удобный инструмент для тех, кто хочет сравнить возможности различных AI-моделей. Вы можете отправить один запрос, и он будет одновременно обработан несколькими AI-моделями, генерируя до 10 уникальных ответов.

На платформе доступны такие модели, как:

- GPT-4o Mini
- Gemini Flash
- DeepSeek
- Claude Haiku
- Claude Sonnet
- GPT-4.1


👀 Это отличный способ быстро оценить, какая модель лучше всего подходит для ваших задач (и найти те модели, которые для ваших вопросов совсем не подходят).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥56👍2010🔥91🤝1
🚀 Все любят стилевый код, особенно в Тик-Ток. Вот вам инструмент, чтобы его красиво оформлять:

РЕПОЗИТОРИЙ | САЙТ

Chalk.ist и нужен только для того, чтобы делать из вашего скучного исходного кода потрясающие изображения.

Основные возможности:

- Гибкое управление кодовыми блоками: Добавляйте, удаляйте, меняйте порядок и настраивайте языки для ваших кодовых блоков.
- Визуальные преобразования: Выделяйте важные строки, фокусируйтесь на конкретных участках или показывайте различия (добавления/удаления) в коде.
- Полная кастомизация: фон, шрифты, окно, темы, бейджи.


👀 Конечно, не на Питончике писано. Проект построен на Nuxt.js с использованием Vue.js и Pinia. Для стилизации используется Tailwind CSS. Синтаксическая подсветка реализована с помощью Shiki. Для базы данных используется Drizzle ORM с PostgreSQL.
Please open Telegram to view this post
VIEW IN TELEGRAM
54👍13🔥11❤‍🔥3
🚀 Сори за АФК, переезжаю, на этой неделе закончу с этим. На той неделе случился неприятный инцидент, коснулся моего дома и близких. И моего ПК, который сейчас не работает.

Тут ребята предлагают работу, я взяться не могу, но дам Вам объявление. Если знакомы с веб-автиматизацией и Selenium, Playwright - попробуйте подать им заявку (разверните, чтобы полностью прочитать вакансию. Подойдет как разовое сотрудничество так и постоянное!):


Привет! У нас открыта вакансия инженера по автоматизации на Python. Ищем того, кто готов работать с браузерной автоматизацией, прокси и ИИ. Если тебе интересно, откликайся и приходи на интервью уже сегодня. Не упусти шанс стать частью проекта!

Должность: Инженер по автоматизации на Python: браузерная автоматизация, прокси и интеграция ИИ
Формат: Удалённо (Пн-Пт, с 7:00 до 16:00 по EST)
Тип занятости: Полный рабочий день, контракт (с оплачиваемым испытательным сроком 1 месяц)

О PRAI.co
PRAI.co трансформирует сферу PR с помощью искусственного интеллекта. Наша основная платформа, PRAI Transformer помогает брендам достигать широкой видимости, формировать повестку и лидировать в цифровом пространстве.

Сейчас мы создаём инструменты следующего поколения: кастомные браузерные решения, ИИ-автоматизацию и масштабируемые системы на основе прокси. Если вы увлечены автоматизацией и хотите развиваться в быстрорастущем AI-стартапе, будем рады познакомиться.

Обязанности
Мы ищем Python-инженера среднего уровня, который поможет расширить систему браузерной автоматизации.
Вы будете решать реальные задачи: эмуляция поведения пользователей в браузере, адаптация ботов под изменения фронтенда и внедрение ИИ-компонентов в рабочие процессы.

Отличная возможность для специалиста, который хочет перейти от стандартной автоматизации к более сложным системам и ИИ-инструментам.

Основные задачи
-Написание и поддержка скриптов автоматизации с использованием Selenium или Playwright
-Эмуляция поведения реальных пользователей (движение мыши, задержки, ввод текста, скроллинг)
-Интеграция прокси-сервисов и ротация IP-адресов
-Отладка проблем, связанных с детектированием ботов и капчами
-Адаптация скриптов к изменениям во фронтенде сайтов
-Подключение автоматизации к базам данных (MongoDB, PostgreSQL) и Redis
-Внедрение лёгких ИИ-моделей или API для умной логики
-Мониторинг производительности и отчётность перед инженерной командой

Требования
-2–3 года опыта разработки на Python, включая автоматизацию
-Опыт с браузерной автоматизацией (Playwright, Selenium или Puppeteer)
-Понимание прокси, ротации IP и методов обхода детектирования
-Опыт работы с динамическими веб-сайтами (HTML, CSS, JavaScript)
-Знание Git, асинхронного Python и отладочных инструментов
-Уверенное владение английским для тех. терминов
-Готовность обучаться продвинутым методам: кастомизация браузеров, ИИ-интеграции и пр.



Преимущества
-Опыт с undetected-chromedriver, stealth-плагинами или методами обхода антиботов
-Знание Docker, Redis или систем фоновых задач (например, Celery)
-Знакомство с AI/ML-инструментами (OpenAI API, Langchain, Hugging Face)
-Базовое понимание системного дизайна и мониторинга производительности



Что мы предлагаем
-Удалённая работа с графиком по EST
-Оплачиваемый месяц на испытательном сроке с возможностью повышения ставки по итогам
-Менторство от старших инженеров, работающих с продвинутыми ИИ- и автоматизационными системами
-Работа над продуктом с глобальным охватом и реальными пользователями
-Быстрый темп, масштаб, рост и реальное влияние вашего кода


Как подать заявку
Отправьте на @olexandra_vakul :
-Краткое сообщение о вашем опыте с браузерной автоматизацией и мотивации на эту роль
-Резюме или профиль в LinkedIn
-GitHub или примеры кода (если есть)

Если вы готовы прокачать свои навыки в Python-автоматизации в реальной ИИ-среде, мы готовы работать с вами.
Откликайтесь, построим новое поколение умной автоматизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
😭14120👍14😁7🤯6🔥3🥰3🐳3
Всем привет. В общем, после влета дрона в мой дом.... На той неделе закончил со сборкой ПК. SSD со старого (сгоревшего), который в целом выглядел ОК визуально, оказался не рабочим, 3 ячейки памяти из 4 неработоспособны, ибо обгорели. Перенести инфу, проекты и рабочий телеграм-аккаунт, с которого общался с заказчиками, я не смог, ибо диск только стартовал, а при попытке взаимодействовать с файловой системой, перезагрузка -> bios.

Сейчас я глобально в депрессии, ибо попал на много денег, т.к. квартира была моя, как и все имущество в ней. Восстанавливать мне государство ее не будет: для подачи документов на это нужно идти в военкомат, а идти в военкомат… Вы понимаете.

Я все еще помню о том, что есть заказчики, с которыми работали и я пропал внезапно. Поверьте, не по моей воле. Вам отвечать тоже возможности не было, т.к. аккаунт для рабочего общения был только на компьютере и телефоне для работы, которые я с собой в укрытие очевидно не забирал в ту ночь.

Поэтому всех, с кем работал/от кого получил средства и не дал результат, прошу отписать снова через бот(а), дам вам свой новый аккаунт. Всем сразу не отвечу, ибо опять-таки, я морально не вывезу со всеми общаться. Да, неправильно, да эгоистично. Как есть. Какие-то наработки по вашим проектам остались у меня в облаке, а для кого-то все слетело. Кидать никого не намерен, либо сделаю вам проекты, либо сделаю другие, если те актуальность потеряли, либо буду постепенно возвращать деньги.

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

Обещаю себе и Вам с завтрашнего дня вести этот канал, делать хотя-бы 1-2 поста в день, как и 1-2 видео в день в ТТ.
😢754104😭60😨21🤯9🤣7🔥6😱6
👨‍💻 У ребят, которые начали свой путь в разработки с помощью нейронок, наблюдается проблема, что они всюду используют SQlite. Особенно этим GPT болеет. Это не плохой проект, если проект у вас минорный. А вот для чего-то крупного - такая БД станет "слабым" местом в моменте, когда к ней будет поступать много запросов. Зависания, падения, долгое время ожидания - это не круто.

Кратко расскажу об альтернативах
👀, где и почему их лучше использовать. Чуть позже по каждой пройдемся подробнее:

1) SQLite

- Плюсы: Простая, быстрая, не требует отдельного сервера, встроена в Python.
- Минусы: Ограниченная поддержка многопоточности, не подходит для больших объемов данных.


🎯 Идеально для: Небольших проектов, мобильных приложений, тестирования.

2) PostgreSQL

- Плюсы: Мощная, расширяемая, поддерживает сложные запросы и большие объемы данных.
- Минусы: Требовательна к ресурсам, сложнее в настройке.


🎯 Идеально для: Крупных веб-приложений, систем аналитики, научных проектов.

3) MongoDB


- Плюсы: Гибкая схема данных, горизонтальное масштабирование, высокая скорость записи.
- Минусы: Ограниченная поддержка транзакций, не подходит для связанных данных.


🎯 Идеально для: Big Data, социальных сетей, IoT, контент-менеджмента.

4) Redis

- Плюсы: Очень быстрая (in-memory), подходит для кэширования и очередей сообщений.
- Минусы: Данные хранятся в оперативной памяти (ограниченный объем), риск потери данных при сбое.


🎯 Идеально для: Кэширования сессий пользователей, real-time аналитики, чатов.
Please open Telegram to view this post
VIEW IN TELEGRAM
96👍16🔥11❤‍🔥3🤣1
🖥 Продолжу тему баз данных, об одной ключевой вчера не рассказал.

Сегодня о классической связке, которая лежит в основе многих крутых проектов: Python и MySQL.

🤔 Как они "дружат?"

Python "общается" с базами данных MySQL с помощью специальных библиотек-коннекторов. Самые популярные — mysql-connector-python (официальный от Oracle) и PyMySQL. 👀 Вы просто устанавливаете нужную библиотеку, импортируете ее в свой скрипт и можете выполнять любые SQL-запросы: создавать таблицы, добавлять данные, делать сложные выборки. Все просто и по-питоновски элегантно.

🚀 Где это используется?

1. Веб-приложения на Django & Flask: Это самая частая сфера применения. Интернет-магазины, блоги, CRM-системы, социальные сети — везде, где нужно надежно хранить данные о пользователях, товарах или постах, MySQL отлично справляется с ролью хранилища. Django и Flask имеют прекрасную интеграцию с этой СУБД.
2. Аналитика и ETL-процессы: Представьте, что вы парсите данные с сайтов. Python-скрипт собирает информацию, обрабатывает ее и аккуратно записывает в таблицы MySQL. Позже эти данные можно легко анализировать и строить отчеты.
3. Телеграм-боты: Ваш бот должен помнить пользователей, их настройки или историю сообщений? MySQL — отличный и надежный выбор для хранения этой информации.
4. Системы мониторинга: Скрипты, которые следят за состоянием серверов или приложений, могут записывать логи и метрики в базу MySQL для последующего анализа.

Python + MySQL — это надежное и масштабируемое решение для огромного спектра задач.

P.S. я вижу сообщения от ВСЕХ в боте, не нужно писать по несколько раз. Я закрываю вопрос с 2-3 людьми, потом иду дальше.

Если я начну отвечать всем и сразу - никто решение своей проблемы не получит, а я к тому, что сейчас кушаю золофт, еще пару таблеток у психиатра выпишу.
До всех очередь дойдет, компенсирую работой/деньгами.
Please open Telegram to view this post
VIEW IN TELEGRAM
60❤‍🔥105🔥3👍2🥰1🤔1💋1
✍️ Знакомые, которые только учатся программированию, рассказали про интересный сайт, еще месяц назад, но не до этого было.

What It Prints - это простая, но увлекательная игра-головоломка для программистов и всех, кто интересуется кодом. Зайти туда и "тренироваться" можно будучи адептом практически любого из востребованных сейчас языков: (JavaScript, Python, Ruby, C++ и других).

✈️ В чем суть?

Сайт показывает вам небольшой фрагмент кода на разных языках программирования. Ваша задача — угадать, что именно этот код выведет на экран. Никаких сложных настроек, компиляторов и IDE. Только вы, код и ваша логика.


⚙️ Это отличный инструмент, который позволит:

- проверить свои знания в разных языках;
- научиться быстрее читать и понимать чужой код;
- узнать новые "фишки" и особенности языков;
- просто "залипнуть" на несколько минут (или часов 😉) с пользой для ума.

🤖 Отличная разминка для мозга для программистов любого уровня, как по мне.
Please open Telegram to view this post
VIEW IN TELEGRAM
57368😡7👍5🔥5😴5🤔2
🖥 SeleniumBase для парсинга: мощнее и удобнее обычного Selenium

Парсить сайты на Selenium уже не считается практичным. Он медленней конкурентов. Единственное преимущество - это большое сообщество, которое делится опытом и поможет найти решение любой проблемы, практически. Но мой опыт показывает, что условный Playwright или DrissionPage быстрее, лучше справляются с задачами, где нужно "маскировать" автоматизацию.

👨‍💻 Но вот, доделывая один из "долгов", на той неделе познакомился с SeleniumBase. Если коротко, это надстройка над обычным Selenium, которая решает кучу проблем.

Чем SeleniumBase лучше?

- простой синтаксис;
- встроенная защита от бот-детекторов;
- автоматическое управление драйверами - не нужно вручную скачивать и прописывать пути к chromedriver;
- "умные" ожидания: Скрипт не упадет, если элемент не успел прогрузиться. SeleniumBase автоматически дождется его появления перед тем, как выполнить действие. Это делает парсеры намного стабильнее.


По сути, он упрощает код и помогает обходить защиту там, где обычный Selenium уже не справляется. Вот такой вот опыт.

P.S. жду стул и микрофон, не могу пока ТТ вести, скоро фулл-комбек. Прямо сегодня утром закрыл 3-х заказчиков, сегодня отпишу еще троим. Жизнь продолжается, по чуть продолжаем работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7930🔥14🥰3🐳32👏1🌭1
🖥 Зависимости в Python: как быстро навести порядок и почему это важно

Часто встречаю проекты, от заказчиков, которые стоит доработать, или просто на GitHub, где в requirements указывается просто библиотека, без конкретной версии. И часто из-за этого у конечного пользователя не получается запустить проект. Почему так?

Дело в том, что разные версии библиотек могут иметь разный синтаксис. Например, популярный aiogram, который используют для написания асинхронных телеграм-ботов, во всех версиях 2. имеет совершенно иные методы/функции, нежели в версии 3. И даже внутри одного поколения, к примеру, aiogram 3.7 и aiogram 3.18 - есть значительные отличия. К чему это ведет? Проект написанный на какой-то конкретной, актуальной версии библиотеки, может просто не "стартовать" у пользователя уже через полгода. Для неопытного/начинающего разработчика - это беда.


То есть, мы определили, что зависимости вида:

requests
aiogram
pillow


Это нормально в момент, когда вы разрабатываете проект, знакомитесь с актуальными библиотеками и используете методы/функции, которые представлены в них. Но если вы хотите передавать/распространять/выкладывать свой код в общий доступ, рекомендую выучить команду:

pip freeze > requirements.txt


🚀 Это - классика, быстро и грубо сохраняет все зависимости.

Есть и более чистый вариант через pip install pip-tools. Что нужно делать?:

1) Создайте (или активируйте) venv.
2) Установите инструмент:


pip install pip-tools


3) Напишите верхнеуровневые пакеты в requirements.in (те, которые без версий!).
4) Скомпилируйте замороженный список:

pip-compile requirements.in -o requirements.txt


👀 У этой команды также есть несколько опций:

- "--upgrade" - обновить всё до свежих допустимых версий
- "-P httpx" - обновить только httpx
- " --generate-hashes" - добавить SHA256-хеши для безопасности


5) После этого, выполните установку пакетов из сформированного requirements.txt:

pip-sync requirements.txt


pip-sync удалит лишние пакеты из venv и установит ровно те, что в файле.


Таким образом можно и разделять Prod и Dev инструменты, чтобы не тащить лишнее в продакшн. Создаете requirements.in - это прод зависимости и requirements-dev.in - инструменты для разработки. Типичное содержание такого файла:

-r requirements.in
pytest
ruff
mypy


То есть, включаем тесты и т.д., а также базовый requirements.in. Дальше компилируем и получаем два файла requirements.txt и requirements-dev.txt, с актуальными версиями, для разработчика и для продакшена:

pip-compile requirements.in -o requirements.txt
pip-compile requirements-dev.in -o requirements-dev.txt


🚀 При разработке, устанавливаем оба:

pip-sync requirements.txt requirements-dev.txt


Не рекомендую, кстати, смешивать prod и dev в один файл — тяжёлые и нестабильные билды получаются...

🤷‍♂️ Дальше разберем, pyproject.toml + lock (uv/Poetry/PDM) и почему стоит постепенно уходить от requirements.txt.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5726👍9🔥4🐳2💯2
requirements.txt - ВСЕ ‼️

В прошлом посте мы "навели порядок" в зависимостях с помощью pip-tools. Но что, если я скажу, что современный Python предлагает еще более элегантное и комплексное решение? Ибо классический requirements.txt уже теряет свою актуальность и нужно переходить/начинать учиться более новым инструментам.

👨‍💻 Поговорим о pyproject.toml и почему за ним будущее. Новичкам предлагаю переключиться на него уже сейчас.

👀 В чем была проблема?

Раньше для одного проекта (я говорю о чем-то крупном, не телеграм-бот) нам нужен был целый "зоопарк" файлов:

- requirements.txt — для зависимостей;
- requirements-dev.txt — для инструментов разработки;
-
setup.py — для сборки пакета;
- setup.cfg или tox.ini — для настройки линтеров и тестов (flake8, mypy);
-
MANIFEST.in — чтобы указать, какие еще файлы включить в пакет.

Слишком много всего 😜. Легко запутаться и сложно поддерживать.

👨‍💻 Таких проблем не будет, если перейти на "единый центр управления" — pyproject.toml

pyproject.tomlэто стандартизированный (PEP 518) файл, который призван стать единственным источником правды для вашего проекта. Внутри него можно описать практически всё:

- метаданные проекта: название, версия, автор, описание;
- зависимости: основные и для разработки (и любые другие группы!);
- настройки инструментов: конфигурация для ruff, pytest, mypy, black и других — всё в одном месте;
- информация о сборке: как собирать ваш проект в пакет для публикации
.

Больше никакого хаоса. Один файл для управления всем.

⚙️ Инструменты нового поколения: Poetry, PDM, uv

Сам по себе pyproject.toml — это просто формат. Чтобы с ним работать, нужны современные менеджеры зависимостей. Вот тройка лидеров:
- Poetry: самый популярный и элегантный. Идеально подходит как для приложений, так и для библиотек. У него очень дружелюбный интерфейс и он делает всё "под ключ": создает окружение, управляет зависимостями и собирает пакет.

- PDM: невероятно мощный и гибкий менеджер, строго следующий современным стандартам Python (PEP). Не заставляет вас использовать виртуальное окружение внутри папки проекта, что многим нравится.

- uv: это не совсем менеджер, а сверхбыстрый установщик и "резолвер" зависимостей от создателя ruff. Он уже интегрируется с PDM и Poetry и, возможно, скоро станет стандартом скорости в экосистеме.


🎯 Хочу отметить, что для маленького одноразового скрипта requirements.txt все еще может быть достаточно. Но если вы пишете проект, который будет жить, развиваться и работать в команде — начните его сразу с Poetry или PDM. Вы скажете себе спасибо в будущем!
Please open Telegram to view this post
VIEW IN TELEGRAM
52❤‍🔥14👍5🔥3🤬3👾1
👨‍💻 Когда вы/мы/я только открываем IDE и печатаем первые строки кода, ошибки неизбежны — и это нормально. Опасность начинается, когда ошибки перерастают в привычки и закрепляются.

🧠Хочу поделиться с Вами семеркой своих/чужих промахов, которые вынес для себя и не советую Вам их повторять. Получается, далее самые опасные ошибки начинающих программистов (ИМХО):

1️⃣ Код без версий. Файлы «main_final_final_really.py» выглядят забавно, пока не надо откатиться на рабочий вариант. Git спасает нервы и проекты.
2️⃣
«Запустилось - значит работает». Отсутствие юнит-тестов делает рефакторинг лотереей, а баги - постоянными спутниками.
3️⃣
Копипаст без понимания. Стек-Оверфлоу (а сейчас - нейросети) решает задачу моментально, но чужой фрагмент приносит чужие же баги и дыры в безопасности.
4️⃣
Преждевременная оптимизация. Тратить часы на микро-ускорение цикла, не измерив, где реально узкое место, - самый быстрый способ потерять мотивацию.
5️⃣
Игнор читаемости. Завтра «temp2» и «x1» забудете даже вы сами. Говорящие имена и чистые функции - не украшение, а страховка.
6️⃣
Страх вопросов. Сеньоры помнят свои первые commit-ы. Чем раньше спросите, тем меньше технического долга наживёте.
7️⃣
Отсутствие системного обучения. Туториалы вдохновляют, но только книги (частный случай) и доки (всегда!) формируют фундамент и учат думать шире конкретного фреймворка.


🤷‍♂️ Если узнаёте себя - класс. Значит, есть точка роста. 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
85🔥18🥰11👏4👍3❤‍🔥2💅2🐳1
📱 Алгоритмы и структуры данных - база для любого кодера

Не знаешь этого – пишешь медленный и кривой код. Вот необходимый минимум:

🔓 Структуры данных (где хранить):

- массивы (arrays): простая коллекция. Основа основ;
- хэш-таблицы (hash tables): 🚀 супербыстрый доступ по ключу для кэша и словарей;
- деревья (trees): для иерархии и быстрого поиска отсортированных данных;
- графы (graphs): моделируют любые связи, от соцсетей до карт дорог.


Алгоритмы (как обрабатывать):

- сортировки (sorting): приводят хаос в порядок, самые нужные – QuickSort и MergeSort;
- бинарный поиск (binary search):
⚡️ молниеносный поиск в отсортированном;
- обходы графов (BFS/DFS): находят кратчайший путь и исследуют все связи.


Зачем всё это? Это не просто «задачи для собесов». Да, на любом техническом интервью вас спросят про структуры данных. Но цель — не завалить вас, а проверить ваш фундамент. Понять, способны ли вы думать об эффективности (та самая O-нотация) и выбирать правильный инструмент для задачи.

⚙️ Но главное — это ваша (наша) ежедневная работа. Знание алгоритмов позволяет:

1) Писать быстрый код. Разница между O(n²) и O(log n) — это разница между приложением, которое «тормозит», и приложением, которое «летает».
2) Создавать масштабируемые решения. Ваш проект выдержит нагрузку в 10, 100 или 1000 раз больше, потому что вы заложили правильную архитектуру данных.
3) Быть инженером, а не просто кодером. Вы будете принимать осознанные решения, а не наугад подбирать то, что вроде бы работает. Это основа, которая отличает профессионала от новичка.
Please open Telegram to view this post
VIEW IN TELEGRAM
64❤‍🔥9🔥5🥰4🗿3💯1👀1
⚡️ Есть ли какая-то база по библиотекам, которую нужно знать Python-разработчику. Думаю, что нет. Все очень зависит от того, в каком направлении вы хотите работать. Но есть "моя собственная" база, которую хоче порекомендовать Вам для изучения.

Дам Вам 10 полезных инструментов. Они все на картинке, но если хотите знать что и зачем - далее инфа. Если только начинаете учиться - обратите внимание, уделите время :

- requests (http-запросы): для простой и понятной работы с API и сайтами;
- pandas (анализ данных): царь-библиотека для любых таблиц (CSV, Excel);
- pillow (изображения): режет, меняет и накладывает фильтры на картинки;
- fastapi (веб-api): молниеносное создание API с готовой документацией;
- pydantic (валидация): железобетонная проверка данных через тайп-хинты;
- loguru (логирование): красивые и полезные логи без сложной настройки;
- tqdm (прогресс-бары): добавляет шкалу загрузки в любой цикл одной строкой;
- pyautogui (автоматизация gui): управляет мышкой и клавиатурой вместо тебя;
- beautifulsoup4 (скрапинг): вытащит любые нужные данные с веб-страниц;
- schedule (планировщик): запуск функций по расписанию простым языком.


Использование этих библиотек не только ускоряет разработку. Оно делает ваш код чище, надежнее и более читаемым, так как вы опираетесь на проверенные и оптимизированные решения, созданные экспертами. Пользуйтесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥8😁5👍4❤‍🔥2💘1
Тут прям от себя. Учитывая, с чем я столкнулся в прошлом месяце, хочу поделиться опытом. Я еще не весь в работе, все еще не могу сидеть долго за ПК. Выгорание. У меня - на фоне стресса. А у вас - может быть по другой причине. Но это страшно и вот, что хочу сказать - его можно избежать или побороть, чтобы оно не растянулось на полгода-год...

👨‍💻 Работа программиста - это не просто код. Это дедлайны, хаотичные требования, бесконечная гонка за обновлением знаний, качели «сделай вчера» и «переморозь на ночь» - всё это постоянно жгёт мозг. Особенно больно - удалёнка: ты слышишь уведомления в 22:00, отвечаешь на письма в воскресенье, а потом уже работаешь как-то автоматически - граница между «рабочим» и «личным» стирается.

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

🕙 Реальные стратегии как не выгорать (проверенные на себе):

1. "Безжалостные границы".
После 19:00 телеграм и почту слушаю только при «пожаре». В выходные - офлайн. Сон наладился, тревожность стала ниже.

2. Трекинг «утомляет».
Фиксирую, где «горелка»: дедлайн, переключение задач, изменения требований или «техностресс». Записываю в дневник и постепенно устраняю корни. Это работает против эмоционального истощения и когнитивной перегрузки.

3. Перезарядка через творчество.
Оставляю 20 % времени на пет‑проекты: микросервис на Go, утилита CLI, попытки в функционалку (например, Elm, Haskell), а не в JIRA. Это дыхание - случается кайф, возвращается драйв.

4. Движуха вне экрана.
Бег, йога, прогулки в лесу или обрезание деревьев у родственников - сброс тревожности, рост креативности. Это не спорт, это декомпресс. Я лично купил себе на новый дом набор из гантелей и штанги - то, что я люблю. И сейчас это больше про тело, а про голову.

5. Прожить "upgrade: reboot".
Когда поймал и понял, что есть выгорание - попросил отпуск, полностью пропал, выключил соцсети и уведомления. Через 6 недель вернулся с головой, мозг начал работать, приходили идеи. Иногда нужно не «кейсы закатать», а дать себе reset.


Помните, что код должен служить не тюрьмой, а инструментом для жизни. А выгорание - это не признак слабости, это кризис системной несовместимости.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8533❤‍🔥10🤔21👍1🤬1🆒1
📱 GPT-модели в 2025: что и кому юзать?

2 года назад была только 1 модель, а теперь - вон сколько их. Теперь ChatGPT - не просто чат-бот, а универсальный цифровой ассистент для текста, аудио, картинки, кода и анализа данных. Какую выбрать модель, для каких целей?

🏆 Ведущие GPT-модели 2025 года:

1) GPT-4o: реал-тайм чат, текст+голос+картинка. Для всех, кто хочет гибкости: быстрая переписка, генерация идей, помощь с почтой, перевод.

2) GPT-4.5: креативные задачи, сложные тексты и сценарии, эмоциональный интеллект. Креаторы, сценаристы, исследователи - это для вас. Мне часто с темой для видео помогает.

3) o3: глубокая аналитика, стратегия, длинные цепочки рассуждений, сложные вычисления и код. Для бизнес-аналитиков, продвинутых задач.

4) o4-mini: быстрые ответы, STEM, программирование, визуальные задачи. Технари, разработчики, учёные, студенты - целевая.

5) o4-mini-high: программирование, сложная математика, технический разбор. Советую разработчикам, Data Science в частности.


👀 Я лично недавно возобновил подписку Plus и начал иногда использовать o3 в своих проектах. Он стал значительно умнее, нежели тот o3, который был на релизе (а на релизе он был хуже прошлого о1, значительно). Сейчас - довольно классный инструмент. Ну и как упоминал - GPT-4.5 использую, для идей. o4-mini, разве что, для форматирования кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
32🐳12👍7❤‍🔥3🤗2😁1🤬1