Привет, Хабр. Меня зовут Роман Ескин, я один из 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.
Читать далееПривет, Хабр! В современном мире сети растут крайне быстро, устройств становится всё больше, в связи с чем растёт и количество уязвимых мест. Ручной мониторинг открытых портов, сервисов и дыр в безопасности — схоже с поиском иглы в стоге сена, когда в кармане лежит магнит.
Чем полезна автоматизация и какие проблемы она решает:
— Время — сканирование сотен IP вручную может занять часы
— Человеческий фактор — пропустить критичный порт или уязвимость очень легко
— Регулярность — безопасность требует постоянного контроля и мониторинга, а не разовых проверок
Артём Еремин, системный инженер Nova Container Platform в Orion soft.
Всем привет! Недавно я выступал на мероприятии СНОВА О КУБЕРЕ и рассказывал о Service Mesh. Тема достойна и поста на Хабре, потому что Service Mesh стал распространенной фишкой, но при этом не самой простой.
Мы в Orion soft решили внедрить ее в нашу платформу оркестрации Nova Container Platform, и по пути столкнулись с целым рядом «подводных камней»: от выбора самого решения до нюансов настройки MTLS и организации точек входа трафика в наш кластер. В этой статье я расскажу, как мы выбирали реализацию для Service Mesh, почему остановились на Istio, какие вопросы решали и что из этого получилось.
Читать далееЕсли поискать по Хабру статьи, связанные с Expression, то можно найти несколько десятков страниц статей. Однако, я решил написать еще одну. Цель с которой я решил это сделать‑ разобрать деревья выражений для разработчиков которые еще не имели с ними дела. Для тех кому это кажется магией. И самое главное, показать для чего они могут пригодиться.
Что же далее...Нескончаемые гостевые книги, яркие анимированные баннеры и счётчики визитов… В нулевых каждый компьютерный энтузиаст мечтал о «своём месте» в интернете — даже если это был крохотный персональный сайт. Для этого существовали бесплатные хостинги: GeoCities, Tripod, FortuneCity, «Народ.ру», uCoz и им подобные. Сейчас это web-артефакты, но без них вряд ли были бы возможны современные соцсети и CMS. Я решил немного поностальгировать и вспомнить, как они работали и чем запомнились. Приглашаю под кат.
ЧитатьПривет, Хаброжители! Безопасность приложений — приоритетная задача для веб-разработчиков. Вы работаете над интерфейсом фронтенд-фреймворка? Разрабатываете серверную часть? В любом случае вам придется разбираться с угрозами и уязвимостями и понимать, как закрыть, дырки через которые хотят пролезть черные хакеры.
Здесь вы найдете все, что нужно практикующему разработчику для защиты приложений как в браузере, так и на сервере. Проверенные на практике методы применимы к любому стеку и проиллюстрированы конкретными примерами из обширного опыта автора. Вы освоите обязательные принципы безопасности и даже узнаете о методах и инструментах, которые используют злоумышленники для взлома систем.
Читать далееПриложения для планирования и управления проектами призваны помочь нам успешно разрабатывать и поддерживать проекты в рамках нашего бизнеса. Сегодня, в эпоху цифровых технологий, когда все больше отраслей уходит в онлайн и все больше людей работают дистанционно, на рынке программного обеспечения для управления проектами царит настоящие изобилие. Но как понять, какие продукты действительно хороши, а от каких лучше держаться подальше?
Читать далееВсем привет! Я уже писал про своего голосового помощника Ирину статьи на Хабре: раз, два и три; первый раз был аж 3.5 года назад.
Самое главное — опенсорс проект жив. А если опенсорс жив в течение 3.5 лет — значит, он дошел до какой‑то точки зрелости. А если у него 900 звезд на Гитхабе — значит, им кто‑то пользуется, и даже успешно :)
TL;DR> Python с простой архитектурой. Работает оффлайн, полностью локально и приватно. Можно дописывать свои скиллы через плагины. Плагинов много, есть от комьюнити. Поддержка Home Assistant. Поддержка кучи TTS. Поддержка LLM по OpenAI‑совместимому API, можно сделать онлайн или оффлайн. Есть клиент‑сервер.
Читать далееПривет, Хабр! Меня зовут Иван Чаплыгин и я руковожу отделом переводов в компании КРОК. Сегодня расскажу про пять основных барьеров на пути к повсеместному внедрению искусственного интеллекта и машинного перевода в масштабах крупной компании, и о том, как их можно обойти. Предлагаю сразу оставить за скобками проблему качества перевода как таковую и поговорить о более земных насущных вещах — как лучше использовать ИИ и что нужно продумать заранее, чтобы не наломать дров. Причем некоторые пункты касаются не только перевода, но вообще любой деятельности, которую мы автоматизируем с помощью ИИ. За подробностями добро пожаловать под кат.
Читать далееВ рамках анализа социальных сетей может понадобиться проверить гипотезу о том, объясняются ли связи одного рода (например, деловые) - связями другого рода (например, дружескими и/или родственными). Сделать это для сетевых данных (графов) можно с помощью метода QAP-корреляции и QAP-регрессии. Ниже подробнее и на примерах о том, почему это нужно делать именно так, и как это делать, например, в программе UCINet. (Спойлер: будут ссылки на реализацию методов в R и Python).
QAP-регрессия - Читать далееПривет, Хабр! С вами Антон Паус. Я четыре года проработал системным инженером в российском офисе Cisco, а сейчас работаю DevOps-инженером в Cloud.ru — занимаюсь облаком собственной разработки.
С 2024 года я веду проект по разработке новой архитектуры кластера виртуализации Evolution IaaS на базе Kubernetes. Раньше мы использовали связку Ansible и Docker, и это отлично работало на существующем масштабе, но с ростом клиентской нагрузки столкнулись с рядом сложностей, что в конечно итоге и сподвигло нас на обновление архитектуры.
Проект получился довольно объемным и со множеством нюансов и сложностей, о которых я, возможно, напишу в следующих статьях. В этой же хотел остановиться на нюансах сетевого взаимодействия в кластере bare metal Kubernetes — в ходе работы возник ряд сложностей (например, с первоначальной установкой K8s на сервер с несколькими интерфейсами), о решении которых я и расскажу.
Если развернуть кластер Kubernetes на железе — в ваших обозримых планах, надеюсь, мои изыскания будут полезны. А еще в статье довольно много сетевки, так что приготовьтесь!
Читать дальше— Зарубиться и выяснить, кто в офисе печатает быстрее?
— Легко!
— Но везде ли удобно?
— Нет, но сейчас разберёмся...
Рассказываем, как из боли в музыкальном маркетинге родилась IWBL — платформа для рекламы треков через TikTok без лички, скама и таблиц.
Читать далееВсем привет! Я Артем Гринев, работаю директором продуктов в ЭКОПСИ. В 2024 году мы с Хабром снова провели исследование IT-брендов работодателей в России, в котором приняли участие 33 946 IT-специалистов из 670 организаций по всей стране. По итогам работы только 19 % компаний имеют сформированный бренд работодателя. Сегодня расскажу, какие критерии важны российским IT-соискателям в 2025 году. Приглашаю под кат.
Читать далееКаждый баг в проекте проходит определенный жизненный цикл — от момента обнаружения до полного устранения. В новой статье мы подробно рассматриваем ключевые этапы этого процесса, уделяя особое внимание рабочим статусам багов в системе JIRA, таким как «Open», «Blocked», «Closed» и «Rejected».
Автор делится практическими примерами из реального опыта, чтобы показать, как стандартизация процессов помогает улучшить коммуникацию внутри команды, повысить качество продукта и упростить управление ошибками. Узнайте, почему единый подход к работе с багами — это не просто формальность, а важный инструмент для эффективного ведения проекта.
Читать далееИИ впервые самостоятельно выполнил сложную хирургическую операцию на животном, управляя роботом DaVinci без вмешательства человека (но при наблюдении последнего, конечно). Система SRT-H продемонстрировала точность, сравнимую с работой опытного хирурга. Она построена на основе нейросетей типа трансформеров — модели, которые умеют учитывать весь контекст и принимать решения шаг за шагом.
Давайте обсудим, как ИИ обучается оперировать, какие технологии обеспечивают нормальную работу и какие перспективы это открывает для медицины — от рутинных процедур до сложных вмешательств.
Читать далееСледуя устоявшемуся квартальному ритму выпуска значимых релизов, мы выпустили стабильные версии Angie и Angie PRO 1.10 — форка nginx, развиваемого в основном бывшими ключевыми разработчиками оригинального проекта.
Как и в прошлый раз, расскажем подробнее о нововведениях, приводя примеры. Вы узнаете, в чём ключевая фишка нового релиза (картинка под заголовком намекает); также слегка приоткроем завесу тайны над тем, что у нас припасено на будущее.
А пока — краткий список нововведений, которые будут разобраны ниже:
— автоматическое проксирование и балансировка веб-сервисов в Docker-контейнерах (или Podman);
— автоматическое получение TLS-сертификатов для потокового модуля (stream);
— прием соединений Multipath TCP (MPTCP);
— контроль перегрузки CUBIC в QUIC-соединениях;
— привязка сессий с внешним хранилищем в модуле stream;
— новые режимы привязки сессий при проксировании HTTP-запросов;
— режим постоянного перехода на резервную группу в модуле stream.
Ошибки в Java по ГОСТу? Да, в этой статье мы вам расскажем, что это за ГОСТ, какие категории ошибок в нём существуют, какие из них относятся к Java, и даже покажем примеры из реальных проектов.
Читать далееПривет, Хабр!
Меня зовут Дмитрий, и я бэкенд-разработчик в SENSE с 10-летним опытом. За это время я успел поработать с финтех-проектами, автоматизировал обработку заказов для интернет-магазинов, но GraphQL долгое время оставался для меня загадочной технологией — я просто не сталкивался с ним в работе. А когда он мне понадобился, то обнаружил, что толковых материалов по Spring-реализации GraphQL очень мало. Поэтому, я решил не только разобраться самостоятельно в теме, но и написать гайд для тех, кто, как и я, только начинает погружаться в эту тему.
Разбираться будем постепенно: в первой статье покажу, как создать проект с GraphQL с нуля. Поехали!
Читать далееОчень часто проекты, в разработку которых на самом старте были вложены большие суммы, оказываются никому не нужными и исчезают в бесчисленных закоулках и в бездонных глубинах интернета. Но порой, проекты, которые изначально делаешь «на коленке», неожиданно вырастают в нечто большее — в уютное, живое сообщество, где важнее не продажи, метрики, трафик и не лайки, а возможность делиться, обсуждать и просто быть собой. Именно таким проектом за последний год стала наша Капибара.
Kapi.bar появился как независимая платформа. Без бюджета, без офисов, без KPI. Мы просто хотели сделать альтернативу известному ресурсу, которой будет не просто приятно пользоваться, а где ты можешь напрямую влиять на то, какой контент становится популярным, а какой нет. Вы наверное помните, что последней каплей, переполнившей чашу нашего терпения стало полное уничтожение честной рейтинговой системы на том ресурсе, где мы все ранее зависали и за этот год оказалось, что нас таких — не один и не два, нас целое сообщество. И это невероятно вдохновляет!
За этот год в Kapi.bar многое поменялось. Мы добавили десятки фич, вычистили не один баг (правда ранее сами‑же их и допустили, но кто не ошибается), наконец начали разбираться с SEO, провели тихую, но упорную работу над повышением стабильности системы. И, что немаловажно — начали глубоко размышлять над философией Капибары и формулировать, кто мы вообще такие, для чего всё это и почему эта история — не только про код.
Эта статья — не рекламный релиз и не набор bullet‑поинтов из changelog. Мы просто хотим рассказать, что произошло за год. Что стало лучше, что сломалось и было починено. И да, немного про поисковики тоже будет — с ними, как оказалось, тоже можно подружиться.
Читать далее