breakingbadIT

breakingbadIT

Пикабушник
Дата рождения: 12 июля
203 рейтинг 4 подписчика 1 подписка 37 постов 0 в горячем
14

10 принципов использования try-except в Python

Обработка исключений в Python через try-except — мощный инструмент, но неправильное его применение может привести к трудноотлавливаемым ошибкам и ухудшению читаемости кода. Разберём 10 принципов, которые помогут писать качественный и понятный код.

1. Лови только ожидаемые исключения
Не перехватывай все возможные ошибки сразу. Вместо этого указывай конкретные типы исключений, которые могут возникнуть. Например, если работаешь со словарём, то ожидаемая ошибка — KeyError.

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

3. Используй else, если код не должен выбрасывать исключения
Если в блоке try выполняется действие, которое не должно вызвать ошибку, его лучше вынести в else. Это улучшает читаемость и предотвращает случайное подавление исключений.

4. Используй finally для очистки ресурсов
Если открываешь файл или устанавливаешь соединение с базой данных, то обязательно закрывай их в блоке finally. Это гарантирует освобождение ресурсов даже в случае ошибки.

5. Минимизируй зону try
Чем больше кода находится в блоке try, тем сложнее определить, где именно произошла ошибка. Оставляй в try только потенциально проблемный код, а остальные операции выполняй отдельно.

6. Не используй except без указания типа ошибки
Перехватывать абсолютно все исключения — плохая практика. Это может скрыть ошибки, которые должны были привести к аварийному завершению программы. Всегда указывай конкретные типы исключений.

7. Будь осторожен с except: pass
Полностью игнорировать ошибки, используя pass, нельзя. Это может привести к незаметным сбоям, которые будет сложно отладить. Если ошибка ожидаемая, лучше логировать её или обработать корректно.

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

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

10. Логируй ошибки
При обработке исключений записывай информацию о них в лог. Это помогает в диагностике проблем и упрощает отладку. Можно использовать стандартный модуль logging.

Следуя этим принципам, код будет чище, понятнее и надёжнее. Делай код безопасным!

Чтобы не пропустить другие полезные разборы, заглядывай в мой Telegram-канал — там ещё больше интересных материалов по Python!

Показать полностью

Способ изучать программирование с интересом

Когда я начал изучать программирование, то просто осваивал основы: переменные, циклы, функции. Но в какой-то момент мне захотелось не просто учить, а применять знания на практике. Так появилась идея – попробовать написать пошаговую игру в телеге. Это мой первый проект, который позволил разобраться в бэкенде, ботах и работе с API.

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

Таких примеров масса. Кто-то автоматизирует домашние дела, кто-то создаёт сервисы для работы, а кто-то – просто игры для души. Если подходить к обучению с практическим интересом, оно становится увлекательным и даёт реальные результаты.

Я делюсь своим опытом становления айтишником в Telegram – если вам интересны такие вещи, заглядывайте!

9

Топ-5 ошибок новичков при написании Telegram-ботов

Создание ботов для Telegram — это не только про код, но и про понимание, как не загнать себя в угол. Я сам наступал на грабли, пока учился (и учусь) писать их на Python, и вот топ-5 ошибок, которые лучше обойти:

1. Игнорировать токены.
Оставишь их в коде — привет, угон бота. Используй .env и не парься.

2. Писать "на коленке".
Без плана бот превращается в кашу из функций. Сначала набросай логику — сэкономишь часы дебаггинга.

3. Забивать на логи.
Не настроишь logging — будешь искать баг вслепую. Минимум — пиши ошибки в файл.

4. Сложные команды.
Пользователи не любят читать инструкции. Делай проще: /start, /go, никаких /DoSomethingCrazy.

5. Пропускать тесты.
Запустил без проверки — получил спам от бота в три часа ночи. Тестируй локально, потом деплои.

Эти штуки я проверил на себе, пока ковырялся с aiogram. Кому интересно больше примеров и кода — заглядывайте в мой канал, там делюсь всяким без лишнего шума.
А вы какие грабли собирали с ботами?

2

Как успевать работать, обучаться кодингу и не забывать о себе?

Знаешь, когда ты одновременно работаешь и учишься чему-то новому, вроде айти, появляется масса проблем. Вроде бы все понятно: нужно работать, чтобы платить за жильё, учёба — чтобы двигаться вперёд. Но при этом не хочется забывать о себе.
Честно говоря, ты сталкиваешься с этим постоянно, пока пытаешься балансировать все эти задачи.

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

Я, например, для себя вывел одну простую вещь — не загоняться. Когда у тебя всего
24 часа в сутки, важно уметь расставлять приоритеты. Если день выдался особенно
тяжёлым, не стыдно взять вечер для отдыха, а не пытаться все форсировать. Да, это значит, что сегодня не успеешь сделать всё, что запланировал. Но это не конец света.

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

А ещё я научился говорить «нет» там, где это необходимо. Бывает, что нужно
отказаться от лишних мероприятий или излишней помощи на работе, чтобы не
выгореть. Когда ты занимаешься и тем, и другим, то важно понять, когда перегружаешь себя и когда просто нужен отдых. Это тоже часть успеха.

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

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

Как успевать работать, обучаться кодингу и не забывать о себе? Тайм-менеджмент, Обучение

В конечном итоге, самое важное — это понять, что ты не один в этом. Практически каждый, кто учится или развивает новую профессию, сталкивается с этим. Если научишься относиться к этому проще и не ставить себя в жёсткие рамки, гораздо легче будет двигаться дальше, не теряя себя ;)

Показать полностью 1

Как можно найти работу программистом, даже в самом начале пути?

Многие новички в программировании боятся не найти первую работу. Я и сам один из них. Но одна мысль изменила всё: возможности вокруг нас — нужно только взглянуть на них под другим углом.

Я новичок в айти и работаю барменом в отеле. Несколько месяцев назад начал изучать Python и заинтересовался разработкой Telegram-ботов. Как и у многих новичков, у меня был страх: «А что, если мои навыки никому не будут нужны?»

Но тут я понял, что работа, которую я уже выполняю каждый день, может стать первым шагом в программировании. В отеле часто возникают ситуации, когда гости хотят узнать об услугах, сделать заказ в ресторан или просто задать вопрос. Обычно для этого они звонят на ресепшен или подходят ко мне за барной стойкой. И я подумал: «А что, если создать бота, который сможет облегчить эту работу?»

Идея и реализация

Решено. Я начал разрабатывать Telegram-бота для отеля. Основные функции:

Меню услуг отеля.

Меню ресторана с возможностью добавления в корзину.

Оповещение администратора о новых заказах.

Процесс идёт не так быстро, как хотелось бы. Например, я ещё не подключил базу данных, а храню корзину в сессии. Тем не менее, я продолжаю разбираться с каждым этапом разработки и постепенно двигаюсь вперёд.

Чему я учусь

Решать реальные задачи. Это не учебные примеры из учебников, а работающий продукт, который может облегчить работу моих коллег.

Применять навыки на практике. Оказалось, что теория и практика — это два разных мира, и только решая реальные задачи, начинаешь по-настоящему понимать код.

Инициатива — ключ к успеху. Никто не просил меня делать этого бота. Я сам нашёл проблему и предложил решение.

Выводы

Если вы, как и я, новичок в программировании и боитесь не найти первую работу, оглянитесь вокруг. Возможно, она уже ждёт вас в том месте, где вы находитесь каждый день. Не обязательно искать официальную вакансию — достаточно взглянуть на свою текущую деятельность с другой стороны.

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

Так я нашёл свою первую работу в программировании, даже не меняя профессию. О том, как идут дела рассказываю у себя в блоге новичка, милости прошу

Показать полностью

Как я облажался с .gitignore

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

(P.S .gitignore находится в папке .venv, созданной виртуальным окружением в VS Code.)

Довольный запушил все на гитхаб и с ужасом увидел .env с нежелательным для посторонних глаз содержанием.

Суть:
.gitignore в папке .venv относится к самой папке. Для другие файлов, папок нужно создавать .gitignore в корневой папке.

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

11

Советы по изучению Python

1. Почему Python?
Python — простой в освоении язык с читаемым синтаксисом, поэтому идеально подходит для новичков. Он востребован в веб-разработке, Data Science, автоматизации и создании ботов. Начав с Python, легко переходить на другие языки.

2. Постановка целей
Перед началом важно определить направление:

Веб-разработка (Flask, FastAPI).

Разработка ботов (Aiogram, Telethon).

Анализ данных (Pandas, NumPy).

Автоматизация задач (Selenium, BeautifulSoup).

Чёткая цель помогает выбрать правильный стек технологий и не распыляться.

3. Методики обучения

Официальная документация — учит понимать исходный код.

Онлайн-курсы (Coursera, Udemy) — структурированное обучение.

YouTube-каналы с практическими примерами.

Книги — для глубинного понимания тем (например, «Изучаем Python» Эрика Мэтиза).

Проекты — закрепляют теорию на практике. Начать можно с простых скриптов и ботов.

4. Практика важнее теории
Самое важное — регулярно писать код. Примеры проектов:

Телеграм-боты на Aiogram (меню, уведомления, работа с БД).

Парсеры сайтов с использованием BeautifulSoup.

API с FastAPI или Flask.

5. Изучение библиотек
Новичкам стоит начать с базовых модулей:

os и sys — работа с системой.

requests — работа с HTTP-запросами.

datetime — работа с датами и временем.

json — работа с данными в формате JSON.

logging — отладка и логирование.

6. Ошибки и отладка
Не бойтесь ошибок — они учат. Используйте:

print() для проверки значений.

pdb — встроенный отладчик.

Линтеры (например, Pylint) для проверки стиля кода.

7. Сообщество и ресурсы

Stack Overflow — решение проблем и вопросов по коду.

GitHub — разбор чужих проектов и выкладка своих.

Чаты в Telegram и Discord — общение с такими же новичками и получение советов.

8. Мотивация и дисциплина

Разделяйте большие задачи на маленькие.

Ведите дневник прогресса.

Общайтесь с единомышленниками, чтобы оставаться в тонусе.

9. Личный опыт и вдохновение
Если хотите увидеть, каково это — начинать путь в IT с нуля, подписывайтесь на мой Telegram-канал. Я делюсь реальными успехами, ошибками и лайфхаками по изучению Python и разработке ботов.

Показать полностью

Как выбрать первый язык программирования в 2025 и не пожалеть через год

Вы хотите войти в IT, но выбор первого языка программирования сбивает с толку? Python, JavaScript, Rust, Go, C# — что учить, чтобы не остаться за бортом через год? Давайте разберёмся, какие языки востребованы в 2025 году и как сделать правильный выбор.

Где сейчас IT и что будет в 2025?

1. Python остаётся, но Rust наступает на пятки

Python по-прежнему главный язык для AI, машинного обучения и аналитики данных. Но для высоконагруженных задач его дополняют Rust — он быстрее и безопаснее. Связка Python + Rust уже становится стандартом.

2. WebAssembly меняет веб

JavaScript никуда не денется, но в игру вступают компилируемые в WebAssembly языки: Rust, Go, Zig. Они позволяют запускать мощные приложения прямо в браузере.

3. Кроссплатформенная мобильная разработка на подъёме

Flutter (Dart) и Kotlin Multiplatform вытесняют старые решения. Знать один из этих языков = иметь больше возможностей в мобильной разработке.

4. Системное программирование и безопасность – приоритет

После череды утечек данных компании делают ставку на Rust и Zig. Эти языки не допускают критических ошибок, типичных для C/C++.

Как выбрать язык программирования?

Python – лучший старт для новичков. Прост в освоении, популярен в разработке AI, веба и автоматизации. Минус – медленный, не подходит для сложных высоконагруженных систем.

JavaScript – если хотите быстро войти в веб-разработку. Позволяет создавать фронтенд и бэкенд (с Node.js). Минус – хаос в экосистеме и много устаревшего кода.

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

Kotlin – для Android-разработки и кроссплатформенных приложений. Совместим с Java, удобен и современен. Минус – узкая специализация.

Go – если планируете работать с серверной частью и облачными сервисами. Прост, эффективен, хорош для DevOps. Минус – ограниченная сфера применения.

Как не разочароваться в выборе?

1. Смотрите на сферу, а не на язык

Хотите работать с AI? Python + основы C++ или Rust.

Интересует веб? JavaScript/TypeScript + React/Vue.

Мечтаете о разработке игр? C# (Unity) или C++ (Unreal Engine).

Любите копаться в системах? Rust или Go.

2. Учите «комбо», а не один язык

Специалисты, владеющие несколькими инструментами, ценятся выше. Например:

Python + Rust → AI и высоконагруженные сервисы.

JavaScript + Go → Fullstack-разработка.

3. Осваивайте смежные навыки

Docker – контейнеризация приложений.

SQL и NoSQL – базы данных нужны везде.

Git + GitHub/GitLab – контроль версий обязателен.

Что будет актуально в 2026?

AI-ассистенты для кодинга – знание синтаксиса теряет ценность, важно уметь формулировать задачи.

Low-code платформы – для базовых задач они заменят программистов, но разработчики сложных систем станут ещё нужнее.

Квантовые вычисления – возможно, пора обратить внимание на Q#.

Главная ошибка новичков

Учить язык «в теории», но не писать код. Начните с простых проектов:

Веб-приложение (учёт личных финансов, например).

Телеграм-бот с AI-фичами.

Мини-игру.

Итог

Выбирайте язык под свою цель, но не забывайте про фундамент: алгоритмы, ООП, сети. Первый язык – это лишь старт, IT-мир меняется постоянно, и в этом его главное преимущество. Я для себя выбрал змея и транслирую свою путь в своем канале - присоединяйся! А тебе, читатель, успехов!

Показать полностью
Отличная работа, все прочитано!