Search
Write a publication
Pull to refresh
20
0
Михаил Безоян @mbezoyan

Пользователь

Send message

Как проходить архитектурные секции

Reading time6 min
Views15K

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

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

Читать далее

Обновление веб приложения на удаленном сервере после сборки Maven'ом через SSH

Reading time2 min
Views2.1K

Проблема


После сборки проекта с помощью Build сервера или на локальной машине требуется выложить полученное приложение на тестовый сервер.
Читать дальше →

Пользовательские критерии в Hibernate

Reading time4 min
Views7.3K
В предыдущей статье я рассказал, как научить Hibernate хранить пользовательские типы данных. Теперь попробуем использовать эти данные при фильтрации выборок. Задекларируем результат, который мы хотим получить:
  1. String filteringTag = "habr";
  2. Session session = ...;
  3. Criteria criteria = session.createCriteria(StringArrayContainer.class);
  4. criteria.add(new StringArrayContainsCriterion("tags", filteringTag));
  5. List containers = criteria.list(); //Получаем список контейнеров, содержащих тег "habr"
  6. ...

Читать дальше →

Пользовательские типы в Hibernate

Reading time4 min
Views11K
Hibernate — это прекрасный ORM инструмент, который можно настроить практически под любые свои нужны. В этом топике я покажу, как можно хранить поля произвольного типа. Для примера, возьмем массив строк (String[]) и POJO объект, который мы хотим хранить в БД:
  1. public class StringArrayContainer {
  2.     private Integer id;
  3.     private String[] tags;
  4. //  Место для геттеров и сеттеров.    
  5. }

Для того, чтобы хибернейт мог сохранять в базу поле типа «массив строк» необходимо (и достаточно) написать класс, который реализует интерфейс UserType, а также сослаться на него в мэппинге (файл hbm.xml).
  1. public class StringArrayCustomType implements UserType {
  2. //  TODO: написать реализацию.  
  3. }

Читать дальше

Сборка JS приложения с помощью Maven

Reading time3 min
Views2.3K
Разрабатывая веб-приложения с обилием JS, со временем сталкиваешься с необходимостью автоматизировать сборку и тестирование, а также построение различных отчетов, документации и т.п. Мы столкнулись с этой проблемой практически сразу после старта проекта. В силу того, что серверная часть реализована на Java, выбор с очевидностью пал на Maven. Оставалось найти плагин, который умеет работать с javascript.

Поиски были недолгими и привели на mojo.codehaus.org/javascript-maven-tools/. «То, что нужно»,- подумал я и начал прикручивать его к проекту.
Читать дальше →

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Registered
Activity