Pull to refresh
39
0
sysprg @sysprg

User

Send message

Как спроектировать кэш-библиотеку нового поколения и не умереть?

Level of difficultyMedium
Reading time14 min
Views8.3K

Всем привет! Меня зовут Алексей Майшев, я работаю Go-инженером в Авито. В этой статье рассказываю, как мы проектировали и разрабатывали кэш-библиотеку следующего поколения для Go — otter

Вы узнаете, чем нас не устроили текущие кэш-библиотеки в Go, какие подходы и оптимизации мы рассматривали и на каких остановились, как замеряли производительность и потребление памяти и в чём otter превосходит конкурентов. А ещё тут будет много теории — в процессе работы над библиотекой нам приходилось читать много страшных научных статей на тему кэшей.

Читать далее

Железо-воздушные аккумуляторы

Reading time7 min
Views8.7K

Картинка: vectorjuice, freepik

В последнее время, с широким распространением мобильной связи и всё большим внедрением электрических устройств вокруг нас, мы привыкли к активному использованию средств накопления и хранения электрической энергии. Наиболее часто (по некоторым оценкам, до 90% рынка) это литий-полимерные и литий-ионные аккумуляторы — компактные устройства, способные хранить энергию высокой плотности.

Однако у них есть и свой минус — опасность возгорания, который, надо сказать, в некоторой степени нивелируется (как самой конструкцией, так и средствами контроля заряда/разряда), но всё равно не до конца. Кроме того, они отличаются и относительно высокой стоимостью. 

Несмотря на это, ввиду своих плюсов, они всё равно используются в основном в различных мобильных устройствах, где важны компактность и малый вес.

Для стационарных же применений обычно используют другие типы аккумуляторов, в частности, свинцовые — как электролитные, так и гелевые. 

Однако есть интересный вариант аккумуляторной технологии, которая, в принципе, исключает возгорание с одной стороны, а с другой — превосходит по своим качествам свинцовые аккумуляторы, что делает её достаточно перспективной для пристального рассмотрения: речь сейчас пойдёт о железо-воздушных аккумуляторах.

Читать далее

Как устроена память внутри микропроцессора и при чем тут компиляторы

Level of difficultyMedium
Reading time12 min
Views17K

Помните, как в школе, решая примеры «в столбик», мы бормотали себе под нос: «один пишем, два в уме»? У процессора при вычислениях возникает похожая ситуация — где-то нужно хранить промежуточные результаты. В современных микропроцессорах работает множество различных блоков, обрабатывающих числа, — их называют исполнительными устройствами. Чтобы все они могли временно «складывать» свои «два в уме», требуется достаточно большой объем быстрой вспомогательной памяти.

В статье мы разберемся, как устроены запоминающие ячейки внутри процессора, почему из них строят массивы памяти и какие задачи решают компиляторы — от оптимизации по скорости, площади и энергопотреблению до генерации файлов для САПР. 

Читать далее

Как засуха в Америке меняет глобальную экономику

Level of difficultyEasy
Reading time7 min
Views3.4K

А если точнее – распределение ресурсов, таких как вода, радиочастоты, воздух и так далее. Река Колорадо пересыхает из-за устаревших законов, и нашелся человек, который способен изменить (и который уже менял) подход к распределению неисчисляемых ресурсов.

Читать далее

Решение задачи коммивояжера (TSP) в реальных приложениях

Level of difficultyEasy
Reading time7 min
Views4.4K

Образовательные программы компьютерных наук и информатики обязательно включают курс алгоритмов, это элегантные решения сложных проблем. Например, одна из самых интересных проблем комбинаторной оптимизации — задача коммивояжёра (TSP, travelling salesman problem). Суть в поиске самого выгодного маршрута, проходящего через указанные точки ровно по одному разу. Сложность задачи при точном решении брутфорсом составляет O(n!). И для неё тоже придумано несколько элегантных алгоритмов. Хотя поиск самого эффективного продолжается до сих пор.

В реальности уже нет коммивояжёров, путешествующих по городам, профессия ушла в прошлое. Но есть курьеры, таксисты, логисты, грузоперевозчики и просто туристы, которые хотят посетить максимальное количество достопримечательностей. То есть задача по-прежнему актуальна. Как же максимально эффективно настоящие бизнесы решают TSP в реальной жизни?

Читать далее

Закон Больших Чисел: доказательство и суть

Reading time8 min
Views4.2K

Что такое Закон больших чисел — и действительно ли он объясняет, почему вероятности «работают»? В этой статье мы разбираемся с этим шаг за шагом: начинаем с конкретных задач, выводим неравенство Чебышёва, формулируем и доказываем ЗБЧ — аккуратно и строго.

В финале обсуждаем, что ЗБЧ на самом деле утверждает, и почему он не доказывает принцип, на котором построена вся теория. А ещё — подготовим почву для разговора о Центральной Предельной Теореме.

Вперед к ЗБЧ

Наибольшая общая возрастающая подпоследовательность

Reading time10 min
Views1.7K

Привет! При решении контестов я нашёл интересную задачу по теме динамического программирования.
Постановка задачи: Необходимо найти наибольшую общую возрастающую подпоследовательность двух массивов.

В этой статье я разобрал несколько способов решения этой задачи с разными асимптотиками по времени.

Читать далее

Управление светом с помощью магнитного поля

Reading time7 min
Views9.3K

Картинка Freepik

Знали ли вы, что светом можно управлять с помощью магнитного поля? 

Нет, в статье ниже не пойдёт речь о создании «DIY-чёрной дыры» :-D 

А будет рассказ об интересном эффекте, открытом в 1845 году Майклом Фарадеем, благодаря чему и зародилась целая область науки, называемая «магнитооптикой». 

Читать далее

Теорема о разделяющей оси при обнаружениях столкновений

Reading time11 min
Views4.4K

Для изучения этой статьи вам потребуется базовое понимание методов обнаружения столкновений в узкой фазе, а также знание смежных с данной проблемой геометрических концепций, в частности суммы Минковского.  

Несколько лет назад я посмотрел отличную презентацию от Дирка. В ней он описывал теорему о разделяющей оси, пролегающей между выпуклыми многогранниками (видеослайды). Примерно на 18 минуте (слайд 29) он заводит речь о наложении гауссовых отображений выпуклых многогранников — как они помогают найти грани разности Минковского для этих многогранников.

Читать далее

Автоматический светодиод

Level of difficultyMedium
Reading time11 min
Views16K

Хочу поделиться с вами своей мечтой, мечтой о светодиоде, который корректирует свою яркость в соответствии с окружающим освещением… без каких-либо вспомогательных компонентов.

Читателям моего блога известно, что я работаю над обновлённой версией «Precision Clock» (но не спешите радоваться, до релиза ещё не один месяц). Одна из доработок этих «точных часов» коснулась дисплея, который теперь отображает время с точностью до миллисекунды. Причём я переработал его в корне, чтобы убрать мерцание, возникающее при записи работы часов на скоростную камеру.

Читать далее

Про свёрла

Level of difficultyEasy
Reading time10 min
Views71K

Очень плохая реклама от одного красного магазина инструментов спровоцировала меня сделать свой ликбез по свёрлам. Предлагаю расширить кругозор в слесарном деле — разобраться во всём зоопарке свёрл, доступных и недоступных в ближайшем строительном магазине. Мы не будем углубляться в тонкости обработки материалов резанием — просто расширим кругозор, чтобы, когда жизнь заставит «проковырять дырочку», вы использовали подходящий инструмент.

Читать далее

Выбор стратегии компактизации в ScyllaDB

Level of difficultyMedium
Reading time28 min
Views2.2K

ScyllaDB — это высокопроизводительная NoSQL база данных, созданная как улучшенная версия Apache Cassandra на C++. Она способна обрабатывать миллионы операций в секунду, что делает ее лидером среди распределенных баз данных. Такая производительность достигается благодаря особой архитектуре хранения данных, в центре которой находится процесс компактизации данных. Правильный выбор стратегии компактизации данных и ее оптимизация - это ключ к высокой производительности и отказоустойчивости распределенной базы данных ScyllaDB.

В этой статье рассмотрены все стратегии компактизации, их преимущества и недостатки, а также приведен детальный алгоритм выбора стратегии компактизации под конкретные use cases.

Читать далее

Оценка подхода lock-free списков

Level of difficultyMedium
Reading time12 min
Views2.4K

Привет, Хабр. Меня зовут Роман Ескин, я один из C разработчиков проекта Greengage DB. В этой статье я расскажу, как мы реализовали и протестировали lock-free подход в рамках масштабной работы по внедрению функции удаления брошенных файлов. Приглашаю вас заглянуть во внутреннюю кухню работы нашей команды при оценке этой функциональности.

Введение

Позвольте начать с краткой исторической справки: Greengage DB был запущен в 2024 году как open-source форк Greenplum — Massively Parallel Processing (MPP) аналитической системы управления базами данных, основанной на PostgreSQL. Мы начали этот проект, чтобы поддержать open-source сообщество Greenplum, который неожиданно стал проприетарным продуктом в мае 2024 года. Мы гарантируем дальнейшее развитие Greengage DB, следуя принципам открытости и прозрачности.

Так как Greengage DB основан на PostgreSQL, он унаследовал некоторые его известные особенности и проблемы. Одна из таких проблем, особенно актуальная в распределенных средах — это проблема "брошенных файлов" (orphaned files).

Эта проблема возникает, когда таблица создается и данные загружаются в рамках активной транзакции. Если происходит критический сбой до того, как транзакция будет закоммичена или отменена (например, внезапное отключение питания или неожиданное завершение работы узла базы данных), система проходит процесс восстановления после падения (crash recovery). При этом логическая таблица откатится, но физические файлы данных, связанные с этой незакоммиченной таблицей, могут остаться в файловой системе. Со временем такие брошенные файлы могут накапливаться, занимая место и приводя к ненужному расходу ресурсов. В настоящее время их удаление происходит вручную.

Недавно мы представили новый функционал, который позволяет автоматически удалять такие брошенные файлы. Полная информация об этой возможности доступна в статье Удаление брошенных файлов в Greengage DB.

Читать далее

Улучшаем датчик утечки воды просто и почти даром

Level of difficultyEasy
Reading time3 min
Views14K

В статье рассказал о своем варианте простого и дешевого датчика утечки воды. В этой статье описал свой вариант беспроводного датчика, который устраняет указанные проблемы, но остается простым и дешевым в реализации.

Читать далее

JunoCam залечивает последствия радиационного поражения

Level of difficultyEasy
Reading time6 min
Views7.5K

24.07.2025, Эван Гоф, Universe Today

Миссия «Юноны» к Юпитеру столкнулась с множеством трудностей и препятствий. Газовый гигант находится далеко от Солнца, что ограничивает доступную солнечную энергию. Расстояние также затрудняет связь с космическим аппаратом. Добавьте к этому сложную окружающую среду: мощное гравитационное притяжение Юпитера и сложная орбитальная структура его четырёх галилеевых спутников создают постоянно меняющееся поле гравитационных взаимодействий.

Однако самым большим препятствием, вероятно, является интенсивное излучение Юпитера.

У Юпитера чрезвычайно мощные магнитные поля, которые захватывают заряженные частицы, создавая разрушительную среду для космических аппаратов и их чувствительной электроники. У «Юноны» есть титановый контейнер, в котором хранится самая ценная электроника, но, к сожалению, внутри контейнера не хватило места для всего. Поскольку камера JunoCam не входит в число основных научных инструментов миссии, она не прошла отбор. JunoCam — это оптическая камера, установленная на космическом аппарате. Она предназначена прежде всего для обычных людей, желающих увидеть то же, что видит аппарат, хотя также внесла свой вклад в науку.

Читать далее

В Китае переместили квартал роботами, построили подземную парковку и вернули все обратно

Level of difficultyEasy
Reading time5 min
Views12K

В июне 2025 г. в Шанхае завершился масштабный проект по перемещению архитектурного комплекса Хуаянли весом 7,5 тысяч тонн, строительству на его месте подземной трехэтажной парковки, выхода к станциям метро и возврату комплекса на место. За перемещение отвечала армия из 432 гидравлических роботов, «шагающих» синхронно и управляемых дистанционно. Как будто этого было мало, подрядчик использовал еще несколько типов роботов во время строительства, включая те, что частично полагаются на ИИ.

Читать далее

Сжигать жир на животе. Препарат в одном шаге от одобрения FDA

Level of difficultyEasy
Reading time4 min
Views5.5K

Идея «сжигать жир в проблемной зоне» крайне востребована в мире потребления. И тайваньская компания Caliway Pharmaceuticals предлагает готовое решение. Это первая в мире инъекция, запускающая запрограммированную гибель жировых клеток в месте укола. Живот, бока, бёдра – разницы никакой. Вводи препарат и худей, создавая идеальный образ. Осталось только получить одобрение FDA.

Читать далее

Какой была Земля в период формирования первой жизни

Level of difficultyEasy
Reading time8 min
Views2.7K

Если включить поэтику — Земля была настолько другой, по сравнению с современной, что по сути это была иная планета. Общая информация сразу.

Температура между зарождением планеты, началом океанов и временем, когда фиксируются первые бактерии — от 250 до 90 градусов тепла, причём когда зарождались бактерии, океан был температурой под 90 градусов. А когда зарождалась первая сложная химия на пути к жизни и сама жизнь — под 100 градусов и больше.

В первые 100 000 000 лет после формирования Земли, Солнце было тусклее в целом на 30%, но сильнее излучало в ультрафиолете и рентгеновском диапазонах.

Самая первая атмосфера — после формирования Земли как геоида, состояла из водорода и гидритов — водяного пара, метана и аммиака. После столкновения с Теей летучие газы из атмосферы почти пропали.

Вторая атмосфера, при которой формировалась первая сложная химия и затем жизнь, состояла из углекислоты, в 2 раза меньше азота чем сегодня, кислорода почти не фиксируется. Атмосфера была не окислительной, как современная, а слабовосстановительная — это снижало нагрузку на химические соединения, которые вели самоподдерживающиеся реакции. Ещё в атмосфере было немного аммиака и метана, эти вещества окисляются кислородом в современный период..

Озонового слоя даже в зачатке не было, Землю насквозь просвечивали все возможные лучи, энергетические частицы, включая ультрафиолет.

Земля вращалась в 6 раз быстрее, сутки длились 4 часа.

Давление атмосферы достигало 10 — 100 атмосфер, на начальном этапе фиксируется «стабильность» в виде 27 атмосфер, но когда бывали сильные столкновения с метеоритами, извержения, давление достигало 100 атмосфер. В ранний период давление было настолько большим, что вода была в жидком состоянии даже при 250 градусах.

Читать далее

Последовательность Туэ-Морса и многочлены

Level of difficultyMedium
Reading time2 min
Views1.8K

Последовательность Туэ-Морса может встретиться в совершенно разных местах. Одним из которых является задача о многочленах, которая, на первый взгляд, не имеет решения. О такой задаче и её решении и идёт речь в этой статье.

Читать далее

Алгоритм Форда–Фалкерсона: как найти максимальный поток в сети (для начинающих)

Reading time7 min
Views2.2K

Привет, будущие инженеры и программисты! Сегодня мы разберём классический алгоритм Форда–Фалкерсона — дедушку всех алгоритмов максимального потока. Если алгоритм Диница — это современный спорткар, то Форд–Фалкерсон — это надёжная "классика", которая учит основам и помогает понять суть задачи.

Представьте, что вы владелец сети трубопроводов, и вам нужно понять, сколько воды можно прокачать из водохранилища в город. У каждой трубы есть максимальная пропускная способность, и вода может течь только в одном направлении. Ваша задача — найти такой способ распределения воды по трубам, чтобы в город попало максимальное количество воды. Это и есть задача максимального потока!

Читать далее

Information

Rating
Does not participate
Date of birth
Registered
Activity