From c7021ee02337f7f449506b329809f13edb23dc79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B0=D0=B7=D0=B0=D1=80=20=D0=93=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Mon, 13 Oct 2025 19:46:11 +0300 Subject: [PATCH] fix: Added temporary mocks for vacancies. --- internal/infrastructure/grpcClient/client.go | 169 ++++++++++++++++--- 1 file changed, 143 insertions(+), 26 deletions(-) diff --git a/internal/infrastructure/grpcClient/client.go b/internal/infrastructure/grpcClient/client.go index d00881d..87ce222 100644 --- a/internal/infrastructure/grpcClient/client.go +++ b/internal/infrastructure/grpcClient/client.go @@ -4,54 +4,171 @@ import ( "context" pbVC "gitea.cybertalant.ru/VisionCareerMiniapp/DataManagemet/pb/golang" - "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/constants" "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" - "google.golang.org/grpc/metadata" ) type grpcClient struct { - apiKey string - conn *grpc.ClientConn - vсClient pbVC.VisionCareerApiServiceV1Client + apiKey string + // conn *grpc.ClientConn + // vсClient pbVC.VisionCareerApiServiceV1Client } func (t *grpcClient) Close() error { - return t.conn.Close() + // return t.conn.Close() } func (t *grpcClient) GetUserVacancies(ctx context.Context, in *pbVC.GetUserVacanciesRequest, opts ...grpc.CallOption) (*pbVC.GetUserVacanciesResponse, error) { - // Append api key to Meta-data - md := metadata.Pairs(constants.APIKey.String(), t.apiKey) - ctx = metadata.NewOutgoingContext(ctx, md) + // // Append api key to Meta-data + // md := metadata.Pairs(constants.APIKey.String(), t.apiKey) + // ctx = metadata.NewOutgoingContext(ctx, md) - return t.vсClient.GetUserVacancies(ctx, in, opts...) + // return t.vсClient.GetUserVacancies(ctx, in, opts...) + return &pbVC.GetUserVacanciesResponse{ + Status: "success", + Items: []string{ + "THIS IS MOCKS", + ` + ЗП: до 500 000 рублей net + Penetration Tester – Red Team, Wildberries & Russ 💜 + Уровень: Middle/Senior + Формат: удаленка или гибрид + 📭 Вместе с масштабным развитием IT направления Wildberries и Russ развивает информационную безопасность. Мы решаем сложные и разнообразные задачи: от повышения защищенности каждого сервиса до развития безопасности в рамках всей нашей инфраструктуры. Сейчас мы в поиске опытного Penetration Tester в Red Team. Команда занимается проведением аудитов безопасности инфраструктуры, продуктов и сервисов в различных форматах (тестирования на проникновение, анализ защищенности, кибер-учения). + + 📝 Ключевые задачи: + • Проведение аудитов в формате тестирования на проникновение (внешняя и внутренняя инфраструктура, социалка) + + • Проведение аудитов в формате анализа защищенности (веб и мобильные приложения) + • Проведение аудитов в формате Red/Purple Teaming + • Поиск и эксплуатация уязвимостей веб и мобильных приложений + • Поиск и эксплуатация уязвимостей и недостатков конфигурации ОС Linux а также специфичных для нее сервисов + • Поиск и эксплуатация уязвимостей OC Windows и недостатков конфигурации Active Directory + • Поиск и эксплуатация уязвимостей и недостатков конфигурации СУБД, систем виртуализации и контейнеризации + • Оформление найденных уязвимостей для отчетов по итогам проектов + 💫 Основные требования: + • Опыт проведения проектов по анализу защищенности веб и мобильных приложений + + • Опыт проведения проектов по тестированию на проникновение (внешняя и внутренняя инфраструктура) + • Опыт поиска и эксплуатации уязвимостей веб и мобильных приложений + • Опыт поиска и эксплуатации уязвимостей ОС Linux + • Опыт поиска и эксплуатации уязвимостей OC Windows и недостатков конфигурации AD + • Опыт поиска и эксплуатации уязвимостей и недостатков конфигурации систем виртуализации и контейнеризации + • Знание любого языка программирования на уровне достаточном для понимания/создания эксплойтов и автоматизации задач по поиску уязвимостей + ❤️ Будет плюсом: + • Образование (бакалавр, магистр) в одном из технических вузов РФ (МИФИ, МГТУ им. Баумана, МГУ) + + • Наличие профильных сертификатов (OSCP, OSWE, OSEP, CRTO) + • Выступления на крупных конференциях и митапах, например PHDays, OffZone, Standoff и других + • Участие в CTF и Bug Bounty + 🔥 Что мы предлагаем: + + • Полная удаленка или гибрид с офисами в Москве и Санкт-Петербурге + • IT-ипотека и оформление в аккредитованную IT-компанию + • Бесплатное питание в офисах, ДМС со стоматологией (после испытательного срока) + • Корпоративное обучение и IT-мероприятия + + 💘 Контакты: @alina_velbik + `, + ` + Вакансии в информационную безопасность Точка Банк + + Точка Банк — IT-компания, мы создаём онлайн-банк и другие сервисы для бизнеса. Ими пользуются более 700 000 клиентов, а создают больше 5 000 сотрудников. + + Администратор ИБ + + 📍От 180 000 ₽ до вычета налогов. Удалёнка, офис или гибрид — как тебе удобнее. + + Что делать: + — Сопровождать и администрировать средства защиты информации: NGFW, 2FA, VPN, WAF, AV, СКЗИ, SIEM, DLP, antiDDoS. + — Оперативно реагировать на задачи ИБ: согласовывать доступы и проверять соответствие ПО, сервисов и процессов требованиям. + — Проводить регулярные контроли и аудиты системы информационной безопасности. + + Ты подойдёшь, если: + — Есть опыт работы администратором ИБ от 1 года. + — Есть опыт администрирования основных средств защиты: DLP, SIEM, FW, AV, VPN. + + Бизнес-партнёр по ИБ + + 📍От 300 000 ₽ до вычета налогов. Удалёнка, офис или гибрид — как тебе удобнее. + + Что делать: + — Анализировать соответствие архитектуры IT-решений требованиям ИБ. + — Выявлять и оценивать возможные риски. + — Отслеживать выполнение мер при релизе продуктов. + — Экспертно сопровождать проектные и бизнес-команды по вопросам ИБ. + + Ты подойдёшь, если: + — Есть опыт работы в банковской сфере от трёх лет на схожей позиции. + — Знаешь требования законодательства и Банка России (716-П, 821-П, 683-П, 787-П) и умеешь применять их на практике. + — Разбираешься в микросервисной и монолитной архитектуре, облаках и виртуализации. + `, + ` + 😎 Вакансия: Инженер по сетевой безопасности + Компания: Авито + График: можно удаленно + Локация: Москва, Нижний Новгород + + Наша команда обеспечивает защиту и надежность всех продуктов Авито, технологической платформы и офисной инфраструктуры, а также занимается развитием собственного решения сетевой безопасности. + Мы ищем инженера по сетевой безопасности, имеющего опыт работы в проектах сетевой сегментации. + + Вам предстоит: + • Внедрение и развитие сегментации сетевой инфраструктуры (host based firewall, k8s); + • Повышать защищенность офисной и корпоративной сети; + • Аудит сетевых правил; + • Консультация команд инфраструктуры по вопросам безопасности сети; + • Планирование и реализация мер защиты инфраструктуры от сетевых атак. + + Мы ждём, что вы: + • Имеете опыт работы по направлению сетевой безопасности; + • Имеете экспертные познания и опыт работы с современными Unix-like операционными системами; + • Обладаете уверенными знаниями сетевых протоколов и принципов построения IP сетей; + • Разбираетесь в сетевых атаках и способах защиты от них; + • Готовы вести проекты самостоятельно. + Будет здорово, если вы: + - Работали с системами анализа данных; + - Знакомы с системами оркестрации контейнеров. Мы используем Kubernetes; + - Автоматизировали свою работу с помощью Bash\Python\Golang. + + Работа у нас — это: + – возможность реализовать свои идеи в проекте с многомиллионной аудиторией; + – талантливая команда, готовая поддержать ваши инициативы; + – прозрачная система бонусов и премий, достойная зарплата — размер обсудим на собеседовании; + – обучение за счет компании: мы оплачиваем участие в российских и международных конференциях, профильные курсы и доступ к онлайн-библиотеке МИФ, покупаем нужную для роста и развития литературу; + – комфортные условия работы: ДМС с первых дней работы, фитнес, компенсация питания; + – красивый и комфортный офис в 2 минутах от метро «Белорусская», а также возможность работать удалённо. + + Откликнуться: clc.to/xQjvew + `, + }, + }, nil } func (t *grpcClient) UpsertUserData(ctx context.Context, in *pbVC.UpsertUserDataRequest, opts ...grpc.CallOption) (*pbVC.UpsertUserDataResponse, error) { - // Append api key to Meta-data - md := metadata.Pairs(constants.APIKey.String(), t.apiKey) - ctx = metadata.NewOutgoingContext(ctx, md) + // // Append api key to Meta-data + // md := metadata.Pairs(constants.APIKey.String(), t.apiKey) + // ctx = metadata.NewOutgoingContext(ctx, md) - return t.vсClient.UpsertUserData(ctx, in, opts...) + // return t.vсClient.UpsertUserData(ctx, in, opts...) + return &pbVC.UpsertUserDataResponse{ + Status: "success", + }, nil } // Init : Инициализирует общий gRPC клиент func Init(addr, apiKey string) (*grpcClient, error) { // Открытие соединения - conn, err := grpc.Dial( - addr, - grpc.WithTransportCredentials(insecure.NewCredentials()), - grpc.WithBlock(), - ) + // conn, err := grpc.Dial( + // addr, + // grpc.WithTransportCredentials(insecure.NewCredentials()), + // grpc.WithBlock(), + // ) - if err != nil { - return nil, err - } + // if err != nil { + // return nil, err + // } // Инициализация gRPC клиентов return &grpcClient{ - apiKey: apiKey, - conn: conn, - vсClient: pbVC.NewVisionCareerApiServiceV1Client(conn), + apiKey: apiKey, + // conn: conn, + // vсClient: pbVC.NewVisionCareerApiServiceV1Client(conn), }, nil }