Как стать автором
Обновить
96.49
Naumen
Мечтай. Создавай. Меняй мир к лучшему
Сначала показывать

Gson или «Туда и Обратно»

Время на прочтение25 мин
Количество просмотров179K
Недавно мне пришлось поработать с библиотекой Google Gson, предназначенной для преобразования Java-объектов в текстовый формат JSON (сериализация) и обратного преобразования (десереализация). Часто при работе с Gson хватает стандартных настроек библиотеки, но бывают случаи (в том числе мой), когда необходимо кастомизировать процессы преобразований.

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

Для начала нужно выбрать какую-нибудь предметную область. Скажем, не знаю, почему-то приходят в голову мысль про отряд гномов. Собственно, почему бы и нет?


За синие горы, за белый туман...
Всего голосов 28: ↑27 и ↓1+26
Комментарии27

Как машинное обучение спасает деревья в Екатеринбурге

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


Привет, Хабр! Мы сотрудники екатеринбургского офиса NAUMEN. Делимся интересным проектом – интерактивной картой деревьев на основе нейросетевых алгоритмов. В ее создании также участвуют студенты УрФУ и волонтеры нашего города.


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


Проводить опись зеленых насаждений вручную – долго и неэффективно. На помощь приходят современные технологии: аэрофотосъемка, изображения Street View, съемка LiDAR-систем и дронов. Среди многообразия источников данных для получения информации об объектах городской среды наиболее доступными и относительно дешевыми являются панорамные фотографии со Street View. С их помощью можно обучить нейросеть распознавать на снимках деревья, определять их геолокацию и наносить их на карту города. Как проходил этот процесс и каких результатов удалось добиться – читайте в статье.


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

Как в офисе показать ценности компании (без плакатов и лозунгов)

Время на прочтение5 мин
Количество просмотров14K
Naumen начался в 2001 году с шести сотрудников. Компания арендовала небольшой офис в жилом доме в Екатеринбурге. А сейчас, в 2019, наш основной офис разработки занимает 4 этажа в бизнес-центре: у нас есть переговорки на любой вкус, учебный класс, спортивная комната, просторная кухня, кофе-поинты и крытый паркинг для велосипедов.

Вообще Naumen живет не только в Екатеринбурге. У нас есть офисы в Москве, Санкт-Петербурге, Твери и Челябинске. Мы стараемся все офисы делать в одном стиле, чтобы сотрудник, приезжая в командировку, чувствовал себя комфортно и легко адаптировался.

О том, как изменили офис в Екатеринбурге в прошлом году под потребности сотрудников и под рост на 20% в год, мы и расскажем.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии45

Правила джентльменского поведения в IT: история ITIL

Время на прочтение5 мин
Количество просмотров16K
В начале 2019 года библиотеку инфраструктуры информационных технологий ITIL ждет самое серьёзное обновление с 2011. Уже почти 30 лет ею пользуются по всему миру — и в частном бизнесе, и в государственных структурах. Вспомним, для чего ITIL создали и как она менялась.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии24

Реактивный мессенджер, или CQRS и ES вместе с Akka и Scala

Время на прочтение21 мин
Количество просмотров23K
В последнее время мы часто слышим о реактивном программировании и видим различные баззворды: message-driven архитектура, event-sourcing, CQRS. К сожалению, на Хабре об этом пишут довольно мало, поэтому я решил исправить ситуацию и поделиться своими знаниями со всеми желающими.

В этой статье мы узнаем об основных особенностях реактивных приложений, рассмотрим, как паттерны CQRS и EventSourcing помогут нам в их создании, а чтобы не было скучно, мы с вами шаг за шагом сделаем свой мессенджер с вебсокетом и акторами, соответствующий всем канонам реактивного программирования. Для реализации всего этого добра, мы будем использовать замечательный язык Scala вместе с не менее превосходной библиотекой Akkа, реализующей модель акторов. Еще, мы будем использовать Play Framework для написания веб-составляющей нашего приложения. Итак, приступим.

Статья предназначена для тех, кто уже знаком со Scala и слышал о модели акторов. Все остальные тоже приглашаются к прочтению, принципы реактивного программирования можно применять вне зависимости от языка и фреймворка.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии33

Асинхронный HTTP в Play Framework

Время на прочтение7 мин
Количество просмотров8.5K
При написании собственных веб-приложений часто возникают такие ситуации, в которых приходится делать выбор между синхронным и асинхронным выполнением запросов. С одной стороны, идея синхронной работы выглядит вполне логичной: мы запускаем некоторый процесс, дожидаемся его завершения и после этого продолжаем работу. Но на деле такой подход хорош только в случае простых вычислений. Представьте, что в процессе выполнения вам нужно, к примеру, сделать сложный запрос к базе данных — а то и, еще лучше, отправить запрос к другому серверу и дождаться от него результатов. В этом случае дальнейшая работа потока будет остановлена на довольно продолжительное время — а это, понятное дело, далеко не всегда является приемлемым. Именно в таких случаях на помощь приходят асинхронные запросы. Давайте посмотрим, как работа с ними реализована в Play framework.
Подробности
Всего голосов 24: ↑22 и ↓2+20
Комментарии10

Что почитать об ITSM: книги, блоги и свежие статьи

Время на прочтение6 мин
Количество просмотров21K
Сегодня об ITSM и ITIL пишут все чаще — в том числе крупные площадки вроде Forbes и TechRadar. Охватить все многообразие источников и публикаций физически невозможно.

Потому мы подготовили для вас дайджест, в котором собрали наиболее интересные ресурсы, посвященные внедрению ITSM в компаниях разных «калибров». Это — книги и статьи про управление услугами, а также личные блоги ITSM-экспертов.

Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии2

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 1

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

История одного проекта.



Вам когда-нибудь снились верблюды? Вот и мне тоже нет. Но, когда работаешь с Camel-ом уже третий год, начинают сниться не только верблюды.
В общем, буду делиться опытом, писать о верблюдах и учить вас их готовить. Это серия статей в трёх частях: первая часть будет для тех, кому интересны истории и муки творчества; вторая — больше техническая, о паттернах интеграции, их применении и третья часть — об ошибках и отладке.
Если вам нужно объединить ваши сервисы, здесь вы узнаете, чем хорош Camel. Если вы хотите научиться использовать что-нибудь новенькое, здесь мы начнём с азов. Если вам нравятся истории и оригинальные фишки, которые есть в каждой команде, то читайте дальше.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии10

Как внедрить унифицированные процессы с учетом всех особенностей компании?

Время на прочтение11 мин
Количество просмотров5.3K
С выходом ITIL v4 хотелось бы отдать дань уважения великой методологии и рассказать об российском ITSM-опыте, для чего и как его применять в сегодняшних условиях компаниям, идущим по пути цифровых преобразований.

Для последовательного раскрытия обозначенной темы в предлагаемой статье применяется один из любимых приемов авторов – «4П».
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии5

Есть С.Л.О.Н.а по частям. Внедрить ITAM и не подавиться (Часть 2)

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


Универсальной последовательности этапов внедрения ITAM не существует. Но выделяется костяк, который может подойти большинству компаний. Не вошедшие в «скелет» проекта процессы становятся индивидуальными особенностями реализации.


В предыдущей публикации я делился опытом:


  • с чего лучше начать внедрение ITAM-решений;
  • на что опереться при выборе модели управления ИТ-активами;
  • в чем особенности базовых этапов внедрения.

В этой статье хочу продолжить тему и рассказать:


  • как построить ресурсно-сервисную и ресурсно-финансовую модели учета ИТ-активов;
  • какова специфика управления лицензиями и поставщиками;
  • каковы точки роста.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии6

Управление ИТ-активами: как мифы влияют на проекты

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

Все счастливые проекты похожи друг на друга, каждый несчастливый проект несчастлив по-своему.


6 лет занимаюсь внедрением и автоматизацией бизнес-процессов, из них 3 года – внедрением ITAM-решений. В проектах по автоматизации процессов управления ИТ-активами постоянно боремся с различными мифами.


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


Рассмотрим эти мифы подробнее, попробуем развеять их или подтвердить.



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

Обновление Java с 17 на 21: через тернии к звездам

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров7.5K

Меня зовут Денис, я тимлид команды R&D в Naumen Service Management Platform.

Так как наш продукт написан в основном на Java, мы с большим нетерпением ждали очередной LTS релиз в прошлом году, предвкушая мощь виртуальных потоков и крутизну доработанного pattern matching.

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

Читать далее
Всего голосов 18: ↑15 и ↓3+14
Комментарии28

Технические конференции для самих себя: наш опыт, ошибки и достижения

Время на прочтение6 мин
Количество просмотров3.2K
В Naumen мы сами организуем техническую конференцию. Мы назвали ее Devel Camp (от «developer»). Для наших сотрудников она стала хорошей альтернативой открытым профессиональным конференциям.

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

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

И, конечно, у нас нет явной или завуалированной под доклады рекламы.

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



Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии3

DSL на Scala для работы с Нtml-формами

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


Наверняка многим из вас знаком процесс создания и обработки HTML форм. Возможно, для типичного веб-приложения он вполне тривиален, но если вы работаете в корпоративном секторе, ситуация складывается немного иначе. Формы создания или редактирования клиентов, документов и многого другого становятся ежедневной рутиной. Java фреймворки, развиваясь, предлагают все более удобные API и компоненты для работы с ними. Но даже несмотря на это, многие наверняка задумывались, нельзя ли сделать работу с формами чуточку удобнее.
В первую очередь, конечно, хотелось бы, чтобы фреймворк максимально облегчал следующие задачи:
  • определение свойств полей формы, таких как тип, заголовок или валидность;
  • обработка данных формы после ее отправки;
  • рендеринг формы.

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

В этой статье я опишу процесс создания собственного DSL на языке Scala, а затем покажу, как новый способ описания форм применить в контексте Play Framework 2.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

История развития колл-центров, или как технологии изменили работу операторов с клиентами

Время на прочтение7 мин
Количество просмотров11K
Принято считать, что колл-центры — это просто залы, в которых за компьютерами сидят операторы и общаются с клиентами по телефону. Отчасти это правда, однако агенты современных контактных центров используют большее число каналов для взаимодействия с пользователями (например, мессенджеры и социальные сети). При этом все чаще в работе им помогают современные технологии, в том числе алгоритмы машинного обучения и анализа данных.

Когда появились первые контактные центры, что изменилось с момента их первого появления и какое отношение к «эволюции колл-центров» имеют системы искусственного интеллекта (ИИ), расскажем далее.

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

[Екатеринбург, анонс] Митап для Java-разработчиков

Время на прочтение2 мин
Количество просмотров1.6K
Мы уже писали, что такое JUG.EKB и зачем проводим митапы для Java-разработчиков. Сегодня анонсируем очередную встречу.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Анонс четвертой встречи Java User Group EKB

Время на прочтение2 мин
Количество просмотров2.9K
Привет, Хабр!

JUG.EKB — Java User Group Екатеринбурга, на встречах JUG.EKB мы обсуждаем различные технологий из мира Java, делимся опытом и пьем кофе во имя Java!
Мы регулярно проводим встречи JUG.EKB с лекциями Java экспертов на самые интересные темы.
Наш сайт jugekb.ru, сообщество в ВК — vk.com/jugekb.

Приглашаем всех java разработчиков на четвертую встречу JUG.EKB.
Подробности внутри
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

JUG.EKB: объединяем с помощью митапов Java-разработчиков

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


Naumen провел очередную встречу Java-сообщества Екатеринбурга – JUG.EKB. Митап прошел 13 сентября, в День программиста. Это уже 11-я встреча.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии0

Анонс пятой встречи Java User Group EKB

Время на прочтение2 мин
Количество просмотров2.9K
Привет, Хабр!

JUG.EKB — Java User Group Екатеринбурга, на встречах JUG.EKB мы обсуждаем различные технологий из мира Java, делимся опытом и пьем кофе во имя Java!
Мы регулярно проводим встречи JUG.EKB с лекциями Java экспертов на самые интересные темы.
Наш сайт jugekb.ru, сообщество в ВК — vk.com/jugekb.

Приглашаем всех java разработчиков на пятую встречу JUG.EKB.
Зайди под кат, узнай подробности, стань спикером
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Анонс второй встречи Java User Group Севастополь

Время на прочтение2 мин
Количество просмотров3.9K
Добрый день!

JUG — Java User Group, встречи JUG.SEV — это обсуждение различных технологий из мира Java, обмен опытом, а также просто интересное общение в Севастополе! Мы регулярно проводим встречи JUG.SEV с лекциями Java экспертов на самые интересные темы.
Наш сайт jugsev.ru, сообщество в ВК — vk.com/jugsev

Приглашаем всех java-разработчиков на вторую встречу JUG.SEV!

image

Программа встречи:
Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии0

Информация

Сайт
www.naumen.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия