• Идеальный мавен. Часть 1

    Знаю, он не идеальный, но по крайней мере я попытаюсь рассказать, как его к этому приблизить.


    В одну заметку всё не войдёт, поэтому сначала план:


    1. Постановка задачи — описание той конфигурации проектов с которой мы будем работать, целей и проблем
    2. Как настроить мавен для разработки в рамках нашей задачи
    3. Как настроить CI/CD (билды, релизы, деплоймент)
    4. Нерешенные проблемы

    Задача


    Итак, начнем с постановки задачи. Предположим у нас есть группа людей (компания, фирма, кружок), которые разрабатывают проекты на Java. При этом у них есть как проекты с открытым кодом (OSS), так и проекты с закрытым кодом. Проекты, назовём их внутренние, разрабатываются независимо друг от друга, но между ними есть зависимости. Что хочется:


    • Централизованное управление зависимостями на внешние библиотеки
    • OSS проекты в центральном мавен репозитории
    • Закрытые проекты в своём мавен репозитории.
    • «Простой» релиз внутренних проектов с обновлением зависимости в зависимых проектах.
    • Максимальная автоматизация всех хотелок.
    Читать дальше →
  • Как мы построили программно-определяемый дата-центр в ящике стола

      Проснулся я однажды пораньше и подумал: а чего бы не построить дата-центр? Свой собственный, на Intel NUC — мини-ПК, на которых крутится половина нашего центра технологий Intel.

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

      На третий день смех внезапно прекратился, и многие начали чесать голову. Потому что получился мобильный ЦОД для демонстраций и обучения, который можно принести к заказчику в чемодане. Или установить на танк.



      Эпопея строителя дата-центра — ниже.
      Читать дальше →
    • Spark — Потрясающий веб-микрофреймворк для Java

      image

      Небольшое вступление


      Spark — это просто чудесный микрофреймворк для создания веб-приложений на джаве без особых усилий.  Spark стремится к простоте и обеспечивает только минимальный набор функций. Тем не менее он предоставляет все необходимое для создания веб-приложения, которые поместятся в несколько строк кода. С синтаксисом, вдохновленным Sinatra, код выглядит очень чистым.
      Читать дальше →
    • Как стать более продуктивным с плагинами Android Studio

      • Перевод
      image

      Android Studio — очень надежный инструмент. Он имеет самый простой и вместе с тем самый гибкий интерфейс для разработки пользовательского интерфейса для всех типов устройств.
      Мы можем перетаскивать элементы представления и виджеты в нашем редакторе макетов и детально настраивать через несколько строк в xml.

      Студия обладает лучшими в отрасли инструментами для редактирования кода, отладки и отслеживания производительности.

      Но иногда хочется, чтобы этот инструмент делал нас еще более продуктивными.
      Читать дальше →
    • От репозитория до CI/CD-инфраструктуры в продакшене за неделю

        Обычно в термин «поддержка» вкладывают только один смысл — это реагирование на беды с хостингом, замена битых дисков, настройка веб-серверов и СУБД, общее повседневное администрирование. Но, на самом деле, это только первый уровень контроля стабильности работы любого интернет-проекта.
        Читать дальше →
        • +14
        • 7,5k
        • 2
      • Ядро автоматизации тестирования в микросервисной архитектуре

          Привет, Хабр! Меня зовут Дмитрий Химион, я руковожу отделом обеспечения качества в Avito. Cегодня я хочу рассказать про автоматизацию тестирования в рамках работы с микросервисной архитектурой. Что мы можем предложить разработке для того, чтобы облегчить контроль качества? Читайте под катом.


          Читать дальше →
          • +15
          • 10,4k
          • 3
        • Правила хорошего тона для API

            Перенос функциональности сайта, интернет-магазина или портала в мобильное приложение имеет ряд преимуществ как для владельца онлайн-сервиса, так и для его клиентов. Владелец получает дополнительный канал связи со своей целевой аудиторией и возможность персонализировать рекламные объявления, а пользователь – более удобный интерфейс, дополнительный функционал и возможность получения своевременных оповещений.

            О том, какие принципы и инструменты мы используем для добавления REST API к проектам, читайте под катом.
            Читать дальше →
          • learnopengl. Урок 2.2 — Основы освещения

            • Tutorial

            Распространение света в реальном мире это чрезвычайно сложное явление, зависящее от слишком многих факторов, и, располагая ограниченными вычислительными ресурсами, мы не можем себе позволить учитывать в расчетах все нюансы. Поэтому освещение в OpenGL основано на использовании приближенных к реальности упрощенных математических моделей, которые выглядят достаточно похожими, но рассчитываются гораздо проще. Эти модели освещения описывают физику света исходя из нашего понимания его природы. Одна из этих моделей называется моделью освещения по Фонгу (Phong). Модель Фонга состоит из трех главных компонентов: фонового (ambient), рассеянного/диффузного (diffuse) и бликового (specular). Ниже вы можете видеть, что они из себя представляют:


            Модель освещения Phong

            Читать дальше →
          • Процедурная генерация в Distrust

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

            Перед вами здание- склад, сгенерированное процедурно:
            image
            Читать дальше →
          • Создание приложений с использованием Firebird, jOOQ и Spring MVC

            • Tutorial
            Всем привет. На этот раз будет описан процесс создания web приложения на языке Java с использованием фреймворка Spring MVC, библиотеки jOOQ и СУБД Firebird.

            Для упрощения разработки вы можете воспользоваться одной из распространённых IDE для Java (NetBeans, IntelliJ IDEA, Eclipse, JDeveloper или др.). Лично я использовал NetBeans. Для тестирования и отладки нам так же потребуется установить один и веб-серверов или серверов приложения (Apache Tomcat или Glass Fish) Создаём проект на основе шаблона Maven проекта веб-приложения.
            Читать дальше →