не понимаю, почему нельзя сравнить даты с любой необходимой точностью
$estimatedDeliveryDate = new DateTimeImmutable('2017-08-16');
// представим, что сегодня ТАКЖЕ 2017-08-16
$now = new DateTimeImmutable('now');
/** @link http://php.net/manual/en/dateinterval.format.php */
$diffInFormat = $estimatedDeliveryDate->diff($now)->format('necessary_format');
А можно ли хранить копию данных, но в зашифрованном виде, формально выполняя требования закона, а оригинал хранить в открытом виде там, где он хранится сейчас?
Теория Относительности запрещает любой материи передвигаться в пространстве быстрее скорости света, но совсем не запрещает самому пространству расширяться в стороны с любой скоростью.
я считаю статью более чем достойной быть здесь, и со мной в этом соглашается хабра-сообщество, что видно по результатам к посту)
более того, автор этой статьи 100% заслуживает иметь возможность самостоятельно размещать свои интереснейшие статьи на нашем ресурсе. именно это недоразумение я и пытался исправить, но пока безуспешно(
txtrst='\e[0m' # Text Reset
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
WORK_TREE='/some/path/on/dev/server/'
while read oldrev newrev ref
do
case $ref in
refs/heads/dev )
echo "========================================"
git --work-tree=$WORK_TREE checkout -f dev
if [ $? -eq 0 ]; then
echo -e "${txtgrn}DEVELOPER SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to checkout DEVELOPER SERVER!${txtrst}"
fi
;;
refs/heads/master )
echo "========================================"
git push gsl master:master
if [ $? -eq 0 ]; then
echo -e "${txtgrn}PRODUCTION SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to push to PRODUCTION SERVER!${txtrst}"
fi
;;
* )
echo "NO UPDATES FOR $1"
;;
esac
done
echo "========================================"
вот мой post-receive hook на девелоперском сервере.
принцип работы: есть две ветки — master и dev. изменения в ветке dev checkout'ятся в DOCUMENT_ROOT девелопеского сервера. А изменения в ветке master push'атся в bare-репозиторий на продакшн-сервере, а оттуда уже аналогичным образом chekout'ятся в его DOCUMENT_ROOT
ведь слаботочка управляет 220V
более того, автор этой статьи 100% заслуживает иметь возможность самостоятельно размещать свои интереснейшие статьи на нашем ресурсе. именно это недоразумение я и пытался исправить, но пока безуспешно(
#!/bin/bash
txtrst='\e[0m' # Text Reset
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
WORK_TREE='/some/path/on/dev/server/'
while read oldrev newrev ref
do
case $ref in
refs/heads/dev )
echo "========================================"
git --work-tree=$WORK_TREE checkout -f dev
if [ $? -eq 0 ]; then
echo -e "${txtgrn}DEVELOPER SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to checkout DEVELOPER SERVER!${txtrst}"
fi
;;
refs/heads/master )
echo "========================================"
git push gsl master:master
if [ $? -eq 0 ]; then
echo -e "${txtgrn}PRODUCTION SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to push to PRODUCTION SERVER!${txtrst}"
fi
;;
* )
echo "NO UPDATES FOR $1"
;;
esac
done
echo "========================================"
вот мой post-receive hook на девелоперском сервере.
принцип работы: есть две ветки — master и dev. изменения в ветке dev checkout'ятся в DOCUMENT_ROOT девелопеского сервера. А изменения в ветке master push'атся в bare-репозиторий на продакшн-сервере, а оттуда уже аналогичным образом chekout'ятся в его DOCUMENT_ROOT
этой проблемы не возникает, если с девелоперского сайта делать git push на продакшн.