Pull to refresh
4
0
xRay @xRay

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

Send message

Распределенный SQL: альтернатива шардированию баз данных

Level of difficultyHard
Reading time7 min
Views20K

Шардирование баз данных – это процесс разделения данных на меньшие части, называемые «шарды». Эта техника обычно используется, когда возникает потребность в масштабировании записей. В течение жизненного цикла успешного приложения способность сервера его базы обрабатывать операции записи рано или поздно достигает своего предела. Деление данных на несколько шардов – с размещением каждого на собственном сервере БД – уменьшает нагрузку на отдельные узлы, по сути, повышая записывающую способность базы данных в целом. Этот процесс и является шардингом.

Распределённый SQL представляет новый способ масштабирования реляционных баз данных с помощью полностью автоматизированной и прозрачной для приложений стратегии, подобной шардингу. Распределённые БД SQL изначально спроектированы под практически линейное масштабирование. В текущей статье вы познакомитесь с основами распределённого SQL и узнаете, как начать работу с этими базами данных.
Читать дальше →

Сбор и анализ логов в Linux

Reading time8 min
Views56K

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

В этой статье мы будем говорить о том, как устроено логирование событий в ОС Linux. В качестве примера будет рассматриваться Ubuntu Linux 22.04, однако в других дистрибутивах основные элементы будут сходными.   

Читать далее

Догнать Jira за полгода… Российская Jira 2.0

Reading time7 min
Views16K

Atlassian (Jira, Confluence) ушёл из России. +‑ с июня 2022г. в 8 раз выросло количество обращений на импортозамещение этих сервисов в EvaTeam. Мы в EvaTeam полгода закрывали разрыв по функциональности с Jira и Confluence.

К декабрю 2022 закрыли разрыв (Осталось улучшить популярные плагины типа «structure») + сделали крутой импорт.

Основной болью на декабрь 2022г. оставался интерфейс (по словам клиентов). Он был немного другой, пользователи не хотели привыкать. Было принято стратегическое решение — сделать полный клон. Вариант интерфейса «Jira».

Ниже описание со скриншотами того, что удалось разработать за полгода. Российские разработчики сделали за полгода то, что разрабатывалось и внедрялось 20 лет (первый релиз Jira 2002 год).

Кратко, что будет в этой статье:

WorkFlow, GitHub, GitLab, Автоматизация, Миграция из Jira № 1, Гант, Отчеты, Дашборды, Time‑tracker, BQL, аналоги плагинов Tempo, Scriptrunner, draw.io, а также On‑Premise‑версия и т. д. в обновленной EvaProject и EvaWiki

Читать далее

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Reading time29 min
Views27K

Когда человек раньше говорил что он контролирует весь мир, то его обычно помещали в соседнюю палату с Бонапартом Наполеоном. Надеюсь, что эти времена остались в прошлом и каждый желающий может анализировать геоданные всей земли и получать ответы на свои глобальные вопросы за минуты и секунды. Я опубликовал Openstreetmap_h3 — свой проект, который позволяет производить геоаналитику над данными из OpenStreetMap в PostGIS или в движке запросов, способном работать с Apache Arrow/Parquet.

Первым делом передаю привет хейтерам и скептикам. То что я разработал — действительно уникально и решает проблему преобразования и анализа геоданных используя обычные и привычные инструменты доступные каждому аналитику и датасаенс специалисту без бигдат, GPGPU, FPGA. То что выглядит сейчас простым в использовании и в коде — это мой личный проект в который я инвестировал свои отпуска, выходные, бессонные ночи и уйму личного времени за последние 3 года. Может быть я поделюсь и предысторией проекта и граблями по которым ходил, но сначала я все же опишу конечный результат.

Первый пост не претендует на монографию, начну с краткого обзора...

Читать далее

Что выбрать для очередного API: HTTP или gRPC

Reading time6 min
Views24K


Команда VK Cloud перевела статью с подробным техническим сравнением двух типов API: HTTP и gRPC. Автор рассказывает о своем опыте работы и описывает нюансы, преимущества и недостатки каждой технологии.
Читать дальше →

Kodi перестал обновлять информацию о фильмах, потому что TMDB заблокировал доступ пользователям из России

Level of difficultyEasy
Reading time3 min
Views30K

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

The Movie Database (TMDB) - это популярная редактируемая пользователями база данных фильмов и сериалов, которая содержит описания большинства фильмов и обложки на русском языке.

При помощи своего парсера Kodi может идентифицировать фильм по названию файла, а затем скачать описание, обложку, актёров и многое другое с TMDB.

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

Kodi c The Movie Database (TMDB) без VPN

«Кандидат сбежал в слезах»: 5 главных вопросов для собеседования на Python разработчика

Reading time3 min
Views106K

В июле и августе 1991 года я, с подачи Гвидо Ван Россума, проводил технические интервью на позицию Middle Python Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Python». Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько дней — старый имел слишком жесткий закос под промышленное программирование.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.

Читать далее

Прогнозирование авиапассажиропотока между городами РФ

Reading time4 min
Views4.5K

Всем привет!

Это моя первая статья на Хабре, поэтому буду рад комментариям, советам, предложениям и любой реакции :)

Я работаю в авиакомпанию, занимаюсь анализом продаж, что сильно связано в том числе с планированием и прогнозированием. В условиях, когда российский рынок авиаперевозок сужается, авиакомпании стремятся оптимизировать свою маршрутную сеть, а если и развиваться - то только на направлениях с высоким пассажиропотоком. Дефицит самолетов в условиях санкций делает ошибки непростительными, поэтому своей целью я ставил разработку модели прогнозирования трафика между городами РФ.

Читать далее

Краткий гайд по эргономике для трудяг IT-индустрии

Reading time9 min
Views24K

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

Читать далее

Git для ленивых: обзор консольной утилиты Lazygit

Reading time7 min
Views32K

При работе с Git-репозиториями часто нужно выполнять множество одинаковых действий: фиксировать изменения, переключать ветки, синхронизировать репозитории. Всё это требует ввода соответствующих команд в терминале. Когда частота ввода повышается до утомительной, на помощь могут прийти различные GUI-инструменты. В статье расскажу об одном из них — Lazygit, легковесном консольном клиенте для Git, который облегчает и упрощает работу с репозиториями.

Читать далее

Js, трюки, наблюдения, бенчмарки и как Лиса уничтожает Хром. Я протестировал всё, что вам было лень

Reading time4 min
Views26K
Картинка, конечно, стронгли анрилейтед

Разные трюки я тестировал на Google Chrome 107.0.5304.107 и Mozilla Firefox 107.0 на Windows 10.

Чтобы результаты всегда были железно воспроизводимыми, я отключил все С-State’ы, ядра зафиксировал на 5 ГГц.

У меня 9900К, это Coffee Lake c AVX256, какие оптимизации применит Jit для вашего процессора — я не знаю, результат на вашем компьютере может отличаться от моего, в т.ч. из-за микроархитектуры процессора.

Скорость парсинга кода тоже входит в бенчмарк, поэтому браузер с быстрым парсером будет впереди.
Читать дальше →

Обзор книги «Data Science. Наука о данных с нуля», отличная книга для начинающих

Reading time10 min
Views20K

Всем доброго времени суток! Так как о Data Science мы слышим всё чаще и чаще, предлагаю вам обзор книги, что будет полезна для начинающих.

Публикую обзор книги с моего телеграмм-канала IT-старт t.me/it_begin на книгу "Data Science.Наука о данных для начинающих".

Автор книги Джоэл Грас.

Стоит читать? Да! Почему? Опишу в статье.

Читать далее

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Как дела с кодом?

Reading time5 min
Views8.6K

В предыдущих двух постах (раз, два) мы разобрали, какие проблемы решает гексагональная архитектура и как выглядит архитектура у нас в проекте. Теперь давайте посмотрим, как обстоят дела с кодом, который должен поддерживать описанную архитектуру.

Как я уже писал, мы взяли из DDD тактические шаблоны.

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

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

Для этого используются уникальные идентификаторы.

Сущность в коде нашего проекта должна иметь:

Читать далее

Наши 5 лет с инфраструктурой «ВсеИнструменты.ру»: от нескольких ВМ до отказоустойчивого решения в трёх дата-центрах

Reading time13 min
Views14K

Cтатья посвящена проекту «ВсеИнструменты.ру» — крупнейшему интернет-магазину DIY-товаров и нашему клиенту по совместительству. Расскажем, с чего начинали сотрудничество более пяти лет назад, как сейчас обстоят дела и куда мы вместе идём. Поговорим о сопровождавших этот путь технических вызовах и особенностях решений в инфраструктуре, которые позволили бизнесу добиться впечатляющего роста.

«ВсеИнструменты.ру» — изначально онлайн-ритейлер товаров для дома и дачи, строительства и ремонта. С 2006 года активно развивает сеть фирменных торговых точек, а в настоящее время насчитывает более 600 собственных магазинов в 264 городах России и маркетплейс. Численность сотрудников превышает 7000 человек. 93% продаж приходится на онлайн, а это порядка 1000 RPS и ~1 млн уникальных посетителей в день.

Читать далее

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Reading time12 min
Views104K

Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект E-station (EasyWorkStation). Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.

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

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

А теперь ретроспектива

Краткое руководство по работе с данными с помощью Miller

Reading time3 min
Views3.5K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, в которой рассказывается о Miller — автономном, легковесном и мощном интерфейсе командной строки (Command Line Interface, CLI) для работы с данными в форматах CSV, JSON и некоторых других.


Интересно? Тогда прошу под кат.

Читать дальше →

Как увеличить продажи в интернет-магазине с помощью объединения корзины и чекаута

Reading time5 min
Views3.1K

Каждое дополнительное действие, выполняемое во время оформления заказа, снижает вероятность того, что клиент совершит покупку. Средний показатель отказа от корзины равен 70% — значительная потеря потенциальной прибыли.

В данном материале я хочу рассказать про одностраничное оформление заказа и его влияние на конверсию интернет-магазина.

Читать далее

Google foobar challenge — это для себя

Reading time4 min
Views7.6K

Здравствуйте, уважаемые хабровчане! Хотел бы поделиться мыслями и впечатлениями по поводу только что завершённого Google foobar code challenge.

Многие, наверняка, слышали как, после очередного поискового запроса по программистской тематике, страничка поисковика Google интригующе раздваивается и появляется предложение порешать задачки. Почти месяц назад экран раздвоился и передо мной. 

С этим явлением связаны некоторие слухи и легенды и, чтобы помочь будущим участникам вызова Google максимально эффективно использовать подвернувшийся случай для своего развития, хотелось бы поделиться своими мыслями и впечатлениями по горячим следам.

Если подытожить кратко, то этот вызов — подарок судьбы, инструмент для личного и профессионального саморазвития, этап профессионального роста. Но это ни в коем случае не повод для "фаллометрии" и для демонстрации своего превосходства. Google foobar challenge — это для себя.

Первое, что хочется отметить: этот вызов — удача, которой ещё нужно правильно воспользоваться. Каким образом система выбирает кандидата — неизвестно. Точнее, примерно понятно, что по истории поисковых запросов. Но, также, понятно, что подбор очень нетривиальный, высокоинтеллектуальный, и, вполне вероятно, что с вмешательством живых людей. Не стоит ожидать что удастся схитрить. Да, можно пытаться заставить систему выбрать именно вас, открывая в десятке браузеров сотни вкладок со stackoverflow, но, разумнее, не спешить, просто жить своей обычной жизнью, работать и ждать когда это случится само, когда вселенная решит, что время пришло.

Читать далее

В очередь, ...! Как управлять состоянием системы через события

Reading time11 min
Views11K

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

Читать далее

Парсим сайты с защитой от ботов

Reading time26 min
Views52K

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

Речь не идет о каком-либо виде "взлома" или о создании повышенной нагрузки на сайт. Мы будем автоматизировать то, что и так можно сделать вручную.

Читать далее

Information

Rating
Does not participate
Registered
Activity