Как решить проблему конфликта зависимостей?
Конфликт зависимостей может возникнуть, когда два разных пакета требуют разные версии одной и той же зависимости.
Эту проблему можно решить с помощью менеджера пакетов pipenv, который автоматически устанавливает версии таким образом, чтобы они не конфликтовали друг с другом.
Вместо requirements.txt pipenv предоставляет файл pipenv с версиями пакетов.
При этом один из недостатков pipenv состоит в том, что создание файла pipenv занимает очень много времени.
Для проверки наличия конфликта зависимостей у пакета можно использовать команду pip check.
#вопросы_с_собеседований
Конфликт зависимостей может возникнуть, когда два разных пакета требуют разные версии одной и той же зависимости.
Эту проблему можно решить с помощью менеджера пакетов pipenv, который автоматически устанавливает версии таким образом, чтобы они не конфликтовали друг с другом.
Вместо requirements.txt pipenv предоставляет файл pipenv с версиями пакетов.
При этом один из недостатков pipenv состоит в том, что создание файла pipenv занимает очень много времени.
Для проверки наличия конфликта зависимостей у пакета можно использовать команду pip check.
#вопросы_с_собеседований
👍9🤯2❤1
manim
Manim — это библиотека, которая используется для создания анимированных визуализаций и математических демонстраций.
Manim позволяет программистам и математикам создавать наглядные анимации для визуализации различных процессов, объяснения алгоритмов, демонстрации физических явлений и других задач.
Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
#код
Manim — это библиотека, которая используется для создания анимированных визуализаций и математических демонстраций.
Manim позволяет программистам и математикам создавать наглядные анимации для визуализации различных процессов, объяснения алгоритмов, демонстрации физических явлений и других задач.
Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
#код
👍32🤔3❤1🔥1
Тестовые серверы Telegram: инструкция по эксплуатации
Эта статья — сборник разбросанной документации и результатов экспериментов. О технических особенностях тестового окружения для разработки, примеры ботов и юзерботов. В качестве бонуса — история «о жизни в тестовом контуре».
Читать статью
Эта статья — сборник разбросанной документации и результатов экспериментов. О технических особенностях тестового окружения для разработки, примеры ботов и юзерботов. В качестве бонуса — история «о жизни в тестовом контуре».
Читать статью
❤4
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека devops’a
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook
🔸Instagram
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека devops’a
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
👍5
Библиотека ftfy
Библиотека ftfy поможет вам исправить моджибаке, что очень полезно в случаях использования NLP. Помимо этого, ftfy исправит неправильные кодировки, неправильные окончания строк и неправильные кавычки. Согласно документации, ftfy может понимать текст, который был декодирован в любой из следующих кодировок: Latin-1, Windows-1252, Windows-1251, Windows-1250, ISO-8859–2, MacRoman, cp437.
#код
Библиотека ftfy поможет вам исправить моджибаке, что очень полезно в случаях использования NLP. Помимо этого, ftfy исправит неправильные кодировки, неправильные окончания строк и неправильные кавычки. Согласно документации, ftfy может понимать текст, который был декодирован в любой из следующих кодировок: Latin-1, Windows-1252, Windows-1251, Windows-1250, ISO-8859–2, MacRoman, cp437.
#код
👍9❤2
Очередной #дайджест по Data Science:
✍️ 10 забавных сервисов в области ИИ
Нейросети, генерирующие эмодзи, анимации 3D моделей и многое другое.
✍️ Многоклассовая и многозадачная классификация
Многоклассовая и многозадачная классификация обладают огромным потенциалом для решения разнообразных задач. Для того чтобы правильно понять их значимость, надо разобраться, в чем заключается необходимость в этих двух подходах.
✍️ Моделирование нелинейных функций и ограничений в задачах линейного программирования
Используя достаточно ограниченный спектр математических преобразований (введение и замена переменных, добавление вспомогательных ограничений), автор разбирает процедуры линеаризации некоторых нелинейных задач.
✍️ Дообучение ruGPT-3.5 13B с LoRA
Подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML.
✍️ 10 забавных сервисов в области ИИ
Нейросети, генерирующие эмодзи, анимации 3D моделей и многое другое.
✍️ Многоклассовая и многозадачная классификация
Многоклассовая и многозадачная классификация обладают огромным потенциалом для решения разнообразных задач. Для того чтобы правильно понять их значимость, надо разобраться, в чем заключается необходимость в этих двух подходах.
✍️ Моделирование нелинейных функций и ограничений в задачах линейного программирования
Используя достаточно ограниченный спектр математических преобразований (введение и замена переменных, добавление вспомогательных ограничений), автор разбирает процедуры линеаризации некоторых нелинейных задач.
✍️ Дообучение ruGPT-3.5 13B с LoRA
Подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML.
👏3❤1
🔥 Старт курса по ML для начинающих уже сегодня – https://proglib.io/w/32e35884
Вы сразу получаете доступ ко всем материалам курса!
Присоединяйтесь сейчас, чтобы идти по программе одновременно с другими студентами.
🔺Сегодня последний день, когда действует промокод на скидку 20% – PROG20ML
В конце обучения вас ждет финальное тестирование и сертификат об окончании курса.
Доступ к обучению бессрочный, также вы навсегда останетесь в чате с другими студентами и преподавателем 🙌
Подробности здесь – https://proglib.io/w/32e35884
Вы сразу получаете доступ ко всем материалам курса!
Присоединяйтесь сейчас, чтобы идти по программе одновременно с другими студентами.
🔺Сегодня последний день, когда действует промокод на скидку 20% – PROG20ML
В конце обучения вас ждет финальное тестирование и сертификат об окончании курса.
Доступ к обучению бессрочный, также вы навсегда останетесь в чате с другими студентами и преподавателем 🙌
Подробности здесь – https://proglib.io/w/32e35884
👍4
Как часто вы обращаетесь к документации?
#интерактив
#интерактив
👍5
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3
Boltons.iterutils
Boltons — это набор из более чем 230 утилит на чистом Python, распространяемых по лицензии BSD, которые дополняют стандартную библиотеку. А iterutils — модуль, который предоставляет множество полезных функций для работы с итераторами.
В примере мы используем следующие функции:
— chunked: разделяет список на чанки заданного размера.
— windowed: возвращает скользящее окно заданного размера из списка.
— pairwise: возвращает пары соседних элементов из списка.
— split: разделяет список на две части по заданному условию.
— split_at: разделяет список на две части по заданному индексу.
#код
Boltons — это набор из более чем 230 утилит на чистом Python, распространяемых по лицензии BSD, которые дополняют стандартную библиотеку. А iterutils — модуль, который предоставляет множество полезных функций для работы с итераторами.
В примере мы используем следующие функции:
— chunked: разделяет список на чанки заданного размера.
— windowed: возвращает скользящее окно заданного размера из списка.
— pairwise: возвращает пары соседних элементов из списка.
— split: разделяет список на две части по заданному условию.
— split_at: разделяет список на две части по заданному индексу.
#код
👍16😁2
Можно ли создать словарь с упорядоченным набором ключей в Python ниже 3.7?
Начиная с версии Python 3.7, порядок вставки ключей сохраняется, и вы можете создать словарь с упорядоченным набором ключей.
Чтобы создать такой словарь на версиях ниже чем 3.7, вы можете использовать collections.OrderedDict.
collections.OrderedDict сохраняет порядок добавления элементов, а также предоставляет два дополнительных метода:
— .popitem() удаляет элемент с начала или конца OrderedDict;
— .move_to_end() перемещает элемент в начало или конец OrderedDict.
#вопросы_с_собеседований
Начиная с версии Python 3.7, порядок вставки ключей сохраняется, и вы можете создать словарь с упорядоченным набором ключей.
Чтобы создать такой словарь на версиях ниже чем 3.7, вы можете использовать collections.OrderedDict.
collections.OrderedDict сохраняет порядок добавления элементов, а также предоставляет два дополнительных метода:
— .popitem() удаляет элемент с начала или конца OrderedDict;
— .move_to_end() перемещает элемент в начало или конец OrderedDict.
#вопросы_с_собеседований
🤔4❤1👍1
🐍 Где изучать Python в 2023 году: 75 ресурсов для начинающих
Мы отобрали лучшие бесплатные курсы на русском языке, онлайн-тренажеры и телеграм-каналы, которые помогут новичку реализовать свой потенциал в Python-разработке.
Читать статью
Мы отобрали лучшие бесплатные курсы на русском языке, онлайн-тренажеры и телеграм-каналы, которые помогут новичку реализовать свой потенциал в Python-разработке.
Читать статью
👍8🤩7
Создаем простое веб-приложение с помощью Molten
Molten — это современный фреймворк для создания API на Python. Он предлагает ряд функций, которые делают разработку API более удобной и эффективной.
Molten может быть использован для создания любого веб-приложения или API, которое требует высокой степени модульности и тестируемости. Он особенно полезен для создания RESTful API.
В этом примере мы создаем простое веб-приложение с одним маршрутом ("/"), который возвращает приветственное сообщение в формате JSON. Мы затем запускаем это приложение на локальном сервере на порту 8000.
#код
Molten — это современный фреймворк для создания API на Python. Он предлагает ряд функций, которые делают разработку API более удобной и эффективной.
Molten может быть использован для создания любого веб-приложения или API, которое требует высокой степени модульности и тестируемости. Он особенно полезен для создания RESTful API.
В этом примере мы создаем простое веб-приложение с одним маршрутом ("/"), который возвращает приветственное сообщение в формате JSON. Мы затем запускаем это приложение на локальном сервере на порту 8000.
#код
👍12
Пробовали ли программировать на планшете?
#интерактив
#интерактив
👍12🤯11😁5
Mypy
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
#код
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
#код
👍16
Очередной #дайджест по Python и DS:
🐍 Построение ML-пайплайна для рекомендательной системы с помощью Google Cloud Platform
Статья для тех, кому впервые понадобится реализовать схожие задачи на GCP без опыта работы с аналогичными облачными платформами.
🐍 Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
Command line interface приложение, запуск которого на локальной машине разработчика может превышать количество запусков команды git (спойлер: статистика в конце статьи).
🐍 Введение в библиотеку Diffusers и диффузионные модели
Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.
🐍 «Консервируем» данные: сравниваем модуль pickle и альтернативные способы сериализации
В процессе работы периодически возникает необходимость выгрузить обрабатываемую в программе информацию для её хранения или дальнейшей передачи. И тогда на помощь приходит сериализация данных.
🐍 Построение ML-пайплайна для рекомендательной системы с помощью Google Cloud Platform
Статья для тех, кому впервые понадобится реализовать схожие задачи на GCP без опыта работы с аналогичными облачными платформами.
🐍 Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
Command line interface приложение, запуск которого на локальной машине разработчика может превышать количество запусков команды git (спойлер: статистика в конце статьи).
🐍 Введение в библиотеку Diffusers и диффузионные модели
Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.
🐍 «Консервируем» данные: сравниваем модуль pickle и альтернативные способы сериализации
В процессе работы периодически возникает необходимость выгрузить обрабатываемую в программе информацию для её хранения или дальнейшей передачи. И тогда на помощь приходит сериализация данных.
👍2❤1😁1
Завершение программы
exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.
Используется для завершения программы в случае критической ошибки, когда продолжение работы невозможно и позволяет гибко управлять кодами возврата в зависимости от ситуации.
#код
exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.
Используется для завершения программы в случае критической ошибки, когда продолжение работы невозможно и позволяет гибко управлять кодами возврата в зависимости от ситуации.
#код
👍27🤯5
🐍 Оптимизация запросов в БД — [2:29]
Автор рассказывает, как сократить количество запросов в базу, при связи Foreign key в Django-приложениях. Коротко и полезно.
Перейти к просмотру
Автор рассказывает, как сократить количество запросов в базу, при связи Foreign key в Django-приложениях. Коротко и полезно.
Перейти к просмотру
👍7
Dramatiq
Это библиотека для распределенной обработки задач в асинхронном режиме. Она основана на RabbitMQ и полностью асинхронна, что позволяет выполнять задачи параллельно и с минимальной задержкой.
В этом примере мы используем библиотеку dramatiq для определения и запуска функции my_task. Функция принимает аргумент name, который используется в выводе сообщений. Затем мы отправляем задачу с аргументом 'Alice', которая выполняется асинхронно.
*Для выполнения задач необходимо настроить брокера сообщений, например, Redis или RabbitMQ, чем мы не занимались в данном примере.
#код
Это библиотека для распределенной обработки задач в асинхронном режиме. Она основана на RabbitMQ и полностью асинхронна, что позволяет выполнять задачи параллельно и с минимальной задержкой.
В этом примере мы используем библиотеку dramatiq для определения и запуска функции my_task. Функция принимает аргумент name, который используется в выводе сообщений. Затем мы отправляем задачу с аргументом 'Alice', которая выполняется асинхронно.
*Для выполнения задач необходимо настроить брокера сообщений, например, Redis или RabbitMQ, чем мы не занимались в данном примере.
#код
🔥10
Что такое list comprehension?
List comprehension — это удобный способ создания списков за счет компактной записи.
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
#вопросы_с_собеседований
List comprehension — это удобный способ создания списков за счет компактной записи.
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
#вопросы_с_собеседований
👍25🤔2