Pull to refresh
5
0
Sergey Mareychev @devslm

Senior Java/Kotlin Developer

Send message

Как обхитрить мозг и заставить его полюбить сложные задачи [Дофаминовый детокс]

Level of difficultyEasy
Reading time7 min
Views133K

Как часто вы ловили себя на мысли «Вот, блин, весь выходной прозалипал в бесконечных лентах, а ничего полезного так и не сделал»? Не спешите себя винить! Скорее всего, все дело в вашем мозге, который привык баловаться дофамином. Увы, с этой проблемой сталкиваются большинство современных людей (и мы в beeline cloud — не исключение). Хорошая новость: ее можно решить!

Почему некоторых людей гораздо сильнее мотивируют именно сложные задачи? И есть ли способ превратить трудные дела в легкие?

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

А теперь попробуйте целый час посвятить учебе... Звучит очень утомительно. А что, если вместо этого часок-другой поработать над своим сайд-проектом? Хм. Всё равно скукотища.

Читать далее
Total votes 117: ↑105 and ↓12+103
Comments144

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

Reading time12 min
Views13K

Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:

— POST и PUT-запросы, использующие requestBody для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable для передачи параметров.

Читать далее
Total votes 18: ↑13 and ↓5+9
Comments11

Как рос мой доход в IT: от 17к до $21000 в месяц

Level of difficultyEasy
Reading time10 min
Views116K

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

Читать далее
Total votes 233: ↑120 and ↓113+24
Comments147

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

Level of difficultyEasy
Reading time7 min
Views91K

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

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

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

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

Поехали!
Total votes 236: ↑233 and ↓3+276
Comments160

Tarantool 3.0

Level of difficultyMedium
Reading time15 min
Views8.5K


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

В этой статье я попытаюсь рассказать о том новом, что появится в Tarantool 3.0, не простым перечислением изменений, а описывая проблемы, которые мы пытались решить. В таком ключе это может быть интересно и тем, кто не собирается устанавливать Tarantool, — просто с технической точки зрения.
Читать дальше →
Total votes 51: ↑48 and ↓3+52
Comments23

Kotlin под капотом: inline функции

Level of difficultyMedium
Reading time8 min
Views13K

Многие разработчики не понимают в чем профит от использования inline функций и в каких случаях их нужно использовать. Для чего нужен crossinline и как работает reified. Разбираемся как это работает на уровне байткода, в котором хорошо видно всю суть inline функций kotlin.

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

Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования

Level of difficultyMedium
Reading time5 min
Views6.2K

Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.

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

Кто ты, QA-инженер или тестировщик?

Reading time7 min
Views102K
QA и QC — как камыш и рогоз. Конечно, есть ботаники, которые их различают, но большинство людей всё-таки путают. Иногда самим QA и QC легче согласиться с представлением обывателей, чем пускаться в долгие объяснения, в чём же всё-таки разница. Предлагаю сделать усилие над собой, разобраться с терминами и понятиями, увидеть отличия и больше никогда их не путать.


Читать дальше →
Total votes 21: ↑19 and ↓2+24
Comments18

Чем для вас опасна MongoDB SSPL лицензия?

Reading time3 min
Views15K
Читая FAQ по SSPL MongoDB лицензии, кажется, что в ее изменении нет ничего страшного, если только вы не «большой и крутой провайдер облачных решений».

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


Читать дальше →
Total votes 16: ↑14 and ↓2+18
Comments25

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views188K

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

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments177

Как убедиться, что ваша бизнес-идея перспективна

Level of difficultyEasy
Reading time6 min
Views5.9K

Разбираемся, стоит ли слушать мнение знакомых или платить за экспертные консультации.

В 2022 году в российские стартапы инвестировали на 68% меньше средств, чем год назад. Эксперты считают, что к 2024 году финансирование может сократиться ещё вдвое. Чтобы убедить инвесторов вложиться в проект, придётся придумать что-то действительно стоящее.

Крупный и малый бизнес сошлись во мнении, что метод «хорошую идею поймёт даже бабушка» — бесполезен. И рассказали, как оценивают свои идеи.

Читать далее
Total votes 16: ↑14 and ↓2+16
Comments2

Гиперфокус: как сосредоточиться на главном (Чек-лист по его включению в конце)

Reading time10 min
Views15K

Восхваляемая многими многозадачность не работает. Хватаясь за несколько дел сразу, мы в итоге не доделываем до конца ни одного. И наоборот, погрузившись в одно дело полностью и не отвлекаясь на посторонние раздражители, мы значительно повышаем нашу продуктивность. Осознанно фокусируя ограниченные ресурсы своего внимания на чём-то одном, мы глубже концентрируемся и мыслим более ясно.

Мы рассмотрим некоторые приёмы для погружения в состояние сверхконцентрации, о котором рассказывает Крис Бейли в своей книге «Гиперфокус». Они пригодятся всем, кто занимается сложной умственной работой, например, написанием кода, тестированием, разработкой архитектуры приложений и созданием уникальных алгоритмов.

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

Расщепляем Malware PDF. Практический разбор фишинга на примере GetPDF от Cyberdefenders.com

Reading time9 min
Views9.7K

Привет, Хабр! Меня зовут Антон, я ведущий инженер по ИБ в компании R-Vision, принимаю активное участие в развитии экспертизы в части расследования инцидентов и реагирования на них. А в свободное время я увлекаюсь расследованиями в направлении Digital Forensics & Incident Response (DFIR), Malware Analysis.

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

Замечу, что одной из самых популярных техник взлома крупных мировых корпораций был и остается фишинг с вредоносным вложением T1566.001. Пожалуй, яркий тому пример – взлом Garmin в июле 2020 года, когда известный производитель умных устройств подвергся атаке хакеров-вымогателей. Преступники атаковали системы Garmin с помощью малвари WastedLocker. В результате, сервисы компании на три дня вышли из строя, так как авторы малваря зашифровали данные и требовали выкуп в размере $10 млн за ключи дешифровки.

Как известно, логика подобного проникновения в инфраструктуру довольно проста: атакующие проводят таргетированную фишинговую кампанию – targetor sprear[T1566.001], доставляют в корпоративную среду зловреды с помощью рассылки электронных писем с вредоносными вложениями и ссылками. Пользователь открывает файл (pdf, xlsx, docx и др.), тем самым запуская вложенный туда вредоносный код, который подгружает недостающие для атаки компоненты (вирусы, трояны, шифровальщики, бэкдоры и тд.).

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

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

Привет Emotet! Исследуем вредоносный документ Excel

Reading time4 min
Views7.9K

Исследуем вредоносный документ с вновь набирающим популярность трояном Emotet.

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

Статья выходит довольно обширная, в связи с этим будет состоять из двух частей, т.к. здесь я постараюсь доступно изложить исследование вредоносного документа формата Excel (такие документы сегодня используются в фишинговых кампаниях по всему миру для заражения трояном Emotet), а после исследования вредоносного документа решим задание от cyberdefenders.org, в котором нам предложат поковырять дамп оперативной памяти, с уже зараженного хоста, давайте приступать.

Читать далее
Total votes 19: ↑18 and ↓1+18
Comments15

Делаем документацию здорового человека в Git на примере Docs Ozon

Reading time7 min
Views34K

Казалось бы, с документацией всё просто — пишешь, публикуешь, поддерживаешь актуальность. Например, вот у нас в Ozon есть пользовательские инструкции на docs.ozon.ru: выглядит просто как текст на сайтике, что ж необычного-то в его размещении и в целом в работе техписателей? 

Если начать раскапывать, всплывёт ещё несколько вопросов:

• где хранить тексты и почему Confluence не подходит?

• как красиво оформить документацию с помощью статических генераторов сайтов

• зачем техписателям знать git и CI/CD?

• в какой момент пора искать разработчиков в команду и превращать документацию в платформу?

На связи Катя — руководитель отдела технических писателей в Ozon, и сегодня расскажу о платформе Docs Ozon изнутри.

Читать
Total votes 43: ↑41 and ↓2+44
Comments40

Как мы обложились запросами и ускорили ElasticSearch: чиним товарный каталог СберМегаМаркет

Reading time13 min
Views8.8K

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

Здравствуй, Хабр! Меня зовут Никита Вахрамеев, я работаю ведущим разработчиком в команде, которая занимается бэкендом витрины СберМегаМаркет. Основные направления нашей работы — листинги (каталоги товаров) и карточки товаров. В этом посте мы проведем небольшое расследование, погрузимся в нюансы шардирования и кэширования в ElasticSearch и исправим проблемы в каталоге на 16 миллионов товаров.

Внимание спойлер: индексы, во всем виноваты индексы!

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

Архитектура для пользователей

Reading time23 min
Views17K

Когда говорят о выборе архитектуры IT-системы, почти всегда упускают один ма-а-аленький нюанс: мы делаем продукты для пользователей, не для себя. А пользователям совершенно неважно, какая у сервиса архитектура. Никто в отзывах не ставит звёздочки за event-driven подход или классную реализацию service mesh — разве что в редких случаях, когда речь о продуктах для разработчиков. 

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

Читать далее
Total votes 53: ↑49 and ↓4+67
Comments19

Отказоустойчивая архитектура контентной платформы на 4 Тбит/с — опыт VK Видео

Reading time16 min
Views20K

Представьте идеальный мир с бесконечными ресурсами, в котором можно сколько угодно линейно масштабироваться под нагрузку: просто доставлять серверы, диски, видеокарты, как только потребуется больше мощностей. Звучит хорошо? Только оказывается, что когда серверов 5 000 и дисков 100 000, то несколько из них обязательно находятся в состоянии maintenance или repair, куда их привели обстоятельства непреодолимой силы. И главная задача здесь — обеспечить доступность сервиса в условиях постоянных сбоев. 

В статье разберём, как построить отказоустойчивую платформу, с какими неочевидными corner cases может столкнуться сервис с UGC-контентом, а ещё — как жить в реальном, а не идеальном мире и оптимизировать железо. Чтобы раздавать 4 Тбит/с можно, конечно, использовать 400 серверов по 10 Гбит/с, но гораздо интереснее грамотно всё потюнить и выжать 100 Гбит/с с Java-сервера.  

Читать далее
Total votes 44: ↑43 and ↓1+57
Comments15

Kotlin. Автоматизация тестирования (Часть 2). Kotest. Deep Diving

Reading time30 min
Views7.6K

Kotest


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


В этой части мы углубимся в возможности Kotest:


  • покажу все варианты группировки тесты
  • расскажу про последовательность выполнения тестов и спецификаций
  • изучим возможности параллельного запуска
  • настроим таймауты на выполнение тестов
  • проговорим про ожидания и Flaky-тесты
  • рассмотрим использование Фабрик тестов
  • и напоследок исследуем тему Property Testing

Все части руководства:


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

Эпизод 1. Скрытая угроза Java Core. Уровень Юнглинг

Reading time12 min
Views16K
image

Мы публикуем серию статей для подготовки к собеседованиям Java-разработчиков. Будем рассказывать о том, как разработчику успешно пройти собеседование и не поседеть во время чтения тонн мануалов. Мы не пытаемся создать энциклопедию, в которой будут отражены тысячи вопросов на интервью, но поможем понять – о чем могут спрашивать и как отвечать на сложные вопросы, чтобы избежать стресса. Итак, первый материал посвящен базовому уровню языка программирования Java Core.

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

Давным-давно,
в далекой-далекой галактике…

Юного Люка Скайуокера мучает разного рода вопросами пытливый мастер Йода. А Йода, как известно, писал код, когда мы еще с вами под стол ходили. Причем кодил он прямо в блокноте без дебаггера, intellij idea и прочей богомерзкой ерунды. Когда же он уставал от нововведений, то просто пихал в дисковод компьютера перфокарты…

Мир тебе, юный Люк. Вопрос мой первый слушай ты.
Читать дальше →
Total votes 14: ↑7 and ↓70
Comments27

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Software Developer, Backend Developer
Senior
From 5,000 $
Linux
Java
Spring Boot
Apache Kafka
MongoDB
PostgreSQL
Redis
High-loaded systems
ClickHouse
Kotlin