Pull to refresh
10
0

Senior QA Engineer

Send message

Структуры данных в Java. Полезные методы вспомогательных классов

Reading time7 min
Views38K
Привет, habr!

Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с одними и теми же повторяющимися недочетами. Это побудило меня написать заметку, и начать я хочу со структур данных и вспомогательных классов Collections и Arrays. Почему-то некоторые разработчики пренебрегают их использованием, и напрасно

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

Эта заметка может оказаться полезной как новичкам, которые ещё не знают этих нюансов, так и опытным разработчикам, которые могли что-то из этого забыть.
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments17

Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 2 — Компиляция с Emscripten

Reading time6 min
Views4.9K



Список переведённых частей серии:


  1. Приготовления
  2. Компиляция с Emscripten (вы тут)
  3. Конвертация avi в mp4


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


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


В этой части мы разберём:


  1. Как настроить окружение для Emscripten в Docker
  2. Использование emconfigure и emmake 
  3. Как решать проблемы, возникающие при компиляции FFmpeg с Emscripten

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

Автоматизация тестирования с использованием Selenide через Selenoid в Docker контейнере

Reading time16 min
Views51K

Данная статья будет полезна начинающим QA специалистам, а также тем, кто интересуется особенностями и возможностями таких популярных фреймворков тестирования, как Selenide и Selenoid.

Здесь мы рассмотрим некий базовый проект на Selenium. Увидим, как подключить Selenium и TestNG к проекту, пример Page Object с описанием элементов страницы и используемых методов.

Далее, знакомство с Selenide: рассмотрим сам фреймворк, его основные возможности и преимущества, добавление Selenide в тестовый проект. Рассмотрим работу с элементами, проверки и ожидания, доступные в Selenide.

И наконец, подключим к своему проекту фреймворк Selenoid для запуска тестов в Docker контейнере и вне его.


Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

Allure Server meetup: видеозаписи докладов

Reading time2 min
Views6.7K


В конце марта в питерском офисе Wrike прошел Allure server meetup. В несколько часов удалось поместить концентрированную информацию по новому инструменту Allure server, по современным практикам работы с тестовой документацией и автотестами и по интересному опыту взаимодействия тестирования компании Wrike и нового вендора на рынке TMS систем.

Для тех, кто не смог прийти, мы публикуем видеозаписи докладов.
Смотреть
Total votes 18: ↑18 and ↓0+18
Comments7

Модульное тестирование Json сериализации в Spring Boot

Reading time5 min
Views7.9K


Введение


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

В данной статье будет рассмотрен один из сценариев, когда нам может понадобиться учесть особенности бизнес-логики приложения при сериализации (сценарий округления денежных сумм), на примере которого мы столкнёмся с механизмом сериализации в Spring Boot, а также описан возможный способ тестирования.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments0

Довольно вычурные «Начала» Евклида в TeX-е

Reading time7 min
Views17K


«какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий

В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений навроде «треугольник ABC» там прямо в текст помещаются миниатюры частей построения, то есть, например, картинка с соответствующим треугольником. Насколько сделать такую книгу, как можно представить, было адовой работой в середине XIX века, настолько же легко, с правильными инструментами, это должно бы быть теперь. И, в общем, решил я в этом убедиться наверняка.
Читать дальше →
Total votes 136: ↑136 and ↓0+136
Comments47

Математики обнаружили идеальный способ перемножения чисел

Reading time5 min
Views144K

Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости



Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его.

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

«Все думают, что метод умножения, который они учили в школе, наилучший, но на самом деле в этой области идут активные исследования», — говорит Йорис ван дер Хувен, математик из Французского национального центра научных исследований, один из соавторов работы.
Читать дальше →
Total votes 183: ↑173 and ↓10+163
Comments224

Логирование HTTP запросов в Spring Boot с использованием Бобины

Reading time3 min
Views13K

Приветствую, дорогие друзья!


Сегодня я хочу продемонстрировать потрясающий пример того, как Бобина может помочь в очень распространённой ситуации — логирование HTTP запросов и ответов в Spring Boot.


Даже больше! Мы будем логировать только сообщения HTTP в отдельные файлы.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments3

Spring Data JPA: доводим напильником

Reading time14 min
Views66K

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

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

12 приемов работы с JavaScript, которых нет в большинстве туториалов

Reading time6 min
Views44K


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

В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
Читать дальше →
Total votes 70: ↑45 and ↓25+20
Comments88

Bonsai: фамильный вики-движок

Reading time13 min
Views21K

Лирическое вступление


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

Многие фотографии были сделаны более семидесяти лет назад. На одной был дедушка — в студенческие годы, еще молодой и статный, в абсолютно ломовейших очках. «Надо же, мой дед носил хипстерские шмотки еще до того, как это стало мейнстримом», подумал я, и невольно улыбнулся. Его я узнал сразу, но дальше пошли фотографии людей, о которых я ничего не помню. В чертах лица можно смутно угадать родство — и все.



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

Идеальным решением для хранения семейных данных мне представлялся гибрид вики-движка и фотоальбома. Готовых подходящих решений не оказалось, поэтому пришлось написать собственный. Он называется Bonsai и доступен с открытым кодом по лицензии MIT. Дальше будет история о том, как он устроен и как им пользоваться, а также история его разработки и немного ДРАМЫ.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments40

Начинаем изучать микроконтроллеры на примере STM32F030f4p6

Reading time14 min
Views56K


0. Перед прочтением статьи


Данная статья преследует следующие цели:

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

Код получится минималистичным с точки зрения использования дополнительных файлов — мы не будем подключать ни один файл, кроме тех, что нужны для сборки пустой, но валидной, прошивки. Т.е. на базе кода прошивки, которая работает, но ничего полезного не делает.
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments63
2

Information

Rating
Does not participate
Registered
Activity