
Продолжаем рассказывать о разработке нашего Open Source проекта Taigram.
Taigram - это Open Source Self-Hosted решение по отправке уведомлений о событиях из менеджера управления проектами Taiga в Telegram.
C#, C++, Lua
Продолжаем рассказывать о разработке нашего Open Source проекта Taigram.
Taigram - это Open Source Self-Hosted решение по отправке уведомлений о событиях из менеджера управления проектами Taiga в Telegram.
Привет, Хабр!
Сегодня мы познакомимся с механизмом slots в Python, который способен значительно оптимизировать использование памяти. Этот инструмент особенно полезен в системах, где необходимо создать миллионы объектов, позволяя избежать утечек памяти и тормозов. Каждый экземпляр класса по умолчанию хранит свои атрибуты в словаре, что предоставляет гибкость, но также увеличивает расход памяти.
Использование slots позволяет заранее определить набор атрибутов класса, исключая создание дополнительного словаря и, как следствие, снижая объем памяти, занимаемой каждым объектом.
Как я писал проводник для Wear OS и что из этого вышло
О чём тут пойдёт речь:
- Почему я решил этим заняться
- Как я разрабатывал приложение (в общих чертах)
- Обманчивые гайдлайны Google и о том, как я пытался победить банальные (на первый взгляд) проблемы
Internet Archive или Архив интернета занимается поиском и хранением накопленной информации: будь то книги, видео или программное обеспечение. В 2024 году сервис подвергся хакерской атаке, что привело к утечке данных 31 млн пользователей. Также на организацию неоднократно подавали в суд из-за нарушений в сфере интеллектуальной собственности. Рассказываем в нашей статье историю взлетов и падений Архива.
Один из частых вопросов, которые я получаю от студентов или на наших внутренних студийных лекциях, — это какую стратегию выделения памяти лучше применять при разработке? Ответ: хотелось бы никакую, т.е. не использовать аллокации рантайм, но жизнь вносит свои коррективы.
Мы все знаем, что нельзя просто выделять память, когда вздумается, но откладываем решение этой проблемы до конца проекта. К тому времени дедлайны начинают давить, майлстоуны и некоторые части тела подгорать, и обычно уже слишком поздно, чтобы вносить серьезные изменения. Ну хотябы есть пара недель перед релизом, чтобы поправить основные проблемы.
Динамическое выделение памяти — это как раз то, что относится к той категории вещей для большинства программистов, о которой все знают, но забивают пока не приходит OOM. Хотя немного продуманности и предварительного планирования могут помочь избежать большинства этих проблем, и даст небольшую надежду, что игра не вылит по памяти в самый неподходящий момент.
Попробую убедить вас не использовать std::string/vector в функциях. При написании кода для пк, неважно - игры это или что-то другое, программа обычно разделяется на условно пять областей памяти.
В Японии начались продажи первых в мире внешних аккумуляторов на основе натрий-ионной технологии. Устройство представила компания Elecom. Производитель заявляет, что новинка отличается повышенной безопасностью, долговечностью и меньшим воздействием на окружающую среду по сравнению с традиционными Li-ion-аналогами. Звучит хорошо, но давайте разберемся, что же там выпустили японцы. Чем хороша новая технология и какие есть перспективы?
Не позволяйте вашем мыслям стать учебным материалом для ИИ — или всплыть в случае утечки данных. Неважно, какого чат-бота вы выберете: чем больше вы делитесь, тем полезнее он становится.
Пациенты загружают результаты анализов для расшифровки, разработчики отправляют фрагменты кода для отладки.
Однако некоторые исследователи ИИ советуют с осторожностью относиться к тому, что мы рассказываем этим человечно звучащим инструментам. Особенно рискованно делиться такой информацией, как паспортные данные или корпоративные секреты.
SomeFunction()
{
...
if (false)
{
...
}
...
}