Подводить итоги дня и недели по написанию кода можно с помощью одного довольно простого скрипта, который будет отправлять вам на почту подборку ваших коммитов за это время. Конечно, вы можете предложить лучшие решения, но если не хочется долго думать, то используйте эту заготовку.
В cron добавляем следующее (crontab -e)
0 22 * * 1,2,3,4,5 sh /path/to/git_changes.sh # Sends 5 PM EST if server time is UTC
0 21 * * 5 sh /path/to/git_changes.sh -w # Sends Friday @ 4PM EST if server time is UTC
А в сам скрипт git_changes.sh
#!/usr/bin/env bash
PROJECTS_DIR=/path/to/projects
RECIPIENT=user@example.com
if [ "$1" = "-w" ]; then
mailing="weekly"
since="1.week"
format="iso"
else
mailing="daily"
since="1.day"
format="relative"
fi
output=""
for git in $(find $PROJECTS_DIR/ -maxdepth 2 -name "*.git"); do
gitdir=$(dirname "$git");
cd $gitdir
changes=$(git --no-pager log --date=$format --pretty=format:"%cd: %s" --decorate=short --since=$since);
if [ "$changes" ]; then
output="$output\n$gitdir:\n$changes\n\n"
fi
done
if [ "$output" ]; then
if [ "$mailing" = "weekly" ]; then
echo -e "$output" | mail -s "Weekly git commits update for week ending $(date +'%b %d')" $RECIPIENT
else
echo -e "$output" | mail -s "git commits for $(date +'%A, %b %d')" $RECIPIENT
fi
fi
Оптимизация производительности является ключевым аспектом разработки веб-приложений, особенно когда речь идет о работе с большими объемами данных. Именно такая задача была поставлена перед фронтенд-разработчиками IT Test. Рассказываем, как оптимизировать код и найти баланс между производительностью и читаемостью.
Подборка статей о геймдеве: основы разработки игр, создание механик, оптимизация кода, графика и дизайн. Советы для начинающих и спецов, идеи и лайфхаки для старта и работы с проектами.