Как стать автором
Обновить
3
0
Рексофт @Reksoft

Software developer

Отправить сообщение

Как мы создавали и внедряли свою матрицу компетенций

Время на прочтение7 мин
Количество просмотров23K

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

Сегодня поговорим про матрицы компетенций и, как мы их внедряли в «Рексофт». Мы уже рассказывали про матрицу Android-программиста, и как мы вводили кросс-интервью при повышении грейда, а сегодня я расскажу, о том, как все начиналось и куда мы пришли. Итак, поехали!

Читать далее
Всего голосов 20: ↑13 и ↓7+6
Комментарии20

Когнитивные искажения в программировании

Время на прочтение5 мин
Количество просмотров18K

Всем привет!

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

Читать далее
Всего голосов 30: ↑26 и ↓4+27
Комментарии6

Машинное обучение для прогнозирования выхода из строя дизельных двигателей

Время на прочтение9 мин
Количество просмотров5K

Привет, Хабр! Меня зовут Владимир Лебедев, я руковожу группой разработки департамента горнодобывающих решений компании «Рексофт». В предыдущей статье я рассказывал о задачах в области использования машинного зрения для контроля горной техники, которые решает наша команда.

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

На Хабре уже есть материалы о системах предиктивной диагностики и прогнозирования отказов оборудования в промышленности. В своем материале я в деталях расскажу о бизнес‑контексте их использования в горной отрасли, о подходах к сбору данных и их анализу. И постараюсь ответить на вопрос «как именно инструменты искусственного интеллекта могут предсказать выход из строя двигателя?»

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

Читать далее
Всего голосов 7: ↑6 и ↓1+6
Комментарии8

Роль архитектуры в ПО

Время на прочтение12 мин
Количество просмотров7.1K

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

В этой проблеме поможет разобраться Роман Хаимов. Он занимается разработкой ПО в практике Frontend “Рексофт”, компании, которая более 30 лет занимается разработкой ПО на заказ для российских и международных компаний. Сегодня Роман расскажет про главную задачу (или роль) любого структурного элемента в приложении. Вместе с ним мы посмотрим на простых примерах, на что влияет архитектура проекта, а также поймем, что может изменить ситуацию к лучшему.

Читать далее
Всего голосов 12: ↑11 и ↓1+13
Комментарии2

Матрица Судьбы (компетенций) Android-программиста

Время на прочтение7 мин
Количество просмотров4.2K

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

Вопрос грейдов всегда волнует тех, кто занимается разработкой ПО. Как понять самому, а главное доказать руководству, что ты находишься на новом уровне со всеми вытекающими последствиями? Многие из нас интроверты, и идти доказывать что-то кому-то – мало кто хочет. Как убрать фактор “хороших отношений” с руководством у коллег? Да и вообще хочется объективности и прозрачности критериев. Именно этим мы руководствовались в “Рексофт”, когда задумывали такой инструмент как “Матрица компетенций” (МК). Именно про него я хочу вам немного рассказать. Разберёмся в том, что это такое и с чем его едят. Чтобы не быть голословным, посмотрим на реальный пример матрицы, которая активно используется в компании. Возьмем матрицу компетенций Android-программиста, которую я (Олег Иванов, руководитель группы мобильной разработки компании «Рексофт») когда-то составил и стараюсь поддерживать в актуальном виде.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Практический кейс: как быстро развернуть Testcontainer PostgreSQL для Spring Boot API

Время на прочтение7 мин
Количество просмотров14K

Тема с testcontainer-ами относительно не новая, первые статьи на англоязычных ресурсах встречаются с 2016 года, но не смотря на это, до сих пор на просторах веба крайне мало гайдов для их развертывания из коробки. В большинстве своем это туториалы, где собрана солянка из зависимостей и аннотаций, которые мало того, что не нужны, но еще и могут запутать разработчика, решившего  с ними познакомиться. В этой статье я опишу свой практический кейс по развертыванию тестовых контейнеров для базы данных PostgreSQL. Основная задача их использования - быстрый deploy нужного сервиса в контейнере за небольшое время. В дополнении для наглядности запустим туда FlyWay миграции.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии6

Опыт использования Tyk в качестве шлюза GraphQL API

Время на прочтение6 мин
Количество просмотров4.9K

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

9 интересных новшеств в Laravel 9

Время на прочтение7 мин
Количество просмотров16K

Я сразу как только вышла новость о релизе решил, что нужно посмотреть, пощупать и разобраться чего же изменилось. Да-да, на днях, а именно 8 февраля 2022 вышел официальный релиз Laravel 9, который включает довольно много новых улучшений. Для тех же из нас, кто не боится таких слов как alfa и beta девятая версия фреймворка давно не новость и уже в работе.

Теперь эта версия будет поддерживаться дольше (LTS) и разработчики фреймворка пришли к решению не выпускать новые выпуски каждые 6 месяцев, но делать это раз в год в феврале. Судя из расписания эта версия останется актуальной год, а обновления безопасности будут выпускаться вплоть до 2025 года.

Ниже я опишу девять нововведений, которые лично мне показались самыми интересными, конечно это не все и с более полным описанием релиза можно познакомиться на официальных ресурсах. Например, обвноление Flysystem до 3 версии я описывать не буду, думаю тут все и так понятно. Так же посоветую посмотреть группу видео от Джеффри Вея (Jeffrey Way) на эту тему.

Читать далее
Всего голосов 17: ↑16 и ↓1+19
Комментарии32

Схематичное отображение машин на маршруте

Время на прочтение9 мин
Количество просмотров3K

Алгоритм для отображения интервалов общественного транспорта

Всем привет. Меня зовут Олег Иванов, я занимаюсь Android-разработкой в “Рексофт”. Сегодня я расскажу вам о такой нетривиальной задаче как отрисовка машин общественного транспорта на схеме маршрута. На первый взгляд, может показаться, что задача простая, но там есть свои особенности. Давайте разбираться постепенно от простого к сложному. 

В чём заключалась задача? Есть определённая группа машин, которая ездит всю смену по одному маршруту. Таких маршрутов может быть довольно много. Диспетчер должен видеть, на каком участке маршрута находится каждая из машин. Также нужно понимать, сколько машин находится на конечных остановках и сколько всего машин на маршруте. В течение дня часть автомобилей может уходить с линии, а после - возвращаться. Например, водитель ушёл на обед, его машина сломалась или попала в ДТП. Также водителям и диспетчерам необходимо рассчитывать и поддерживать интервал движения, об этом также будет рассказано в статье.

Основные понятия

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

HazelCast и синхронизация метода между несколькими нодами

Время на прочтение7 мин
Количество просмотров29K

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

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии10

Создаем библиотеку на php и публикуем на packagist

Время на прочтение6 мин
Количество просмотров7.8K

Прежде чем приступать к написанию кода, нам нужно решить, что именно такого полезного мы можем создать, какие функции будет выполнять библиотека. Довольно популярным является написание библиотек, упрощающих работу с тем или иным API. Зачастую API представляют из себя большой список различных методов, работающих не только через GET method http-протокола.

И это доставляет сложность при работе с ним у программистов: нужно постоянно учитывать все нюансы обращения к методу, его ответа, а еще может присутствовать аутентификация при работе и тд.

У меня есть некоторый опыт в создании пакетов для composer (пример) и я хочу поделиться знаниями с теми кто этого еще не делал. Подробности под катом...

Читать далее
Всего голосов 19: ↑17 и ↓2+21
Комментарии4

Самые заметные изменения языка php за последние годы

Время на прочтение9 мин
Количество просмотров19K

Я начинал работать с php, когда еще не потерял популярность его 4 выпуск, с тех пор произошли огромные изменения. На мой взгляд, последние несколько лет преобразили разработку на нем.  Кстати php продолжает быть серьезно востребованным, например, сейчас “Рексофт” развивает на нем несколько проектов. В одном из них работаю и я.  Но перейдем к делу. Делюсь с вами самыми интересными изменениями в php, прошедшими с 5 до версии 8.1.

Одним из самых распространенных классов в веб-разработке я бы назвал сущность User, предназначенную для работы с пользователями. В парадигме MVC ее можно назвать моделью пользователя, которая хранит данные (свойства) и предоставляет доступ к ряду методов работы с ними, а также бизнес-логику, связанную с областью применения класса. На примере такого класса я и хочу посмотреть сам и показать тебе, читатель, как изменился язык php за последнии годы.

Для удобного изменения кода, и чтобы в дальнейшем проще было отслеживать, что в каком порядке менялось, я создал репозиторий на гитхаб. Ссылка на репозиторий: https://github.com/ZhukMax/php-evo. Отразил в коммитах каждый шаг, который ниже постараюсь подробно описать.

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии19

Незнакомцы в поезде, или Как мы вводили кросс-интервью при повышении грейда

Время на прочтение6 мин
Количество просмотров3.2K

Всем привет! В этой статье я расскажу, как у нас в «Рексофт» происходит повышение грейдов, почему именно так, и как мы к этому пришли.

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

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии1

На php тоже может быть легко и быстро

Время на прочтение5 мин
Количество просмотров11K

На мой взгляд, язык php всегда был довольно хорошим решением для создания сложного бекэнда веб-приложений, а в девяностые и нулевые приобрел такую огромную популярность (именно огромную, сопоставимую с IE для веб-серфига того времени) в первую очередь благодаря легкости, скорости разработки и поддержки кода. Но те времена прошли. Сегодня считается, что приложения на php стали монструозны, долго и сложно запускаемы, способны работать только с подтягиванием множества зависимостей в директорию /vendor...

Зачастую все именно так, но я хочу попробовать вам показать, что может быть иначе. Попробуем сделать простое API и приложить не больше усилий чем при использовании Node.js или Go.

Под катом мой пример того, как можно быстро и без лишней головной боли сделать API на php.

Читать далее
Всего голосов 15: ↑11 и ↓4+11
Комментарии15

Мобильное тестирование, автоматизация и тестирование API: С чем нужно уметь работать тестировщику в 2021 году

Время на прочтение7 мин
Количество просмотров26K

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

Специалисты «Рексофт» собрали актуальные инструменты, которые облегчат жизнь тестировщику и помогут быстрее справляться с привычными задачами.

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

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии1

Расширение Keycloak для перехвата и обработки событий в системе

Время на прочтение9 мин
Количество просмотров14K

Продолжаю тему моего коллеги о Keycloak.

Кому не нужна вода, а просто пример кода, прыгайте сразу сюда.

Keycloak довольно часто используется в качестве решения для управления идентификацией и доступом для современных приложений в рамках enterprise приложений.

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

Расширение представляет собой обычный проект на Java, состоящий из классов, расширяющих дефолтные классы/интерфейсы Keycloak с необходим дополнительным функционалом. Причём расширить можно функционал чуть ли не любого класса Keycloak и для любых целей: от минимального изменения текста сообщения о некорректном вводе пользователем пароля, до привязки Discord'а, как Identity provider'а.

В данной статье речь пойдёт о расширении дефолтного слушателя событий в Keycloak.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Подключение Keycloak к Spring Boot приложению

Время на прочтение20 мин
Количество просмотров67K

Привет Хабр!

Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и предлагают использовать вместо него свободные или платные аналоги, в частности keycloak. В этом посте мы хотели бы поделится различными вариантами подключения keycloak к приложениям spring-boot.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

Эмпирические законы человеческого поведения в Scrum

Время на прочтение8 мин
Количество просмотров6.1K

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

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии3

Внедрение E2E-тестирования с Puppeteer и Jest

Время на прочтение4 мин
Количество просмотров6.7K

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

Хотим поделиться краткой историей о том, как мы на одном из проектов «Рексофт» пришли к написанию автотестов, и почему сделали акцент именно на e2e-тестах.

Читать
Всего голосов 3: ↑2 и ↓1+3
Комментарии3

DevOps-дайджест

Время на прочтение3 мин
Количество просмотров2K

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

Предлагаем подборку свежих статей, подкастов, докладов и грядущих событий для специалистов DevOps от команды «Рексофт». Собрали всё самое интересное за последние несколько недель.

Читать
Всего голосов 3: ↑1 и ↓20
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность