Начинается время лабораторных, тестов и других видов работ💻
С радостью готов помочь🔥
С радостью готов помочь🔥
🔥3💯2❤1
Библиотека mimesis
Когда нужно протестировать алгоритмы, важна не только логика, но и данные, на которых они проверяются.
Создавать тестовые данные вручную долго и скучно. Для этого существует библиотека mimesis — она умеет генерировать случайные данные: адреса, имена, компании, телефоны и многое другое.
Установить библиотеку можно так:
pip install mimesis
Один из ответов генерации будет следующим:
Важно: начиная с версии 5.0 локали в mimesis указываются строками ("en", "ru", и др.), а не через mimesis.locales.EN.
#полезные_ресуры
Когда нужно протестировать алгоритмы, важна не только логика, но и данные, на которых они проверяются.
Создавать тестовые данные вручную долго и скучно. Для этого существует библиотека mimesis — она умеет генерировать случайные данные: адреса, имена, компании, телефоны и многое другое.
Установить библиотеку можно так:
pip install mimesis
Один из ответов генерации будет следующим:
Адрес: Аллея Ротерта 595
Город: Ясный
Координаты: {'longitude': -177.475379, 'latitude': -67.132385}
Улица: Бабаевская
Важно: начиная с версии 5.0 локали в mimesis указываются строками ("en", "ru", и др.), а не через mimesis.locales.EN.
#полезные_ресуры
💯2👨💻2🤝2
Что такое процесс и поток?
⚡️ В Python есть одна особенность — GIL (Global Interpreter Lock). Он не даёт исполнять байткод сразу нескольким потокам одновременно.
❕Поэтому:
Что будет на выходе:
#вопросы_на_собесах
📌 Процесс — это как отдельная программа со своей памятью и ресурсами. У каждого процесса — собственная "песочница", где он работает независимо от других.
📌 Поток (thread) — это "мини-задача" внутри процесса. Потоки делят общую память и ресурсы, поэтому между ними проще обмениваться данными, но при этом один сбойный поток может уронить весь процесс.
⚡️ В Python есть одна особенность — GIL (Global Interpreter Lock). Он не даёт исполнять байткод сразу нескольким потокам одновременно.
❕Поэтому:
Для вычислений (например, математика, ML) используют multiprocessing — он запускает отдельные процессы, минуя GIL.
Для I/O-задач (сетевые запросы, чтение файлов) отлично подходит threading, так как потоки всё равно часто "ждут" ответа.
Что будет на выходе:
1. Потоки (threading) будут работать почти так же, как один поток — из-за GIL.
2. Процессы (multiprocessing) реально выполнятся параллельно и будут быстрее на вычислительных задачах.
#вопросы_на_собесах
🔥2👨💻2
Декоратор (Decorator)
📌 Функция, которая принимает другую функцию и расширяет её функциональность без изменения кода самой функции.
⚡️ Для применения декоратора в Python используется запись @имя_декоратора над функцией. Активно используется в веб-фреймворках (например, проверка прав доступа, логирование, кеширование).
Несколько фактов о декораторах: 💬
Что будет на выходе:
#словарь_программиста
📌 Функция, которая принимает другую функцию и расширяет её функциональность без изменения кода самой функции.
⚡️ Для применения декоратора в Python используется запись @имя_декоратора над функцией. Активно используется в веб-фреймворках (например, проверка прав доступа, логирование, кеширование).
Несколько фактов о декораторах: 💬
1. Декораторы в Python — это частный случай паттерна проектирования «Декоратор» из GoF.
2. Они поддерживают цепочку декораторов: можно навесить несколько обёрток друг на друга (@ cache, @ auth, @ log).
3. В Django и Flask многие механизмы реализованы через декораторы (например, @ login_required, @ app.route).
4. С помощью functools.wraps можно сохранять имя и docstring оригинальной функции, чтобы обёртка не «ломала» метаданные.
Что будет на выходе:
🔹 @ timing_decorator оборачивает функцию calculate и выводит время её выполнения.
🔹 Такой же приём используют для логирования, авторизации, кэширования и других «обвязок».
#словарь_программиста
🔥2👨💻2🤝1
Маленькое обновление на канал:
❕Прямое добавление к нашим хэштегам, по которым вы можете найти информацию:
Я немного расширю область канала и знаний, которые я с радостью вам передаю
Python это хорошо, но с данного момента я буду также информировать вас и знакомить с различными актуальными новостями из мира IT, технологиями и много чем еще
❕Прямое добавление к нашим хэштегам, по которым вы можете найти информацию:
- Вопросы с собеседований и ответы на них на позиции Python developer, Backend developer и др.
#вопросы_на_собесах
- Терминология, которой пользуются программисты
#словарь_программиста
- База Python, его детали и различные структуры
#полезные_ресуры
- Мои петпроекты и рабочие моменты
#рабочие_моменты
- Новости из нашей сферы о ЯП, базах данных, инструментах и др.
#IT_новости
- Советы по работе с Visual Studio code и различными технологиям
#рекомендации_tech
⚡2❤2
📢 Недавно вышел Python 3.14.0 rc3 — последняя ступень перед финальным релизом. Это значит, скоро появится стабильная версия с новыми фичами и улучшениями
❕Что интересного: по опросам, 83 % разработчиков всё ещё работают на устаревших версиях Python(наиболее популярная версия 3.11.9)
🔍 Обновление версии — это не просто «мода», это возможность:
⚡️Ключевые новшества версии Python 3.14
#IT_новости
❕Что интересного: по опросам, 83 % разработчиков всё ещё работают на устаревших версиях Python(наиболее популярная версия 3.11.9)
🔍 Обновление версии — это не просто «мода», это возможность:
1. Ускорить код без внесения изменений,
2. Пользоваться новыми синтаксическими фишками,
3. Повысить совместимость с современными библиотеками
⚡️Ключевые новшества версии Python 3.14
1. Free-threaded Python — официальная поддержка (PEP 779 / PEP 703)
2. Отложенная оценка аннотаций (Deferred evaluation of annotations, PEP 649 / PEP 749)
3. Template string literals (t-strings, PEP 750)
4. Множественные интерпретаторы в стандартной библиотеке (PEP 734)
5. Улучшенные сообщения об ошибках и подсказки
6. Подсветка синтаксиса и автодополнение в REPL
7. Новый модуль с поддержкой Zstandard (compression.zstd, PEP 784)
8. Новый тип интерпретатора и оптимизация “tail-call” внутри интерпретатора
9. Экспериментальный JIT (Just-In-Time компилятор) и улучшения производительности
10. Более строгие правила finally / ограничение return/break/continue внутри finally
11. Отказ от PGP-подписей (PEP 761) и переход к Sigstore
#IT_новости
❤2🔥2
Visual Studio Code (VS Code)
Если вы только начинаете работать с кодом или уже в профессии, первым инструментом, который стоит освоить, будет Visual Studio Code. Это кроссплатформенный редактор от Microsoft, который сегодня считается одним из самых популярных рабочих пространств для разработчиков
⚡️ Чем VS Code выделяется среди других IDE (PyCharm, Xcode, Atom и др.):
📌 На практике это значит, что с помощью пары кликов и пары расширений можно настроить рабочее место именно под себя — будь то Python-бэкенд, фронтенд, DevOps или анализ данных
✍️ В будущих постах я поделюсь с вами различными расширениями, модулями и настройками для VS Code, которые значительно облегчают жизнь программисту и ускоряют работу
#рекомендации_tech
Если вы только начинаете работать с кодом или уже в профессии, первым инструментом, который стоит освоить, будет Visual Studio Code. Это кроссплатформенный редактор от Microsoft, который сегодня считается одним из самых популярных рабочих пространств для разработчиков
⚡️ Чем VS Code выделяется среди других IDE (PyCharm, Xcode, Atom и др.):
Лёгкость и скорость — запускается быстрее, чем тяжёлые IDE (например, PyCharm).
Гибкость — можно превратить редактор в полноценную среду разработки под любую задачу.
Расширения (Extensions) — здесь кроется настоящая сила VS Code: тысячи бесплатных модулей для Python, Docker, Git, SQL, фронтенда и других технологий.
Кроссплатформенность — одинаково работает на Windows, macOS и Linux.
Поддержка разных языков и фреймворков из коробки: Python, JavaScript, TypeScript, Go, Rust и др.
Интеграция с системами контроля версий (Git, GitHub, GitLab) и CI/CD инструментами.
📌 На практике это значит, что с помощью пары кликов и пары расширений можно настроить рабочее место именно под себя — будь то Python-бэкенд, фронтенд, DevOps или анализ данных
✍️ В будущих постах я поделюсь с вами различными расширениями, модулями и настройками для VS Code, которые значительно облегчают жизнь программисту и ускоряют работу
#рекомендации_tech
🔥3⚡2
Хэширование (Hashing)
📌 Метод преобразования данных (строки, файла, пароля) в уникальную строку фиксированной длины.
⚡️Хэш-функции незаменимы в:
❕Важно: хэширование — это однонаправленный процесс. По хэшу невозможно восстановить исходные данные (в отличие от шифрования).
На практике пароли никогда не хранятся «как есть», а только в виде хэшей (часто с солью — случайной добавкой к строке для защиты от перебора).
#словарь_программиста
📌 Метод преобразования данных (строки, файла, пароля) в уникальную строку фиксированной длины.
⚡️Хэш-функции незаменимы в:
Хранении и проверке паролей (сравнивается только хэш, а не сам пароль);
Кешировании (хэш быстро проверяет, изменился ли объект);
Индексах баз данных (ускоряют поиск).
❕Важно: хэширование — это однонаправленный процесс. По хэшу невозможно восстановить исходные данные (в отличие от шифрования).
На практике пароли никогда не хранятся «как есть», а только в виде хэшей (часто с солью — случайной добавкой к строке для защиты от перебора).
#словарь_программиста
👨💻3
Теория мёртвого интернета
Недавно в LinkedIn произошёл кейс. Один парень вставил в своё описание на профиле необычную просьбу — он попросил, чтобы любой ИИ-рекрутер, который читает его биографию, обязательно отправил ему рецепт пирога вместе с оффером.
❕В итоге практически все сообщения, которые он получил от «рекрутеров», действительно содержали рецепт пирога
Сама система отбора кандидатов уже настолько автоматизирована, что ии-агент читает профиль, видит инструкцию и делает именно то, что в ней прописано
⚡️С учетом того, что в последнее время все начинают создавать собственные резюме также с помощью искусственного интеллекта, это наглядный пример того, как один ИИ взаимодействует с другим ИИ, при этом люди оказываются «последней станцией» в процессе отбора.
🔍Из ключевых моментов:
P.s. LinkedIn - крупнейшая в мире социальная сеть для проф. общения, деловых контактов и поиска работы. В ней пользователи создают свои цифровые резюме, находят вакансии, строят профессиональные связи и продвигают личный бренд или бизнес
#IT_новости
Недавно в LinkedIn произошёл кейс. Один парень вставил в своё описание на профиле необычную просьбу — он попросил, чтобы любой ИИ-рекрутер, который читает его биографию, обязательно отправил ему рецепт пирога вместе с оффером.
❕В итоге практически все сообщения, которые он получил от «рекрутеров», действительно содержали рецепт пирога
Сама система отбора кандидатов уже настолько автоматизирована, что ии-агент читает профиль, видит инструкцию и делает именно то, что в ней прописано
⚡️С учетом того, что в последнее время все начинают создавать собственные резюме также с помощью искусственного интеллекта, это наглядный пример того, как один ИИ взаимодействует с другим ИИ, при этом люди оказываются «последней станцией» в процессе отбора.
🔍Из ключевых моментов:
Полностью доверять ИИ в рекрутинге — опасно; он может “схватить” любой ключевой флаг в тексте и действовать буквально(как мы и видим из ситуации)
Сам факт, что такие эксперименты проходят, говорит о том, что контент в интернете становится всё чаще продуктом взаимодействий ИИ, а не исключительно людей — близкая отсылка к «Теории мёртвого интернета».
P.s. LinkedIn - крупнейшая в мире социальная сеть для проф. общения, деловых контактов и поиска работы. В ней пользователи создают свои цифровые резюме, находят вакансии, строят профессиональные связи и продвигают личный бренд или бизнес
#IT_новости
⚡3🔥3
Форматирование в f-строках Python
📌 f-строки (f-strings) появились в Python 3.6 и считаются наиболее удобным и читаемым способом форматирования
Преимущества над другими методами:
⚡️ f-строки — это гибко, читаемо и современно. Если вы до сих пор используете % или .format(), попробуйте перейти на f-строки: код станет короче и понятнее
#полезные_ресуры
📌 f-строки (f-strings) появились в Python 3.6 и считаются наиболее удобным и читаемым способом форматирования
Преимущества над другими методами:
Лаконичность и наглядность:
(f"Hello {name}") против( "%s" % name) или ("{}".format(name));
Поддержка выражений внутри фигурных скобок (можно вызывать функции, методы, выполнять арифметику прямо в строке);
Универсальность: поддержка всех форматтеров, которые раньше работали через format.
⚡️ f-строки — это гибко, читаемо и современно. Если вы до сих пор используете % или .format(), попробуйте перейти на f-строки: код станет короче и понятнее
#полезные_ресуры
❤2⚡2
Кэширование (Caching)
📌 Кэширование — это механизм временного хранения часто используемых данных, чтобы ускорить доступ к ним
⚡️Вместо того чтобы каждый раз обращаться к базе данных или выполнять тяжёлый расчёт, программа берёт уже сохранённый результат из памяти (RAM, диск, Redis и др.).
❕Зачем это нужно:
📦 Где используется:
📊 Популярные инструменты:
Redis, Memcached, functools.lru_cache в Python
#словарь_программиста
📌 Кэширование — это механизм временного хранения часто используемых данных, чтобы ускорить доступ к ним
⚡️Вместо того чтобы каждый раз обращаться к базе данных или выполнять тяжёлый расчёт, программа берёт уже сохранённый результат из памяти (RAM, диск, Redis и др.).
❕Зачем это нужно:
Уменьшает время отклика системы
Снижает нагрузку на сервер и базу данных
Экономит вычислительные ресурсы
📦 Где используется:
Веб-приложения (Django, FastAPI) — кэш страниц или запросов
API — повторное использование ответов
Машинное обучение — хранение подготовленных датасетов
СУБД — кэширование запросов
📊 Популярные инструменты:
Redis, Memcached, functools.lru_cache в Python
#словарь_программиста
👨💻3
Как и говорил, расширяем область канала и познаем не только Python
Также недалеко уходим и от темы кэширования
❓ Как управлять кешированием в HTTP?
Кеширование в HTTP контролируется с помощью заголовков, которые определяют, как долго и при каких условиях браузер или прокси может повторно использовать данные
🔹 Основные заголовки:
💡 Пример в жизни:
Когда вы заходите на сайт, браузер не загружает заново весь контент — картинки, стили, JS. Он проверяет, изменился ли файл. Если нет, берёт из локального кэша
📎 Факт:
Фреймворки (FastAPI, Django, Flask) могут автоматически выставлять HTTP-заголовки для кэширования ответов API
#вопросы_на_собесах
Также недалеко уходим и от темы кэширования
❓ Как управлять кешированием в HTTP?
🔹 Основные заголовки:
Cache-Control — задаёт правила кеширования:
max-age, public, private, no-store, no-cache.
Last-Modified + If-Modified-Since — позволяют клиенту узнавать, когда ресурс обновлялся, и запрашивать его только при изменении.
ETag + If-None-Match — сервер генерирует уникальный хеш версии ресурса. Если он не изменился, сервер возвращает код 304 Not Modified.
💡 Пример в жизни:
Когда вы заходите на сайт, браузер не загружает заново весь контент — картинки, стили, JS. Он проверяет, изменился ли файл. Если нет, берёт из локального кэша
📎 Факт:
Фреймворки (FastAPI, Django, Flask) могут автоматически выставлять HTTP-заголовки для кэширования ответов API
#вопросы_на_собесах
⚡3
⚡️Форматирование кода — Black
Black — это один из самых популярных и строгих форматтеров Python-кода. Его принцип прост: «Код должен выглядеть одинаково, независимо от автора»
🔹 Что делает форматер:
Форматтер автоматически приводит код к единому стилю — добавляет/убирает пробелы, выравнивает отступы, расставляет кавычки и переносы строк.
Это помогает, когда проект ведёт несколько человек, и все пишут по одному стандарту (PEP8)
🧩 Black и его конкуренты:
🧠 Почему Black лучше:
⚙️ Подключить можно двумя способами:
1. Установить пакет: pip install black
2. Установить в Visual Studio code расширение Black
Затем добавить в settings.json:
#рекомендации_tech
Black — это один из самых популярных и строгих форматтеров Python-кода. Его принцип прост: «Код должен выглядеть одинаково, независимо от автора»
🔹 Что делает форматер:
Форматтер автоматически приводит код к единому стилю — добавляет/убирает пробелы, выравнивает отступы, расставляет кавычки и переносы строк.
Это помогает, когда проект ведёт несколько человек, и все пишут по одному стандарту (PEP8)
🧩 Black и его конкуренты:
autopep8 — базовый форматтер, который просто приводит код к PEP8, но не всегда последовательно
YAPF (Yet Another Python Formatter) — даёт больше гибкости и стилей, но именно из-за этого код может выглядеть по-разному в разных проектах
Ruff — также умеет форматировать, но его сила всё же в линтинге
🧠 Почему Black лучше:
Жёстко стандартизирован — никаких споров в команде
Минимум настроек — разработчики просто доверяют ему
Оптимизирован под большие кодовые базы
Идеально работает в связке с Ruff и Pylance, создавая целостную экосистему для чистого и безопасного кода
Также - легко интегрируется с VS Code и имеет большую скорость работы
⚙️ Подключить можно двумя способами:
1. Установить пакет: pip install black
2. Установить в Visual Studio code расширение Black
Затем добавить в settings.json:
{
"python.formatting.provider": "black",
"editor.formatOnSave": true
}#рекомендации_tech
❤2🔥2