Какие каталоги развертывания Вы используете для приложений направляющих (развертывающийся к debian полю)?

Есть ли способ заставить функцию constexpr не оцениваться во время компиляции [?]

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

Я имею в виду ... предположим, у вас есть следующая constexpr функция

constexpr int getVal ()
 { return 0; }

, которую вы можете использовать следующим образом

constexpr auto a = getVal();

auto b = getVal();

и (игнорируя правило "как есть" ) вы уверены, что getVal() вычисляется при инициализации во время компиляции a, но вы не знаете, вычислена ли она во время компиляции или во время выполнения b.

Но если вы измените функцию следующим образом

constexpr int getVal (int)
 { return 0; }

вы можете написать

   int c = 1;

   constexpr auto a = getVal(0);

   auto b = getVal(c);

, теперь вы можете быть уверены, что getVal() вычисляется при инициализации во время компиляции a (потому что a - это constexpr, а 0 - литерал), и это вычисляется во время инициализации b (потому что c нельзя использовать в выражении constexpr).

Вы также можете проверить, что при записи

int c = 1;

constexpr auto a = getVal(c);

вы получаете ошибку компиляции, потому что a должен быть инициализирован во время компиляции, но getVal(c) не может быть вычислен во время компиляции.

10
задан Christoph Schiessl 3 October 2008 в 11:12
поделиться

6 ответов

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

Я думаю единственная причина, которую люди используют/u/apps/# {appname}, то, что это - настройка по умолчанию Capistrano - конечно, это кажется нечетным мне делающий вещи тот путь.

5
ответ дан 3 December 2019 в 22:02
поделиться

Стандарт FHS предложил бы /srv/www/#{appname}.

4
ответ дан 3 December 2019 в 22:02
поделиться

Как другие плакаты я думаю, что необходимо просто поместить их везде, где самые естественные чувства. Читать man hier если требуется видеть то, для чего предназначены каталоги в стандартной иерархии UNIX. Мне нравится помещать вещи, где-нибудь логичные под /var

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

1
ответ дан 3 December 2019 в 22:02
поделиться

Я склонен создавать преданного пользователя для каждого приложения для направляющих, я выполняю и устанавливаю и добавляю того пользователя к www-data группа. Так, я склонен иметь /home/mephisto/www, /home/warehouse/www и так далее.

Я делаю это просто для организации, и я не думаю, что она имеет значение очень.

3
ответ дан 3 December 2019 в 22:02
поделиться

CPanel основывал совместно использованный хостинг-аккаунт, который я использую, кажется, способствует/home/etc/rails_apps/...

Я думаю, что это довольно произвольно - пока они не находятся в Вашем общедоступном каталоге HTML.

1
ответ дан 3 December 2019 в 22:02
поделиться

Я использую Ubuntu и развертываюсь под/var/rails/appname (под которым выпуски / и / ток от Capistrano).

Я делаю это, чтобы иметь немного разделения между типами приложения: направляющие, php, статичный...

Я не думаю, что это действительно имеет значение, пока Вы устанавливаете полномочия и владение правильно.

2
ответ дан 3 December 2019 в 22:02
поделиться
Другие вопросы по тегам:

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