Как стать автором
Обновить
118.17
Рейтинг
Haulmont
Создаем современные корпоративные системы
Сначала показывать
  • Новые
  • Лучшие

Мягкое удаление в Hibernate: неочевидные факты

Блог компании Haulmont Программирование *Java *

Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Применение мягкого удаления может быть оправдано целым набором требований: аудит, возможность восстановления удаленных записей, а иногда необходимо уметь удалять данные, при этом сохраняя на них ссылки из других записей… 

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

Читать далее
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 5.2K
Комментарии 25

Новости

Энтерпрайзные проекты убили профессию разработчика

Блог компании Haulmont Программирование *Управление продуктом *
Перевод


От переводчика: Фокусом нашей компании всегда была именно разработка корпоративных приложений. В Haulmont мы занимаемся как созданием собственно приложений, так и инструментов, позволяющих разработчикам эффективнее решать задачи, связанные с разработкой таких систем. Например, наш фреймворк Jmix предназначен для корпоративной разработки, мы это заявляем в рекламе и анонсах. И конечно же, пройти мимо статьи с таким названием мы просто не могли. В Jmix есть все, чтобы сделать разработку корпоративных приложений интересной и успешной, кроме одного: он не может повлиять на людей, которые принимают решения о методах и процессах разработки. Почитайте статью, возможно, она заставит вас задуматься, о том, как можно поменять вашу корпоративную разработку, чтобы все участники были довольны.


На эту статью меня вдохновил комментарий на HackerNews, который я больше не могу найти. Суть его была такая: “В то время, как архитектура слишком проработана, код недоработан”. Если кто-то опознает автора, я с радостью проставлю его авторство.


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

Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Просмотры 6.9K
Комментарии 16

Java от Oracle снова бесплатна

Блог компании Haulmont Программирование *Java *
Перевод

Тезисно: 

Java 17 полна решимости пробить барьер, имеющийся на границе Java 8 и Java 9. Теперь, начиная с 17-ой версии, Oracle будет предоставлять Oracle JDK бесплатно, даже для коммерческих целей. Единственное чего делать нельзя — это перепродавать Oracle JDK.

В статье приведен перевод полного текста анонса с блога Oracle: https://blogs.oracle.com/java/post/free-java-license.

Читать текст
Всего голосов 52: ↑49 и ↓3 +46
Просмотры 34K
Комментарии 103

Java 17 и Jakarta EE 9 — минимальные требования для Spring Framework 6

Блог компании Haulmont Программирование *Java *
Перевод


От переводчика: на конференции SpringOne были сделаны довольно важные анонсы относительно нового поколения Spring Framework, на Хабре это почему-то это прошло незамеченным. Судя по всему, в ближайшее время мы будем жить не просто в мире “Java 8/Java 11+”, а появится ещё один водораздел: “Spring 5/Spring 6+”. Чем это грозит? Например, если вы используете Hibernate 5.4, то придется принудительно обновиться на Hibernate 5.5+.


1 сентября на SpringOne было объявлено, что минимальные требования для Spring Framework 6 и Spring Boot 3, который будет доступен в 4 квартале 2022 года, сдвигаются в сторону увеличения:


  • Java 17+ (c Java 8-17 в линейке Spring Framework версии 5.3.x)
  • Jakarta EE 9+ (с Java EE 7-8 в линейке Spring Framework версии 5.3.x)
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 8.8K
Комментарии 3

5 советов разработчикам без опыта и студентам: как начать работу в IT

Блог компании Haulmont Учебный процесс в IT Карьера в IT-индустрии IT-компании

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

Читать далее
Всего голосов 12: ↑7 и ↓5 +2
Просмотры 11K
Комментарии 9

Kotlin + Hibernate: всё сложно

Блог компании Haulmont Программирование *Java *Kotlin *
Tutorial

Невозможно представить JPA без сущностей. Однако, их определение в Котлине таит некоторое количество подводных камней. Давайте посмотрим, как избежать распространенных ошибок и использовать возможности Котлина на максимум. Внимание спойлер! Классы данных — не лучший вариант для сущностей.

В этой статье основное внимание будет уделено Hibernate, поскольку он является несомненным лидером среди всех реализаций JPA.

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 5.8K
Комментарии 4

Искусственный интеллект в программировании: чего ждать, чего бояться

Блог компании Haulmont Программирование *Искусственный интеллект

Недавно прогремел GitHub со своим новым продуктом Copilot. Из ближайшего прошлого помнятся слова Kite и Codota (ныне Tabnine). Всё это щупальцы искусственного интеллекта, призванные изменить отрасль разработки программного обеспечения. В целом, шум затих, пена сошла, можно смотреть в более прозрачное будущее. В этой статье я опишу свои впечатления и переживания по поводу всего этого AI-я.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 9.4K
Комментарии 30

Lombok + JPA: Что может пойти не так?

Блог компании Haulmont Программирование *Java *

Lombok — это отличный инструмент, с которым Java-код становится чище и лаконичнее. Однако есть несколько нюансов, которые надо учитывать при его использовании с JPA. В этой статье мы выясним, как неправильное применение Lombok может повлиять на производительность приложений или даже привести к ошибкам. Разберемся, как этого избежать не теряя преимуществ Lombok.

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

Вспомнить все или как мы вернулись из удалёнки в 2021 году

Блог компании Haulmont Офисы IT-компаний Удалённая работа

В 2020 году мы в Haulmont, как и многие IT-компании, начали работать удаленно, и корпоративная жизнь тоже перешла в онлайн. Общение между коллегами свелось к перепискам и созвонам, хотя раньше все собирались на кухне, чтобы поесть пиццу или поиграть в приставку. Не говоря уже о корпоративах — на смену вечеринкам в ресторанах или выездам на природу пришли Zoom-чаепития. Новые сотрудники — а к нам пришло более 100 человек — ни разу не видели коллег вживую. Вся отрасль столкнулась с тем, что поддерживать связь внутри команды стало сложнее. Поэтому, когда весной мир начал постепенно возвращаться в офисы, мы тоже решили воспользоваться этой возможностью. Однако в первую очередь нужно было подумать о безопасности. Плюс, многим понравился формат удаленки, да и тащить людей в корпоративную жизнь насильно мы не хотели. Рассказываем, как мы решили вопрос возвращения в офисы и при чем тут Буги-Вуги.
Мы понимаем, что сейчас ситуация с коронавирусом и ограничительными мерами стремительно меняется. Пока в регионах, где расположены подразделения Haulmont, все спокойно, поэтому мы работаем в офисах пока есть возможность. Но внимательно следим за новостями и готовы реагировать по ситуации.

Читать далее
Всего голосов 25: ↑14 и ↓11 +3
Просмотры 1.9K
Комментарии 0

Тонкое искусство быть девелопер адвокатом

Блог компании Haulmont Программирование *Управление разработкой *
Перевод


От переводчика: профессия девелопер адвоката появилась не так давно и почти у каждого крупного продукта или технологии есть свой адвокат, технологические компании понимают важность этого канала общения с миром. Есть такая должность и в Haulmont. Когда мы формулировали требования к вакансии, нам самим пришлось отвечать на вопрос "А что же должен делать девелопер адвокат?" И эта статья простым языком и очень исчерпывающе на этот вопрос отвечает.


Несколько лет назад я написал статью “Кто такой вообще этот девелопер адвокат?”, в которой постарался помочь людям в технической индустрии понять, что входит в эту роль. И до сих пор я получаю тонны вопросов про это в Твиттере.


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

Всего голосов 15: ↑13 и ↓2 +11
Просмотры 2.4K
Комментарии 1

Что нового в JPA Buddy 3.0

Блог компании Haulmont Программирование *Java *

Мы выпустили JPA Buddy 3.0! В этом релизе наконец-то появилась генерация скриптов для Flyway, поддержка Kotlin, а также другие улучшения и исправления. Посмотрим на эти нововведения подробнее.

Для тех, кто не слышал о JPA Buddy: это плагин, который упрощает работу с JPA, Hibernate, Spring Data JPA, Liquibase и подобными технологиями. Подробнее о нем можно почитать в этой статье.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.1K
Комментарии 0

Hibernate и Spring Boot: кто отвечает за имена таблиц?

Блог компании Haulmont Программирование *Java *

Когда мы добавляем зависимость в проект, мы подписываем контракт. Зачастую, многие условия в нем «написаны мелким шрифтом». В этой статье мы рассмотрим кое-что, что легко  пропустить при подписании трехстороннего контракта между вами, Hibernate и Spring Boot. Речь пойдет о стратегиях именования.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 4.5K
Комментарии 2

Нельзя просто взять и сделать продукт из внутреннего фреймворка или как прошел День открытых дверей Jmix

Блог компании Haulmont Конференции

В начале апреля мы анонсировали наше первое крупное онлайн-мероприятие для Java и Rect разработчиков — День открытых дверей open source платформы Jmix. 

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

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

Вы уверены, что вам нужен API?

Блог компании Haulmont JavaScript *Программирование *Java *
Перевод


От переводчика: При разработке бэкэнда наличие API для фронт-энда стало практически повсеместным стандартом. Однако можем ли мы называть это "настоящим" API? Предлагаем вашему вниманию интересное пятничное чтение, которое, возможно, повлияет на API, которые мы все разрабатываем.


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


Ценность API — в сокрытии информации


Предоставляя API, системы решают, какая информация должна быть доступна из внешнего мира, а какая будет держаться в секрете (“сокрытие информации”).


Почему это важно? Потому что чем объемнее API, тем дороже его поддерживать. Представьте себе крайний случай — открытие каждой детали реализации. Каждое изменение в системе может сломать код, который используют ваши клиенты. Именно по этой причине мы стремимся разрабатывать компактные API. Я писал статью (перевод на хабре) по этой теме в контексте описания шаблона “Регистрация событий”.


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

Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 4.8K
Комментарии 4

Анонс Jmix 0.9 — предварительный релиз фреймворка

Блог компании Haulmont Программирование *Java *


Мы в компании Haulmont разрабатываем Jmix. Это фреймворк с открытым кодом для разработки backend для data-centric приложений, основанный на Spring Boot, наследник CUBA Platform.


Мы предоставляем готовую архитектуру, сервисы и API, которые строятся поверх модели данных, а разработчики уже строят эту модель данных (JPA) и пишут бизнес-логику (Spring Boot). Всё остальное предоставляется из коробки или может быть легко подключено: подсистемы безопасности и аудита, автоматическое создание REST API, multi-tenancy и прочие системные сервисы. В дополнение разработан инструментарий для более эффективной работы с фреймворком.


Jmix 0.9 — это последняя предрелизная, “практически стабильная” ветка фреймворка. Вместе с этим релизом мы также обновляем инструмент для Jmix разработчиков — Jmix Studio: 0.9.1-202.


В этом релизе мы “заморозили” все основные API: определение модели данных, слой доступа к БД, а также систему безопасности. С большой долей вероятности все это будет перенесено без изменений в версию 1.0. Это означает, что можно рассматривать Jmix 0.9 как отличный вариант для разработки MVP. Ожидается, что миграция на 1.0 будет практически незаметной.


Давайте взглянем на самые заметные изменения в разных частях фреймворка.

Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 1.7K
Комментарии 11

Анонс онлайн-дня открытых дверей для Java и React разработчиков: особенности работы в команде open source фреймворка

Блог компании Haulmont Конференции

Опыт крупных конференций для разработчиков показал: жизнь онлайн — действительно хороший повод пообщаться с единомышленниками со всей страны. Поэтому мы приглашаем всех причастных к Java или React разработке на онлайн-день открытых дверей Jmix.

В течение часа мы расскажем:

  • как устроена разработка open source фреймворка;
  • чем создание технологий и инструментов для девелоперов отличается от продуктовой разработки;
  • почему разработчику платформы нужно гораздо глубже погружаться в используемые технологии;
  • чем занимаются люди с экзотической профессией Developer Advocate и, конечно, ответим на все вопросы.

Когда: 7 апреля в 18:00 (МСК)

Чтобы присоединиться, зарегистрируйтесь на Timepad: haulmont.timepad.ru/event/1587632

Все еще думаете «быть или не быть»? Тогда посмотрите под кат — там подробности о докладах и наших спикерахах — вы уже знакомы с ними по многим нашим материалам на Хабре.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 530
Комментарии 0

Haulmont и тайные комнаты или почему мы не закрыли офисы разработки за год пандемии

Блог компании Haulmont Офисы IT-компаний

Многие компании полностью отказались от работы в офисах — хорошо, что это были не мы. За год удаленки все офисы Haulmont были открыты для сотрудников, хоть и стояли почти пустые. Делимся впечатлениями от такого эксперимента и показываем, как выглядят рабочие места, кухни, спортзалы и зоны отдыха наших коллег.

Так повелось, что на Хабре мы чаще пишем экспертные материалы про технологии или наши продукты, но почти (а если быть откровенными, то и совсем) не говорим о жизни Haulmont. Хотя тут нам тоже есть чем поделиться. Исправляемся.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 2.1K
Комментарии 4

JPA Buddy: Умный помощник — половина работы

Блог компании Haulmont Программирование *Java *

Ну что ж, Hello World... После почти года разработки наконец-то вышла первая версия JPA Buddy! Это инструмент, который должен стать вашим верным помощником по написанию кода для проектов с JPA и всем, что с этим связано: Hibernate, Spring Data, Liquibase и другим ПО из типичного стека разработки.

Чем он вам поможет? Если кратко, JPA Buddy упростит работу с JPA и тем самым сэкономит ваше время. В этой статье мы взглянем на основные фичи JPA Buddy, немного обсудим его историю и поговорим о его преимуществах. Надеюсь, он займет достойное место среди любимых инструментов Java-разработчиков, которые пользуются JPA, Spring, Liquibase и, конечно же, самой продвинутой Java IDE — IntelliJ IDEA.

Читать далее
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 5.8K
Комментарии 19

Jmix / CUBA Platform: итоги 2020 и планы на 2021 год

Блог компании Haulmont Open source *Программирование *Java *Kotlin *

В этой статье я подведу итоги 2020 года и расскажу о планах команды CUBA на 2021. Несмотря на внешние потрясения, прошедший год был очень продуктивным для нашей команды, а новый обещает быть еще интереснее. 

TL;DR

Для тех, кто не знаком с Jmix: это новое поколение CUBA Platform, open source платформы для разработки широкого спектра корпоративных приложений. Jmix включает в себя фреймворк на основе Spring Boot, специализированные инструменты разработки, встроенные в IntelliJ IDEA и набор высокоуровневых компонентов. Такая комбинация значительно ускоряет и упрощает разработку приложений.

С выпуском Jmix в конце года мы фактически переписали бэкенд CUBA Platform, перенеся архитектуру на Spring Boot и сделав его модульным. На этом фундаменте в текущем году мы планируем:

- создать полнофункциональный UI клиент на React, с поддержкой визуальных конструкторов

- интегрировать GraphQL для взаимодействия между клиентом и сервером

- максимально упростить и автоматизировать DevOps

- поддержать возможность создания cloud native приложений

- предоставить больше визуальных инструментов разработчика в Studio, смещая фокус из runtime в design time. 

Чтобы реализовать задуманное, мы хотим удвоить команду разработки и активно ищем единомышленников. Подробности - под катом. 

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

Jmix — будущее CUBA Platform

Блог компании Haulmont Программирование *Java *


TL;DR


Jmix — новое название и новый большой релиз CUBA Platform. На текущий момент Jmix находится в стадии предварительного релиза, мы планируем выпустить стабильную версию во втором квартале 2021 года. Основные изменения:


  • В ядре платформы теперь будет Spring Boot
  • Фреймворк будет разделен на модули (data, security, audit, и т.д.)
  • Новый подход к определению модели данных
  • Обновление базы данных теперь производится при помощи Liquibase
  • Процесс развертывания будет основан на стандартных средствах Spring Boot. Это обеспечит лучшую интеграцию с облачными средами выполнения

Мы будем активно развивать разработку пользовательского интерфейса на ReactJS, в то же время продолжим поддержку текущего фреймворка, основанного на Vaadin.


CUBA Platform будет поддерживаться долгое время, мы также предоставим возможность миграции на Jmix через совместимый API.


Официальный сайт Jmix: jmix.io.
Обсуждение на форуме: по-английски.

Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 3K
Комментарии 8

Информация

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