✨ Отладка как Python-REPL: Знакомьтесь, seapie!
Устали от сложностей gdb и прочих "умных" отладчиков? 🤯 seapie — это свежий взгляд на отладку Python-кода. Представьте: ваш привычный интерактивный Python-REPL стал еще мощнее! 💪
Что крутого в seapie?
*
* Отладка по намерению: Хотите остановиться, когда функция вернет
Гениально, правда? 🧠
* REPL-first: Смотреть переменные —
* Магия в
Теперь вы точно сможете разобраться, что происходит! 🧐
Устанавливается одной командой:
В общем, если вы хотите отлаживать код так же легко, как писать его, seapie — ваш новый лучший друг. 🐸
@NeuroTech_IT
Устали от сложностей gdb и прочих "умных" отладчиков? 🤯 seapie — это свежий взгляд на отладку Python-кода. Представьте: ваш привычный интерактивный Python-REPL стал еще мощнее! 💪
Что крутого в seapie?
*
>>> вместо брейкпоинтов: Да-да, ваши точки останова — это просто знакомый >>>. Никаких спец. команд или кликов мышкой! 🖱️* Отладка по намерению: Хотите остановиться, когда функция вернет
None, а в стеке будет myhelper? Легко! Просто напишите это как обычное Python-выражение:
>>> !walk (_event_ == "return") and (_return_ is None) and ("myhelper" in _callstack_)
Гениально, правда? 🧠
* REPL-first: Смотреть переменные —
print(x) или просто x. Менять — x = None. Всё как вы любите, только теперь с супер-возможностями отладки! ✨* Магия в
_magic_: Состояние программы доступно как обычный словарь. Посмотрите, например, на это:
>>> _magic_
{
'_line_': 8,
'_source_': ' return round(total_with_tax, 2)',
'_path_': '/home/hirsimak/seapie/test/demo.py',
'_return_': 35.64,
'_event_': 'return',
'_callstack_': ['', 'checkout']
}
Теперь вы точно сможете разобраться, что происходит! 🧐
Устанавливается одной командой:
pip install seapie. И никаких лишних зависимостей! 🎉В общем, если вы хотите отлаживать код так же легко, как писать его, seapie — ваш новый лучший друг. 🐸
@NeuroTech_IT
Новый шрифт для твоих кодерских будней! 🤓
Держитесь, любители красивых моноширинных шрифтов! 😍 На этот раз у нас что-то особенное: шрифт, который так и просится на экран вашего любимого IDE. 😎
Почему он крутой?
* Больше 700 глифов! 🤯 Включая кучу всяких математических финтифлюшек, которыми вы так любите украшать свои алгоритмы. ➕➖✖️➗
* Геометрия — наше всё! ✨ Никаких замудрёных изгибов, только чистые, строгие линии. Ваш код будет выглядеть как произведение искусства. 🖼️
* Сделано с любовью на Python! 🐍 Сам шрифт написан на Python с помощью своего собственного движка. Прямо как пицца, собранная из лучших ингредиентов! 🍕
В общем, обновляемся и наслаждаемся! 💃
*— Знаете, чем отличается хороший шрифт от плохого? Одним — вы видите ошибки, другим — видите красоту! 😉*
@NeuroTech_IT
Держитесь, любители красивых моноширинных шрифтов! 😍 На этот раз у нас что-то особенное: шрифт, который так и просится на экран вашего любимого IDE. 😎
Почему он крутой?
* Больше 700 глифов! 🤯 Включая кучу всяких математических финтифлюшек, которыми вы так любите украшать свои алгоритмы. ➕➖✖️➗
* Геометрия — наше всё! ✨ Никаких замудрёных изгибов, только чистые, строгие линии. Ваш код будет выглядеть как произведение искусства. 🖼️
* Сделано с любовью на Python! 🐍 Сам шрифт написан на Python с помощью своего собственного движка. Прямо как пицца, собранная из лучших ингредиентов! 🍕
В общем, обновляемся и наслаждаемся! 💃
*— Знаете, чем отличается хороший шрифт от плохого? Одним — вы видите ошибки, другим — видите красоту! 😉*
@NeuroTech_IT
App Store теперь еще хитрее! 🤫
Apple решил немного поиграть с нами в "найди 10 отличий" в App Store. 🕵️♂️ Теперь рекламные объявления будут прятаться так хорошо, что их станет сложнее разглядеть. Забудьте про яркий голубой фон, который кричал: "Я реклама!", скоро его просто не будет. 😱
Единственный намек, что перед вами не бесплатный подарок, а спонсорское предложение, будет крошечная буковка "Ad". 🧐 Так что будьте начеку, иначе можете случайно купить кота в мешке... ну, или приложение, которое вам не очень-то и нужно. 😉
Шутка дня: "Зачем Apple сделал рекламу в App Store такой незаметной? Чтобы мы случайно не подумали, что они хотят заработать... 😂"
@NeuroTech_IT
Apple решил немного поиграть с нами в "найди 10 отличий" в App Store. 🕵️♂️ Теперь рекламные объявления будут прятаться так хорошо, что их станет сложнее разглядеть. Забудьте про яркий голубой фон, который кричал: "Я реклама!", скоро его просто не будет. 😱
Единственный намек, что перед вами не бесплатный подарок, а спонсорское предложение, будет крошечная буковка "Ad". 🧐 Так что будьте начеку, иначе можете случайно купить кота в мешке... ну, или приложение, которое вам не очень-то и нужно. 😉
Шутка дня: "Зачем Apple сделал рекламу в App Store такой незаметной? Чтобы мы случайно не подумали, что они хотят заработать... 😂"
@NeuroTech_IT
Бородатый Бог Войны найден! 🧔♂️
Ну что, геймеры и фанаты сериалов, держитесь! 💥 Sony наконец-то определилась, кто будет воплощать легендарного Кратоса на больших экранах. И это не какой-то там случайный бородач, а Райан Херст! 🤩 Если вам его лицо кажется знакомым, то вот вам подсказка: он же "Рыжий" из "Сынов анархии" и тот самый "десантник Мэндельсон" из "Спасти рядового Райана". 🎬
А знаете, что самое крутое? Он специально отрастил бороду, чтобы как две капли воды быть похожим на нашего любимого спартанца! 💪 Это вам не CGI-магия, тут натуральная фактура!
Ну как, по-вашему, похож? 🤔 Или пока только на "рыжего" с кувалдой? 😄
@NeuroTech_IT
Ну что, геймеры и фанаты сериалов, держитесь! 💥 Sony наконец-то определилась, кто будет воплощать легендарного Кратоса на больших экранах. И это не какой-то там случайный бородач, а Райан Херст! 🤩 Если вам его лицо кажется знакомым, то вот вам подсказка: он же "Рыжий" из "Сынов анархии" и тот самый "десантник Мэндельсон" из "Спасти рядового Райана". 🎬
А знаете, что самое крутое? Он специально отрастил бороду, чтобы как две капли воды быть похожим на нашего любимого спартанца! 💪 Это вам не CGI-магия, тут натуральная фактура!
Ну как, по-вашему, похож? 🤔 Или пока только на "рыжего" с кувалдой? 😄
@NeuroTech_IT
Как стать CEO, написав письмо? 🚀
Представьте, вы пишете письмо основателю фитнес-империи, а потом — бац! — становитесь CEO. 🤯 Именно так случилось с нынешним главой Barry's! Основатель сети, Джои Гонсалес, каждую пятницу устраивает "случайные" встречи с теми, кто ему пишет. Неважно, студент вы, тренер или вообще без диплома — главное, чтобы горели глаза! 🔥
Вся соль в том, что резюме — это просто бумажка. А вот искренний интерес и страсть к делу — это то, что реально цепляет. Так что, коллеги, не бойтесь стучаться в двери! Худшее, что случится, — вам не ответят. А лучшее... кто знает, может, именно вы станете следующим CEO? 😉
P.S. Написать письмо — не то же самое, что отправить резюме через HeadHunter, где оно потеряется среди тысяч. Тут — личный контакт! 💪
@NeuroTech_IT
Представьте, вы пишете письмо основателю фитнес-империи, а потом — бац! — становитесь CEO. 🤯 Именно так случилось с нынешним главой Barry's! Основатель сети, Джои Гонсалес, каждую пятницу устраивает "случайные" встречи с теми, кто ему пишет. Неважно, студент вы, тренер или вообще без диплома — главное, чтобы горели глаза! 🔥
Вся соль в том, что резюме — это просто бумажка. А вот искренний интерес и страсть к делу — это то, что реально цепляет. Так что, коллеги, не бойтесь стучаться в двери! Худшее, что случится, — вам не ответят. А лучшее... кто знает, может, именно вы станете следующим CEO? 😉
P.S. Написать письмо — не то же самое, что отправить резюме через HeadHunter, где оно потеряется среди тысяч. Тут — личный контакт! 💪
@NeuroTech_IT
Кто уходит, а кто остаётся? 🤔 Предсказываем отток пользователей (Churn) на Python!
Представьте: ваш сервис процветает, но вдруг пользователи начинают... "растворяться" в воздухе! 💨 Это и есть отток (Churn) — одна из самых горячих и важных задач в мире машинного обучения. Наша цель? Понять, кто подумывает "уйти по-английски" и предсказать это заранее, чтобы успеть их удержать. Формально это бинарная классификация: уйдет (1) или останется (0)?
Сегодня разберёмся, как настроить пайплайн для такой задачи на маленьких данных, чтобы понять саму механику. Погнали! 👇
Для начала, призовём нужные библиотеки:
И импортируем наших магических помощников:
А вот так выглядят данные наших "подозреваемых" пользователей: 🕵️♀️
Здесь у нас признаки (например, сколько дней юзер активен, сколько сессий провёл, часто ли пишет в поддержку) и, конечно, наша целевая переменная
Отделим мух от котлет, то есть признаки от цели:
Обучать модель на всех данных — это как проверять экзамен, уже зная ответы. 🙈 Нечестно и неэффективно! Поэтому делим данные на тренировочную и тестовую выборки:
Теперь самое интересное — собираем наш предсказательный комбайн! 🤖 Используем Pipeline для удобства: сначала нормализуем признаки (чтобы "дни" не перевешивали "сессии"), а затем применяем Логистическую регрессию (просто и со вкусом):
Оценим, насколько хорошо наш комбайн справился с незнакомыми данными:
А теперь фокус-покус! 🪄 Предскажем вероятность оттока для одного нового пользователя:
0.87? Кажется, этот пользователь уже одной ногой на выход! 😱
Такие модели — настоящий клад для бизнеса! 💰 Они позволяют запускать триггеры удержания, предлагать персональные офферы тем, кто на грани, и вообще держать руку на пульсе продукта.
В следующий раз будем предсказывать, кто заварит кофе в офисе! Или нет. 😉
@NeuroTech_IT
Представьте: ваш сервис процветает, но вдруг пользователи начинают... "растворяться" в воздухе! 💨 Это и есть отток (Churn) — одна из самых горячих и важных задач в мире машинного обучения. Наша цель? Понять, кто подумывает "уйти по-английски" и предсказать это заранее, чтобы успеть их удержать. Формально это бинарная классификация: уйдет (1) или останется (0)?
Сегодня разберёмся, как настроить пайплайн для такой задачи на маленьких данных, чтобы понять саму механику. Погнали! 👇
Для начала, призовём нужные библиотеки:
pip install pandas scikit-learn
И импортируем наших магических помощников:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
А вот так выглядят данные наших "подозреваемых" пользователей: 🕵️♀️
data = pd.DataFrame({
"days_active": [5, 120, 30, 200, 15, 300],
"sessions": [3, 80, 10, 150, 5, 220],
"avg_session_time": [2.5, 15.0, 5.0, 20.0, 3.0, 25.0],
"support_tickets": [2, 0, 1, 0, 3, 0],
"churn": [1, 0, 1, 0, 1, 0]
})
Здесь у нас признаки (например, сколько дней юзер активен, сколько сессий провёл, часто ли пишет в поддержку) и, конечно, наша целевая переменная
churn, которая показывает, "слился" пользователь (1) или всё ещё с нами (0).Отделим мух от котлет, то есть признаки от цели:
X = data.drop(columns=["churn"])
y = data["churn"]
Обучать модель на всех данных — это как проверять экзамен, уже зная ответы. 🙈 Нечестно и неэффективно! Поэтому делим данные на тренировочную и тестовую выборки:
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.33, random_state=42, stratify=y
)
Теперь самое интересное — собираем наш предсказательный комбайн! 🤖 Используем Pipeline для удобства: сначала нормализуем признаки (чтобы "дни" не перевешивали "сессии"), а затем применяем Логистическую регрессию (просто и со вкусом):
model = Pipeline(steps=[
("scaler", StandardScaler()),
("clf", LogisticRegression(max_iter=1000, class_weight="balanced"))
])
model.fit(X_train, y_train)
Оценим, насколько хорошо наш комбайн справился с незнакомыми данными:
y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))
А теперь фокус-покус! 🪄 Предскажем вероятность оттока для одного нового пользователя:
user = pd.DataFrame([{
"days_active": 20,
"sessions": 8,
"avg_session_time": 4.0,
"support_tickets": 2
}])
prob = model.predict_proba(user)[0][1]
print("Вероятность оттока:", round(prob, 2))
0.87? Кажется, этот пользователь уже одной ногой на выход! 😱
Такие модели — настоящий клад для бизнеса! 💰 Они позволяют запускать триггеры удержания, предлагать персональные офферы тем, кто на грани, и вообще держать руку на пульсе продукта.
В следующий раз будем предсказывать, кто заварит кофе в офисе! Или нет. 😉
@NeuroTech_IT
ИИ-код: Блеск или пшик? 🤔
ИИ способен выдать неплохое решение (и то, порой, под большим вопросом), но сам код часто оказывается нестабильным, плохо структурированным и совершенно нечитаемым. Представьте: вы получаете код, который понять не может не только другой разработчик, но и, скорее всего, сам ИИ через пару часов! 🤯 А это, на минуточку, критически важно для любого серьёзного проекта, где над кодом работают разные люди и его нужно поддерживать годами.
В этом плане ИИ пока, увы, проигрывает даже... джунам с минимальным опытом! 👶 Давид, кстати, добавил, что в его компании 95% кода до сих пор пишут люди. Ну, видимо, не зря! 😉
Вывод: пока что ваш человеческий код ценнее, чем вы думали! 💰
@NeuroTech_IT
ИИ способен выдать неплохое решение (и то, порой, под большим вопросом), но сам код часто оказывается нестабильным, плохо структурированным и совершенно нечитаемым. Представьте: вы получаете код, который понять не может не только другой разработчик, но и, скорее всего, сам ИИ через пару часов! 🤯 А это, на минуточку, критически важно для любого серьёзного проекта, где над кодом работают разные люди и его нужно поддерживать годами.
В этом плане ИИ пока, увы, проигрывает даже... джунам с минимальным опытом! 👶 Давид, кстати, добавил, что в его компании 95% кода до сих пор пишут люди. Ну, видимо, не зря! 😉
Вывод: пока что ваш человеческий код ценнее, чем вы думали! 💰
@NeuroTech_IT
Регулярки – наш кошмар? 🤔 Пора это исправить!
Надоело ненавидеть регулярные выражения? 😫 Есть проверенный способ перестать их бояться и даже начать получать удовольствие! ✨ Знакомьтесь с regex101.com – вашим новым лучшим другом в мире regex. Здесь вы сможете собирать, тестировать и отлаживать свои регулярки прямо по шагам, а главное – с понятными объяснениями. Забудьте про танцы с бубном, теперь всё станет намного проще! 💃
P.S. После того, как вы освоите regex101, сможете даже свою любимую песню в виде регулярки закодировать! 🎶
@NeuroTech_IT
Надоело ненавидеть регулярные выражения? 😫 Есть проверенный способ перестать их бояться и даже начать получать удовольствие! ✨ Знакомьтесь с regex101.com – вашим новым лучшим другом в мире regex. Здесь вы сможете собирать, тестировать и отлаживать свои регулярки прямо по шагам, а главное – с понятными объяснениями. Забудьте про танцы с бубном, теперь всё станет намного проще! 💃
P.S. После того, как вы освоите regex101, сможете даже свою любимую песню в виде регулярки закодировать! 🎶
@NeuroTech_IT
Kaggle Learn: Прокачай Python без скуки и тонн теории! 🚀
Привет, будущие джедаи кода! 👋 Устали от сухой теории и скучных учебников, которые только множат пыль на полке? Тогда держите мощный лайфхак от 😎 Kaggle Learn! Это не просто курсы, это целая серия коротких и чётких микро-модулей, которые превратят вас в гуру Python быстрее, чем вы успеете заварить свой любимый кофе. ☕️
Здесь нет воды – только хардкорная практика! 🏋️♀️ Каждый модуль — это конкретная тема, увлекательные упражнения и, самое главное, работа с настоящими датасетами прямо в вашем браузере. Забудьте про долгие настройки и установки – просто открываете и кодите, как настоящий профи! 💻✨
Идеально подходит, чтобы быстро освоить основы языка, закрепить синтаксис (чтобы
Загляните сами и убедитесь: kaggle.com
Главное, не забудьте сохранить свои решения – а то придёт ИИ и всё за вас сделает! 😉
@NeuroTech_IT
Привет, будущие джедаи кода! 👋 Устали от сухой теории и скучных учебников, которые только множат пыль на полке? Тогда держите мощный лайфхак от 😎 Kaggle Learn! Это не просто курсы, это целая серия коротких и чётких микро-модулей, которые превратят вас в гуру Python быстрее, чем вы успеете заварить свой любимый кофе. ☕️
Здесь нет воды – только хардкорная практика! 🏋️♀️ Каждый модуль — это конкретная тема, увлекательные упражнения и, самое главное, работа с настоящими датасетами прямо в вашем браузере. Забудьте про долгие настройки и установки – просто открываете и кодите, как настоящий профи! 💻✨
Идеально подходит, чтобы быстро освоить основы языка, закрепить синтаксис (чтобы
print от pint отличали даже во сне 😉) и понять, как Python используется в реальных задачах. Если давно хотели начать или уже учите, но не хватает живых примеров – это ваш знак! ✨Загляните сами и убедитесь: kaggle.com
Главное, не забудьте сохранить свои решения – а то придёт ИИ и всё за вас сделает! 😉
@NeuroTech_IT
Холостяки, встречайте своих героев! 🧠✨
Друзья, есть хорошие новости для всех, кто предпочитает компанию дивана и кота шумным вечеринкам! 🥳 Ученые провели исследование и выяснили, что одиночество — это не приговор, а признак высокого интеллекта! 🚀 Да-да, оказалось, что умные и образованные люди проводят больше времени наедине с собой. Видимо, пока другие мечутся в поисках "той самой/того самого", гении заняты анализом и продумыванием каждого своего шага. 🤔 А в любви, как известно, ценятся спонтанные, импульсивные поступки, которые не всегда свойственны нашим интеллектуальным друзьям.
Так что, если вы еще не встретили свою вторую половинку, можете смело говорить: "Я не холостяк, я просто слишком умный!" 😉
Главное, чтобы это не стало вашей постоянной отмазкой, когда бабушка на очередном семейном ужине спрашивает: "Ну что, когда уже внуки?" 😂
@NeuroTech_IT
Друзья, есть хорошие новости для всех, кто предпочитает компанию дивана и кота шумным вечеринкам! 🥳 Ученые провели исследование и выяснили, что одиночество — это не приговор, а признак высокого интеллекта! 🚀 Да-да, оказалось, что умные и образованные люди проводят больше времени наедине с собой. Видимо, пока другие мечутся в поисках "той самой/того самого", гении заняты анализом и продумыванием каждого своего шага. 🤔 А в любви, как известно, ценятся спонтанные, импульсивные поступки, которые не всегда свойственны нашим интеллектуальным друзьям.
Так что, если вы еще не встретили свою вторую половинку, можете смело говорить: "Я не холостяк, я просто слишком умный!" 😉
Главное, чтобы это не стало вашей постоянной отмазкой, когда бабушка на очередном семейном ужине спрашивает: "Ну что, когда уже внуки?" 😂
@NeuroTech_IT
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Учимся писать эмулятор NES на JS – играючи!
Устали от скучных курсов? 😴 Есть крутая опенсорсная игра, где вы буквально с нуля пишете эмулятор NES на JavaScript! 🤩 Представьте, вы — герой 32767 года, интернет пал, а ваша миссия — восстановить историю видеоигр, собирая по кусочкам эмулятор древней консоли NEEES (прямо как Nintendo, только круче 😉).
Что вас ждет:
* 🚀 От азов ассемблера 6502 до полной реализации CPU, PPU (графика) и APU (звук).
* 💻 Встроенный редактор кода, терминал и мощный дебаггер, чтобы вы видели все свои успехи (и ошибки 😂).
* ✅ Юнит-тесты и возможность запускать реальные игры прямо в процессе разработки — чтобы понять, что вы реально круты!
* 💡 А потом этот движок можно использовать для создания эмуляторов Game Boy и других систем!
Почему это надо попробовать? Потому что учиться, когда это похоже на игру, куда приятнее, чем зубрить скучные книги! 💪
Короче, теперь понятно, как стать настоящим ретро-гуру! 😉
@NeuroTech_IT
Устали от скучных курсов? 😴 Есть крутая опенсорсная игра, где вы буквально с нуля пишете эмулятор NES на JavaScript! 🤩 Представьте, вы — герой 32767 года, интернет пал, а ваша миссия — восстановить историю видеоигр, собирая по кусочкам эмулятор древней консоли NEEES (прямо как Nintendo, только круче 😉).
Что вас ждет:
* 🚀 От азов ассемблера 6502 до полной реализации CPU, PPU (графика) и APU (звук).
* 💻 Встроенный редактор кода, терминал и мощный дебаггер, чтобы вы видели все свои успехи (и ошибки 😂).
* ✅ Юнит-тесты и возможность запускать реальные игры прямо в процессе разработки — чтобы понять, что вы реально круты!
* 💡 А потом этот движок можно использовать для создания эмуляторов Game Boy и других систем!
Почему это надо попробовать? Потому что учиться, когда это похоже на игру, куда приятнее, чем зубрить скучные книги! 💪
Короче, теперь понятно, как стать настоящим ретро-гуру! 😉
@NeuroTech_IT
Python-магия: как сделать классы легче и быстрее! ✨
Знаете, как Python по умолчанию хранит все ваши объектные данные? В таком себе "кармашке" (dict) у каждого экземпляра. Удобно, когда надо прикрутить что-то новенькое на лету, но когда у вас тысячи объектов, этот кармашек может раздуться до непомерных размеров! 🐷
Представьте, что каждый объект — это человечек, а dict — его рюкзак. Положил туда монетку — рюкзак чуть тяжелее. Добавил еще одну — еще тяжелее. А если у вас миллион человечков с такими рюкзаками? 🤯
Но есть выход — slots! Это как если бы мы заранее договорились, что у каждого человечка будет только строго определенный набор кармашков для монет (атрибутов). Никаких больше "вдруг понадобится" — только то, что реально нужно.
Что это дает?
* Меньше памяти: Объекты становятся стройнее и легче. 🧘♀️
* Быстрее доступ: Найти нужную "монетку" в фиксированном кармашке куда быстрее, чем копаться в большом рюкзаке. 🚀
* Прощай, dict: Больше нет этого лишнего словаря у каждого объекта.
Когда slots — ваш лучший друг?
* Когда у вас тысячи или миллионы объектов, и каждый грамм памяти на счету. 💾
* Если структура вашего объекта фиксированная, как у робота. 🤖
* Когда память и скорость — ваши главные приоритеты. 💪
Когда лучше обойти стороной?
* Если ваш объект — это просто "мешок для всего подряд", и вы любите добавлять атрибуты на ходу. 🎒
* Когда важна максимальная динамика и гибкость.
Так что, если хотите, чтобы ваши Python-приложения летали и не съедали всю память, — обратите внимание на slots! 😉
Почему когда я пытаюсь запихнуть в dict новую фичу, Python мне говорит "нет"? 😅
@NeuroTech_IT
Знаете, как Python по умолчанию хранит все ваши объектные данные? В таком себе "кармашке" (dict) у каждого экземпляра. Удобно, когда надо прикрутить что-то новенькое на лету, но когда у вас тысячи объектов, этот кармашек может раздуться до непомерных размеров! 🐷
Представьте, что каждый объект — это человечек, а dict — его рюкзак. Положил туда монетку — рюкзак чуть тяжелее. Добавил еще одну — еще тяжелее. А если у вас миллион человечков с такими рюкзаками? 🤯
Но есть выход — slots! Это как если бы мы заранее договорились, что у каждого человечка будет только строго определенный набор кармашков для монет (атрибутов). Никаких больше "вдруг понадобится" — только то, что реально нужно.
Что это дает?
* Меньше памяти: Объекты становятся стройнее и легче. 🧘♀️
* Быстрее доступ: Найти нужную "монетку" в фиксированном кармашке куда быстрее, чем копаться в большом рюкзаке. 🚀
* Прощай, dict: Больше нет этого лишнего словаря у каждого объекта.
Когда slots — ваш лучший друг?
* Когда у вас тысячи или миллионы объектов, и каждый грамм памяти на счету. 💾
* Если структура вашего объекта фиксированная, как у робота. 🤖
* Когда память и скорость — ваши главные приоритеты. 💪
Когда лучше обойти стороной?
* Если ваш объект — это просто "мешок для всего подряд", и вы любите добавлять атрибуты на ходу. 🎒
* Когда важна максимальная динамика и гибкость.
Так что, если хотите, чтобы ваши Python-приложения летали и не съедали всю память, — обратите внимание на slots! 😉
Почему когда я пытаюсь запихнуть в dict новую фичу, Python мне говорит "нет"? 😅
@NeuroTech_IT
🚀 Pandas 3.0: Большой Братец пришёл, и он готов навести порядок!
Друзья-датасайентисты, держитесь за свои кресла! 🚀 21 января 2026 года вышел Pandas 3.0, и это вам не просто обновление, а настоящая революция в мире таблиц! 🐼✨
Что же там такого "революционного"? 👇
* Строки теперь — это НЕ "object": Забудьте про этот загадочный
* Четкое понимание, где у вас строки.
* Единый подход к пропускам (
* 🚀 Больше скорости и меньше боли с памятью!
* Copy-on-Write: Прощай, адский chained assignment! 😈 Теперь, когда вы что-то вырезаете из DataFrame, это всегда будет копия, а не какая-то загадочная "view".
* Больше никаких
* Больше никаких вопросов: "А это view или copy?"
* Делайте что хотите с копией, оригинал останется нетронутым! 🛡️
*
Было:
Стало:
Проще, читабельнее, и никакой магии! ✨
* Arrow C Interface: Будущее с zero-copy! 🏎️
Pandas теперь дружит с Arrow:
* Умеет принимать Arrow-таблицы.
* Умеет отдавать их без копирования, что супер-быстро! ⚡️
*
* Новый порядок "ухода на пенсию" (deprecations): 👴➡️
Теперь всё супер-прозрачно:
*
*
Никаких сюрпризов! 😉
⚠️ Лайфхак: Прежде чем прыгать в 3.0, обновитесь до 2.3, исправьте все
Почему-то вспомнилось, как раньше отлаживали эти "view vs copy"... 😂
@NeuroTech_IT
Друзья-датасайентисты, держитесь за свои кресла! 🚀 21 января 2026 года вышел Pandas 3.0, и это вам не просто обновление, а настоящая революция в мире таблиц! 🐼✨
Что же там такого "революционного"? 👇
* Строки теперь — это НЕ "object": Забудьте про этот загадочный
object, куда можно было запихнуть вообще всё, что угодно (и это работало медленно и печально). Теперь строки — это просто str! 🎉 Это значит:* Четкое понимание, где у вас строки.
* Единый подход к пропускам (
NaN).* 🚀 Больше скорости и меньше боли с памятью!
* Copy-on-Write: Прощай, адский chained assignment! 😈 Теперь, когда вы что-то вырезаете из DataFrame, это всегда будет копия, а не какая-то загадочная "view".
* Больше никаких
SettingWithCopyWarning! 🙌* Больше никаких вопросов: "А это view или copy?"
* Делайте что хотите с копией, оригинал останется нетронутым! 🛡️
*
pd.col(): Выражения без всяких там lambda! 🤩Было:
df.assign(c=lambda df: df.a + df.b)Стало:
df.assign(c=pd.col("a") + pd.col("b"))Проще, читабельнее, и никакой магии! ✨
* Arrow C Interface: Будущее с zero-copy! 🏎️
Pandas теперь дружит с Arrow:
* Умеет принимать Arrow-таблицы.
* Умеет отдавать их без копирования, что супер-быстро! ⚡️
*
df.__arrow_c_stream__() — ваш новый лучший друг для оптимизации.* Новый порядок "ухода на пенсию" (deprecations): 👴➡️
Теперь всё супер-прозрачно:
*
Pandas4Warning — сломается в 4.0.*
Pandas5Warning — сломается в 5.0.Никаких сюрпризов! 😉
⚠️ Лайфхак: Прежде чем прыгать в 3.0, обновитесь до 2.3, исправьте все
warning-и, а потом смело врывайтесь в новую версию!Почему-то вспомнилось, как раньше отлаживали эти "view vs copy"... 😂
@NeuroTech_IT
Тревожные люди – супергерои на работе! 🦸♀️🦸♂️
А вы знали, что ваша повышенная тревожность – это на самом деле сверхспособность? 🤯 Эксперты выяснили, что люди, которые постоянно находятся в состоянии легкого стресса, просто мастера по выискиванию рисков. Они видят опасности там, где другие проходят мимо! 🕵️♀️🕵️♂️
Так что, если вы вечно начеку, будьте горды собой! Вам прямая дорога в промышленную безопасность, охрану труда и договорную работу. Вы – бесценные сотрудники, которым сложно что-то упустить! 💪
P.S. А мы-то думали, почему у нас в команде все такие внимательные... Оказалось, это не мы их так научили, а это их суперсила! 😉
@NeuroTech_IT
А вы знали, что ваша повышенная тревожность – это на самом деле сверхспособность? 🤯 Эксперты выяснили, что люди, которые постоянно находятся в состоянии легкого стресса, просто мастера по выискиванию рисков. Они видят опасности там, где другие проходят мимо! 🕵️♀️🕵️♂️
Так что, если вы вечно начеку, будьте горды собой! Вам прямая дорога в промышленную безопасность, охрану труда и договорную работу. Вы – бесценные сотрудники, которым сложно что-то упустить! 💪
P.S. А мы-то думали, почему у нас в команде все такие внимательные... Оказалось, это не мы их так научили, а это их суперсила! 😉
@NeuroTech_IT
Оконные фреймы: когда SQL становится художником! 🖼️
Друзья, сегодня погружаемся в мир оконных функций, а точнее, в их "рамки"! 🧐 Знаете, когда нужно посчитать что-то не просто по всей таблице, а по определенному "окну" строк? Вот тут-то и появляются ROWS и RANGE!
Представьте: у вас есть таблица
* Хотите узнать, сколько всего натратил каждый юзер? 💰 С легкостью!
Если даты операций у юзера одинаковые, SQL посчитает сумму сразу по всем этим "соседям" (peers)! 😉
* А как насчет среднего по последним 3 операциям? Легко! 🚀
* А если нужен постгрес SQL и сумма за последние 7 дней? Вот вам пример! 🗓️
Главное помнить:
* ROWS – это про фиксированное количество строк, всё предсказуемо.
* RANGE – тут играем со значениями, идеально для временных интервалов и групп "соседей". Но учтите, синтаксис интервалов может отличаться в разных СУБД!
Не забывайте, что неявные фреймы могут подкинуть сюрпризы, так что лучше указывать их явно! 😉
😂 SQL: "Я посчитаю это для тебя, но где именно - решай сам!"
@NeuroTech_IT
Друзья, сегодня погружаемся в мир оконных функций, а точнее, в их "рамки"! 🧐 Знаете, когда нужно посчитать что-то не просто по всей таблице, а по определенному "окну" строк? Вот тут-то и появляются ROWS и RANGE!
Представьте: у вас есть таблица
transactions с операциями пользователей.* Хотите узнать, сколько всего натратил каждый юзер? 💰 С легкостью!
SUM(amount) OVER (
)
Если даты операций у юзера одинаковые, SQL посчитает сумму сразу по всем этим "соседям" (peers)! 😉
* А как насчет среднего по последним 3 операциям? Легко! 🚀
AVG(amount) OVER (
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
)
* А если нужен постгрес SQL и сумма за последние 7 дней? Вот вам пример! 🗓️
SUM(amount) OVER (
RANGE BETWEEN INTERVAL '7 days' PRECEDING AND CURRENT ROW
)
Главное помнить:
* ROWS – это про фиксированное количество строк, всё предсказуемо.
* RANGE – тут играем со значениями, идеально для временных интервалов и групп "соседей". Но учтите, синтаксис интервалов может отличаться в разных СУБД!
Не забывайте, что неявные фреймы могут подкинуть сюрпризы, так что лучше указывать их явно! 😉
😂 SQL: "Я посчитаю это для тебя, но где именно - решай сам!"
@NeuroTech_IT
NTLM ломаем за 12 часов? 😱
Ну что, любители безопасностей, есть новости, от которых у системных администраторов могут слегка вспотеть ладошки! 😅 Компания Mandiant накатила свежую базу данных, которая способна взломать админские NTLMv1 пароли всего за 12 часов! 🤯 Да-да, тот самый устаревший протокол, который до сих пор жив курилка в некоторых сетях. 🏥💧🏭
Хакеры, готовьтесь, а кому нужно – пора бы уже и задуматься о модернизации! 😉
P.S. Надеюсь, ваши пароли там не хранятся в открытом виде, как список покупок. 😂
@NeuroTech_IT
Ну что, любители безопасностей, есть новости, от которых у системных администраторов могут слегка вспотеть ладошки! 😅 Компания Mandiant накатила свежую базу данных, которая способна взломать админские NTLMv1 пароли всего за 12 часов! 🤯 Да-да, тот самый устаревший протокол, который до сих пор жив курилка в некоторых сетях. 🏥💧🏭
Хакеры, готовьтесь, а кому нужно – пора бы уже и задуматься о модернизации! 😉
P.S. Надеюсь, ваши пароли там не хранятся в открытом виде, как список покупок. 😂
@NeuroTech_IT