Лучшие практики знатока

Если вы объявляете attr_accessor, вы можете использовать его как virtual attribute, который в основном является атрибутом модели, который не сохраняется в базе данных.

Пример случая: вы объявляете attr_accessor :password в своей модели User, чтобы вы могли использовать его в качестве поля в новой пользовательской форме. Когда вы получите их пароль в соответствующем действии create, вы можете получить hashed_password, сохранить его в базе данных и удалить указанный password (что делается автоматически в конце запроса).

11
задан ROMANIA_engineer 19 February 2016 в 15:23
поделиться

2 ответа

В большом проекте лучше всего иметь несколько репозиториев.

  1. Прокси-сервер / кеш компании будет хранить загруженные jar-файлы локально, чтобы компания не зависела от доступности внешних сайтов . Доступ к нему осуществляется как к обычному репозиторию, но он является шлюзом к общедоступным репозиториям.

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

  3. Репозитории проектов содержат артефакты, используемые проектом. Он может содержать артефакты подпроекта и так далее. Каждый разработчик в проекте должен иметь возможность опубликовать здесь что-нибудь.

Где вы разместите настройки, - дело вкуса. Я кладу эти вещи в settings.xml.

6
ответ дан 3 December 2019 в 07:14
поделиться

Шаг первый : Установите nexus на сервер в вашей локальной сети. Он отличный - простой в установке (правда, всего пару минут!) И надежный. У нас около 50 инженеров и множество серверов CI, которые работают над этим весь день, и он работает стабильно в течение многих месяцев. Допустим, вы установили его на сервере под названием nexus.local в своем DNS.

Шаг второй : Скопируйте файл settings.xml из http://www.sonatype.com/books/nexus- book / reference / maven-sect-single-group.html , при необходимости исправьте имя хоста, зафиксируйте его в системе исходного кода и попросите всех ваших разработчиков скопировать его в свои ~ / .m2 / settings.xml.

Шаг третий : Настройте файл pom.xml вашего проекта должным образом. Вам понадобится «родительский POM», который определяет раздел «distributionManagement», который выглядит примерно так:

  <distributionManagement>
    <snapshotRepository>
      <id>nexusSS</id>
      <name>Nexus Snapshot Repository</name>
      <url>http://nexus.local:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>nexusRelease</id>
      <name>Nexus Release Repository</name>
      <url>http://nexus.local:8081/nexus/content/repositories/releases</url>
    </repository>
  </distributionManagement>

Шаг четвертый : Включите «mvn deploy» - перейдите в пользовательский интерфейс нексуса (что-то вроде http : //nexus.local: 8081 / nexus ), щелкните пользователей, щелкните «развертывание» и введите пароль. Затем отредактируйте ваш ~ / .m2 / settings.xml и добавьте это:

<settings>
  ...
  <servers>
    <server>
      <id>nexus</id>
      <username>deployment</username>
      <password>PASSWORD</password>
    </server>
  </servers>
</settings>

Убедитесь, что он работает, запустив «mvn deploy», и вы должны были установить артефакты вашего проекта в нексус.

Шаг пять : Прочтите эту отличную документацию для maven: http://www.sonatype.com/products/maven/documentation/book-defguide

11
ответ дан 3 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: