Обновить
39
0
sysprg@sysprg

Пользователь

Отправить сообщение

Про свёрла

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели57K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели7.6K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.1K

Привет, Хабр. Меня зовут Роман Ескин, я один из 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.

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.3K

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.5K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.3K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели1.7K

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

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

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

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

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели1.2K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели1.9K

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

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

Читать далее

Простой ультразвуковой отпугиватель собак

Время на прочтение8 мин
Охват и читатели7.9K

Сегодня пойдёт речь о такой специфической теме, которая хорошо знакома велосипедистам (но, полагаю, и всем остальным тоже): борьба с нападением собак на едущих велосипедистов.

Зачастую, конечно, это заканчивается обычным «обгавкиванием» :‑В

Но, я‑то не знаю, что у них на уме...

Поэтому, приходится «обгавкивать» их в ответ, иногда даже применяя человеческие непечатные выражения, а, для убедительности своих слов, — взяв в одну руку «оружие пролетариата»:‑)

Тем не менее, хотелось бы и дальше носить маску культурного человека, не снимая её даже в такие моменты:‑) и я тут подумал: а что, если возложить задачу конверсейшена с собаками — на электронику?

Читать далее

Вы тоже заказываете платы, компоненты и всячину здесь?

Время на прочтение11 мин
Охват и читатели31K

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели2.4K

Привет, будущие инженеры и программисты! Сегодня мы погрузимся в мир алгоритмов и разберём одну очень крутую штуку — алгоритм Диница. Звучит сложно? Не переживайте, мы разберём его по полочкам, как конструктор LEGO, и вы поймёте, как он помогает решать реальные задачи.

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

Читать далее

Прикладное руководство по настройке приёмников ГНСС для FPV

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели3.3K

Привет, решил немного отвлечься от Java и поделиться своим опытом в любительском дроностроении, а именно в настройке приёмников ГНСС, с помощью которых птица сможет вернуться домой при обрыве сигнала или по крайней мере передать свои последние координаты. Это сильно облегчит поиск, особенно, если вы всё сделали правильно, передаёте координаты в телеметрии* и пишете их в лог в вашем пульте ;)

Полетели

Биполярный транзистор. Принцип работы

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.5K

Есть множество материалов написанных о работе полупроводников и работе транзисторов.

Зачем еще одна?

Дело в том, что я заметил такую тенденцию в вузовских учебниках – довольно подробное описание работы p-n перехода и очень поверхностное описание работы биполярного транзистора. Зачастую «механика» работы такого транзистора описывается довольно схематично (в совершенно неработоспособном виде) и далее следует быстрый переход на описание внешних параметров. Причем у этих же авторов описание «механики» работы полевого транзистора дается куда обширнее. Видимо, авторы учебников сами не очень «догоняют», как там все работает. И это не удивительно. Человечество вначале эры полупроводников пыталось повторить схему работы вакуумной лампы на полупроводниках, т.к. работа лампы достаточно логична. И собственно полевые транзисторы, в какой-то степени повторяют принцип работы вакуумных ламп. Но вот биполярный транзистор, хотя и был изобретен первым, но это было скорее случайное изобретение, а не осознанный путь к цели.

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

Если Вы задавали себе вопросы наподобие таких:

почему через коллекторный p-n переход, включенный в обратном направлении, течет ток, да еще и самый, что не на есть главный рабочий ток?

почему неосновные носители тока базы в биполярном транзисторе, вдруг стали вполне себе главными представителями тока?

Почему ток в базы через открытый эмиттерный p-n переход меньше тока через закрый коллекторный p-n переход?

Ну и совсем «подковыристый» вопрос. Почему при включении биполярного транзистора по схеме с общим эмиттером, когда транзистор полностью открыт (находится в режиме насыщения), напряжение на коллекторе становиться меньше напряжения базы? Ведь если смотреть на транзистор с точки зрения пирога n-p-n переходов (как рисуют в учебниках), то сумма падения напряжения на двух p-n переходах (открытом эмиттерном и закрытом коллекторном) должно быть больше напряжения на одном открытом эмиттерном переходе. А оно у нас меньше.

Ответы на эти вопросы под катом

О векторном вычислении экспоненциальной функции

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.4K

Как вычислить экспоненциальную функцию быстро и с минимальной погрешностью? Пишем векторизованный код.

Читать далее

Ускоряем валидацию UTF-8 в 10 раз (>10 ГБ/с): реализация алгоритма Lemire-Keiser на Go с ARM NEON

Время на прочтение8 мин
Охват и читатели725

UTF-8 валидация — одна из базовых операций при работе с текстом, которая выполняется миллионы раз в секунду в современных приложениях. Стандартная реализация в Go, хоть и корректная, далека от оптимальной по производительности. В этой статье расскажу, как мне удалось ускорить валидацию UTF-8 в 10 раз, используя SIMD‑инструкции ARM NEON и алгоритм из статьи «Validating UTF-8 In Less Than One Instruction Per Byte» Джона Кейзера и Дэниела Лемира.

Читать далее

Метод кросс-энтропии: простейшая эвристика для сложнейших задач

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели3.6K
Сколько эвристик вы знаете? Муравьи, отжиг, генетика, рой частиц, пчелы, светлячки, кукушки, гуси, совы, летучие мыши, осьминоги, дельфины, киты, шимпанзе, гориллы, львы, слоны, гравитация, электромагнетизм, вода, музыка… количество эвристик уже давно перевалило за полсотни. Все они вдохновлены природными процессами и явлениями, что делает их наглядными и понятными.

Но есть и строго математические методы, например, Байесовская (регрессия Гаусовских процессов) или информационно-геометрическая. Однако, есть один математический метод, выделяющийся на фоне абсолютно всех эвристик своей невероятной простотой и гибкостью, которая оказывается незаменимой в решении самых сложных комбинаторных задач и задач стохастического программирования — это метод кросс-энтропии.
Читать дальше →

Неправильный Эффект Холла и странное поведение электрона в полупроводниках p-типа

Время на прочтение4 мин
Охват и читатели1.2K

В данной заметке хотелось бы обратить внимание на Эффект Холла в полупроводниках p-типа. Хотя в вузовских учебниках говориться об эффекте Холла в таких полупроводниках, но ни слова не упоминается о том, что невозможно объяснить результат с точки зрения классической физики, если не сделать допущение о положительном носителя тока - «Дырке». Хотя, фактически носителями тока в полупроводниках остаются электроны.

Вообще эффект Холла в p-полупроводниках – это удивительное проявление квантового поведения электронов в макро-масштабе.

Читать далее

Пара слов об алгебре интервалов

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели3K

Интервалы, интервалы,‑ где тут лево, где тут право...

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

На практике однако встречаются и более сложные задачи. Допустим, например, что в некой гостинице есть два свободных номера. Но один свободен со 2-го по 5-е число, а второй - с 6-го по 10-е. Клиент интересуется, есть ли возможность поселения на 8 дней? Правильный ответ - "да, есть, но с переселением (лесенкой)". Для такого ответа программа должна уметь распознать, что интервалы [2, 5] и [6, 10] являются смежными , а значит, их можно сложить, получив общий доступный интервал [2, 10], длина которого (9) превышает запрашиваемый.

Другая более редкая, но и более интересная задача - определить область пересечения двух множеств интервалов. Сложность в том, что количество интервалов в сравниваемых множествах может быть произвольным. Программист, который умеет только в сравнения "на меньше/больше" (или даже в between), столкнется при реализации с трудностями формализации.

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

Поехали!

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность