Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Книга: «Elasticsearch для разработчиков: индексирование, анализ, поиск и агрегирование данных. 2-е изд.»

Reading time5 min
Views2.8K
Привет, Хаброжители!

Вы знакомы с Elasticsearch? Это мощный инструмент для работы с большими объемами данных. Его гибкость, масштабируемость и высокая производительность делают его незаменимым в современных IT-решениях. Книга Анурага Шриваставы «Elasticsearch для разработчиков» — это подробное руководство, которое шаг за шагом раскрывает все аспекты работы с этой технологией: от базовых принципов до сложных сценариев использования.

Шривастава начинает с основ, постепенно погружая читателя в мир Elasticsearch, и к концу книги даже новичок сможет уверенно работать с индексами, запросами, агрегациями и геоданными. Практические примеры и четкие объяснения помогают закрепить знания, а структура книги позволяет изучать материал в удобном темпе.
Читать дальше →

Как сделать централизованное логирование и крепко спать по ночам

Level of difficultyMedium
Reading time12 min
Views18K

Мы начинали с обычного ELK-стека, логи приходили на logstash, записывались в Elasticsearch, а пользователи смотрели их в Kibana. Потом в эту схему добавилась Kafka, так как мы понимали, что на пиках нагрузок не успеваем записать все логи в Elasticsearch. Всё это располагалось в одном ЦОДе, а в Kafka была единая очередь. В результате горизонтального масштабирования Elasticsearch разросся до 30+ нод. Данная схема справлялась с нагрузкой в 100 тысяч документов в секунду.

Как вы понимаете, эта схема нас устраивала только до определённого периода. В какой-то момент нагрузка начала расти как на дрожжах.

Привет, Хабр! На связи Филипп Бочаров, руководитель платформы наблюдаемости и мониторинга для более 400 продуктов экосистемы МТС, и Юлия Тальцкова, ведущий инженер сервиса логирования и кластеров Open Search с более 400 терабайтами логов клиентов. Этот материал написан на основе нашего доклада для конференции Highload++

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

Читать далее

Пиши простой код

Level of difficultyEasy
Reading time4 min
Views53K

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

Читать далее

Весь китайский автопром от A(vatr) до Z(eekr)

Reading time19 min
Views58K

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

Читать далее

Создаем картотеку людей в Obsidian максимально лениво или «Тронул мышку — проиграл»

Level of difficultyEasy
Reading time7 min
Views14K

Я уже писал на Хабре статью, что такое СДВГ и как он влияет на жизнь. Жизнь с СДВГ создаёт свои трудности и я (как имеющий этот синдром) ненавижу и максимально стараюсь избегать любую рутину.

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

Поэтому я сделал для себя кучу шаблонов заметок, которые очень быстро заполняются по правилу игры «Тронул мышку — проиграл». Эти шаблоны сильно облегчили мою жизнь и одним таким шаблоном я и хочу поделиться.

Читать далее

Почему COUNT(*) быстрее, чем COUNT(col) — и когда это не так

Level of difficultyEasy
Reading time4 min
Views23K

Привет, Хабр!

Сегодня поговорим про одну из тех тем, что вроде бы тривиальна, но до последней капли грязи тащит за собой внушительный пласт вопросов. Речь пойдёт про COUNT(*) и COUNT(col) в PostgreSQL.

Читать далее

Даже не влезайте в Kubernetes без этого

Reading time20 min
Views49K
image

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

Кубер унижает человеческое достоинство разными способами и на разных этапах. Это часть опыта от пользования продуктом. Так задумано.

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

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

Поехали в ад!
Читать дальше →

Синхронизация контактов с Obsidian

Level of difficultyMedium
Reading time2 min
Views3.8K

В своих заметках часто хочется сослаться на определённого контакта. Более того, именно в заметках хочется отметить кого-то определённого и описать, в чём его особенность.
Например, контакт строителя, который делал ремонт в спальне и запомнился отличными навыками по электрике.
Писать подобные заметки в самой телефонной книжке не очень удобно, и сложно впоследствии находить нужные контакты.
Дублировать контакт в Obsidian — это и время занимает, и неизбежно приведёт к конфликтам в данных.
Ведение части контактов в телефонной книжке, а части — в Obsidian — вообще приведёт к хаосу, в котором непонятно будет, как и где искать нужный контакт.

В очередные выходные пришла идея: почему бы не сделать синхронизацию телефонной книжки с Obsidian?

Читать далее

«Кто везёт, на том и едут», или 4 причины, почему вы перерабатываете

Level of difficultyEasy
Reading time8 min
Views19K

«Людей не будет — справляйтесь сами».

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

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

Читать далее

Руководство по принципам SOLID для технических лидеров

Level of difficultyMedium
Reading time13 min
Views9.1K

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

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

Читать далее

Никогда не поздно: мой старт в DevOps

Level of difficultyEasy
Reading time9 min
Views17K

Привет! Мне 37 лет, и я — джун-девопс. Да, звучит немного забавно, когда говоришь о возрасте и понимаешь, что к этому моменту многие уже заканчивают свой путь в ИТ и уходят в плотники, столяры или фермеры. А меня, наоборот, захватил природный интерес, который в итоге привёл к работе мечты! В этой статье я попробую разложить всё по полочкам и рассказать о нюансах своего пути.

Читать далее

Ускорить Pandas в 60 раз: проверяем лайфхаки из интернета на реальном проекте и обкладываемся бенчмарками

Level of difficultyEasy
Reading time8 min
Views8.4K

Привет! Если после заголовка вы решили, что это очередная статья в стиле «Топ-10 способов ускорить Pandas», то не торопитесь с выводами. Вместо топов и подборок предлагаю взглянуть на бенчмарки скорости и потребления памяти в зависимости от характеристик датафрейма и убедиться, что часть советов из статей по ускорению могут оказаться даже вредными. Разберём, какой из способов ускорения нужно пробовать в разных ситуациях, как это зависит от размера датафрейма и как ведёт себя в реальном проекте.

Читать далее

Общение с LLM-моделью по собственной базе знаний в Obsidian

Level of difficultyEasy
Reading time2 min
Views11K

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

Для подключения модели можно использовать множество различных поставщиков LLM-моделей.

В этой статье мы будем использовать локальную модель, запущенную с помощью Ollama. Поэтому нам понадобится командная строка, Docker и видеокарта (лучше от 24 Гб видеопамяти, или же для эксперимента можно арендовать GPU-сервер на пару часов).

Читать далее

Асинхронно копируем объекты между регионами S3 с помощью Python

Level of difficultyMedium
Reading time6 min
Views4.2K

Привет, Хабр! Я Александр Гришин, отвечаю за развитие облачных баз данных и объектного хранилища в Selectel. В своей практике часто сталкиваюсь с разными задачами клиентов. Среди них, например: реализовать репликацию данных между удаленными друг от друга регионами, отработать домен отказа «Регион» и повысить уровень отказоустойчивости своих сервисов, убрав привязку к одному городу и инфраструктуре. Сегодня я расскажу, как легко реализовать асинхронную репликацию данных в инфраструктуре Selectel, используя Python и boto3. Погнали!
Читать дальше →

Я ушёл на больничный и узнал, что работал за троих (а платили за одного)

Level of difficultyEasy
Reading time8 min
Views135K

В нашей компании всегда было… скажем так, интенсивно. Не то чтобы прямо ад, но бодренько. Обычно у меня было 2–3 проекта одновременно, дедлайны плотненькие, но справлялся. Я даже гордился тем, что мог вытаскивать сложные ситуации.

Читать далее

OpenIG: авторизация доступа через OAuth (на примере Яндекс ID)

Reading time9 min
Views968

В статье мы настроим авторизацию доступа в приложение через аутентификацию по протоколу OAuth 2.0 на шлюзе с открытым исходным кодом OpenIG. В качестве сервиса аутентификации будем использовать Яндекс ID.

Читать далее

ХрюХрюКар v.2 или как я использую Go для защиты своего двора

Level of difficultyEasy
Reading time7 min
Views15K

Почти год назад я писал про ХрюХрюКар. Это экспериментальный проект, который проработал 7 месяцев в городе Балаково Саратовской области. За это время мы «поймали» около тысячи автомобилистов, разместивших свои авто на зеленых зонах, детских/спортивных площадках и тротуарах.

В этой статье я расскажу про совершенно новую версию ХХК, которую я написал на Go. Ну и отдам сообществу все исходники проекта.

Припарковаться правильно

Как найти работу 47-летнему программисту? И почему это не должен быть приговор

Level of difficultyEasy
Reading time2 min
Views36K

Когда тебе за 45, ты уже не сеньор — ты древний артефакт. Но этот артефакт умеет писать код, решать задачи и варить гречку на баге. Статья с самоиронией о том, как искать работу, когда тебя путают с системным администратором Windows 95.

Читать далее

Книга: «Head First. Архитектура ПО»

Reading time4 min
Views12K
Привет, Хаброжители!

Вы слышали о выходе новинки из серии «Head First»? Нет? Срочно надо исправлять!

«Head First. Архитектура ПО» от Раджу Ганди, Марка Ричардса и Нила Форда — не очередной учебник. Это интерактивный гид, который научит вас мыслить архитектурно, понимать разницу между дизайном и архитектурой и выбирать правильные архитектурные стили для ваших проектов.
Читать дальше →

Information

Rating
3,523-rd
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity