• Как исключить столкновение двух окружностей?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    "Отодвинуть" звучит как сдвинуть так, чтобы центры остались на той же прямой. Это было бы
    логично.
    Уравнение прямой y = kx + b строится по двум точкам. Для простоты перенесем центр одной из окружностей в начало координат, тогда уравнение будет y = kx.
    Из условия расстояния строим ещё одно уравнение:
    y^2 + x^2 = 4r^2
    Решаем систему из двух уравнений, получаем x и y, затем переносим центры обратно.

    Отдельно рассмотреть случай, когда центры совпадают, и выбрать тривиальную прямую y = 0, например.
    Ответ написан
    Комментировать
  • Как исключить столкновение двух окружностей?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Есть много вариантов как это можно сделать. Один из них:
    1) Переводите обычные декартовы координаты в полярные. Тогда центр второй относительно центра первой будет на расстоянии
    r=R1+R2
    2) Далее или выбираете фи произвольно, или же проходите с неким шагов весь круг, рассчитывая расстояние между центром второй окружности сейчас и центром второй окружности после двигания. Нужно выбрать минимум функции, тогда движение будет минимальным.
    3) Перевести полярные обратно в декартовы
    Ответ написан
    Комментировать
  • Doctrine как разрешить состояние гонки?

    @Flying
    По сути в вашем случае запись в базу данных является критической секцией. Соответственно вам необходима реализация любого из способов синхронизации потоков для избегания состояния гонки. Вариантов множество, но конкретно в Symfony именно для этого (и для других подобных сценариев) существует компонент Lock, он предоставляет реализации готовых примитивов синхронизации.

    Вот здесь можно посмотреть на практически готовый пример того как должен выглядеть ваш код коммита изменений с учётом использования lock'а.
    Ответ написан
    1 комментарий
  • Как сделать git pull из PHP или веб хук для bitbucket?

    mahoho
    @mahoho
    Full stack certified PHP developer.
    Чтобы убрать пресловутый промт ввода комментария, используйте ключ -m:
    echo shell_exec('cd ' . $dir . ' && /usr/bin/git pull origin HEAD -m "Merge with origin"');
    Ответ написан
    Комментировать
  • Как сделать git pull из PHP или веб хук для bitbucket?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    прав у вебсервера нет на запуск/запись файлов из папки .git
    Ответ написан
    2 комментария
  • Где найти того, кто "оценит" твой код?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Для начала максимально упростите жизнь ревьюверам. Чем меньше усилий потребуется с их стороны, тем больше шанс получить код ревью. Отправлять на почте zip-архив и просить посмотреть — это для ревьювера неудобно, многие откажутся. К тому же как передать комментарии обратно.

    Для каких-то маленьких простых вещей делайте демку на codepen.io или аналогичных сервисах — это очень удобно и быстро открыть ссылку, увидеть код и результат, форкнуть, исправить или оставить комменты.

    Если это уже сайт (даже одностраничник), заливайте его на github pages (https://pages.github.com/).
    Для этого вам придется разобраться с git (если еще не изучили), но git вам точно в профессии понадобится. Когда код на github, его удобно просматривать и оставлять комментарии к конкретным строкам кода, или сделать исправления через pull request. К тому же, не покупая домен и хостинг, вы соберете себе на github портфолио.

    Когда вам будет что показать, ищите ревьюверов прямо здесь на тостере.

    Дополнил этот ответ и написал статью на paulradzkov.com/2016/code_review
    Ответ написан
    Комментировать