👨💻 Python Multiprocessing. Обмен данными между процессами
Параллельное программирование позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. В новой статье автор рассматривает тему обмена данными в мультипроцессных Python-программах. В частности, речь идёт о модуле Multiprocessing, который позволяет создавать процессы, выполняющиеся полностью независимо друг от друга. В модуле реализованы нативные способы передавать данные между процессами. Но как только приходится иметь дело не со встроенными типами данных, то готовые решения уже не работают.
Автор рассказывает о том, как решить вышеозначенную проблему, двигаясь от простых примеров к сложным.
✏️ Примеры кода из статьи
🔗 Сама статья
Параллельное программирование позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. В новой статье автор рассматривает тему обмена данными в мультипроцессных Python-программах. В частности, речь идёт о модуле Multiprocessing, который позволяет создавать процессы, выполняющиеся полностью независимо друг от друга. В модуле реализованы нативные способы передавать данные между процессами. Но как только приходится иметь дело не со встроенными типами данных, то готовые решения уже не работают.
Автор рассказывает о том, как решить вышеозначенную проблему, двигаясь от простых примеров к сложным.
✏️ Примеры кода из статьи
🔗 Сама статья
😁9👍5🔥1
👍27👏4😁2🔥1
🚀 Как быстрее прочитать много данных из Excel в Python?
Разработчик ПО Haki Benita написал любопытную статью, в которой сравнил разные способы прочесть экселевские данные. Автор создал файл Excel размером 25 МБ, содержащий 500 тысяч строк с различными типами столбцов. Далее он измерил скорость чтения для каждого из следующих методов:
▪️Pandas;
▪️Tablib;
▪️Openpyxl;
▪️LibreOffice;
▪️DuckDB;
▪️Calamine.
Один из способов позволил считать 500 тысяч строк менее, чем за 4 секунды. И это был Calamine.
👉 Подробности читайте в статье
Разработчик ПО Haki Benita написал любопытную статью, в которой сравнил разные способы прочесть экселевские данные. Автор создал файл Excel размером 25 МБ, содержащий 500 тысяч строк с различными типами столбцов. Далее он измерил скорость чтения для каждого из следующих методов:
▪️Pandas;
▪️Tablib;
▪️Openpyxl;
▪️LibreOffice;
▪️DuckDB;
▪️Calamine.
Один из способов позволил считать 500 тысяч строк менее, чем за 4 секунды. И это был Calamine.
👉 Подробности читайте в статье
👍32🔥1🥱1
📹 Подборка роликов про собеседования на позицию Python-разработчика
Mock-собеседования или просто видео с разбором популярных вопросов могут быть хорошим способом подготовиться к настоящему интервью. Вот несколько подходящих видеороликов:
☑️ Техническое собеседование на позицию Python Junior | Solvery + Moscow Python
☑️ Собеседование Python. Разбор вопросов
☑️ Открытое собеседование на джуниор Python-разработчика
☑️ Типичное собеседование #2. Позиция Middle Data Scientist. Accepted!
☑️ Собеседование на 200к в мес на Python разработчика (но я гуглю все вопросы)
☑️ В чем разница между списками и кортежами в python?
☑️ СОБЕСЕДОВАНИЕ с Эдуардом | Знания Python, задачи на код, алгоритмические задачи
Mock-собеседования или просто видео с разбором популярных вопросов могут быть хорошим способом подготовиться к настоящему интервью. Вот несколько подходящих видеороликов:
☑️ Техническое собеседование на позицию Python Junior | Solvery + Moscow Python
☑️ Собеседование Python. Разбор вопросов
☑️ Открытое собеседование на джуниор Python-разработчика
☑️ Типичное собеседование #2. Позиция Middle Data Scientist. Accepted!
☑️ Собеседование на 200к в мес на Python разработчика (но я гуглю все вопросы)
☑️ В чем разница между списками и кортежами в python?
☑️ СОБЕСЕДОВАНИЕ с Эдуардом | Знания Python, задачи на код, алгоритмические задачи
👍18🔥1
🛠️ Django Debug Toolbar — панель отладки и профилирования Django приложений
Позволяет:
▪️эффективно инспектировать и отлаживать различные аспекты приложения;
▪️отслеживать SQL-запросы, включая время их выполнения;
▪️отслеживать логи и др.
На днях стала доступна последняя версия django-debug-toolbar 4.3.0
🔗 Документация
Позволяет:
▪️эффективно инспектировать и отлаживать различные аспекты приложения;
▪️отслеживать SQL-запросы, включая время их выполнения;
▪️отслеживать логи и др.
На днях стала доступна последняя версия django-debug-toolbar 4.3.0
🔗 Документация
👍13🎉6🔥4
👩💻 Поиск самой быстрой JSON-библиотеки на Python
Автор свежего текста сравнивает между собой 8 библиотек:
▫️orjson
▫️pysimdjson
▫️yapic.json
▫️simplejson
▫️ujson
▫️python-rapidjson
▫️cysimdjson
▫️nujson (deprecated)
Бенчмарк запускали на всех версиях Python, начиная с 3.8 и заканчивая 3.13. В итоге, автор пришёл к выводу, что быстрее всех orjson.
🔗 Прочесть статью целиком можно тут
P.S.: комментаторы на Reddit отметили, что автор забыл ещё об одной библиотеке msgspec. Кто-то считает, что она быстрее orjson.
Автор свежего текста сравнивает между собой 8 библиотек:
▫️orjson
▫️pysimdjson
▫️yapic.json
▫️simplejson
▫️ujson
▫️python-rapidjson
▫️cysimdjson
▫️nujson (deprecated)
Бенчмарк запускали на всех версиях Python, начиная с 3.8 и заканчивая 3.13. В итоге, автор пришёл к выводу, что быстрее всех orjson.
🔗 Прочесть статью целиком можно тут
P.S.: комментаторы на Reddit отметили, что автор забыл ещё об одной библиотеке msgspec. Кто-то считает, что она быстрее orjson.
👍16🎉5🔥2
Условие: Вам дан массив цен prices, в котором prices[i] — это цена данной акции в i-тый день. Вы хотите максимизировать свою прибыль, выбрав один день для покупки одной акции и выбрав другой день в будущем для продажи этой акции.
Верните максимальную прибыль, которую вы можете получить от этой сделки. Если вы не можете получить прибыль, верните 0.
Решение: Предлагается решить задачу с помощью двух указателей. Сначала иницаилизируем левый и правый указатели для покупки и продажи соответственно. Также инициализируем нулём нашу прибыль (max_profit).
Далее мы проходим по массиву цен, используя цикл while, пока right (день продажи) меньше длины массива. На каждом шаге вычисляем текущую прибыль от продажи акции в день right, купленной в день left.
Если prices[left] < prices[right], это означает, что покупка акции в день left и продажа в день right приводит к положительной прибыли. В этом случае обновляется max_profit, если currentProfit больше текущего значения max_profit. Если цена покупки больше или равна цене продажи (prices[left] >= prices[right]), это означает, что продолжать держать текущую акцию не имеет смысла, и следует рассмотреть акцию в день right как новую точку покупки. Таким образом, left обновляется до right.
По окончании цикла возвращается max_profit. Если сделок, приводящих к прибыли, не было, функция вернёт 0. Сложность алгоритма O(n).
▶️Код:
def maxProfit(prices):
left = 0 #Покупка
right = 1 #Продажа
max_profit = 0
while right < len(prices):
currentProfit = prices[right] - prices[left]
if prices[left] < prices[right]:
max_profit =max(currentProfit,max_profit)
else:
left = right
right += 1
return max_profit
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍8
🐍 Вышел Flask 3.0.2
Это небольшое обновление, в котором исправили баги. В частности:
🔸 Исправили ошибку с типом при использовании jinja_loader
🔸 Убрали баг с CLI-опциями --extra-files и --exclude-patterns, из-за которого не запускался сервер.
Flask — это фреймворк для разработки веб-приложений. В нём есть:
▫️Сервер разработки и отладчик
▫️Интегрированная поддержка модульного тестирования
▫️Шаблонизатор Jinja2
▫️Поддержка безопасных файлов cookie и др.
🔗 Документация
Это небольшое обновление, в котором исправили баги. В частности:
🔸 Исправили ошибку с типом при использовании jinja_loader
🔸 Убрали баг с CLI-опциями --extra-files и --exclude-patterns, из-за которого не запускался сервер.
Flask — это фреймворк для разработки веб-приложений. В нём есть:
▫️Сервер разработки и отладчик
▫️Интегрированная поддержка модульного тестирования
▫️Шаблонизатор Jinja2
▫️Поддержка безопасных файлов cookie и др.
🔗 Документация
👍20🔥1
🐍🎸 Курс Django. Часть 2: ORM и основы работы с базами данных
Продолжаем наш курс. В первой части мы узнали, как установить Django, настроить и запустить первый проект. Теперь рассмотрим создание базы данных на основе моделей, способы наполнения БД с использованием loaddata и скриптов, а также передачу данных на фронтенд с помощью функциональных представлений и шаблонов.
👉 Читать новую часть целиком
🔗 Зеркало
Продолжаем наш курс. В первой части мы узнали, как установить Django, настроить и запустить первый проект. Теперь рассмотрим создание базы данных на основе моделей, способы наполнения БД с использованием loaddata и скриптов, а также передачу данных на фронтенд с помощью функциональных представлений и шаблонов.
👉 Читать новую часть целиком
🔗 Зеркало
❤12👍4
🚀 Ускоряем анализ данных в 170 000 раз с помощью Python
Автор статьи итеративно оптимизировал код, чтобы посмотреть, чего можно достичь на Python.
Сначала разработчик значительно ускорил оригинальный код с помощью нескольких вспомогательных функций с JIT-компиляцией, а в итоге использовал JIT-компиляцию повсеместно (применял Numba). Также автор не обошёлся без профилирования.
👉 Прочесть статью со всеми подробностями можно тут
Автор статьи итеративно оптимизировал код, чтобы посмотреть, чего можно достичь на Python.
Сначала разработчик значительно ускорил оригинальный код с помощью нескольких вспомогательных функций с JIT-компиляцией, а в итоге использовал JIT-компиляцию повсеместно (применял Numba). Также автор не обошёлся без профилирования.
👉 Прочесть статью со всеми подробностями можно тут
👍12🔥1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🚀🏢 Стартапы vs IT-гиганты: куда лучше устроиться Junior-разработчику
Представим ситуацию: вы начинающий разработчик с очень востребованным стеком (да, звучит как фантастика, но допустим). И так уж сложилось, что перед вами стоит выбор: пойти работать в стартап или крупную компанию. Причем предлагаемые условия абсолютно идентичны и там, и там.
Что же делать в такой ситуации?
👉 Разбираемся в статье
🔗 Зеркало
Представим ситуацию: вы начинающий разработчик с очень востребованным стеком (да, звучит как фантастика, но допустим). И так уж сложилось, что перед вами стоит выбор: пойти работать в стартап или крупную компанию. Причем предлагаемые условия абсолютно идентичны и там, и там.
Что же делать в такой ситуации?
👉 Разбираемся в статье
🔗 Зеркало
👍9❤3🥱2
🫨 Эпикфейл: карьера катится к чертям
У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
👉 Поделитесь своей историей карьерного провала в нашем опросе и расскажите, к чему он привёл в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
👉 Поделитесь своей историей карьерного провала в нашем опросе и расскажите, к чему он привёл в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
😁9🔥5❤🔥4👍3
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
❤8
🐍✨ Вышли Python 3.12.2 и 3.11.8
▪️Python 3.12.2
Это технический релиз, содержащий исправления более чем 350 багов, улучшения и изменения документации.
▪️Python 3.11.8
Это последний релиз, который содержит множество новых функций и оптимизаций.
Все нововведения можно изучить в журнале изменений
▪️Python 3.12.2
Это технический релиз, содержащий исправления более чем 350 багов, улучшения и изменения документации.
▪️Python 3.11.8
Это последний релиз, который содержит множество новых функций и оптимизаций.
Все нововведения можно изучить в журнале изменений
🔥16👍1
Зачем нужен pdb?
pdb — это интерактивная среда отладки для программ на Python. Позволяет приостановить выполнение программы, посмотреть значения переменных, построчно выполнить код. Также поддерживает post-mortem debugging, то есть отладку программы после её аварийного завершения.
Дебаггер расширяемый, он определён как класс Pdb. Запустить отладчик можно разными способами:
▫️из командной строки
python -m pdb my_script.py
▫️прямо из кода
import pdb
pdb.set_trace()
#вопросы_с_собеседований
pdb — это интерактивная среда отладки для программ на Python. Позволяет приостановить выполнение программы, посмотреть значения переменных, построчно выполнить код. Также поддерживает post-mortem debugging, то есть отладку программы после её аварийного завершения.
Дебаггер расширяемый, он определён как класс Pdb. Запустить отладчик можно разными способами:
▫️из командной строки
python -m pdb my_script.py
▫️прямо из кода
import pdb
pdb.set_trace()
#вопросы_с_собеседований
👍27🔥1
🔥 Библиотека urllib3 теперь работает в браузере
❔urllib3 — это HTTP-клиент на Python, который поддерживает безопасность потоков, пул соединений, проверку SSL / TLS на стороне клиента, загрузку файлов с многокомпонентным кодированием и т.д.
☑️ В последнем релизе 2.2.0 библиотека получила поддержку использования в браузере с Pyodide. Pyodide — это экспериментальный проект, который предоставляет способ запуска Python в веб-браузерах с помощью компиляции WebAssembly интерпретатора CPython и научного стека.
🔗 Ссылка на документацию
❔urllib3 — это HTTP-клиент на Python, который поддерживает безопасность потоков, пул соединений, проверку SSL / TLS на стороне клиента, загрузку файлов с многокомпонентным кодированием и т.д.
☑️ В последнем релизе 2.2.0 библиотека получила поддержку использования в браузере с Pyodide. Pyodide — это экспериментальный проект, который предоставляет способ запуска Python в веб-браузерах с помощью компиляции WebAssembly интерпретатора CPython и научного стека.
🔗 Ссылка на документацию
🔥14👍6👏2