• Простой гибкий маппер

    В приложении, которым я сейчас занимаюсь, существует несколько классов для представления одной сущности. Например, у сущности “Сотрудник” есть целых три класса: EmployeeDto - для приема с сервера, Employee - для работы в приложении, EmployeeEntity - для хранения в локальной базе. У нас есть naming conventions, по которым суффикс *Dto говорит, что эта сущность будет использоваться для передачи данных по сети (скорее всего, такая сущность будет реализовывать интерфейс Serializable), суффикс *Entity говорит, что эта сущность будет использоваться для хранения в БД (у такой сущности будет много аннотаций для ORM), а сущности без суффикса используются непосредственно в бизнес логике, будем их называть доменными. Я расскажу о выбранном мной способе конвертирования данных между такими сущностями.

  • Про мотивацию

    Я работаю в компании X. И у меня есть один очень простой вопрос к моим руководителям: что мне делать, чтобы зарабатывать больше?

  • Жизнь без .gitignore

    В статье рассказывается, что файл .gitignore - мусорка, которая может еще и навредить. Например, вы положили туда паттерн, который избавляет вас от ваших специфичных файлов, которые не должны попасть в VCS, а ваш коллега получил эту информацию, и узнал, например, какую вы, используете IDE. В той статье так же описано, как жить без .gitignore файла с помощью .git/info/exclude. Но если вам не хочется что-то править в .git и вы используете IDE от JetBrains, то добро пожаловать.

  • Android Full-Screen Dialog Library

    Существует компонент в Material Design, который предназначен для отображения диалога во весь экран вашего приложения. Выглядит это так:
    True full-screen dialog

    К сожалению, в стандартной библиотеке дизайна не реализован такой компонент. Поэтому предлагаю вашему вниманию Full-Screen Dialog Library.