Pull to refresh
1
0
Send message

Серия книг “Грокаем” от издательства “Питер”

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

Мы решили рассказать о всей серии “Грокаем”.
А заодно подарить скидку!

Чем хороши “Грокаем”? Каждая книга яркая и оставляющая след. Важная особенность книг этой серии в том, что сложные вещи, описанные в тексте, дополняются интересными нестандартными иллюстрациями, из-за чего тема проще понимается и запоминается.
Это книги, которые приятно читать и смотреть.

Читать дальше →
Total votes 12: ↑11 and ↓1+14
Comments9

«Бобер выдыхай»: Go, WinAPI и ассемблер

Level of difficultyHard
Reading time22 min
Views8.1K

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

Читать далее
Total votes 36: ↑35 and ↓1+40
Comments31

Что нового в мире обхода блокировок Интернета в середине 2024

Level of difficultyEasy
Reading time13 min
Views154K

Представляю вашему вниманию короткий обзор что же произошло в России и в мире в области цензуры интернета и того, как этому противостоят энтузиасты. На всякий случай напоминаю, что статья «Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному» заблокирована на Хабре для пользователей из РФ, но по‑прежнему без проблем открывается через прокси/VPN с иностранных адресов. Ну а мы сейчас разберем, что же изменилось с тех пор.

Сегодня в программе: Замедление YouTube — проблемы с Google Cache или намеренное вредительство? Можно ли заблокировать Shadowsocks и как РКН смог это сделать? Новые транспорты в XRay: HTTPUpgrade и SplitTunnel. Новости из мира Tor, и многое другое.

Читать далее
Total votes 167: ↑162 and ↓5+190
Comments105

Делаем дашборд для логов используя Promtail Loki Grafana

Reading time8 min
Views23K

Как используя связку Promtail + Loki + Grafana настроить сбор логов из текстового файла и сделать простой, но функциональный дашборд.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments10

Собираем логи с Loki

Reading time13 min
Views134K


Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.


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

Total votes 44: ↑44 and ↓0+44
Comments16

Security Week 2425: поиск уязвимостей в биометрическом терминале

Reading time5 min
Views1.9K
На прошлой неделе исследователи «Лаборатории Касперского» опубликовали подробный отчет о поиске уязвимостей в биометрическом терминале компании ZKTeco. Терминал обеспечивает распознавание пользователей по лицу, но также предоставляет резервные методы аутентификации: по пин-коду и с помощью QR-кода, который сканируется встроенной фотокамерой. В статье подробно описывается типичный процесс исследования устройства для поиска аппаратных и программных уязвимостей, включая анализ «железа», физических и сетевых интерфейсов, исследование прошивки. Не меньший интерес представляет и список найденных уязвимостей: всего их было обнаружено 24 штуки. Авторы работы приходят к выводу, что передовая технология была реализована в крайне небезопасном виде.


Помимо традиционных уязвимостей, вроде вшитого пароля для SSH, отсутствующей или легко взламываемой защиты коммуникаций по проприетарному сетевому протоколу, в устройстве ZKTeco была обнаружена возможность проведения атаки с помощью «вредоносного» QR-кода. Отсутствие необходимых проверок вводимых пользователем данных либо приводит к аварийной перезагрузке биометрического терминала, либо, что гораздо интереснее, позволяет провести SQL-инъекцию и таким образом обойти систему аутентификации. Подробные технические описания каждой уязвимости опубликованы в репозитории на GitHub.
Читать дальше →
Total votes 5: ↑5 and ↓0+10
Comments9

Осваиваем DOM Invader: ищем DOM XSS и Prototype Pollution на примере пяти лабораторных и одной уязвимости на Хабре

Reading time8 min
Views3.5K

Привет, Хабр! Сегодня мы познакомимся с DOM XSS и Prototype Pollution, рассмотрим примеры уязвимостей на Bug Bounty и научимся использовать инструмент DOM Invader, который заметно упростит поиск таких уязвимостей.

Материал будет интересен специалистам, которые уже сталкивались с DOM XSS и Prototype Pollution. Если вы еще не знакомы с этими уязвимостями, стоит обратить внимание на лабораторные PortSwigger и теорию и только потом приступать к изучению DOM Invader. А если знакомы, то быстро вспомним основные понятия и объясним, а в чем же, собственно, состоит опасность.

Читать далее
Total votes 18: ↑18 and ↓0+26
Comments0

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

Level of difficultyMedium
Reading time7 min
Views13K

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

Читать далее
Total votes 30: ↑27 and ↓3+30
Comments1

Изучаем сетевой стек докера в rootless mode

Level of difficultyMedium
Reading time16 min
Views5K


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

Читать дальше →
Total votes 16: ↑16 and ↓0+17
Comments0

CI/CD Kubernetes платформа Gitorion. Создаем замену GitLab CI на базе OpenSource-инструментов

Level of difficultyMedium
Reading time5 min
Views5.9K

Привет всем! На одном из проектов нам потребовалось внедрить непрерывную интеграцию и доставку CI/CD. Поиск готового решения показал, что все наши потребности может закрыть GitLab CI. Однако GitLab - платный продукт и на момент принятия решения возникли некоторые трудности с его коммерческим использованием. Поиски альтернативы не увенчались успехом, и было принято решение создать CI/CD своими силами из имеющихся OpenSource-инструментов.

Недавно мы закончили работу и получили завершенную платформу, которую можно использовать, как готовый инструмент с выстроенной непрерывной интеграцией и доставкой CI/CD и/или для перевода инфраструктуры в микросервисную архитектуру, согласно концепции инфраструктура как код IaC.

В данной серии статей мы хотим рассказать о нашем пути, этапах работы и компонентах платформы.

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments32

Учимся жить с Kafka без Zookeeper

Reading time13 min
Views33K

При всех достоинствах Kafka как распределенного хранилища потока сообщений, боль вызывало раздельное хранение метаданных (топологии разделов, конфигурации кластера и прочего) и необходимость запуска в кластере рядом с Kafka еще и Apache Zookeeper. Побочным эффектом такого соседства (кроме дополнительных забот об администрировании и мониторинге) является долгое время восстановления после сбоя при больших размерах кластера, значительном количестве разделов или сложной топологии групп. Но ситуация улучшается и отличная новость появилась полторы недели назад в KIP-833, что в ближайшей версии Kafka 3.3 новый протокол согласования метаданных (KRaft), работающий внутри Kafka без Zookeeper, будет признан Production-Ready и далее постепенно зависимость от Zookeeper будет помечена как deprecated и удалена. В этой статье мы поговорим об особенностях протокола KRaft и разберемся как настроить новый кластер Kafka без необходимости установки Zookeeper.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments3

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficultyEasy
Reading time7 min
Views93K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Total votes 235: ↑232 and ↓3+275
Comments160

Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

Level of difficultyMedium
Reading time14 min
Views24K

Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

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

Читать далее
Total votes 50: ↑48 and ↓2+62
Comments20

Структурированное логирование в Go с помощью Slog

Reading time22 min
Views15K

Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила Slog — высокопроизводительный пакет для структурированного ведения логов в стандартной библиотеке Go. Мы перевели гайд о возможностях slog.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments5

Мониторинг с Prometheus в Kubernetes за 15 минут

Reading time7 min
Views60K


Прим. перев.: Автор статьи Giancarlo Rubio — DevOps-инженер из ИТ-компании LINKIT (Нидерланды) — через онлайн-ресурс ITNEXT делится лаконичным рецептом по настройке мониторинга с Prometheus в Kubernetes с помощью Prometheus Operator. Инструкция появилась как следствие недавнего опыта выбора и внедрения системы проактивного мониторинга после миграции проекта с bare metal на облачную инфраструктуру. Рецепт отлично подходит для быстрого теоретического (первая половина статьи) и практического (вторая половина) знакомства. Для некоторых команд исправлены URL'ы, которые в оригинальном материале, по всей видимости, были преобразованы движком medium.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments5

Как я пишу HTTP-сервисы спустя 13 лет работы с Go

Level of difficultyMedium
Reading time18 min
Views27K

Примерно шесть лет назад я написал пост о том, как пишу HTTP-сервисы на Go, и сегодня я снова хочу рассказать, как пишу HTTP-сервисы.

Тот пост оказался довольно популярным и вызвал обсуждения, повлиявшие на то, как я делаю это сегодня. И спустя годы ведения подкаста Go Time, обсуждения Go в X/Twitter и поддержки подобного кода я решил, что настало время обновить информацию.

(Если вы педант и скажете, что Go не совсем 13 лет, то я отвечу, что начал писать HTTP-сервисы на Go версии .r59.)

В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments20

Анализ безопасности приложений, использующих GraphQL API

Level of difficultyMedium
Reading time14 min
Views4.2K

Привет! Меня зовут Даниил Савин. Летом я участвовал в программе стажировки для безопасников от Бастион и в процессе глубоко исследовал тему безопасности приложений, использующих GraphQL. Так появилась статья, из которой вы узнаете:

• какие встроенные функции есть у GraphQL;

• как тестировать GraphQL API;

• какие инструменты использовать;

• и как обходить различные защитные механизмы.

Читать далее
Total votes 22: ↑21 and ↓1+22
Comments1

Что ждать от внедрения Istio? (обзор и видео доклада)

Reading time10 min
Views23K

Istio — частный случай «сервисной сетки» (Service Mesh), понятия, о котором наверняка все слышали, и многие даже знают, что это такое. Мой доклад на Kuber Conf 2021 (мероприятие Yandex.Cloud, которое проходило 24 июня в Москве) посвящен возможным проблемам, к которым надо готовиться при внедрении Istio. Среди прочего я рассказал о том, как Istio влияет на трафик, какие есть возможности для его мониторинга, насколько безопасен mTLS.

Доклад отчасти отражает наш опыт работы с Istio как с одним из компонентов Kubernetes-платформы Deckhouse, отчасти основан на результатах внутренних нагрузочных тестов.

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments5

Полный набор gRPC, RESTful JSON API, WS и Swagger из одного proto файла. От введения до нюансов и тонкостей grpc-gateway

Reading time9 min
Views35K

В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему.


Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остановиться на этом подходе.


grpc-gateway — это плагин protoc. Он читает определение сервиса gRPC и генерирует обратный прокси-сервер, который переводит RESTful JSON API в gRPC. Этот сервер создается в соответствии с пользовательскими параметрами в вашем определении gRPC.


Это выглядит вот так:


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments16

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Level of difficultyHard
Reading time29 min
Views93K

Бывало ли у вас такое, что вы подключились к общественной сети или мобильному интернету, но он себя странно ведёт. Надпись «Подключено, без доступа к интернету» отсутствует, устройство думает, что всё нормально. Вы открываете браузер и видите «Пройдите проверку личности в сети нашего кафе» или в случае с мобильным интернетом «Пополнить баланс можно тут, тут и тут».

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Total votes 233: ↑231 and ↓2+294
Comments91

Information

Rating
Does not participate
Registered
Activity