Web, mobile, linux dev
Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (20)

Лучшие ответы пользователя

Все ответы (13)
  • С чего начинается CI?

    comm1x
    @comm1x
    Web-developer
    Для внедрения CI последовательность достаточно проста:
    1. VCS. Для начала внедрите git, не обязательно сложности с gitlab. Для 3 человек хватит и приватного репозитория на bitbucket.
    2. Приемочные тесты. Берем фреймворк для тестирования (я люблю Codeception, но их много и других), и напишите пару приемочных тестов на критические части (оплата, регистрация напр.).
    3. Юнит-тесты. Покройте юнит-тестами основные части проекта (для первой итерации хватит и 5-10% покрытия кода).
    4. Автоматизируем. Определяемся с CI, настраиваем ее, настраиваем хуки репозитория и уведомления о success/fail-билдах по почтам разработчиков.

    Коротко можно описать так: должен быть гит, и должны быть тесты.
    Теперь до непрерывного деплоя рукой подать. Скорее всего, когда вы до этого дойдете, вы уже будете примерно представлять как лучше организовать этот процесс, потому что здесь вариантов великое множество. Начиная от самописных деплой-скриптов и готовых deploy software типа Capistrano, заканчивая разверткой и подменой бэкендов и сменой docker-контейнеров.
    Ответ написан
    Комментировать
  • Можете объяснить по каким параметрам выбирать комплектующие пк?

    comm1x
    @comm1x
    Web-developer
    Моя последовательность примерно такая. Как правило, выбирая ПК мы уже примерно знаем какие-то цифры в первом приближении. Например, сегодня собирая машину среднестатистический пользователь наверное будет рассчитывать на память в диапазоне 8-16 ГБ, допустим 16. Неплохо было бы оставить возможность для будущего апгрейда.

    С помощью таких прикидок нам нужно определиться с чипсетом материнской платы. Взять ее с запасом, не сделать пустых вложений. Если мы хотим 16ГБ памяти, то хорошо бы чтобы мать имела max memory capacity в два раза больше и оставались свободные слоты. Дальше постараться определиться с семейством сокетов CPU. Если бюджет позволяет Intel, если нет то можно и AMD. Определяемся с частотой памяти. Смотрим на цены, берем максимальную частоту с наиболее приемлемой ценой.
    Дальше уже переферия - видеокарта, ssd, hdd - там и так все понятно.
    Ответ написан
    4 комментария
  • Как получить ответ программы из консоли в переменную?

    comm1x
    @comm1x
    Web-developer
    Используйте функцию exec()
    У нее есть массив строк, которую выводит команда.

    Возможно, что команда будет выводить в терминал одно, в функция exec() возвращать немного другое. В таком случае попробуйте добавить перенаправление вывода в конец команды:

    ffmpeg ... 2>&1
    Ответ написан
    3 комментария
  • Как оптимизировать класс PHP?

    comm1x
    @comm1x
    Web-developer
    Добавьте кеширование. В определенных случаях это сильно соптимизирует дело.
    protected $_aliasesCache = [];
    
    public function getAlias($method)
    {
    	if (! array_key_exists($method, $this->_aliasesCache)) {
    		$this->_aliasesCache[$method] = str_replace('_', '.', $method);
    	}
    
    	return $this->_aliasesCache[$method];
    }
    
    // Usage
    
    public function some_method()
    {
    	$this->getAlias(__FUNCTION__);
    }


    Еще можно поиграться со стеком вызовов, чтобы не передавать аргумент, но я бы лучше это дело оставил так. При определении имя метода через стек, не забудьте изменить модификатор на protected/private.
    Ответ написан
    2 комментария
  • Phpstorm live templates для jquery?

    comm1x
    @comm1x
    Web-developer
    Не встречал, но разве долго их сделать? Вопрос 10 минут.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (6)