💡 STUMPY — библиотека для анализа временных рядов. Этот проект предлагает мощный инструмент для работы с временными последовательностями через вычисление matrix profile — специальной метрики, которая автоматически находит схожие паттерны в данных.
Инструмент поддерживает распределённые вычисления через Dask и GPU-ускорение через Numba. Технология особенно полезна для обнаружения аномалий, повторяющихся фрагментов и семантической сегментации. Библиотека одинаково хорошо работает как на небольших наборах данных, так и на временных рядах длиной в миллионы точек.
🤖 GitHub (https://github.com/stumpy-dev/stumpy)
@python_be1
Инструмент поддерживает распределённые вычисления через Dask и GPU-ускорение через Numba. Технология особенно полезна для обнаружения аномалий, повторяющихся фрагментов и семантической сегментации. Библиотека одинаково хорошо работает как на небольших наборах данных, так и на временных рядах длиной в миллионы точек.
🤖 GitHub (https://github.com/stumpy-dev/stumpy)
@python_be1
🤖 ChatGPT обошел почти всех элитных программистов — выжил только один
На соревновании по оптимизационным алгоритмам модель от OpenAI вышла в финал 16 июля, сразу захватила лидерство…
Но под конец её обошёл Psyho — бывший программист команды OpenAI.
📌 Главное:
— внутренняя кодовая модель OpenAI показывает безумную эффективность
— возможно, это последняя победа человека
Дальше будет только сложнее.
@python_be1
На соревновании по оптимизационным алгоритмам модель от OpenAI вышла в финал 16 июля, сразу захватила лидерство…
Но под конец её обошёл Psyho — бывший программист команды OpenAI.
📌 Главное:
— внутренняя кодовая модель OpenAI показывает безумную эффективность
— возможно, это последняя победа человека
Дальше будет только сложнее.
@python_be1
👩💻 MegaParse (https://github.com/QuivrHQ/MegaParse) — высокопроизводительный парсер, который способен преобразовывать всевозможные типы документов (Word документы, PDF-файлы или даже презентации PowerPoint)!
🌟 Его основная цель — преобразовывать информацию из документов в текст для LLM, при этом минимизируя различные потери данных.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/QuivrHQ/MegaParse)
@python_be1
🌟 Его основная цель — преобразовывать информацию из документов в текст для LLM, при этом минимизируя различные потери данных.
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/QuivrHQ/MegaParse)
@python_be1
🖥 Что выведет код ниже?
```
def append_to_list(val, my_list=[]):
my_list.append(val)
return my_list
print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
```
🤯 Подвох
Многие думают, что каждый вызов append_to_list() создаёт новый список, и ожидают вывод:
```
[1]
[2]
[3]
```
Но на самом деле Python выведет:
```
[1]
[1, 2]
[1, 2, 3]
```
🧠 Почему так происходит?
В Python значения аргументов по умолчанию вычисляются один раз — при определении функции, а не при каждом вызове.
Значение my_list=[] создаётся один раз и сохраняется между вызовами. Это работает как статическая переменная внутри функции.
✅ Как это исправить?
Используй None как значение по умолчанию:
```
def append_to_list(val, my_list=None):
if my_list is None:
my_list = []
my_list.append(val)
return my_list
print(append_to_list(1)) # [1]
print(append_to_list(2)) # [2]
print(append_to_list(3)) # [3]
```
💡 Вывод
Не используйте изменяемые объекты (например, list, dict, set) как значения по умолчанию для аргументов функций в Python.
@python_be1
```
def append_to_list(val, my_list=[]):
my_list.append(val)
return my_list
print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
```
🤯 Подвох
Многие думают, что каждый вызов append_to_list() создаёт новый список, и ожидают вывод:
```
[1]
[2]
[3]
```
Но на самом деле Python выведет:
```
[1]
[1, 2]
[1, 2, 3]
```
🧠 Почему так происходит?
В Python значения аргументов по умолчанию вычисляются один раз — при определении функции, а не при каждом вызове.
Значение my_list=[] создаётся один раз и сохраняется между вызовами. Это работает как статическая переменная внутри функции.
✅ Как это исправить?
Используй None как значение по умолчанию:
```
def append_to_list(val, my_list=None):
if my_list is None:
my_list = []
my_list.append(val)
return my_list
print(append_to_list(1)) # [1]
print(append_to_list(2)) # [2]
print(append_to_list(3)) # [3]
```
💡 Вывод
Не используйте изменяемые объекты (например, list, dict, set) как значения по умолчанию для аргументов функций в Python.
@python_be1
⚡️ Прокачивайся через практику: лучшие ресурсы для пет-проектов
Хочешь расти как разработчик — пиши код, а не только читай!
Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи:
App Ideas
Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки.
👉 github.com/florinpop17/app-ideas
Build Your Own X
Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках.
👉 github.com/codecrafters-io/build-your-own-x
Project-Based Learning
Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков.
👉 github.com/practical-tutorials/project-based-learning
Frontend Mentor
Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио.
👉 frontendmentor.io
Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.
@python_be1
Хочешь расти как разработчик — пиши код, а не только читай!
Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи:
App Ideas
Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки.
👉 github.com/florinpop17/app-ideas
Build Your Own X
Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках.
👉 github.com/codecrafters-io/build-your-own-x
Project-Based Learning
Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков.
👉 github.com/practical-tutorials/project-based-learning
Frontend Mentor
Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио.
👉 frontendmentor.io
Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.
@python_be1
GitHub
GitHub - florinpop17/app-ideas: A Collection of application ideas which can be used to improve your coding skills.
A Collection of application ideas which can be used to improve your coding skills. - florinpop17/app-ideas
This media is not supported in your browser
VIEW IN TELEGRAM
Linux: как узнать, какие процессы используют файлы — даже если они уже удалены
Иногда удаляешь огромный лог или архив, но место на диске не освобождается. Почему? Потому что процесс всё ещё держит дескриптор удалённого файла.
lsof | grep '(deleted)
Особенно полезно при отладке проблем с disk full, docker, journalctl, tmp и прочим
@python_be1
Иногда удаляешь огромный лог или архив, но место на диске не освобождается. Почему? Потому что процесс всё ещё держит дескриптор удалённого файла.
lsof | grep '(deleted)
Особенно полезно при отладке проблем с disk full, docker, journalctl, tmp и прочим
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Полезный трюк в Python: как отсортировать список по нескольким условиям одновременно
Если вы хотите отсортировать список объектов (например, словарей или кортежей) сразу по нескольким критериям — например, сначала по возрасту по возрастанию, а затем по имени по убыванию — не нужно писать громоздкие функции.
Используйте sorted() с key, комбинируя несколько полей с нужной логикой сортировки. Вот как:
```python
people = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
{"name": "Charlie", "age": 25},
{"name": "David", "age": 30},
]
# Сортировка: сначала по age (по возрастанию), затем по name (по убыванию)
sorted_people = sorted(people, key=lambda p: (p["age"], -ord(p["name"][0])))
for person in sorted_people:
print(person)
```
💡 Работает и с объектами, и с кортежами — главное, правильно составить key. Особенно полезно для фильтрации списков в табличных данных, при выводе результатов или генерации отчётов.
#python
@python_be1
Если вы хотите отсортировать список объектов (например, словарей или кортежей) сразу по нескольким критериям — например, сначала по возрасту по возрастанию, а затем по имени по убыванию — не нужно писать громоздкие функции.
Используйте sorted() с key, комбинируя несколько полей с нужной логикой сортировки. Вот как:
```python
people = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
{"name": "Charlie", "age": 25},
{"name": "David", "age": 30},
]
# Сортировка: сначала по age (по возрастанию), затем по name (по убыванию)
sorted_people = sorted(people, key=lambda p: (p["age"], -ord(p["name"][0])))
for person in sorted_people:
print(person)
```
💡 Работает и с объектами, и с кортежами — главное, правильно составить key. Особенно полезно для фильтрации списков в табличных данных, при выводе результатов или генерации отчётов.
#python
@python_be1
🧮 CVXPY — библиотека для решения задач выпуклой оптимизации, позволяющая формулировать математические модели в естественной форме, а не подстраиваться под ограниченный синтаксис солверов. С её помощью можно работать с задачами линейного и квадратичного программирования, геометрическими и квазивыпуклыми оптимизациями, не углубляясь в технические детали реализации алгоритмов.
Проект развивается как open-source-сообщество с 2013 года и поддерживает популярные солверы. Он также имеет удобный API: например, ограничения записываются почти как математические неравенства, а решение возвращает не только результат, но и значения двойственных переменных.
🤖 GitHub (https://github.com/cvxpy/cvxpy)
@python_be1
Проект развивается как open-source-сообщество с 2013 года и поддерживает популярные солверы. Он также имеет удобный API: например, ограничения записываются почти как математические неравенства, а решение возвращает не только результат, но и значения двойственных переменных.
🤖 GitHub (https://github.com/cvxpy/cvxpy)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Нужно временно отключить все принты — например, в проде или при юнит-тестах?
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
@python_be1
Этот трюк нужен, чтобы временно отключить принты не удаляя и не комментируя строки вручную.
@python_be1
⚙️ 7 эффективных стратегий для масштабирования базы данных
🟢Индексация: Анализируйте запросы вашего приложения и создавайте подходящие индексы для ускорения работы.
🟢Материализованные представления: Предварительно вычисляйте результаты сложных запросов и сохраняйте их для быстрого доступа.
🟢Денормализация: Упрощайте сложные соединения для повышения скорости выполнения запросов.
🟢Вертикальное масштабирование: Увеличивайте ресурсы сервера (процессоры, оперативную память, хранилище) для улучшения производительности.
🟢Кэширование: Храните часто запрашиваемые данные в быстром хранилище, чтобы снизить нагрузку на базу данных.
🟢Репликация: Создавайте копии основной базы данных на разных серверах для увеличения объема операций чтения.
🟢Шардинг: Разделяйте таблицы на более мелкие части и распределяйте их по серверам для улучшения работы с записью и чтением.
💬 Какие еще методы масштабирования используете вы?
✅ #java
@python_be1
🟢Индексация: Анализируйте запросы вашего приложения и создавайте подходящие индексы для ускорения работы.
🟢Материализованные представления: Предварительно вычисляйте результаты сложных запросов и сохраняйте их для быстрого доступа.
🟢Денормализация: Упрощайте сложные соединения для повышения скорости выполнения запросов.
🟢Вертикальное масштабирование: Увеличивайте ресурсы сервера (процессоры, оперативную память, хранилище) для улучшения производительности.
🟢Кэширование: Храните часто запрашиваемые данные в быстром хранилище, чтобы снизить нагрузку на базу данных.
🟢Репликация: Создавайте копии основной базы данных на разных серверах для увеличения объема операций чтения.
🟢Шардинг: Разделяйте таблицы на более мелкие части и распределяйте их по серверам для улучшения работы с записью и чтением.
💬 Какие еще методы масштабирования используете вы?
✅ #java
@python_be1
🎓 За $250,000 — MBA, который застрял в прошлом.
Студенты Stanford Graduate School of Business бьют тревогу:
🧾 Лекции читаются по устаревшим материалом из 2010-х
📚 Курсы почти не обновляются
🤖 Оценка зависит от того, насколько “остроумный prompt” ты напишешь для GPT или купишь платный AI-инструмент — а не от реального понимания математики или принципов принятия решений
💬 “Мы не учимся. Мы просто платим”, — пишут студенты в отзывах.
🧠 MBA (Master of Business Administration) — это престижная степень, которая должна давать практические навыки в управлении, финансах, стратегии и лидерстве.
Но на деле — всё больше похоже на дорогую обёртку с элементами prompt-инжиниринга.
📉 Вместо бизнес-анализа — работа с с ИИ. Вместо знаний — маркетинг прошлого десятилетия.
🔗 Источник — Yahoo News (https://yahoo.com/news/articles/not-learning-anything-stanford-gsb-114057655.html)
@python_be1
Студенты Stanford Graduate School of Business бьют тревогу:
🧾 Лекции читаются по устаревшим материалом из 2010-х
📚 Курсы почти не обновляются
🤖 Оценка зависит от того, насколько “остроумный prompt” ты напишешь для GPT или купишь платный AI-инструмент — а не от реального понимания математики или принципов принятия решений
💬 “Мы не учимся. Мы просто платим”, — пишут студенты в отзывах.
🧠 MBA (Master of Business Administration) — это престижная степень, которая должна давать практические навыки в управлении, финансах, стратегии и лидерстве.
Но на деле — всё больше похоже на дорогую обёртку с элементами prompt-инжиниринга.
📉 Вместо бизнес-анализа — работа с с ИИ. Вместо знаний — маркетинг прошлого десятилетия.
🔗 Источник — Yahoo News (https://yahoo.com/news/articles/not-learning-anything-stanford-gsb-114057655.html)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хочешь узнать, какие библиотеки в твоём Python‑проекте реально используются?
Многие проекты тянут за собой ненужные зависимости, особенно после десятков итераций.
С помощью vulture ты можешь найти неиспользуемый код и импорты — и легко вычистить проект от мусора.
Установка vulture
pip install vulture
Поиск неиспользуемого кода и импортов
vulture your_project/ > unused.txt
Пример: посмотреть, что не используется
cat unused.txt
@python_be1
Многие проекты тянут за собой ненужные зависимости, особенно после десятков итераций.
С помощью vulture ты можешь найти неиспользуемый код и импорты — и легко вычистить проект от мусора.
Установка vulture
pip install vulture
Поиск неиспользуемого кода и импортов
vulture your_project/ > unused.txt
Пример: посмотреть, что не используется
cat unused.txt
@python_be1