Pull to refresh
6
0
Станислав Громов @kullfar

Java Team Lead

Send message

Shift Left: красивый отчет или реальность?

Reading time7 min
Views1.8K

Всем привет!

Меня зовут Антон Башарин, я технический директор Swordfish Security, занимаюсь внедрением ИБ-практик в DevOps, построением и автоматизацией процессов безопасной разработки. В предыдущей статье мы с вами поговорили о роли инструмента класса ASOC в оптимизации работы с уязвимостями, а также проанализировали результативность его решений с помощью дашбордов, разработанных нами для модуля визуализации метрик DevSecOps в рамках развития платформы AppSec.Hub. Мы обещали вам продолжение: на этот раз покажем и расскажем, как наши графики позволяют оценить уровень зрелости подхода Shift Left и его эффективность с точки зрения информационной безопасности. Поехали!

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Как бесплатно запустить DAST на базе OWASP ZAP Automation Framework на своем проекте

Level of difficultyMedium
Reading time5 min
Views2.5K

Привет, меня зовут Олег Рыбченко, я работаю QA инженером в hh.ru. Количество атак на IT-инфраструктуру сегодня растет в геометрической прогрессии — об этом свидетельствуют многочисленные упоминания во всевозможных СМИ, так что не будем в очередной раз приводить графики и статистику. Разумеется, в таких условиях все больше компаний хотят позаботиться о безопасности своих сайтов и начинают проявлять интерес к современным автоматизированным инструментам по обнаружению уязвимостей.

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

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

Учимся говорить и писать правильно

Reading time4 min
Views5.8K

Всем привет! Меня зовут Александр Дворянский, я директор по стратегическим коммуникациям компании Infosecurity. Сегодня я отойду от своих привычных прогнозов развития кибербезопасности на ближайшее будущее, а вместо этого предлагаю вам с юмором пообсуждать наши текущие дела. Итак, сегодня будет небольшое урок английского языка, где я рассмотрю основные умные слова и аббревиатуры, пришедшие к нам с запада, которые мы каждый день используем в нашем бизнесе и в целом в отрасли кибербезопасности.

Во второй части мы рассмотрим слова общего характера на примере так полюбившегося всем нам в последнее время корпоративного Bullshit Bingo.

Читать далее
Total votes 19: ↑8 and ↓11-3
Comments4

Уехавшие: три истории выпускников Школы программистов HeadHunter

Reading time4 min
Views19K
Что происходит с выпускниками Школы программистов HeadHunter дальше, когда они покидают стены компании? Мы решили рассказать три небольшие истории тех, кто в разные годы обучался у нас, работал в HeadHunter и продолжил свое развитие за рубежом.

Начинаем знакомство?


Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments20

Как войти в IT: новый набор в Школу программистов HeadHunter

Reading time5 min
Views20K


Привет. Меня зовут Лев, и я разработчик в HeadHunter. Хотите узнать, как я им стал? Пожалуй, начну с самого начала — когда мои юношеские прыщи по количеству могли сравниться лишь с часами, проведенными за игрой в плейстейшен. Какими-то силами вселенной (мам, пап, спасибо:) я стал работать в инвестиционном банке и торговал валютами, акциями, облигациями (да-да, как в фильме “Волк с Уолл-стрит”).

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

Все изменилось с приходом в мою жизнь программирования. Ручной труд ушел на второй план, я начал писать код, который делал мою работу. Поначалу он был простым и понятным, но со временем обрастал сложными кейсами. Потом в один прекрасный момент “что-то пошло не так” и банк потерял нехилую кучу бабла. Так я узнал, что пластическая операция — это дорого и больно разработка — это не только код, но еще и тестирование, контроль качества и другие интересные и крайне полезные практики.
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments16

Переход на embedded PostgreSQL в unit-тестах

Reading time13 min
Views37K

В приложениях, работающих с базами данных, естественным образом возникает потребность в тестах, которые проверяют корректность результатов выполнения запросов. На помощь приходят различные встроенные (embedded) базы данных. В этой статье я расскажу о том, как мы перевели unit-тесты с HSQLDB на PostgreSQL: зачем это затеяли, с какими трудностями столкнулись и что нам это дало.

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

Как оценить качество системы A/B-тестирования

Reading time11 min
Views26K


Вот уже более полугода в компании используется единая система для проведения A/B-экспериментов. Одной из самых важных частей этой системы является процедура проверки качества, которая помогает нам понять, насколько мы можем доверять результатам A/B-тестов. В этой статье мы подробно опишем принцип работы процедуры проверки качества в расчете на тех читателей, которые захотят проверить свою систему A/B-тестирования. Поэтому в статье много технических деталей.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments6

Самые востребованные языки программирования 2016

Reading time1 min
Views113K
Под конец этого непростого года наша служба исследований собрала двадцатку самых востребованных языков программирования на hh.ru. По каждому языку отдельно посчитали динамику за год. А по первой пятерке заодно посмотрели изменения за 5 лет.

Что произошло: PHP в этом году стал самым востребованным у работодателей, отняв пальму первенства у Java. За год выросли оба, но PHP вырос сильнее. Go и Swift «выстрелили» на 161% и 100% соответственно, хотя до лидеров по количеству вакансий им еще далеко. А вот Python заметно сдал позиции, сразу на 32%.

Если сравнить с индексом TIOBE, то сразу заметно, что PHP у нас заметно выше, а Visual Basic, например, заметно ниже. Go рванул и там и тут, а вот Objective-C у TIOBE в лидерах роста, а у нас он упал на 9%. С у них, кстати, упал сильнее всех, а у нас, наоборот, вырос на 46%.


А где же 1С, спросите вы? В табличку не включили, но если интересно, то все неплохо: 2015 — 9 473, 2016 — 13 735. Прирост: 45%. В абсолютных цифрах — самый востребованный язык.
Посмотреть динамику первой пятерки за 5 лет
Total votes 67: ↑57 and ↓10+47
Comments152

Разбор задач заочного тура школы программистов HeadHunter 2016. Часть 1

Reading time5 min
Views16K
Всем доброго времени суток! 30 сентября закончился прием заявок в школу программирования HeadHunter 2016. В этой статье я хотела бы разобрать задачи заочного этапа. Надеюсь, что моя статья будет полезной, учитывая, что при решении задач пришлось посетить не один десяток сайтов. Я имею небольшой опыт в программировании, поэтому я не утверждаю, что мое решение единственно верное. Всегда буду рада услышать Вашу критику!
При решении задач используется язык программирования Java.
Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments46

Нянчим проект на React-redux с пелёнок

Reading time20 min
Views66K
intro
В начале этого года мы в HeadHunter начали проект, нацеленный на автоматизацию различных HR-процессов у компаний-клиентов. Архитектурой этого проекта на фронте выбрали React-Redux стек.

За 9 месяцев он вырос из небольшого приложения для тестирования сотрудников в многомодульный проект, который сегодня называется “Оценка талантов”. По мере его роста мы сталкивались с вопросами:

  • хранения стейта, его нормализации;
  • построения масштабируемой архитектуры проекта, удобной иерархии — как в структуре, так и в бизнес-логике.

Это проявлялось в изменении подхода к построению компонентов, архитектуры редьюсеров.

Давайте поговорим о том, как мы развивали проект и какие решения принимали. Некоторые из них могут оказаться “холиварными”, а другие, напротив, “классикой” в построении большого проекта на redux. Надеюсь, что описанные ниже практики помогут вам при построении react-redux приложений, а живые примеры помогут разобраться, как работает тот или иной подход.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments32

Как мы искали компромисс между точностью и полнотой в конкретной задаче ML

Reading time5 min
Views7.5K


Я расскажу о практическом примере того, как мы формулировали требования к задаче машинного обучения и выбирали точку на кривой точность/полнота. Разрабатывая систему автоматической модерации контента, мы столкнулись с проблемой выбора компромисса между точностью и полнотой, и решили ее с помощью несложного, но крайне полезного эксперимента по сбору асессорских оценок и вычисления их согласованности.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments10

Школа программистов HeadHunter — открываем седьмой набор

Reading time4 min
Views21K
Технический департамент компании HeadHunter

На дворе сентябрь, а это значит, что мы в очередной раз объявляем набор в Школу программистов HeadHunter. В седьмой раз Школа открывает свои двери — в этом году мы снова будем готовить full-stack разработчиков.

Обучение будет проходить в московском офисе компании HeadHunter по вечерам два раза в неделю. Первый этап отбора можно пройти прямо на сайте школы, заполнив анкету и решив предложенные задачи. Справившихся с ними ждут задания посложнее, а затем и очное интервью.

Четверть нашего техдепа — это выпускники Школы. Мы любим разработчиков, потому что умеем их готовить!
Что же это за Школа такая?
Total votes 36: ↑33 and ↓3+30
Comments28

Приложение на API hh.ru. Рекомендуем вакансии по вашему резюме

Reading time6 min
Views25K

Недавно я опубликовал пост, рассказывающий, как можно просто начать использовать наше API. Мне самому захотелось поиграться с данными, которые можно из него получить, и я решил написать приложение, рекомендующее актуальные вакансии на основе информации из резюме. В конце статьи будет ссылка на результат, где каждый сможет получить список рекомендаций по своему резюме.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments14

API hh.ru. Быстрый старт

Reading time4 min
Views64K

Полагаю, некоторые из вас знают, что у hh.ru есть открытый API (мы рассказывали о нем тут и тут), который используем не только мы, но и сторонние разработчики. С его помощью, например, можно очень детально анализировать рынок на больших объемах актуальных данных.

Я задумал серию из двух статей: в этой покажу, как можно быстро и просто начать использовать API, а в следующей сделаю небольшой проект, рекомендующий актуальные вакансии по вашему резюме.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments16

Как мы забили на асинхронность при походах на бэкенды

Reading time6 min
Views26K
threads

Под напором появления новых асинхронных неблокирующихся фреймворков может показаться, что блокирующиеся вызовы — это пережиток прошлого, и все новые сервисы нужно писать на полностью асинхронной архитектуре. В этом посте я расскажу, как мы решили отказаться от неблокирующих асинхронных вызовов бэкендов в пользу обычных блокирующих.
Читать дальше →
Total votes 40: ↑30 and ↓10+20
Comments46

ScribeJava — даже ваша бабушка сможет работать с OAuth

Reading time10 min
Views30K
image

Именно этой фразой нас приветствует библиотека для работы с OAuth — ScribeJava (https://github.com/scribejava/scribejava). Если быть точнее, то фраза звучит так: “Who said OAuth/OAuth2 was difficult? Configuring ScribeJava is so easy your grandma can do it! check it out:”.

И это действительно похоже на правду:
OAuth20Service service = new ServiceBuilder().apiKey(clientId).apiSecret(clientSecret)
    .callback("http://your.site.com/callback").grantType("authorization_code").build(HHApi.instance());
String authorizationUrl = service.getAuthorizationUrl();
OAuth2AccessToken accessToken = service.getAccessToken(code);

Готово! Этих трех строчек достаточно, чтобы начать делать OAuth запросы. А сам OAuth запрос можно будет сделать так:
OAuthRequest request = new OAuthRequest(Verb.GET, "https://api.hh.ru/me", service);
service.signRequest(accessToken, request);
String response = request.send().getBody();

Данные о пользователе у нас в руках (в переменной response). И ни капли понимания, как в деталях работает OAuth. Хотим асинхронные http-запросы? Нам хватит тех же трех строчек. Ниже рассмотрим это на примере.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity